Commit 7b342fd9 by peiqiQQQ

添加详情页

1 parent 9cd11ac9
<template>
<el-dialog
:title="'详情'"
:visible.sync="showDialog"
:close-on-click-modal="false"
width="66%"
@close="showDialog = false"
@open="handleOpen"
>
<div>
<Form
ref="addForm"
:form-options="formOptions"
label-width="140px"
></Form>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="showDialog = false" size="mini">取 消</el-button>
</span>
</el-dialog >
</template>
<script>
import Form from '@/components/Form.vue'
export default {
components: { Form, },
props: {
visible: {
type: Boolean,
default: false,
},
rowData: {
type: Object,
default: () => {},
},
activeName: {
type: String,
default: '1',
},
activeName2_1: {
type: String,
default: '1',
},
},
computed: {
formOptions() {
let arr = []
if (this.activeName === '1') {
if (this.activeName2_1 === '1') {
arr = [
{
label: '单位名称', // label文字
prop: 'manageOrgName', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
{
label: '概设需求数(个)', // label文字
prop: 'needCount', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
{
label: '概设材料通过数(个)', // label文字
prop: 'reviewPassCount', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
{
label: '概设通过比(%)', // label文字
prop: 'percent', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
]
}else{
arr = [
{
label: '批次', // label文字
prop: 'batName', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
{
label: '项目需求数(个)', // label文字
prop: 'needCount', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
{
label: '项目通过数(个)', // label文字
prop: 'reviewPassCount', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
{
label: '项目通过比(%)', // label文字
prop: 'percent', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
]
}
}else{
arr = [
{
label: '资产名称', // label文字
prop: 'assetName', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
{
label: '资产类型(所属元素)', // label文字
prop: 'eleName', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
{
label: '来源',
prop: 'isExtend',
element: 'el-select', // 指定elementui组件
options: [],
placeholder: '',
disabled: true,
},
{
label: '创建人', // label文字
prop: 'createMan', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
{
label: '创建时间', // label文字
prop: 'createTime', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
]
}
return arr
},
showDialog: {
get() {
return this.visible
},
set(value) {
this.$emit('update:visible', value)
},
},
},
methods: {
handleOpen() {
if (Object.keys(this.rowData).length) {
this.formOptions.forEach((v) => {
v.initValue = this.rowData[v.prop]
})
this.$nextTick(() => {
this.$refs['addForm'].addInitValue()
})
} else {
this.$nextTick(() => {
this.$refs['addForm'].addInitValue()
this.$refs['addForm'].onReset()
})
}
},
}
}
</script>
\ No newline at end of file
......@@ -59,9 +59,27 @@
<template #percent="{ data }">
<span> {{ handlePercent(data) }}</span>
</template>
<template #manageOrgName="{ data }">
<el-button v-if="data.row.manageOrgName" class="detailBtn" size="medium" @click="fnDetail(data.row)">{{data.row.manageOrgName}}</el-button >
<span v-else>{{data.row.manageOrgName}}</span>
</template>
<template #batName="{ data }">
<el-button v-if="data.row.batName" class="detailBtn" size="medium" @click="fnDetail(data.row)">{{data.row.batName}}</el-button >
<span v-else>{{data.row.batName}}</span>
</template>
<template #assetName="{ data }">
<el-button v-if="data.row.assetName" class="detailBtn" size="medium" @click="fnDetail(data.row)">{{data.row.assetName}}</el-button >
<span v-else>{{data.row.assetName}}</span>
</template>
</table-config>
</template>
</list-page>
<Detail
:visible.sync="visible"
:row-data="rowData"
:activeName='activeName'
:activeName2_1='activeName2_1'
/>
</div>
</template>
......@@ -69,6 +87,7 @@
import ListPage from '@/components/ListPage.vue'
import SearchForm from '@/components/SearchForm.vue'
import TableConfig from '@/components/TableConfig.vue'
import Detail from './Detail.vue'
import { queryQyNeedReviewCount, queryArcAstSys } from '@/api/interface'
import { systemArchiSaveFactor, archiIntelligenceSearchTree } from '@/api/index'
......@@ -111,12 +130,15 @@ export default {
'ARCHI_SAFE',
],
elementTree: [],
rowData: {},
visible: false,
}
},
components: {
ListPage,
SearchForm,
TableConfig,
Detail
},
computed: {
getCountType() {
......@@ -156,7 +178,7 @@ export default {
if (this.activeName2_1 === '1') {
arr = [
{ label: '序号', type: 'index', width: '80px' },
{ label: '单位名称', prop: 'manageOrgName' },
{ label: '单位名称', prop: 'manageOrgName', __slotName: 'manageOrgName', },
{ label: '概设需求数(个)', prop: 'needCount' },
{ label: '概设材料通过数(个)', prop: 'reviewPassCount' },
{ label: '概设通过比(%)', __slotName: 'percent' },
......@@ -164,7 +186,7 @@ export default {
} else {
arr = [
{ label: '序号', type: 'index', width: '80px' },
{ label: '批次', prop: 'batName' },
{ label: '批次', prop: 'batName', __slotName: 'batName', },
{ label: '项目需求数(个)', prop: 'needCount' },
{ label: '项目通过数(个)', prop: 'reviewPassCount' },
{ label: '项目通过比(%)', __slotName: 'percent' },
......@@ -174,7 +196,7 @@ export default {
arr = [
{ type: 'selection', width: '55px' },
{ label: '序号', type: 'index', width: '80px' },
{ label: '资产名称', prop: 'assetName' },
{ label: '资产名称', prop: 'assetName', __slotName: 'assetName', },
{ label: '资产类型(所属元素)', prop: 'eleName' },
{
label: '来源',
......@@ -211,6 +233,10 @@ export default {
this.getElementTreeData()
},
methods: {
fnDetail(row){
this.rowData = row
this.visible = true
},
// 同步更新
fnOperation(row) {
let extend = []
......
<template>
<el-dialog
:title="'详情'"
:visible.sync="showDialog"
:close-on-click-modal="false"
width="66%"
@close="showDialog = false"
@open="handleOpen"
>
<div>
<Form
ref="addForm"
:form-options="formOptions"
label-width="120px"
></Form>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="showDialog = false" size="mini">取 消</el-button>
</span>
</el-dialog >
</template>
<script>
import Form from '@/components/Form.vue'
import { buildType, pushStateOptions, onlineApprovalStatusOptions, sendStateOptions } from '@/utils/dictionary'
export default {
components: { Form, },
props: {
visible: {
type: Boolean,
default: false,
},
rowData: {
type: Object,
default: () => {},
},
activeName: {
type: String,
default: '1',
},
activeName2: {
type: String,
default: '1',
}
},
computed: {
formOptions() {
let arr = [
{
label: '批次名称', // label文字
prop: 'batName', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
{
label: '需求名称', // label文字
prop: 'needName', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
{
label: '项目名称', // label文字
prop: 'prjName', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
{
label: '关联机构', // label文字
prop: 'orgName', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
{
label: '材料', // label文字
prop: 'fileList', // 字段名
element: 'el-input', // 指定elementui组件
disabled: true,
},
]
if (this.activeName === '1') {
arr = [
...arr,
{
label: '推送状态',
prop: 'state',
element: 'el-select', // 指定elementui组件
options: pushStateOptions,
options: [
{ label: '已反馈', value: '1' },
{ label: '未反馈', value: '0' },
],
placeholder: '',
disabled: true,
},
{
label: '修改剩余时间',
prop: 'createTime',
element: 'el-input', // 指定elementui组件
disabled: true,
},
{
label: '在线评审状态',
prop: 'onlineReviewState',
element: 'el-select', // 指定elementui组件
options: onlineApprovalStatusOptions,
placeholder: '',
disabled: true,
},
]
}else{
arr = [
...arr,
{
label: '发送状态',
prop: 'sendState',
element: 'el-select', // 指定elementui组件
options: sendStateOptions,
placeholder: '',
disabled: true,
},
]
}
return [
...arr,
{
label: '意见内容',
prop: 'remark',
element: 'el-input', // 指定elementui组件
disabled: true,
},
]
},
showDialog: {
get() {
return this.visible
},
set(value) {
this.$emit('update:visible', value)
},
},
},
methods: {
handleOpen() {
if (Object.keys(this.rowData).length) {
this.formOptions.forEach((v) => {
v.initValue = this.rowData[v.prop]
})
this.$nextTick(() => {
this.$refs['addForm'].addInitValue()
})
} else {
this.$nextTick(() => {
this.$refs['addForm'].addInitValue()
this.$refs['addForm'].onReset()
})
}
},
}
}
</script>
\ No newline at end of file
......@@ -33,6 +33,10 @@
:columns="columns"
:key="activeName"
>
<template #prjName="{ data }">
<el-button v-if="data.row.prjName" class="detailBtn" size="medium" @click="fnDetail(data.row)">{{data.row.prjName}}</el-button >
<span v-else>{{data.row.prjName}}</span>
</template>
</table-config>
</template>
</list-page>
......@@ -54,6 +58,11 @@
:row-data="rowData"
@querySearch="querySearch"
/>
<Detail
:visible.sync="visible"
:row-data="rowData"
:activeName='activeName'
/>
</div>
</template>
......@@ -64,6 +73,7 @@ import TableConfig from '@/components/TableConfig.vue'
import MaterialPush from './MaterialPush.vue'
import MaterialFeedback from './MaterialFeedback'
import ReviewComments from './ReviewComments.vue'
import Detail from './Detail.vue'
import { queryConceptualViewOrg } from '@/api/interface'
import { editConceptualViewOrg } from '@/api'
......@@ -93,6 +103,7 @@ export default {
materialPushVisible: false,
materialFeedbackVisible: false,
reviewCommentsVisible: false,
visible: false,
}
},
components: {
......@@ -102,6 +113,7 @@ export default {
MaterialPush,
MaterialFeedback,
ReviewComments,
Detail
},
computed: {
formOptions() {
......@@ -163,6 +175,7 @@ export default {
label: '项目名称',
prop: 'prjName',
width: '320px',
__slotName: 'prjName',
},
{
label: '关联机构',
......@@ -285,6 +298,10 @@ export default {
},
mounted() {},
methods: {
fnDetail(row){
this.rowData = row
this.visible = true
},
// 表格勾选的数据
selectionChange(data) {
this.selectRows = data
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!