fix: BUG修改
This commit is contained in:
parent
5a01d6bc2c
commit
21ef709e0c
90
src/components/divDialogComponent/index.vue
Normal file
90
src/components/divDialogComponent/index.vue
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
<template>
|
||||||
|
<div class="dialog1" v-if="visible1">
|
||||||
|
<div class="top-content">
|
||||||
|
<slot name="topContent"></slot>
|
||||||
|
</div>
|
||||||
|
<div class="center-content">
|
||||||
|
<slot name="centerContent"></slot>
|
||||||
|
</div>
|
||||||
|
<div class="bottom-content">
|
||||||
|
<slot name="bottomContent"></slot>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script setup lang="ts" name="SearchForm">
|
||||||
|
import { computed, ref, watch, onMounted } from "vue";
|
||||||
|
const visible1 = ref(false);
|
||||||
|
const props = defineProps({
|
||||||
|
visible: Boolean
|
||||||
|
});
|
||||||
|
const emit = defineEmits(["update:visible"]);
|
||||||
|
onMounted(() => {
|
||||||
|
// 初始化 配置弹框是否可显示
|
||||||
|
visible1.value = props.visible;
|
||||||
|
});
|
||||||
|
watch(
|
||||||
|
() => props.visible,
|
||||||
|
(n, o) => {
|
||||||
|
visible1.value = n;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
// 监听el-dialog显示状态,再通过@update:visible 通知父组件,一般是用于关
|
||||||
|
watch(visible1, (n, o) => {
|
||||||
|
emit("update:visible", n);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@mixin flex {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.dialog1 {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: #092945;
|
||||||
|
z-index: 10;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
.top-content {
|
||||||
|
height: 10%;
|
||||||
|
.title-detail {
|
||||||
|
@include flex;
|
||||||
|
border-left: 2px solid #0f81ff;
|
||||||
|
font-size: 24px;
|
||||||
|
color: #333333;
|
||||||
|
width: 90%;
|
||||||
|
margin: 20px auto;
|
||||||
|
> img {
|
||||||
|
width: 16px;
|
||||||
|
height: 18px;
|
||||||
|
}
|
||||||
|
> span {
|
||||||
|
font-size: 22px;
|
||||||
|
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
|
||||||
|
font-weight: 400;
|
||||||
|
color: var(--el-menu-text-color);
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
:deep(.el-icon) {
|
||||||
|
cursor: pointer;
|
||||||
|
color: #a8abb2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.center-content {
|
||||||
|
height: 80%;
|
||||||
|
}
|
||||||
|
.bottom-content {
|
||||||
|
flex: 1;
|
||||||
|
|
||||||
|
.foot-div {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -1,8 +1,13 @@
|
|||||||
|
@mixin flex {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
.warning-page {
|
.warning-page {
|
||||||
// background-color: blue;
|
// background-color: blue;
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
position: relative;
|
||||||
.leftMenu {
|
.leftMenu {
|
||||||
// width: 290px;
|
// width: 290px;
|
||||||
// 页面的项目工程
|
// 页面的项目工程
|
||||||
@ -192,3 +197,36 @@
|
|||||||
color: var(--el-menu-text-color);
|
color: var(--el-menu-text-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 新增嵌入框1
|
||||||
|
|
||||||
|
.title-detail {
|
||||||
|
@include flex;
|
||||||
|
border-left: 2px solid #0f81ff;
|
||||||
|
font-size: 24px;
|
||||||
|
color: #333333;
|
||||||
|
width: 90%;
|
||||||
|
margin: 20px auto;
|
||||||
|
> img {
|
||||||
|
width: 16px;
|
||||||
|
height: 18px;
|
||||||
|
}
|
||||||
|
> span {
|
||||||
|
font-size: 22px;
|
||||||
|
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
|
||||||
|
font-weight: 400;
|
||||||
|
color: var(--el-menu-text-color);
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
:deep(.el-icon) {
|
||||||
|
cursor: pointer;
|
||||||
|
color: #a8abb2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.foot-div {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="warning-page">
|
<div class="warning-page" id="warning-page">
|
||||||
<LeftMenu
|
<LeftMenu
|
||||||
v-model="active"
|
v-model="active"
|
||||||
:tabs="['项目名称', '工程名称']"
|
:tabs="['项目名称', '工程名称']"
|
||||||
@ -150,8 +150,7 @@
|
|||||||
<Pagination :pageable="pageable" :handleSizeChange="handleSizeChange" :handleCurrentChange="handleCurrentChange" />
|
<Pagination :pageable="pageable" :handleSizeChange="handleSizeChange" :handleCurrentChange="handleCurrentChange" />
|
||||||
</div>
|
</div>
|
||||||
<changeTheme />
|
<changeTheme />
|
||||||
<!-- 新增子分部分项 -->
|
<el-dialog class="imgDialog" append-to="#warning-page" :title="newTitle" width="40%" v-model="childrenVisible" show-close>
|
||||||
<el-dialog class="imgDialog" :title="newTitle" width="40%" v-model="childrenVisible" show-close>
|
|
||||||
<el-form class="diaForm" :rules="rules" :model="childrenFormData" ref="ruleFormRef" label-width="160px">
|
<el-form class="diaForm" :rules="rules" :model="childrenFormData" ref="ruleFormRef" label-width="160px">
|
||||||
<el-form-item v-if="newTitle == '新增子项'" label="父分部分项名称:">
|
<el-form-item v-if="newTitle == '新增子项'" label="父分部分项名称:">
|
||||||
<el-input disabled :value="parentObj.name" placeholder="请输入" />
|
<el-input disabled :value="parentObj.name" placeholder="请输入" />
|
||||||
@ -285,6 +284,139 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 新增子分部分项 -->
|
||||||
|
<!-- <divDialogComponent v-model:visible="childrenVisible">
|
||||||
|
<template #topContent>
|
||||||
|
<div class="title-detail">
|
||||||
|
<span>新增</span>
|
||||||
|
<el-icon>
|
||||||
|
<close @click="closeMain" />
|
||||||
|
</el-icon>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<template #centerContent>
|
||||||
|
<el-scrollbar style="width: 50%; height: 100%; margin: 0 auto">
|
||||||
|
<el-form class="diaForm" :rules="rules" :model="childrenFormData" ref="ruleFormRef" label-width="160px">
|
||||||
|
<el-form-item v-if="newTitle == '新增子项'" label="父分部分项名称:">
|
||||||
|
<el-input disabled :value="parentObj.name" placeholder="请输入" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="分部分项名称:" prop="name">
|
||||||
|
<el-input v-model="childrenFormData.name" placeholder="请输入" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="施工位置:" prop="buildAddress">
|
||||||
|
<el-input v-model="childrenFormData.buildAddress" placeholder="请输入" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="单位:" prop="unit">
|
||||||
|
<el-input v-model="childrenFormData.unit" placeholder="请输入" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="工作量:" prop="workload">
|
||||||
|
<el-input v-model="childrenFormData.workload" placeholder="请输入" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="完成比率:" prop="completeRatio">
|
||||||
|
<el-input v-model="childrenFormData.completeRatio" placeholder="请输入" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="任务描述:" prop="taskDesc">
|
||||||
|
<el-input v-model="childrenFormData.taskDesc" type="textarea" :rows="3" placeholder="请输入" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="状态:" prop="state">
|
||||||
|
<el-select style="width: 100%" v-model="childrenFormData.state" clearable placeholder="请选择">
|
||||||
|
<el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="预计开始日期:" prop="planStartTime">
|
||||||
|
<el-date-picker
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="childrenFormData.planStartTime"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
type="datetime"
|
||||||
|
placeholder="请选择时间"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="预计完成日期:" prop="planEndTime">
|
||||||
|
<el-date-picker
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="childrenFormData.planEndTime"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
type="datetime"
|
||||||
|
placeholder="请选择时间"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="实际完成日期:" prop="realEndTime">
|
||||||
|
<el-date-picker
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="childrenFormData.realEndTime"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
type="datetime"
|
||||||
|
placeholder="请选择时间"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="重要程度:" prop="importance">
|
||||||
|
<el-input v-model="childrenFormData.importance" placeholder="请输入" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="负责人:" prop="commander">
|
||||||
|
<el-input v-model="childrenFormData.commander" placeholder="请输入" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="逾期问题描述:" prop="overdueIssueDesc">
|
||||||
|
<el-input v-model="childrenFormData.overdueIssueDesc" placeholder="请输入" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="整改期限:" prop="deadline">
|
||||||
|
<el-date-picker
|
||||||
|
style="width: 100%"
|
||||||
|
v-model="childrenFormData.deadline"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
type="datetime"
|
||||||
|
placeholder="请选择时间"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="逾期文件说明:" prop="overdueIssueFile">
|
||||||
|
<el-upload
|
||||||
|
ref="upload1"
|
||||||
|
:headers="headers"
|
||||||
|
:file-list="fileList1"
|
||||||
|
class="upload-demo"
|
||||||
|
:action="`${baseUrl}` + '/xmgl/file/upload'"
|
||||||
|
:on-remove="onRemove1"
|
||||||
|
multiple
|
||||||
|
:limit="1"
|
||||||
|
:on-success="uploadSuccess1"
|
||||||
|
style="width: 100%"
|
||||||
|
>
|
||||||
|
<el-button class="uploadBtn" type="primary">点击上传</el-button>
|
||||||
|
</el-upload>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="附件:" prop="annexFile">
|
||||||
|
<el-upload
|
||||||
|
ref="upload"
|
||||||
|
:headers="headers"
|
||||||
|
:file-list="fileList"
|
||||||
|
class="upload-demo"
|
||||||
|
:action="`${baseUrl}` + '/xmgl/file/upload'"
|
||||||
|
:on-remove="onRemove"
|
||||||
|
multiple
|
||||||
|
:limit="1"
|
||||||
|
:on-success="uploadSuccess"
|
||||||
|
style="width: 100%"
|
||||||
|
>
|
||||||
|
<el-button class="uploadBtn" type="primary">点击上传</el-button>
|
||||||
|
</el-upload>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</el-scrollbar>
|
||||||
|
</template>
|
||||||
|
<template #bottomContent>
|
||||||
|
<div class="foot-div">
|
||||||
|
<el-button class="hzCancelStyle" @click="childrenVisible = false">取消</el-button>
|
||||||
|
<el-button v-auth="'sub_item_add'" type="primary" @click="childrenConfirm(ruleFormRef, childrenFormData)">
|
||||||
|
保存
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</divDialogComponent> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -310,6 +442,7 @@ import { jxj_User } from "@/api/types";
|
|||||||
import { useHandleData } from "@/hooks/useHandleData";
|
import { useHandleData } from "@/hooks/useHandleData";
|
||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
import { sendIframeMessage } from "@/utils/util";
|
import { sendIframeMessage } from "@/utils/util";
|
||||||
|
import divDialogComponent from "@/components/divDialogComponent/index.vue";
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const modelActive = ref(0);
|
const modelActive = ref(0);
|
||||||
const rules = reactive<FormRules>({
|
const rules = reactive<FormRules>({
|
||||||
@ -427,7 +560,10 @@ const searchSn = ref("");
|
|||||||
|
|
||||||
// 项目或者工程名字
|
// 项目或者工程名字
|
||||||
const searchName = ref<string>("");
|
const searchName = ref<string>("");
|
||||||
|
// 关闭两个对话框
|
||||||
|
const closeMain = () => {
|
||||||
|
childrenVisible.value = false;
|
||||||
|
};
|
||||||
const reject = async () => {
|
const reject = async () => {
|
||||||
await bigItemGovermentAudit({ id: rowId.value, approvalStatus: 2 });
|
await bigItemGovermentAudit({ id: rowId.value, approvalStatus: 2 });
|
||||||
ElMessage.success("已驳回");
|
ElMessage.success("已驳回");
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user