湖州项目前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 lines
3.7 KiB

1 year ago
<template>
<!-- 自定义表单 -->
<div class="first">
<el-divider content-position="left">字段旧值</el-divider>
<BasicForm @register="registeroldFieldForm" />
<el-divider content-position="left">字段新值</el-divider>
<BasicForm @register="registernewFieldForm" />
<div v-if="datares">
1 year ago
<el-divider content-position="left">文件详情</el-divider>
1 year ago
<BasicTable @register="registerResourceTable">
<template #action="{ record }">
<TableAction :actions="getTableAction(record)" />
</template>
</BasicTable>
</div>
</div>
</template>
1 year ago
<script lang="ts" name="fieldChangeDetail" setup>
1 year ago
import { onMounted, ref, reactive } from 'vue'
import { useForm, BasicForm } from '@/components/Form';
import { BasicTable, ActionItem, TableAction, useTable } from '@/components/Table';
import { formSchemas, resourcetableColumns } from '../../projectLib/projectInfo/projectInfo.data';
1 year ago
import { getFieldchangeByGroupid, getFieldchangeFileinfoList } from '../../projectLib/projectInfo/projectInfo.api'
1 year ago
import { downloadFile } from "@/api/common/api"
1 year ago
import { FormSchema } from '@/components/Form';
let dataTo = defineProps(["fieldChangeGroupid", "isEdit"])
1 year ago
console.log("dataTodataTodataTo", dataTo)
let datares = ref()
1 year ago
let showFormSchema: FormSchema[] = []
let objnew = ref({})
let objold = ref({})
1 year ago
onMounted(async () => {
1 year ago
let res = await getFieldchangeByGroupid({ fieldChangeGroupid: dataTo.fieldChangeGroupid })
datares.value = await getFieldchangeFileinfoList({ fieldChangeGroupid: dataTo.fieldChangeGroupid })
1 year ago
// if (datares.value) {
// setTableData(datares.value)
// }
1 year ago
res.forEach(itemRes => {
formSchemas.forEach(itemformSchemas => {
if (itemformSchemas.field == itemRes.fieldValue) {
showFormSchema.push(itemformSchemas)
objnew[itemRes.fieldValue] = itemRes.newvalue
objold[itemRes.fieldValue] = itemRes.oldvalue
}
})
1 year ago
})
1 year ago
resetoldSchema(showFormSchema)
resetnewSchema(showFormSchema)
setnewFieldsValue(objnew)
setoldFieldsValue(objold)
setProps({ disabled: dataTo.isEdit == true ? false : true })
1 year ago
})
const [registeroldFieldForm, { setFieldsValue: setoldFieldsValue, resetSchema: resetoldSchema }] = useForm({
showActionButtonGroup: false,
labelCol: { style: { width: '120px' } },
wrapperCol: { style: { width: 'auto' } },
disabled: true
})
const [registernewFieldForm, { setProps, getFieldsValue: getnewFieldsValue, setFieldsValue: setnewFieldsValue, resetSchema: resetnewSchema, validate }] = useForm({
showActionButtonGroup: false,
labelCol: { style: { width: '120px' } },
wrapperCol: { style: { width: 'auto' } },
disabled: true
})
//项目资料table
const [registerResourceTable, { setTableData }] = useTable({
size: 'small',//紧凑型表格
title: '资料详情',
api: getFieldchangeFileinfoList,
columns: resourcetableColumns,
useSearchForm: false,
actionColumn: {
width: 140,
title: '操作',
dataIndex: 'action',
slots: { customRender: 'action' },
},
beforeFetch(param) {
1 year ago
param.fieldChangeGroupid = dataTo.fieldChangeGroupid
1 year ago
}
});
function getTableAction(record): ActionItem[] {
return [
{
label: '下载',
ifShow: true,
onClick: handleDetailpage.bind(null, record),
}
];
}
function handleDetailpage(record) {
console.log("我这一行的数据是", record)
let param = {
path: record.documentPath,
fileName: record.documentName
}
//
console.log("我这一行的数据是", param)
downloadFile("/huzhouUploadfileinfo/downloadfile", record.documentName, param)
}
1 year ago
1 year ago
defineExpose({ getnewFieldsValue, validate })
</script>
<style scoped>
.first {
padding-top: 20px;
margin-top: 20px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);
}
</style>