布局政策合规性项目审查流程
This commit is contained in:
+419
@@ -0,0 +1,419 @@
|
|||||||
|
<template>
|
||||||
|
<div style="margin-top: 10px">
|
||||||
|
<div class="tableTitle">
|
||||||
|
<div class="tableButton">
|
||||||
|
<el-button plain class="common-button-primary" size="mini" @click="handleSearchStandard">调取</el-button>
|
||||||
|
<el-button plain class="common-button-primary" size="mini" @click="handleDeleteStandard">删除</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="table-wrap">
|
||||||
|
<el-table
|
||||||
|
@selection-change="selectChange"
|
||||||
|
:data="infoTableDatas"
|
||||||
|
ref="multipleTable"
|
||||||
|
tooltip-effect="dark"
|
||||||
|
border
|
||||||
|
style="width: 100%; flex: auto;"
|
||||||
|
class="drag-table"
|
||||||
|
height="500px"
|
||||||
|
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
|
||||||
|
fontWeight: 'bold', height: '48px'}">
|
||||||
|
<el-table-column
|
||||||
|
type="selection"
|
||||||
|
width="55"
|
||||||
|
align="center">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="标准编号/政策编号"
|
||||||
|
show-overflow-tooltip
|
||||||
|
prop="lawCode"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
show-overflow-tooltip
|
||||||
|
prop="lawName"
|
||||||
|
label="标准名称/政策名称"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="productType"
|
||||||
|
width="200px"
|
||||||
|
align="center"
|
||||||
|
show-overflow-tooltip
|
||||||
|
label="产品类型">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="implTime"
|
||||||
|
align="center"
|
||||||
|
show-overflow-tooltip
|
||||||
|
width="160px"
|
||||||
|
label="实施日期">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="implRequire"
|
||||||
|
align="center"
|
||||||
|
width="200px"
|
||||||
|
show-overflow-tooltip
|
||||||
|
label="实施要求">
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<el-drawer ref="standard"
|
||||||
|
title="查询结果"
|
||||||
|
size="1000px"
|
||||||
|
:visible.sync="standardDrawer"
|
||||||
|
direction="rtl"
|
||||||
|
:before-close="handleReviseDrawerClose">
|
||||||
|
<div class="standard-content">
|
||||||
|
<div class="content">
|
||||||
|
<div class="standard-table-search">
|
||||||
|
<el-form :model="standardSearchForm" inline class="label-input-form search-area">
|
||||||
|
<el-form-item label="标准编号/政策编号" style="margin-right:10px" prop="lawsNumber"
|
||||||
|
class="search-item">
|
||||||
|
<el-input v-model="standardSearchForm.lawCode"
|
||||||
|
clearable placeholder="根据编号查找"
|
||||||
|
:maxlength="100"
|
||||||
|
@keyup.enter.native="getDomesticStandardTable"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="标准名称/政策名称" style="margin-right:10px" prop="lawsName"
|
||||||
|
class="search-item">
|
||||||
|
<el-input v-model="standardSearchForm.lawName"
|
||||||
|
placeholder="根据名称查找"
|
||||||
|
clearable
|
||||||
|
:maxlength="100"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="产品类型" style="margin-right:10px" prop="productType" class="search-item">
|
||||||
|
<el-select v-model="standardSearchForm.productType" filterable
|
||||||
|
clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="item in productTypeOptions"
|
||||||
|
placeholder="请选择"
|
||||||
|
:key="item.value"
|
||||||
|
:value="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button size="mini"
|
||||||
|
type="primary"
|
||||||
|
class="common-button-primary"
|
||||||
|
@click="getDomesticStandardTable">
|
||||||
|
查询
|
||||||
|
</el-button>
|
||||||
|
<el-button class="common-button-default"
|
||||||
|
size="mini"
|
||||||
|
@click="handleResetSearch">
|
||||||
|
清空
|
||||||
|
</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div class="standard-table-wrap">
|
||||||
|
<el-table
|
||||||
|
ref="reviseDrawerTable"
|
||||||
|
:data="standardData"
|
||||||
|
tooltip-effect="dark"
|
||||||
|
style="width: 100%;"
|
||||||
|
height="calc(100vh - 240px)"
|
||||||
|
border
|
||||||
|
class="drag-table"
|
||||||
|
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||||
|
@selection-change="standSelectChange">
|
||||||
|
<el-table-column
|
||||||
|
type="selection"
|
||||||
|
width="55"
|
||||||
|
align="center">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="lawCode"
|
||||||
|
width="200"
|
||||||
|
show-overflow-tooltip
|
||||||
|
label="标准编号/政策编号"
|
||||||
|
align="center">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="lawName"
|
||||||
|
show-overflow-tooltip
|
||||||
|
label="标准名称/政策名称"
|
||||||
|
align="center"
|
||||||
|
width="220px"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="productType"
|
||||||
|
label="产品类型"
|
||||||
|
show-overflow-tooltip
|
||||||
|
align="center">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="implTime"
|
||||||
|
label="实施时间"
|
||||||
|
show-overflow-tooltip
|
||||||
|
width="150"
|
||||||
|
align="center">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="implRequire"
|
||||||
|
label="实施要求"
|
||||||
|
show-overflow-tooltip
|
||||||
|
align="center">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" align="center" width="80">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button class="opera-btn"
|
||||||
|
size="mini"
|
||||||
|
type="primary"
|
||||||
|
@click="handlePreview(scope.row)">查看
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<pagination
|
||||||
|
:page="page"
|
||||||
|
:total="total"
|
||||||
|
@pageChange="handleStandardPageChange"
|
||||||
|
@pageSizeChange="handleStandardPageSizeChange"></pagination>
|
||||||
|
<loading :loading="loadSarStandard">数据获取中</loading>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="demo-drawer-footer">
|
||||||
|
<el-button round
|
||||||
|
class="common-button-primary"
|
||||||
|
icon="el-icon-check"
|
||||||
|
type="primary"
|
||||||
|
@click="handleProcessStandardNext(2)">带入
|
||||||
|
</el-button>
|
||||||
|
<el-button round
|
||||||
|
class="common-button-default"
|
||||||
|
icon="el-icon-close"
|
||||||
|
@click="handleProcessStandardNext(3)">取消
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</el-drawer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "fetchList",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
infoTableDatas: [],
|
||||||
|
standardDrawer: false,
|
||||||
|
standardSearchForm: {},
|
||||||
|
page: 1,
|
||||||
|
pageSize: this.$store.getters.userInfo.configContent,
|
||||||
|
total: 0,
|
||||||
|
loadSarStandard: false,
|
||||||
|
standardData: [],
|
||||||
|
selectedList: [],
|
||||||
|
standardCheckedList: [],
|
||||||
|
productTypeOptions: [
|
||||||
|
{
|
||||||
|
label: '树形结构',
|
||||||
|
value: 'TREE'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '下拉选项',
|
||||||
|
value: 'SEL_OPTION'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
deleteSelectedList: [],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 点击查看
|
||||||
|
handlePreview(item) {
|
||||||
|
let routeUrl = this.$router.resolve({
|
||||||
|
name: 'OtherLawsStandDetails',
|
||||||
|
params: {
|
||||||
|
id: item.id,
|
||||||
|
pageType: 'LAWS_STAND'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
window.open(routeUrl.href, '_blank')
|
||||||
|
},
|
||||||
|
selectChange(data) {
|
||||||
|
this.deleteSelectedList = []
|
||||||
|
for (let i = 0; i < data.length; i++) {
|
||||||
|
this.deleteSelectedList.push(data[i].id)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleSearchStandard() {
|
||||||
|
this.standardDrawer = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
// 动态设置表格高度
|
||||||
|
this.tableHeight.standardTableHeight = $('.standard-table-wrap').height()
|
||||||
|
window.onresize = () => {
|
||||||
|
this.tableHeight.standardTableHeight = $('.standard-table-wrap').height()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.handleResetSearch()
|
||||||
|
},
|
||||||
|
handleReviseDrawerClose(done) {
|
||||||
|
done()
|
||||||
|
},
|
||||||
|
handleResetSearch() {
|
||||||
|
this.page = 1
|
||||||
|
this.standardSearchForm = {}
|
||||||
|
this.getDomesticStandardTable()
|
||||||
|
},
|
||||||
|
handleStandardPageChange(page) {
|
||||||
|
this.page = page
|
||||||
|
this.getDomesticStandardTable()
|
||||||
|
},
|
||||||
|
handleStandardPageSizeChange(pageSize) {
|
||||||
|
this.page = 1
|
||||||
|
this.pageSize = this.$store.getters.userInfo.configContent
|
||||||
|
this.getDomesticStandardTable()
|
||||||
|
},
|
||||||
|
getDomesticStandardTable() {
|
||||||
|
this.loadSarStandard = true
|
||||||
|
let query = {
|
||||||
|
standType: 'INLAND',
|
||||||
|
...this.standardSearchForm,
|
||||||
|
page: this.page,
|
||||||
|
pageSize: this.pageSize
|
||||||
|
}
|
||||||
|
this.$http.get('sarIssueTrack/issueTrack', query, {_this: this}, res => {
|
||||||
|
this.loadSarStandard = false
|
||||||
|
if (res.ok) {
|
||||||
|
this.standardData = res.data.records
|
||||||
|
this.total = res.data.total
|
||||||
|
}
|
||||||
|
}, e => {
|
||||||
|
this.loadSarStandard = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
standSelectChange(data) {
|
||||||
|
this.selectedList = []
|
||||||
|
for (let i = 0; i < data.length; i++) {
|
||||||
|
this.selectedList.push(data[i].id)
|
||||||
|
}
|
||||||
|
this.standardCheckedList = data
|
||||||
|
},
|
||||||
|
handleProcessStandardNext(status) {
|
||||||
|
switch (status) {
|
||||||
|
case 2:
|
||||||
|
if (this.standardCheckedList && this.standardCheckedList.length >= 1) {
|
||||||
|
let exits = [];
|
||||||
|
this.standardCheckedList.map(item => {
|
||||||
|
let newStand = false;
|
||||||
|
for (let itemKey of this.infoTableDatas) {
|
||||||
|
if (item.id == itemKey.id) {
|
||||||
|
newStand = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (newStand) {
|
||||||
|
this.$message.warning("请勿重复添加数据");
|
||||||
|
} else {
|
||||||
|
this.infoTableDatas.push(item);
|
||||||
|
exits.push(item.id);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.standardDrawer = false
|
||||||
|
} else {
|
||||||
|
this.$message.warning('请选择要带入的数据')
|
||||||
|
}
|
||||||
|
break
|
||||||
|
// 取消
|
||||||
|
case 3:
|
||||||
|
this.selectedList = []
|
||||||
|
this.standardCheckedList = []
|
||||||
|
this.standardDrawer = false
|
||||||
|
break
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleDeleteStandard() {
|
||||||
|
this.$confirm('是否删除该数据?', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
|
//拿出deleteSelectedList里的每一个元素
|
||||||
|
this.deleteSelectedList.map(item => {
|
||||||
|
let index;
|
||||||
|
index = this.infoTableDatas.findIndex(items => {
|
||||||
|
//返回infoTableDatas里id和deleteSelectedList的id相同的元素对应的位置
|
||||||
|
return items.id === item;
|
||||||
|
});
|
||||||
|
//如果符合条件,就删除(==-1是没有符合条件的意思)
|
||||||
|
if (index > -1) {
|
||||||
|
this.infoTableDatas.splice(index, 1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.selectList = [];
|
||||||
|
this.$message({
|
||||||
|
type: 'success',
|
||||||
|
message: '删除成功!'
|
||||||
|
});
|
||||||
|
}).catch(() => {
|
||||||
|
this.$message({
|
||||||
|
type: 'info',
|
||||||
|
message: '已取消删除'
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.standard-content {
|
||||||
|
height: 100%;
|
||||||
|
padding: 10px 0 0;
|
||||||
|
|
||||||
|
.content {
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
padding: 0 10px;
|
||||||
|
|
||||||
|
.standard-table-wrap {
|
||||||
|
flex: auto;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pagination {
|
||||||
|
position: static;
|
||||||
|
|
||||||
|
/deep/ .pagination-slot {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-area {
|
||||||
|
display: flex;
|
||||||
|
justify-content: left;
|
||||||
|
background: #FFF;
|
||||||
|
padding: 10px 10px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-drawer-footer {
|
||||||
|
height: 70px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tableTitle {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
height: 30px;
|
||||||
|
line-height: 30px;
|
||||||
|
position: relative;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
.tableButton {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -162,6 +162,7 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
<fetchList ref="fetchListRef"/>
|
||||||
</div>
|
</div>
|
||||||
<el-collapse accordion>
|
<el-collapse accordion>
|
||||||
<el-collapse-item title="意见填写">
|
<el-collapse-item title="意见填写">
|
||||||
@@ -219,6 +220,7 @@
|
|||||||
import processFile from "../../components/processFile";
|
import processFile from "../../components/processFile";
|
||||||
import approvalHistory from "./components/approvalHistory";//审批历史
|
import approvalHistory from "./components/approvalHistory";//审批历史
|
||||||
import personnelInformation from "./components/personnelInformation";//人员信息
|
import personnelInformation from "./components/personnelInformation";//人员信息
|
||||||
|
import fetchList from "./components/fetchList";
|
||||||
import {
|
import {
|
||||||
queryTaskFirst,
|
queryTaskFirst,
|
||||||
saveTaskFirst,
|
saveTaskFirst,
|
||||||
@@ -237,7 +239,8 @@
|
|||||||
ProcessFooter,
|
ProcessFooter,
|
||||||
processFile,
|
processFile,
|
||||||
approvalHistory,
|
approvalHistory,
|
||||||
personnelInformation
|
personnelInformation,
|
||||||
|
fetchList
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|||||||
Reference in New Issue
Block a user