|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
-<div class="container">
|
|
|
+ <div class="container">
|
|
|
<div class="box">
|
|
|
<div class="info_title">
|
|
|
{{ infoDetail.publish_group }}发布申请
|
|
@@ -58,14 +58,27 @@
|
|
|
<div class="box">
|
|
|
|
|
|
</div>
|
|
|
-</div>
|
|
|
+
|
|
|
+ <div class="item-action">
|
|
|
+ <div class="action-redirect" @click="handleRedirect">转交</div>
|
|
|
+ <div class="action-reject" @click="handleReject">拒绝</div>
|
|
|
+ <div class="action-agree" @click="handleAgree">同意</div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <ConfirmDialog
|
|
|
+ v-model="confirmDialogState.show"
|
|
|
+ :data="confirmDialogState.form"
|
|
|
+ @update:model-value="onConfirmDialogClose"
|
|
|
+ ></ConfirmDialog>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
import { getCurrentInstance, reactive, ref, toRefs, onMounted } from "vue";
|
|
|
import { useRouter, useRoute } from "vue-router";
|
|
|
-import { InformationDetail } from "@/api/InformationReception/InformationReception";
|
|
|
+import { InformationDetail, WorkApprovalList } from "@/api/InformationReception/InformationReception";
|
|
|
import {download2} from "@/utils/request";
|
|
|
+import ConfirmDialog from "./confirmDialog.vue";
|
|
|
|
|
|
const baseUrl = import.meta.env.VITE_BASE_API;
|
|
|
|
|
@@ -111,69 +124,132 @@ const handleDownload = (file: any) => {
|
|
|
download2(baseUrl + '/file/download/' + file.url, file.name);
|
|
|
};
|
|
|
|
|
|
-onMounted(() => {
|
|
|
+// 确认对话框
|
|
|
+const confirmDialogState = reactive({
|
|
|
+ show: false,
|
|
|
+ form: {
|
|
|
+ info_id: "",
|
|
|
+ content: "",
|
|
|
+ examine_type: ""
|
|
|
+ }
|
|
|
+});
|
|
|
+
|
|
|
+const onConfirmDialogClose = t => {
|
|
|
+ confirmDialogState.show = false;
|
|
|
+ console.log(confirmDialogState.form);
|
|
|
+ if (t) {
|
|
|
refreshData();
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+const handleAgree = () => {
|
|
|
+ confirmDialogState.form.info_id = infoId.value;
|
|
|
+ confirmDialogState.form.content = "";
|
|
|
+ confirmDialogState.form.examine_type = "approved";
|
|
|
+ confirmDialogState.show = true;
|
|
|
+};
|
|
|
+
|
|
|
+const handleReject = () => {
|
|
|
+ confirmDialogState.form.info_id = infoId.value;
|
|
|
+ confirmDialogState.form.content = "";
|
|
|
+ confirmDialogState.form.examine_type = "rejected";
|
|
|
+ confirmDialogState.show = true;
|
|
|
+};
|
|
|
+
|
|
|
+const handleRedirect = () => {
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ refreshData();
|
|
|
})
|
|
|
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
+.container {
|
|
|
+ height: 100vh;
|
|
|
+}
|
|
|
.box {
|
|
|
- margin: 16px;
|
|
|
- background-color: #ffffff;
|
|
|
- border-radius: 4px;
|
|
|
- box-shadow: 0 0 4px 0 #4554661a;
|
|
|
+margin: 16px;
|
|
|
+background-color: #ffffff;
|
|
|
+border-radius: 4px;
|
|
|
+box-shadow: 0 0 4px 0 #4554661a;
|
|
|
}
|
|
|
|
|
|
.info_title {
|
|
|
- font-weight: 600;
|
|
|
- min-height: 46px;
|
|
|
- background-image: linear-gradient(180deg, #f3f7fd 0%, #ffffff 100%);
|
|
|
- padding: 12px;
|
|
|
+font-weight: 600;
|
|
|
+min-height: 46px;
|
|
|
+background-image: linear-gradient(180deg, #f3f7fd 0%, #ffffff 100%);
|
|
|
+padding: 12px;
|
|
|
}
|
|
|
|
|
|
.info_tab {
|
|
|
- padding: 16px;
|
|
|
- // color: #a6000000;
|
|
|
-
|
|
|
- .info-data-item {
|
|
|
- font-size: 14px;
|
|
|
- line-height: 8vmin;
|
|
|
- display: flex;
|
|
|
- flex-direction: row;
|
|
|
- align-items: flex-start;
|
|
|
- // justify-content: space-between;
|
|
|
-
|
|
|
- .info-left {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- flex-shrink: 0;
|
|
|
-
|
|
|
- .info-data-item-title {
|
|
|
- color: #888;
|
|
|
- min-width: 5em;
|
|
|
- font-weight: 600;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .info-data-item-value {
|
|
|
+padding: 16px;
|
|
|
+// color: #a6000000;
|
|
|
+
|
|
|
+.info-data-item {
|
|
|
+ font-size: 14px;
|
|
|
+ line-height: 8vmin;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ align-items: flex-start;
|
|
|
+ // justify-content: space-between;
|
|
|
+
|
|
|
+ .info-left {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ flex-shrink: 0;
|
|
|
+
|
|
|
+ .info-data-item-title {
|
|
|
color: #888;
|
|
|
+ min-width: 5em;
|
|
|
+ font-weight: 600;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- .file-item {
|
|
|
- color: #2C81FF;
|
|
|
- text-decoration: underline;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .blue {
|
|
|
- color: #1989fa;
|
|
|
- }
|
|
|
-
|
|
|
- h3 {
|
|
|
- font-size: 4.2vmin;
|
|
|
- line-height: 8vmin;
|
|
|
- }
|
|
|
- }
|
|
|
+ .info-data-item-value {
|
|
|
+ color: #888;
|
|
|
+
|
|
|
+ .file-item {
|
|
|
+ color: #2C81FF;
|
|
|
+ text-decoration: underline;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .blue {
|
|
|
+ color: #1989fa;
|
|
|
+ }
|
|
|
+
|
|
|
+ h3 {
|
|
|
+ font-size: 4.2vmin;
|
|
|
+ line-height: 8vmin;
|
|
|
+ }
|
|
|
+}
|
|
|
+}
|
|
|
+
|
|
|
+.item-action {
|
|
|
+height: 46px;
|
|
|
+display: flex;
|
|
|
+align-items: center;
|
|
|
+justify-content:space-around;
|
|
|
+padding: 0 12px;
|
|
|
+background: #fff;
|
|
|
+
|
|
|
+.action-redirect {
|
|
|
+ padding: 3px 30px;
|
|
|
+ color: #414f64;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+ .action-agree {
|
|
|
+ padding: 3px 30px;
|
|
|
+ color: #2c81ff;
|
|
|
+ }
|
|
|
+ .action-reject {
|
|
|
+ color: #FF1818;
|
|
|
+ padding: 3px 30px;
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|