Commit b24756926e84d54d3a4f88fe7961e668507ac54e
1 parent
84e0dee7
feat: 新增查询字段,场地查询
Showing
2 changed files
with
31 additions
and
15 deletions
src/api/equipment/equipment.js
| @@ -60,3 +60,10 @@ export function getEquipmentAll(params) { | @@ -60,3 +60,10 @@ export function getEquipmentAll(params) { | ||
| 60 | params | 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,30 +2,35 @@ | ||
| 2 | <div class="app-container"> | 2 | <div class="app-container"> |
| 3 | <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch"> | 3 | <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch"> |
| 4 | <el-form-item label="工号" prop="jobCode"> | 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 | </el-form-item> | 7 | </el-form-item> |
| 7 | <el-form-item label="打卡结果" prop="status"> | 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 | <el-option v-for="dict in sign_in" :key="dict.value" :label="dict.label" :value="dict.value" /> | 10 | <el-option v-for="dict in sign_in" :key="dict.value" :label="dict.label" :value="dict.value" /> |
| 10 | </el-select> | 11 | </el-select> |
| 11 | </el-form-item> | 12 | </el-form-item> |
| 12 | <el-form-item label="酒精测试" prop="alcoholFlag"> | 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 | <el-option v-for="dict in alcohol" :key="dict.value" :label="dict.label" :value="dict.value" /> | 15 | <el-option v-for="dict in alcohol" :key="dict.value" :label="dict.label" :value="dict.value" /> |
| 15 | </el-select> | 16 | </el-select> |
| 16 | </el-form-item> | 17 | </el-form-item> |
| 17 | <el-form-item label="签到签退" prop="type"> | 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 | <el-option v-for="dict in sign_type" :key="dict.value" :label="dict.label" :value="dict.value" /> | 20 | <el-option v-for="dict in sign_type" :key="dict.value" :label="dict.label" :value="dict.value" /> |
| 20 | </el-select> | 21 | </el-select> |
| 21 | </el-form-item> | 22 | </el-form-item> |
| 22 | <el-form-item label="打卡日期" prop="date"> | 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 | </el-date-picker> | 27 | </el-date-picker> |
| 27 | </el-form-item> | 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 | <el-form-item> | 34 | <el-form-item> |
| 30 | <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> | 35 | <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button> |
| 31 | <el-button icon="Refresh" @click="resetQuery">重置</el-button> | 36 | <el-button icon="Refresh" @click="resetQuery">重置</el-button> |
| @@ -34,7 +39,8 @@ | @@ -34,7 +39,8 @@ | ||
| 34 | 39 | ||
| 35 | <el-row :gutter="10" class="mb8"> | 40 | <el-row :gutter="10" class="mb8"> |
| 36 | <el-col :span="1.5"> | 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 | </el-col> | 44 | </el-col> |
| 39 | <el-col :span="1.5"> | 45 | <el-col :span="1.5"> |
| 40 | <el-button type="warning" plain icon="CirclePlus" @click="handleAdd" | 46 | <el-button type="warning" plain icon="CirclePlus" @click="handleAdd" |
| @@ -79,7 +85,6 @@ | @@ -79,7 +85,6 @@ | ||
| 79 | <el-table-column label="备注" align="center" prop="remark" width="300" /> | 85 | <el-table-column label="备注" align="center" prop="remark" width="300" /> |
| 80 | <el-table-column label="打卡场地" align="center" prop="siteName" width="130" /> | 86 | <el-table-column label="打卡场地" align="center" prop="siteName" width="130" /> |
| 81 | <el-table-column label="打卡时间" align="center" prop="createTime" width="160" /> | 87 | <el-table-column label="打卡时间" align="center" prop="createTime" width="160" /> |
| 82 | - | ||
| 83 | <el-table-column label="打卡操作" align="center" prop="singnIn" width="320"> | 88 | <el-table-column label="打卡操作" align="center" prop="singnIn" width="320"> |
| 84 | <template #default="scope"> | 89 | <template #default="scope"> |
| 85 | <dict-tag :options="sys_status" :value="scope.row.singnIn ? scope.row.singnIn.split(',') : []" /> | 90 | <dict-tag :options="sys_status" :value="scope.row.singnIn ? scope.row.singnIn.split(',') : []" /> |
| @@ -87,8 +92,8 @@ | @@ -87,8 +92,8 @@ | ||
| 87 | </el-table-column> | 92 | </el-table-column> |
| 88 | </el-table> | 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 | <el-dialog :title="title" v-model="open" width="500px"> | 99 | <el-dialog :title="title" v-model="open" width="500px"> |
| @@ -108,13 +113,14 @@ | @@ -108,13 +113,14 @@ | ||
| 108 | </el-form-item> | 113 | </el-form-item> |
| 109 | <el-form-item label="酒精测试" prop="alcoholFlag"> | 114 | <el-form-item label="酒精测试" prop="alcoholFlag"> |
| 110 | <el-radio-group v-model="form.alcoholFlag"> | 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 | </el-radio-group> | 118 | </el-radio-group> |
| 113 | </el-form-item> | 119 | </el-form-item> |
| 114 | <el-form-item label="签到签退" prop="type"> | 120 | <el-form-item label="签到签退" prop="type"> |
| 115 | <el-radio-group v-model="form.type"> | 121 | <el-radio-group v-model="form.type"> |
| 116 | <el-radio v-for="dict in sign_type" :key="dict.value" :label="parseInt(dict.value)">{{ dict.label | 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 | </el-radio-group> | 124 | </el-radio-group> |
| 119 | </el-form-item> | 125 | </el-form-item> |
| 120 | <el-form-item label="补签日期" prop="date"> | 126 | <el-form-item label="补签日期" prop="date"> |
| @@ -140,14 +146,14 @@ | @@ -140,14 +146,14 @@ | ||
| 140 | 146 | ||
| 141 | <script setup name="In"> | 147 | <script setup name="In"> |
| 142 | import { getPeopleInfo } from '@/api/attendance/attendance'; | 148 | import { getPeopleInfo } from '@/api/attendance/attendance'; |
| 143 | -import { getEquipmentAll } from "@/api/equipment/equipment"; | 149 | +import { getEquipmentAll, getEquipmentSiteName } from "@/api/equipment/equipment"; |
| 144 | import { delIn, getIn, listIn, supplementarySignature } from "@/api/in/in"; | 150 | import { delIn, getIn, listIn, supplementarySignature } from "@/api/in/in"; |
| 145 | import { getReportDetail } from "@/api/report/report.js"; | 151 | import { getReportDetail } from "@/api/report/report.js"; |
| 146 | import moment from "moment"; | 152 | import moment from "moment"; |
| 147 | import { computed, ref, watch } from "vue"; | 153 | import { computed, ref, watch } from "vue"; |
| 148 | const { proxy } = getCurrentInstance(); | 154 | const { proxy } = getCurrentInstance(); |
| 149 | const { sys_status, sign_type, sign_in, alcohol } = proxy.useDict('sys_status', 'sign_type', 'sign_in', 'alcohol'); | 155 | const { sys_status, sign_type, sign_in, alcohol } = proxy.useDict('sys_status', 'sign_type', 'sign_in', 'alcohol'); |
| 150 | - | 156 | +const siteNameList = ref([]) |
| 151 | const inList = ref([]); | 157 | const inList = ref([]); |
| 152 | const signLoading = ref(false) | 158 | const signLoading = ref(false) |
| 153 | const open = ref(false); | 159 | const open = ref(false); |
| @@ -219,6 +225,9 @@ onBeforeUnmount(() => { | @@ -219,6 +225,9 @@ onBeforeUnmount(() => { | ||
| 219 | clearInterval(timer.value) | 225 | clearInterval(timer.value) |
| 220 | }) | 226 | }) |
| 221 | onMounted(() => { | 227 | onMounted(() => { |
| 228 | + getEquipmentSiteName().then((res) => { | ||
| 229 | + siteNameList.value = res.data | ||
| 230 | + }) | ||
| 222 | queryParams.value.date = moment().format("YYYY-MM-DD"); | 231 | queryParams.value.date = moment().format("YYYY-MM-DD"); |
| 223 | getList(); | 232 | getList(); |
| 224 | timer.value = setInterval(() => { | 233 | timer.value = setInterval(() => { |