Browse Source

跳转修改

dev_kxc
xzt 1 year ago
parent
commit
898067f2c8
  1. 5
      jwtech-pc-page/config/index.js
  2. 18
      jwtech-pc-page/src/api/enterpriseInformation.js
  3. 132
      jwtech-pc-page/src/components/aerialHeaderMenu.vue
  4. 90
      jwtech-pc-page/src/views/announcement/actionAnnouncementDetail.vue
  5. 28
      jwtech-pc-page/src/views/announcement/components/announcementBasicTable.vue
  6. 59
      jwtech-pc-page/src/views/announcement/components/misconductTable.vue
  7. 154
      jwtech-pc-page/src/views/announcement/index.vue
  8. 221
      jwtech-pc-page/src/views/creditStatistics/certificationPage.vue
  9. 46
      jwtech-pc-page/src/views/creditStatistics/components/allQualified.vue
  10. 61
      jwtech-pc-page/src/views/creditStatistics/components/goodNotice.vue
  11. 85
      jwtech-pc-page/src/views/enterpriseInformation/components/actionList.vue
  12. 129
      jwtech-pc-page/src/views/enterpriseInformation/components/personalTable.vue
  13. 176
      jwtech-pc-page/src/views/enterpriseInformation/index.vue

5
jwtech-pc-page/config/index.js

