fix: 测试问题修改

dev_1.0.0
xiangcongshuai 11 months ago
parent ffa63d8ab3
commit 75b8e7fe06

@ -64,6 +64,7 @@ const setTags = (route: any) => {
}); });
if (!isExist) { if (!isExist) {
if (route.path === "/home") return;
tabs.setTabsItem({ tabs.setTabsItem({
name: route.name, name: route.name,
title: route.meta.title, title: route.meta.title,

@ -180,6 +180,7 @@
transform:translate(-50%,-50%); transform:translate(-50%,-50%);
max-height:calc(100% - 30px); max-height:calc(100% - 30px);
max-width:calc(100% - 30px); max-width:calc(100% - 30px);
background: linear-gradient(180deg, #e1ecfe 0%, #ffffff 30%) !important;
} }
.el-dialog .el-dialog__body{ .el-dialog .el-dialog__body{
flex:1; flex:1;

@ -55,7 +55,6 @@ const submit = () => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.Approved { .Approved {
background: linear-gradient(180deg, #e1ecfe 0%, #ffffff 30%);
.Approved-header { .Approved-header {
display: flex; display: flex;
align-items: center; align-items: center;

@ -9,11 +9,11 @@
<template v-slot:header> <template v-slot:header>
<div class="reject-header"> <div class="reject-header">
<img :src="warnIcon" alt="" /> <img :src="warnIcon" alt="" />
<span>如果您确定驳回请填写驳回原因</span> <span>知识驳回</span>
</div> </div>
</template> </template>
<div class="reject-content"> <div class="reject-content">
<div class="label">回原因</div> <div class="label">回原因</div>
<el-input <el-input
v-model="reason" v-model="reason"
maxlength="200" maxlength="200"
@ -22,7 +22,7 @@
show-word-limit show-word-limit
type="textarea" type="textarea"
/> />
<div class="footer-btn"> <div class="footer-btn" style="margin-top: 60px">
<div class="cancel_btn" @click="dialogVisible = false">取消</div> <div class="cancel_btn" @click="dialogVisible = false">取消</div>
<!-- <div class="determine_btn">确定</div> --> <!-- <div class="determine_btn">确定</div> -->
<el-button <el-button
@ -67,6 +67,9 @@ const submit = () => {
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.reject {
background: linear-gradient(180deg, #e1ecfe 0%, #ffffff 30%);
}
.reject-header { .reject-header {
display: flex; display: flex;
align-items: center; align-items: center;

@ -28,6 +28,7 @@ const seachForm = reactive({
publishDateEnd: "", publishDateEnd: "",
submitDateBegin: "", submitDateBegin: "",
submitDateEnd: "", submitDateEnd: "",
flowType: "",
time: [], time: [],
submitDate: [] submitDate: []
}); });
@ -68,10 +69,10 @@ const pagination = reactive({
background: true background: true
}); });
const columns: TableColumnList = [ const columns: TableColumnList = [
{ // {
type: "selection", // type: "selection",
width: 55 // width: 55
}, // },
{ {
label: "序号", label: "序号",
type: "index", type: "index",
@ -80,7 +81,8 @@ const columns: TableColumnList = [
{ {
label: "知识标题", label: "知识标题",
prop: "title", prop: "title",
slot: "titleSlot" slot: "titleSlot",
width: 500
}, },
{ {
label: "审核类型", label: "审核类型",
@ -123,7 +125,7 @@ const columns: TableColumnList = [
{ {
label: "操作", label: "操作",
fixed: "right", fixed: "right",
width: 350, width: 200,
slot: "operation" slot: "operation"
} }
]; ];
@ -213,7 +215,8 @@ const getApplicationSubLibrary = async () => {
} }
}; };
const openApproval = row => { const openApproval = row => {
ApprovedRef.value.open(row.knowledgeId, row.todoId); // ApprovedRef.value.open(row.knowledgeId, row.todoId);
DetailsRef.value.openApproval(row);
}; };
const openRejectApproval = row => { const openRejectApproval = row => {
RejectApprovalRef.value.open(row.knowledgeId, row.todoId); RejectApprovalRef.value.open(row.knowledgeId, row.todoId);
@ -257,7 +260,11 @@ onMounted(() => {
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="知识标题"> <el-form-item label="知识标题">
<el-input size="large" v-model="seachForm.title" /> </el-form-item <el-input
size="large"
placeholder="请输入"
v-model="seachForm.title"
/> </el-form-item
></el-col> ></el-col>
<el-col :span="8" <el-col :span="8"
><el-form-item label="发文部门"> ><el-form-item label="发文部门">
@ -319,7 +326,7 @@ onMounted(() => {
style="width: 100%" style="width: 100%"
size="large" size="large"
filterable filterable
v-model="seachForm.baseId" v-model="seachForm.flowType"
placeholder="请选择" placeholder="请选择"
> >
<el-option <el-option
@ -333,8 +340,8 @@ onMounted(() => {
<el-col :span="8"> <el-col :span="8">
<el-form-item label="发布日期"> <el-form-item label="发布日期">
<el-date-picker <el-date-picker
start-placeholder="开始时间" start-placeholder="开始日期"
end-placeholder="结束时间" end-placeholder="结束日期"
format="YYYY-MM-DD" format="YYYY-MM-DD"
v-model="seachForm.time" v-model="seachForm.time"
type="daterange" type="daterange"
@ -410,7 +417,7 @@ onMounted(() => {
</pure-table> </pure-table>
</div> </div>
<TransferRecords ref="TransferRecordRef" /> <TransferRecords ref="TransferRecordRef" />
<Details ref="DetailsRef" /> <Details @getData="search" ref="DetailsRef" />
<Approved @approvalOk="approvalOk" ref="ApprovedRef" /> <Approved @approvalOk="approvalOk" ref="ApprovedRef" />
<RejectApproval <RejectApproval
@RejectApprovalOk="RejectApprovalOk" @RejectApprovalOk="RejectApprovalOk"

@ -1,28 +1,33 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref } from "vue"; import { ref } from "vue";
import { queryKnowledgeDetail } from "@/api/knowledgeCentre"; import {
processKnowledgeFlow,
queryKnowledgeDetail
} from "@/api/knowledgeCentre";
import { reactive } from "vue"; import { reactive } from "vue";
import Approved from "../approval/compontents/Approved.vue";
import RejectApproval from "../approval/compontents/RejectApproval.vue";
import { message } from "@/utils/message";
defineOptions({ defineOptions({
name: "SubmissionDetails" name: "SubmissionDetails"
}); });
const dialogVisible = ref(false); const dialogVisible = ref(false);
const annexList = ref([ const isApproval = ref(false);
{ const ApprovedRef = ref();
name: "PDF附件名称显示全部点击下载附件" const RejectApprovalRef = ref();
}
]);
const formData = reactive({ const formData = reactive({
knowledge: { knowledge: {
publishDeptId: "", publishDeptId: "",
knowledgeFrom: undefined, knowledgeFrom: undefined,
title: "" title: ""
}, },
baseName: "",
submittedDeptName: "",
knowledgeInfo: { knowledgeInfo: {
territory: "", territory: "",
publishDate: "", publishDate: "",
autoLoseEffect: undefined, timeliness: undefined,
execTimeBegin: "", execTimeBegin: "",
execTimeEnd: "", execTimeEnd: "",
knowledgeTag: "", knowledgeTag: "",
@ -34,10 +39,20 @@ const formData = reactive({
}, },
fileInfoList: [] fileInfoList: []
}); });
const knowledgeId = ref("");
const todoId = ref("");
defineExpose({ defineExpose({
open(val) { open(val) {
dialogVisible.value = true; dialogVisible.value = true;
isApproval.value = false;
getDeatils(val); getDeatils(val);
},
openApproval(row) {
dialogVisible.value = true;
isApproval.value = true;
getDeatils(row.knowledgeId);
knowledgeId.value = row.knowledgeId;
todoId.value = row.todoId;
} }
}); });
const getDeatils = async id => { const getDeatils = async id => {
@ -61,6 +76,37 @@ const downloadFile = (url, fileName) => {
link.download = fileName; link.download = fileName;
link.click(); link.click();
}; };
const approvalOk = async () => {
const res: any = await processKnowledgeFlow({
operate: 1,
knowledgeId: knowledgeId.value,
todoId: todoId.value
});
if (res.code === 200) {
message("审批成功!", { type: "success" });
dialogVisible.value = false;
emit("getData");
}
};
const RejectApprovalOk = async () => {
const res: any = await processKnowledgeFlow({
operate: 2,
knowledgeId: knowledgeId.value,
todoId: todoId.value
});
if (res.code === 200) {
message("驳回成功!", { type: "success" });
dialogVisible.value = false;
emit("getData");
}
};
const emit = defineEmits(["getData"]);
const openApproval = () => {
ApprovedRef.value.open(knowledgeId.value, todoId.value);
};
const openRejectApproval = () => {
RejectApprovalRef.value.open(knowledgeId.value, todoId.value);
};
const downLoadFile = item => { const downLoadFile = item => {
downloadFile( downloadFile(
`/know-sub/file/downloadFile?fileId=${item.fileBlobId}`, `/know-sub/file/downloadFile?fileId=${item.fileBlobId}`,
@ -90,7 +136,7 @@ const downLoadFile = item => {
<div class="basicInfo"> <div class="basicInfo">
<div class="basicInfo_title">基本信息</div> <div class="basicInfo_title">基本信息</div>
<div class="basicInfo_item"> <div class="basicInfo_item">
<span>{{ `发文部门:${formData.knowledge.publishDeptId}` }}</span> <span>{{ `发文部门:${formData.submittedDeptName}` }}</span>
</div> </div>
<div class="basicInfo_item"> <div class="basicInfo_item">
<span v-if="formData.knowledge.knowledgeFrom === 1">{{ <span v-if="formData.knowledge.knowledgeFrom === 1">{{
@ -107,18 +153,18 @@ const downLoadFile = item => {
}}</span> }}</span>
</div> </div>
<div <div
v-if="formData.knowledgeInfo.autoLoseEffect" v-if="formData.knowledgeInfo.timeliness"
class="basicInfo_item" class="basicInfo_item"
> >
<span v-if="formData.knowledgeInfo.autoLoseEffect === 1">{{ <span v-if="formData.knowledgeInfo.timeliness === 1">{{
`时效性:长期有效` `时效性:长期有效`
}}</span> }}</span>
<span v-if="formData.knowledgeInfo.autoLoseEffect === 2">{{ <span v-if="formData.knowledgeInfo.timeliness === 2">{{
`时效性:临时有效` `时效性:临时有效`
}}</span> }}</span>
</div> </div>
<div <div
v-if="formData.knowledgeInfo.autoLoseEffect === 2" v-if="formData.knowledgeInfo.timeliness === 2"
class="basicInfo_item" class="basicInfo_item"
> >
<span>{{ <span>{{
@ -130,6 +176,9 @@ const downLoadFile = item => {
`知识标签:${formData.knowledgeInfo.knowledgeTag}` `知识标签:${formData.knowledgeInfo.knowledgeTag}`
}}</span> }}</span>
</div> </div>
<div class="basicInfo_item">
<span>{{ `应用子库:${formData.baseName}` }}</span>
</div>
<div class="basicInfo_item"> <div class="basicInfo_item">
<span>{{ <span>{{
`政策类型:${formData.knowledgeInfo.policyType}` `政策类型:${formData.knowledgeInfo.policyType}`
@ -156,8 +205,17 @@ const downLoadFile = item => {
<span class="link">{{ item.fileName }}</span> <span class="link">{{ item.fileName }}</span>
</div> </div>
</div> </div>
<div v-if="isApproval" class="btn_list">
<div class="main_btn" @click="openApproval"></div>
<div class="btn" @click="openRejectApproval"></div>
</div>
</div> </div>
</div> </div>
<Approved @approvalOk="approvalOk" ref="ApprovedRef" />
<RejectApproval
@RejectApprovalOk="RejectApprovalOk"
ref="RejectApprovalRef"
/>
</div> </div>
</el-drawer> </el-drawer>
</div> </div>
@ -165,7 +223,7 @@ const downLoadFile = item => {
<style lang="scss" scoped> <style lang="scss" scoped>
.submission-details { .submission-details {
padding-left: 16px; padding-left: 16px;
height: 100%;
.header-title { .header-title {
display: flex; display: flex;
align-items: center; align-items: center;
@ -194,7 +252,7 @@ const downLoadFile = item => {
} }
.main { .main {
display: flex; display: flex;
height: 100%; // height: 100%;
.basicInfo { .basicInfo {
width: 350px; width: 350px;
padding: 24px 16px; padding: 24px 16px;
@ -226,6 +284,8 @@ const downLoadFile = item => {
font-size: 16px; font-size: 16px;
color: #666666; color: #666666;
margin-top: 32px; margin-top: 32px;
height: calc(100vh - 360px);
overflow: auto;
} }
.annex { .annex {
margin-top: 75px; margin-top: 75px;
@ -239,6 +299,39 @@ const downLoadFile = item => {
} }
} }
} }
.btn_list {
display: flex;
flex-direction: row-reverse;
margin-top: 40px;
.main_btn {
width: 188px;
height: 40px;
background: #0052d9;
box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.04);
border-radius: 6px 6px 6px 6px;
font-weight: 400;
font-size: 16px;
color: #ffffff;
line-height: 40px;
text-align: center;
cursor: pointer;
}
.btn {
width: 188px;
height: 40px;
background: #ffffff;
box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.04);
border-radius: 6px 6px 6px 6px;
border: 1px solid #0052d9;
font-weight: 400;
font-size: 16px;
color: #0052d9;
line-height: 40px;
text-align: center;
cursor: pointer;
margin-right: 24px;
}
}
} }
} }
} }

@ -22,7 +22,7 @@
show-word-limit show-word-limit
type="textarea" type="textarea"
/> />
<div class="footer-btn"> <div class="footer-btn" style="margin-top: 60px">
<div class="cancel_btn" @click="dialogVisible = false">取消</div> <div class="cancel_btn" @click="dialogVisible = false">取消</div>
<!-- <div class="determine_btn">确定</div> --> <!-- <div class="determine_btn">确定</div> -->
<el-button <el-button
@ -63,6 +63,9 @@ const submit = () => {
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.SubmitReview {
background: linear-gradient(180deg, #e1ecfe 0%, #ffffff 30%);
}
.SubmitReview-header { .SubmitReview-header {
display: flex; display: flex;
align-items: center; align-items: center;
@ -71,6 +74,7 @@ const submit = () => {
border-bottom: 1px solid rgba(91, 139, 255, 0.3); border-bottom: 1px solid rgba(91, 139, 255, 0.3);
position: relative; position: relative;
width: 100%; width: 100%;
span { span {
font-weight: bold; font-weight: bold;
font-size: 20px; font-size: 20px;

@ -42,7 +42,7 @@ const getDetails = async (id, flowInstanceId) => {
<template> <template>
<div> <div>
<el-drawer <el-drawer
:size="900" :size="650"
append-to-body append-to-body
v-model="dialogVisible" v-model="dialogVisible"
:show-close="false" :show-close="false"
@ -133,7 +133,7 @@ const getDetails = async (id, flowInstanceId) => {
.line { .line {
position: relative; position: relative;
left: -20px; left: -20px;
width: 860px; width: 600px;
height: 1px; height: 1px;
margin: 24px 0; margin: 24px 0;
background: rgb(91 139 255 / 30%); background: rgb(91 139 255 / 30%);

@ -11,6 +11,7 @@ import backImg from "@/assets/home/back.png";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
const router = useRouter(); const router = useRouter();
const ruleFormRef = ref(); const ruleFormRef = ref();
const scrollbarRef = ref();
const formData = reactive({ const formData = reactive({
operate: "", operate: "",
linkList: [ linkList: [
@ -190,7 +191,7 @@ const reset = () => {
refWangEditor.value.initTitle(""); refWangEditor.value.initTitle("");
}; };
const goBack = () => { const goBack = () => {
router.push("/knowledgeCentre/submission"); scrollbarRef.value.setScrollTop(0);
}; };
onMounted(() => { onMounted(() => {
const obj: any = getUserInfo(); const obj: any = getUserInfo();
@ -200,7 +201,11 @@ onMounted(() => {
<template> <template>
<div class="template-submission"> <div class="template-submission">
<el-scrollbar class="main-content" :show-scrollbar="false"> <el-scrollbar
class="main-content"
ref="scrollbarRef"
:show-scrollbar="false"
>
<el-form <el-form
ref="ruleFormRef" ref="ruleFormRef"
:model="formData" :model="formData"

@ -72,6 +72,18 @@ const statusList = [
{ {
key: 12, key: 12,
name: "待审批(撤回)" name: "待审批(撤回)"
},
{
name: "驳回(新增)",
key: 15
},
{
name: "驳回(删除)",
key: 16
},
{
name: "驳回(撤回)",
key: 17
} }
]; ];
const departmentList = ref([]); const departmentList = ref([]);
@ -113,10 +125,10 @@ const pagination = reactive({
background: true background: true
}); });
const columns: TableColumnList = [ const columns: TableColumnList = [
{ // {
type: "selection", // type: "selection",
width: 55 // width: 55
}, // },
{ {
label: "序号", label: "序号",
type: "index", type: "index",
@ -125,7 +137,8 @@ const columns: TableColumnList = [
{ {
label: "知识标题", label: "知识标题",
prop: "title", prop: "title",
slot: "titleSlot" slot: "titleSlot",
width: 500
}, },
{ {
label: "发文部门", label: "发文部门",
@ -164,7 +177,7 @@ const columns: TableColumnList = [
{ {
label: "操作", label: "操作",
fixed: "right", fixed: "right",
width: 350, width: 250,
slot: "operation" slot: "operation"
} }
]; ];
@ -314,6 +327,7 @@ onMounted(() => {
<el-form-item label="知识标题"> <el-form-item label="知识标题">
<el-input <el-input
style="width: 100%" style="width: 100%"
placeholder="请输入"
size="large" size="large"
v-model="seachForm.title" v-model="seachForm.title"
/> </el-form-item /> </el-form-item
@ -375,8 +389,8 @@ onMounted(() => {
<el-form-item label="发布日期"> <el-form-item label="发布日期">
<el-date-picker <el-date-picker
style="width: 100%" style="width: 100%"
start-placeholder="开始时间" start-placeholder="开始日期"
end-placeholder="结束时间" end-placeholder="结束日期"
format="YYYY-MM-DD" format="YYYY-MM-DD"
v-model="seachForm.time" v-model="seachForm.time"
type="daterange" type="daterange"
@ -388,8 +402,8 @@ onMounted(() => {
<el-form-item label="报送日期"> <el-form-item label="报送日期">
<el-date-picker <el-date-picker
style="width: 100%" style="width: 100%"
start-placeholder="开始时间" start-placeholder="开始日期"
end-placeholder="结束时间" end-placeholder="结束日期"
format="YYYY-MM-DD" format="YYYY-MM-DD"
v-model="seachForm.submitDate" v-model="seachForm.submitDate"
type="daterange" type="daterange"

Loading…
Cancel
Save