Commit 26131f1d by 史敦盼

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

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