Browse Source

详情回滚

master
陈薪名 12 months ago
parent
commit
93dd254e5e
  1. 164
      src/components/Detail/src/Detail.vue

164
src/components/Detail/src/Detail.vue

@ -1,32 +1,18 @@
<template> <template>
<div> <div>
<el-drawer <el-drawer v-model="isShowDrawer" title="详情" direction="rtl" size="80%" v-loading="detailLoading">
v-model="isShowDrawer"
title="详情"
direction="rtl"
size="80%"
v-loading="detailLoading"
>
<template #header> <template #header>
<div class="font-size-18px"> <div class="font-size-18px">
{{ titleValueRef }} <span class="ml-20px font-size-16px">{{ titleNameRef }}</span> {{ titleValueRef }} <span class="ml-20px font-size-16px">{{ titleNameRef }}</span>
</div> </div>
</template> </template>
<ContentWrap v-if="!isBasic"> <ContentWrap v-if="!isBasic">
<Descriptions <Descriptions :data="detailData" labelClassName="label-class-name" label-align="left" direction="vertical"
:data="detailData" :column="8" :schema="allSchemas.detailSchema" :columns="2" width="200px" />
labelClassName="label-class-name"
label-align="left"
direction="vertical"
:column="8"
:schema="allSchemas.detailSchema"
:columns="2"
width="200px"
/>
</ContentWrap> </ContentWrap>
<Tabs :tabsList="tabsList" :current="current" @change="change" /> <Tabs :tabsList="tabsList" :current="current" @change="change" />
<div class="flex"> <div class="flex" v-if="current == 0">
<!-- 详情 --> <!-- 详情 -->
<ContentWrap class="w-[73%]"> <ContentWrap class="w-[73%]">
<!-- 列表头部 --> <!-- 列表头部 -->
@ -39,43 +25,26 @@
@searchFormClick="searchFormClick" @searchFormClick="searchFormClick"
:allSchemas="detailAllSchemas" :allSchemas="detailAllSchemas"
/> />
<Descriptions <Descriptions v-if="isBasic" :data="detailData" :schema="allSchemas.detailSchema" :columns="2" />
v-if="isBasic"
:data="detailData"
:schema="allSchemas.detailSchema"
:columns="2"
/>
<Table <Table
v-if="!isBasic" v-if="!isBasic"
:columns="tableColumnsRef" :columns="detailAllSchemas.tableColumns"
:data="tableObjectRef.tableList" :data="tableObject.tableList"
:loading="tableObjectRef.loading" :loading="tableObject.loading"
:pagination="{ total: tableObjectRef.total }" :pagination="{ total: tableObject.total }"
v-model:pageSize="tableObjectRef.pageSize" v-model:pageSize="tableObject.pageSize"
v-model:currentPage="tableObjectRef.currentPage" v-model:currentPage="tableObject.currentPage" >
>
<template #action="{ row }"> <template #action="{ row }">
<ButtonBase <ButtonBase :Butttondata="buttondata" @button-base-click="buttonTableClick($event, row)" />
:Butttondata="buttondata"
@button-base-click="buttonTableClick($event, row)"
/>
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>
<ContentWrap class="w-[27%] ml-16px"> <ContentWrap class="w-[27%] ml-16px">
<!-- 附件组件 --> <!-- 附件组件 -->
<Annex <Annex :annexData="annexData" @handleAnnexSuccess="handleAnnexSuccess" @deleteAnnexSuccess="deleteAnnexSuccess" :upData="remarksData.data"/>
:annexData="annexData"
@handleAnnexSuccess="handleAnnexSuccess"
@deleteAnnexSuccess="deleteAnnexSuccess"
:upData="remarksData.data"
/>
<!-- 备注组件 --> <!-- 备注组件 -->
<Remarks <Remarks :remarksData="remarksData" class="mt-20px"
:remarksData="remarksData" @remarksSubmitScuess="remarksSubmitScuess" />
class="mt-20px"
@remarksSubmitScuess="remarksSubmitScuess"
/>
<!-- 变更记录组件 --> <!-- 变更记录组件 -->
<ChangeRecord :changeRecordData="changeRecordData" class="mt-20px" /> <ChangeRecord :changeRecordData="changeRecordData" class="mt-20px" />
</ContentWrap> </ContentWrap>
@ -84,7 +53,7 @@
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
<BasicForm <BasicForm
ref="formRef" ref="formRef"
@success="submitForm" @success="getList"
:rules="detailAllSchemasRules" :rules="detailAllSchemasRules"
:formAllSchemas="detailAllSchemas" :formAllSchemas="detailAllSchemas"
:isBusiness="false" :isBusiness="false"
@ -178,31 +147,22 @@ const props = defineProps({
type: Array, type: Array,
required: false, required: false,
default: null default: null
} },
}) })
const isShowDrawer = ref(false) const isShowDrawer = ref(false)
const detailLoading = ref(false) const detailLoading = ref(false)
const tabsList = ref(JSON.parse(JSON.stringify(props.tabs ? props.tabs : ''))) const tabsList = ref(JSON.parse(JSON.stringify(props.tabs ? props.tabs : '')))
if (props.isBasic == true) {
if (tabsList.value && tabsList.value.length > 0) { if (tabsList.value && tabsList.value.length > 0) {
tabsList.value.unshift({ tabsList.value.unshift({
label: '详情', label: '详情',
prop: 'Detail' prop: 'Detail'
}) })
}
} else { } else {
if (tabsList.value && tabsList.value.length > 0) { tabsList.value = [{
} else {
tabsList.value = [
{
label: '明细', label: '明细',
prop: 'Detail' prop: 'Detail'
} }]
]
}
}
if (tabsList.value) {
} }
// //
@ -234,9 +194,11 @@ const getFileList = async () => {
const handleAnnexSuccess = () => { const handleAnnexSuccess = () => {
getFileList() getFileList()
getChangeRecordList() getChangeRecordList()
} }
// //
const deleteAnnexSuccess = async () => { const deleteAnnexSuccess = async () => {
getFileList() getFileList()
getChangeRecordList() getChangeRecordList()
} }
@ -245,14 +207,13 @@ const deleteAnnexSuccess = async () => {
const current = ref(0) const current = ref(0)
const change = (item, index) => { const change = (item, index) => {
current.value = index current.value = index
emit('changeTabs', item)
} }
// //
const masterParmas=ref({ const masterParmas=ref({
masterId:'',//id masterId:'',//id
number: '',// number: '',//
status: '' // status: '',//
}) })
// //
@ -268,7 +229,7 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName:
titleValueRef.value = titleValue titleValueRef.value = titleValue
remarksData.data = { remarksData.data = {
tableId: row.id, tableId: row.id,
tableName: tableName tableName: tableName,
} }
// //
if(!props.isBasic) { if(!props.isBasic) {
@ -276,8 +237,8 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName:
masterParmas.value.masterId = row.id masterParmas.value.masterId = row.id
masterParmas.value.number = row.number masterParmas.value.number = row.number
masterParmas.value.status = row.status masterParmas.value.status = row.status
tableObjectRef.value.params = { tableObject.params = {
masterId: row.id masterId: row.id,
} }
getList() getList()
} }
@ -291,19 +252,13 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName:
getChangeRecordList() getChangeRecordList()
// //
HeadButttondata.value = [ HeadButttondata.value = [
defaultButtons.defaultAddBtn({ defaultButtons.defaultAddBtn({hide:isShowMainButton(row,['1','1','PLAN_PURCHASE_READY','1'])}), //
hide: isShowMainButton(row, ['1', '1', 'PLAN_PURCHASE_READY', '1']) defaultButtons.defaultFilterBtn(null), //
}), //
defaultButtons.defaultFilterBtn(null) //
] ]
// //
buttondata.value = [ buttondata.value = [
defaultButtons.mainListEditBtn({ defaultButtons.mainListEditBtn({hide:isShowMainButton(row,['1','1','PLAN_PURCHASE_READY','1'])}), //
hide: isShowMainButton(row, ['1', '1', 'PLAN_PURCHASE_READY', '1']) // defaultButtons.mainListDeleteBtn({hide:isShowMainButton(row,['1','1','PLAN_PURCHASE_READY','1'])}), //
}), //
defaultButtons.mainListDeleteBtn({
hide: isShowMainButton(row, ['1', '1', 'PLAN_PURCHASE_READY', '1'])
}) //
] ]
} finally { } finally {
detailLoading.value = false detailLoading.value = false
@ -332,19 +287,10 @@ const getChangeRecordList = async () => {
changeRecordData.changeRecordList = await RemarkApi.getChangeRecordPage(remarksData.data) changeRecordData.changeRecordList = await RemarkApi.getChangeRecordPage(remarksData.data)
} }
const tableObjectRef = ref()
const tableMethodsRef = ref()
const tableColumnsRef = ref()
const { tableObject, tableMethods } = useTable({ const { tableObject, tableMethods } = useTable({
getListApi: props.apiPage // getListApi: props.apiPage //
}) })
tableObjectRef.value = tableObject
tableMethodsRef.value = tableMethods
tableColumnsRef.value = props.detailAllSchemas.tableColumns
// //
const isShowMainButton = (row,val) => { const isShowMainButton = (row,val) => {
if (val.indexOf(row.status) > -1) { if (val.indexOf(row.status) > -1) {
@ -354,27 +300,22 @@ const isShowMainButton = (row, val) => {
} }
} }
// //
const { getList } = tableMethodsRef.value const { getList } = tableMethods
// //
const buttonBaseClick = (val, item) => { const buttonBaseClick = (val, item) => {
if (val == 'add') { if (val == 'add') { //
//
openForm('create') openForm('create')
} else if (val == 'import') { } else if (val == 'import') { //
//
handleImport() handleImport()
} else if (val == 'export') { } else if (val == 'export') { //
//
handleExport() handleExport()
} else if (val == 'refresh') { } else if (val == 'refresh') { //
//
getList() getList()
} else if (val == 'filtrate') { } else if (val == 'filtrate') { //
// } else { //
} else {
//
console.log('其他按钮', item) console.log('其他按钮', item)
} }
} }
@ -386,11 +327,9 @@ const buttonBaseClick = (val, item) => {
// - // -
const buttonTableClick = async (val, row) => { const buttonTableClick = async (val, row) => {
if (val == 'edit') { if (val == 'edit') { //
//
openForm('update', row) openForm('update', row)
} else if (val == 'delete') { } else if (val == 'delete') { //
//
handleDelete(row.id) handleDelete(row.id)
} }
} }
@ -422,7 +361,9 @@ const searchTableSuccess = (formField, searchField, val, formRef) => {
emit('searchTableSuccessDetail', formField, searchField, val, formRef) emit('searchTableSuccessDetail', formField, searchField, val, formRef)
} }
// //
const emit = defineEmits(['searchTableSuccessDetail', 'changeTabs']) const emit = defineEmits([
'searchTableSuccessDetail',
])
/** 删除按钮操作 */ /** 删除按钮操作 */
const handleDelete = async (id: number) => { const handleDelete = async (id: number) => {
try { try {
@ -437,29 +378,12 @@ const handleDelete = async (id: number) => {
} }
// //
const searchFormClick = (searchData) => { const searchFormClick = (searchData) => {
tableObjectRef.value.params = { tableObject.params = {
isSearch: true, isSearch: true,
filters: searchData.filters filters: searchData.filters?searchData.filters:[{column: "masterId", action: "==", value: masterParmas.value.masterId}]
? searchData.filters
: [{ column: 'masterId', action: '==', value: masterParmas.value.masterId }]
} }
getList() // getList() //
} }
//
watch(
() => props.apiPage,
() => {
const { tableObject, tableMethods } = useTable({
getListApi: props.apiPage //
})
tableColumnsRef.value = props.detailAllSchemas.tableColumns
tableObjectRef.value = tableObject
tableMethodsRef.value = tableMethods
const { getList } = tableMethods
getList()
}
)
</script> </script>
<style lang="scss"> <style lang="scss">
.el-drawer__body { .el-drawer__body {

Loading…
Cancel
Save