Compare commits

..

No commits in common. "08d0cc59b86a2e63ed292a64123ae48936b61a4e" and "0caa21dc180aada2b0201e14dc9f3f4ace9abfc6" have entirely different histories.

8 changed files with 324 additions and 495 deletions

View File

@ -111,11 +111,12 @@
</el-form-item> </el-form-item>
<el-form-item label="审批内容"> <el-form-item label="审批内容">
<div v-for="(file, index) in initData.files" :key="index"> <div v-for="(file, index) in initData.files" :key="index">
<el-link <el-button
type="primary" size="mini"
type="text"
icon="el-icon-paperclip" icon="el-icon-paperclip"
@click="handledownload(file)" @click="handledownload(file)"
>{{ file.substring(file.lastIndexOf("/") + 1) }}</el-link >{{ file.substring(file.lastIndexOf("/") + 1) }}</el-button
> >
</div> </div>
</el-form-item> </el-form-item>
@ -474,10 +475,6 @@ export default {
height: 100%; height: 100%;
float: left; float: left;
padding-left: 20px; padding-left: 20px;
.el-link .el-link--inner{
word-break: break-all !important;
}
} }
} }
.containers { .containers {

View File

@ -53,7 +53,7 @@
<el-form-item label="审批内容" prop="files"> <el-form-item label="审批内容" prop="files">
<FileUpload <FileUpload
@input="fileInput" @input="fileInput"
:limit="30" :limit="18"
v-model="form.files" v-model="form.files"
:fileType="['pdf', 'png', 'jpg', 'jpeg']" :fileType="['pdf', 'png', 'jpg', 'jpeg']"
/> />

View File

@ -53,7 +53,7 @@
<el-form-item label="审批内容" prop="files"> <el-form-item label="审批内容" prop="files">
<FileUpload <FileUpload
@input="fileInput" @input="fileInput"
:limit="30" :limit="18"
:fileType="['pdf', 'png', 'jpg', 'jpeg']" :fileType="['pdf', 'png', 'jpg', 'jpeg']"
/> />
</el-form-item> </el-form-item>

View File

@ -116,11 +116,12 @@
</el-form-item> </el-form-item>
<el-form-item label="审批内容"> <el-form-item label="审批内容">
<div v-for="(file, index) in initData.files" :key="index"> <div v-for="(file, index) in initData.files" :key="index">
<el-link <el-button
type="primary" size="mini"
type="text"
icon="el-icon-paperclip" icon="el-icon-paperclip"
@click="handledownload(file)" @click="handledownload(file)"
>{{ file.substring(file.lastIndexOf("/") + 1) }}</el-link >{{ file.substring(file.lastIndexOf("/") + 1) }}</el-button
> >
</div> </div>
</el-form-item> </el-form-item>
@ -254,7 +255,7 @@ export default {
returnTaskList: [], // 退 returnTaskList: [], // 退
returnTask: false, returnTask: false,
returnTaskBtn: false, returnTaskBtn: false,
fileTypes: ["pdf", "png", "jpg", "jpeg"], fileTypes:['pdf','png','jpg','jpeg'],
}; };
}, },
computed: {}, computed: {},
@ -618,11 +619,9 @@ export default {
}, },
handledownload(url) { handledownload(url) {
let fileType = url.split("."); let fileType = url.split(".");
if ( if(this.fileTypes.indexOf(fileType[fileType.length-1].toLocaleLowerCase())>-1){
this.fileTypes.indexOf(fileType[fileType.length - 1].toLocaleLowerCase()) > -1 window.open(process.env.VUE_APP_BASE_API+url);
) { }else{
window.open(process.env.VUE_APP_BASE_API + url);
} else {
this.$download.resource(url); this.$download.resource(url);
} }
}, },
@ -672,10 +671,6 @@ export default {
height: 100%; height: 100%;
float: left; float: left;
padding-left: 20px; padding-left: 20px;
.el-link .el-link--inner{
word-break: break-all !important;
}
} }
} }
.containers { .containers {

View File

@ -1,78 +1,78 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form <el-form
:model="queryParams" :model="queryParams"
ref="queryForm" ref="queryForm"
size="small" size="small"
:inline="true" :inline="true"
v-show="showSearch" v-show="showSearch"
label-width="68px" label-width="68px"
> >
<el-form-item label="项目名称" prop="projectName"> <el-form-item label="项目名称" prop="projectName">
<el-input <el-input
v-model="queryParams.projectName" v-model="queryParams.projectName"
placeholder="请输入项目名称" placeholder="请输入项目名称"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="项目分类" prop="projectType">
<el-select
v-model="queryParams.projectType"
placeholder="请选择项目分类"
clearable
>
<el-option
v-for="dict in dict.type.project_category"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/> />
</el-select> </el-form-item>
</el-form-item> <el-form-item label="项目分类" prop="projectType">
<el-form-item label="建设类型" prop="projectNature"> <el-select
<el-select v-model="queryParams.projectType"
v-model="queryParams.projectNature" placeholder="请选择项目分类"
placeholder="请选择项目建设类型" clearable
clearable >
> <el-option
<el-option v-for="dict in dict.type.project_category"
v-for="dict in dict.type.project_build_type" :key="dict.value"
:key="dict.value" :label="dict.label"
:label="dict.label" :value="dict.value"
:value="dict.value" />
/> </el-select>
</el-select> </el-form-item>
</el-form-item> <el-form-item label="建设类型" prop="projectNature">
<el-form-item label="责任主体" prop="deptId" v-hasPermi="['project:project:zgs']"> <el-select
<el-select v-model="queryParams.deptId" placeholder="请选择责任主体" clearable> v-model="queryParams.projectNature"
<el-option placeholder="请选择项目建设类型"
v-for="dict in depts" clearable
:key="dict.deptId" >
:label="dict.deptName" <el-option
:value="dict.deptId" v-for="dict in dict.type.project_build_type"
></el-option> :key="dict.value"
</el-select> :label="dict.label"
</el-form-item> :value="dict.value"
<el-form-item label="汇总时间"> />
<el-date-picker </el-select>
v-model="daterangeTime" </el-form-item>
style="width: 240px" <el-form-item label="责任主体" prop="deptId" v-hasPermi="['project:project:zgs']">
value-format="yyyy-MM-dd" <el-select v-model="queryParams.deptId" placeholder="请选择责任主体" clearable>
type="daterange" <el-option
range-separator="-" v-for="dict in depts"
start-placeholder="开始日期" :key="dict.deptId"
end-placeholder="结束日期" :label="dict.deptName"
:value="dict.deptId"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="汇总时间">
<el-date-picker
v-model="daterangeTime"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
>搜索</el-button >搜索</el-button
> >
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="warning" type="warning"
@ -85,403 +85,240 @@
> >
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table <el-table
v-loading="loading" v-loading="loading"
:data="dataList" :data="dataList"
:span-method="objectSpanMethod" :span-method="objectSpanMethod"
height="700" height="700"
stripe stripe border
border >
> <el-table-column
<el-table-column label="项目名称"
label="项目名称" align="left"
align="left" prop="projectName"
prop="projectName" width="180"
width="180" class-name="small-padding fixed-width"
class-name="small-padding fixed-width" fixed="left"
fixed="left" show-overflow-tooltip
show-overflow-tooltip />
/> <el-table-column label="参建单位" align="left" fixed="left" prop="unitName" width="163" show-overflow-tooltip/>
<el-table-column <el-table-column label="项目详情" align="center">
label="参建单位" <el-table-column label="劳务实名制" align="center">
align="left" <el-table-column label="劳务人员" align="center" prop="lwry" width="90" show-overflow-tooltip/>
fixed="left" <el-table-column label="实名制接入" align="center" prop="lwsm" width="90">
prop="unitName" <template slot-scope="scope">
width="163" <el-tag v-if="scope.row.lwsm==1" type="success" effect="dark"></el-tag>
show-overflow-tooltip <el-tag v-if="scope.row.lwsm==0" type="danger" effect="dark"></el-tag>
/> </template>
<el-table-column label="项目详情" align="center"> </el-table-column>
<el-table-column label="劳务实名制" align="center"> </el-table-column>
<el-table-column <el-table-column label="节点预警" align="center" prop="jdyj" width="90">
label="劳务人员"
align="center"
prop="lwry"
width="90"
show-overflow-tooltip
/>
<el-table-column label="实名制接入" align="center" prop="lwsm" width="90">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.lwsm == 1" type="success" effect="dark" <el-tag v-if="scope.row.jdyj==1" type="success" effect="dark"></el-tag>
>已接入</el-tag <el-tag v-if="scope.row.jdyj==2" type="danger" effect="dark"></el-tag>
>
<el-tag v-if="scope.row.lwsm == 0" type="danger" effect="dark"
>未接入</el-tag
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="环境检测" align="center" prop="hjjc" width="90">
<template slot-scope="scope">
<el-tag v-if="scope.row.hjjc==1" type="success" effect="dark"></el-tag>
<el-tag v-if="scope.row.hjjc==0" type="danger" effect="dark"></el-tag>
</template>
</el-table-column>
<el-table-column label="项目预警" align="center">
<el-table-column label="AI预警" align="center" prop="aiyjs" width="90" show-overflow-tooltip/>
<el-table-column label="安全预警" align="center" prop="aqyjs" width="90" show-overflow-tooltip/>
<el-table-column label="质量预警" align="center" prop="zlyjs" width="90" show-overflow-tooltip/>
<el-table-column label="环境预警" align="center" prop="hjyjs" width="90" show-overflow-tooltip/>
</el-table-column>
</el-table-column> </el-table-column>
<el-table-column label="节点预警" align="center" prop="jdyj" width="90"> <el-table-column label="安全管理" align="center">
<template slot-scope="scope"> <el-table-column label="安责险" align="center" prop="azx" width="80" show-overflow-tooltip>
<el-tag v-if="scope.row.jdyj == 1" type="success" effect="dark"></el-tag> <template slot-scope="scope">
<el-tag v-if="scope.row.jdyj == 2" type="danger" effect="dark"></el-tag> <el-tag v-if="scope.row.azx==1" type="success" effect="dark"></el-tag>
</template> <el-tag v-if="scope.row.azx==0" type="danger" effect="dark"></el-tag>
</template>
</el-table-column>
<el-table-column label="一切险" align="center" prop="yqx" width="80" show-overflow-tooltip>
<template slot-scope="scope">
<el-tag v-if="scope.row.yqx==1" type="success" effect="dark"></el-tag>
<el-tag v-if="scope.row.yqx==0" type="danger" effect="dark"></el-tag>
</template>
</el-table-column>
<el-table-column label="安全隐患排查" align="center">
<el-table-column label="甲方代表" align="center" prop="aqyhpc_jfdb" width="90" show-overflow-tooltip/>
<el-table-column label="监理单位" align="center" prop="aqyhpc_jldw" width="90" show-overflow-tooltip/>
<el-table-column label="总包单位" align="center" prop="aqyhpc_zbdw" width="90" show-overflow-tooltip/>
</el-table-column>
<el-table-column label="特种人员" align="center" prop="tzry" width="90" show-overflow-tooltip/>
<el-table-column label="应急演练" align="center" prop="yjyl" width="90" show-overflow-tooltip/>
<el-table-column label="教育培训" align="center" prop="zxpx" width="90" show-overflow-tooltip/>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="质量管理" align="center">
label="劳资预警" <el-table-column label="质量隐患排查" align="center">
align="center" <el-table-column label="甲方代表" align="center" prop="zlyhpc_jfdb" width="90" show-overflow-tooltip/>
prop="lzyjs" <el-table-column label="监理单位" align="center" prop="zlyhpc_jldw" width="90" show-overflow-tooltip/>
width="90" <el-table-column label="总包单位" align="center" prop="zlyhpc_zbdw" width="90" show-overflow-tooltip/>
show-overflow-tooltip </el-table-column>
/> <el-table-column label="取样复试" align="center" prop="clqyfs" width="90" show-overflow-tooltip/>
<el-table-column label="项目预警" align="center"> <el-table-column label="材料封样" align="center" prop="clfy" width="90" show-overflow-tooltip/>
<el-table-column <el-table-column label="实测实量" align="center" prop="cscl" width="90" show-overflow-tooltip/>
label="AI预警" <el-table-column label="举牌验收" align="center" prop="jpys" width="90" show-overflow-tooltip/>
align="center"
prop="aiyjs"
width="90"
show-overflow-tooltip
/>
<el-table-column
label="安全预警"
align="center"
prop="aqyjs"
width="90"
show-overflow-tooltip
/>
<el-table-column
label="质量预警"
align="center"
prop="zlyjs"
width="90"
show-overflow-tooltip
/>
<el-table-column
label="环境预警"
align="center"
prop="hjyjs"
width="90"
show-overflow-tooltip
/>
</el-table-column> </el-table-column>
</el-table-column> <el-table-column label="视频监控" align="center">
<el-table-column label="安全管理" align="center"> <el-table-column label="实时监控" align="center" prop="ssjk" width="90">
<el-table-column <template slot-scope="scope">
label="安责险" <el-tag v-if="scope.row.ssjk!=0" type="success" effect="dark"></el-tag>
align="center" <el-tag v-if="scope.row.ssjk==0" type="danger" effect="dark"></el-tag>
prop="azx" </template>
width="80" </el-table-column>
show-overflow-tooltip <el-table-column label="AI监控" align="center" prop="aijk" width="90">
> <template slot-scope="scope">
<template slot-scope="scope"> <el-tag v-if="scope.row.aijk==1" type="success" effect="dark"></el-tag>
<el-tag v-if="scope.row.azx == 1" type="success" effect="dark"></el-tag> <el-tag v-if="scope.row.aijk==0" type="danger" effect="dark"></el-tag>
<el-tag v-if="scope.row.azx == 0" type="danger" effect="dark"></el-tag> </template>
</template> </el-table-column>
<el-table-column label="项目全景" align="center" prop="yssys" width="120" show-overflow-tooltip/>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="工程管理" align="center">
label="一切险" <el-table-column label="项目标准化" align="center" prop="bzh" width="120" show-overflow-tooltip/>
align="center" <el-table-column label="审批进行中" align="center" prop="gcsq" width="120" show-overflow-tooltip/>
prop="yqx" <el-table-column label="审批已完成" align="center" prop="gcsp" width="120" show-overflow-tooltip/>
width="80"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tag v-if="scope.row.yqx == 1" type="success" effect="dark"></el-tag>
<el-tag v-if="scope.row.yqx == 0" type="danger" effect="dark"></el-tag>
</template>
</el-table-column> </el-table-column>
<el-table-column label="安全隐患排查" align="center"> </el-table>
<el-table-column </div>
label="甲方代表" </template>
align="center"
prop="aqyhpc_jfdb"
width="90"
show-overflow-tooltip
/>
<el-table-column
label="监理单位"
align="center"
prop="aqyhpc_jldw"
width="90"
show-overflow-tooltip
/>
<el-table-column
label="总包单位"
align="center"
prop="aqyhpc_zbdw"
width="90"
show-overflow-tooltip
/>
</el-table-column>
<el-table-column
label="特种人员"
align="center"
prop="tzry"
width="90"
show-overflow-tooltip
/>
<el-table-column
label="应急演练"
align="center"
prop="yjyl"
width="90"
show-overflow-tooltip
/>
<el-table-column
label="教育培训"
align="center"
prop="zxpx"
width="90"
show-overflow-tooltip
/>
</el-table-column>
<el-table-column label="质量管理" align="center">
<el-table-column label="质量隐患排查" align="center">
<el-table-column
label="甲方代表"
align="center"
prop="zlyhpc_jfdb"
width="90"
show-overflow-tooltip
/>
<el-table-column
label="监理单位"
align="center"
prop="zlyhpc_jldw"
width="90"
show-overflow-tooltip
/>
<el-table-column
label="总包单位"
align="center"
prop="zlyhpc_zbdw"
width="90"
show-overflow-tooltip
/>
</el-table-column>
<el-table-column
label="取样复试"
align="center"
prop="clqyfs"
width="90"
show-overflow-tooltip
/>
<el-table-column
label="材料封样"
align="center"
prop="clfy"
width="90"
show-overflow-tooltip
/>
<el-table-column
label="实测实量"
align="center"
prop="cscl"
width="90"
show-overflow-tooltip
/>
<el-table-column
label="举牌验收"
align="center"
prop="jpys"
width="90"
show-overflow-tooltip
/>
</el-table-column>
<el-table-column label="视频监控" align="center">
<el-table-column label="实时监控" align="center" prop="ssjk" width="90">
<template slot-scope="scope">
<el-tag v-if="scope.row.ssjk != 0" type="success" effect="dark"
>已开通</el-tag
>
<el-tag v-if="scope.row.ssjk == 0" type="danger" effect="dark"></el-tag>
</template>
</el-table-column>
<el-table-column label="AI监控" align="center" prop="aijk" width="90">
<template slot-scope="scope">
<el-tag v-if="scope.row.aijk == 1" type="success" effect="dark"
>已开通</el-tag
>
<el-tag v-if="scope.row.aijk == 0" type="danger" effect="dark"></el-tag>
</template>
</el-table-column>
<el-table-column
label="项目全景"
align="center"
prop="yssys"
width="120"
show-overflow-tooltip
/>
</el-table-column>
<el-table-column label="工程管理" align="center">
<el-table-column
label="项目标准化"
align="center"
prop="bzh"
width="120"
show-overflow-tooltip
/>
<el-table-column
label="审批进行中"
align="center"
prop="gcsq"
width="120"
show-overflow-tooltip
/>
<el-table-column
label="审批已完成"
align="center"
prop="gcsp"
width="120"
show-overflow-tooltip
/>
</el-table-column>
</el-table>
</div>
</template>
<script> <script>
import { import {
selectStatisticsProjectList, selectStatisticsProjectList, exportView
exportView, } from "@/api/statistics/statisticsProject";
} from "@/api/statistics/statisticsProject"; import axios from 'axios';
import axios from "axios"; import { saveAs } from 'file-saver';
import { saveAs } from "file-saver"; import { getToken } from '@/utils/auth'
import { getToken } from "@/utils/auth";
export default { export default {
name: "statisticsProject", name: "statisticsProject",
components: {}, components: {},
dicts: ["project_build_type", "project_category"], dicts: [
data() { "project_build_type",
return { "project_category",
// ],
loading: true, data() {
//
showSearch: true,
//
total: 0,
//
queryParams: {
projectName: null,
projectType: "1",
projectNature: null,
deptId: null,
},
//
form: {},
//
rules: {},
depts: [],
dataList: [],
daterangeTime: [],
};
},
created() {
this.getList();
this.$api.publics.getZgsDeptList().then((d) => {
this.depts = d?.data || [];
});
},
methods: {
/** 查询项目管理列表 */
getList() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangeTime && "" != this.daterangeTime) {
this.queryParams.params["beginTime"] = this.daterangeTime[0];
this.queryParams.params["endTime"] = this.daterangeTime[1];
}
selectStatisticsProjectList(this.queryParams).then((response) => {
this.dataList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
// column.propertykey
let _row = 1;
if ([0, 4, 7, 8, 12, 13, 18, 19, 27].includes(columnIndex)) {
var spanArr = this.getSpanArr(column.property);
_row = spanArr[rowIndex];
}
const _col = _row > 0 ? 1 : 0;
return { return {
rowspan: _row, //
colspan: _col, loading: true,
//
showSearch: true,
//
total: 0,
//
queryParams: {
projectName: null,
projectType: "1",
projectNature: null,
deptId: null,
},
//
form: {},
//
rules: {},
depts: [],
dataList:[],
daterangeTime:[],
}; };
}, },
// created() {
getSpanArr(spanKey) { this.getList();
let data = this.dataList; this.$api.publics.getZgsDeptList().then((d) => {
var spanArr = []; this.depts = d?.data || [];
var pos = "";
for (var i = 0; i < data.length; i++) {
if (i === 0) {
spanArr.push(1);
pos = 0;
} else {
//
if (
data[i][spanKey] === data[i - 1][spanKey] &&
data[i].projectId === data[i - 1].projectId
) {
spanArr[pos] += 1;
spanArr.push(0);
} else {
spanArr.push(1);
pos = i;
}
}
}
return spanArr;
},
/** 导出按钮操作 */
handleExport() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangeTime && "" != this.daterangeTime) {
this.queryParams.params["beginTime"] = this.daterangeTime[0];
this.queryParams.params["endTime"] = this.daterangeTime[1];
}
let url = process.env.VUE_APP_BASE_API + "/statistics/project/exportView";
axios({
method: "post",
url: url,
data: this.queryParams,
responseType: "blob",
headers: { Authorization: "Bearer " + getToken() },
}).then((res) => {
this.loading = false;
let timeStamp = new Date().getTime();
const blob = new Blob([res.data], {
type: "application/vnd.ms-excel;charset=utf-8",
});
this.saveAs(blob, decodeURIComponent("项目汇总数据_" + timeStamp + ".xlsx"));
}); });
}, },
saveAs(text, name, opts) { methods: {
saveAs(text, name, opts); /** 查询项目管理列表 */
getList() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangeTime && "" != this.daterangeTime) {
this.queryParams.params["beginTime"] = this.daterangeTime[0];
this.queryParams.params["endTime"] = this.daterangeTime[1];
}
selectStatisticsProjectList(this.queryParams).then((response) => {
this.dataList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
// column.propertykey
let _row = 1;
if([0,4,7,8,12,13,18,19,27].includes(columnIndex)){
var spanArr = this.getSpanArr(column.property);
_row = spanArr[rowIndex];
}
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
},
//
getSpanArr(spanKey) {
let data = this.dataList;
var spanArr = [];
var pos = "";
for (var i = 0; i < data.length; i++) {
if (i === 0) {
spanArr.push(1);
pos = 0;
} else {
//
if (data[i][spanKey] === data[i - 1][spanKey] && data[i].projectId === data[i - 1].projectId) {
spanArr[pos] += 1;
spanArr.push(0);
} else {
spanArr.push(1);
pos = i;
}
}
}
return spanArr;
},
/** 导出按钮操作 */
handleExport() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangeTime && "" != this.daterangeTime) {
this.queryParams.params["beginTime"] = this.daterangeTime[0];
this.queryParams.params["endTime"] = this.daterangeTime[1];
}
let url = process.env.VUE_APP_BASE_API + '/statistics/project/exportView';
axios({
method: 'post',
url: url,
data: this.queryParams,
responseType: 'blob',
headers: { 'Authorization': 'Bearer ' + getToken() }
}).then((res) => {
this.loading = false;
let timeStamp = new Date().getTime();
const blob = new Blob([res.data], { type: 'application/vnd.ms-excel;charset=utf-8' })
this.saveAs(blob, decodeURIComponent('项目汇总数据_'+timeStamp+'.xlsx'))
})
},
saveAs(text, name, opts) {
saveAs(text, name, opts);
},
}, },
}, };
}; </script>
</script>

