瀏覽代碼

feat:新增中心统计报表页面;
reactor:流程提交跳调整;

zhangchong 1 年之前
父節點
當前提交
bce8fc7b92

+ 11 - 0
src/api/statistics/order.ts

@@ -134,4 +134,15 @@ export const departmentHotSmall = (params: object) => {
 		method: 'get',
 		params,
 	});
+}
+/**
+ * @description 中心报表统计
+ * @param {object} params
+ */
+export const centerReport = (params: object) => {
+	return request({
+		url: `/api/v1/BiOrder/Center_report_forms_statistics`,
+		method: 'get',
+		params,
+	});
 }

+ 1 - 0
src/components/ProcessAudit/index.vue

@@ -687,6 +687,7 @@ const selectNextStep = (val: any) => {
 	const next = state.nextStepOptions.find((item: any) => item.key === val);
 	const items = next.items; //获取下一节点
 	state.ruleForm.nextStepName = next.value; // 下一节点name
+  state.ruleForm.handlerType = next.handlerType;
 	state.ruleForm.backToCountersignEnd = next.backToCountersignEnd ?? false; // 是否回到会签结束节点
 	state.handlerOptions = items ?? [];
 	state.handlerOptions = state.handlerOptions.map((item: any) => {

+ 134 - 0
src/views/statistics/order/centerReport.vue

@@ -0,0 +1,134 @@
+<template>
+  <div class="statistics-order-center-report-container layout-pd">
+    <!-- 搜索  -->
+    <el-card shadow="never">
+      <el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent  inline>
+        <el-form-item label="时间段" prop="crTime">
+          <el-date-picker
+            v-model="state.queryParams.crTime"
+            type="datetimerange"
+            unlink-panels
+            range-separator="至"
+            start-placeholder="开始时间"
+            end-placeholder="结束时间"
+            :shortcuts="shortcuts"
+            @change="queryList"
+            value-format="YYYY-MM-DD[T]HH:mm:ss"
+          />
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="queryList" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+          <el-button @click="resetQuery(ruleFormRef)" class="default-button" :loading="state.loading">
+            <SvgIcon name="ele-Refresh" class="mr5" />重置
+          </el-button>
+        </el-form-item>
+      </el-form>
+    </el-card>
+    <el-card shadow="never">
+      <!-- 表格 -->
+      <el-table
+        :data="state.tableData"
+        v-loading="state.loading"
+        show-summary
+        row-key="userId"
+        ref="multipleTableRef"
+        @selection-change="handleSelectionChange"
+        @sort-change="sortChange"
+      >
+        <el-table-column type="selection" width="55" align="center" />
+        <el-table-column prop="userName" label="姓名" show-overflow-tooltip align="center"></el-table-column>
+        <el-table-column label="有效件" align="center">
+          <el-table-column prop="centreArchive" label="中心归档件" show-overflow-tooltip align="center" sortable="custom"></el-table-column>
+          <el-table-column prop="centreCareOf" label="转办信件" show-overflow-tooltip align="center" sortable="custom"></el-table-column>
+          <!--          <el-table-column prop="addNum" label="待转办信件" show-overflow-tooltip align="center" sortable="custom"></el-table-column>-->
+        </el-table-column>
+        <el-table-column prop="invalid" label="无效信件" show-overflow-tooltip align="center" sortable="custom"></el-table-column>
+        <el-table-column prop="repeat" label="重复信件" show-overflow-tooltip align="center" sortable="custom"></el-table-column>
+        <el-table-column prop="subtotal" label="所有信件" show-overflow-tooltip align="center" sortable="custom"></el-table-column>
+        <template #empty>
+          <Empty />
+        </template>
+      </el-table>
+      <!-- 分页 -->
+      <pagination
+        :total="state.total"
+        v-model:page="state.queryParams.PageIndex"
+        v-model:limit="state.queryParams.PageSize"
+        @pagination="queryList"
+      />
+    </el-card>
+  </div>
+</template>
+<script setup lang="ts" name="statisticsOrderCenterReport">
+import { onMounted, reactive, ref } from 'vue';
+import { ElButton, FormInstance } from 'element-plus';
+import { throttle } from '@/utils/tools';
+import { centerReport } from '@/api/statistics/order';
+import { shortcuts } from '@/utils/constants';
+import dayjs from 'dayjs';
+// 定义变量内容
+const ruleFormRef = ref<RefType>(); // 表单ref
+const state = reactive(<any>{
+  queryParams: {
+    // 查询条件
+    PageIndex: 1,
+    PageSize: 10,
+    crTime: [dayjs().startOf('day').format('YYYY-MM-DD HH:mm:ss'), dayjs().endOf('day').format('YYYY-MM-DD HH:mm:ss')], // 时间默认今天开始到今天结束
+  },
+  tableData: [], //表单
+  loading: false, // 加载
+  total: 0, // 总数
+});
+/** 获取列表 */
+const queryList = throttle(() => {
+  state.loading = true;
+  let StartTime = null;
+  let EndTime = null;
+  if (state.queryParams?.crTime) {
+    StartTime = state.queryParams?.crTime[0];
+    EndTime = state.queryParams?.crTime[1];
+  }
+  const request = {
+    StartTime,
+    EndTime,
+    DelayState: state.queryParams.DelayState,
+    PageIndex: state.queryParams.PageIndex,
+    PageSize: state.queryParams.PageSize,
+    Keyword: state.queryParams.Keyword,
+    SortField: state.queryParams.SortField,
+    SortRule: state.queryParams.SortRule,
+  };
+  centerReport(request)
+    .then((res: any) => {
+      state.tableData = res.result?.items ?? [];
+      state.total = res.result?.total ?? 0;
+      state.loading = false;
+    })
+    .catch(() => {
+      state.loading = false;
+    });
+}, 300);
+// 排序
+const sortChange = (val: any) => {
+  state.queryParams.SortField = val.order ? val.prop : null;
+  // 0 升序 1 降序
+  state.queryParams.SortRule = val.order ? (val.order == 'descending' ? 1 : 0) : null;
+  queryList();
+};
+/** 重置按钮操作 */
+const resetQuery = throttle((formEl: FormInstance | undefined) => {
+  if (!formEl) return;
+  formEl.resetFields();
+  queryList();
+}, 300);
+// 表格多选
+const multipleTableRef = ref<RefType>();
+const multipleSelection = ref<any>([]);
+const handleSelectionChange = (val: any[]) => {
+  multipleSelection.value = val;
+};
+
+onMounted(() => {
+  queryList();
+});
+</script>

+ 2 - 2
src/views/system/menu/index.vue

@@ -55,8 +55,8 @@
 				</template>
 			</el-auto-resizer>
 		</div>
-		<menu-add ref="menuAddRef" @updateList="quertyList" :menuData="getMenuDataWithOutBtn(state.menuTableData)" />
-		<menu-edit ref="menuEditRef" @updateList="quertyList" :menuData="getMenuDataWithOutBtn(state.menuTableData)" />
+		<menu-add ref="menuAddRef" @updateList="quertyList" :menuData="getMenuDataWithOutBtn(state.staticArr)" />
+		<menu-edit ref="menuEditRef" @updateList="quertyList" :menuData="getMenuDataWithOutBtn(state.staticArr)" />
 	</div>
 </template>