17 changed files with 268 additions and 384 deletions
@ -1,107 +0,0 @@ |
|||
<template> |
|||
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> |
|||
<el-tab-pane label="项目入库详情" name="1"> |
|||
<ProjectDetails :isEdit="false" :projectid="projectid" /> |
|||
</el-tab-pane> |
|||
<el-tab-pane label="项目资料" name="2"> |
|||
<el-divider content-position="left">项目资料详情</el-divider> |
|||
<UploadfileDetail :projectid="projectid" :stage="1" /> |
|||
<el-divider content-position="left">意见文件</el-divider> |
|||
<UploadfileDetail :projectid="projectid" :stage="2" /> |
|||
</el-tab-pane> |
|||
<el-tab-pane label="项目计划详情" name="3"> |
|||
<PlaninfoDetails :projectid="projectid" :showActionColumn="true"> |
|||
<template #default="record"> |
|||
<TableAction :actions="getTableAction(record)" /> |
|||
</template> |
|||
</PlaninfoDetails> |
|||
</el-tab-pane> |
|||
</el-tabs> |
|||
<ApprovalDetails :processInstanceId="processInstanceId"/> |
|||
|
|||
<planinfoFileDetail @register="registerFileInfo" :planinfoid="planinfoid" :taskName="taskName" :isfinish="isfinish" /> |
|||
<ApprovalFromPage :showApprovalForm="showApprovalForm" :buttons="resButton.buttons" ref="ApprovalFromPageRef" |
|||
@submit="handleSubmit" @exit="exit" /> |
|||
</template> |
|||
|
|||
<script lang="ts" name="system-user" setup> |
|||
//ts语法 |
|||
import { ref,onMounted } from 'vue'; |
|||
import { useModal } from '@/components/Modal'; |
|||
import ProjectDetails from "../ProcessApprovalSubPage/component/ProjectDetails.vue" |
|||
import UploadfileDetail from "../ProcessApprovalSubPage/component/UploadfileDetail.vue" |
|||
import PlaninfoDetails from "../ProcessApprovalSubPage/component/PlaninfoDetails.vue" |
|||
import ApprovalDetails from "../ProcessApprovalSubPage/component/ApprovalDetails.vue" |
|||
import ApprovalFromPage from "../ProcessApprovalSubPage/component/ApprovalFromPage.vue" |
|||
import { ActionItem, TableAction } from '@/components/Table'; |
|||
import { getActionParam } from '../myWork/inComplete/inComplete.api'; |
|||
import planinfoFileDetail from '../projectLib/projectPlan/planinfoFileDetail.vue' |
|||
import { approveProjectArchive } from "../projectLib/projectArchive/projectArchive.api" |
|||
import type { TabsPaneContext } from 'element-plus' |
|||
let emit = defineEmits(["close"]) |
|||
let dataTo = defineProps(["record"]) |
|||
console.log("routerouterouteroute", dataTo.record) |
|||
let projectid = dataTo.record.projectId as string |
|||
let processInstanceId = dataTo.record.processInstanceId |
|||
let taskid = dataTo.record.taskId as string |
|||
let ApprovalFromPageRef = ref() |
|||
let showApprovalForm = ref() |
|||
let planinfoid = ref() |
|||
let taskName = ref() |
|||
let isfinish = ref() |
|||
let resButton = ref({ |
|||
showApprovalForm: false, |
|||
isEdit: false, |
|||
buttons: [] |
|||
}) |
|||
onMounted(async () => { |
|||
resButton.value = await getActionParam({ processInstanceId: processInstanceId, taskId: taskid, procesType: dataTo.record.procesType }) |
|||
showApprovalForm.value = resButton.value.showApprovalForm |
|||
}) |
|||
|
|||
const [registerFileInfo, { openModal: openFileInfo }] = useModal();//文件上传和查看 |
|||
console.log("dataTo",dataTo) |
|||
const activeName = ref('1') |
|||
|
|||
const handleClick = (tab: TabsPaneContext, event: Event) => { |
|||
console.log(tab, event) |
|||
} |
|||
function getTableAction(record): ActionItem[] { |
|||
return [ |
|||
{ |
|||
label: '详情', |
|||
onClick: handleDetail.bind(null, record), |
|||
}, |
|||
]; |
|||
} |
|||
|
|||
function handleDetail(record) { |
|||
console.log("rrrrrrrr", record) |
|||
planinfoid.value = record.record.id |
|||
taskName.value = record.record.taskName |
|||
isfinish.value = record.record.isfinish |
|||
console.log("rrrrrrrr", record, record.id, record.taskName, planinfoid.value, taskName.value) |
|||
|
|||
openFileInfo() |
|||
|
|||
} |
|||
async function handleSubmit() { |
|||
let approvalform = await ApprovalFromPageRef.value.getFieldsValueApprovalForm(); |
|||
const params = new FormData() |
|||
params.append("flag", approvalform.flag) |
|||
params.append("projectid", projectid) |
|||
params.append("comment", approvalform.comment) |
|||
params.append("taskId", taskid) |
|||
console.log("param", params, "approvalform", approvalform) |
|||
if (await ApprovalFromPageRef.value.validateApprovalForm()) { |
|||
let res = await approveProjectArchive(params) |
|||
console.log("提交成功!", res) |
|||
emit("close") |
|||
} |
|||
} |
|||
function exit() { |
|||
emit("close") |
|||
} |
|||
</script> |
|||
|
|||
<style scoped></style> |
@ -1,100 +0,0 @@ |
|||
<template> |
|||
<!-- 自定义表单 --> |
|||
<el-divider content-position="left">项目入库详情</el-divider> |
|||
<BasicForm @register="registerProjectForm" @submit="handleSubmit" /> |
|||
</template> |
|||
<script lang="ts" name="initiatesProjectsApproval" setup> |
|||
import { onMounted, onUpdated } from 'vue' |
|||
import { useForm, BasicForm } from '@/components/Form'; |
|||
import { formSchemas } from '../../projectLib/projectInfo/projectInfo.data'; |
|||
import { queryProjectInfoById } from '../../projectLib/projectInfo/projectInfo.api' |
|||
import { modifyProjectInfo,modifyProjectInfoApproval } from '../../myWork/inComplete/inComplete.api'; |
|||
import { getUserInfoByid } from '../../projectLib/initiatesProjects/initiatesProjects.api' |
|||
|
|||
|
|||
let dataTo = defineProps(["projectid", "isEdit", "IsApproval"]) |
|||
const emit = defineEmits(['close']); |
|||
console.log("结果ddddd是", dataTo) |
|||
|
|||
onMounted(async () => { |
|||
let param: any = { |
|||
projectid: dataTo.projectid |
|||
} |
|||
let res = await queryProjectInfoById(param) |
|||
console.log("结果是", res, dataTo) |
|||
setFieldsValue(res) |
|||
}) |
|||
onUpdated(async () => { |
|||
console.log("我更新了") |
|||
let proform = getFieldsValueProjectForm() |
|||
for (let key in proform) { |
|||
if (key.indexOf("Contactor") != -1) { |
|||
let userid = proform[key] |
|||
let res = await getUserInfoByid({ id: userid }) |
|||
console.log(key, res.nickname) |
|||
updateProjectSchema({ |
|||
field: key, |
|||
componentProps: { |
|||
options: [{ |
|||
value: userid, |
|||
label: res.nickname |
|||
} |
|||
], |
|||
} |
|||
}) |
|||
} |
|||
} |
|||
|
|||
} |
|||
) |
|||
/** |
|||
* BasicForm绑定注册;src\views\ProcessApprovalSubPage\initiatesProjectsApproval\initiatesProjectsApproval.vue |
|||
* useForm 是整个框架的核心用于表单渲染,里边封装了很多公共方法; |
|||
* 支持(schemas: 渲染表单列,autoSubmitOnEnter:回车提交,submitButtonOptions:自定义按钮文本和图标等方法); |
|||
* 平台通过此封装,简化了代码,支持自定义扩展; |
|||
*/ |
|||
const [registerProjectForm, { validate: validateProjectForm, setFieldsValue, getFieldsValue: getFieldsValueProjectForm, updateSchema: updateProjectSchema }] = useForm({ |
|||
//注册表单列 |
|||
schemas: formSchemas, |
|||
showActionButtonGroup: dataTo.isEdit, |
|||
//回车提交 |
|||
// autoSubmitOnEnter: true, |
|||
// //不显示重置按钮 |
|||
// showResetButton: false, |
|||
//自定义提交按钮文本和图标 |
|||
submitButtonOptions: { text: '提交', preIcon: '' }, |
|||
resetButtonOptions: { text: '取消', preIcon: '' }, |
|||
//查询列占比 24代表一行 取值范围 0-24 |
|||
resetFunc: customResetFunc, |
|||
|
|||
actionColOptions: { span: 14 }, |
|||
labelCol: { style: { width: '120px' } }, |
|||
wrapperCol: { style: { width: 'auto' } }, |
|||
disabled: dataTo.isEdit == true ? false : true, |
|||
}); |
|||
|
|||
|
|||
async function handleSubmit() { |
|||
let projectform = await getFieldsValueProjectForm(); |
|||
let param = { |
|||
projectInfo: projectform |
|||
} |
|||
// let outrs = Object.assign({},param,projectform) |
|||
console.log("param", param, "projectform", projectform) |
|||
if (await validateProjectForm()) { |
|||
if (dataTo.IsApproval) { |
|||
modifyProjectInfoApproval(projectform) |
|||
emit("close") |
|||
} else { |
|||
modifyProjectInfo(projectform) |
|||
emit("close") |
|||
} |
|||
|
|||
|
|||
} |
|||
} |
|||
async function customResetFunc() { |
|||
emit("close") |
|||
} |
|||
</script> |
|||
<style></style> |
Loading…
Reference in new issue