From 5a1616f169d75ece07d2d12a8edac3e5f660a920 Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期四, 08 九月 2022 09:36:16 +0800 Subject: [PATCH] 合并 --- src/views/goalManagement/targetEscalation/component/TypeDailog.vue | 341 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 341 insertions(+), 0 deletions(-) diff --git a/src/views/goalManagement/targetEscalation/component/TypeDailog.vue b/src/views/goalManagement/targetEscalation/component/TypeDailog.vue index e69de29..02c9afb 100644 --- a/src/views/goalManagement/targetEscalation/component/TypeDailog.vue +++ b/src/views/goalManagement/targetEscalation/component/TypeDailog.vue @@ -0,0 +1,341 @@ +<template> + <el-dialog :title="titleName" v-model="dialogVisible" @click="resetForm" width="70%" draggable :fullscreen="full" :close-on-click-modal="false"> + <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> + <el-form ref="ruleFormRef" :model="form" size="default" :disabled="disabled" label-width="120px"> + <div v-if="titleName == '发起审批'"> + <el-row> + <el-col :span="11"> + <el-form-item label="审批名称" prop="workName" size="default"> + <el-input v-model="form.workName" :disabled="disabledT" placeholder="请填写名称"></el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="审批标题" prop="title" size="default"> + <el-input v-model="form.title" :disabled="disabledT" placeholder="请填写标题"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="审批人" prop="approvePersonId" size="default"> + <el-input v-model="form.approvePersonName" :disabled="disabledT" placeholder="请选择" class="input-with-select"> + <template #append> + <el-button :icon="Search" @click="openUser" /> + </template> + </el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"></el-col> + </el-row> + </div> + <div v-if="titleName != '发起审批'"> + <el-row> + <el-col :span="11"> + <el-form-item label="审批名称" prop="workName" size="default"> + <el-input v-model="formUp.workName" :disabled="disabledT" placeholder="请填写名称"></el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="审批标题" prop="title" size="default"> + <el-input v-model="formUp.title" :disabled="disabledT" placeholder="请填写标题"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="审批人" prop="approvePersonId" size="default"> + <el-input v-model="formUp.approvePersonName" :disabled="disabledT" placeholder="请选择" class="input-with-select"> + <template #append> + <el-button :icon="Search" @click="openUser" /> + </template> + </el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"></el-col> + </el-row> + </div> + <el-table :data="tableData" style="width: 90%;margin:20px auto"> + <el-table-column align="center" type="index" label="序号" width="80" /> + <el-table-column align="center" prop="makerDepartmentName" label="责任部门" /> + <el-table-column align="center" prop="value" label="考核指标" /> + <el-table-column align="center" prop="dutyDepartmentName" label="制定部门" /> + <el-table-column align="center" prop="makeDate" :formatter="timeDate" label="制定日期" /> + <el-table-column align="center" label="检查值"> + <template #default="scope"> + <el-input v-model="scope.row.commitValue" :disabled="disabledType" /> + </template> + </el-table-column> + <el-table-column align="center" label="检查人"> + <template #default="scope"> + <el-input v-model="scope.row.personName" :disabled="disabledType"> + <template #append> <el-button :icon="Search" @click="openUsers(scope.row)" /> </template + ></el-input> + </template> + </el-table-column> + </el-table> + <div v-if="typeScope"> + <el-row> + <el-col> + <el-form-item label="审批结果" prop="authorUid"> + <el-radio-group :disabled="disabled" v-model="form.approveResult"> + <el-radio :label="0">不通过</el-radio> + <el-radio :label="1">通过</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <el-form-item label="审批意见" prop="approveMemo"> + <el-input v-model="form.approveMemo" :disabled="disabled" type="textarea" placeholder="请填写审批意见"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="24"> + <el-form-item label="是否完成" prop="complete"> + <el-radio-group v-model="form.approveStatus" :disabled="disabled"> + <el-radio :label="3">是</el-radio> + <el-radio :label="2">否</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <div v-if="form.approveStatus == 2"> + <el-row> + <el-col :span="11"> + <el-form-item label="审批名称" prop="workName" size="default"> + <el-input v-model="form.workName" placeholder="请填写名称"></el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"> + <el-form-item label="审批标题" prop="title" size="default"> + <el-input v-model="form.title" placeholder="请填写标题"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11"> + <el-form-item label="审批人" prop="approvePersonId" size="default"> + <el-input v-model="form.approvePersonName" placeholder="请选择" class="input-with-select"> + <template #append> + <el-button :icon="Search" @click="openUser" /> + </template> + </el-input> + </el-form-item> + </el-col> + <el-col :span="11" :offset="2"></el-col> + </el-row> + </div> + </div> + </el-form> + <template #footer> + <span class="dialog-footer"> + <el-button @click="resetForm" size="default">关闭</el-button> + <el-button size="default" type="primary" :disabled="disabled" @click="submitForm">确定</el-button> + </span> + </template> + </el-dialog> + <DailogSearchUserManger ref="userRef" @SearchUser="onUser" /> + <DailogSearchUser ref="Show" @SearchUser="onUsers"></DailogSearchUser> +</template> +<script lang="ts"> +import { ref, defineComponent } from 'vue'; +import { timeDate } from '/@/assets/index.ts'; +import DailogSearchUserManger from '/@/components/DailogSearchUserManger/index.vue'; +import { ElMessage } from 'element-plus'; +import DailogSearchUser from '../../../../components/DailogSearchUser/index.vue'; +import { goalManagementApi } from '/@/api/goalManagement'; +import { Search, FullScreen } from '@element-plus/icons-vue'; +export default defineComponent({ + components: { DailogSearchUserManger, DailogSearchUser }, + setup(props, { emit }) { + const dialogVisible = ref(false); + const form = ref({ + workName: '', // 审批名称 + title: '', //审批标题 + approvePersonId: '', + approvePersonName: '', + approveStatus: "", + approveResult: '', + relateType: 1, + relateId: '', + relateDesc: '', + }); + // 提交 + const submitForm = () => { + if (titleName.value == '发起审批') { + let arr = []; + for (let i = 0; i < tableData.value.length; i++) { + arr.push({ + id: tableData.value[i].id, + value: tableData.value[i].commitValue, + personName: tableData.value[i].personName, + personId: tableData.value[i].personId, + }); + } + form.value.approveStatus=2 + form.value.relateDesc = JSON.stringify(arr); + goalManagementApi() + .getworkApproveAdd(form.value) + .then((res) => { + if (res.data.code == 200) { + ElMessage({ + showClose: true, + message: res.data.msg, + type: 'success', + }); + emit('onType'); + } else { + ElMessage.error(res.data.msg); + } + }); + } else if (titleName.value == '审批') { + goalManagementApi() + .getworkApproveUpdata(form.value) + .then((res) => { + if (res.data.code == 200) { + ElMessage({ + showClose: true, + message: res.data.msg, + type: 'success', + }); + emit('onType'); + } else { + ElMessage.error(res.data.msg); + } + }); + } + dialogVisible.value = false; + disabled.value = false; + disabledT.value = false; + form.value = {}; + formUp.value = {}; + }; + // 关闭 + const resetForm = () => { + disabled.value = false; + disabledT.value = false; + form.value = {}; + formUp.value = {}; + tableData.value=[]; + dialogVisible.value = false; + }; + const titleName = ref(); + const typeScope = ref(); + const disabledT = ref(false); + const disabled = ref(false); + const formUp = ref({ + workName: '', + title: '', + approvePersonName: '', + }); + const tableData = ref([]); + const disabledType=ref() + // 打开弹窗 + const openDialog = (title: string, name: any, id: number, type: number,data:any) => { + dialogVisible.value = true; + titleName.value = title; + form.value.relateType = type; + if (title == '发起审批') { + form.value.relateId = id; + typeScope.value = false; + goalManagementApi() + .getTargetMngDetail(id) + .then((res) => { + if (res.data.code == 200) { + tableData.value = res.data.data.targetDivideDetailList; + } else { + ElMessage.error(res.data.msg); + } + }); + disabledType.value=false + } else if (title == '审批' || title == '查看审批') { + goalManagementApi() + .getworkApproveDetail(id) + .then((res) => { + if (res.data.code == 200) { + if (data.approveStatus==2&&data.checkApprove==true){ + disabled.value = false; + } else if(data.approveStatus==2&&data.checkApprove==false) { + disabled.value = true; + } + form.value = res.data.data; + form.value.approveStatus = ''; + formUp.value.workName = form.value.workName; + formUp.value.title = form.value.title; + formUp.value.approvePersonName = form.value.approvePersonName; + form.value.workName="" + form.value.title="" + form.value.approvePersonName="" + tableData.value=res.data.data.targetDivideDetailList + console.log(form.value.approvePersonName) + } + }); + disabledType.value=true + typeScope.value = true; + disabledT.value = true; + } + }; + // 打开用户选择弹窗 + const userRef = ref(); + const openUser = () => { + userRef.value.openDailog(); + }; + const index = ref(); + const Show = ref(); + const openUsers = (id: any) => { + index.value = tableData.value.indexOf(id); + Show.value.openDailog(); + }; + const onUser = (val: any) => { + form.value.approvePersonId = val[0].uid; + form.value.approvePersonName = val[0].realName; + }; + const onUsers = (val: any) => { + tableData.value[index.value].personName = val.realName; + tableData.value[index.value].personId = val.uid; + }; + //全屏 + const full = ref(false); + const toggleFullscreen = () => { + if (full.value == false) { + full.value = true; + } else { + full.value = false; + } + }; + return { + disabledType, + index, + Show, + onUsers, + openUsers, + formUp, + timeDate, + tableData, + onUser, + dialogVisible, + form, + disabledT, + submitForm, + resetForm, + titleName, + typeScope, + disabled, + openDialog, + userRef, + openUser, + full, + toggleFullscreen, + Search, + FullScreen, + }; + }, +}); +</script> +<style> +.el-row { + padding-bottom: 20px; +} +</style> \ No newline at end of file -- Gitblit v1.9.2