| | |
| | | :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="deptId" > |
| | | <el-form-item label="部门:" prop="signDeptId" > |
| | | <el-cascader |
| | | style="width: 100%" |
| | | clearable |
| | | v-model="state.form.deptId" |
| | | v-model="state.form.signDeptId" |
| | | :options="state.options" |
| | | @change="selectValue" |
| | | :props="{ expandTrigger: 'hover', value: 'deptId',label: 'deptName',emitPath: false}"></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="签署人:" prop="people" > |
| | | <el-form-item label="签署人:" prop="signUserId" > |
| | | <el-select |
| | | clearable |
| | | v-model="state.form.people" |
| | | v-model="state.form.signUserId" |
| | | filterable |
| | | multiple |
| | | remote |
| | | |
| | | reserve-keyword |
| | | placeholder="请输入签署人名称(可多选)" |
| | | remote-show-suffix |
| | | :remote-method="(val)=>getUserList(val,state.form.deptId)" |
| | | :remote-method="(val)=>getUserList(val,state.form.signDeptId)" |
| | | style="width: 100%" |
| | | > |
| | | <el-option |
| | |
| | | import {ElMessage} from "element-plus"; |
| | | import {listDept} from "@/api/system/dept"; |
| | | import {listUser} from "@/api/system/user"; |
| | | import {signFlow} from "@/api/signAgreement/signProject"; |
| | | import {getInfo} from "@/api/login"; |
| | | |
| | | const { proxy } = getCurrentInstance(); |
| | | const dialogVisible = ref(false); |
| | |
| | | |
| | | const state = reactive({ |
| | | form: { |
| | | id: '', |
| | | deptId: '', |
| | | people: [] |
| | | itemId: null, |
| | | signUserId: null, |
| | | signDeptId: null |
| | | }, |
| | | user: {}, |
| | | options: [], |
| | | userList: [], |
| | | formRules:{ |
| | | deptId: [{ required: true, trigger: "blur", message:'请选择部门' }], |
| | | people: [{ required: true, trigger: "blur", message:'请选择签署人' }], |
| | | signDeptId: [{ required: true, trigger: "blur", message:'请选择部门' }], |
| | | signUserId: [{ required: true, trigger: "blur", message:'请选择签署人' }], |
| | | }, |
| | | }) |
| | | |
| | | |
| | | const openDialog = async (value) => { |
| | | await getDept() |
| | | await getUserInfo() |
| | | state.form.itemId = value.id |
| | | dialogVisible.value = true; |
| | | } |
| | | const selectValue = (val) => { |
| | | state.userList = [] |
| | | state.form.people = [] |
| | | state.form.signUserId = [] |
| | | getUserList("",val) |
| | | |
| | | } |
| | |
| | | }); |
| | | } |
| | | |
| | | const getUserInfo = async () => { |
| | | const res = await getInfo() |
| | | if(res.code == 200){ |
| | | state.user = res.user |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | } |
| | | } |
| | | |
| | | |
| | | const onSubmit = async () => { |
| | | 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) |
| | | // } |
| | | data.userId = state.user.userId |
| | | data.userName = state.user.userName |
| | | data.deptId = state.user.deptId |
| | | data.deptName = state.user.dept.deptName |
| | | const res = await signFlow(data) |
| | | if(res.code === 200){ |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '流转成功' |
| | | }); |
| | | }else{ |
| | | ElMessage.warning(res.message) |
| | | } |
| | | emit("getList") |
| | | busRef.value.clearValidate(); |
| | | reset(); |
| | | dialogVisible.value = false; |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | const reset = () => { |
| | | state.form = { |
| | | id: '', |
| | | name: '', |
| | | remark: '', |
| | | itemId: null, |
| | | signUserId: null, |
| | | signDeptId: null |
| | | } |
| | | } |
| | | const getUserList = async (val,deptId)=>{ |