@ -32,7 +32,8 @@ module.exports = {
// },
proxyTable: {
'/kms-pc-web': {
target: 'http://127.0.0.1:18080/kms-pc-web',
// target: 'http://127.0.0.1:18080/kms-pc-web',
target: 'http://192.168.2.106:18082/kms-pc-web',
changeOrigin: true,
pathRewrite: {
'^/kms-pc-web': '/'
@ -41,7 +42,7 @@ module.exports = {
},
// 使用 localhost:18080 或者 本机地址:18080 访问系统页面
host: '192.168.2.101', // can be overwritten by process.env.HOST
host: '192.168.2.100', // can be overwritten by process.env.HOST
port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: true,

18
jwtech-pc-page/src/api/enterpriseInformation.js

@ -25,6 +25,15 @@ export function listByEid(enterpriseId) {
})
}
// 企业详情-人员信息
export function personInfoList(data) {
return request({
url: '/enterprise/certificateInfo/list',
method: 'POST',
data: data
})
}
// 企业详情-资质信息
export function personInfo(enterpriseId) {
return request({
@ -60,6 +69,15 @@ export function zhxxList(data) {
})
}
// 良好公告
export function getGoodAll(data) {
return request({
url: '/enterprise/credit/getGoodAll',
method: 'POST',
data: data
})
}
// 不良公告
export function getBadAll(data) {
return request({

132
jwtech-pc-page/src/components/aerialHeaderMenu.vue

@ -2,34 +2,42 @@
<div class="head">
<div class="head-content" v-if="isHome">
<div class="bottom-img">
<img src="@/assets/image/img_huxing.png" alt="">
<img src="@/assets/image/img_huxing.png" alt="" />
</div>
<div class="content-wrap">
<div class="incorrect-wrap">
<div class="incorrect-item">
<img src="@/assets/image/icon_zhuguan.png" alt="">
<img src="@/assets/image/icon_zhuguan.png" alt="" />
<span>主管部门填报</span>
</div>
<div class="incorrect-item">
<img src="@/assets/image/icon_qiye.png" alt="">
<img src="@/assets/image/icon_qiye.png" alt="" />
<span>企业填报</span>
</div>
</div>
<div id="clear"></div>
<div class="title-search">
<div class="title-content">
<img src="@/assets/image/logo.png" alt="">
<img src="@/assets/image/广东省水利建设市场信用信息平台.png" alt="">
<img src="@/assets/image/logo.png" alt="" />
<img
src="@/assets/image/广东省水利建设市场信用信息平台.png"
alt=""
/>
</div>
<div class="search-content">
<div class="search-input">
<el-input placeholder="请输入要搜索的企业" v-model="input">
<el-button slot="append" icon="el-icon-search">搜索</el-button>
<el-button
slot="append"
icon="el-icon-search"
@click="searchEnterpriseName"
>搜索</el-button
>
</el-input>
</div>
<div class="search-word">
<div class="img-tip">
<img src="@/assets/image/icon_resou.png" alt="">
<img src="@/assets/image/icon_resou.png" alt="" />
<span>热搜词</span>
</div>
<div class="word-wrap">
@ -45,15 +53,15 @@
<div class="head-content2" v-else>
<div class="content2-wrap">
<div class="content2-left">
<img src="@/assets/image/logo2.png" alt="">
<img src="@/assets/image/logo2.png" alt="" />
</div>
<div class="content2-right">
<div class="incorrect-item">
<img src="@/assets/image/icon_zhuguan.png" alt="">
<img src="@/assets/image/icon_zhuguan.png" alt="" />
<span>主管部门填报</span>
</div>
<div class="incorrect-item">
<img src="@/assets/image/icon_qiye.png" alt="">
<img src="@/assets/image/icon_qiye.png" alt="" />
<span>企业填报</span>
</div>
</div>
@ -61,10 +69,22 @@
</div>
<div class="menu-content">
<div class="menu-wrap" ref="menuWp">
<hk-menu :collapse-transition="false" ref="menu" :default-active="activeIndex" class="el-menu-demo"
mode="horizontal" menu-trigger="click" @select="handleSelect">
<hk-menu
:collapse-transition="false"
ref="menu"
:default-active="activeIndex"
class="el-menu-demo"
mode="horizontal"
menu-trigger="click"
@select="handleSelect"
>
<template v-for="(item, index) in menus">
<el-menu-item v-if="!item.children" :key="index" :index="item.path" :id="item.path">
<el-menu-item
v-if="!item.children"
:key="index"
:index="item.path"
:id="item.path"
>
<span class="span4" slot="title">{{ item.name }}</span>
</el-menu-item>
</template>
@ -87,7 +107,7 @@ export default {
showSubMenu: false,
activeIndex: "",
menus: this.$partten.menus,
subMenus: ['hkdata', 'hkknowledge', 'service'],
subMenus: ["hkdata", "hkknowledge", "service"],
isHome: true
};
},
@ -95,60 +115,68 @@ export default {
$route: {
handler(val, oldval) {
if (val.path == "/home") {
this.isHome = true
this.isHome = true;
} else {
this.isHome = false
this.isHome = false;
}
this.activeIndex = val.matched[1].name;
},
//
deep: true,
immediate: true
},
}
},
created() {
this.activeIndex = this.$route.matched[1].name;
},
mounted() {
// this.changeStyle();
let menuWp = this.$refs.menuWp
let menuWp = this.$refs.menuWp;
if (menuWp) {
menuWp.addEventListener('mouseleave', this.handleMenuClose)
menuWp.addEventListener("mouseleave", this.handleMenuClose);
}
},
destroyed() {
let menuWp = this.$refs.menuWp
let menuWp = this.$refs.menuWp;
if (menuWp) {
menuWp.removeEventListener('mouseleave', this.handleMenuClose)
menuWp.removeEventListener("mouseleave", this.handleMenuClose);
}
},
methods: {
searchEnterpriseName() {
if (this.input) {
this.$router.push({
path: "/enterpriseInformation",
query: {
enterpriseName: this.input
}
});
}
},
handleMenuClose(e) {
this.handleClose()
this.handleClose();
},
handleClose() {
if (!this.showSubMenu) {
return
return;
}
this.showSubMenu = false
this.subMenus.forEach(path => this.$refs.menu.closeMenu(path))
this.showSubMenu = false;
this.subMenus.forEach(path => this.$refs.menu.closeMenu(path));
},
//
changeStyle: function() {
this.$refs.clearFix[0].popperElm.style.marginLeft = '40px';
this.$refs.clearFix[1].popperElm.style.marginLeft = '40px';
this.$refs.clearFix[2].popperElm.style.marginLeft = '40px';
this.$refs.clearFix[0].popperElm.style.marginLeft = "40px";
this.$refs.clearFix[1].popperElm.style.marginLeft = "40px";
this.$refs.clearFix[2].popperElm.style.marginLeft = "40px";
},
handleSelect(key, keyPath) {
if (key == 'https://www.zg-learn.com') {
window.open(key, '_black');
this.handleClose()
if (key == "https://www.zg-learn.com") {
window.open(key, "_black");
this.handleClose();
} else {
this.$router.push("/" + key);
this.$store.commit('SET_QUERY_PARAMS', '')
this.handleClose()
this.$store.commit("SET_QUERY_PARAMS", "");
this.handleClose();
}
},
handleLoginOut() {
@ -157,7 +185,7 @@ export default {
this.$store.commit("setUserInfo", "");
this.$router.push("/");
});
},
}
},
filters: {
ellipsis(value) {
@ -166,14 +194,13 @@ export default {
return value.slice(0, 12) + "...";
}
return value;
},
},
}
}
};
</script>
<style lang="less" scoped>
.head {
.head-content {
height: 500px;
background: url("../assets/image/banner.png");
@ -215,7 +242,7 @@ export default {
display: block;
font-size: 14px;
font-weight: 600;
color: #005EB7;
color: #005eb7;
margin-left: 5px;
}
}
@ -255,7 +282,7 @@ export default {
.el-input__inner {
height: 50px;
border-radius: 8px 0 0 8px;
border: 1px solid #AAD8FB;
border: 1px solid #aad8fb;
}
.el-input__inner::placeholder {
@ -264,8 +291,8 @@ export default {
}
.el-input-group__append {
background: #0059A5;
color: #FFFFFF;
background: #0059a5;
color: #ffffff;
border-radius: 0 8px 8px 0;
.el-button {
@ -318,7 +345,7 @@ export default {
}
span:nth-child(1) {
color: #DE0000;
color: #de0000;
}
}
}
@ -329,7 +356,7 @@ export default {
.head-content2 {
height: 80px;
background: linear-gradient(180deg, #63B7FF 0%, #FFFFFF 100%);
background: linear-gradient(180deg, #63b7ff 0%, #ffffff 100%);
.content2-wrap {
width: 1200px;
@ -357,7 +384,7 @@ export default {
display: block;
font-size: 14px;
font-weight: 600;
color: #005EB7;
color: #005eb7;
margin-left: 5px;
}
}
@ -369,7 +396,7 @@ export default {
width: 100%;
height: 80px;
padding-top: 15px;
background: #0055A6;
background: #0055a6;
// border-bottom: 1px solid #FFFFFF;
.menu-wrap {
@ -432,24 +459,21 @@ export default {
display: inline-block;
width: 16px;
height: 3px;
background: #FFFFFF;
background: #ffffff;
border-radius: 2px;
left: 50%;
margin-left: -8px;
bottom: 0;
}
}
}
& > .el-menu-item.is-active::after {
content: "";
position: absolute;
width: 25px;
height: 5px;
background: #FFFFFF;
background: #ffffff;
border-radius: 2px;
left: 50%;
margin-left: -13px;
@ -479,7 +503,6 @@ export default {
border-bottom: none;
}
/deep/ .el-submenu__title {
margin: 0 55px;
padding: 0px;
@ -491,7 +514,6 @@ export default {
}
}
& > img {
cursor: pointer;
width: 18px;
@ -499,7 +521,6 @@ export default {
}
}
& > div {
/deep/ .el-badge__content {
border: none;
@ -539,7 +560,6 @@ export default {
}
}
& > img {
margin-left: 37px;
width: 20px;

90
jwtech-pc-page/src/views/announcement/actionAnnouncementDetail.vue

@ -4,67 +4,100 @@
<div class="header-wrap">
<el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/announcement' }">公告</el-breadcrumb-item>
<el-breadcrumb-item>不良行为公告详情</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/announcement' }"
>公告</el-breadcrumb-item
>
<el-breadcrumb-item>{{
this.$route.query.type === "good"
? "良好行为公告详情"
: "不良行为公告详情"
}}</el-breadcrumb-item>
</el-breadcrumb>
</div>
</div>
<div class="basic-main">
<div class="main-wrap">
<announcementBasicTable :enterpriseObj="enterpriseObj" :bonusPointsAll="bonusPointsAll" />
<announcementBasicTable
:enterpriseObj="enterpriseObj"
:bonusPointsAll="bonusPointsAll"
/>
<div class="descriptions-wrap">
<misconductTable :title="'企业不良行为' + (index + 1)" v-for="(item, index) in badList" :key="(item, index)" :itemObj="item"/>
<misconductTable
:title="title + (index + 1)"
v-for="(item, index) in actionList"
:key="(item, index)"
:itemObj="item"
/>
</div>
</div>
</div>
</div>
</template>
<script>
import { getBadAll } from "@/api/enterpriseInformation"
import announcementBasicTable from "./components/announcementBasicTable"
import misconductTable from "./components/misconductTable"
import { getGoodAll, getBadAll } from "@/api/enterpriseInformation";
import announcementBasicTable from "./components/announcementBasicTable";
import misconductTable from "./components/misconductTable";
export default {
components: {
announcementBasicTable,
misconductTable,
misconductTable
},
data() {
return {
activeName: "first",
enterpriseObj: {},
enterpriseBadForm: {
enterpriseForm: {
enterpriseId: "",
type: "0",
type: "0"
},
badList: [],
actionList: [],
bonusPointsAll: 0
};
},
computed: {
title() {
const type = this.$route.query.type;
return type === "good" ? "企业良好行为" : "企业不良行为";
}
},
mounted() {
this.enterpriseBadForm.enterpriseId = this.$route.query.enterpriseId
this.getCreditBadList()
this.enterpriseForm.enterpriseId = this.$route.query.enterpriseId;
this.getCreditList();
},
methods: {
getCreditBadList() {
getBadAll(this.enterpriseBadForm).then(res => {
this.enterpriseObj = res.data.data[0]
this.badList = res.data.data
this.badList.forEach(item => {
this.bonusPointsAll += Number(item.bonusPoints)
})
})
getCreditList() {
const type = this.$route.query.type;
if (type === "good") {
this.enterpriseForm.type = "1";
getGoodAll(this.enterpriseForm).then(res => {
this.enterpriseObj = res.data.data[0];
this.actionList = res.data.data;
this.actionList.forEach(item => {
this.bonusPointsAll += Number(item.bonusPoints);
});
});
} else if (type === "bad") {
this.enterpriseForm.type = "0";
getBadAll(this.enterpriseForm).then(res => {
this.enterpriseObj = res.data.data[0];
this.actionList = res.data.data;
this.actionList.forEach(item => {
this.bonusPointsAll += Number(item.bonusPoints);
});
});
}
},
handleClick(tab, event) {
// console.log(tab, event);
},
}
}
};
</script>
<style lang="less" scoped>
.basic-detail {
.basic-header {
height: 40px;
background: #EBF4FE;
background: #ebf4fe;
.header-wrap {
width: 1200px;
@ -78,12 +111,12 @@ export default {
.el-breadcrumb__item {
.el-breadcrumb__inner {
font-size: 16px;
color: #005EB7 !important;
color: #005eb7 !important;
}
.el-breadcrumb__separator {
font-size: 16px;
color: #005EB7 !important;
color: #005eb7 !important;
}
}
}
@ -91,18 +124,19 @@ export default {
}
.basic-main {
background: linear-gradient(180deg, #005EB7 0%, #EDF7FF 60% #EDF7FF 100%);
background: linear-gradient(180deg, #005eb7 0%, #edf7ff 60% #edf7ff 100%);
padding: 20px 0;
.main-wrap {
width: 1200px;
margin: 0 auto;
background: #FFFFFF;
background: #ffffff;
border-radius: 8px;
overflow: hidden;
padding: 20px;
.descriptions-wrap {}
.descriptions-wrap {
}
}
}
}

28
jwtech-pc-page/src/views/announcement/components/announcementBasicTable.vue

@ -1,6 +1,12 @@
<template>
<div class="descriptions-table">
<el-descriptions class="margin-top" :column="1" border :content-style="rowCenter" :label-style="labelRowCenter">
<el-descriptions
class="margin-top"
:column="1"
border
:content-style="rowCenter"
:label-style="labelRowCenter"
>
<el-descriptions-item label="企业名称">
{{ enterpriseObj.enterpriseName }}
</el-descriptions-item>
@ -10,7 +16,7 @@
<el-descriptions-item label="项目名称">
{{ enterpriseObj.projectName || "-" }}
</el-descriptions-item>
<el-descriptions-item label="扣分值">
<el-descriptions-item :label="sorce">
{{ bonusPointsAll || "-" }}
</el-descriptions-item>
<el-descriptions-item label="发布时间">
@ -28,7 +34,7 @@ export default {
enterpriseObj: {
type: Object,
default: () => {
return []
return [];
}
},
bonusPointsAll: {
@ -39,14 +45,20 @@ export default {
data() {
return {
rowCenter: {
'borderColor': '#DADCE3'
borderColor: "#DADCE3"
},
labelRowCenter: {
'borderColor': '#DADCE3'
}
borderColor: "#DADCE3"
}
};
},
computed: {
sorce() {
const type = this.$route.query.type;
return type === "good" ? "加分值" : "扣分值";
}
}
};
</script>
<style lang="less" scoped>
.descriptions-table {
@ -57,10 +69,10 @@ export default {
}
.el-descriptions-item__label {
background: #EBF4FE;
background: #ebf4fe;
width: 220px;
font-weight: 600;
color: #005EB7;
color: #005eb7;
padding-left: 21px;
}
}

59
jwtech-pc-page/src/views/announcement/components/misconductTable.vue

@ -1,14 +1,24 @@
<template>
<div class="descriptions-table">
<span>{{ title }}</span>
<el-descriptions class="margin-top" :column="1" border :content-style="rowCenter" :label-style="labelRowCenter">
<el-descriptions-item label="不良行为">
<el-descriptions
class="margin-top"
:column="1"
border
:content-style="rowCenter"
:label-style="labelRowCenter"
>
<el-descriptions-item label="良好行为" v-if="isGood">
{{ itemObj.goodBehavior || "-" }}
</el-descriptions-item>
<el-descriptions-item label="不良行为" v-else>
{{ itemObj.badBehavior || "-" }}
</el-descriptions-item>
<el-descriptions-item label="等级">
{{ itemObj.commendationLevel || "-" }}
</el-descriptions-item>
<el-descriptions-item label="扣分值">
<el-descriptions-item :label="isGood ? '加分值' : '扣分值'">
{{ itemObj.bonusPoints || "-" }}
</el-descriptions-item>
<el-descriptions-item label="有效期">
@ -17,8 +27,24 @@
<!-- <el-descriptions-item label="扣分起止时间">
{{ itemObj.noticeBeginTime || "-" }}
</el-descriptions-item> -->
<el-descriptions-item label="扣分依据">
{{ itemObj.attachment || "-" }}
<el-descriptions-item :label="isGood ? '加分依据' : '扣分依据'">
<!-- {{ JSON.parse(itemObj.attachment) || "-" }} -->
<div
v-for="(item, index) in JSON.parse(
itemObj.attachment ? itemObj.attachment : JSON.stringify({})
)"
:key="item + index"
>
<span>
<i class="el-icon-document"></i>
<span>{{ item.name }}</span>
</span>
<i
class="el-icon-download"
@click="downloadFile(item, index)"
style="cursor: pointer"
></i>
</div>
</el-descriptions-item>
</el-descriptions>
</div>
@ -33,26 +59,35 @@ export default {
itemObj: {
type: Object,
default: () => {
return []
return [];
}
}
},
data() {
return {
rowCenter: {
'borderColor': '#DADCE3'
borderColor: "#DADCE3"
},
labelRowCenter: {
'borderColor': '#DADCE3'
}
borderColor: "#DADCE3"
}
};
},
computed: {
isGood() {
const type = this.$route.query.type;
return type === "good" ? true : false;
}
},
methods: {
downloadFile() {}
}
};
</script>
<style lang="less" scoped>
.descriptions-table {
margin-top: 20px;
span{
.descriptions-table > span {
display: block;
font-size: 18px;
font-weight: 600;
@ -65,10 +100,10 @@ export default {
}
.el-descriptions-item__label {
background: #EBF4FE;
background: #ebf4fe;
width: 220px;
font-weight: 600;
color: #005EB7;
color: #005eb7;
padding-left: 21px;
}
}

154
jwtech-pc-page/src/views/announcement/index.vue

@ -2,8 +2,9 @@
<div class="certification-page">
<div class="certification-tabs">
<div class="tabs-wrap">
<el-tabs ref="tabcs">
<el-tab-pane label="企业不良行为公告"></el-tab-pane>
<el-tabs ref="tabcs" v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="企业良好行为公告" name="good"></el-tab-pane>
<el-tab-pane label="企业不良行为公告" name="bad"></el-tab-pane>
</el-tabs>
</div>
</div>
@ -11,61 +12,108 @@
<div class="list-wrap">
<el-form :inline="true" label-width="80px" :model="queryForm">
<el-form-item label="企业名称">
<el-input class="name-inp-search" placeholder="请输入关键字" v-model="queryForm.enterpriseName"></el-input>
<el-input
class="name-inp-search"
placeholder="请输入关键字"
v-model="queryForm.enterpriseName"
></el-input>
</el-form-item>
<el-form-item label="企业类型">
<el-select v-model="queryForm.qualificationCategory" clearable placeholder="请选择企业类型">
<el-option v-for="item in categoryList" :key="item.dictValue" :label="item.dictLabel"
:value="item.dictValue">
<el-select
v-model="queryForm.qualificationCategory"
clearable
placeholder="请选择企业类型"
>
<el-option
v-for="item in categoryList"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="mini" icon="el-icon-search" @click="getResult()">查询</el-button>
<el-button type="mini" icon="el-icon-refresh" @click="resetForm()">重置</el-button>
<el-button type="mini" icon="el-icon-search" @click="getResult()"
>查询</el-button
>
<el-button type="mini" icon="el-icon-refresh" @click="resetForm()"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="enterpriseName" label="企业名称" width="400" align="center">
<el-table-column
prop="enterpriseName"
label="企业名称"
width="400"
align="center"
>
<template slot-scope="scope">
<span style="color: #005EB7;cursor: pointer;font-size: 16px !important;" @click="toDetail(scope.row)">{{ scope.row.enterpriseName
}}</span>
<span
style="color: #005EB7;cursor: pointer;font-size: 16px !important;"
@click="toDetail(scope.row)"
>{{ scope.row.enterpriseName }}</span
>
</template>
</el-table-column>
<el-table-column prop="projectName" label="项目名称" align="center">
</el-table-column>
<el-table-column prop="qualificationCategory" label="企业资质" align="center">
<el-table-column
prop="qualificationCategory"
label="企业资质"
align="center"
>
<template slot-scope="scope">
<div v-for="(cateTtem, index) in categoryList" :key="(cateTtem, index)">
<div v-if="cateTtem.dictValue == scope.row.qualificationCategory">{{
cateTtem.dictLabel }}</div>
<div
v-for="(cateTtem, index) in categoryList"
:key="(cateTtem, index)"
>
<div
v-if="cateTtem.dictValue == scope.row.qualificationCategory"
>
{{ cateTtem.dictLabel }}
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="dynamicCreditScore" label="信用分数" align="center">
<el-table-column
prop="dynamicCreditScore"
label="信用分数"
align="center"
>
</el-table-column>
<el-table-column prop="bonusPoints" label="扣分值" align="center">
<el-table-column
prop="bonusPoints"
:label="activeName === 'good' ? '加分值' : '扣分值'"
align="center"
>
</el-table-column>
<el-table-column prop="publishUnit" label="发布单位" align="center">
</el-table-column>
<el-table-column prop="noticeTime" label="公告时间" align="center">
</el-table-column>
</el-table>
<pagination :total="total" :page.sync="apidata.pageNum" :limit.sync="apidata.pageSize"
:pageSizes="pageSizes" @pagination="getResult" />
<pagination
:total="total"
:page.sync="apidata.pageNum"
:limit.sync="apidata.pageSize"
:pageSizes="pageSizes"
@pagination="getResult"
/>
</div>
</div>
</div>
</template>
<script>
import { creditGetBad } from "@/api/creditStatistics"
import { creditGetGood, creditGetBad } from "@/api/creditStatistics";
export default {
data() {
return {
total: 0,
apidata: {
pageNum: 1,
pageSize: 10,
pageSize: 10
},
pageSizes: [10, 20, 30, 50],
queryForm: {
@ -73,53 +121,68 @@ export default {
qualificationCategory: "",
pageNum: 1,
pageSize: 10,
adcd: ""
},
tableData: [],
categoryList:[]
categoryList: [],
activeName: "good"
};
},
created() {
if (this.$route.query.type) {
this.activeName = this.$route.query.type;
}
},
mounted() {
this.getResult()
this.getResult();
this.getDicts("qualification_type").then(res => {
this.categoryList = res.data.data
})
this.categoryList = res.data.data;
});
},
methods: {
getResult() {
if (this.activeName === "good") {
creditGetGood(this.queryForm).then(res => {
this.tableData = res.data.records;
this.total = res.data.total;
});
} else {
creditGetBad(this.queryForm).then(res => {
this.tableData=res.data.records
this.total=res.data.total
})
this.tableData = res.data.records;
this.total = res.data.total;
});
}
},
handleClick(tab, event) {
// console.log(tab, event);
this.getResult();
},
resetForm() {
this.queryForm = {
enterpriseName: "",
qualificationCategory: "",
pageNum: 1,
pageSize: 10,
}
this.getResult()
pageSize: 10
};
this.getResult();
},
toDetail(row) {
this.$router.push({
path: "/actionAnnouncementDetail",
query: {
type: this.activeName,
enterpriseId: row.enterpriseId
}
})
}
});
}
}
};
</script>
<style lang="less" scoped>
.certification-page {
.certification-tabs {
height: 60px;
background: #FFFFFF;
background: #ffffff;
border: 1px solid transparent;
.tabs-wrap {
@ -132,7 +195,7 @@ this.getResult()
margin-top: 11px;
.el-tabs__nav-wrap::after {
background: #Fff;
background: #fff;
}
.el-tabs__item {
@ -143,14 +206,14 @@ this.getResult()
}
.el-tabs__item.is-active {
color: #005EB7;
color: #005eb7;
}
.el-tabs__active-bar {
width: 0 !important;
height: 0;
border: 10px solid transparent;
border-bottom: 10px solid #005EB7;
border-bottom: 10px solid #005eb7;
background: none;
left: 55px;
}
@ -159,13 +222,13 @@ this.getResult()
}
.certification-list {
background: linear-gradient(180deg, #005EB7 0%, #EDF7FF 60% #EDF7FF 100%);
background: linear-gradient(180deg, #005eb7 0%, #edf7ff 60% #edf7ff 100%);
padding: 20px 0;
.list-wrap {
width: 1200px;
height: 1098px;
background: #FFFFFF;
background: #ffffff;
border-radius: 8px;
margin: 0 auto;
padding: 20px;
@ -182,14 +245,14 @@ this.getResult()
.el-input__inner {
width: 300px;
border-radius: 8px;
border: 1px solid #AAD8FB;
border: 1px solid #aad8fb;
}
.el-button {
padding: 13px 15px;
background: linear-gradient(180deg, #005BA6 0%, #0059A5 100%);
background: linear-gradient(180deg, #005ba6 0%, #0059a5 100%);
border-radius: 8px;
color: #FFFFFF;
color: #ffffff;
span {
font-size: 16px;
@ -217,12 +280,12 @@ this.getResult()
}
th {
background: #EBF4FE;
background: #ebf4fe;
.cell {
font-size: 16px !important;
font-weight: 600 !important;
color: #005EB7;
color: #005eb7;
}
}
@ -234,7 +297,6 @@ this.getResult()
}
}
}
}
}
}

221
jwtech-pc-page/src/views/creditStatistics/certificationPage.vue

@ -4,7 +4,9 @@
<div class="header-wrap">
<el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/creditStatistics' }">信用统计</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/creditStatistics' }"
>信用统计</el-breadcrumb-item
>
<el-breadcrumb-item>信用统计列表</el-breadcrumb-item>
</el-breadcrumb>
</div>
@ -18,7 +20,10 @@
<el-tab-pane label="勘测设计资质" name="surveyCerti"></el-tab-pane>
<el-tab-pane label="招标代理资质" name="tenderingCerti"></el-tab-pane>
<el-tab-pane label="质量检测资质" name="qualityCerti"></el-tab-pane>
<el-tab-pane label="生产供货资质" name="productionCerti"></el-tab-pane>
<el-tab-pane
label="生产供货资质"
name="productionCerti"
></el-tab-pane>
<el-tab-pane label="白蚁防治资质" name="termiteCerti"></el-tab-pane>
<el-tab-pane label="其他资质" name="otherCerti"></el-tab-pane>
</el-tabs>
@ -28,53 +33,96 @@
<div class="list-wrap">
<el-form :inline="true" label-width="80px" :model="queryForm">
<el-form-item label="企业名称">
<el-input class="name-inp-search" placeholder="请输入企业名称"
v-model="queryForm.enterpriseName"></el-input>
<el-input
class="name-inp-search"
placeholder="请输入企业名称"
v-model="queryForm.enterpriseName"
></el-input>
</el-form-item>
<el-form-item label="所在区域">
<el-select v-model="queryForm.adcd" clearable placeholder="请选择所有区域">
<el-option v-for="item in areaList" :key="item.xzqhdm" :label="item.name" :value="item.xzqhdm">
<el-select
v-model="queryForm.adcd"
clearable
placeholder="请选择所有区域"
>
<el-option
v-for="item in areaList"
:key="item.xzqhdm"
:label="item.name"
:value="item.xzqhdm"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="mini" icon="el-icon-search" @click="getResult()">查询</el-button>
<el-button type="mini" icon="el-icon-refresh" @click="resetForm()">重置</el-button>
<el-button type="mini" icon="el-icon-search" @click="getResult()"
>查询</el-button
>
<el-button type="mini" icon="el-icon-refresh" @click="resetForm()"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table :data="tableData" style="width: 100%" v-loading="loading">
<el-table-column prop="enterpriseName" label="企业名称" width="700">
<template slot-scope="scope">
<span style="color: #005EB7;cursor: pointer;font-size: 16px !important;">{{
scope.row.enterpriseName
}}</span>
<span
style="color: #005EB7;cursor: pointer;font-size: 16px !important;"
@click="goDetails(scope.row)"
>{{ scope.row.enterpriseName }}</span
>
</template>
</el-table-column>
<el-table-column prop="certification" label="企业资质" width="180" align="center">
<el-table-column
prop="certification"
label="企业资质"
width="180"
align="center"
>
<template slot-scope="scope">
<div v-for="(cateTtem, index) in categoryList" :key="(cateTtem, index)">
<div v-if="cateTtem.dictValue == scope.row.qualificationCategory">{{
cateTtem.dictLabel }}</div>
<div
v-for="(cateTtem, index) in categoryList"
:key="(cateTtem, index)"
>
<div
v-if="cateTtem.dictValue == scope.row.qualificationCategory"
>
{{ cateTtem.dictLabel }}
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="area" label="所在区域" width="180" align="center">
<el-table-column
prop="area"
label="所在区域"
width="180"
align="center"
>
<template slot-scope="scope">
<span>{{ functionArea(scope.row) }}</span>
</template>
</el-table-column>
<el-table-column prop="dynamicCreditScore" label="信用分数" align="center">
<el-table-column
prop="dynamicCreditScore"
label="信用分数"
align="center"
>
</el-table-column>
</el-table>
<pagination :total="total" :page.sync="apidata.pageNum" :limit.sync="apidata.pageSize"
:pageSizes="pageSizes" @pagination="getResult" />
<pagination
:total="total"
:page.sync="apidata.pageNum"
:limit.sync="apidata.pageSize"
:pageSizes="pageSizes"
@pagination="getResult"
/>
</div>
</div>
</div>
</template>
<script>
import { getDisclosure } from "@/api/home"
import { getGuangDong } from "@/api/creditStatistics"
import { getDisclosure } from "@/api/home";
import { getGuangDong } from "@/api/creditStatistics";
import { regionData, codeToText, TextToCode } from "element-china-area-data";
export default {
data() {
@ -83,7 +131,7 @@ export default {
total: 0,
apidata: {
pageNum: 1,
pageSize: 10,
pageSize: 10
},
pageSizes: [10, 20, 30, 50],
activeName: "allCertification",
@ -97,91 +145,113 @@ export default {
},
tableData: [],
categoryList: [],
certificationData: [{
certificationData: [
{
qualificationCategory: "",
codeText: "allCertification"
}, {
},
{
qualificationCategory: "0",
codeText: "buildCerti"
}, {
},
{
qualificationCategory: "2",
codeText: "supervisorCerti"
}, {
},
{
qualificationCategory: "3",
codeText: "surveyCerti"
}, {
},
{
qualificationCategory: "1",
codeText: "tenderingCerti"
}, {
},
{
qualificationCategory: "5",
codeText: "productionCerti"
}, {
},
{
qualificationCategory: "4",
codeText: "qualityCerti"
}, {
},
{
qualificationCategory: "6",
codeText: "termiteCerti"
}, {
},
{
qualificationCategory: "9",
codeText: "otherCerti"
}],
areaList: []
}
],
areaList: []
};
},
mounted() {
this.getArea()
this.activeName = this.$route.query.codeText
this.queryForm.qualificationCategory = this.$route.query.qualificationCategory
if (this.activeName !== "allCertification" && this.activeName !== "buildCerti" && this.activeName !== "supervisorCerti" && this.activeName !== "otherCerti") {
this.getArea();
this.activeName = this.$route.query.codeText;
this.queryForm.qualificationCategory = this.$route.query.qualificationCategory;
if (
this.activeName !== "allCertification" &&
this.activeName !== "buildCerti" &&
this.activeName !== "supervisorCerti" &&
this.activeName !== "otherCerti"
) {
this.resetActivePosition(this.$refs.tabcs.$el);
}
this.getResult()
this.getResult();
this.getDicts("qualification_type").then(res => {
this.categoryList = res.data.data
})
this.categoryList = res.data.data;
});
},
methods: {
goDetails(row) {
this.$router.push("/enterpriseInDetail?enterpriseId=" + row.enterpriseId);
},
getResult() {
this.loading=true
this.loading = true;
getDisclosure({ ...this.queryForm }).then(res => {
this.loading=false
this.tableData = []
this.tableData = res.data.data.records
this.total = res.data.data.total
})
this.loading = false;
this.tableData = [];
this.tableData = res.data.data.records;
this.total = res.data.data.total;
});
},
getArea() {
getGuangDong().then(res => {
this.areaList = res.data.data
})
this.areaList = res.data.data;
});
},
resetForm() {
this.queryForm.enterpriseName=""
this.queryForm.adcd=""
this.queryForm.pageNum=1
this.getResult()
this.queryForm.enterpriseName = "";
this.queryForm.adcd = "";
this.queryForm.pageNum = 1;
this.getResult();
},
handleClick(tab, event) {
// console.log(tab, event);
this.certificationData.forEach(item => {
if (item.codeText == tab.name) {
this.queryForm.qualificationCategory = item.qualificationCategory
this.queryForm.qualificationCategory = item.qualificationCategory;
}
})
this.getResult()
if (tab.name !== "allCertification" && tab.name !== "buildCerti" && tab.name !== "supervisorCerti" && tab.name !== "otherCerti") {
});
this.getResult();
if (
tab.name !== "allCertification" &&
tab.name !== "buildCerti" &&
tab.name !== "supervisorCerti" &&
tab.name !== "otherCerti"
) {
this.resetActivePosition(this.$refs.tabcs.$el);
}
},
resetActivePosition($el) {
this.$nextTick(() => {
const activeEl = $el.querySelector('.el-tabs__item.is-active');
const lineEl = $el.querySelector('.el-tabs__active-bar');
const activeEl = $el.querySelector(".el-tabs__item.is-active");
const lineEl = $el.querySelector(".el-tabs__active-bar");
const style = getComputedStyle(activeEl);
const pl = style.paddingLeft.match(/\d+/)[0] * 1;
lineEl.style.transform =
'translateX(' + (activeEl.offsetLeft + 40) + 'px)';
"translateX(" + (activeEl.offsetLeft + 40) + "px)";
// console.log(activeEl.offsetLeft, pl);
});
},
@ -206,15 +276,15 @@ export default {
return codeToText[provinceCode];
}
}
},
}
}
};
</script>
<style lang="less" scoped>
.certification-page {
.certification-header {
height: 40px;
background: #EBF4FE;
background: #ebf4fe;
.header-wrap {
width: 1200px;
@ -228,12 +298,12 @@ export default {
.el-breadcrumb__item {
.el-breadcrumb__inner {
font-size: 16px;
color: #005EB7 !important;
color: #005eb7 !important;
}
.el-breadcrumb__separator {
font-size: 16px;
color: #005EB7 !important;
color: #005eb7 !important;
}
}
}
@ -242,7 +312,7 @@ export default {
.certification-tabs {
height: 60px;
background: #FFFFFF;
background: #ffffff;
border: 1px solid transparent;
.tabs-wrap {
@ -255,7 +325,7 @@ export default {
margin-top: 11px;
.el-tabs__nav-wrap::after {
background: #Fff;
background: #fff;
}
.el-tabs__item {
@ -266,14 +336,14 @@ export default {
}
.el-tabs__item.is-active {
color: #005EB7;
color: #005eb7;
}
.el-tabs__active-bar {
width: 0 !important;
height: 0;
border: 10px solid transparent;
border-bottom: 10px solid #005EB7;
border-bottom: 10px solid #005eb7;
background: none;
left: 20px;
}
@ -282,13 +352,13 @@ export default {
}
.certification-list {
background: linear-gradient(180deg, #005EB7 0%, #EDF7FF 60% #EDF7FF 100%);
background: linear-gradient(180deg, #005eb7 0%, #edf7ff 60% #edf7ff 100%);
padding: 20px 0;
.list-wrap {
width: 1200px;
height: 1098px;
background: #FFFFFF;
background: #ffffff;
border-radius: 8px;
margin: 0 auto;
padding: 20px;
@ -305,14 +375,14 @@ export default {
.el-input__inner {
width: 300px;
border-radius: 8px;
border: 1px solid #AAD8FB;
border: 1px solid #aad8fb;
}
.el-button {
padding: 13px 15px;
background: linear-gradient(180deg, #005BA6 0%, #0059A5 100%);
background: linear-gradient(180deg, #005ba6 0%, #0059a5 100%);
border-radius: 8px;
color: #FFFFFF;
color: #ffffff;
span {
font-size: 16px;
@ -340,12 +410,12 @@ export default {
}
th {
background: #EBF4FE;
background: #ebf4fe;
.cell {
font-size: 16px !important;
font-weight: 600 !important;
color: #005EB7;
color: #005eb7;
}
}
@ -357,7 +427,6 @@ export default {
}
}
}
}
}
}

46
jwtech-pc-page/src/views/creditStatistics/components/allQualified.vue

@ -1,6 +1,9 @@
<template>
<div class="qualified-wrap">
<headerImg :title="'所有资质企业信用排名'" :url="require('@/assets/image/icon_syzzqyxy.png')" />
<headerImg
:title="'所有资质企业信用排名'"
:url="require('@/assets/image/icon_syzzqyxy.png')"
/>
<div class="sort-btns">
<div class="btn-item">
<span>正序</span>
@ -12,43 +15,54 @@
</div>
</div>
<div class="qualified-list">
<div class="qualified-item" v-for="(item, index) in qualifiedList" :key="(item, index)">
<span>{{ item.enterpriseName }}</span>
<div
class="qualified-item"
v-for="(item, index) in qualifiedList"
:key="(item, index)"
>
<span @click="goDetails(item)" style="cursor: pointer;">{{
item.enterpriseName
}}</span>
<span>{{ item.dynamicCreditScore }}</span>
</div>
</div>
</div>
</template>
<script>
import { getDisclosure } from "@/api/home"
import { getDisclosure } from "@/api/home";
export default {
data() {
return {
qualifiedList: []
}
};
},
mounted() {
this.getList()
this.getList();
},
methods: {
getList() {
getDisclosure({ 'groupId': '2', pageNum: 1, pageSize: 10 }).then(res => {
this.qualifiedList=res.data.data.records
})
goDetails(item) {
this.$router.push(
"/enterpriseInDetail?enterpriseId=" + item.enterpriseId
);
},
getList() {
getDisclosure({ groupId: "2", pageNum: 1, pageSize: 10 }).then(res => {
this.qualifiedList = res.data.data.records;
});
}
}
};
</script>
<style lang="less" scoped>
.qualified-wrap {
height: 824px;
background: #FFFFFF;
background: #ffffff;
border-radius: 8px;
padding: 20px;
.sort-btns {
height: 40px;
background: #F6F6F6;
background: #f6f6f6;
margin-top: 10px;
display: flex;
justify-content: center;
@ -59,7 +73,7 @@ export default {
margin-right: 50px;
font-size: 16px;
font-weight: 600;
color: #005EB7;
color: #005eb7;
display: flex;
align-items: center;
@ -89,18 +103,18 @@ export default {
.qualified-item {
height: 44px;
line-height: 44px;
border-bottom: 1px solid #DADCE3;
border-bottom: 1px solid #dadce3;
display: flex;
justify-content: space-between;
span {
display: block;
font-size: 16px;
color: #005EB7;
color: #005eb7;
}
span:last-child {
color: #FF6200;
color: #ff6200;
}
}
}

61
jwtech-pc-page/src/views/creditStatistics/components/goodNotice.vue

@ -1,25 +1,37 @@
<template>
<div class="good-notice">
<headerImg :title="title" :url="url" :isMore="true" />
<headerImg :title="title" :url="url" :isMore="true" @toMore="toMore" />
<div class="notice-main">
<div class="table-title">
<span>企业名称</span>
<span>项目名称</span>
<span>{{title=='良好信用信息公告'?'加分':'扣分'}}</span>
<span>{{ title == "良好信用信息公告" ? "加分" : "扣分" }}</span>
<span>企业资质</span>
<span>所在区域</span>
<span>发布单位</span>
<span>建立时间</span>
</div>
<div class="table-list">
<div class="table-item" v-for="(item, index) in noticeList" :key="(item, index)">
<div class="enterpriseName">{{ item.enterpriseName }}</div>
<div
class="table-item"
v-for="(item, index) in noticeList"
:key="(item, index)"
>
<div class="enterpriseName" @click="goDetails(item)">
{{ item.enterpriseName }}
</div>
<div class="projectName">{{ item.projectName }}</div>
<div class="bonusPoints">{{title=='良好信用信息公告'?'+':'-'}}{{ item.bonusPoints }}</div>
<div class="bonusPoints">
{{ title == "良好信用信息公告" ? "+" : "-" }}{{ item.bonusPoints }}
</div>
<div class="qualificationCategory">
<div v-for="(cateTtem, index) in categoryList" :key="(cateTtem, index)">
<div v-if="cateTtem.dictValue == item.qualificationCategory">{{
cateTtem.dictLabel }}</div>
<div
v-for="(cateTtem, index) in categoryList"
:key="(cateTtem, index)"
>
<div v-if="cateTtem.dictValue == item.qualificationCategory">
{{ cateTtem.dictLabel }}
</div>
</div>
</div>
<div class="projectLocation">{{ item.projectLocation }}</div>
@ -44,25 +56,44 @@ export default {
noticeList: {
type: Array,
default: () => {
return []
return [];
}
}
},
data() {
return {
categoryList: []
}
};
},
mounted() {
this.getDicts("qualification_type").then(res => {
this.categoryList = res.data.data
})
this.categoryList = res.data.data;
});
},
methods: {
toMore() {
this.$router.push({
path: "/announcement",
query: {
type: this.title == "良好信用信息公告" ? "good" : "bad"
}
});
},
goDetails(item) {
this.$router.push({
path: "/actionAnnouncementDetail",
query: {
type: this.title == "良好信用信息公告" ? "good" : "bad",
enterpriseId: item.enterpriseId
}
});
}
}
};
</script>
<style lang="less" scoped>
.good-notice {
background: #FFFFFF;
background: #ffffff;
border-radius: 8px;
margin-top: 20px;
padding: 20px;
@ -77,7 +108,7 @@ export default {
display: block;
font-size: 16px;
font-weight: 600;
color: #005EB7;
color: #005eb7;
}
span:nth-child(1) {
@ -141,7 +172,7 @@ export default {
.enterpriseName {
width: 52%;
color: #005EB7;
color: #005eb7;
cursor: pointer;
}

85
jwtech-pc-page/src/views/enterpriseInformation/components/actionList.vue

@ -4,33 +4,63 @@
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="projectName" label="项目名称" width="300">
<template slot-scope="scope">
<span style="color: #005EB7;cursor: pointer;font-size: 16px !important;" @click="toDetail()">{{
scope.row.projectName
}}</span>
<span
style="color: #005EB7;cursor: pointer;font-size: 16px !important;"
@click="goDetails(scope.row)"
>{{ scope.row.projectName }}</span
>
</template>
</el-table-column>
<el-table-column prop="enterpriseName" label="责任主体" width="320" align="center">
<el-table-column
prop="enterpriseName"
label="责任主体"
width="320"
align="center"
>
</el-table-column>
<el-table-column prop="qualificationCategory" label="企业资质" align="center">
<el-table-column
prop="qualificationCategory"
label="企业资质"
align="center"
>
<template slot-scope="scope">
<div v-for="(cateTtem, index) in categoryList" :key="(cateTtem, index)">
<div v-if="cateTtem.dictValue == scope.row.qualificationCategory">{{
cateTtem.dictLabel }}</div>
<div
v-for="(cateTtem, index) in categoryList"
:key="(cateTtem, index)"
>
<div v-if="cateTtem.dictValue == scope.row.qualificationCategory">
{{ cateTtem.dictLabel }}
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="bonusPoints" :label="title == '良好行为列表' ? '加分' : '扣分'" align="center">
<el-table-column
prop="bonusPoints"
:label="title == '良好行为列表' ? '加分' : '扣分'"
align="center"
>
</el-table-column>
<el-table-column prop="updateTime" label="动态信用核定时间" align="center">
<el-table-column
prop="updateTime"
label="动态信用核定时间"
align="center"
>
<template slot-scope="scope">
<div>
{{ scope.row.updateTime?scope.row.updateTime.split(" ")[0]:"-" }}
{{
scope.row.updateTime ? scope.row.updateTime.split(" ")[0] : "-"
}}
</div>
</template>
</el-table-column>
</el-table>
<pagination :total="total" :page.sync="apidata.pageNum" :limit.sync="apidata.pageSize" :pageSizes="pageSizes"
@pagination="getResult" />
<pagination
:total="total"
:page.sync="apidata.pageNum"
:limit.sync="apidata.pageSize"
:pageSizes="pageSizes"
@pagination="getResult"
/>
</div>
</template>
<script>
@ -43,7 +73,7 @@ export default {
tableData: {
type: Array,
default: () => {
return []
return [];
}
},
total: {
@ -55,28 +85,37 @@ export default {
return {
apidata: {
pageNum: 1,
pageSize: 10,
pageSize: 10
},
pageSizes: [10, 20, 30, 50],
categoryList: []
}
};
},
mounted() {
console.log(this.tableData);
this.getDicts("qualification_type").then(res => {
this.categoryList = res.data.data
})
this.categoryList = res.data.data;
});
},
methods: {
getResult() {
if(title == '良好行为列表'){
this.$emit("getGoodResult")
if (title == "良好行为列表") {
this.$emit("getGoodResult");
} else {
this.$emit("getBadResult")
this.$emit("getBadResult");
}
},
goDetails(item) {
this.$router.push({
path: "/actionAnnouncementDetail",
query: {
type: this.title == "良好行为列表" ? "good" : "bad",
enterpriseId: item.enterpriseId
}
});
}
}
};
</script>
<style lang="less" scoped>
.action-wrap {
@ -90,12 +129,12 @@ export default {
}
th {
background: #EBF4FE;
background: #ebf4fe;
.cell {
font-size: 16px !important;
font-weight: 600 !important;
color: #005EB7;
color: #005eb7;
}
}

129
jwtech-pc-page/src/views/enterpriseInformation/components/personalTable.vue

@ -1,92 +1,139 @@
<template>
<div class="descriptions-table">
<div class="table-item" v-for="(item,index) in allPersonType" :key="(item,index)">
<span style="font-size: 16px; font-weight: 700;margin-bottom: 10px;display: block;">技术负责人</span>
<div
class="table-item"
v-for="(item, index) in allPersonType"
:key="(item, index)"
>
<span
style="font-size: 16px; font-weight: 700;margin-bottom: 10px;display: block;"
>{{ item.personTypeLabel }}</span
>
<el-table :data="item.personTypeData" border style="width: 100%">
<el-table-column prop="name" label="姓名" width="100">
</el-table-column>
<el-table-column prop="idNo" label="身份证号" width="180">
</el-table-column>
<el-table-column prop="speciality" label="专业" width="150">
<el-table-column prop="certificateSpeciality" label="专业" width="150">
</el-table-column>
<el-table-column prop="address" label="等级" width="120">
<el-table-column
prop="certificateLevel"
label="等级"
width="120"
:formatter="certificateLevelFormatter"
>
</el-table-column>
<el-table-column prop="address" label="注册证书编号" width="200">
<el-table-column prop="certificateNo" label="注册证书编号" width="200">
</el-table-column>
<el-table-column prop="address" label="核发机构" width="300">
<el-table-column prop="issuedBy" label="核发机构" width="280">
</el-table-column>
<el-table-column prop="address" label="核发日期">
<el-table-column prop="issuanceDate" label="核发日期">
</el-table-column>
</el-table>
</div>
</div>
</template>
<script>
import { personInfo } from "@/api/enterpriseInformation"
import { personInfoList, personInfo } from "@/api/enterpriseInformation";
export default {
data() {
return {
rowCenter: {
'borderColor': '#DADCE3'
borderColor: "#DADCE3"
},
labelRowCenter: {
'borderColor': '#DADCE3'
borderColor: "#DADCE3"
},
enterpriseId: "",
personList: [],
allPersonType: []
allPersonType: [],
queryParams: {
pageNum: 1,
pageSize: 10,
data: {
enterpriseId: null
}
},
certificateLevelOptions: []
};
},
created() {
this.getDicts("certificate_level").then(res => {
this.certificateLevelOptions = res.data.data;
});
},
mounted() {
this.getDicts("personnel_type").then(res => {
this.personList = res.data.data
let obj = {}
let obj1 = {}
let obj2 = {}
this.personList = res.data.data;
let obj = {};
let obj1 = {};
let obj2 = {};
res.data.data.forEach(item => {
if (item.dictValue == "0") {
obj = {
personTypeLabel: item.dictLabel,
personTypeValue: item.dictValue,
personTypeData: [],
}
personTypeData: []
};
} else if (item.dictValue == "1") {
obj1 = {
personTypeLabel: item.dictLabel,
personTypeValue: item.dictValue,
personTypeData: [],
}
personTypeData: []
};
} else if (item.dictValue !== "0" && item.dictValue !== "1") {
obj2 = {
personTypeLabel: "其它有职称人员",
personTypeValue: "",
personTypeData: [],
}
}
})
this.allPersonType = [obj, obj1, obj2]
})
this.enterpriseId = this.$route.query.enterpriseId
this.getPersonInfo()
personTypeData: []
};
}
});
this.allPersonType = [obj, obj1, obj2];
});
this.enterpriseId = this.$route.query.enterpriseId;
this.getPersonInfo();
},
methods: {
certificateLevelFormatter(row) {
let res = "";
// console.log(777, this.certificateLevelOptions);
this.certificateLevelOptions.forEach(item => {
if (item.dictValue == row.certificateLevel) res = item.dictLabel;
});
return res;
},
getPersonInfo() {
personInfo(this.enterpriseId).then(res => {
res.data.data.forEach(item => {
this.queryParams.data.enterpriseId = this.$route.query.enterpriseId;
personInfoList(this.queryParams).then(res => {
res.data.records.forEach(item => {
this.allPersonType.forEach(item2 => {
if (item.personType == item2.personTypeValue) {
item2.personTypeData.push(item)
item2.personTypeData.push(item);
}
})
});
if (item.personType !== "0" && item.personType !== "1") {
this.allPersonType[2].personTypeData.push(item)
this.allPersonType[2].personTypeData.push(item);
}
})
});
console.log(this.allPersonType);
})
}
}
}
});
// personInfo(this.enterpriseId).then(res => {
// res.data.data.forEach(item => {
// this.allPersonType.forEach(item2 => {
// if (item.personType == item2.personTypeValue) {
// item2.personTypeData.push(item);
// }
// });
// if (item.personType !== "0" && item.personType !== "1") {
// this.allPersonType[2].personTypeData.push(item);
// }
// });
// console.log(this.allPersonType);
// });
}
}
};
</script>
<style lang="less" scoped>
.descriptions-table {
@ -95,21 +142,21 @@ export default {
margin-bottom: 20px;
}
/deep/.el-table {
border: 1px solid #DADCE3;
border: 1px solid #dadce3;
.el-table__header-wrapper {
}
th {
background: #EBF4FE;
background: #ebf4fe;
.cell {
font-size: 16px !important;
font-weight: 600 !important;
color: #005EB7;
color: #005eb7;
}
}
.el-table__cell {
border-right: 1px solid #DADCE3;
border-right: 1px solid #dadce3;
}
tr {

176
jwtech-pc-page/src/views/enterpriseInformation/index.vue

@ -4,50 +4,103 @@
<div class="list-wrap">
<el-form :inline="true" label-width="80px" :model="queryForm">
<el-form-item label="企业名称">
<el-input class="name-inp-search" placeholder="请输入企业名称"
v-model="queryForm.enterpriseName"></el-input>
<el-input
class="name-inp-search"
placeholder="请输入企业名称"
v-model="queryForm.enterpriseName"
></el-input>
</el-form-item>
<el-form-item label="所在区域">
<el-select v-model="queryForm.adcd" clearable placeholder="请选择所有区域">
<el-option v-for="item in areaList" :key="item.xzqhdm" :label="item.name" :value="item.xzqhdm">
<el-select
v-model="queryForm.adcd"
clearable
placeholder="请选择所有区域"
>
<el-option
v-for="item in areaList"
:key="item.xzqhdm"
:label="item.name"
:value="item.xzqhdm"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="企业类型">
<el-select v-model="queryForm.qualificationCategory" clearable placeholder="请选择企业类型">
<el-option v-for="item in categoryList" :key="item.dictValue" :label="item.dictLabel"
:value="item.dictValue">
<el-select
v-model="queryForm.qualificationCategory"
clearable
placeholder="请选择企业类型"
>
<el-option
v-for="item in categoryList"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="mini" icon="el-icon-search" @click="getResult()">查询</el-button>
<el-button type="mini" icon="el-icon-refresh" @click="resetForm()">重置</el-button>
<el-button type="mini" icon="el-icon-search" @click="getResult()"
>查询</el-button
>
<el-button type="mini" icon="el-icon-refresh" @click="resetForm()"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table :data="tableData" style="width: 100%" v-loading="loading">
<el-table-column prop="enterpriseName" label="企业名称" width="500">
<template slot-scope="scope">
<span style="color: #005EB7;cursor: pointer;font-size: 16px !important;" @click="toDetail(scope.row)">{{
scope.row.enterpriseName
}}</span>
<span
style="color: #005EB7;cursor: pointer;font-size: 16px !important;"
@click="toDetail(scope.row)"
>{{ scope.row.enterpriseName }}</span
>
</template>
</el-table-column>
<el-table-column prop="qualificationCategory" label="企业类型" width="180" align="center">
<el-table-column
prop="qualificationCategory"
label="企业类型"
width="180"
align="center"
>
<template slot-scope="scope">
<div v-for="(cateTtem, index) in categoryList" :key="(cateTtem, index)">
<div v-if="cateTtem.dictValue == scope.row.qualificationCategory">{{
cateTtem.dictLabel }}</div>
<div
v-for="(cateTtem, index) in categoryList"
:key="(cateTtem, index)"
>
<div
v-if="cateTtem.dictValue == scope.row.qualificationCategory"
>
{{ cateTtem.dictLabel }}
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="legalRepresentative" label="法定代表人" width="180" align="center">
<el-table-column
prop="legalRepresentative"
label="法定代表人"
width="180"
align="center"
>
</el-table-column>
<el-table-column prop="qualificationCategory" label="资质类别" width="180" align="center">
<el-table-column
prop="qualificationCategory"
label="资质类别"
width="180"
align="center"
>
<template slot-scope="scope">
<div v-for="(cateTtem, index) in categoryList" :key="(cateTtem, index)">
<div v-if="cateTtem.dictValue == scope.row.qualificationCategory">{{
cateTtem.dictLabel.split("资质")[0] }}</div>
<div
v-for="(cateTtem, index) in categoryList"
:key="(cateTtem, index)"
>
<div
v-if="cateTtem.dictValue == scope.row.qualificationCategory"
>
{{ cateTtem.dictLabel.split("资质")[0] }}
</div>
</div>
</template>
</el-table-column>
@ -57,15 +110,20 @@
</template>
</el-table-column>
</el-table>
<pagination :total="total" :page.sync="apidata.pageNum" :limit.sync="apidata.pageSize"
:pageSizes="pageSizes" @pagination="getResult" />
<pagination
:total="total"
:page.sync="apidata.pageNum"
:limit.sync="apidata.pageSize"
:pageSizes="pageSizes"
@pagination="getResult"
/>
</div>
</div>
</div>
</template>
<script>
import { getDisclosure } from "@/api/home"
import { getGuangDong } from "@/api/creditStatistics"
import { getDisclosure } from "@/api/home";
import { getGuangDong } from "@/api/creditStatistics";
export default {
data() {
return {
@ -73,7 +131,7 @@ export default {
total: 0,
apidata: {
pageNum: 1,
pageSize: 10,
pageSize: 10
},
pageSizes: [10, 20, 30, 50],
queryForm: {
@ -87,42 +145,48 @@ export default {
tableData: [],
areaList: [],
categoryList: []
};
},
created() {
const enterpriseName = this.$route.query.enterpriseName;
if (enterpriseName) {
this.queryForm.enterpriseName = enterpriseName;
}
},
mounted() {
this.getArea()
this.getResult()
this.getArea();
this.getResult();
this.getDicts("qualification_type").then(res => {
this.categoryList = res.data.data
})
this.categoryList = res.data.data;
});
},
methods: {
getResult() {
this.loading = true
this.loading = true;
getDisclosure({ ...this.queryForm }).then(res => {
this.loading = false
this.tableData = []
this.tableData = res.data.data.records
this.total = res.data.data.total
})
this.loading = false;
this.tableData = [];
this.tableData = res.data.data.records;
this.total = res.data.data.total;
});
},
getArea() {
getGuangDong().then(res => {
this.areaList = res.data.data
})
this.areaList = res.data.data;
});
},
getadcd(row) {
let adcdText = ""
let adcdCode = row.adcd.slice(0, 4) + "00"
let adcdText = "";
let adcdCode = row.adcd.slice(0, 4) + "00";
this.areaList.forEach(item => {
if (item.xzqhdm == adcdCode) {
adcdText = item.name
adcdText = item.name;
}
})
});
if (adcdText == "") {
adcdText = "省外"
adcdText = "省外";
}
return adcdText
return adcdText;
},
resetForm() {
this.queryForm = {
@ -132,8 +196,8 @@ export default {
adcd: "",
pageNum: 1,
pageSize: 10
}
this.getResult()
};
this.getResult();
},
toDetail(row) {
this.$router.push({
@ -141,22 +205,21 @@ export default {
query: {
enterpriseId: row.enterpriseId
}
})
}
});
}
}
};
</script>
<style lang="less" scoped>
.certification-page {
.certification-list {
background: linear-gradient(180deg, #005EB7 0%, #EDF7FF 60% #EDF7FF 100%);
background: linear-gradient(180deg, #005eb7 0%, #edf7ff 60% #edf7ff 100%);
padding: 20px 0;
.list-wrap {
width: 1200px;
height: 1098px;
background: #FFFFFF;
background: #ffffff;
border-radius: 8px;
margin: 0 auto;
padding: 20px;
@ -174,14 +237,14 @@ export default {
.el-input__inner {
width: 210px;
border-radius: 8px;
border: 1px solid #AAD8FB;
border: 1px solid #aad8fb;
}
.el-button {
padding: 13px 15px;
background: linear-gradient(180deg, #005BA6 0%, #0059A5 100%);
background: linear-gradient(180deg, #005ba6 0%, #0059a5 100%);
border-radius: 8px;
color: #FFFFFF;
color: #ffffff;
span {
font-size: 16px;
@ -209,12 +272,12 @@ export default {
}
th {
background: #EBF4FE;
background: #ebf4fe;
.cell {
font-size: 16px !important;
font-weight: 600 !important;
color: #005EB7;
color: #005eb7;
}
}
@ -226,7 +289,6 @@ export default {
}
}
}
}
}
}

Loading…
Cancel
Save