downloadLog.vue 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <template>
  2. <com-head :options="[{ name: '下载记录', value: '2' }]" showCtrl>
  3. <el-form label-width="84px">
  4. <el-form-item label="所属架构:">
  5. <com-company v-model="state.query.deptId" />
  6. </el-form-item>
  7. <el-form-item label="用户姓名:">
  8. <el-input v-model="state.query.nickName" placeholder="请输入"></el-input>
  9. </el-form-item>
  10. <el-form-item label="用户账号:">
  11. <el-input v-model="state.query.userName" placeholder="请输入手机号"></el-input>
  12. </el-form-item>
  13. <el-form-item label="下载时间:">
  14. <el-date-picker
  15. type="daterange"
  16. format="YYYY-MM-DD"
  17. start-placeholder="开始日期"
  18. end-placeholder="结束日期"
  19. v-model="createTime"
  20. placeholder="请选择"
  21. :defaultTime="defaultTime"
  22. style="width: 100%"
  23. />
  24. </el-form-item>
  25. <el-form-item label="场景标题:">
  26. <el-input v-model="state.query.sceneTitle" placeholder="请输入"></el-input>
  27. </el-form-item>
  28. <el-form-item label="场景码:">
  29. <el-input v-model="state.query.sceneNum" placeholder="请输入"></el-input>
  30. </el-form-item>
  31. <el-form-item label="SN码:">
  32. <el-input v-model="state.query.snCode" placeholder="请输入"></el-input>
  33. </el-form-item>
  34. <el-form-item class="searh-btns" style="grid-area: 1/4/4/5">
  35. <el-button type="primary" @click="refresh">查询</el-button>
  36. <el-button type="primary" plain @click="queryReset">重置</el-button>
  37. </el-form-item>
  38. </el-form>
  39. </com-head>
  40. <div class="body-layer" style="padding-top: 8px">
  41. <el-table
  42. class="user-table"
  43. :data="state.table.rows"
  44. style="width: 100%; max-height: 480px"
  45. size="large"
  46. >
  47. <el-table-column label="序号" width="100" v-slot:default="{ $index }">
  48. <span style="text-align: center">
  49. {{ state.pag.size * (state.pag.currentPage - 1) + $index + 1 }}
  50. </span>
  51. </el-table-column>
  52. <el-table-column label="组织名称" prop="deptName"></el-table-column>
  53. <el-table-column label="组织类型" prop="deptLevelStr"></el-table-column>
  54. <el-table-column label="用户姓名" prop="nickName"></el-table-column>
  55. <el-table-column label="用户账号" prop="userName"></el-table-column>
  56. <el-table-column label="下载时间" prop="createTime">
  57. <template #default="{ row }">
  58. {{ dateFormat(row.createTime, 'yyyy-MM-dd hh:mm') }}
  59. </template>
  60. </el-table-column>
  61. <el-table-column label="场景标题" prop="sceneTitle"></el-table-column>
  62. <el-table-column label="场景码" prop="sceneNum"></el-table-column>
  63. <el-table-column label="SN码" prop="snCode"></el-table-column>
  64. </el-table>
  65. <com-pagination
  66. @size-change="changPageSize"
  67. @current-change="changPageCurrent"
  68. :current-page="state.pag.currentPage"
  69. :page-size="state.pag.size"
  70. :total="state.pag.total"
  71. />
  72. </div>
  73. </template>
  74. <script setup lang="ts">
  75. import { usePagging } from "@/hook/pagging";
  76. import comHead from "@/components/head/index.vue";
  77. import comCompany from "@/components/company-select/index.vue";
  78. import comPagination from "@/components/pagination/index.vue";
  79. import { getDownloadQuoteScene } from "@/store/scene";
  80. import { ref, watchEffect } from "vue";
  81. import { dateFormat } from "@/util";
  82. const {
  83. state,
  84. queryReset: queryResetRaw,
  85. refresh,
  86. changPageCurrent,
  87. changPageSize,
  88. } = usePagging({
  89. get: getDownloadQuoteScene,
  90. paramsTemlate: {
  91. nickName: "",
  92. deptId: "",
  93. userName: "",
  94. startCreateTime: "",
  95. endCreateTime: "",
  96. sceneTitle: "",
  97. sceneNum: "",
  98. snCode: "",
  99. },
  100. });
  101. const defaultTime: [Date, Date] = [
  102. new Date(2000, 1, 1, 0, 0, 0),
  103. new Date(2000, 2, 1, 23, 59, 59),
  104. ];
  105. const createTime = ref<Date[] | null>(null);
  106. watchEffect(() => {
  107. if (createTime.value && createTime.value.length === 2) {
  108. state.query.startCreateTime = dateFormat(createTime.value[0], "yyyy-MM-dd hh:mm:ss");
  109. state.query.endCreateTime = dateFormat(createTime.value[1], "yyyy-MM-dd hh:mm:ss");
  110. } else {
  111. state.query.startCreateTime = null as any;
  112. state.query.endCreateTime = null as any;
  113. }
  114. });
  115. const queryReset = () => {
  116. queryResetRaw();
  117. createTime.value = null;
  118. };
  119. </script>
  120. <style scoped lang="scss"></style>