明树Git Lab

Commit fdd5c7c6 authored by zhanghan's avatar zhanghan

封装全局的js文件方便下次修改

parent c247fd5e
Pipeline #109906 passed with stage
in 20 seconds
import { ref } from "vue";
import { useProjectInfoStore } from "@/stores/projectInfo";
/**
* 详情页通用逻辑:加载缓存项目信息 + 控制项目选择禁用状态
* @returns {{ projectDisabled: import('vue').Ref<boolean>, cachedInfo: object|null }}
*/
export function useProjectDetail() {
const store = useProjectInfoStore();
const projectDisabled = ref(false);
const cachedInfo = store.loadProjectInfo();
if (cachedInfo) {
projectDisabled.value = true;
}
return { projectDisabled, cachedInfo };
}
import { computed, onMounted } from "vue";
import { useProjectInfoStore } from "@/stores/projectInfo";
/**
* 列表页通用逻辑:项目信息缓存清理/筛选 + 新增按钮权限
* @param {string|number} projectLzType - 项目流转类型(来自 defineProps)
* @param {Function} getDataFn - 获取列表数据的函数,接收 params 对象
* @returns {{ showAddBtn: import('vue').ComputedRef<boolean> }}
*/
export function useProjectList(projectLzType, getDataFn) {
const store = useProjectInfoStore();
const showAddBtn = computed(() => !projectLzType || projectLzType == 9);
onMounted(() => {
if (!window.location.href.includes("xmdakDetaill")) {
store.clearProjectInfo();
getDataFn();
} else {
getDataFn({
projectId: store.getProjectInfo.projectId,
});
}
});
return { showAddBtn };
}
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<el-button <el-button
type="primary" type="primary"
@click="evaluateAdd" @click="evaluateAdd"
v-if="!projectLzType || projectLzType == 9" v-if="showAddBtn"
>新增</el-button >新增</el-button
> >
</div> </div>
...@@ -59,12 +59,12 @@ ...@@ -59,12 +59,12 @@
</template> </template>
<script setup> <script setup>
import { ref, onMounted, getCurrentInstance } from "vue"; import { ref, getCurrentInstance } from "vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import CommonTable from "@/components/common/commonTable.vue"; import CommonTable from "@/components/common/commonTable.vue";
import SearchForm from "@/components/common/SearchForm.vue"; import SearchForm from "@/components/common/SearchForm.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectList } from "@/composables/useProjectList";
const { projectLzType } = defineProps({ const { projectLzType } = defineProps({
projectLzType: [String, Number], projectLzType: [String, Number],
...@@ -139,6 +139,7 @@ const getProjectData = (params = {}) => { ...@@ -139,6 +139,7 @@ const getProjectData = (params = {}) => {
}, },
}); });
}; };
const { showAddBtn } = useProjectList(projectLzType, getProjectData);
// 分页 // 分页
const handleSizeChange = (size) => { const handleSizeChange = (size) => {
pageSize.value = size; pageSize.value = size;
...@@ -189,14 +190,6 @@ const deleteStatement = (item) => { ...@@ -189,14 +190,6 @@ const deleteStatement = (item) => {
}) })
.catch(() => {}); .catch(() => {});
}; };
if (!window.location.href.includes("xmdakDetaill")) {
useProjectInfoStore().clearProjectInfo();
getProjectData();
} else {
getProjectData({
projectId: useProjectInfoStore().getProjectInfo.projectId,
});
}
</script> </script>
<style scoped lang="less"></style> <style scoped lang="less"></style>
...@@ -177,7 +177,7 @@ import FileUploader from "../../components/FileUploader/index.vue"; ...@@ -177,7 +177,7 @@ import FileUploader from "../../components/FileUploader/index.vue";
// 引入增强后的DynamicTable组件 // 引入增强后的DynamicTable组件
import DynamicTable from "../../components/FormDynamicTable/index.vue"; import DynamicTable from "../../components/FormDynamicTable/index.vue";
import routerBack from "@/components/common/routerBack.vue"; import routerBack from "@/components/common/routerBack.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectDetail } from "@/composables/useProjectDetail";
// 初始化全局变量 // 初始化全局变量
const router = useRouter(); const router = useRouter();
const route = useRoute(); const route = useRoute();
...@@ -291,7 +291,7 @@ const formData = reactive({ ...@@ -291,7 +291,7 @@ const formData = reactive({
// 加载状态 // 加载状态
const loading = ref(false); const loading = ref(false);
const projectDisabled = ref(false); const { projectDisabled, cachedInfo } = useProjectDetail();
// 是否预览模式 // 是否预览模式
const isPreview = ref(!!route.query.isPreview); const isPreview = ref(!!route.query.isPreview);
// 项目列表数据 // 项目列表数据
...@@ -392,11 +392,9 @@ let options = ref(); ...@@ -392,11 +392,9 @@ let options = ref();
// 页面初始化 // 页面初始化
onMounted(() => { onMounted(() => {
getProjectData(); getProjectData();
const cachedInfo = useProjectInfoStore().loadProjectInfo();
if (cachedInfo) { if (cachedInfo) {
formData.projectName = cachedInfo.projectName || ""; formData.projectName = cachedInfo.projectName || "";
formData.projectId = cachedInfo.projectId || ""; formData.projectId = cachedInfo.projectId || "";
projectDisabled.value = true;
} }
try { try {
options.value = JSON.parse(sessionStorage.getItem("resourceData")) || {}; options.value = JSON.parse(sessionStorage.getItem("resourceData")) || {};
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<div class="manage-header"> <div class="manage-header">
<div class="header-left"></div> <div class="header-left"></div>
<div class="header-right"> <div class="header-right">
<el-button type="primary" @click="investmentCecoveryAdd" v-if="!projectLzType || projectLzType == 9" <el-button type="primary" @click="investmentCecoveryAdd" v-if="showAddBtn"
>新增</el-button >新增</el-button
> >
</div> </div>
...@@ -56,12 +56,12 @@ ...@@ -56,12 +56,12 @@
</template> </template>
<script setup> <script setup>
import { ref, onMounted, getCurrentInstance } from "vue"; import { ref, getCurrentInstance } from "vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import CommonTable from "@/components/common/commonTable.vue"; import CommonTable from "@/components/common/commonTable.vue";
import SearchForm from "@/components/common/SearchForm.vue"; import SearchForm from "@/components/common/SearchForm.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectList } from "@/composables/useProjectList";
const { projectLzType } = defineProps({ const { projectLzType } = defineProps({
projectLzType: [String, Number], projectLzType: [String, Number],
...@@ -179,6 +179,7 @@ const getProjectData = (params = {}) => { ...@@ -179,6 +179,7 @@ const getProjectData = (params = {}) => {
}, },
}); });
}; };
const { showAddBtn } = useProjectList(projectLzType, getProjectData);
// 分页 // 分页
const handleSizeChange = (size) => { const handleSizeChange = (size) => {
pageSize.value = size; pageSize.value = size;
...@@ -229,16 +230,6 @@ const deleteStatement = (item) => { ...@@ -229,16 +230,6 @@ const deleteStatement = (item) => {
}) })
.catch(() => {}); .catch(() => {});
}; };
onMounted(() => {
if (!window.location.href.includes("xmdakDetaill")) {
useProjectInfoStore().clearProjectInfo();
getProjectData();
} else {
getProjectData({
projectId: useProjectInfoStore().getProjectInfo.projectId,
});
}
});
</script> </script>
<style scoped lang="less"></style> <style scoped lang="less"></style>
...@@ -541,7 +541,7 @@ import FinancialTable from "@/components/FinancialTable.vue"; ...@@ -541,7 +541,7 @@ import FinancialTable from "@/components/FinancialTable.vue";
import InvestmentRecoveryTable from "@/components/InvestmentRecoveryTable.vue"; import InvestmentRecoveryTable from "@/components/InvestmentRecoveryTable.vue";
import routerBack from "@/components/common/routerBack.vue"; import routerBack from "@/components/common/routerBack.vue";
import CollapseNavigation from "@/components/CollapseNavigation/index.vue"; import CollapseNavigation from "@/components/CollapseNavigation/index.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectDetail } from "@/composables/useProjectDetail";
const transferColumns = ref([ const transferColumns = ref([
{ {
prop: "njfcgbl", prop: "njfcgbl",
...@@ -1301,7 +1301,7 @@ const changeProject = (val) => { ...@@ -1301,7 +1301,7 @@ const changeProject = (val) => {
}; };
// 加载状态 // 加载状态
const loading = ref(false); const loading = ref(false);
const projectDisabled = ref(false); const { projectDisabled, cachedInfo } = useProjectDetail();
// 是否预览模式 // 是否预览模式
const isPreview = ref(!!route.query.isPreview); const isPreview = ref(!!route.query.isPreview);
// 项目列表数据 // 项目列表数据
...@@ -1387,11 +1387,9 @@ const saveClick = () => { ...@@ -1387,11 +1387,9 @@ const saveClick = () => {
onMounted(() => { onMounted(() => {
// 获取项目列表 // 获取项目列表
getProjectData(); getProjectData();
const cachedInfo = useProjectInfoStore().loadProjectInfo();
if (cachedInfo) { if (cachedInfo) {
formData.projectName = cachedInfo.projectName || ""; formData.projectName = cachedInfo.projectName || "";
formData.projectId = cachedInfo.projectId || ""; formData.projectId = cachedInfo.projectId || "";
projectDisabled.value = true;
} }
options.value = JSON.parse(sessionStorage.getItem("resourceData")); options.value = JSON.parse(sessionStorage.getItem("resourceData"));
// 如果有ID则加载详情 // 如果有ID则加载详情
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<div class="manage-header"> <div class="manage-header">
<div class="header-left"></div> <div class="header-left"></div>
<div class="header-right"> <div class="header-right">
<el-button type="primary" @click="runningPeriodAdd" v-if="!projectLzType || projectLzType == 9">新增</el-button> <el-button type="primary" @click="runningPeriodAdd" v-if="showAddBtn">新增</el-button>
</div> </div>
</div> </div>
<div class="manage-content" v-loading="loading"> <div class="manage-content" v-loading="loading">
...@@ -54,12 +54,12 @@ ...@@ -54,12 +54,12 @@
</template> </template>
<script setup> <script setup>
import { ref, onMounted, getCurrentInstance } from "vue"; import { ref, getCurrentInstance } from "vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import CommonTable from "@/components/common/commonTable.vue"; import CommonTable from "@/components/common/commonTable.vue";
import SearchForm from "@/components/common/SearchForm.vue"; import SearchForm from "@/components/common/SearchForm.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectList } from "@/composables/useProjectList";
const { projectLzType } = defineProps({ const { projectLzType } = defineProps({
projectLzType: [String, Number], projectLzType: [String, Number],
...@@ -109,6 +109,7 @@ const getProjectData = (params = {}) => { ...@@ -109,6 +109,7 @@ const getProjectData = (params = {}) => {
}, },
}); });
}; };
const { showAddBtn } = useProjectList(projectLzType, getProjectData);
// 分页 // 分页
const handleSizeChange = (size) => { const handleSizeChange = (size) => {
pageSize.value = size; pageSize.value = size;
...@@ -159,16 +160,6 @@ const deleteStatement = (item) => { ...@@ -159,16 +160,6 @@ const deleteStatement = (item) => {
}) })
.catch(() => {}); .catch(() => {});
}; };
onMounted(() => {
if (!window.location.href.includes("xmdakDetaill")) {
useProjectInfoStore().clearProjectInfo();
getProjectData();
} else {
getProjectData({
projectId: useProjectInfoStore().getProjectInfo.projectId,
});
}
});
</script> </script>
<style scoped lang="less"></style> <style scoped lang="less"></style>
...@@ -86,7 +86,7 @@ import { useRouter, useRoute } from "vue-router"; ...@@ -86,7 +86,7 @@ import { useRouter, useRoute } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import DynamicTable from "@/components/FormDynamicTable/index.vue"; // 引入通用组件 import DynamicTable from "@/components/FormDynamicTable/index.vue"; // 引入通用组件
import routerBack from "@/components/common/routerBack.vue"; import routerBack from "@/components/common/routerBack.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectDetail } from "@/composables/useProjectDetail";
// 初始化全局变量 // 初始化全局变量
const router = useRouter(); const router = useRouter();
const route = useRoute(); const route = useRoute();
...@@ -198,7 +198,7 @@ const formData = reactive({ ...@@ -198,7 +198,7 @@ const formData = reactive({
// 加载状态 // 加载状态
const loading = ref(false); const loading = ref(false);
const projectDisabled = ref(false); const { projectDisabled, cachedInfo } = useProjectDetail();
// 是否预览模式 // 是否预览模式
const isPreview = ref(!!route.query.isPreview); const isPreview = ref(!!route.query.isPreview);
// 项目列表数据 // 项目列表数据
...@@ -299,11 +299,9 @@ let options = ref(); ...@@ -299,11 +299,9 @@ let options = ref();
onMounted(() => { onMounted(() => {
// 获取项目列表 // 获取项目列表
getProjectData(); getProjectData();
const cachedInfo = useProjectInfoStore().loadProjectInfo();
if (cachedInfo) { if (cachedInfo) {
formData.projectName = cachedInfo.projectName || ""; formData.projectName = cachedInfo.projectName || "";
formData.projectId = cachedInfo.projectId || ""; formData.projectId = cachedInfo.projectId || "";
projectDisabled.value = true;
} }
options.value = JSON.parse(sessionStorage.getItem("resourceData")); options.value = JSON.parse(sessionStorage.getItem("resourceData"));
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div class="manage-header"> <div class="manage-header">
<div class="header-left"></div> <div class="header-left"></div>
<div class="header-right"> <div class="header-right">
<el-button type="primary" @click="turnoverAdd" v-if="!projectLzType || projectLzType == 9">新增</el-button> <el-button type="primary" @click="turnoverAdd" v-if="showAddBtn">新增</el-button>
</div> </div>
</div> </div>
<div class="manage-content" v-loading="loading"> <div class="manage-content" v-loading="loading">
...@@ -55,12 +55,12 @@ ...@@ -55,12 +55,12 @@
</template> </template>
<script setup> <script setup>
import { ref, onMounted, getCurrentInstance } from "vue"; import { ref, getCurrentInstance } from "vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import CommonTable from "@/components/common/commonTable.vue"; import CommonTable from "@/components/common/commonTable.vue";
import SearchForm from "@/components/common/SearchForm.vue"; import SearchForm from "@/components/common/SearchForm.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectList } from "@/composables/useProjectList";
const { projectLzType } = defineProps({ const { projectLzType } = defineProps({
projectLzType: [String, Number], projectLzType: [String, Number],
...@@ -143,6 +143,7 @@ const getProjectData = (params = {}) => { ...@@ -143,6 +143,7 @@ const getProjectData = (params = {}) => {
}, },
}); });
}; };
const { showAddBtn } = useProjectList(projectLzType, getProjectData);
// 分页 // 分页
const handleSizeChange = (size) => { const handleSizeChange = (size) => {
pageSize.value = size; pageSize.value = size;
...@@ -193,16 +194,6 @@ const deleteStatement = (item) => { ...@@ -193,16 +194,6 @@ const deleteStatement = (item) => {
}) })
.catch(() => {}); .catch(() => {});
}; };
onMounted(() => {
if (!window.location.href.includes("xmdakDetaill")) {
useProjectInfoStore().clearProjectInfo();
getProjectData();
} else {
getProjectData({
projectId: useProjectInfoStore().getProjectInfo.projectId,
});
}
});
</script> </script>
<style scoped lang="less"></style> <style scoped lang="less"></style>
...@@ -97,7 +97,7 @@ import { useRouter, useRoute } from "vue-router"; ...@@ -97,7 +97,7 @@ import { useRouter, useRoute } from "vue-router";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import DynamicTable from "@/components/FormDynamicTable/index.vue"; import DynamicTable from "@/components/FormDynamicTable/index.vue";
import routerBack from "@/components/common/routerBack.vue"; import routerBack from "@/components/common/routerBack.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectDetail } from "@/composables/useProjectDetail";
// 路由与全局实例 // 路由与全局实例
const router = useRouter(); const router = useRouter();
const route = useRoute(); const route = useRoute();
...@@ -138,7 +138,7 @@ const formData = reactive({ ...@@ -138,7 +138,7 @@ const formData = reactive({
// 状态管理 // 状态管理
const loading = ref(false); const loading = ref(false);
const projectDisabled = ref(false); const { projectDisabled, cachedInfo } = useProjectDetail();
const isPreview = ref(!!route.query.isPreview); const isPreview = ref(!!route.query.isPreview);
const projectList = ref([]); const projectList = ref([]);
const rcCgqyglId = ref(route.query.id || ""); const rcCgqyglId = ref(route.query.id || "");
...@@ -249,11 +249,9 @@ const saveClick = () => { ...@@ -249,11 +249,9 @@ const saveClick = () => {
// 页面初始化 // 页面初始化
onMounted(() => { onMounted(() => {
getProjectData(); getProjectData();
const cachedInfo = useProjectInfoStore().loadProjectInfo();
if (cachedInfo) { if (cachedInfo) {
formData.projectName = cachedInfo.projectName || ""; formData.projectName = cachedInfo.projectName || "";
formData.projectId = cachedInfo.projectId || ""; formData.projectId = cachedInfo.projectId || "";
projectDisabled.value = true;
} }
options.value = JSON.parse(sessionStorage.getItem("resourceData")); options.value = JSON.parse(sessionStorage.getItem("resourceData"));
if (rcCgqyglId.value) getJsqtzjcDetail(); if (rcCgqyglId.value) getJsqtzjcDetail();
......
...@@ -1018,12 +1018,14 @@ import FileUploader from "@/components/FileUploader/index.vue"; ...@@ -1018,12 +1018,14 @@ import FileUploader from "@/components/FileUploader/index.vue";
import routerBack from "@/components/common/routerBack.vue"; import routerBack from "@/components/common/routerBack.vue";
import CollapseNavigation from "@/components/CollapseNavigation/index.vue"; import CollapseNavigation from "@/components/CollapseNavigation/index.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectDetail } from "@/composables/useProjectDetail";
import { useUserStore } from "@/stores/user.js"; import { useUserStore } from "@/stores/user.js";
const userStore = useUserStore(); const userStore = useUserStore();
const router = useRouter(); const router = useRouter();
const route = useRoute(); const route = useRoute();
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { projectDisabled, cachedInfo } = useProjectDetail();
let token = ref(""); let token = ref("");
token.value = userStore.authToken || sessionStorage.getItem("authToken") || ""; token.value = userStore.authToken || sessionStorage.getItem("authToken") || "";
...@@ -1091,7 +1093,6 @@ const handleNavClick = (item) => { ...@@ -1091,7 +1093,6 @@ const handleNavClick = (item) => {
}; };
let formData = reactive({}); let formData = reactive({});
let loading = ref(false); let loading = ref(false);
const projectDisabled = ref(false);
// 项目列表 // 项目列表
let projectList = ref([]); let projectList = ref([]);
...@@ -1197,11 +1198,9 @@ let lyList = reactive([]); // 安全质量环保-来源列表 ...@@ -1197,11 +1198,9 @@ let lyList = reactive([]); // 安全质量环保-来源列表
onMounted(() => { onMounted(() => {
getProjectData(); getProjectData();
const cachedInfo = useProjectInfoStore().loadProjectInfo();
if (cachedInfo) { if (cachedInfo) {
formData.projectName = cachedInfo.projectName || ""; formData.projectName = cachedInfo.projectName || "";
formData.projectId = cachedInfo.projectId || ""; formData.projectId = cachedInfo.projectId || "";
projectDisabled.value = true;
} }
let resourceData = JSON.parse(sessionStorage.getItem("resourceData")); let resourceData = JSON.parse(sessionStorage.getItem("resourceData"));
ssjdList = resourceData.ssjd; ssjdList = resourceData.ssjd;
......
...@@ -405,15 +405,16 @@ const userStore = useUserStore(); ...@@ -405,15 +405,16 @@ const userStore = useUserStore();
const router = useRouter(); const router = useRouter();
const route = useRoute(); const route = useRoute();
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { projectDisabled, cachedInfo } = useProjectDetail();
let token = ref(""); let token = ref("");
token.value = userStore.authToken || sessionStorage.getItem("authToken") || ""; token.value = userStore.authToken || sessionStorage.getItem("authToken") || "";
import routerBack from "@/components/common/routerBack.vue"; import routerBack from "@/components/common/routerBack.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectDetail } from "@/composables/useProjectDetail";
const activeCollapse = reactive(["基本信息", "已发现或暴露的风险"]); const activeCollapse = reactive(["基本信息", "已发现或暴露的风险"]);
let formData = reactive({}); let formData = reactive({});
let loading = ref(false); let loading = ref(false);
const projectDisabled = ref(false);
let isPreview = !!route.query.isPreview; let isPreview = !!route.query.isPreview;
let riskId = route.query.riskId; let riskId = route.query.riskId;
const getRiskInfo = () => { const getRiskInfo = () => {
...@@ -468,11 +469,9 @@ let tzbkProps = { ...@@ -468,11 +469,9 @@ let tzbkProps = {
let xmlxList = ref([]); //项目类型 let xmlxList = ref([]); //项目类型
onMounted(() => { onMounted(() => {
getProjectData(); getProjectData();
const cachedInfo = useProjectInfoStore().loadProjectInfo();
if (cachedInfo) { if (cachedInfo) {
formData.projectName = cachedInfo.projectName || ""; formData.projectName = cachedInfo.projectName || "";
formData.projectId = cachedInfo.projectId || ""; formData.projectId = cachedInfo.projectId || "";
projectDisabled.value = true;
} }
let resourceData = JSON.parse(sessionStorage.getItem("resourceData")); let resourceData = JSON.parse(sessionStorage.getItem("resourceData"));
jnwList = resourceData.dqlx; jnwList = resourceData.dqlx;
......
...@@ -740,10 +740,13 @@ import { reactive, ref, onMounted, getCurrentInstance, h, watch } from "vue"; ...@@ -740,10 +740,13 @@ import { reactive, ref, onMounted, getCurrentInstance, h, watch } from "vue";
import { useRouter, useRoute } from "vue-router"; import { useRouter, useRoute } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import { useUserStore } from "@/stores/user.js"; import { useUserStore } from "@/stores/user.js";
import { useProjectDetail } from "@/composables/useProjectDetail";
const userStore = useUserStore(); const userStore = useUserStore();
const router = useRouter(); const router = useRouter();
const route = useRoute(); const route = useRoute();
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { projectDisabled, cachedInfo } = useProjectDetail();
import FileUploader from "@/components/FileUploader/index.vue"; import FileUploader from "@/components/FileUploader/index.vue";
import DynamicTable from "@/components/FormDynamicTable/index.vue"; import DynamicTable from "@/components/FormDynamicTable/index.vue";
const transferColumns1 = ref([ const transferColumns1 = ref([
...@@ -809,7 +812,6 @@ const pageActiveName = ref("投资目标责任书"); ...@@ -809,7 +812,6 @@ const pageActiveName = ref("投资目标责任书");
let token = ref(""); let token = ref("");
token.value = userStore.authToken || sessionStorage.getItem("authToken") || ""; token.value = userStore.authToken || sessionStorage.getItem("authToken") || "";
import routerBack from "@/components/common/routerBack.vue"; import routerBack from "@/components/common/routerBack.vue";
import { useProjectInfoStore } from "@/stores/projectInfo";
const activeCollapse = reactive([ const activeCollapse = reactive([
"责任书基本信息", "责任书基本信息",
...@@ -901,7 +903,6 @@ const deletePfyjlsqk = (index) => { ...@@ -901,7 +903,6 @@ const deletePfyjlsqk = (index) => {
}; };
let isPreview = !!route.query.isPreview; let isPreview = !!route.query.isPreview;
const projectDisabled = ref(false);
let statementId = route.query.statementId; let statementId = route.query.statementId;
// 查看编辑详情 // 查看编辑详情
const getStatementInfo = () => { const getStatementInfo = () => {
...@@ -932,11 +933,9 @@ const getStatementInfo = () => { ...@@ -932,11 +933,9 @@ const getStatementInfo = () => {
}; };
onMounted(() => { onMounted(() => {
getProjectData(); getProjectData();
const cachedInfo = useProjectInfoStore().loadProjectInfo();
if (cachedInfo) { if (cachedInfo) {
formData.projectName = cachedInfo.projectName || ""; formData.projectName = cachedInfo.projectName || "";
formData.projectId = cachedInfo.projectId || ""; formData.projectId = cachedInfo.projectId || "";
projectDisabled.value = true;
} }
let resourceData = JSON.parse(sessionStorage.getItem("resourceData")); let resourceData = JSON.parse(sessionStorage.getItem("resourceData"));
zrslxList = resourceData.level; zrslxList = resourceData.level;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<div class="manage-header"> <div class="manage-header">
<div class="header-left"></div> <div class="header-left"></div>
<div class="header-right"> <div class="header-right">
<el-button type="primary" @click="bigIssuesAdd" v-if="!projectLzType || projectLzType == 9">新增</el-button> <el-button type="primary" @click="bigIssuesAdd" v-if="showAddBtn">新增</el-button>
</div> </div>
</div> </div>
<div class="manage-content" v-loading="loading"> <div class="manage-content" v-loading="loading">
...@@ -59,7 +59,7 @@ import { useRouter } from "vue-router"; ...@@ -59,7 +59,7 @@ import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import CommonTable from "@/components/common/commonTable.vue"; import CommonTable from "@/components/common/commonTable.vue";
import SearchForm from "@/components/common/SearchForm.vue"; import SearchForm from "@/components/common/SearchForm.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectList } from "@/composables/useProjectList";
const { projectLzType } = defineProps({ const { projectLzType } = defineProps({
projectLzType: [String, Number], projectLzType: [String, Number],
...@@ -145,6 +145,7 @@ const getProjectData = (params = {}) => { ...@@ -145,6 +145,7 @@ const getProjectData = (params = {}) => {
}, },
}); });
}; };
const { showAddBtn } = useProjectList(projectLzType, getProjectData);
// 分页 // 分页
const handleSizeChange = (size) => { const handleSizeChange = (size) => {
pageSize.value = size; pageSize.value = size;
...@@ -195,16 +196,6 @@ const deleteStatement = (item) => { ...@@ -195,16 +196,6 @@ const deleteStatement = (item) => {
}) })
.catch(() => {}); .catch(() => {});
}; };
onMounted(() => {
if (!window.location.href.includes("xmdakDetaill")) {
useProjectInfoStore().clearProjectInfo();
getProjectData();
} else {
getProjectData({
projectId: useProjectInfoStore().getProjectInfo.projectId,
});
}
});
</script> </script>
<style scoped lang="less"></style> <style scoped lang="less"></style>
...@@ -239,12 +239,14 @@ import { useRouter, useRoute } from "vue-router"; ...@@ -239,12 +239,14 @@ import { useRouter, useRoute } from "vue-router";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import FileUploader from "../../components/FileUploader/index.vue"; import FileUploader from "../../components/FileUploader/index.vue";
import routerBack from "@/components/common/routerBack.vue"; import routerBack from "@/components/common/routerBack.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectDetail } from "@/composables/useProjectDetail";
// 初始化全局变量 // 初始化全局变量
const router = useRouter(); const router = useRouter();
const route = useRoute(); const route = useRoute();
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { projectDisabled, cachedInfo } = useProjectDetail();
const customColumnsJs = [ const customColumnsJs = [
{ {
prop: "js", prop: "js",
...@@ -279,7 +281,6 @@ const formData = reactive({ ...@@ -279,7 +281,6 @@ const formData = reactive({
// 加载状态 // 加载状态
const loading = ref(false); const loading = ref(false);
const projectDisabled = ref(false);
// 是否预览模式 // 是否预览模式
const isPreview = ref(!!route.query.isPreview); const isPreview = ref(!!route.query.isPreview);
// 项目列表数据 // 项目列表数据
...@@ -380,11 +381,9 @@ const saveClick = () => { ...@@ -380,11 +381,9 @@ const saveClick = () => {
onMounted(() => { onMounted(() => {
// 获取项目列表 // 获取项目列表
getProjectData(); getProjectData();
const cachedInfo = useProjectInfoStore().loadProjectInfo();
if (cachedInfo) { if (cachedInfo) {
formData.projectName = cachedInfo.projectName || ""; formData.projectName = cachedInfo.projectName || "";
formData.projectId = cachedInfo.projectId || ""; formData.projectId = cachedInfo.projectId || "";
projectDisabled.value = true;
} }
if (rcCgqyglId.value) { if (rcCgqyglId.value) {
getJsqtzjcDetail(); getJsqtzjcDetail();
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<div class="manage-header"> <div class="manage-header">
<div class="header-left"></div> <div class="header-left"></div>
<div class="header-right"> <div class="header-right">
<el-button type="primary" @click="constructionAdd" v-if="!projectLzType || projectLzType == 9">新增</el-button> <el-button type="primary" @click="constructionAdd" v-if="showAddBtn">新增</el-button>
</div> </div>
</div> </div>
<div class="manage-content" v-loading="loading"> <div class="manage-content" v-loading="loading">
...@@ -59,7 +59,7 @@ import { useRouter } from "vue-router"; ...@@ -59,7 +59,7 @@ import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import CommonTable from "@/components/common/commonTable.vue"; import CommonTable from "@/components/common/commonTable.vue";
import SearchForm from "@/components/common/SearchForm.vue"; import SearchForm from "@/components/common/SearchForm.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectList } from "@/composables/useProjectList";
const { projectLzType } = defineProps({ const { projectLzType } = defineProps({
projectLzType: [String, Number], projectLzType: [String, Number],
...@@ -110,6 +110,7 @@ const getProjectData = (params = {}) => { ...@@ -110,6 +110,7 @@ const getProjectData = (params = {}) => {
}, },
}); });
}; };
const { showAddBtn } = useProjectList(projectLzType, getProjectData);
// 分页 // 分页
const handleSizeChange = (size) => { const handleSizeChange = (size) => {
pageSize.value = size; pageSize.value = size;
...@@ -160,16 +161,6 @@ const deleteStatement = (item) => { ...@@ -160,16 +161,6 @@ const deleteStatement = (item) => {
}) })
.catch(() => {}); .catch(() => {});
}; };
onMounted(() => {
if (!window.location.href.includes("xmdakDetaill")) {
useProjectInfoStore().clearProjectInfo();
getProjectData();
} else {
getProjectData({
projectId: useProjectInfoStore().getProjectInfo.projectId,
});
}
});
</script> </script>
<style scoped lang="less"></style> <style scoped lang="less"></style>
...@@ -317,13 +317,15 @@ import { useRouter, useRoute } from "vue-router"; ...@@ -317,13 +317,15 @@ import { useRouter, useRoute } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import FileUploader from "../../components/FileUploader/index.vue"; import FileUploader from "../../components/FileUploader/index.vue";
import routerBack from "@/components/common/routerBack.vue"; import routerBack from "@/components/common/routerBack.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectDetail } from "@/composables/useProjectDetail";
// 初始化全局变量 // 初始化全局变量
const router = useRouter(); const router = useRouter();
const route = useRoute(); const route = useRoute();
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { projectDisabled, cachedInfo } = useProjectDetail();
// 折叠面板默认展开项 // 折叠面板默认展开项
const activeCollapse = ref(["基本信息", "投资(成本)分析会资料", "专项检查"]); const activeCollapse = ref(["基本信息", "投资(成本)分析会资料", "专项检查"]);
...@@ -338,7 +340,6 @@ const formData = reactive({ ...@@ -338,7 +340,6 @@ const formData = reactive({
// 加载状态 // 加载状态
const loading = ref(false); const loading = ref(false);
const projectDisabled = ref(false);
// 是否预览模式 // 是否预览模式
const isPreview = ref(!!route.query.isPreview); const isPreview = ref(!!route.query.isPreview);
// 项目列表数据 // 项目列表数据
...@@ -485,11 +486,9 @@ let options = ref(); ...@@ -485,11 +486,9 @@ let options = ref();
onMounted(() => { onMounted(() => {
// 获取项目列表 // 获取项目列表
getProjectData(); getProjectData();
const cachedInfo = useProjectInfoStore().loadProjectInfo();
if (cachedInfo) { if (cachedInfo) {
formData.projectName = cachedInfo.projectName || ""; formData.projectName = cachedInfo.projectName || "";
formData.projectId = cachedInfo.projectId || ""; formData.projectId = cachedInfo.projectId || "";
projectDisabled.value = true;
} }
options.value = JSON.parse(sessionStorage.getItem("resourceData")); options.value = JSON.parse(sessionStorage.getItem("resourceData"));
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div class="header-left"></div> <div class="header-left"></div>
<div class="header-right"> <div class="header-right">
<el-button type="primary" @click="constructionTimeAdd" <el-button type="primary" @click="constructionTimeAdd"
v-if="!projectLzType || projectLzType == 9" v-if="showAddBtn"
>新增</el-button >新增</el-button
> >
</div> </div>
...@@ -62,7 +62,7 @@ import { useRouter } from "vue-router"; ...@@ -62,7 +62,7 @@ import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import CommonTable from "@/components/common/commonTable.vue"; import CommonTable from "@/components/common/commonTable.vue";
import SearchForm from "@/components/common/SearchForm.vue"; import SearchForm from "@/components/common/SearchForm.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectList } from "@/composables/useProjectList";
const { projectLzType } = defineProps({ const { projectLzType } = defineProps({
projectLzType: [String, Number], projectLzType: [String, Number],
...@@ -118,6 +118,7 @@ const getProjectData = (params = {}) => { ...@@ -118,6 +118,7 @@ const getProjectData = (params = {}) => {
}, },
}); });
}; };
const { showAddBtn } = useProjectList(projectLzType, getProjectData);
// 分页 // 分页
const handleSizeChange = (size) => { const handleSizeChange = (size) => {
pageSize.value = size; pageSize.value = size;
...@@ -168,16 +169,6 @@ const deleteStatement = (item) => { ...@@ -168,16 +169,6 @@ const deleteStatement = (item) => {
}) })
.catch(() => {}); .catch(() => {});
}; };
onMounted(() => {
if (!window.location.href.includes("xmdakDetaill")) {
useProjectInfoStore().clearProjectInfo();
getProjectData();
} else {
getProjectData({
projectId: useProjectInfoStore().getProjectInfo.projectId,
});
}
});
</script> </script>
<style scoped lang="less"></style> <style scoped lang="less"></style>
...@@ -541,7 +541,7 @@ import FinancialTable from "@/components/FinancialTable.vue"; ...@@ -541,7 +541,7 @@ import FinancialTable from "@/components/FinancialTable.vue";
import InvestmentRecoveryTable from "@/components/InvestmentRecoveryTable.vue"; import InvestmentRecoveryTable from "@/components/InvestmentRecoveryTable.vue";
import routerBack from "@/components/common/routerBack.vue"; import routerBack from "@/components/common/routerBack.vue";
import CollapseNavigation from "@/components/CollapseNavigation/index.vue"; import CollapseNavigation from "@/components/CollapseNavigation/index.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectDetail } from "@/composables/useProjectDetail";
// 接收父组件传递的 isPreview prop // 接收父组件传递的 isPreview prop
const props = defineProps({ const props = defineProps({
...@@ -600,6 +600,8 @@ const router = useRouter(); ...@@ -600,6 +600,8 @@ const router = useRouter();
const route = useRoute(); const route = useRoute();
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { projectDisabled, cachedInfo } = useProjectDetail();
// ========== 导航配置(由 v-collapse-nav 指令自动生成) ========== // ========== 导航配置(由 v-collapse-nav 指令自动生成) ==========
const navigationItems = ref([]); const navigationItems = ref([]);
...@@ -1303,7 +1305,6 @@ const changeProject = (val) => { ...@@ -1303,7 +1305,6 @@ const changeProject = (val) => {
}; };
// 加载状态 // 加载状态
const loading = ref(false); const loading = ref(false);
const projectDisabled = ref(false);
// 是否预览模式 - 优先使用父组件传递的 prop,否则从路由参数读取 // 是否预览模式 - 优先使用父组件传递的 prop,否则从路由参数读取
const isPreview = computed(() => { const isPreview = computed(() => {
// 如果父组件显式传递了 isPreview prop,使用 prop 的值 // 如果父组件显式传递了 isPreview prop,使用 prop 的值
...@@ -1396,11 +1397,9 @@ const saveClick = () => { ...@@ -1396,11 +1397,9 @@ const saveClick = () => {
onMounted(() => { onMounted(() => {
// 获取项目列表 // 获取项目列表
getProjectData(); getProjectData();
const cachedInfo = useProjectInfoStore().loadProjectInfo();
if (cachedInfo) { if (cachedInfo) {
formData.projectName = cachedInfo.projectName || ""; formData.projectName = cachedInfo.projectName || "";
formData.projectId = cachedInfo.projectId || ""; formData.projectId = cachedInfo.projectId || "";
projectDisabled.value = true;
} }
options.value = JSON.parse(sessionStorage.getItem("resourceData")); options.value = JSON.parse(sessionStorage.getItem("resourceData"));
// 如果有ID则加载详情 // 如果有ID则加载详情
......
...@@ -79,7 +79,7 @@ import { useRouter } from "vue-router"; ...@@ -79,7 +79,7 @@ import { useRouter } from "vue-router";
import { useUserStore } from "@/stores/user.js"; import { useUserStore } from "@/stores/user.js";
import CommonTable from "@/components/common/commonTable.vue"; import CommonTable from "@/components/common/commonTable.vue";
import SearchForm from "@/components/common/SearchForm.vue"; import SearchForm from "@/components/common/SearchForm.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectList } from "@/composables/useProjectList";
const { projectLzType } = defineProps({ const { projectLzType } = defineProps({
projectLzType: [String, Number], projectLzType: [String, Number],
...@@ -177,16 +177,7 @@ const getProjectData = (params = {}) => { ...@@ -177,16 +177,7 @@ const getProjectData = (params = {}) => {
}, },
}); });
}; };
onMounted(() => { const { showAddBtn } = useProjectList(projectLzType, getProjectData);
if (!window.location.href.includes("xmdakDetaill")) {
useProjectInfoStore().clearProjectInfo();
getProjectData();
} else {
getProjectData({
projectId: useProjectInfoStore().getProjectInfo.projectId,
});
}
});
// 分页 // 分页
const handleSizeChange = (size) => { const handleSizeChange = (size) => {
pageSize.value = size; pageSize.value = size;
......
...@@ -3230,10 +3230,12 @@ import DynamicTable from "@/components/FormDynamicTable/index.vue"; ...@@ -3230,10 +3230,12 @@ import DynamicTable from "@/components/FormDynamicTable/index.vue";
import _ from "lodash"; import _ from "lodash";
import Decimal from "decimal.js"; import Decimal from "decimal.js";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectDetail } from "@/composables/useProjectDetail";
const router = useRouter(); const router = useRouter();
const route = useRoute(); const route = useRoute();
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { projectDisabled, cachedInfo } = useProjectDetail();
const userStore = useUserStore(); const userStore = useUserStore();
let token = ref(""); let token = ref("");
token.value = userStore.authToken || sessionStorage.getItem("authToken") || ""; token.value = userStore.authToken || sessionStorage.getItem("authToken") || "";
...@@ -3310,7 +3312,6 @@ const jcpfcollapse = reactive([ ...@@ -3310,7 +3312,6 @@ const jcpfcollapse = reactive([
let formData = reactive({}); let formData = reactive({});
let jcFormData = reactive({}); let jcFormData = reactive({});
let loading = ref(false); let loading = ref(false);
const projectDisabled = ref(false);
// 单选框点击事件 // 单选框点击事件
const radioClick = (value, key) => { const radioClick = (value, key) => {
if (formData[key] !== value) { if (formData[key] !== value) {
...@@ -4699,11 +4700,9 @@ const getProjectInfo = () => { ...@@ -4699,11 +4700,9 @@ const getProjectInfo = () => {
let resourceData = null; let resourceData = null;
onMounted(() => { onMounted(() => {
projectId && getProjectInfo(); projectId && getProjectInfo();
const cachedInfo = useProjectInfoStore().loadProjectInfo();
if (cachedInfo) { if (cachedInfo) {
formData.projectName = cachedInfo.projectName || ""; formData.projectName = cachedInfo.projectName || "";
formData.projectId = cachedInfo.projectId || ""; formData.projectId = cachedInfo.projectId || "";
projectDisabled.value = true;
} }
resourceData = JSON.parse(sessionStorage.getItem("resourceData")); resourceData = JSON.parse(sessionStorage.getItem("resourceData"));
zyList = resourceData.zyfzy; zyList = resourceData.zyfzy;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<div class="manage-header"> <div class="manage-header">
<div class="header-left"></div> <div class="header-left"></div>
<div class="header-right"> <div class="header-right">
<el-button type="primary" @click="addRisk" v-if="!projectLzType || projectLzType == 9">新增</el-button> <el-button type="primary" @click="addRisk" v-if="showAddBtn">新增</el-button>
</div> </div>
</div> </div>
<div class="manage-content" v-loading="loading"> <div class="manage-content" v-loading="loading">
...@@ -51,7 +51,7 @@ import { useRouter } from "vue-router"; ...@@ -51,7 +51,7 @@ import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import CommonTable from "@/components/common/commonTable.vue"; import CommonTable from "@/components/common/commonTable.vue";
import SearchForm from "@/components/common/SearchForm.vue"; import SearchForm from "@/components/common/SearchForm.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectList } from "@/composables/useProjectList";
const { projectLzType } = defineProps({ const { projectLzType } = defineProps({
projectLzType: [String, Number], projectLzType: [String, Number],
...@@ -105,6 +105,7 @@ const getProjectData = (params) => { ...@@ -105,6 +105,7 @@ const getProjectData = (params) => {
}, },
}); });
}; };
const { showAddBtn } = useProjectList(projectLzType, getProjectData);
// 分页 // 分页
const handleSizeChange = (size) => { const handleSizeChange = (size) => {
pageSize.value = size; pageSize.value = size;
...@@ -155,15 +156,5 @@ const deleteRisk = (item) => { ...@@ -155,15 +156,5 @@ const deleteRisk = (item) => {
}) })
.catch(() => {}); .catch(() => {});
}; };
onMounted(() => {
if (!window.location.href.includes("xmdakDetaill")) {
useProjectInfoStore().clearProjectInfo();
getProjectData();
} else {
getProjectData({
projectId: useProjectInfoStore().getProjectInfo.projectId,
});
}
});
</script> </script>
<style lang="less" scoped></style> <style lang="less" scoped></style>
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<div class="manage-header"> <div class="manage-header">
<div class="header-left"></div> <div class="header-left"></div>
<div class="header-right"> <div class="header-right">
<el-button type="primary" @click="annualAdd" v-if="!projectLzType || projectLzType == 9">新增</el-button> <el-button type="primary" @click="annualAdd" v-if="showAddBtn">新增</el-button>
</div> </div>
</div> </div>
<div class="manage-content" v-loading="loading"> <div class="manage-content" v-loading="loading">
...@@ -59,7 +59,7 @@ import { useRouter } from "vue-router"; ...@@ -59,7 +59,7 @@ import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import CommonTable from "@/components/common/commonTable.vue"; import CommonTable from "@/components/common/commonTable.vue";
import SearchForm from "@/components/common/SearchForm.vue"; import SearchForm from "@/components/common/SearchForm.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectList } from "@/composables/useProjectList";
const { projectLzType } = defineProps({ const { projectLzType } = defineProps({
projectLzType: [String, Number], projectLzType: [String, Number],
...@@ -136,6 +136,7 @@ const getProjectData = (params = {}) => { ...@@ -136,6 +136,7 @@ const getProjectData = (params = {}) => {
}, },
}); });
}; };
const { showAddBtn } = useProjectList(projectLzType, getProjectData);
// 分页 // 分页
const handleSizeChange = (size) => { const handleSizeChange = (size) => {
pageSize.value = size; pageSize.value = size;
...@@ -186,16 +187,6 @@ const deleteStatement = (item) => { ...@@ -186,16 +187,6 @@ const deleteStatement = (item) => {
}) })
.catch(() => {}); .catch(() => {});
}; };
onMounted(() => {
if (!window.location.href.includes("xmdakDetaill")) {
useProjectInfoStore().clearProjectInfo();
getProjectData();
} else {
getProjectData({
projectId: useProjectInfoStore().getProjectInfo.projectId,
});
}
});
</script> </script>
<style scoped lang="less"></style> <style scoped lang="less"></style>
...@@ -800,7 +800,7 @@ import { ElMessage } from "element-plus"; ...@@ -800,7 +800,7 @@ import { ElMessage } from "element-plus";
import DynamicTable from "@/components/FormDynamicTable/index.vue"; import DynamicTable from "@/components/FormDynamicTable/index.vue";
import FileUploader from "@/components/FileUploader/index.vue"; import FileUploader from "@/components/FileUploader/index.vue";
import routerBack from "@/components/common/routerBack.vue"; import routerBack from "@/components/common/routerBack.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectDetail } from "@/composables/useProjectDetail";
const transferColumns = ref([ const transferColumns = ref([
{ {
prop: "njfcgbl", prop: "njfcgbl",
...@@ -871,6 +871,8 @@ const router = useRouter(); ...@@ -871,6 +871,8 @@ const router = useRouter();
const route = useRoute(); const route = useRoute();
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { projectDisabled, cachedInfo } = useProjectDetail();
// ========== 基础配置 ========== // ========== 基础配置 ==========
const activeCollapse = ref([ const activeCollapse = ref([
"基本信息", "基本信息",
...@@ -884,7 +886,6 @@ const activeCollapse = ref([ ...@@ -884,7 +886,6 @@ const activeCollapse = ref([
"财务评价指标", "财务评价指标",
]); ]);
const loading = ref(false); const loading = ref(false);
const projectDisabled = ref(false);
const isPreview = ref(!!route.query.isPreview); const isPreview = ref(!!route.query.isPreview);
const projectList = ref([]); const projectList = ref([]);
const rcCgqyglId = ref(route.query.id || ""); const rcCgqyglId = ref(route.query.id || "");
...@@ -1206,11 +1207,9 @@ const backClick = () => router.back(-1); ...@@ -1206,11 +1207,9 @@ const backClick = () => router.back(-1);
onMounted(() => { onMounted(() => {
getProjectData(); getProjectData();
const cachedInfo = useProjectInfoStore().loadProjectInfo();
if (cachedInfo) { if (cachedInfo) {
formData.projectName = cachedInfo.projectName || ""; formData.projectName = cachedInfo.projectName || "";
formData.projectId = cachedInfo.projectId || ""; formData.projectId = cachedInfo.projectId || "";
projectDisabled.value = true;
} }
// 非预览状态下自动弹出类型选择弹窗 // 非预览状态下自动弹出类型选择弹窗
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<div class="manage-header"> <div class="manage-header">
<div class="header-left"></div> <div class="header-left"></div>
<div class="header-right"> <div class="header-right">
<el-button type="primary" @click="addControl" v-if="!projectLzType || projectLzType == 9">新增</el-button> <el-button type="primary" @click="addControl" v-if="showAddBtn">新增</el-button>
</div> </div>
</div> </div>
<div class="manage-content" v-loading="loading"> <div class="manage-content" v-loading="loading">
...@@ -58,7 +58,7 @@ import { useRouter } from "vue-router"; ...@@ -58,7 +58,7 @@ import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import CommonTable from "@/components/common/commonTable.vue"; import CommonTable from "@/components/common/commonTable.vue";
import SearchForm from "@/components/common/SearchForm.vue"; import SearchForm from "@/components/common/SearchForm.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectList } from "@/composables/useProjectList";
const { projectLzType } = defineProps({ const { projectLzType } = defineProps({
projectLzType: [String, Number], projectLzType: [String, Number],
...@@ -119,6 +119,7 @@ const getProjectData = (params) => { ...@@ -119,6 +119,7 @@ const getProjectData = (params) => {
}, },
}); });
}; };
const { showAddBtn } = useProjectList(projectLzType, getProjectData);
// 分页 // 分页
const handleSizeChange = (size) => { const handleSizeChange = (size) => {
pageSize.value = size; pageSize.value = size;
...@@ -170,14 +171,6 @@ const deleteControl = (item) => { ...@@ -170,14 +171,6 @@ const deleteControl = (item) => {
.catch(() => {}); .catch(() => {});
}; };
onMounted(() => { onMounted(() => {
if (!window.location.href.includes("xmdakDetaill")) {
useProjectInfoStore().clearProjectInfo();
getProjectData();
} else {
getProjectData({
projectId: useProjectInfoStore().getProjectInfo.projectId,
});
}
let resourceData = JSON.parse(sessionStorage.getItem("resourceData")); let resourceData = JSON.parse(sessionStorage.getItem("resourceData"));
jcdwList = resourceData.jcdw; jcdwList = resourceData.jcdw;
}); });
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<div class="manage-header"> <div class="manage-header">
<div class="header-left"></div> <div class="header-left"></div>
<div class="header-right"> <div class="header-right">
<el-button type="primary" @click="addStatement" v-if="!projectLzType || projectLzType == 9">新增</el-button> <el-button type="primary" @click="addStatement" v-if="showAddBtn">新增</el-button>
</div> </div>
</div> </div>
<div class="manage-content" v-loading="loading"> <div class="manage-content" v-loading="loading">
...@@ -59,7 +59,7 @@ import { useRouter } from "vue-router"; ...@@ -59,7 +59,7 @@ import { useRouter } from "vue-router";
import { ElMessage, ElMessageBox } from "element-plus"; import { ElMessage, ElMessageBox } from "element-plus";
import CommonTable from "@/components/common/commonTable.vue"; import CommonTable from "@/components/common/commonTable.vue";
import SearchForm from "@/components/common/SearchForm.vue"; import SearchForm from "@/components/common/SearchForm.vue";
import { useProjectInfoStore } from "@/stores/projectInfo"; import { useProjectList } from "@/composables/useProjectList";
const { projectLzType } = defineProps({ const { projectLzType } = defineProps({
projectLzType: [String, Number], projectLzType: [String, Number],
...@@ -131,6 +131,7 @@ const getProjectData = (params) => { ...@@ -131,6 +131,7 @@ const getProjectData = (params) => {
}, },
}); });
}; };
const { showAddBtn } = useProjectList(projectLzType, getProjectData);
// 分页 // 分页
const handleSizeChange = (size) => { const handleSizeChange = (size) => {
pageSize.value = size; pageSize.value = size;
...@@ -181,16 +182,6 @@ const deleteStatement = (item) => { ...@@ -181,16 +182,6 @@ const deleteStatement = (item) => {
}) })
.catch(() => {}); .catch(() => {});
}; };
onMounted(() => {
if (!window.location.href.includes("xmdakDetaill")) {
useProjectInfoStore().clearProjectInfo();
getProjectData();
} else {
getProjectData({
projectId: useProjectInfoStore().getProjectInfo.projectId,
});
}
});
</script> </script>
<style scoped lang="less"></style> <style scoped lang="less"></style>
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