From 5a1616f169d75ece07d2d12a8edac3e5f660a920 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: Thu, 08 Sep 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