<template> <!-- 自定义表单 --> <el-divider content-position="left">项目入库详情</el-divider> <BasicForm @register="registerProjectForm" /> <el-divider content-position="left">项目审批详情</el-divider> <BasicTable @register="registerTable"/> <div> <el-divider content-position="left">项目审批</el-divider> <BasicForm @register="registerApprovalForm" @submit="handleSubmit"/> </div> </template> <script lang="ts" name="complectedDetail" setup> import { defineProps,watchEffect} from 'vue' import { useForm, BasicForm } from '/@/components/Form'; import { formSchemas,approveStartProcessColumns} from '../../projectLib/projectInfo/projectInfo.data'; import {queryProjectInfoById,queryProcessInfo} from '../../projectLib/projectInfo/projectInfo.api' import {BasicTable } from '/@/components/Table'; import { useListPage } from '/@/hooks/system/useListPage'; import {approvalformSchemas} from '../inComplete/inComplete.data' import {submitTask} from '../inComplete/inComplete.api'; let proid = defineProps(["dataTo","taskid"]) const emit = defineEmits(['close']); watchEffect(async ()=>{ console.log("dataTo",proid.dataTo) let param:any = { projectid:proid.dataTo } let res =await queryProjectInfoById(param) console.log("结果是",res) setFieldsValue(res) reload() }) /** * BasicForm绑定注册; * useForm 是整个框架的核心用于表单渲染,里边封装了很多公共方法; * 支持(schemas: 渲染表单列,autoSubmitOnEnter:回车提交,submitButtonOptions:自定义按钮文本和图标等方法); * 平台通过此封装,简化了代码,支持自定义扩展; */ const [registerProjectForm,{setFieldsValue}] = useForm({ //注册表单列 schemas: formSchemas, showActionButtonGroup: false, //回车提交 // autoSubmitOnEnter: true, // //不显示重置按钮 // showResetButton: false, //自定义提交按钮文本和图标 // submitButtonOptions: { text: '提交', preIcon: '' }, //查询列占比 24代表一行 取值范围 0-24 // actionColOptions: { span: 17 }, labelCol: { style: { width: '120px' } }, wrapperCol:{ style: { width: 'auto' } }, disabled:true }); const { tableContext } = useListPage({ tableProps: { size:'small',//紧凑型表格 title: '流程审批情况', api:queryProcessInfo, columns: approveStartProcessColumns, showActionColumn:false, useSearchForm:false, beforeFetch(params) { params.status = "1", params.projectid=proid.dataTo }, }, }); // BasicTable绑定注册 const [registerTable,{reload}] = tableContext; const[registerApprovalForm,{validate,getFieldsValue}] = useForm({ //注册表单列 schemas: approvalformSchemas, //自定义查询按钮的文本和图标 // submitButtonOptions: { text: '提交', preIcon: '' }, //自定义重置按钮的文本和图标 resetButtonOptions: { text: '取消', preIcon: '' }, // showActionButtonGroup: false, //回车提交 // autoSubmitOnEnter: true, // //不显示重置按钮 // showResetButton: false, //自定义提交按钮文本和图标 submitButtonOptions: { text: '提交', preIcon: '' }, //查询列占比 24代表一行 取值范围 0-24 actionColOptions: { span: 14 }, //提交按钮的自定义事件 // submitFunc: customSubmitFunc, //重置按钮的自定义时间 resetFunc: customResetFunc, labelCol: { style: { width: '120px' } }, wrapperCol:{ style: { width: 'auto' } }, // disabled:true }) async function handleSubmit(){ let approvalform = await getFieldsValue(); let param = { flag:approvalform.flag, projectid:proid.dataTo, comment:approvalform.comment, taskId:proid.taskid } console.log("aaaaaaaaaaa",proid) console.log("param",param,"approvalform",approvalform) if(await validate()){ let res = await submitTask(param) console.log("提交成功!",res) await emit("close"); } } async function customResetFunc(){ emit("close"); } </script> <style></style>