Commit 26131f1d by 史敦盼

修改批次计划管理,概设材料审核

1 parent e2b3990d
......@@ -618,3 +618,7 @@ export function addBatchPlan(params) {
export function editBatchPlan(params) {
return post('/network/bat-plan-info/upd', params)
}
// 导出重复建设风险报告
export function exportRiskReport(params) {
return download('/network/prel-des-rvw/exportRiskReport', params)
}
......@@ -3,3 +3,6 @@
export const batchPlanManagement = '/network/bat-plan-info/'
// 概设材料审查 - 技术路线分页查询
export const queryConceptualReview = '/network/prel-des-rvw/' ///network/prel-des-rvw/
export const queryAppArchiControlRequirements =
'/network/app-archi-control-requirements/'
......@@ -4,7 +4,7 @@
* @Autor: pan
* @Date: 2024-03-11 14:53:40
* @LastEditors: pan
* @LastEditTime: 2024-03-18 11:02:04
* @LastEditTime: 2024-03-18 15:42:37
-->
<!-- 示例
columns: [{ label: '头像', prop: 'avatar', align: 'center', __slotName: 'avatar',callback: (row, title) => {
......@@ -208,7 +208,7 @@ export default {
},
methods: {
handleToText(item, state) {
const obj = item.options.find((v) => v.value === state) || {}
const obj = item.options.find((v) => v.value == state) || {}
return obj['label']
},
/**
......
......@@ -5,6 +5,15 @@ export const approvalStatusOptions = [
{ label: '审批通过', value: 3 },
{ label: '驳回', value: 4 },
]
// 是否续建
export const prjPlanClass = [
{ label: '否', value: 1 },
{ label: '是', value: 2 },
]
export const buildType = [
{ label: '统推', value: '1' },
{ label: '自建', value: '2' },
]
// 评审材料名称枚举
export const archiPrjReviewEnum = [
{ label: '一致性评审', value: 'CONFORMANCE_REVIEW' },
......
......@@ -44,9 +44,20 @@
<div class="flex-c">
<span class="p-l-20 bottom_container_title">{{ examinName }}</span>
</div>
<el-button type="primary" size="medium" @click="fnSave()"
>保存结果</el-button
>
<div class="flex">
<el-button
icon="el-icon-download"
type="primary"
size="medium"
plain
v-if="tab === '8'"
@click="handlExportRiskReport()"
>导出重复建设风险报告</el-button
>
<el-button type="primary" size="medium" @click="fnSave()"
>保存结果</el-button
>
</div>
</div>
<el-input
type="textarea"
......@@ -76,7 +87,7 @@
</template>
<script>
import { getReviewNorm, saveExamine } from '@/api'
import { getReviewNorm, saveExamine, exportRiskReport } from '@/api'
export default {
name: 'conceptualExamine',
components: {},
......@@ -133,6 +144,24 @@ export default {
}
})
},
// 导出重复建设风险报告
handlExportRiskReport() {
const params = {
title: '功能重复风险',
comment: this.resultContent,
}
exportRiskReport(params).then((res) => {
const url = window.URL.createObjectURL(
new Blob([res], { type: 'application/octet-stream' }),
)
const link = document.createElement('a')
link.href = url
link.setAttribute('download', `重复建设风险报告.doc`)
document.body.appendChild(link)
link.click()
window.URL.revokeObjectURL(url) // 释放内存
})
},
},
}
</script>
......
......@@ -53,7 +53,7 @@
>批量审查</el-button
>
<el-button
icon="el-icon-document-add"
icon="el-icon-download"
type="primary"
size="medium"
plain
......@@ -61,7 +61,7 @@
>导出报告</el-button
>
<el-button
icon="el-icon-document-add"
icon="el-icon-download"
type="primary"
size="medium"
plain
......@@ -69,15 +69,16 @@
>导出技术偏差分析表</el-button
>
<el-button
icon="el-icon-document-add"
icon="el-icon-download"
type="primary"
size="medium"
plain
v-if="activeName2 === '8'"
@click="handlExportRiskReport()"
>导出重复建设风险报告</el-button
>
<el-button
icon="el-icon-document-add"
icon="el-icon-download"
type="primary"
size="medium"
plain
......@@ -108,7 +109,8 @@ import SearchForm from '@/components/SearchForm.vue'
import TableConfig from '@/components/TableConfig.vue'
import { queryConceptualReview } from '@/api/interface'
import { archiPrjReviewEnum } from '@/utils/dictionary'
import { exportRiskReport } from '@/api/index'
import { archiPrjReviewEnum, buildType } from '@/utils/dictionary'
// import { str } from './base64'
export default {
name: 'conceptualReview',
......@@ -218,7 +220,7 @@ export default {
},
{
label: '项目名称',
prop: 'orgName',
prop: 'prjName',
width: '320px',
},
]
......@@ -226,7 +228,13 @@ export default {
if (this.activeName === '1') {
arr = [
...arr,
{ label: '建设类型', width: '100px', prop: 'buildType' },
{
label: '建设类型',
width: '100px',
prop: 'buildType',
options: buildType,
collectionType: 'buildType',
},
{ label: '技术路线表', width: '120px', prop: 'buildType1' },
{ label: '架构遵从表', width: '120px', prop: 'buildType2' },
{ label: '功能清单', width: '100px', prop: 'buildType3' },
......@@ -234,7 +242,16 @@ export default {
{ label: '集成系统清单', width: '120px', prop: 'buildType5' },
]
} else {
arr = [...arr, { label: '建设类型', width: '100px', prop: 'buildType' }]
arr = [
...arr,
{
label: '建设类型',
width: '100px',
prop: 'buildType',
options: buildType,
collectionType: 'buildType',
},
]
switch (this.activeName2) {
case '1':
arr = [
......@@ -327,6 +344,24 @@ export default {
// })
},
methods: {
// 导出重复建设风险报告
handlExportRiskReport() {
const params = {
title: '功能重复风险',
comment: '',
}
exportRiskReport(params).then((res) => {
const url = window.URL.createObjectURL(
new Blob([res], { type: 'application/octet-stream' }),
)
const link = document.createElement('a')
link.href = url
link.setAttribute('download', `重复建设风险报告.doc`)
document.body.appendChild(link)
link.click()
window.URL.revokeObjectURL(url) // 释放内存
})
},
// 批量审查
fnBatchExamine() {},
// 跳转到审查页面
......
......@@ -9,7 +9,7 @@
lazy
>
<keep-alive>
<component :is="componentTag"></component>
<component :is="item.componentTag"></component>
</keep-alive>
</el-tab-pane>
</el-tabs>
......@@ -22,6 +22,7 @@ import Tab2 from './tab2.vue'
import Tab3 from './tab3.vue'
import Tab4 from './tab4.vue'
import Tab5 from './tab5.vue'
import Tab6 from './tab6.vue'
export default {
name: 'reviewArchiPoliticeCheckDetails',
components: {
......@@ -30,17 +31,18 @@ export default {
Tab3,
Tab4,
Tab5,
Tab6,
},
data() {
return {
activeName: '',
tabOptions: [
{ label: '运安符合性审查', name: '1' },
{ label: '功能满足审查', name: '2' },
{ label: '运行可靠性审查', name: '3' },
{ label: '系统实用性审查', name: '4' },
{ label: '系统安全性审查', name: '5' },
{ label: '资源复用性审查', name: '6' },
{ label: '运安符合性审查', name: '1', componentTag: 'Tab1' },
{ label: '功能满足审查', name: '2', componentTag: 'Tab2' },
{ label: '运行可靠性审查', name: '3', componentTag: 'Tab3' },
{ label: '系统实用性审查', name: '4', componentTag: 'Tab4' },
{ label: '系统安全性审查', name: '5', componentTag: 'Tab5' },
{ label: '资源复用性审查', name: '6', componentTag: 'Tab6' },
],
componentTag: '',
}
......@@ -49,16 +51,16 @@ export default {
const { name } = this.$route.query
if (name) {
this.activeName = name
this.componentTag = `tab${name}`
// this.componentTag = `tab${name}`
} else {
this.activeName = '1'
this.componentTag = 'tab1'
// this.componentTag = 'tab1'
}
},
methods: {
handleClick(tab, event) {
console.log(tab, event)
this.componentTag = `tab${+tab.index + 1}`
// console.log(tab, event)
// this.componentTag = `tab${+tab.index + 1}`
},
},
}
......
......@@ -6,6 +6,7 @@
.left_container,
.right_container {
width: 50%;
position: relative;
&_title {
height: 38px;
display: flex;
......@@ -19,6 +20,11 @@
min-height: 0;
overflow-y: auto;
}
.select-title {
position: absolute;
top: 44px;
left: 22px;
}
}
.icon {
color: $color-primary;
......@@ -29,6 +35,7 @@
overflow-y: auto;
}
.bottom_container {
margin-bottom: 10px;
&_title {
position: relative;
&::before {
......
......@@ -31,7 +31,9 @@ import ListPage from '@/components/ListPage.vue'
import SearchForm from '@/components/SearchForm.vue'
import TableConfig from '@/components/TableConfig.vue'
import { getDianXingAnLiSelectData } from '@/api/index.js'
// import { getDianXingAnLiSelectData } from '@/api/index.js'
import { queryAppArchiControlRequirements } from '@/api/interface'
import { prjPlanClass, buildType } from '@/utils/dictionary'
export default {
name: 'batchPlanManagement',
components: {
......@@ -44,7 +46,7 @@ export default {
constructionTypeOptions: [],
selectRows: [],
query: {
url: '/network/ele/',
url: queryAppArchiControlRequirements,
method: 'post',
queryParam: {},
},
......@@ -55,28 +57,28 @@ export default {
return [
{
label: '单位', // label文字
prop: 'username', // 字段名
prop: 'manageOrgId', // 字段名
element: 'el-input', // 指定elementui组件
initValue: '', // 字段初始值
placeholder: '请输入内容', // elementui组件属性
},
{
label: '部门', // label文字
prop: 'username1', // 字段名
prop: 'manageDeptId', // 字段名
element: 'el-input', // 指定elementui组件
initValue: '', // 字段初始值
placeholder: '请输入内容', // elementui组件属性
},
{
label: '系统名称', // label文字
prop: 'username2', // 字段名
prop: 'appName', // 字段名
element: 'el-input', // 指定elementui组件
initValue: '', // 字段初始值
placeholder: '请输入内容', // elementui组件属性
},
{
label: '建设类型', // label文字
prop: 'username3', // 字段名
prop: 'buildType', // 字段名
element: 'el-select', // 指定elementui组件
initValue: '', // 字段初始值
placeholder: '请选择', // elementui组件属性
......@@ -88,20 +90,30 @@ export default {
return [
{ type: 'selection', width: '55px' },
{ label: '序号', type: 'index', width: '80px' },
{ label: '单位', prop: 'elementName' },
{ label: '部门', prop: 'archiLevelName' },
{ label: '系统名称', width: '280px', prop: 'archiBelongName' },
{ label: '建设类型', prop: 'eaLevel' },
{ label: '项目名称', width: '295px', prop: 'content' },
{ label: '是否续建', prop: 'version1' },
{ label: '承建单位', prop: 'version2' },
{ label: '单位', prop: 'manageOrgId' },
{ label: '部门', prop: 'manageDeptId' },
{ label: '系统名称', width: '280px', prop: 'appName' },
{
label: '建设类型',
prop: 'buildType',
options: buildType,
collectionType: 'buildType',
},
{ label: '项目名称', width: '295px', prop: 'prjName' },
{
label: '是否续建',
prop: 'prjPlanClass',
options: prjPlanClass,
collectionType: 'prjPlanClass',
},
{ label: '承建单位', prop: 'buildOrg' },
{
label: '运安符合性审查',
prop: 'version3',
type: 'operation',
actionButtons: [{ title: '查看', type: 'text' }],
callback: (row, title) => {
this.fnToDetailsTab('1')
this.fnToDetailsTab('1', row.prjId)
},
},
{
......@@ -110,7 +122,7 @@ export default {
type: 'operation',
actionButtons: [{ title: '查看', type: 'text' }],
callback: (row, title) => {
this.fnToDetailsTab('2')
this.fnToDetailsTab('2', row.prjId)
},
},
{
......@@ -119,7 +131,7 @@ export default {
type: 'operation',
actionButtons: [{ title: '查看', type: 'text' }],
callback: (row, title) => {
this.fnToDetailsTab('3')
this.fnToDetailsTab('3', row.prjId)
},
},
{
......@@ -128,7 +140,7 @@ export default {
type: 'operation',
actionButtons: [{ title: '查看', type: 'text' }],
callback: (row, title) => {
this.fnToDetailsTab('4')
this.fnToDetailsTab('4', row.prjId)
},
},
{
......@@ -137,7 +149,7 @@ export default {
type: 'operation',
actionButtons: [{ title: '查看', type: 'text' }],
callback: (row, title) => {
this.fnToDetailsTab('5')
this.fnToDetailsTab('5', row.prjId)
},
},
{
......@@ -146,7 +158,7 @@ export default {
type: 'operation',
actionButtons: [{ title: '查看', type: 'text' }],
callback: (row, title) => {
this.fnToDetailsTab('6')
this.fnToDetailsTab('6', row.prjId)
},
},
]
......@@ -178,11 +190,12 @@ export default {
})
},
// 跳转详情指定tab
fnToDetailsTab(name) {
fnToDetailsTab(name, prjId) {
this.$router.push({
path: '/main/reviewArchiPoliticeCheckDetails',
query: {
name,
prjId,
},
})
},
......
......@@ -6,14 +6,19 @@
<i class="el-icon-caret-right icon"></i>
<span>评审标准</span>
</div>
<div class="left_container_content flex-1">123</div>
<div class="left_container_content flex-1"></div>
</div>
<div class="right_container flex-column">
<div class="right_container_title">
<i class="el-icon-caret-right icon"></i>
<span>评审内容</span>
<div class="right_container_title flex-b-c">
<div class="flex">
<i class="el-icon-caret-right icon"></i>
<span>评审内容</span>
</div>
<el-select class="select-title" v-model="select">
<el-option label="概要设计说明书.doc" value="1"></el-option>
</el-select>
</div>
<div class="right_container_content flex-1">123</div>
<div class="right_container_content flex-1"></div>
</div>
</div>
<div class="bottom_container">
......@@ -30,7 +35,9 @@
></el-option>
</el-select>
</div>
<el-button type="primary" size="medium">保存结果</el-button>
<el-button type="primary" size="medium" @click="handleSave"
>保存结果</el-button
>
</div>
<el-input
type="textarea"
......@@ -38,35 +45,75 @@
v-model="resultContent"
v-no-backslash
class="w-100"
placeholder="请输入"
></el-input>
</div>
</div>
</template>
<script>
import { getArchiViewManageTable } from '@/api/index.js'
import { MessageBox, Message } from 'element-ui'
import {
saveReviewArchiFollowCheckRightSuggestion,
queryReviewArchiFollowCheckRightSuggestionDetails,
} from '@/api/index.js'
export default {
name: 'tab1',
components: {},
data() {
return {
resultContent: '',
isMeet: '',
isMeet: null,
selectOptions: [
{
label: '是',
value: '1',
value: 1,
},
{
label: '否',
value: '0',
value: 0,
},
],
select: '1',
}
},
mounted() {},
methods: {},
created() {
this.getDetail()
},
methods: {
getDetail() {
const params = {
reviewEnum: 'OPERATIONAL_SAFETY_COMPLIANCE_REVIEW',
prjId: this.$route.query.prjId,
}
queryReviewArchiFollowCheckRightSuggestionDetails(params).then((res) => {
if (res.code === 200) {
this.resultContent = res.data.reviewSuggestion
this.isMeet = res.data.reviewState
}
})
},
handleSave() {
const params = {
reviewEnum: 'OPERATIONAL_SAFETY_COMPLIANCE_REVIEW',
prjId: this.$route.query.prjId,
reviewState: this.isMeet,
reviewSuggestion: this.resultContent,
}
const loading = this.$loading({
lock: true,
text: '保存中',
spinner: 'el-icon-loading',
})
saveReviewArchiFollowCheckRightSuggestion(params).then((res) => {
loading.close()
if (res.code == 200) {
this.$message.success('保存成功')
} else {
this.$message.error(res.msg)
}
})
},
},
}
</script>
<style lang="scss" scoped>
......
<template>
<div class="tab-component"></div>
<div class="tab-component flex-column h-100">
<div class="content flex">
<div class="left_container m-r-10 flex-column">
<div class="left_container_title">
<i class="el-icon-caret-right icon"></i>
<span>评审标准</span>
</div>
<div class="left_container_content flex-1"></div>
</div>
<div class="right_container flex-column">
<div class="right_container_title flex-b-c">
<div class="flex">
<i class="el-icon-caret-right icon"></i>
<span>评审内容</span>
</div>
<el-select class="select-title" v-model="select">
<el-option label="概要设计说明书.doc" value="1"></el-option>
</el-select>
</div>
<div class="right_container_content flex-1"></div>
</div>
</div>
<div class="bottom_container">
<div class="flex-b-c p-r-20 m-tb-15">
<div class="flex-c">
<span class="m-r-50 p-l-20 bottom_container_title">评审结果</span>
<div class="label m-r-10">是否满足用户实际要求:</div>
<el-select v-model="isMeet" class="leftSelect">
<el-option
v-for="item in selectOptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
<el-button type="primary" size="medium" @click="handleSave"
>保存结果</el-button
>
</div>
<el-input
type="textarea"
:rows="4"
v-model="resultContent"
v-no-backslash
class="w-100"
placeholder="请输入"
></el-input>
</div>
</div>
</template>
<script>
import { getArchiViewManageTable } from '@/api/index.js'
import { MessageBox, Message } from 'element-ui'
import {
saveReviewArchiFollowCheckRightSuggestion,
queryReviewArchiFollowCheckRightSuggestionDetails,
} from '@/api/index.js'
export default {
name: 'tab2',
components: {},
data() {
return {}
return {
resultContent: '',
isMeet: null,
selectOptions: [
{
label: '是',
value: 1,
},
{
label: '否',
value: 0,
},
],
select: '1',
}
},
created() {
this.getDetail()
},
methods: {
getDetail() {
const params = {
reviewEnum: 'FUNCTIONAL_SATISFACTION_REVIEW',
prjId: this.$route.query.prjId,
}
queryReviewArchiFollowCheckRightSuggestionDetails(params).then((res) => {
if (res.code === 200) {
this.resultContent = res.data.reviewSuggestion
this.isMeet = res.data.reviewState
}
})
},
handleSave() {
const params = {
reviewEnum: 'FUNCTIONAL_SATISFACTION_REVIEW',
prjId: this.$route.query.prjId,
reviewState: '0',
reviewSuggestion: this.resultContent,
}
const loading = this.$loading({
lock: true,
text: '保存中',
spinner: 'el-icon-loading',
})
saveReviewArchiFollowCheckRightSuggestion(params).then((res) => {
loading.close()
if (res.code == 200) {
this.$message.success('保存成功')
} else {
this.$message.error(res.msg)
}
})
},
},
mounted() {},
methods: {},
}
</script>
<style scoped></style>
<style lang="scss" scoped>
@import '@/styles/common.scss';
@import './index.scss';
</style>
<template>
<div class="tab-component"></div>
<div class="tab-component flex-column h-100">
<div class="content flex">
<div class="left_container m-r-10 flex-column">
<div class="left_container_title">
<i class="el-icon-caret-right icon"></i>
<span>评审标准</span>
</div>
<div class="left_container_content flex-1"></div>
</div>
<div class="right_container flex-column">
<div class="right_container_title flex-b-c">
<div class="flex">
<i class="el-icon-caret-right icon"></i>
<span>评审内容</span>
</div>
<el-select class="select-title" v-model="select">
<el-option label="概要设计说明书.doc" value="1"></el-option>
</el-select>
</div>
<div class="right_container_content flex-1"></div>
</div>
</div>
<div class="bottom_container">
<div class="flex-b-c p-r-20 m-tb-15">
<div class="flex-c">
<span class="m-r-50 p-l-20 bottom_container_title">评审结果</span>
</div>
<el-button type="primary" size="medium" @click="handleSave"
>保存结果</el-button
>
</div>
<el-input
type="textarea"
:rows="4"
v-model="resultContent"
v-no-backslash
class="w-100"
placeholder="请输入"
></el-input>
</div>
</div>
</template>
<script>
import { getArchiViewManageTable } from '@/api/index.js'
import { MessageBox, Message } from 'element-ui'
import {
saveReviewArchiFollowCheckRightSuggestion,
queryReviewArchiFollowCheckRightSuggestionDetails,
} from '@/api/index.js'
export default {
name: 'tab3',
components: {},
data() {
return {}
return {
resultContent: '',
isMeet: '',
selectOptions: [
{
label: '是',
value: '1',
},
{
label: '否',
value: '0',
},
],
select: '1',
}
},
created() {
this.getDetail()
},
methods: {
getDetail() {
const params = {
reviewEnum: 'OPERATIONAL_RELIABILITY_REVIEW',
prjId: this.$route.query.prjId,
}
queryReviewArchiFollowCheckRightSuggestionDetails(params).then((res) => {
if (res.code === 200) {
this.resultContent = res.data.reviewSuggestion
this.isMeet = res.data.reviewState
}
})
},
handleSave() {
const params = {
reviewEnum: 'OPERATIONAL_RELIABILITY_REVIEW',
prjId: this.$route.query.prjId,
reviewState: '0',
reviewSuggestion: this.resultContent,
}
const loading = this.$loading({
lock: true,
text: '保存中',
spinner: 'el-icon-loading',
})
saveReviewArchiFollowCheckRightSuggestion(params).then((res) => {
loading.close()
if (res.code == 200) {
this.$message.success('保存成功')
} else {
this.$message.error(res.msg)
}
})
},
},
mounted() {},
methods: {},
}
</script>
<style scoped></style>
<style lang="scss" scoped>
@import '@/styles/common.scss';
@import './index.scss';
</style>
<template>
<div class="tab-component"></div>
<div class="tab-component flex-column h-100">
<div class="content flex">
<div class="left_container m-r-10 flex-column">
<div class="left_container_title">
<i class="el-icon-caret-right icon"></i>
<span>评审标准</span>
</div>
<div class="left_container_content flex-1"></div>
</div>
<div class="right_container flex-column">
<div class="right_container_title flex-b-c">
<div class="flex">
<i class="el-icon-caret-right icon"></i>
<span>评审内容</span>
</div>
<el-select class="select-title" v-model="select">
<el-option label="概要设计说明书.doc" value="1"></el-option>
</el-select>
</div>
<div class="right_container_content flex-1"></div>
</div>
</div>
<div class="bottom_container">
<div class="flex-b-c p-r-20 m-tb-15">
<div class="flex-c">
<span class="m-r-50 p-l-20 bottom_container_title">评审结果</span>
</div>
<el-button type="primary" size="medium" @click="handleSave"
>保存结果</el-button
>
</div>
<el-input
type="textarea"
:rows="4"
v-model="resultContent"
v-no-backslash
class="w-100"
placeholder="请输入"
></el-input>
</div>
</div>
</template>
<script>
import { getArchiViewManageTable } from '@/api/index.js'
import { MessageBox, Message } from 'element-ui'
import {
saveReviewArchiFollowCheckRightSuggestion,
queryReviewArchiFollowCheckRightSuggestionDetails,
} from '@/api/index.js'
export default {
name: 'tab4',
components: {},
data() {
return {}
return {
resultContent: '',
isMeet: '',
selectOptions: [
{
label: '是',
value: '1',
},
{
label: '否',
value: '0',
},
],
select: '1',
}
},
created() {
this.getDetail()
},
methods: {
getDetail() {
const params = {
reviewEnum: 'SYSTEM_PRACTICALITY_REVIEW',
prjId: this.$route.query.prjId,
}
queryReviewArchiFollowCheckRightSuggestionDetails(params).then((res) => {
if (res.code === 200) {
this.resultContent = res.data.reviewSuggestion
this.isMeet = res.data.reviewState
}
})
},
handleSave() {
const params = {
reviewEnum: 'SYSTEM_PRACTICALITY_REVIEW',
prjId: this.$route.query.prjId,
reviewState: '0',
reviewSuggestion: this.resultContent,
}
const loading = this.$loading({
lock: true,
text: '保存中',
spinner: 'el-icon-loading',
})
saveReviewArchiFollowCheckRightSuggestion(params).then((res) => {
loading.close()
if (res.code == 200) {
this.$message.success('保存成功')
} else {
this.$message.error(res.msg)
}
})
},
},
mounted() {},
methods: {},
}
</script>
<style scoped></style>
<style lang="scss" scoped>
@import '@/styles/common.scss';
@import './index.scss';
</style>
<template>
<div class="tab-component"></div>
<div class="tab-component flex-column h-100">
<div class="content flex">
<div class="left_container m-r-10 flex-column">
<div class="left_container_title">
<i class="el-icon-caret-right icon"></i>
<span>评审标准</span>
</div>
<div class="left_container_content flex-1"></div>
</div>
<div class="right_container flex-column">
<div class="right_container_title flex-b-c">
<div class="flex">
<i class="el-icon-caret-right icon"></i>
<span>评审内容</span>
</div>
<el-select class="select-title" v-model="select">
<el-option label="概要设计说明书.doc" value="1"></el-option>
</el-select>
</div>
<div class="right_container_content flex-1"></div>
</div>
</div>
<div class="bottom_container">
<div class="flex-b-c p-r-20 m-tb-15">
<div class="flex-c">
<span class="m-r-50 p-l-20 bottom_container_title">评审结果</span>
</div>
<el-button type="primary" size="medium" @click="handleSave"
>保存结果</el-button
>
</div>
<el-input
type="textarea"
:rows="4"
v-model="resultContent"
v-no-backslash
class="w-100"
placeholder="请输入"
></el-input>
</div>
</div>
</template>
<script>
import { getArchiViewManageTable } from '@/api/index.js'
import { MessageBox, Message } from 'element-ui'
import {
saveReviewArchiFollowCheckRightSuggestion,
queryReviewArchiFollowCheckRightSuggestionDetails,
} from '@/api/index.js'
export default {
name: 'tab5',
components: {},
data() {
return {}
return {
resultContent: '',
isMeet: '',
selectOptions: [
{
label: '是',
value: '1',
},
{
label: '否',
value: '0',
},
],
select: '1',
}
},
created() {
this.getDetail()
},
methods: {
getDetail() {
const params = {
reviewEnum: 'SYSTEM_SECURITY_REVIEW',
prjId: this.$route.query.prjId,
}
queryReviewArchiFollowCheckRightSuggestionDetails(params).then((res) => {
if (res.code === 200) {
this.resultContent = res.data.reviewSuggestion
this.isMeet = res.data.reviewState
}
})
},
handleSave() {
const params = {
reviewEnum: 'SYSTEM_SECURITY_REVIEW',
prjId: this.$route.query.prjId,
reviewState: '0',
reviewSuggestion: this.resultContent,
}
const loading = this.$loading({
lock: true,
text: '保存中',
spinner: 'el-icon-loading',
})
saveReviewArchiFollowCheckRightSuggestion(params).then((res) => {
loading.close()
if (res.code == 200) {
this.$message.success('保存成功')
} else {
this.$message.error(res.msg)
}
})
},
},
mounted() {},
methods: {},
}
</script>
<style scoped></style>
<style lang="scss" scoped>
@import '@/styles/common.scss';
@import './index.scss';
</style>
<template>
<div class="tab-component"></div>
<div class="tab-component flex-column h-100">
<div class="content flex">
<div class="left_container m-r-10 flex-column">
<div class="left_container_title">
<i class="el-icon-caret-right icon"></i>
<span>评审标准</span>
</div>
<div class="left_container_content flex-1"></div>
</div>
<div class="right_container flex-column">
<div class="right_container_title flex-b-c">
<div class="flex">
<i class="el-icon-caret-right icon"></i>
<span>评审内容</span>
</div>
<el-select class="select-title" v-model="select">
<el-option label="概要设计说明书.doc" value="1"></el-option>
</el-select>
</div>
<div class="right_container_content flex-1"></div>
</div>
</div>
<div class="bottom_container">
<div class="flex-b-c p-r-20 m-tb-15">
<div class="flex-c">
<span class="m-r-50 p-l-20 bottom_container_title">评审结果</span>
<div class="label m-r-10">是否达到重复利用以及双轨运行要求:</div>
<el-select v-model="isMeet" class="leftSelect">
<el-option
v-for="item in selectOptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</div>
<el-button type="primary" size="medium" @click="handleSave"
>保存结果</el-button
>
</div>
<el-input
type="textarea"
:rows="4"
v-model="resultContent"
v-no-backslash
class="w-100"
placeholder="请输入"
></el-input>
</div>
</div>
</template>
<script>
import { getArchiViewManageTable } from '@/api/index.js'
import { MessageBox, Message } from 'element-ui'
import {
saveReviewArchiFollowCheckRightSuggestion,
queryReviewArchiFollowCheckRightSuggestionDetails,
} from '@/api/index.js'
export default {
name: 'tab6',
components: {},
data() {
return {}
return {
resultContent: '',
isMeet: '',
selectOptions: [
{
label: '是',
value: '1',
},
{
label: '否',
value: '0',
},
],
select: '1',
}
},
created() {
this.getDetail()
},
methods: {
getDetail() {
const params = {
reviewEnum: 'RESOURCE_REUSABILITY_REVIEW',
prjId: this.$route.query.prjId,
}
queryReviewArchiFollowCheckRightSuggestionDetails(params).then((res) => {
if (res.code === 200) {
this.resultContent = res.data.reviewSuggestion
this.isMeet = res.data.reviewState
}
})
},
handleSave() {
const params = {
reviewEnum: 'RESOURCE_REUSABILITY_REVIEW',
prjId: this.$route.query.prjId,
reviewState: '0',
reviewSuggestion: this.resultContent,
}
const loading = this.$loading({
lock: true,
text: '保存中',
spinner: 'el-icon-loading',
})
saveReviewArchiFollowCheckRightSuggestion(params).then((res) => {
loading.close()
if (res.code == 200) {
this.$message.success('保存成功')
} else {
this.$message.error(res.msg)
}
})
},
},
mounted() {},
methods: {},
}
</script>
<style scoped></style>
<style lang="scss" scoped>
@import '@/styles/common.scss';
@import './index.scss';
</style>
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!