From 3533b11c19b628e45f26d25bedd7c82e0aa2037a Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期五, 14 三月 2025 17:24:24 +0800 Subject: [PATCH] 接口对接 --- src/views/templateManage/components/createSign.vue | 64 ++++++++++++++++++------------- 1 files changed, 37 insertions(+), 27 deletions(-) diff --git a/src/views/templateManage/components/createSign.vue b/src/views/templateManage/components/createSign.vue index f6a217f..099f818 100644 --- a/src/views/templateManage/components/createSign.vue +++ b/src/views/templateManage/components/createSign.vue @@ -3,19 +3,22 @@ <el-dialog v-model="dialogVisible" title="创建签署项目" - width="50%" + width="550px" :before-close="handleClose" :close-on-press-escape="false" :close-on-click-modal="false" > <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules" label-width="150px" > - <el-form-item label="项目名称:" prop="name" > - <el-input v-model="state.form.name" placeholder="请输入项目名称"></el-input> + <el-form-item label="项目名称:" prop="itemName" > + <el-input v-model="state.form.itemName" placeholder="请输入项目名称"></el-input> </el-form-item> + + <div style="display: flex;align-items: center;"> + <el-form-item label="最初签署人:" prop="deptId" > - <div style="display: flex;"> <el-cascader - style="width: 50%" + :show-all-levels="false" + style="width: 170px" clearable placeholder="请选择部门" v-model="state.form.deptId" @@ -23,18 +26,16 @@ @change="selectValue" :props="{ expandTrigger: 'hover', value: 'deptId',label: 'deptName',emitPath: false}"> </el-cascader> - <el-select clearable - v-model="state.form.people" + v-model="state.form.initiaiUserId" filterable - multiple remote reserve-keyword - placeholder="请输入签署人名称(可多选)" + placeholder="请输入签署人名称" remote-show-suffix :remote-method="(val)=>getUserList(val,state.form.deptId)" - style="width: 50%;margin-left: 10px" + style=" width:170px;margin-left:20px" > <el-option v-for="item in state.userList" @@ -43,9 +44,8 @@ :value="item.userId" /> </el-select> - </div> - </el-form-item> + </div> </el-form> <template #footer> <span class="dialog-footer"> @@ -61,6 +61,7 @@ import {ElMessage} from "element-plus"; import {listDept} from "@/api/system/dept"; import {listUser} from "@/api/system/user"; +import {addSignProject} from "@/api/signAgreement/signProject"; const { proxy } = getCurrentInstance(); const dialogVisible = ref(false); @@ -72,25 +73,28 @@ const state = reactive({ form: { id: '', - deptId: '', - people: [] + itemName: '', + deptId: null, + initiaiUserId: null, + templateId: null }, options: [], userList: [], formRules:{ deptId: [{ required: true, trigger: "blur", message:'请选择部门' }], - people: [{ required: true, trigger: "blur", message:'请选择签署人' }], + itemName: [{ required: true, trigger: "blur", message:'请输入项目名称' }], }, }) const openDialog = async (value) => { await getDept() + state.form.templateId = value.id dialogVisible.value = true; } const selectValue = (val) => { state.userList = [] - state.form.people = [] + state.form.initiaiUserId = null getUserList("",val) } @@ -107,15 +111,19 @@ const valid = await busRef.value.validate(); if(valid){ const {id, ...data} = JSON.parse(JSON.stringify(state.form)) - // const res = await addWarehouse(data) - // if(res.code === 200){ - // ElMessage({ - // type: 'success', - // message: '新增成功' - // }); - // }else{ - // ElMessage.warning(res.message) - // } + if(data.initiaiUserId == null) { + ElMessage.warning('请选择签署人') + return; + } + const res = await addSignProject(data) + if(res.code === 200){ + ElMessage({ + type: 'success', + message: '新增成功' + }); + }else{ + ElMessage.warning(res.message) + } emit("getList") busRef.value.clearValidate(); reset(); @@ -133,8 +141,10 @@ const reset = () => { state.form = { id: '', - name: '', - remark: '', + itemName: '', + deptId: null, + initiaiUserId: null, + templateId: null } } const getUserList = async (val,deptId)=>{ -- Gitblit v1.9.2