Merge remote-tracking branch 'origin/master'

This commit is contained in:
ye1023
2026-07-10 15:19:11 +08:00
4 changed files with 66 additions and 2 deletions
+4
View File
@@ -17,6 +17,7 @@ enum Api {
getChildList = '/bg/xispeak/bgXiSpeak/childList', getChildList = '/bg/xispeak/bgXiSpeak/childList',
getChildListBatch = '/bg/xispeak/bgXiSpeak/getChildListBatch', getChildListBatch = '/bg/xispeak/bgXiSpeak/getChildListBatch',
getRootListWithDept = '/bg/xispeak/bgXiSpeak/getRootListWithDept', getRootListWithDept = '/bg/xispeak/bgXiSpeak/getRootListWithDept',
statusStats = '/bg/xispeak/bgXiSpeak/statusStats',
} }
/** /**
@@ -45,6 +46,9 @@ export const list = (params) => defHttp.get({ url: Api.list, params });
export const getRootListWithDept = (deptIds: string) => defHttp.get({ url: Api.getRootListWithDept, params: { dept_ids: deptIds } }); export const getRootListWithDept = (deptIds: string) => defHttp.get({ url: Api.getRootListWithDept, params: { dept_ids: deptIds } });
export const statusStats = (params) =>
defHttp.get({ url: Api.statusStats, params });
/** /**
* 删除 * 删除
* @param params * @param params
+29 -1
View File
@@ -79,6 +79,11 @@
</a-dropdown> </a-dropdown>
<!-- 高级查询 --> <!-- 高级查询 -->
<super-query :config="superQueryConfig" @search="handleSuperQuery" /> <super-query :config="superQueryConfig" @search="handleSuperQuery" />
<a-space style="float: right; font-size: 14px; font-weight: bold">
<a-tag color="warning">未开始 {{ statsData.notStarted }}</a-tag>
<a-tag color="error">督办中 {{ statsData.inProgress }}已逾期 {{ statsData.overdue }}</a-tag>
<a-tag color="success">已完成 {{ statsData.completed }}</a-tag>
</a-space>
</template> </template>
<!--操作栏--> <!--操作栏-->
@@ -107,7 +112,7 @@
</template> </template>
<script lang="ts" name="bg.xispeak-bgXiSpeak" setup> <script lang="ts" name="bg.xispeak-bgXiSpeak" setup>
import { ref, reactive, unref, computed, provide, nextTick } from 'vue'; import { ref, reactive, unref, computed, provide, nextTick, onMounted } from 'vue';
import { BasicTable, useTable } from '/@/components/Table'; import { BasicTable, useTable } from '/@/components/Table';
import { Dropdown } from '/@/components/Dropdown'; import { Dropdown } from '/@/components/Dropdown';
import { useListPage } from '/@/hooks/system/useListPage'; import { useListPage } from '/@/hooks/system/useListPage';
@@ -144,6 +149,7 @@ import { defHttp } from '/@/utils/http/axios';
saveOrUpdateDict, saveOrUpdateDict,
withDrawXiSpeak, withDrawXiSpeak,
queryFeedbackCounts, queryFeedbackCounts,
statusStats,
} from './BgXiSpeak.api'; } from './BgXiSpeak.api';
const FLOW_CODE = 'dev_bg_xi_speak_001'; const FLOW_CODE = 'dev_bg_xi_speak_001';
@@ -164,6 +170,7 @@ import { defHttp } from '/@/utils/http/axios';
const businessProcessListModalRef = ref(); const businessProcessListModalRef = ref();
const currentBusinessId = ref(''); const currentBusinessId = ref('');
const pendingFeedbackRightNow = ref(0); const pendingFeedbackRightNow = ref(0);
const statsData = reactive({ notStarted: 0, inProgress: 0, overdue: 0, completed: 0 });
const processColumns = taskTaskColumns; const processColumns = taskTaskColumns;
// 是否显示DW领导列表选择 // 是否显示DW领导列表选择
const showSdwLeaderSelect = computed(() => queryParam.value.needSdwApproval === '1'); const showSdwLeaderSelect = computed(() => queryParam.value.needSdwApproval === '1');
@@ -230,6 +237,27 @@ import { defHttp } from '/@/utils/http/axios';
reload(); reload();
} }
async function fetchStatusStats() {
try {
const params: Recordable = {};
Object.keys(queryParam.value).forEach((key) => {
if (queryParam.value[key] !== undefined && queryParam.value[key] !== null && queryParam.value[key] !== '') {
params[key] = queryParam.value[key];
}
});
const res = await statusStats(params);
if (res) {
Object.assign(statsData, res);
}
} catch (e) {
// stats fetch failure is non-critical
}
}
onMounted(() => {
fetchStatusStats();
});
/** /**
* 新增事件 * 新增事件
*/ */
@@ -18,6 +18,7 @@ enum Api {
queryDataById = '/dqinspecttask/dqInspectTask/queryById', queryDataById = '/dqinspecttask/dqInspectTask/queryById',
dqInspectProgressList = '/dqinspecttask/dqInspectTask/queryDqInspectProgressByMainId', dqInspectProgressList = '/dqinspecttask/dqInspectTask/queryDqInspectProgressByMainId',
specificProblemOptions = '/dqinspectproblem/dqInspectProblem/specificOptions', specificProblemOptions = '/dqinspectproblem/dqInspectProblem/specificOptions',
statusStats = '/dqinspecttask/dqInspectTask/statusStats',
} }
/** /**
@@ -62,6 +63,9 @@ export const list = (params) =>
export const ledgerList = (params) => export const ledgerList = (params) =>
defHttp.get({url: Api.ledgerList, params}); defHttp.get({url: Api.ledgerList, params});
export const statusStats = (params) =>
defHttp.get({ url: Api.statusStats, params });
/** /**
* 删除单个 * 删除单个
*/ */
+29 -1
View File
@@ -103,6 +103,11 @@
</a-dropdown> </a-dropdown>
<!-- 高级查询 --> <!-- 高级查询 -->
<super-query :config="superQueryConfig" @search="handleSuperQuery" /> <super-query :config="superQueryConfig" @search="handleSuperQuery" />
<a-space style="float: right; font-size: 14px; font-weight: bold">
<a-tag color="warning">未开始 {{ statsData.notStarted }}</a-tag>
<a-tag color="error">督办中 {{ statsData.inProgress }}已逾期 {{ statsData.overdue }}</a-tag>
<a-tag color="success">已完成 {{ statsData.completed }}</a-tag>
</a-space>
</template> </template>
<!--操作栏--> <!--操作栏-->
<template #action="{ record }"> <template #action="{ record }">
@@ -127,7 +132,7 @@
</template> </template>
<script lang="ts" name="dqinspecttask-dqInspectTask" setup> <script lang="ts" name="dqinspecttask-dqInspectTask" setup>
import { ref, reactive, computed, unref } from 'vue'; import { ref, reactive, computed, unref, onMounted } from 'vue';
import { BasicTable, useTable } from '/@/components/Table'; import { BasicTable, useTable } from '/@/components/Table';
import { Dropdown } from '/@/components/Dropdown'; import { Dropdown } from '/@/components/Dropdown';
import { useListPage } from '/@/hooks/system/useListPage'; import { useListPage } from '/@/hooks/system/useListPage';
@@ -145,6 +150,7 @@
getCheckExcelByEasyExcelUrl, getCheckExcelByEasyExcelUrl,
getExportXlsHeadersUrl, getExportXlsHeadersUrl,
saveOrUpdate, saveOrUpdate,
statusStats,
} from './DqInspectTask.api'; } from './DqInspectTask.api';
import { defHttp } from '/@/utils/http/axios'; import { defHttp } from '/@/utils/http/axios';
import { showImportValidationErrors } from '/@/utils/helper/importError'; import { showImportValidationErrors } from '/@/utils/helper/importError';
@@ -162,6 +168,7 @@
import { useUserStore } from '/@/store/modules/user'; import { useUserStore } from '/@/store/modules/user';
const formRef = ref(); const formRef = ref();
const queryParam = reactive<any>({}); const queryParam = reactive<any>({});
const statsData = reactive({ notStarted: 0, inProgress: 0, overdue: 0, completed: 0 });
const checkedKeys = ref<Array<string | number>>([]); const checkedKeys = ref<Array<string | number>>([]);
//注册model //注册model
const [registerModal, { openModal }] = useModal(); const [registerModal, { openModal }] = useModal();
@@ -221,6 +228,27 @@
reload(); reload();
} }
async function fetchStatusStats() {
try {
const params: Recordable = {};
Object.keys(queryParam).forEach((key) => {
if (queryParam[key] !== undefined && queryParam[key] !== null && queryParam[key] !== '') {
params[key] = queryParam[key];
}
});
const res = await statusStats(params);
if (res) {
Object.assign(statsData, res);
}
} catch (e) {
// stats fetch failure is non-critical
}
}
onMounted(() => {
fetchStatusStats();
});
/** /**
* 新增事件 * 新增事件
*/ */