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.
124 lines
4.1 KiB
124 lines
4.1 KiB
<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>
|
|
|