|
@ -1,103 +1,100 @@ |
|
|
<template> |
|
|
<template> |
|
|
<div class="statistics-container"> |
|
|
<div class="statistics-container"> |
|
|
<div class="filter-table-view"> |
|
|
<div class="filter-table-view"> |
|
|
<el-form ref="filterForm" :inline="true"> |
|
|
<el-form ref="filterForm" |
|
|
<el-form-item label="提交时间" prop="endDateTime"> |
|
|
:inline="true"> |
|
|
<el-date-picker |
|
|
<el-form-item label="提交时间" |
|
|
v-model="queryConditions.beginDateTime" |
|
|
prop="endDateTime"> |
|
|
|
|
|
<el-date-picker v-model="queryConditions.beginDateTime" |
|
|
placeholder="开始时间" |
|
|
placeholder="开始时间" |
|
|
type="datetime" |
|
|
type="datetime" |
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
value-format="yyyy-MM-dd HH:mm:ss" /> |
|
|
/> |
|
|
|
|
|
<span> 至 </span> |
|
|
<span> 至 </span> |
|
|
<el-date-picker |
|
|
<el-date-picker v-model="queryConditions.endDateTime" |
|
|
v-model="queryConditions.endDateTime" |
|
|
|
|
|
:default-time="'23:59:59'" |
|
|
:default-time="'23:59:59'" |
|
|
placeholder="结束时间" |
|
|
placeholder="结束时间" |
|
|
type="datetime" |
|
|
type="datetime" |
|
|
value-format="yyyy-MM-dd HH:mm:ss" |
|
|
value-format="yyyy-MM-dd HH:mm:ss" /> |
|
|
/> |
|
|
|
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item> |
|
|
<el-form-item> |
|
|
<el-button type="primary" @click="queryProjectResult">查询</el-button> |
|
|
<el-button type="primary" |
|
|
<el-button type="primary" @click="conditionFilterHandle">条件</el-button> |
|
|
@click="queryProjectResult">查询</el-button> |
|
|
<el-button type="success" @click="exportProjectResult">导出</el-button> |
|
|
<el-button type="primary" |
|
|
<el-button type="success" @click="downloadProjectResultFile">下载附件</el-button> |
|
|
@click="conditionFilterHandle">条件</el-button> |
|
|
|
|
|
<el-button type="success" |
|
|
|
|
|
@click="exportProjectResult">导出</el-button> |
|
|
|
|
|
<el-button type="success" |
|
|
|
|
|
@click="downloadProjectResultFile">下载附件</el-button> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
</div> |
|
|
</div> |
|
|
<div class="result-table-view"> |
|
|
<div class="result-table-view"> |
|
|
<el-table |
|
|
<el-table :data="projectResultList" |
|
|
:data="projectResultList" |
|
|
|
|
|
header-cell-class-name="data-table-header" |
|
|
header-cell-class-name="data-table-header" |
|
|
stripe |
|
|
stripe |
|
|
@row-dblclick="(row, column, event)=>{ |
|
|
@row-dblclick="(row, column, event)=>{ |
|
|
this.openDetailDrawerHandle(row) |
|
|
this.openDetailDrawerHandle(row) |
|
|
}" |
|
|
}"> |
|
|
> |
|
|
<el-table-column type="selection" |
|
|
<el-table-column |
|
|
width="55" /> |
|
|
type="selection" |
|
|
<el-table-column v-for="col in fixedCustomColumns" |
|
|
width="55" |
|
|
:key="`t${col}`" |
|
|
/> |
|
|
:label="fixedDefaultLabelFormColumn[col]"> |
|
|
<el-table-column |
|
|
|
|
|
v-for="col in fixedCustomColumns" :key="`t${col}`" |
|
|
|
|
|
:label="fixedDefaultLabelFormColumn[col]" |
|
|
|
|
|
> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
{{ scope.row[col] }} |
|
|
{{ scope.row[col] }} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
|
|
|
|
|
|
<el-table-column label="填写人" prop="realName" /> |
|
|
<el-table-column label="填写人" |
|
|
<el-table-column label="组织/部门/网格" prop="orgName" /> |
|
|
prop="realName" /> |
|
|
<el-table-column label="来源" prop="clientType" /> |
|
|
<el-table-column label="组织/部门/网格" |
|
|
|
|
|
prop="orgName" /> |
|
|
|
|
|
<el-table-column label="来源" |
|
|
|
|
|
prop="clientType" /> |
|
|
<!-- <el-table-column label="填写时间" prop="createdTime" /> --> |
|
|
<!-- <el-table-column label="填写时间" prop="createdTime" /> --> |
|
|
|
|
|
|
|
|
<el-table-column |
|
|
<el-table-column v-for="col in otherCustomColumns" |
|
|
v-for="col in otherCustomColumns" |
|
|
:key="col" |
|
|
:key="col" :label="projectItemColumns[col]" |
|
|
:label="projectItemColumns[col]" |
|
|
show-overflow-tooltip |
|
|
show-overflow-tooltip> |
|
|
> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
{{ scope.row['processData'][col] }} |
|
|
{{ scope.row['processData'][col] }} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
|
|
|
|
|
|
<el-table-column |
|
|
<el-table-column v-for="col in fixedFormTailColumns" |
|
|
v-for="col in fixedFormTailColumns" :key="`t${col}`" |
|
|
:key="`t${col}`" |
|
|
:label="fixedDefaultLabelFormTailColumn[col]" |
|
|
:label="fixedDefaultLabelFormTailColumn[col]"> |
|
|
> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
{{ scope.row[col] }} |
|
|
{{ scope.row[col] }} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<!-- :render-header="renderHeader" --> |
|
|
<!-- :render-header="renderHeader" --> |
|
|
<el-table-column |
|
|
<el-table-column fixed="right" |
|
|
|
|
|
width="50"> |
|
|
fixed="right" |
|
|
|
|
|
width="50" |
|
|
|
|
|
> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<el-button size="small" type="text" @click="openDetailDrawerHandle(scope.row)">查看</el-button> |
|
|
<el-button size="small" |
|
|
|
|
|
type="text" |
|
|
|
|
|
@click="openDetailDrawerHandle(scope.row)">查看</el-button> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
|
<el-drawer |
|
|
<el-drawer v-if="activeResultRow" |
|
|
v-if="activeResultRow" |
|
|
|
|
|
:visible.sync="detailDrawer" |
|
|
:visible.sync="detailDrawer" |
|
|
:with-header="false" |
|
|
:with-header="false"> |
|
|
> |
|
|
|
|
|
<el-scrollbar style="height: 100%;"> |
|
|
<el-scrollbar style="height: 100%;"> |
|
|
<el-card class="detail-container"> |
|
|
<el-card class="detail-container"> |
|
|
<div slot="header" class="clearfix"> |
|
|
<div slot="header" |
|
|
|
|
|
class="clearfix"> |
|
|
<span>提交详情</span> |
|
|
<span>提交详情</span> |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div> |
|
|
<div v-for="item in projectItemList" :key="item.id"> |
|
|
<div v-for="item in projectItemList" |
|
|
|
|
|
:key="item.id"> |
|
|
<h4>{{ item.label }}</h4> |
|
|
<h4>{{ item.label }}</h4> |
|
|
<result-item :field-item-id="Number(item.formItemId)" :project-item-data="item" |
|
|
<result-item :field-item-id="Number(item.formItemId)" |
|
|
:result-data="activeResultRow" |
|
|
:project-item-data="item" |
|
|
/> |
|
|
:result-data="activeResultRow" /> |
|
|
<el-divider /> |
|
|
<el-divider /> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
@ -105,19 +102,19 @@ |
|
|
</el-scrollbar> |
|
|
</el-scrollbar> |
|
|
</el-drawer> |
|
|
</el-drawer> |
|
|
<div style="display: flex; justify-content: center; margin-top: 10px;"> |
|
|
<div style="display: flex; justify-content: center; margin-top: 10px;"> |
|
|
<el-pagination |
|
|
<el-pagination v-if="total>10" |
|
|
v-if="total>10" |
|
|
|
|
|
:current-page.sync="queryConditions.current" |
|
|
:current-page.sync="queryConditions.current" |
|
|
:page-size.sync="queryConditions.size" |
|
|
:page-size.sync="queryConditions.size" |
|
|
:total="total" |
|
|
:total="total" |
|
|
background |
|
|
background |
|
|
layout="total, prev, pager, next" |
|
|
layout="total, prev, pager, next" |
|
|
@current-change="queryProjectResult" |
|
|
@current-change="queryProjectResult" /> |
|
|
/> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="custom-col-container"> |
|
|
<div class="custom-col-container"> |
|
|
<el-dialog :visible.sync="customColumnDialogVisible" center title="自定义显示列"> |
|
|
<el-dialog :visible.sync="customColumnDialogVisible" |
|
|
|
|
|
center |
|
|
|
|
|
title="自定义显示列"> |
|
|
<el-row> |
|
|
<el-row> |
|
|
<el-col :span="3"> |
|
|
<el-col :span="3"> |
|
|
<span>显示列:</span> |
|
|
<span>显示列:</span> |
|
@ -126,7 +123,9 @@ |
|
|
<el-divider /> |
|
|
<el-divider /> |
|
|
<el-checkbox-group v-model="checkedFixedCustomColumns"> |
|
|
<el-checkbox-group v-model="checkedFixedCustomColumns"> |
|
|
<el-row> |
|
|
<el-row> |
|
|
<el-col v-for="(val, key) in fixedDefaultLabelFormColumn" :key="key" :span="4"> |
|
|
<el-col v-for="(val, key) in fixedDefaultLabelFormColumn" |
|
|
|
|
|
:key="key" |
|
|
|
|
|
:span="4"> |
|
|
<el-checkbox :label="key">{{ val }}</el-checkbox> |
|
|
<el-checkbox :label="key">{{ val }}</el-checkbox> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
@ -134,7 +133,9 @@ |
|
|
<el-divider /> |
|
|
<el-divider /> |
|
|
<el-checkbox-group v-model="checkOtherCustomColumns"> |
|
|
<el-checkbox-group v-model="checkOtherCustomColumns"> |
|
|
<el-row> |
|
|
<el-row> |
|
|
<el-col v-for="(val, key) in projectItemColumns" :key="key" :span="8"> |
|
|
<el-col v-for="(val, key) in projectItemColumns" |
|
|
|
|
|
:key="key" |
|
|
|
|
|
:span="8"> |
|
|
<el-checkbox :label="key">{{ val }}</el-checkbox> |
|
|
<el-checkbox :label="key">{{ val }}</el-checkbox> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
@ -142,18 +143,24 @@ |
|
|
<el-divider /> |
|
|
<el-divider /> |
|
|
<el-checkbox-group v-model="checkedFixedTailCustomColumns"> |
|
|
<el-checkbox-group v-model="checkedFixedTailCustomColumns"> |
|
|
<el-row> |
|
|
<el-row> |
|
|
<el-col v-for="(val, key) in fixedDefaultLabelFormTailColumn" :key="key" :span="4"> |
|
|
<el-col v-for="(val, key) in fixedDefaultLabelFormTailColumn" |
|
|
|
|
|
:key="key" |
|
|
|
|
|
:span="4"> |
|
|
<el-checkbox :label="key">{{ val }}</el-checkbox> |
|
|
<el-checkbox :label="key">{{ val }}</el-checkbox> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
</el-checkbox-group> |
|
|
</el-checkbox-group> |
|
|
<span slot="footer" class="dialog-footer"> |
|
|
<span slot="footer" |
|
|
|
|
|
class="dialog-footer"> |
|
|
<el-button @click="customColumnDialogVisible = false">取 消</el-button> |
|
|
<el-button @click="customColumnDialogVisible = false">取 消</el-button> |
|
|
<el-button type="primary" @click="saveStatisticsCheckedColumns">确 定</el-button> |
|
|
<el-button type="primary" |
|
|
|
|
|
@click="saveStatisticsCheckedColumns">确 定</el-button> |
|
|
</span> |
|
|
</span> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
</div> |
|
|
</div> |
|
|
<data-filter ref="dataFilter" :fields="projectItemList" @filter="dataFilterHandle" /> |
|
|
<data-filter ref="dataFilter" |
|
|
|
|
|
:fields="projectItemList" |
|
|
|
|
|
@filter="dataFilterHandle" /> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
@ -289,10 +296,13 @@ export default { |
|
|
this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/project/result/download/file`, { |
|
|
this.$api.get(`${process.env.VUE_APP_API_ROOT_TDUCK}/user/project/result/download/file`, { |
|
|
params: this.queryConditions |
|
|
params: this.queryConditions |
|
|
}).then(res => { |
|
|
}).then(res => { |
|
|
|
|
|
|
|
|
this.$process({ |
|
|
this.$process({ |
|
|
message: '附件导出中', |
|
|
message: '附件导出中', |
|
|
key: res.data |
|
|
key: res.data |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
exportProjectResult () { |
|
|
exportProjectResult () { |
|
@ -386,5 +396,4 @@ export default { |
|
|
::v-deep .el-drawer__container ::-webkit-scrollbar { |
|
|
::v-deep .el-drawer__container ::-webkit-scrollbar { |
|
|
display: none; |
|
|
display: none; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
</style> |
|
|
</style> |
|
|