发布申报任务新增是否需要审批、模板管理小类改为树结构

des
吕天方 6 months ago
parent ba2d328f6f
commit 3f6e114b1d

@ -5,7 +5,7 @@ VUE_APP_TITLE = 金鸡湖现代服务业品牌管理系统
ENV = 'development'
# 金鸡湖现代服务业品牌管理系统/开发环境
VUE_APP_BASE_API = 'http://192.168.0.108:9040'
VUE_APP_BASE_API = 'http://192.168.0.110:9040'
# VUE_APP_BASE_API = 'http://39.101.188.84:9040'
# VUE_APP_BASE_API = 'https://idp.sipac.gov.cn/api'

@ -1,6 +1,6 @@
{
"name": "ruoyi",
"version": "1.0.202407191025",
"version": "1.0.202407230851",
"description": "金鸡湖现代服务业品牌管理系统",
"author": "若依",
"license": "MIT",

@ -201,6 +201,28 @@ div::-webkit-scrollbar {
section::-webkit-scrollbar {
display: none;
}
//
.honor-dialog,.collectDialog-dialog,.headquarterEnterprise-dialog,.serviceIndustry-dialog {
section {
div::-webkit-scrollbar {
display: block;
}
.el-table::-webkit-scrollbar {
display: block;
width: 6px;
height: 6px;
}
.el-table::-webkit-scrollbar-track {
background-color: #f1f1f1;
}
.el-table::-webkit-scrollbar-thumb {
background-color: #c0c0c0;
border-radius: 3px;
}
}
}
#detail_content_two {
width: 100%;
#reportId {

@ -1,3 +1,5 @@
@import "@/assets/styles/utils.scss";
//
.my-L-breadcrumb {
// height: 55px;
@ -1280,6 +1282,12 @@
}
}
}
//
.home-index-main {
height: calc(100% - 55px);
padding: 10px;
box-sizing: border-box;
}
}
// ==
@ -1362,6 +1370,7 @@
font-family: AlibabaPuHuiTiR;
font-size: 14px;
color: #999999;
line-height: 22px;
// line-height: 31px;
// margin-top: 5px;
}
@ -1419,7 +1428,7 @@
.echarts-data-box {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
margin-top: 10px;
margin: 15px 0 12px;
.E-box-item {
display: flex;
.img-box {
@ -1474,7 +1483,9 @@
}
#echarts {
width: 100%;
height: calc(100% - 100px);
height: calc(100% - 110px);
// height: 30vh;
// height: 370px;
}
}
//
@ -1511,6 +1522,7 @@
font-family: AlibabaPuHuiTiR;
font-size: 14px;
color: #999999;
line-height: 22px;
}
}
.rightBtn {
@ -1525,7 +1537,7 @@
}
}
section {
margin-top: 10px;
margin-top: 15px;
// width: 100%;
// height: calc(100% - 20px);
// overflow-y: auto;
@ -1536,7 +1548,7 @@
.el-table {
th {
font-family: AlibabaPuHuiTiM;
font-weight: bold;
// font-weight: bold;
font-size: 14px;
color: #333333;
.Table-header {
@ -1552,8 +1564,8 @@
}
td {
font-family: PingFang-SC, PingFang-SC;
font-weight: bold;
font-size: 16px;
// font-weight: bold;
font-size: 15px;
color: #666666;
border-bottom: none;
}
@ -1562,7 +1574,7 @@
}
.project-trace-table-number {
font-family: DINCondensed, DINCondensed;
font-weight: bold;
// font-weight: bold;
font-size: 20px;
span {
font-family: PingFang-SC-Heavy;
@ -1576,21 +1588,19 @@
}
}
}
//
.dataCloudMap-main-right {
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
//
.dataCloudMap-right-top {
height: 42%;
background-color: #fff;
border-radius: 10px;
padding: 10px 20px;
padding: 10px 20px 15px;
.right-top-title {
// display: grid;
// grid-template-columns: 1fr 6fr; /* 自动列宽 */
// align-items: end; /* 垂直对齐方式:底部对齐 */
display: flex;
align-items: flex-end; /* 底部对齐 */
.L-title-left {
@ -1614,10 +1624,11 @@
font-family: AlibabaPuHuiTiR;
font-size: 14px;
color: #999999;
line-height: 22px;
}
}
.dataCloudMap-enterprise {
margin: 10px 0;
margin-top: 15px;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
grid-column-gap: 10px;
@ -1707,15 +1718,34 @@
}
}
}
//
.dataCloudMap-enterprise-fullscreen {
.el-card {
.el-card__header {
.clearfix {
font-size: 18px;
}
}
.el-card__body {
padding: 14px 20px 20px;
}
.card-items {
padding: 10px 10px ;
margin-bottom: 20px;
}
}
}
.dataCloudMap-statistics {
margin-top: 20px;
margin-top: 15px;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
background: radial-gradient( 0% 0% at 0% 0%, #E8F3FC 0%, #F6F9FD 0%), #E8F3FC;
padding: 10px 0;
width: 100%;
.statistics-title {
text-align: center;
display: flex;
align-items: center;
justify-content: center;
border-right: 1px solid #C7DAEE;
font-family: AlibabaPuHuiTiM;
font-size: 18px;
@ -1806,10 +1836,13 @@
}
//
.dataCloudMap-right-middle {
width: 100%;
height: 27%;
background-color: #fff;
border-radius: 10px;
padding: 10px 20px;
padding: 10px 20px 20px;
display: flex;
flex-direction: column;
.honor-title {
display: flex;
align-items: center;
@ -1841,6 +1874,7 @@
font-family: AlibabaPuHuiTiR;
font-size: 14px;
color: #999999;
line-height: 22px;
}
}
.rightBtn {
@ -1855,13 +1889,21 @@
}
}
.honor-data {
margin-top: 13px;
margin-top: 15px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 10px;
// flex: 1;
// display: flex;
// flex-wrap: wrap;
// justify-content: space-between;
// align-content: space-between;
.honor-item {
// width: 32%;
display: flex;
padding: 20px;
// padding: vh(25) vw(30);
align-items: center;
justify-content: space-between;
background-color: #F6F9FD;
.honor-item-left {
@ -1889,6 +1931,19 @@
}
}
}
//
.honor-item-fullscreen {
padding: 30px;
.honor-item-left {
font-size: 17px;
}
.honor-item-number {
font-size: 27px;
}
.honor-item-home {
font-size: 13px;
}
}
}
}
//
@ -1927,6 +1982,7 @@
font-family: AlibabaPuHuiTiR;
font-size: 14px;
color: #999999;
line-height: 22px;
}
}
.rightBtn {
@ -1949,14 +2005,14 @@
margin-bottom: 25px;
th {
font-family: AlibabaPuHuiTiM;
font-weight: bold;
// font-weight: bold;
font-size: 14px;
color: #333333;
}
td {
font-family: PingFang-SC, PingFang-SC;
font-weight: bold;
font-size: 16px;
// font-weight: bold;
font-size: 15px;
color: #666666;
border-bottom: none;
}
@ -1965,7 +2021,7 @@
}
.project-trace-table-number {
font-family: DINCondensed, DINCondensed;
font-weight: bold;
// font-weight: bold;
font-size: 20px;
color: #FF844D;
}
@ -1979,6 +2035,12 @@
.honor-dialog {
.el-dialog__header {
border-bottom: 1px solid #F0F0F0;
.el-dialog__title {
font-family: PingFang-SC-Heavy;
font-weight: 800;
font-size: 16px;
color: #000000;
}
}
section {
.el-table--border {
@ -1998,6 +2060,10 @@
text-transform: none;
cursor: pointer;
}
.grey-number {
color: #666666;
text-decoration-line: none;
}
.evenNumber-row {
background-color: #F6F9FD;
}
@ -2015,6 +2081,12 @@
}
.el-dialog__header {
border-bottom: 1px solid #F0F0F0;
.el-dialog__title {
font-family: PingFang-SC-Heavy;
font-weight: 800;
font-size: 16px;
color: #000000;
}
}
.headquarterEnterprise-box {
.radio_btn {
@ -2100,6 +2172,12 @@
}
.el-dialog__header {
border-bottom: 1px solid #F0F0F0;
.el-dialog__title {
font-family: PingFang-SC-Heavy;
font-weight: 800;
font-size: 16px;
color: #000000;
}
}
.serviceIndustry-box {
.radio_btn {
@ -2189,6 +2267,12 @@
}
.el-dialog__header {
border-bottom: 1px solid #F0F0F0;
.el-dialog__title {
font-family: PingFang-SC-Heavy;
font-weight: 800;
font-size: 16px;
color: #000000;
}
}
.collectDialog-box {
.radio_btn {

@ -0,0 +1,20 @@
/**
稿19201080
*/
// @function px2vw($px) {
// @return $px/1920*100vw;
// }
// @function px2vh($px) {
// @return $px/1920*100vh;
// }
@function vw($px) {
@return $px/1920*100vw;
}
@function vh($px) {
@return $px/1080*100vh;
}

@ -25,24 +25,24 @@
<el-table-column label="项目大类" prop="projectBigName" align="center"/>
<el-table-column label="数量" prop="count1" align="center" width="100">
<template slot-scope="scope">
<div class="project-trace-table-number" @click="bigNumber(scope.row)">{{ scope.row.count1 }}</div>
<div class="project-trace-table-number" :class="scope.row.count1 == 0 ? 'grey-number' : ''" @click="bigNumber(scope.row)">{{ scope.row.count1 }}</div>
</template>
</el-table-column>
<el-table-column label="项目中类" prop="projectMiddleName" align="center"/>
<el-table-column label="数量" prop="count2" align="center" width="100">
<template slot-scope="scope">
<div class="project-trace-table-number" @click="middleNumber(scope.row)">{{ scope.row.count2 }}</div>
<div class="project-trace-table-number" :class="scope.row.count2 == 0 ? 'grey-number' : ''" @click="middleNumber(scope.row)">{{ scope.row.count2 }}</div>
</template>
</el-table-column>
<el-table-column label="项目小类" prop="projectSmallName" align="center"/>
<el-table-column label="数量" prop="count3" align="center" width="100">
<template slot-scope="scope">
<div class="project-trace-table-number" @click="smallNumber(scope.row)">{{ scope.row.count3 }}</div>
<div class="project-trace-table-number" :class="scope.row.count3 == 0 ? 'grey-number' : ''" @click="smallNumber(scope.row)">{{ scope.row.count3 }}</div>
</template>
</el-table-column>
<el-table-column label="2024年新增" prop="currentYearAdd" align="center" width="100">
<template slot-scope="scope">
<div class="project-trace-table-number" @click="YrarNumber(scope.row)">{{ scope.row.currentYearAdd }}</div>
<div class="project-trace-table-number" :class="scope.row.currentYearAdd == 0 ? 'grey-number' : ''" @click="YrarNumber(scope.row)">{{ scope.row.currentYearAdd }}</div>
</template>
</el-table-column>
</el-table>

@ -59,7 +59,7 @@
</div>
</div>
</div>
<div id="echarts"></div>
<div id="echarts" ref="myChart"></div>
</div>
<!-- 行业纵深情况 -->
@ -75,7 +75,7 @@
<div class="rightBtn" @click="industryBtn">>></div>
</div>
<section>
<el-table v-loading="loadingOne" class="dataMap-two-table" :data="tableOneData" :row-class-name="tableRowClassName" :height="330" :header-cell-style="{background:'#E8F3FC'}"> <!-- :max-height="tabHeader" -->
<el-table v-loading="loadingOne" class="dataMap-two-table" :data="tableOneData" :row-class-name="tableRowClassName" :height="isFullscreen ? 420 : 330" :header-cell-style="{background:'#E8F3FC'}"> <!-- :max-height="tabHeader" -->
<el-table-column label="行业大类" prop="bigType" width="320" align="center"/>
<el-table-column label="全年营收" prop="revenue" width="130" align="center">
<template slot-scope="scope">
@ -119,7 +119,7 @@
</div>
<span class="dataCloudMap-data">统计数据截至2024-01</span>
</div>
<div class="dataCloudMap-enterprise">
<div class="dataCloudMap-enterprise" :class="isFullscreen ? 'dataCloudMap-enterprise-fullscreen' : ''">
<!-- 第一个卡片 -->
<el-card shadow="always">
<div slot="header" class="clearfix">
@ -342,42 +342,42 @@
<div class="rightBtn" @click="honorBtn">>></div>
</div>
<div class="honor-data">
<div class="honor-item">
<div class="honor-item" :class="isFullscreen ? 'honor-item-fullscreen' : ''">
<span class="honor-item-left">领军企业</span>
<div class="honor-item-right">
<span class="honor-item-number">{{ honorData.count1 }}</span>
<span class="honor-item-home"></span>
</div>
</div>
<div class="honor-item">
<div class="honor-item" :class="isFullscreen ? 'honor-item-fullscreen' : ''">
<span class="honor-item-left">两业融合试点</span>
<div class="honor-item-right">
<span class="honor-item-number">{{ honorData.count2 }}</span>
<span class="honor-item-home"></span>
</div>
</div>
<div class="honor-item">
<div class="honor-item" :class="isFullscreen ? 'honor-item-fullscreen' : ''">
<span class="honor-item-left">工业设计</span>
<div class="honor-item-right">
<span class="honor-item-number">{{ honorData.count3 }}</span>
<span class="honor-item-home"></span>
</div>
</div>
<div class="honor-item">
<div class="honor-item" :class="isFullscreen ? 'honor-item-fullscreen' : ''">
<span class="honor-item-left">服务型制造示范</span>
<div class="honor-item-right">
<span class="honor-item-number">{{ honorData.count4 }}</span>
<span class="honor-item-home"></span>
</div>
</div>
<div class="honor-item">
<div class="honor-item" :class="isFullscreen ? 'honor-item-fullscreen' : ''">
<span class="honor-item-left">现代服务业集聚区</span>
<div class="honor-item-right">
<span class="honor-item-number">{{ honorData.count5 }}</span>
<span class="honor-item-home"></span>
</div>
</div>
<div class="honor-item">
<div class="honor-item" :class="isFullscreen ? 'honor-item-fullscreen' : ''">
<span class="honor-item-left">楼宇经济</span>
<div class="honor-item-right">
<span class="honor-item-number">{{ honorData.count6 }}</span>
@ -400,7 +400,7 @@
<div class="rightBtn" @click="projectBtn">>></div>
</div>
<section>
<el-table v-loading="loadingTwo" class="dataMap-two-table" :data="tableTwoData" :row-class-name="tableRowClassName" :height="170" :header-cell-style="{background:'#E8F3FC'}"> <!-- :max-height="tabHeader" -->
<el-table v-loading="loadingTwo" class="dataMap-two-table" :data="tableTwoData" :row-class-name="tableRowClassName" :height="isFullscreen ? 220 : 170" :header-cell-style="{background:'#E8F3FC'}"> <!-- :max-height="tabHeader" -->
<el-table-column label="申报任务名称" prop="enterpriseDirectory" width="500" align="center"/>
<el-table-column label="填报时间" prop="time" align="center">
<template slot-scope="scope">
@ -425,6 +425,7 @@
</div>
</template>
<script>
import screenfull from 'screenfull'
import * as echarts from "echarts";
import honorDialogVue from './components/honorDialog.vue';
import headqEnterprise from './components/headquarterEnterprise.vue'
@ -483,6 +484,32 @@ export default {
speedUp:"0.89",
proportion:"11",
},
{
bigType:"科学研究和技术服务业",
revenue:"506.63",
yuan:"201",
speedUp:"0.89",
proportion:"11",
},{
bigType:"科学研究和技术服务业",
revenue:"506.63",
yuan:"201",
speedUp:"0.89",
proportion:"11",
},
{
bigType:"科学研究和技术服务业",
revenue:"506.63",
yuan:"201",
speedUp:"0.89",
proportion:"11",
},{
bigType:"科学研究和技术服务业",
revenue:"506.63",
yuan:"201",
speedUp:"0.89",
proportion:"11",
},
{
bigType:"科学研究和技术服务业",
revenue:"506.63",
@ -503,6 +530,9 @@ export default {
},
honorTableData:[],
titleDialog:"",
isFullscreen: false,
myChart: false,
option:{}
}
},
mounted(){
@ -511,8 +541,41 @@ export default {
})
this.getHonorList();
this.getProjectList();
this.screenFull();
// this.init()
},
methods:{
change() {
this.isFullscreen = screenfull.isFullscreen;
// this.myChart.setOption(this.option)
this.myChart && this.myChart.resize()
// this.myChart.clear()
},
screenFull() {
window.addEventListener('keydown', this.KeyDown);
if (screenfull.isEnabled) {
screenfull.on('change', this.change)
}
},
KeyDown(event) {
if (event.keyCode === 122) {
event.preventDefault();
this.isScreenFull();
}
},
isScreenFull(){
if (!screenfull.isEnabled) {
//
return false;
} else {
this.$nextTick(()=>{
screenfull.toggle();
this.initEchart();
})
}
},
//
getHonorList(){
honor().then(res=>{
@ -544,8 +607,8 @@ export default {
},
initEchart(){
var chartDom = document.getElementById("echarts");
var myChart = echarts.init(chartDom);
let option = {
this.myChart = echarts.init(chartDom);
this.option = {
// title: {
// text: "2019",
// textStyle: {
@ -557,7 +620,7 @@ export default {
// left: "10%",
// },
grid: {
top: "8%",
top: "3%",
left: "3%",
right: "3%",
bottom: "8%", //leftright
@ -671,7 +734,7 @@ export default {
},
],
};
myChart.setOption(option)
this.myChart.setOption(this.option)
},
//
honorBtn(){

@ -1,6 +1,6 @@
<template>
<div class="workbench-box">
<main class="home-main">
<main class="home-main home-index-main">
<el-row class="main-row">
<el-col :span="8" class="work-main-left">
<div class="main-left">
@ -14,13 +14,13 @@
<div class="left-header">
<div class="left-header-title">智能提醒</div>
</div>
<div class="left-main">
<div class="left-main" v-if="remindList.length > 0">
<el-card shadow="never" v-for="(item,index) in remindList" :key="index" :class="item.isRead == 1 ? 'el-card-border' : ''">
<div class="warn-main">
<div class="warn-main-left" v-if="item.alertManner == 2">
<div class="warn-main-img"><img src="@/assets/images/warn-green.png" alt=""></div>
<div class="warn-main-content">
<div class="content-title">{{ item.declarationName }}预计{{ item.daysAdvance }}天后{{ item.alertRecipients == 1 ? "填报结束" : item.alertRecipients == 2 ? "建设完成" : "" }}</div>
<div class="content-title">{{ item.declarationName }}预计{{ item.daysAdvance }}天后填报结束</div>
<div class="content-middle">{{ item.alertContent }}</div>
<div class="content-time">{{ item.alertTime }}</div>
</div>
@ -59,6 +59,9 @@
</div>
</el-card>
</div>
<div class="right-main" v-else>
<el-divider content-position="center">暂无</el-divider>
</div>
</div>
</el-col>
<el-col :span="8" class="work-main-right">
@ -96,23 +99,15 @@
</div>
</template>
<script>
import { approvalList, approvalEdit, uploadFile } from "@/api/onlineDeclartion/pendingReview"
import { listRecords } from "@/api/onlineDeclartion/records"
import { selectAll, workSearch } from "@/api/jin_ji_hu/home"
import { chiefAll, enterpriseAll, changeIsRead } from "@/api/jin_ji_hu/intelligentReminder"
export default {
dicts: ["project_small_type"],
data() {
return {
// 01 02
userType: this.$store.state.user.userType,
search:"",
// userType: this.$store.state.user.userType,
backlogArray:[],
pagination: {
pageNum:1,
pageSize:10,
approvalStatusStr: 0,
},
queryParams: {
pageNum: 1,
pageSize: 10,
@ -121,56 +116,18 @@ export default {
},
//
open: false,
//
form: {
approvalOpinions: ''
},
//
rules: {
approvalStatus: [
{ required: true, message: "请选择审批状态", trigger: "blur" }
],
approvalOpinions: [
{ required: true, message: "名录维护方式不能为空", trigger: "blur" }
],
},
fileList: [],
uploadList: [],
tabs: [
{
value:"查企业"
},{
value:"查项目"
},{
value:"查荣誉"
},
],
checked: 0,
loading:false,
remindList: [],
info:{},
}
},
mounted(){
if(this.userType == "02") {
this.getList();
this.govRemind();
} else if(this.userType == "01") {
this.getListTwo();
this.entRemind();
}
this.getListTwo();
this.entRemind();
},
methods:{
//
getList(){
this.loading = true;
approvalList(this.pagination).then(res=>{
// console.log(res);
this.backlogArray = res.rows
this.loading = false;
})
},
//
getListTwo(){
this.loading = true;
@ -185,21 +142,11 @@ export default {
this.remindList = res.data;
})
},
//
govRemind(){
chiefAll().then(res=>{
this.remindList = res.data;
})
},
//
putMemo(item){
if(item.isRead == 1) {
changeIsRead({id:item.id}).then(res=>{
if(this.userType == "02") {
this.govRemind();
} else if(this.userType == "01") {
this.entRemind();
}
this.entRemind();
})
}
if(item.projectId) {
@ -238,93 +185,6 @@ export default {
}
}
},
// tab
changeTab(index){
this.checked = index;
this.search = "";
//
this.$refs.autocomplete.suggestions = [];
this.$refs.autocomplete.highlightedIndex = -1;
},
querySearch(queryString, cb) {
let results = []
if(this.checked == 0) {
workSearch({enterpriseInfo: queryString}).then(res => {
res.data.forEach(item => {
results.push({
value: item.qymc,
id: item.id,
tyshxydm: item.tyshxydm
})
})
})
} else if(this.checked == 1) {
selectAll({ name: queryString }).then(res => {
res.data.forEach(item => {
results.push({
value: item.declareUnit,
id: item.id
})
})
})
} else if(this.checked == 2) {
selectAll({ name: queryString, status: 5}).then(res => {
res.data.forEach(item => {
results.push({
value: item.declareUnit,
id: item.id
})
})
})
}
// queryString
/**
* 通过queryString 调用接口参数搜索到的数据数据处理成所需的列表 对象带value 使用callback返回列表数据
*/
// var restaurants = this.restaurants;
// var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
// callback
cb(results);
},
//
handleSelect(item) {
if(this.checked == 0) {
this.$router.push({
name: 'enterpriselibraryInfo',
query: { userId: item.id, creditCode: item.tyshxydm }
})
} else if(this.checked == 1) {
this.$router.push({
name: 'projectInfo',
query: { userId: Number(item.id) }
})
} else if(this.checked == 2) {
this.$router.push({
name: 'projectInfo',
query: { userId: Number(item.id) }
})
}
},
searchBtn(){
// console.log(this.search);
if(this.checked == 0) {
this.$router.push({
name: 'Enterpriselibrary',
params: { enterpriseName: this.search }
})
} else if(this.checked == 1) {
// this.$router.push({
// name: 'Project',
// params: { projectName: this.search }
// })
this.$router.push({
name: 'Project',
params: { declareUnit: this.search }
})
} else if(this.checked == 2) {
}
},
},
}
</script>

@ -212,6 +212,14 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="是否审批" prop="isApproval">
<el-radio-group v-model="form.isApproval" :disabled="isApprovalDisabled">
<el-radio :label="0">不需要审批</el-radio>
<el-radio :label="1">需要审批</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" v-show="form.isTime == 0">
<!-- <el-form-item label="申报时间" prop="reportTime"> -->
<el-form-item label="任务填报时间" prop="reportTime"
@ -357,6 +365,8 @@ export default {
isReplace: false,
//
isForm: false,
//
isApprovalDisabled: false,
//
refreshTable: true,
total: 10,
@ -404,6 +414,9 @@ export default {
],
fileList: [
{ required: true, message: "请上传企业名录", trigger: "blur" }
],
isApproval: [
{ required: true, message: "是否审批", trigger: "blur" }
]
},
businessLoading: false,
@ -506,6 +519,7 @@ export default {
this.open = false;
this.isReplace = false;
this.isForm = false;
this.isApprovalDisabled = false;
this.reset();
},
//
@ -519,6 +533,7 @@ export default {
orderNum: undefined,
isFrame: 0,
isTime: 0,
isApproval: 0,
};
this.resetForm("form");
},
@ -537,9 +552,11 @@ export default {
this.open = true;
this.isReplace = false;
this.isForm = true;
this.isApprovalDisabled = false;
this.fileList = [];
this.form.isFrame = 0;
this.form.isTime = 0;
this.form.isApproval = 0;
this.title = "发布申报任务";
},
/** 回显Cascader 级联选择器数据 */
@ -590,6 +607,7 @@ export default {
this.open = true;
this.isReplace = true;
this.isForm = true;
this.isApprovalDisabled = true;
this.title = "申报补录";
this.form.responsibilityUnit = this.form.responsibilityUnit + ''
let arr = [];
@ -639,6 +657,7 @@ export default {
this.open = true;
this.isReplace = false;
this.isForm = false;
this.isApprovalDisabled = false;
this.title = "修改申报任务";
this.form.responsibilityUnit = this.form.responsibilityUnit + ''
this.form.projectClassify = this.form.projectClassify + ''
@ -687,6 +706,7 @@ export default {
this.open = false;
this.isReplace = false;
this.isForm = false;
this.isApprovalDisabled = false;
this.getList();
})
} else if (this.form.id != undefined) {
@ -696,6 +716,7 @@ export default {
this.open = false;
this.isReplace = false;
this.isForm = false;
this.isApprovalDisabled = false;
this.getList();
});
} else {
@ -705,6 +726,7 @@ export default {
this.open = false;
this.isReplace = false;
this.isForm = false;
this.isApprovalDisabled = false;
this.getList();
});
}
@ -776,20 +798,28 @@ export default {
},
//
changeProjectClassify(valId){
this.projectBigType = valId[0]
this.projectMiddleType = valId[1]
this.projectSmallType = valId[2]
if(this.unitId) {
this.isForm = false;
// this.templateList = this.templateListLock.filter((item) => {
// return item.responsibilityUnit == valId
// })
this.templateList = []
this.form.templateId = ""
allList({responsibilityUnit:Number(this.unitId),projectBigType:this.projectBigType,projectMiddleType:this.projectMiddleType,projectSmallType:this.projectSmallType}).then(res=>{
// console.log(res);
this.templateList = res.data || []
})
if(valId) {
this.projectBigType = valId[0]
this.projectMiddleType = valId[1]
this.projectSmallType = valId[2]
if(this.projectBigType == 11) {
this.isApprovalDisabled = true;
this.form.isApproval = 0;
} else {
this.isApprovalDisabled = false;
}
if(this.unitId) {
this.isForm = false;
// this.templateList = this.templateListLock.filter((item) => {
// return item.responsibilityUnit == valId
// })
this.templateList = []
this.form.templateId = ""
allList({responsibilityUnit:Number(this.unitId),projectBigType:this.projectBigType,projectMiddleType:this.projectMiddleType,projectSmallType:this.projectSmallType}).then(res=>{
// console.log(res);
this.templateList = res.data || []
})
}
}
},
changeTemplate(){

@ -83,6 +83,7 @@
<el-radio-group v-model="radio" @change="toggleOptions">
<el-radio-button label="">全部</el-radio-button>
<el-radio-button label="0">待填报</el-radio-button>
<el-radio-button label="6">已填报</el-radio-button>
<el-radio-button label="1">初审中</el-radio-button>
<el-radio-button label="10">初审驳回</el-radio-button>
<el-radio-button label="8">初审不通过</el-radio-button>
@ -226,6 +227,7 @@
<span v-if="scope.row.status == 8" class="approval_status8"></span>
<span v-if="scope.row.status == 7" class="approval_status9"></span>
<!-- <span v-if="scope.row.status == 6" class="approval_status9">-</span> -->
<span v-if="scope.row.status == 6" class="approval_status5"></span>
<span v-if="scope.row.status == 9" class="approval_status9"></span>
<span v-if="scope.row.status == 10" class="approval_status9"></span>
</template>

@ -19,15 +19,22 @@
/>
</el-select>
</el-form-item> -->
<el-form-item label="项目类" prop="projectClassify">
<el-select v-model="queryParams.projectClassify" placeholder="请选择项目小类" clearable>
<el-form-item label="项目类" prop="projectClassify">
<!-- <el-select v-model="queryParams.projectClassify" placeholder="请选择项目小类" clearable>
<el-option
v-for="dict in dict.type.project_small_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-select> -->
<el-cascader
placeholder="请选择项目分类"
v-model="queryParams.projectClassify"
:options="optionsTwo"
:props="propsTwo"
>
</el-cascader>
</el-form-item>
<!-- <el-form-item label="产业领域" prop="productArea">
<el-select v-model="queryParams.productArea" placeholder="请选择产业领域" clearable>
@ -154,7 +161,7 @@
<script>
import { listInfo, exportData } from "@/api/onlineDeclartion/declarationManagement"
import { getAllList } from "@/api/system/dict/data";
export default {
name: "Template",
dicts: ['bms_product_area', 'bms_declaration_type', 'bms_responsibility_unit', 'bms_level', 'jjh_project_type', "project_small_type"],
@ -177,6 +184,26 @@ export default {
pageSize: 20,
},
tabHeader: undefined,
optionsTwo: [],
propsTwo:{
lazy:true,
lazyLoad (node, resolve) {
const { level, data, children } = node;
if(children?.length == 0 ) {
getAllList({dictType: data.dict}).then(res=>{
const nodes = Array.from(res.data).map((item)=>{
return {
value:item.dictValue,
label:item.dictLabel,
dict:item.remark,
leaf: level >= 2
}
})
resolve(nodes)
})
}
}
},
};
},
mounted() {
@ -188,8 +215,20 @@ export default {
},
created() {
this.getList();
this.getDataList();
},
methods: {
getDataList(){
getAllList({dictType:"project_categories"}).then(res=>{
res.data.map(item => {
let obj = {};
obj.value = item.dictValue;
obj.label = item.dictLabel;
obj.dict = item.remark;
this.optionsTwo.push(obj);
})
})
},
//
cancalDebounce(){
const element = document.getElementById('app-container'); // ID
@ -211,7 +250,11 @@ export default {
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.projectSmallType = this.queryParams.projectClassify[0]
if(this.queryParams.projectClassify) {
this.queryParams.projectBigType = this.queryParams.projectClassify[0]
this.queryParams.projectMiddleType = this.queryParams.projectClassify[1]
this.queryParams.projectSmallType = this.queryParams.projectClassify[2]
}
this.getList();
},
/** 重置按钮操作 */

@ -1,6 +1,6 @@
<template>
<div class="workbench-box">
<header v-if="userType == '02'">
<div class="workbench-box" v-if="userType == '02'">
<header>
<div class="workbench-serch">
<div class="workbench-title">
<div class="title-item" :class="checked == index ? 'checked-item' : ''" v-for="(item,index) in tabs" :key="index" @click="changeTab(index)">
@ -42,7 +42,7 @@
<div class="warn-main-left" v-if="item.alertManner == 2">
<div class="warn-main-img"><img src="@/assets/images/warn-green.png" alt=""></div>
<div class="warn-main-content">
<div class="content-title">{{ item.declarationName }}预计{{ item.daysAdvance }}天后{{ item.alertRecipients == 1 ? "填报结束" : item.alertRecipients == 2 ? "建设完成" : "" }}</div>
<div class="content-title">{{ item.declarationName }}预计{{ item.daysAdvance }}天后建设完成</div>
<div class="content-middle">{{ item.alertContent }}</div>
<div class="content-time">{{ item.alertTime }}</div>
</div>
@ -89,7 +89,7 @@
<div class="right-header-title">待办提醒</div>
<el-button @click="MoreRecords('all')" type="text" v-if="backlogArray.length > 0">>> 更多记录</el-button>
</div>
<div class="right-main" v-if="backlogArray.length > 0 && userType == '02'" v-loading="loading">
<div class="right-main" v-if="backlogArray.length > 0" v-loading="loading">
<div class="main-items" v-for="(item,index) in backlogArray" :key="index" :class="index % 2 == 0 ? '':'main-item'">
<div>{{ item.matter }} </div>
<div>{{ (item.status == 1 ? "待初审" : item.status == 2 ? "待复审" : item.status == 3 ? "待终审" : "") }}</div>
@ -97,15 +97,6 @@
<div @click="MoreRecords('id',item.status)" class="last_child_item">去审批</div>
</div>
</div>
<div class="right-main" v-else-if="backlogArray.length > 0 && userType == '01'" v-loading="loading">
<div class="main-items" v-for="(item,index) in backlogArray" :key="index" :class="index % 2 == 0 ? '':'main-item'">
<div>{{ item.enterpriseDirectory}}</div>
<!-- <div>{{ item.enterpriseName }}</div> -->
<div>{{ (item.status == 0 ? "待填报" : item.status == 8 ? "初审不通过" : item.status == 10 ? "初审退回修改" : item.status == 7 ? "复审不通过" : item.status == 9 ? "终审不通过" : item.status == 5 ? "终审通过" : "") }}</div>
<!-- <div>审批知识产权材料</div> -->
<div @click="MoreRecords('id',item.status)" class="last_child_item" :class="item.status == 0 ? 'tab-red' : item.status == 10 ? 'tab-red' : 'last_child_item'">{{ item.status == 0 ? "去填报" : item.status == 10 ? "去修改" : "去查看"}}</div>
</div>
</div>
<div class="right-main" v-else>
<el-divider content-position="center">暂无</el-divider>
</div>
@ -124,14 +115,18 @@
</div>
</el-dialog>
</div>
<homeIndex v-else-if="userType == '01'" />
</template>
<script>
import { approvalList, approvalEdit, uploadFile } from "@/api/onlineDeclartion/pendingReview"
import { listRecords } from "@/api/onlineDeclartion/records"
import { approvalList, uploadFile } from "@/api/onlineDeclartion/pendingReview"
import { selectAll, workSearch } from "@/api/jin_ji_hu/home"
import { chiefAll, enterpriseAll, changeIsRead } from "@/api/jin_ji_hu/intelligentReminder"
import { chiefAll, changeIsRead } from "@/api/jin_ji_hu/intelligentReminder"
import homeIndex from "@/views/home/index.vue"
export default {
dicts: ["project_small_type"],
components:{
homeIndex
},
data() {
return {
// 01 02
@ -143,29 +138,8 @@ export default {
pageSize:10,
approvalStatusStr: 0,
},
queryParams: {
pageNum: 1,
pageSize: 10,
creditCode: this.$store.state.user.name,
statusStr: [0, 5, 7, 8, 9, 10],
},
//
open: false,
//
form: {
approvalOpinions: ''
},
//
rules: {
approvalStatus: [
{ required: true, message: "请选择审批状态", trigger: "blur" }
],
approvalOpinions: [
{ required: true, message: "名录维护方式不能为空", trigger: "blur" }
],
},
fileList: [],
uploadList: [],
tabs: [
{
value:"查企业"
@ -182,14 +156,10 @@ export default {
}
},
mounted(){
if(this.userType == "02") {
if(this.userType == '02') {
this.getList();
this.govRemind();
} else if(this.userType == "01") {
this.getListTwo();
this.entRemind();
}
},
methods:{
//
@ -201,20 +171,6 @@ export default {
this.loading = false;
})
},
//
getListTwo(){
this.loading = true;
listRecords(this.queryParams).then(response => {
this.backlogArray = response.rows
this.loading = false;
});
},
//
entRemind(){
enterpriseAll().then(res=>{
this.remindList = res.data;
})
},
//
govRemind(){
chiefAll().then(res=>{
@ -225,11 +181,7 @@ export default {
putMemo(item){
if(item.isRead == 1) {
changeIsRead({id:item.id}).then(res=>{
if(this.userType == "02") {
this.govRemind();
} else if(this.userType == "01") {
this.entRemind();
}
this.govRemind();
})
}
if(item.projectId) {
@ -237,11 +189,6 @@ export default {
name: 'projectInfo',
query: { userId: Number(item.projectId) }
})
} else if(item.alertRecipients == 1 && item.alertManner == 2) {
this.$router.push({
name: 'Records',
params: { statusChange: "0" }
})
} else if(item.alertManner == 1) {
this.open = true;
this.info = item;
@ -249,37 +196,16 @@ export default {
},
//
MoreRecords(type,status){
if(this.userType == "02") {
if(type == 'all') {
this.$router.push({
name: 'PendingReview',
params: { approvalStatusStr: "" }
})
} else {
this.$router.push({
name: 'PendingReview',
params: { approvalStatusStr: "0" }
})
}
} else if(this.userType == "01") {
if(type == 'all') {
this.$router.push({
name: 'Records',
params: { statusChange: "" }
})
} else {
if(status == 0 || status == 10) {
this.$router.push({
name: 'Records',
params: { statusChange: "0" }
})
} else {
this.$router.push({
name: 'Records',
params: { statusChange: "1" }
})
}
}
if(type == 'all') {
this.$router.push({
name: 'PendingReview',
params: { approvalStatusStr: "" }
})
} else {
this.$router.push({
name: 'PendingReview',
params: { approvalStatusStr: "0" }
})
}
},
// tab

Loading…
Cancel
Save