View File

@ -14,22 +14,24 @@ import com.yanzhu.jh.project.domain.SurProject;
import com.yanzhu.jh.project.domain.vo.ProjectViewExport; import com.yanzhu.jh.project.domain.vo.ProjectViewExport;
import com.yanzhu.jh.project.domain.vo.ProjectViewJlExport; import com.yanzhu.jh.project.domain.vo.ProjectViewJlExport;
import com.yanzhu.jh.project.service.IProjectViewService; import com.yanzhu.jh.project.service.IProjectViewService;
import org.apache.poi.ss.usermodel.Cell; import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream; import java.io.BufferedOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -307,7 +309,7 @@ public class ProjectViewController extends BaseBuildNodeController{
tempCell.setCellStyle(headerStyle); tempCell.setCellStyle(headerStyle);
tempCell = tempRow.createCell(5); tempCell = tempRow.createCell(5);
tempCell.setCellValue("劳资预警"); tempCell.setCellValue("环境检测");
tempCell.setCellStyle(headerStyle); tempCell.setCellStyle(headerStyle);
tempCell = tempRow.createCell(6); tempCell = tempRow.createCell(6);
@ -491,7 +493,7 @@ public class ProjectViewController extends BaseBuildNodeController{
tempCell.setCellStyle(contentStyle); tempCell.setCellStyle(contentStyle);
tempCell = tempRow.createCell(5); tempCell = tempRow.createCell(5);
tempCell.setCellValue(Convert.toStr(view.getLzyjs(),"0")); tempCell.setCellValue(view.getHjjc().equals("0")?"未接入":"已接入");
tempCell.setCellStyle(contentStyle); tempCell.setCellStyle(contentStyle);
tempCell = tempRow.createCell(6); tempCell = tempRow.createCell(6);

View File

@ -87,9 +87,7 @@ public class ProjectViewExport implements Serializable {
private String jdyj; private String jdyj;
@Excel(name = "劳资预警", width = 20,align = HorizontalAlignment.CENTER) private String hjjc;
private String lzyjs;
private String hjyjs; private String hjyjs;
private String zlyjs; private String zlyjs;
private String aqyjs; private String aqyjs;
@ -328,12 +326,12 @@ public class ProjectViewExport implements Serializable {
this.jdyj = jdyj; this.jdyj = jdyj;
} }
public String getLzyjs() { public String getHjjc() {
return lzyjs; return hjjc;
} }
public void setLzyjs(String lzyjs) { public void setHjjc(String hjjc) {
this.lzyjs = lzyjs; this.hjjc = hjjc;
} }
public String getHjyjs() { public String getHjyjs() {

View File

@ -43,7 +43,7 @@
(select count(1) from vw_flow_all a where a.businessKey = sp.id and a.startDeptName = pui.unitName and a.finishTime is not null)as gcsp, (select count(1) from vw_flow_all a where a.businessKey = sp.id and a.startDeptName = pui.unitName and a.finishTime is not null)as gcsp,
(select count(1) from sur_project_standard a where a.project_id = sp.id and a.dept_id = pui.unitId and a.is_del=0)as bzh, (select count(1) from sur_project_standard a where a.project_id = sp.id and a.dept_id = pui.unitId and a.is_del=0)as bzh,
(select count(1) from sur_project_photography a where a.project_id = sp.id and a.is_del=0)as yssys, (select count(1) from sur_project_photography a where a.project_id = sp.id and a.is_del=0)as yssys,
(select count(1) from flow_labour_info a where a.project_id = sp.id and a.deptId=pui.unitId and a.is_del=0) as lzyjs, '0' as hjjc,
'0' as hjyjs, '0' as hjyjs,
(select count(1) from smz_ssp_problemmodify a where a.projectId=sp.id and a.infoType=1 and a.isDel=0 and a.checkState!=4 and date(NOW())<![CDATA[ > ]]> date(a.nickedTime)) as zlyjs, (select count(1) from smz_ssp_problemmodify a where a.projectId=sp.id and a.infoType=1 and a.isDel=0 and a.checkState!=4 and date(NOW())<![CDATA[ > ]]> date(a.nickedTime)) as zlyjs,
(select count(1) from smz_ssp_problemmodify a where a.projectId=sp.id and a.infoType=0 and a.isDel=0 and a.checkState!=4 and date(NOW())<![CDATA[ > ]]> date(a.nickedTime)) as aqyjs, (select count(1) from smz_ssp_problemmodify a where a.projectId=sp.id and a.infoType=0 and a.isDel=0 and a.checkState!=4 and date(NOW())<![CDATA[ > ]]> date(a.nickedTime)) as aqyjs,