8/31 dev 权限,sse,账单,bug

This commit is contained in:
Zy
2026-08-31 08:09:28 +08:00
parent bfdfa05cd7
commit e4417f35b1
82 changed files with 2327 additions and 1644 deletions

View File

@@ -13,12 +13,12 @@
<div>选择日期</div>
<el-date-picker
v-model="statDate"
value-format="YYYY/MM/DD"
format="YYYY/MM/DD"
@update:model-value="handleStateDate"
type="date"
placeholder="选择日期"
:disabled-date="disabledDate"
format="YYYY/MM/DD"
placeholder="选择日期"
type="date"
value-format="YYYY/MM/DD"
@update:model-value="handleStateDate"
/>
<i @click="handleQueryDay(0)">今日</i>
<i @click="handleQueryDay(1)">昨日</i>
@@ -27,7 +27,7 @@
</div>
</div>
<div class="overviewBox">
<div class="overviewitem" v-for="(item, index) in list" :key="index">
<div v-for="(item, index) in list" :key="index" class="overviewitem">
<div class="overviewitem_name">{{ item.name }}</div>
<div class="overviewitem_value">{{ item.value }}</div>
</div>
@@ -46,11 +46,11 @@
<div class="echartsbox flex h-full flex-col">
<div class="echartsactions">
<div
@click="handleEchartsData(item)"
:class="{ active: activeEchartsindex === item.key }"
class="echartsactions_item"
v-for="(item, index) in ecartslist"
:key="index"
:class="{ active: activeEchartsindex === item.key }"
class="echartsactions_item"
@click="handleEchartsData(item)"
>
{{ item.name }}
</div>
@@ -62,21 +62,21 @@
</el-col>
<el-col :span="1"></el-col>
<el-col :span="12">
<el-table v-loading="loading" border :data="itemList">
<el-table-column fixed="left" label="日期" width="100" align="center" prop="statDate" />
<el-table-column label="计划巡检任务" width="110" align="center" prop="totalTasks" />
<el-table-column label="按时完成" align="center" prop="completedTasks" />
<el-table-column label="超时完成" align="center" prop="outCompletedTasks" />
<el-table-column label="超时未完成" width="110" align="center" prop="outUncompletedTasks" />
<el-table-column label="进行中" align="center" prop="activeTask" />
<el-table-column label="未开始" align="center" prop="pendingTask" />
<el-table v-loading="loading" :data="itemList" border>
<el-table-column align="center" fixed="left" label="日期" prop="statDate" width="100" />
<el-table-column align="center" label="计划巡检任务" prop="totalTasks" width="110" />
<el-table-column align="center" label="按时完成" prop="completedTasks" />
<el-table-column align="center" label="超时完成" prop="outCompletedTasks" />
<el-table-column align="center" label="超时未完成" prop="outUncompletedTasks" width="110" />
<el-table-column align="center" label="进行中" prop="activeTask" />
<el-table-column align="center" label="未开始" prop="pendingTask" />
</el-table>
<pagination
v-show="total > 0"
:total="total"
:layout="layout"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
v-model:page="queryParams.pageNum"
:layout="layout"
:total="total"
@pagination="getList"
/>
</el-col>
@@ -85,7 +85,7 @@
</div>
</template>
<script setup name="Item" lang="ts">
<script lang="ts" name="Item" setup>
import EchartsCompontent from '@/components/Echarts/index.vue';
import { listItem, type Request } from '@/api/system/Inspection';
import { diffDays, formatDate, getLastNDays, getNaturalDayDiff } from '@/utils/time';
@@ -294,27 +294,18 @@ const getList = async () => {
list.value.forEach((item) => {
item.value = 0;
});
list.value[0].value = itemList.value[0].totalPlans ?? 0;
list.value[1].value = itemList.value[0].totalTasks ?? 0;
list.value[4].value = itemList.value[0].outUncompletedTasks ?? 0;
list.value[2].value = itemList.value[0].outCompletedTasks + itemList.value[0].completedTasks || 0;
//
// if (!Number.isNaN(+list.value[2].value) && !Number.isNaN(+list.value[1].value)) {
// const num = Number(list.value[2].value) / Number(list.value[1].value);
// list.value[3].value = Math.min((Number.isNaN(num) ? 0 : num) * 100, 100).toFixed(2) + '%';
// }
list.value[3].value = itemList.value[0].completionRateDisplay || '0%';
// itemList.value.forEach((item) => {
// list.value[0].value += item.totalPlans ?? 0;
// list.value[1].value += item.totalTasks ?? 0;
// list.value[4].value += item.outUncompletedTasks ?? 0;
// const num = item.outCompletedTasks + item.completedTasks || 0;
// list.value[2].value += num;
// });
// if (!Number.isNaN(+list.value[2].value) && !Number.isNaN(+list.value[1].value)) {
// const num = Number(list.value[2].value) / Number(list.value[1].value);
// list.value[3].value = Math.min((Number.isNaN(num) ? 0 : num) * 100, 100).toFixed(2) + '%';
// }
itemList.value.forEach((item) => {
list.value[0].value += item.totalPlans ?? 0;
list.value[1].value += item.totalTasks ?? 0;
list.value[4].value += item.outUncompletedTasks ?? 0;
const num = item.outCompletedTasks + item.completedTasks || 0;
list.value[2].value += num;
});
if (!Number.isNaN(+list.value[2].value) && !Number.isNaN(+list.value[1].value)) {
const num = Number(list.value[2].value) / Number(list.value[1].value);
list.value[3].value = Math.min((Number.isNaN(num) ? 0 : num) * 100, 100).toFixed(2) + '%';
}
handleEchartsData(ecartslist.value.find((item) => item.key === activeEchartsindex.value));
total.value = res.total;