Commit 650a6373 by 史敦盼

修改

1 parent cb9f6fb2
...@@ -584,6 +584,15 @@ export function getPrelDesInspecteTable(params) { ...@@ -584,6 +584,15 @@ export function getPrelDesInspecteTable(params) {
export function savePrelDesInspecte(params) { export function savePrelDesInspecte(params) {
return post('/network/prel-des-inspecte/cComment/', params) return post('/network/prel-des-inspecte/cComment/', params)
} }
// 根据项目ID和类型查询对应评审意见
export function detailPrelDesInspecte(params) {
return post('/network/prel-des-inspecte/qReview/', params)
}
// 根据项目ID和架构归属ID查询对应架构视图
export function qViewPrelDesInspecte(params) {
return post('/network/prel-des-inspecte/qView/', params)
}
// 概设架构遵从检查-列表 // 概设架构遵从检查-列表
export function getGaiSheJiaGouZunCongJiaChaTable(params) { export function getGaiSheJiaGouZunCongJiaChaTable(params) {
...@@ -605,10 +614,22 @@ export function getWordImg(params) { ...@@ -605,10 +614,22 @@ export function getWordImg(params) {
export function getWordTable(params) { export function getWordTable(params) {
return post('/network/prel-des-rvw/qWordTable', params) return post('/network/prel-des-rvw/qWordTable', params)
} }
// 获取评审标准 // 获取评审片段word
export function getReviewNorm(params) { export function getReviewNorm(params) {
return post('/network/prel-des-rvw/gtReviewNorm', params) return post('/network/prel-des-rvw/gtReviewNorm', params)
} }
// 获取评审片段table
export function getQWordTable(params) {
return post('/network/prel-des-rvw/qWordTable', params)
}
// 概设材料审查-架构遵从-根据项目ID获取word片段图片
export function getQWordPic_(params) {
return post('/network/prel-des-inspecte/qWordPic', params)
}
// 获取评审片段img
export function getQWordPic(params) {
return post('/network/prel-des-rvw/qWordPic', params)
}
// 概要设计评审保存 // 概要设计评审保存
export function saveExamine(params) { export function saveExamine(params) {
return post('/network/prel-des-rvw/sComment', params) return post('/network/prel-des-rvw/sComment', params)
......
...@@ -14,3 +14,9 @@ export const queryDemandManagement = '/network/need-info/' ...@@ -14,3 +14,9 @@ export const queryDemandManagement = '/network/need-info/'
export const queryProjectInfo = '/network/prj-info/' export const queryProjectInfo = '/network/prj-info/'
// 概设材料意见编制 // 概设材料意见编制
export const queryConceptualViewOrg = '/network/online-rev-wr/qy/' export const queryConceptualViewOrg = '/network/online-rev-wr/qy/'
// 系统架构管控要求-评审情况(概要设计)-分页查询
export const queryPrelDesInspecte = '/network/prel-des-inspecte/'
// 概设关联业务管理 - 概设统计分析
export const queryQyNeedReviewCount = '/network/online-rev-wr/qyNeedReviewCount'
// 概设关联业务管理 - 总体架构维护
export const queryArcAstSys = '/network/arc-ast-sys/'
...@@ -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-20 15:09:49 * @LastEditTime: 2024-03-22 17:17:18
--> -->
<!-- 示例 <!-- 示例
columns: [{ label: '头像', prop: 'avatar', align: 'center', __slotName: 'avatar',callback: (row, title) => { columns: [{ label: '头像', prop: 'avatar', align: 'center', __slotName: 'avatar',callback: (row, title) => {
...@@ -217,7 +217,11 @@ export default { ...@@ -217,7 +217,11 @@ export default {
this.$refs.tableConfig.clearSelection() this.$refs.tableConfig.clearSelection()
}, },
handleToText(item, state) { handleToText(item, state) {
const obj = item.options.find((v) => v.value == state) || {} let val = state
if (!val) {
val = item.emptyToNum || 0
}
const obj = item.options.find((v) => v.value == val) || {}
return obj['label'] return obj['label']
}, },
/** /**
......
...@@ -73,3 +73,8 @@ export const sendStateOptions = [ ...@@ -73,3 +73,8 @@ export const sendStateOptions = [
{ label: '未发送', value: 2 }, { label: '未发送', value: 2 },
{ label: '发送失败', value: 3 }, { label: '发送失败', value: 3 },
] ]
export const completionStatus = [
{ label: '未完成', value: 0 },
{ label: '已完成', value: 1 },
]
...@@ -69,7 +69,7 @@ export const menuOptions = [ ...@@ -69,7 +69,7 @@ export const menuOptions = [
children: [ children: [
{ {
name: '架构资产管理', name: '架构资产管理',
path: '', path: '/main/busiAssetslist',
}, },
{ {
name: '架构视图管理', name: '架构视图管理',
......
<!--
* @Description: integration-info-controller
* @Version: 2.0
* @Autor: pan
* @Date: 2024-03-21 20:58:31
* @LastEditors: pan
* @LastEditTime: 2024-03-22 16:48:05
-->
<template> <template>
<div class="searchTable"> <div class="searchTable">
<list-page> <list-page>
......
<!--
* @Description: tab1查/online-rev-wr/qyNeedReviewCount tab2系统架构资产 isExtend传0 同步更新调用继承接口isExtend传0
* @Version: 2.0
* @Autor: pan
* @Date: 2024-03-21 20:58:31
* @LastEditors: pan
* @LastEditTime: 2024-03-22 17:35:45
-->
<template> <template>
<div class="searchTable"> <div class="searchTable">
<list-page> <list-page>
...@@ -29,15 +37,14 @@ ...@@ -29,15 +37,14 @@
</template> </template>
<!-- 中部操作按钮 --> <!-- 中部操作按钮 -->
<template #operationWrap> <template #operationWrap>
<!-- <el-button <el-button
v-if="activeName === '1'" v-if="activeName === '2'"
icon="el-icon-document-add" icon="el-icon-document-add"
type="primary" type="primary"
size="medium" size="medium"
plain plain
@click="fnMaterialAnalysis()" >同步更新</el-button
>材料解析</el-button >
> -->
</template> </template>
<!-- 表格插槽 --> <!-- 表格插槽 -->
<template #tableWrap> <template #tableWrap>
...@@ -47,6 +54,9 @@ ...@@ -47,6 +54,9 @@
:query="query" :query="query"
:columns="columns" :columns="columns"
> >
<template #percent="{ data }">
<span> {{ handlePercent(data) }}</span>
</template>
</table-config> </table-config>
</template> </template>
</list-page> </list-page>
...@@ -59,7 +69,7 @@ import ListPage from '@/components/ListPage.vue' ...@@ -59,7 +69,7 @@ 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 { queryConceptualReview } from '@/api/interface' import { queryQyNeedReviewCount, queryArcAstSys } from '@/api/interface'
import { exportRiskReport } from '@/api/index' import { exportRiskReport } from '@/api/index'
import { archiPrjReviewEnum, buildType } from '@/utils/dictionary' import { archiPrjReviewEnum, buildType } from '@/utils/dictionary'
// import { str } from './base64' // import { str } from './base64'
...@@ -68,13 +78,12 @@ export default { ...@@ -68,13 +78,12 @@ export default {
data() { data() {
return { return {
src: '', src: '',
constructionTypeOptions: [],
selectRows: [], selectRows: [],
query: { query: {
url: queryConceptualReview, url: queryQyNeedReviewCount,
method: 'post', method: 'post',
queryParam: { queryParam: {
reviewEnum: 'TECH_ROUTE', countType: 1,
}, },
}, },
activeName: '1', activeName: '1',
...@@ -88,17 +97,12 @@ export default { ...@@ -88,17 +97,12 @@ export default {
{ label: '各批次系统统计', name: '2' }, { label: '各批次系统统计', name: '2' },
], ],
subTabOptions2: [ subTabOptions2: [
{ label: '业务流程', name: '1' }, { label: '业务架构', name: '1' },
{ label: '技术路线', name: '2' }, { label: '应用架构', name: '2' },
{ label: '功能清单', name: '3' }, { label: '数据架构', name: '3' },
{ label: '数据实体', name: '4' }, { label: '技术架构', name: '4' },
{ label: '安全设计', name: '5' }, { label: '安全架构', name: '5' },
], ],
activeSubTabItem: {
label: '报告规范性',
value: 'REPORT_NORM',
name: '1',
},
} }
}, },
components: { components: {
...@@ -107,6 +111,18 @@ export default { ...@@ -107,6 +111,18 @@ export default {
TableConfig, TableConfig,
}, },
computed: { computed: {
getCountType() {
if (this.activeName === '1') {
if (this.activeName2 === '1') {
return 1
} else {
console.log('2')
return 2
}
} else {
return undefined
}
},
subTabOptions() { subTabOptions() {
if (this.activeName === '1') { if (this.activeName === '1') {
return this.subTabOptions1 return this.subTabOptions1
...@@ -133,21 +149,50 @@ export default { ...@@ -133,21 +149,50 @@ export default {
if (this.activeName2 === '1') { if (this.activeName2 === '1') {
arr = [ arr = [
{ label: '序号', type: 'index', width: '80px' }, { label: '序号', type: 'index', width: '80px' },
{ label: '单位名称', prop: 'orgName' }, { label: '单位名称', prop: 'manageOrgName' },
{ label: '概设需求数(个)', prop: 'orgName1' }, { label: '概设需求数(个)', prop: 'needCount' },
{ label: '概设材料通过数(个)', prop: 'orgName2' }, { label: '概设材料通过数(个)', prop: 'reviewPassCount' },
{ label: '概设通过比(%)', prop: 'orgName3' }, { label: '概设通过比(%)', __slotName: 'percent' },
] ]
} else { } else {
arr = [ arr = [
{ label: '序号', type: 'index', width: '80px' }, { label: '序号', type: 'index', width: '80px' },
{ label: '批次', prop: 'batName' }, { label: '批次', prop: 'batName' },
{ label: '项目需求数(个)', prop: 'orgName3' }, { label: '项目需求数(个)', prop: 'needCount' },
{ label: '项目通过数(个)', prop: 'orgName2' }, { label: '项目通过数(个)', prop: 'reviewPassCount' },
{ label: '项目通过比(%)', prop: 'prjRate' }, { label: '项目通过比(%)', __slotName: 'percent' },
] ]
} }
} else { } else {
arr = [
{ type: 'selection', width: '55px' },
{ label: '序号', type: 'index', width: '80px' },
{ label: '资产名称', prop: 'assetName' },
{ label: '资产类型(所属元素)', prop: 'eleName' },
{
label: '来源',
prop: 'isExtend',
options: [],
collectionType: true,
},
{ label: '创建人', prop: 'createMan' },
{ label: '创建时间', prop: 'createTime' },
{
label: '操作',
type: 'operation',
width: '200px',
actionButtons: [
{
title: '同步更新',
type: 'primary',
size: 'mini',
plain: true,
icon: 'el-icon-edit',
},
],
callback: (row, title) => {},
},
]
} }
return arr return arr
...@@ -155,6 +200,12 @@ export default { ...@@ -155,6 +200,12 @@ export default {
}, },
mounted() {}, mounted() {},
methods: { methods: {
handlePercent(scope) {
const item = scope.row
if (item.reviewPassCount && item.needCount) {
return (item.reviewPassCount / item.needCount).toFixed(2) * 100 + '%'
}
},
// 材料解析 // 材料解析
fnMaterialAnalysis() { fnMaterialAnalysis() {
if (this.selectRows.length == 0) { if (this.selectRows.length == 0) {
...@@ -192,16 +243,20 @@ export default { ...@@ -192,16 +243,20 @@ export default {
this.$refs.searchTable.queryData() this.$refs.searchTable.queryData()
}, },
handleClick(tab, event) { handleClick(tab, event) {
// console.log(tab, event)
// this.activeSubTabItem = tab
this.activeName2 = '1' this.activeName2 = '1'
// this.query.queryParam.reviewEnum = this.getArchiPrjReviewEnum() if (this.activeName === '2') {
this.query.url = queryArcAstSys
this.query.queryParam.isExtend = 0
this.query.queryParam.countType = undefined
} else {
this.query.url = queryQyNeedReviewCount
this.query.queryParam.isExtend = undefined
}
console.log('refs', this.$refs.searchTable)
this.$refs.searchTable.queryData() this.$refs.searchTable.queryData()
}, },
handleSubClick(tab, event) { handleSubClick(tab, event) {
// console.log(tab, event) this.query.queryParam.countType = this.getCountType
this.activeSubTabItem = tab
// this.query.queryParam.reviewEnum = this.getArchiPrjReviewEnum()
this.$refs.searchTable.queryData() this.$refs.searchTable.queryData()
}, },
}, },
......
<!--
* @Description: tab3: 2word tab4: only+ table tab5: only + word tab6: only + word tab7: only + word tab8: + table tab9: + table
* @Version: 2.0
/prj-need-file/
* "busiId": 项目,
"busiIdType": 1,
* @Autor: pan
* @Date: 2024-03-21 20:58:31
* @LastEditors: pan
* @LastEditTime: 2024-03-22 19:51:11
-->
<template> <template>
<div class="flex-column m-10 w-100 conceptualExamine"> <div class="flex-column m-10 w-100 conceptualExamine">
<div class="content flex"> <div class="content flex">
...@@ -13,6 +24,17 @@ ...@@ -13,6 +24,17 @@
> >
<!-- <img :src="leftSrc" alt="" /> --> <!-- <img :src="leftSrc" alt="" /> -->
<template v-if="tab !== '8' && tab !== '9'"> <template v-if="tab !== '8' && tab !== '9'">
<div
class="office w-100 h-100"
v-if="leftContentType === 'onlyoffice'"
>
<vab-only-office
id="office-preview"
:documentServerUrl="documentServerUrl"
:config="config"
/>
</div>
<template v-else>
<img <img
v-for="(item, idx) in leftBaseOptions" v-for="(item, idx) in leftBaseOptions"
:key="idx" :key="idx"
...@@ -20,6 +42,7 @@ ...@@ -20,6 +42,7 @@
alt="" alt=""
/> />
</template> </template>
</template>
<Tab8Left v-else :tab="tab" @toRemark="toRemark" /> <Tab8Left v-else :tab="tab" @toRemark="toRemark" />
</div> </div>
</div> </div>
...@@ -30,15 +53,27 @@ ...@@ -30,15 +53,27 @@
</div> </div>
<div <div
class="right_container_content flex-1" class="right_container_content flex-1"
v-loading="leftLoading" v-loading="rightLoading"
element-loading-text="加载中" element-loading-text="加载中"
> >
<div
class="office w-100 h-100"
v-if="rightContentType === 'onlyoffice'"
>
<vab-only-office
id="office-preview2"
:documentServerUrl="documentServerUrl"
:config="config"
/>
</div>
<template v-else>
<img <img
v-for="(item, idx) in leftBaseOptions" v-for="(item, idx) in rightBaseOptions"
:key="idx" :key="idx"
:src="item" :src="item"
alt="" alt=""
/> />
</template>
</div> </div>
</div> </div>
</div> </div>
...@@ -91,11 +126,20 @@ ...@@ -91,11 +126,20 @@
<script> <script>
import Tab8Left from '@/views/conceptualReview/Tab8Left' import Tab8Left from '@/views/conceptualReview/Tab8Left'
import { getReviewNorm, saveExamine, exportRiskReport } from '@/api' import vabOnlyOffice from '@/components/onlyOffice/index.vue'
import {
getReviewNorm,
getQWordTable,
getQWordPic,
saveExamine,
exportRiskReport,
getQWordPic_,
} from '@/api'
export default { export default {
name: 'conceptualExamine', name: 'conceptualExamine',
components: { components: {
Tab8Left, Tab8Left,
vabOnlyOffice,
}, },
data() { data() {
return { return {
...@@ -105,9 +149,51 @@ export default { ...@@ -105,9 +149,51 @@ export default {
examinName: '', examinName: '',
row: {}, row: {},
leftSrc: '', leftSrc: '',
leftLoading: true, leftLoading: false,
rightLoading: false,
leftBaseOptions: [], leftBaseOptions: [],
rightBaseOptions: [], rightBaseOptions: [],
leftContentTyp: [],
rightContentType: [],
documentServerUrl: 'http://43.143.211.42:19231/',
config: {
document: {
fileType: 'docx',
// 给服务端用的唯一id,同一个id就会获取服务器缓存里的文件(有这个key,就会先根据它去缓存里找),这项如果最开始只是先试用,可以先给个空字符串
key: '71df19fbd1',
// 文件名
title: '65f90a662c18a9e9f1878156.docx',
//相关权限
// permissions: {
// copy: true, //定义内容是否可以复制到剪贴板。如果该参数设置为false,则只能在当前文档编辑器中粘贴内容。默认值为true。
// download: true, //定义文档是可以下载还是只能在线查看或编辑。如果下载权限设置为“假”的下载为...菜单选项将是缺席的文件菜单。默认值为true。
// edit: true, //定义文档是可以编辑还是只能查看。如果编辑权限设置为“true”,则文件菜单将包含编辑文档菜单选项;请注意,如果编辑权限设置为“false”,文档将在查看器中打开,即使模式参数设置为edit,您也无法将其切换到编辑器。默认值为true。
// print: true, //定义是否可以打印文档。如果打印权限设置为“false”的打印菜单选项将是缺席的文件菜单。默认值为true
// },
// 所要渲染的文件的绝对路径,这个参数很重要,它传的不是文件的本地地址,而是需要把文件传到项目所依赖的服务器,然后拿到文件在服务器的url地址(这个一般情况需要后端支持)才可以用,这个参数决定了能不能实例化出来onlyoffice对象
url: 'http://43.143.211.42:7006/downloadFile/29',
},
documentType: 'word',
height: '100%',
width: '100%',
editorConfig: {
//语言:zh-CN简体中文/en英文
lang: 'zh-CN',
//阅读状态 view/edit
mode: 'edit',
customization: {
//是否显示插件
plugins: false,
},
user: {
// 当前正在view/edit此文档的用户信息
name: '',
},
// 指定文档存储服务器的绝对路径
callbackUrl: 'http://43.143.211.42:7006/callback?fileId=29',
},
},
} }
}, },
created() { created() {
...@@ -115,12 +201,55 @@ export default { ...@@ -115,12 +201,55 @@ export default {
this.examinName = this.$route.query.examinName this.examinName = this.$route.query.examinName
this.row = JSON.parse(this.$route.query.row) this.row = JSON.parse(this.$route.query.row)
this.resultContent = this.row.reviewSuggestion || '' this.resultContent = this.row.reviewSuggestion || ''
if (this.tab === '8') { this.leftContentType = this.$route.query.leftContentType
this.leftLoading = false this.rightContentType = this.$route.query.rightContentType
if (this.tab === '8' || this.tab === '9') {
this.getRightContent()
} else { } else {
this.getReviewNorm() if (this.leftContentType !== 'onlyoffice') {
this.getLeftContent()
}
if (this.rightContentType !== 'onlyoffice') {
this.getRightContent()
}
} }
}, },
computed: {
getLeftApi() {
if (this.leftContentType === 'word') {
return getReviewNorm
} else if (this.leftContentType === 'img') {
if (this.tab === '2') {
// 王勇接口
return getQWordPic_
} else {
// 李振接口
return getQWordPic
}
} else if (this.leftContentType === 'table') {
return getQWordTable
} else {
return ''
}
},
getRightApi() {
if (this.rightContentType === 'word') {
return getReviewNorm
} else if (this.rightContentType === 'img') {
if (this.tab === '2') {
// 王勇接口
return getQWordPic_
} else {
// 李振接口
return getQWordPic
}
} else if (this.rightContentType === 'table') {
return getQWordTable
} else {
return ''
}
},
},
methods: { methods: {
// 带入到备注 // 带入到备注
toRemark(str) { toRemark(str) {
...@@ -128,18 +257,39 @@ export default { ...@@ -128,18 +257,39 @@ export default {
? this.resultContent + '\n' + str ? this.resultContent + '\n' + str
: str : str
}, },
getReviewNorm() { getLeftContent() {
const { needId } = this.row if (!this.getLeftApi) return
this.leftLoading = true
const { needId, prjId, archiPrjReviewEnum } = this.row
const params = { const params = {
needId, needId,
prjId,
archiPrjReviewEnum,
} }
getReviewNorm(params).then((res) => { this.getLeftApi(params).then((res) => {
if (res.code === 200) {
this.leftLoading = false this.leftLoading = false
if (res.code === 200) {
this.leftBaseOptions = res.data.docParserList.map( this.leftBaseOptions = res.data.docParserList.map(
(v) => `data:image/png;base64,${v.docContent}`, (v) => `data:image/png;base64,${v.docContent}`,
) )
// this.leftSrc = `data:image/png;base64,${res.data.docParserList[0].docContent}` }
})
},
getRightContent() {
if (!this.getRightApi) return
this.rightLoading = true
const { needId, prjId, archiPrjReviewEnum } = this.row
const params = {
needId,
prjId,
archiPrjReviewEnum,
}
this.getRightApi(params).then((res) => {
this.rightLoading = false
if (res.code === 200) {
this.rightBaseOptions = res.data.docParserList.map(
(v) => `data:image/png;base64,${v.docContent}`,
)
} }
}) })
}, },
......
...@@ -140,7 +140,7 @@ export default { ...@@ -140,7 +140,7 @@ export default {
{ label: '功能偏差', name: '4' }, { label: '功能偏差', name: '4' },
{ label: '系统部署', name: '5' }, { label: '系统部署', name: '5' },
{ label: '系统集成', name: '6' }, { label: '系统集成', name: '6' },
{ label: '系统按钮', name: '7' }, { label: '系统安全', name: '7' },
{ label: '功能重复风险', name: '8' }, { label: '功能重复风险', name: '8' },
{ label: '数据重复录入风险', name: '9' }, { label: '数据重复录入风险', name: '9' },
], ],
...@@ -160,8 +160,29 @@ export default { ...@@ -160,8 +160,29 @@ export default {
value: 'REPORT_NORM', value: 'REPORT_NORM',
name: '1', name: '1',
}, },
leftContentTypeOptions: ['word', 'img', 'word', 'word', 'word'], leftContentTypeOptions: [
rightContentTypeOptions: ['word', 'img', 'img', 'table', 'word'], 'onlyoffice',
'img',
'word',
'onlyoffice',
'onlyoffice',
'onlyoffice',
'onlyoffice',
null,
null,
],
rightContentTypeOptions: [
'onlyoffice',
'img',
'word',
'table',
'word',
'word',
'word',
'table',
'table',
'table',
],
} }
}, },
components: { components: {
......
...@@ -69,7 +69,7 @@ export default { ...@@ -69,7 +69,7 @@ export default {
return { return {
resultContent: '', resultContent: '',
row: {}, row: {},
leftLoading: true, leftLoading: false,
leftBaseOptions: [], leftBaseOptions: [],
rightBaseOptions: [], rightBaseOptions: [],
onlineReviewState: 1, onlineReviewState: 1,
...@@ -116,6 +116,8 @@ export default { ...@@ -116,6 +116,8 @@ export default {
if (res.code === 200) { if (res.code === 200) {
loading.close() loading.close()
this.$message.success('保存成功') this.$message.success('保存成功')
} else {
this.$message.error(res.msg)
} }
}) })
}, },
......
<template> <template>
<div class="reviewSituationDetails"> <div class="reviewArchiPoliticeCheckDetails">
<el-tabs> <el-tabs class="m-lr-10" v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="一致性评审"> <el-tab-pane
<Tab1></Tab1> :label="item.label"
</el-tab-pane> :name="item.name"
<el-tab-pane label="架构遵从"> v-for="item in tabOptions"
<Tab2></Tab2> :key="item.name"
</el-tab-pane> lazy
<el-tab-pane label="关键技术深度评审"> >
<Tab3></Tab3> <keep-alive>
</el-tab-pane> <component :is="item.componentTag"></component>
<el-tab-pane label="功能深度评审"> </keep-alive>
<Tab4></Tab4>
</el-tab-pane>
<el-tab-pane label="数据深度评审">
<Tab5></Tab5>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
</template> </template>
<script> <script>
import Tab1 from './tab1.vue'; import Tab1 from './tab1.vue'
import Tab2 from './tab2.vue'; 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 { MessageBox, Message } from 'element-ui'; export default {
import $ from 'jquery';
import {
saveArchiViewManageCardDetails
} from '@/api/index.js';
export default {
name: 'reviewSituationDetails', name: 'reviewSituationDetails',
components: { components: {
Tab1, Tab1,
...@@ -43,64 +33,38 @@ ...@@ -43,64 +33,38 @@
}, },
data() { data() {
return { return {
routerId: null, activeName: '1',
}; tabOptions: [
}, { label: '一致性评审', name: '1', componentTag: 'Tab1' },
mounted(){ { label: '架构遵从', name: '2', componentTag: 'Tab2' },
{ label: '关键技术深度评审', name: '3', componentTag: 'Tab3' },
{ label: '功能深度评审', name: '4', componentTag: 'Tab4' },
{ label: '数据深度评审', name: '5', componentTag: 'Tab5' },
],
componentTag: '',
}
}, },
created() {},
methods: { methods: {
handleClick(tab, event) {
} // console.log(tab, event)
} // this.componentTag = `tab${+tab.index + 1}`
},
},
}
</script> </script>
<style> <style lang="scss" scoped>
.confirmClass{ @import '@/styles/common.scss';
background-color: #0D867F !important; .reviewArchiPoliticeCheckDetails {
}
.el-message-box__content{
padding: 60px 15px 60px 15px;
}
</style>
<style scoped>
.el-tabs{
width: 100%; width: 100%;
& > div {
height: 100%; height: 100%;
} }
/deep/ .el-tabs__item.is-active { /deep/ .el-tabs__content {
color: #0D867F; height: calc(100% - 55px);
} .el-tab-pane {
/deep/ .el-tabs__item:hover{
color: #0D867F;
}
/deep/ .el-tabs__active-bar{
background-color: #0D867F;
}
/deep/ .el-tabs__content{
height: calc(100% - 38px);
padding: 0;
}
.el-tab-pane{
height: 100%; height: 100%;
} }
.reviewSituationDetails{
width: 100%;
height: 100%;
display: flex;
position: relative;
}
/deep/ .el-dialog__header{
background-color: #0D867F;
text-align: left;
}
/deep/ .el-dialog__title{
color: #fff;
}
/deep/ .el-dialog__close {
color: #fff;
}
.greenButton{
background-color: #0D867F;
color: #fff;
} }
}
</style> </style>
<template> <template>
<div class="tab1"> <div class="tab-component flex-column h-100">
<div class="content"> <div class="content flex">
<div class="left_container"> <div class="left_container m-r-10 flex-column">
<el-alert title="评审标准" type="success" :closable="false"></el-alert> <div class="left_container_title">
<el-select v-model="select1" class="leftSelect"> <i class="el-icon-caret-right icon"></i>
<el-option label="1" value="1"></el-option> <span>评审标准</span>
</el-select> </div>
<div class="left_container_content flex-1"></div>
</div> </div>
<div class="right_container"> <div class="right_container flex-column">
<el-alert title="评审内容" type="success" :closable="false"></el-alert> <div class="right_container_title flex-b-c">
<el-select v-model="select2" class="rightSelect"> <div class="flex">
<el-option label="1" value="1"></el-option> <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> </el-select>
</div> </div>
<div class="right_container_content flex-1"></div>
</div>
</div> </div>
<div class="bottom_container"> <div class="bottom_container">
<div <div class="flex-b-c p-r-20 m-tb-15">
style=" <div class="flex-c">
padding-right: 20px; <span class="m-r-50 p-l-20 bottom_container_title">评审结果</span>
text-align: left; <div class="label m-r-10">是否满足接入要求:</div>
margin: 15px 0; <el-radio
display: flex; v-for="item in selectOptions"
align-items: center; v-model="isMeet"
justify-content: space-between; :key="item.value"
" :label="item.value"
:value="item.value"
>{{ item.label }}</el-radio
> >
<div>
<el-divider direction="vertical"></el-divider>
<span style="margin-right: 50px">评审意见</span>
<el-radio v-model="radio" label="1">通过</el-radio>
<el-radio v-model="radio" label="2">不通过</el-radio>
</div> </div>
<el-button type="primary" size="medium">带入批准</el-button> <div class="flex">
<el-button type="primary" size="medium" @click="fnSave()" <el-button type="primary" size="medium">带入批注</el-button>
>保存意见</el-button <el-button type="primary" size="medium" @click="handleSave"
>保存结果</el-button
> >
</div> </div>
</div>
<el-input <el-input
type="textarea" type="textarea"
:rows="4" :rows="4"
v-model="textarea" v-model="resultContent"
style="width: 98%" v-no-backslash
class="w-100"
placeholder="请输入"
></el-input> ></el-input>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { savePrelDesInspecte } from '@/api/index.js' import { savePrelDesInspecte, detailPrelDesInspecte } from '@/api/index.js'
import { MessageBox, Message } from 'element-ui'
export default { export default {
name: 'tab1', name: 'tab1',
components: {}, components: {},
data() { data() {
return { return {
radio: '1', resultContent: '',
textarea: '', isMeet: null,
select1: null, selectOptions: [
select2: null, {
label: '通过',
value: 1,
},
{
label: '不通过',
value: 0,
},
],
select: '1',
row: {}, row: {},
} }
}, },
mounted() { created() {
this.row = JSON.parse(this.$route.query.row) this.row = JSON.parse(this.$route.query.row)
this.getDetail()
}, },
methods: { methods: {
fnSave() { getDetail() {
const params = {
reviewEnum: 'CONFORMANCE_REVIEW',
prjId: this.row.prjId,
}
detailPrelDesInspecte(params).then((res) => {
if (res.code === 200) {
this.resultContent = res.data.reviewSuggestion
this.isMeet = res.data.reviewState
}
})
},
handleSave() {
const params = {
reviewEnum: 'CONFORMANCE_REVIEW',
prjId: this.row.prjId,
reviewState: this.isMeet,
reviewSuggestion: this.resultContent,
}
const loading = this.$loading({ const loading = this.$loading({
lock: true, lock: true,
text: '保存中', text: '保存中',
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
}) })
const params = {
reviewState: 0,
reviewSuggestion: this.textarea,
prjId: row.prjId,
reviewEnum: 'CONFORMANCE_REVIEW',
}
savePrelDesInspecte(params).then((res) => { savePrelDesInspecte(params).then((res) => {
loading.close() loading.close()
if (res.code === 200) { if (res.code == 200) {
this.$message.success('保存成功') this.$message.success('保存成功')
} else { } else {
this.$message.error(res.msg) this.$message.error(res.msg)
...@@ -89,48 +118,7 @@ export default { ...@@ -89,48 +118,7 @@ export default {
}, },
} }
</script> </script>
<style scoped> <style lang="scss" scoped>
.tab1 { @import '@/styles/common.scss';
height: 100%; @import '@/views/reviewArchiPoliticeCheck/index.scss';
}
.content {
display: flex;
height: 77%;
}
.leftSelect {
position: absolute;
top: 44px;
left: 22px;
}
.rightSelect {
position: absolute;
top: 44px;
left: 22px;
}
.el-button--primary {
background: rgba(13, 134, 127, 1);
color: #fff;
border: 0;
}
/deep/ .el-alert--success.is-light {
background-color: #d5f5f3;
color: #000;
}
/deep/ .el-divider--vertical {
width: 4px;
background-color: #0d867f;
}
.left_container {
width: 49%;
border: 1px solid red;
margin-right: 1%;
position: relative;
}
.right_container {
width: 49%;
border: 1px solid red;
position: relative;
}
.bottom_container {
}
</style> </style>
<template> <template>
<div class="tab2"> <div class="tab-component flex-column h-100">
<div class="content"> <div class="content flex">
<div class="left_container"> <div class="left_container m-r-10 flex-column">
<el-alert title="评审标准" type="success" :closable="false"></el-alert> <div class="left_container_title">
<i class="el-icon-caret-right icon"></i>
<span>评审标准</span>
</div> </div>
<div class="right_container"> <div class="left_container_content flex-1"></div>
<el-alert title="评审内容" type="success" :closable="false"></el-alert> </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> </div>
<div class="bottom_container"> <div class="bottom_container">
<div style="padding-right: 20px;text-align: left;margin: 15px 0;"> <div class="flex-b-c p-r-20 m-tb-15">
<el-divider direction="vertical"></el-divider> <div class="flex-c">
<span style="margin-right: 50px;">审查意见</span> <span class="m-r-50 p-l-20 bottom_container_title">评审结果</span>
<!-- <div class="label m-r-10">是否满足接入要求:</div>
<el-radio
v-for="item in selectOptions"
v-model="isMeet"
:key="item.value"
:label="item.value"
:value="item.value"
>{{ item.label }}</el-radio
> -->
</div> </div>
<el-input type="textarea" :rows="4" v-model="textarea" style="width: 98%;"></el-input> <!-- <div class="flex">
<el-button type="primary" size="medium">带入批注</el-button>
<el-button type="primary" size="medium" @click="handleSave"
>保存结果</el-button
>
</div> -->
</div>
<el-input
type="textarea"
:rows="4"
v-model="resultContent"
v-no-backslash
class="w-100"
placeholder="请输入"
></el-input>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { import { qViewPrelDesInspecte, detailPrelDesInspecte } from '@/api/index.js'
getArchiViewManageTable
} from '@/api/index.js';
import { MessageBox, Message } from 'element-ui';
export default { export default {
name: 'tab2', name: 'tab2',
components: { components: {},
},
data() { data() {
return { return {
radio: '1', resultContent: '',
textarea: '' isMeet: null,
}; selectOptions: [
{
label: '通过',
value: 1,
}, },
mounted(){ {
label: '不通过',
value: 0,
}, },
methods: { ],
select: '1',
} row: {},
}
</script>
<style scoped>
.tab2{
height: 100%;
} }
.content{ },
display: flex; created() {
height: 77%; this.row = JSON.parse(this.$route.query.row)
this.getDetail()
this.getLeftQview()
this.getRightQview()
},
methods: {
getLeftQview() {
const params = {
archiBelongId: 1,
archiStage: 2,
reviewEnum: 'ARCHITECTURE_CONFORMANCE',
prjId: this.row.prjId,
} }
.el-button--primary{ qViewPrelDesInspecte(params).then((res) => {
background: rgba(13,134,127,1); if (res.code === 200) {
color: #fff; } else {
border: 0; this.$message.error(res.msg)
} }
/deep/ .el-alert--success.is-light{ })
background-color: #D5F5F3; },
color: #000; getRightQview() {
const params = {
archiBelongId: 1,
archiStage: 3,
reviewEnum: 'ARCHITECTURE_CONFORMANCE',
prjId: this.row.prjId,
} }
/deep/ .el-divider--vertical{ qViewPrelDesInspecte(params).then((res) => {
width: 4px; if (res.code === 200) {
background-color: #0D867F; } else {
this.$message.error(res.msg)
} }
.left_container{ })
width: 49%; },
border: 1px solid red; getDetail() {
margin-right: 1%; const params = {
reviewEnum: 'ARCHITECTURE_CONFORMANCE',
prjId: this.row.prjId,
} }
.right_container{ detailPrelDesInspecte(params).then((res) => {
width: 49%; if (res.code === 200) {
border: 1px solid red; this.resultContent = res.data.reviewSuggestion
} this.isMeet = res.data.reviewState
.bottom_container{
} }
})
},
// handleSave() {
// const params = {
// reviewEnum: 'CONFORMANCE_REVIEW',
// prjId: this.row.prjId,
// reviewState: this.isMeet,
// reviewSuggestion: this.resultContent,
// }
// const loading = this.$loading({
// lock: true,
// text: '保存中',
// spinner: 'el-icon-loading',
// })
// savePrelDesInspecte(params).then((res) => {
// loading.close()
// if (res.code == 200) {
// this.$message.success('保存成功')
// } else {
// this.$message.error(res.msg)
// }
// })
// },
},
}
</script>
<style lang="scss" scoped>
@import '@/styles/common.scss';
@import '@/views/reviewArchiPoliticeCheck/index.scss';
</style> </style>
<template> <template>
<div class="tab3"> <div class="tab-component flex-column h-100">
<div class="content"> <div class="content flex">
<div class="left_container"> <div class="left_container m-r-10 flex-column">
<el-alert title="评审标准" type="success" :closable="false"></el-alert> <div class="left_container_title">
<i class="el-icon-caret-right icon"></i>
<span>评审标准</span>
</div> </div>
<div class="right_container"> <div class="left_container_content flex-1"></div>
<el-alert title="评审内容" type="success" :closable="false"></el-alert> </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> </div>
<div class="bottom_container"> <div class="bottom_container">
<div <div class="flex-b-c p-r-20 m-tb-15">
style=" <div class="flex-c">
padding-right: 20px; <span class="m-r-50 p-l-20 bottom_container_title">审查意见</span>
text-align: left;
margin: 15px 0;
display: flex;
align-items: center;
justify-content: space-between;
"
>
<div>
<el-divider direction="vertical"></el-divider>
<span style="margin-right: 50px">审查意见</span>
</div> </div>
<el-button type="primary" size="medium" @click="fnSave()" <div class="flex">
<el-button type="primary" size="medium" @click="handleSave"
>保存意见</el-button >保存意见</el-button
> >
</div> </div>
</div>
<el-input <el-input
type="textarea" type="textarea"
:rows="4" :rows="4"
v-model="textarea" v-model="resultContent"
style="width: 98%" v-no-backslash
class="w-100"
placeholder="请输入"
></el-input> ></el-input>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { savePrelDesInspecte } from '@/api/index.js' import { savePrelDesInspecte, detailPrelDesInspecte } from '@/api/index.js'
export default { export default {
name: 'tab3', name: 'tab3',
components: {}, components: {},
data() { data() {
return { return {
radio: '1', resultContent: '',
textarea: '', isMeet: null,
select: '1',
row: {}, row: {},
} }
}, },
mounted() { created() {
this.row = JSON.parse(this.$route.query.row) this.row = JSON.parse(this.$route.query.row)
this.getDetail()
}, },
methods: { methods: {
fnSave() { getDetail() {
const params = {
reviewEnum: 'KEY_TECHNOLOGY_REVIEW',
prjId: this.row.prjId,
}
detailPrelDesInspecte(params).then((res) => {
if (res.code === 200) {
this.resultContent = res.data.reviewSuggestion
this.isMeet = res.data.reviewState
}
})
},
handleSave() {
const params = {
reviewEnum: 'KEY_TECHNOLOGY_REVIEW',
prjId: this.row.prjId,
reviewState: this.isMeet,
reviewSuggestion: this.resultContent,
}
const loading = this.$loading({ const loading = this.$loading({
lock: true, lock: true,
text: '保存中', text: '保存中',
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
}) })
const params = {
reviewState: 0,
reviewSuggestion: this.textarea,
prjId: row.prjId,
reviewEnum: 'KEY_TECHNOLOGY_REVIEW',
}
savePrelDesInspecte(params).then((res) => { savePrelDesInspecte(params).then((res) => {
loading.close() loading.close()
if (res.code === 200) { if (res.code == 200) {
this.$message.success('保存成功') this.$message.success('保存成功')
} else { } else {
this.$message.error(res.msg) this.$message.error(res.msg)
...@@ -77,36 +98,7 @@ export default { ...@@ -77,36 +98,7 @@ export default {
}, },
} }
</script> </script>
<style scoped> <style lang="scss" scoped>
.tab3 { @import '@/styles/common.scss';
height: 100%; @import '@/views/reviewArchiPoliticeCheck/index.scss';
}
.content {
display: flex;
height: 77%;
}
.el-button--primary {
background: rgba(13, 134, 127, 1);
color: #fff;
border: 0;
}
/deep/ .el-alert--success.is-light {
background-color: #d5f5f3;
color: #000;
}
/deep/ .el-divider--vertical {
width: 4px;
background-color: #0d867f;
}
.left_container {
width: 49%;
border: 1px solid red;
margin-right: 1%;
}
.right_container {
width: 49%;
border: 1px solid red;
}
.bottom_container {
}
</style> </style>
<template> <template>
<div class="tab4"> <div class="tab-component flex-column h-100">
<div class="content"> <div class="content flex">
<div class="left_container"> <div class="left_container m-r-10 flex-column">
<el-alert title="评审标准" type="success" :closable="false"></el-alert> <div class="left_container_title">
<i class="el-icon-caret-right icon"></i>
<span>评审标准</span>
</div> </div>
<div class="right_container"> <div class="left_container_content flex-1"></div>
<el-alert title="评审内容" type="success" :closable="false"></el-alert> </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> </div>
<div class="bottom_container"> <div class="bottom_container">
<div <div class="flex-b-c p-r-20 m-tb-15">
style=" <div class="flex-c">
padding-right: 20px; <span class="m-r-50 p-l-20 bottom_container_title">审查意见</span>
text-align: left;
margin: 15px 0;
display: flex;
align-items: center;
justify-content: space-between;
"
>
<div>
<el-divider direction="vertical"></el-divider>
<span style="margin-right: 50px">评审意见</span>
</div> </div>
<el-button type="primary" size="medium" @click="fnSave()" <div class="flex">
<el-button type="primary" size="medium" @click="handleSave"
>保存意见</el-button >保存意见</el-button
> >
</div> </div>
</div>
<el-input <el-input
type="textarea" type="textarea"
:rows="4" :rows="4"
v-model="textarea" v-model="resultContent"
style="width: 98%" v-no-backslash
class="w-100"
placeholder="请输入"
></el-input> ></el-input>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { savePrelDesInspecte } from '@/api/index.js' import { savePrelDesInspecte, detailPrelDesInspecte } from '@/api/index.js'
export default { export default {
name: 'tab4', name: 'tab4',
components: {}, components: {},
data() { data() {
return { return {
radio: '1', resultContent: '',
textarea: '', isMeet: null,
select: '1',
row: {}, row: {},
} }
}, },
mounted() { created() {
this.row = JSON.parse(this.$route.query.row) this.row = JSON.parse(this.$route.query.row)
this.getDetail()
}, },
methods: { methods: {
fnSave() { getDetail() {
const params = {
reviewEnum: 'FUNCTIONAL_DEPTH_REVIEW',
prjId: this.row.prjId,
}
detailPrelDesInspecte(params).then((res) => {
if (res.code === 200) {
this.resultContent = res.data.reviewSuggestion
this.isMeet = res.data.reviewState
}
})
},
handleSave() {
const params = {
reviewEnum: 'FUNCTIONAL_DEPTH_REVIEW',
prjId: this.row.prjId,
reviewState: this.isMeet,
reviewSuggestion: this.resultContent,
}
const loading = this.$loading({ const loading = this.$loading({
lock: true, lock: true,
text: '保存中', text: '保存中',
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
}) })
const params = {
reviewState: 0,
reviewSuggestion: this.textarea,
prjId: row.prjId,
reviewEnum: 'FUNCTIONAL_DEPTH_REVIEW',
}
savePrelDesInspecte(params).then((res) => { savePrelDesInspecte(params).then((res) => {
loading.close() loading.close()
if (res.code === 200) { if (res.code == 200) {
this.$message.success('保存成功') this.$message.success('保存成功')
} else { } else {
this.$message.error(res.msg) this.$message.error(res.msg)
...@@ -77,36 +98,7 @@ export default { ...@@ -77,36 +98,7 @@ export default {
}, },
} }
</script> </script>
<style scoped> <style lang="scss" scoped>
.tab4 { @import '@/styles/common.scss';
height: 100%; @import '@/views/reviewArchiPoliticeCheck/index.scss';
}
.content {
display: flex;
height: 77%;
}
.el-button--primary {
background: rgba(13, 134, 127, 1);
color: #fff;
border: 0;
}
/deep/ .el-alert--success.is-light {
background-color: #d5f5f3;
color: #000;
}
/deep/ .el-divider--vertical {
width: 4px;
background-color: #0d867f;
}
.left_container {
width: 49%;
border: 1px solid red;
margin-right: 1%;
}
.right_container {
width: 49%;
border: 1px solid red;
}
.bottom_container {
}
</style> </style>
<template> <template>
<div class="tab5"> <div class="tab-component flex-column h-100">
<div class="content"> <div class="content flex">
<div class="left_container"> <div class="left_container m-r-10 flex-column">
<el-alert title="评审标准" type="success" :closable="false"></el-alert> <div class="left_container_title">
<i class="el-icon-caret-right icon"></i>
<span>评审标准</span>
</div> </div>
<div class="right_container"> <div class="left_container_content flex-1"></div>
<el-alert title="评审内容" type="success" :closable="false"></el-alert> </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> </div>
<div class="bottom_container"> <div class="bottom_container">
<div <div class="flex-b-c p-r-20 m-tb-15">
style=" <div class="flex-c">
padding-right: 20px; <span class="m-r-50 p-l-20 bottom_container_title">审查意见</span>
text-align: left;
margin: 15px 0;
display: flex;
align-items: center;
justify-content: space-between;
"
>
<div>
<el-divider direction="vertical"></el-divider>
<span style="margin-right: 50px">评审意见</span>
</div> </div>
<el-button type="primary" size="medium" @click="fnSave()" <div class="flex">
<el-button type="primary" size="medium" @click="handleSave"
>保存意见</el-button >保存意见</el-button
> >
</div> </div>
</div>
<el-input <el-input
type="textarea" type="textarea"
:rows="4" :rows="4"
v-model="textarea" v-model="resultContent"
style="width: 98%" v-no-backslash
class="w-100"
placeholder="请输入"
></el-input> ></el-input>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { savePrelDesInspecte } from '@/api/index.js' import { savePrelDesInspecte, detailPrelDesInspecte } from '@/api/index.js'
export default { export default {
name: 'tab5', name: 'tab5',
components: {}, components: {},
data() { data() {
return { return {
radio: '1', resultContent: '',
textarea: '', isMeet: null,
select: '1',
row: {}, row: {},
} }
}, },
mounted() { created() {
this.row = JSON.parse(this.$route.query.row) this.row = JSON.parse(this.$route.query.row)
this.getDetail()
}, },
methods: { methods: {
fnSave() { getDetail() {
const params = {
reviewEnum: 'DATA_DEPTH_REVIEW',
prjId: this.row.prjId,
}
detailPrelDesInspecte(params).then((res) => {
if (res.code === 200) {
this.resultContent = res.data.reviewSuggestion
this.isMeet = res.data.reviewState
}
})
},
handleSave() {
const params = {
reviewEnum: 'DATA_DEPTH_REVIEW',
prjId: this.row.prjId,
reviewState: this.isMeet,
reviewSuggestion: this.resultContent,
}
const loading = this.$loading({ const loading = this.$loading({
lock: true, lock: true,
text: '保存中', text: '保存中',
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
}) })
const params = {
reviewState: 0,
reviewSuggestion: this.textarea,
prjId: row.prjId,
reviewEnum: 'DATA_DEPTH_REVIEW',
}
savePrelDesInspecte(params).then((res) => { savePrelDesInspecte(params).then((res) => {
loading.close() loading.close()
if (res.code === 200) { if (res.code == 200) {
this.$message.success('保存成功') this.$message.success('保存成功')
} else { } else {
this.$message.error(res.msg) this.$message.error(res.msg)
...@@ -77,36 +98,7 @@ export default { ...@@ -77,36 +98,7 @@ export default {
}, },
} }
</script> </script>
<style scoped> <style lang="scss" scoped>
.tab5 { @import '@/styles/common.scss';
height: 100%; @import '@/views/reviewArchiPoliticeCheck/index.scss';
}
.content {
display: flex;
height: 77%;
}
.el-button--primary {
background: rgba(13, 134, 127, 1);
color: #fff;
border: 0;
}
/deep/ .el-alert--success.is-light {
background-color: #d5f5f3;
color: #000;
}
/deep/ .el-divider--vertical {
width: 4px;
background-color: #0d867f;
}
.left_container {
width: 49%;
border: 1px solid red;
margin-right: 1%;
}
.right_container {
width: 49%;
border: 1px solid red;
}
.bottom_container {
}
</style> </style>
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!