Commit b24756926e84d54d3a4f88fe7961e668507ac54e

Authored by guzijian
1 parent 84e0dee7

feat: 新增查询字段,场地查询

src/api/equipment/equipment.js
... ... @@ -60,3 +60,10 @@ export function getEquipmentAll(params) {
60 60 params
61 61 })
62 62 }
  63 +
  64 +export function getEquipmentSiteName() {
  65 + return request({
  66 + url: '/equipment/equipment/getEquipmentSiteName',
  67 + method: 'get'
  68 + })
  69 +}
... ...
src/views/in/in/index.vue
... ... @@ -2,30 +2,35 @@
2 2 <div class="app-container">
3 3 <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch">
4 4 <el-form-item label="工号" prop="jobCode">
5   - <el-input v-model="queryParams.jobCode" placeholder="请输入工号" clearable @keyup.enter="handleQuery" />
  5 + <el-input style="width: 120px;" v-model="queryParams.jobCode" placeholder="请输入工号" clearable
  6 + @keyup.enter="handleQuery" />
6 7 </el-form-item>
7 8 <el-form-item label="打卡结果" prop="status">
8   - <el-select v-model="queryParams.status" placeholder="请选择打卡结果" clearable>
  9 + <el-select style="width: 120px;" v-model="queryParams.status" placeholder="打卡结果" clearable>
9 10 <el-option v-for="dict in sign_in" :key="dict.value" :label="dict.label" :value="dict.value" />
10 11 </el-select>
11 12 </el-form-item>
12 13 <el-form-item label="酒精测试" prop="alcoholFlag">
13   - <el-select v-model="queryParams.alcoholFlag" placeholder="请选择酒精测试" clearable>
  14 + <el-select style="width: 120px;" v-model="queryParams.alcoholFlag" placeholder="是否酒测" clearable>
14 15 <el-option v-for="dict in alcohol" :key="dict.value" :label="dict.label" :value="dict.value" />
15 16 </el-select>
16 17 </el-form-item>
17 18 <el-form-item label="签到签退" prop="type">
18   - <el-select v-model="queryParams.type" placeholder="请选择签到签退" clearable>
  19 + <el-select style="width: 120px;" v-model="queryParams.type" placeholder="签到签退" clearable>
19 20 <el-option v-for="dict in sign_type" :key="dict.value" :label="dict.label" :value="dict.value" />
20 21 </el-select>
21 22 </el-form-item>
22 23 <el-form-item label="打卡日期" prop="date">
23 24 <!-- 日期 -->
24   - <el-date-picker v-model="queryParams.date" type="date" align="right" unlink-panels format="YYYY/MM/DD"
25   - value-format="YYYY-MM-DD">
  25 + <el-date-picker style="width: 140px;" v-model="queryParams.date" type="date" align="right" unlink-panels
  26 + format="YYYY/MM/DD" value-format="YYYY-MM-DD">
26 27 </el-date-picker>
27 28 </el-form-item>
28   -
  29 + <el-form-item label="打卡场地" prop="date">
  30 + <el-select style="width: 120px;" filterable v-model="queryParams.siteName" placeholder="打卡场地" clearable>
  31 + <el-option v-for="dict in siteNameList" :key="dict" :label="dict" :value="dict" />
  32 + </el-select>
  33 + </el-form-item>
29 34 <el-form-item>
30 35 <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
31 36 <el-button icon="Refresh" @click="resetQuery">重置</el-button>
... ... @@ -34,7 +39,8 @@
34 39  
35 40 <el-row :gutter="10" class="mb8">
36 41 <el-col :span="1.5">
37   - <el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['in:in:export']">导出</el-button>
  42 + <el-button type="warning" plain icon="Download" @click="handleExport"
  43 + v-hasPermi="['in:in:export']">导出</el-button>
38 44 </el-col>
39 45 <el-col :span="1.5">
40 46 <el-button type="warning" plain icon="CirclePlus" @click="handleAdd"
... ... @@ -79,7 +85,6 @@
79 85 <el-table-column label="备注" align="center" prop="remark" width="300" />
80 86 <el-table-column label="打卡场地" align="center" prop="siteName" width="130" />
81 87 <el-table-column label="打卡时间" align="center" prop="createTime" width="160" />
82   -
83 88 <el-table-column label="打卡操作" align="center" prop="singnIn" width="320">
84 89 <template #default="scope">
85 90 <dict-tag :options="sys_status" :value="scope.row.singnIn ? scope.row.singnIn.split(',') : []" />
... ... @@ -87,8 +92,8 @@
87 92 </el-table-column>
88 93 </el-table>
89 94  
90   - <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
91   - @pagination="getList" />
  95 + <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
  96 + v-model:limit="queryParams.pageSize" @pagination="getList" />
92 97  
93 98 <!-- 添加或修改签到对话框 -->
94 99 <el-dialog :title="title" v-model="open" width="500px">
... ... @@ -108,13 +113,14 @@
108 113 </el-form-item>
109 114 <el-form-item label="酒精测试" prop="alcoholFlag">
110 115 <el-radio-group v-model="form.alcoholFlag">
111   - <el-radio v-for="dict in alcohol" :key="dict.value" :label="parseInt(dict.value)">{{ dict.label }}</el-radio>
  116 + <el-radio v-for="dict in alcohol" :key="dict.value" :label="parseInt(dict.value)">{{ dict.label
  117 + }}</el-radio>
112 118 </el-radio-group>
113 119 </el-form-item>
114 120 <el-form-item label="签到签退" prop="type">
115 121 <el-radio-group v-model="form.type">
116 122 <el-radio v-for="dict in sign_type" :key="dict.value" :label="parseInt(dict.value)">{{ dict.label
117   - }}</el-radio>
  123 + }}</el-radio>
118 124 </el-radio-group>
119 125 </el-form-item>
120 126 <el-form-item label="补签日期" prop="date">
... ... @@ -140,14 +146,14 @@
140 146  
141 147 <script setup name="In">
142 148 import { getPeopleInfo } from '@/api/attendance/attendance';
143   -import { getEquipmentAll } from "@/api/equipment/equipment";
  149 +import { getEquipmentAll, getEquipmentSiteName } from "@/api/equipment/equipment";
144 150 import { delIn, getIn, listIn, supplementarySignature } from "@/api/in/in";
145 151 import { getReportDetail } from "@/api/report/report.js";
146 152 import moment from "moment";
147 153 import { computed, ref, watch } from "vue";
148 154 const { proxy } = getCurrentInstance();
149 155 const { sys_status, sign_type, sign_in, alcohol } = proxy.useDict('sys_status', 'sign_type', 'sign_in', 'alcohol');
150   -
  156 +const siteNameList = ref([])
151 157 const inList = ref([]);
152 158 const signLoading = ref(false)
153 159 const open = ref(false);
... ... @@ -219,6 +225,9 @@ onBeforeUnmount(() =&gt; {
219 225 clearInterval(timer.value)
220 226 })
221 227 onMounted(() => {
  228 + getEquipmentSiteName().then((res) => {
  229 + siteNameList.value = res.data
  230 + })
222 231 queryParams.value.date = moment().format("YYYY-MM-DD");
223 232 getList();
224 233 timer.value = setInterval(() => {
... ...