明树Git Lab

Commit 1a4543d1 authored by yangyajing's avatar yangyajing

审批对接

parent f621841e
Pipeline #108131 passed with stage
in 20 seconds
......@@ -11,7 +11,7 @@
<el-icon size="20">
<ChatDotSquare />
</el-icon>
<div class="count">{{ messageCount }}</div>
<div v-if="messageCount" class="count">{{ messageCount }}</div>
</div>
<div>
<el-dropdown>
......@@ -45,39 +45,40 @@
</template>
<script setup>
import { computed, ref, onMounted, getCurrentInstance } from "vue";
import { computed, ref, onMounted, getCurrentInstance, watch } from "vue";
import { useRouter, useRoute } from "vue-router";
import { useUserStore } from "@/stores/user.js";
import windowConfig from "@/window";
import LeftMenu from "./leftMenu.vue";
import axios from "axios"; // watch中使用proxy会有warning
const userStore = useUserStore();
const { proxy } = getCurrentInstance();
const proxyRef = ref(null);
// 在 setup 中设置
const instance = getCurrentInstance();
if (instance) {
proxyRef.value = instance.proxy;
}
let userInfo = ref(
sessionStorage.getItem("userInfo")
? JSON.parse(sessionStorage.getItem("userInfo"))
: [],
);
const router = useRouter();
const route = useRoute();
// 获取资源库数据
const getResourceData = () => {
proxy.$post({
url: "/api/resource/listResourceAll",
data: {},
callback: (data) => {
sessionStorage.setItem("resourceData", JSON.stringify(data));
},
});
axios.post(windowConfig.baseUrl + "/api/resource/listResourceAll", {}).then((res) => {
sessionStorage.setItem("resourceData", JSON.stringify(res.data));
})
};
// 获取未读消息数量
let messageCount = ref(0);
const getMessageCount = () => {
proxy.$post({
url: "/api/message/getMesCount",
data: {},
callback: (data) => {
messageCount.value = data.count;
},
});
axios.post(windowConfig.baseUrl + "/api/message/getMesCount", {}).then((res) => {
messageCount.value = res.data.count;
})
};
// 跳转消息列表页
const toMessagePage = () => {
......@@ -87,6 +88,10 @@ onMounted(() => {
getResourceData();
getMessageCount();
});
watch(() => route.path, () => {
getMessageCount();
})
// 处理退出登录
const handleLogout = () => {
// 清除登录状态
......
......@@ -7,14 +7,14 @@
<div class="header-right">
<el-button type="default" @click="backClick">返回</el-button>
<template v-if="!loading && !isPreview">
<el-button type="primary" v-if="['1', '5', '7'].includes(formData.projectLzType) || !formData.projectLzType" @click="saveClick('save')">保存</el-button>
<el-button type="primary" v-if="!formData.projectLzType || ['1', '5', '7'].includes(formData.projectLzType.toString())" @click="saveClick('save')">保存</el-button>
<el-button type="primary" v-if="formData.projectLzType == '1'" @click="saveClick('submit')">发起立项填报</el-button>
<el-button type="primary" v-if="jcFormData.projectLzType === '7'" @click="saveClick('submit')">发起决策信息填报</el-button>
<el-button type="primary" v-if="jcFormData.projectLzType == '7'" @click="saveClick('submit')">发起决策信息填报</el-button>
</template>
<!-- <el-button
v-if="isPreview && "
<el-button
v-if="isPreview && canAudit && (formData.projectLzType == '3' || jcFormData.projectLzType == '8') && formData.del !== 1"
type="primary" @click="auditDialogVisible = true"
>审核</el-button> -->
>审核</el-button>
</div>
</div>
<el-tabs v-model="pageActiveName" type="border-card">
......@@ -879,7 +879,7 @@
</div>
</el-tab-pane>
<el-tab-pane label="决策信息填报" name="决策信息填报"
v-if="formData.projectLzType === '5' || formData.projectLzType === '7'"
v-if="formData.projectLzType == '5' || formData.projectLzType == '7'"
:lazy="true"
>
<div class="project-tab-content">
......@@ -2567,6 +2567,14 @@
const userStore = useUserStore();
let token = ref("");
token.value = userStore.authToken || sessionStorage.getItem("authToken") || "";
// 是否是审核角色
const userInfo = userStore.userInfo || (sessionStorage.getItem("userInfo") && JSON.parse(sessionStorage.getItem("userInfo"))) || {};
let canAudit = ref(false);
userInfo.roles.map(item => {
if (["xmlx_sp", "xmjc_sp"].includes(item.key)) {
canAudit.value = true;
}
});
// tab相关
const pageActiveName = ref("立项填报");
......@@ -3431,6 +3439,9 @@
callback: (res) => {
loading.value = false;
let data = res.lixiang || {};
if (data.del === 1) {
ElMessage.warning("该条数据已被删除");
}
Object.assign(formData, data);
Object.assign(swlzbData, data.projectJsgms);
Object.assign(gdxxData, data.projectGdxxs.concat([{}]));
......@@ -3537,7 +3548,7 @@
}
// 保存数据
const saveClick = (type) => {
if (!formData.projectLzType || formData.projectLzType === '1') {
if (!formData.projectLzType || formData.projectLzType.toString() === '1') {
let url = formData.id ? type === "submit" ? "startLixiang" : "saveProjectPreLixiang" : "createProject";
let gdxxNewArr = JSON.parse(JSON.stringify(gdxxData));
gdxxNewArr.splice(-1);
......@@ -3563,7 +3574,7 @@
router.push("/projectDraft");
}
})
} else if (jcFormData.projectLzType === "5" || jcFormData.projectLzType === "7") {
} else if (jcFormData.projectLzType.toString() === "5" || jcFormData.projectLzType.toString() === "7") {
let url = type === "submit" ? "startJuece" : "saveJuece";
let gdxxNewArr = JSON.parse(JSON.stringify(jcGdxxData));
gdxxNewArr.splice(-1);
......@@ -3612,7 +3623,19 @@
};
const submitAudit = () => {
auditForm.value.validate(valid => {
if (valid) {}
if (valid) {
let url = formData.projectLzType.toString() === "3" ? "approvalLixiang" : jcFormData.projectLzType.toString() === "8" ? "approvalJuece" : "";
proxy.$post({
url: "/api/project/" + url,
data: {
id: formData.id,
...auditFormData.value
},
callback: (data) => {
router.push("/message");
}
})
}
});
};
</script>
......
......@@ -23,8 +23,8 @@
>
<template #operations="{ row, index }">
<el-button link type="primary" size="small"
:loading="row.loading" @click="getResult(row)"
>查询</el-button>
:loading="row.loading" @click="previewProject(row)"
>{{ canAudit && row.projectLzType == 8 ? "审批" : "查看" }}</el-button>
</template>
</common-table>
</div>
......@@ -36,10 +36,20 @@
import { reactive, ref, onMounted, computed, getCurrentInstance } from "vue";
import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus";
import { useUserStore } from "@/stores/user.js";
import CommonTable from "@/components/common/commonTable.vue";
const router = useRouter();
const { proxy } = getCurrentInstance();
// 是否是审核角色
const userStore = useUserStore();
const userInfo = userStore.userInfo || (sessionStorage.getItem("userInfo") && JSON.parse(sessionStorage.getItem("userInfo"))) || {};
let canAudit = ref(false);
userInfo.roles.map(item => {
if (["xmlx_sp", "xmjc_sp"].includes(item.key)) {
canAudit.value = true;
}
});
let tableData = ref([]);
let tableColumns = ref([
......@@ -109,19 +119,15 @@
currentPage.value = page;
getProjectData();
}
const getResult = (item) => {
item.loading = true;
proxy.$post({
url: "/api/project/queryJueceResult",
data: {
id: item.id
},
callback: (data) => {
item.loading = false;
getProjectData();
const previewProject = (item) => {
router.push({
name: "addProject",
query: {
isPreview: true,
projectId: item.id
}
})
};
}
</script>
<style scoped lang="less">
......
......@@ -29,9 +29,8 @@
>决策填报</el-button>
<!-- 立项审批中 -->
<el-button link type="primary" size="small"
v-else
:loading="row.loading" @click="viewDecision(row)"
>查看</el-button>
v-else :loading="row.loading" @click="viewDecision(row)"
>{{ canAudit ? "审批" : "查看" }}</el-button>
</template>
</common-table>
</div>
......@@ -43,10 +42,20 @@
import { reactive, ref, onMounted, computed, getCurrentInstance } from "vue";
import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus";
import { useUserStore } from "@/stores/user.js";
import CommonTable from "@/components/common/commonTable.vue";
const router = useRouter();
const { proxy } = getCurrentInstance();
// 是否是审核角色
const userStore = useUserStore();
const userInfo = userStore.userInfo || (sessionStorage.getItem("userInfo") && JSON.parse(sessionStorage.getItem("userInfo"))) || {};
let canAudit = ref(false);
userInfo.roles.map(item => {
if (["xmlx_sp", "xmjc_sp"].includes(item.key)) {
canAudit.value = true;
}
});
let tableData = ref([]);
let tableColumns = ref([
......
......@@ -47,7 +47,7 @@
<template #footer>
<div class="dialog-footer">
<el-button @click="closeDialog">关闭</el-button>
<!-- <el-button type="primary" @click="toProjectPage">去处理</el-button> -->
<el-button type="primary" @click="toProjectPage">去处理</el-button>
</div>
</template>
</el-dialog>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment