员工管理,设备管理
This commit is contained in:
parent
6885c5ccbb
commit
fabe70289b
|
|
@ -1,13 +1,10 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 查询设备-下拉框
|
||||
// 查询设备类型-下拉框
|
||||
export function getKitchenDeviceTypeApi(data) {
|
||||
return request({
|
||||
url: '/smart-canteen/kitchen_device_info/deviceType',
|
||||
method: 'get',
|
||||
headers: {
|
||||
"merchant-id":"378915229716713472",
|
||||
},
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
|
@ -16,9 +13,6 @@ export function getKitchenDeviceSelectApi(data) {
|
|||
return request({
|
||||
url: '/smart-canteen/kitchen_device_info/select',
|
||||
method: 'get',
|
||||
headers: {
|
||||
"merchant-id":"378915229716713472",
|
||||
},
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
|
||||
// 查询留样机留样清单列表
|
||||
export function getKitchenSampleRecordListApi(data) {
|
||||
return request({
|
||||
url: '/smart-canteen/kitchen_sample_dishes_record/list',
|
||||
method: 'post',
|
||||
data: data,
|
||||
params:{
|
||||
pageNum:data.pageNum,
|
||||
pageSize:data.pageSize
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 查询留样柜操作记录列表
|
||||
export function getKitchenSampleCabinetRecordListApi(data) {
|
||||
return request({
|
||||
url: '/smart-canteen/kitchen_sample_cabinet_record/list',
|
||||
method: 'post',
|
||||
data: data,
|
||||
params:{
|
||||
pageNum:data.pageNum,
|
||||
pageSize:data.pageSize
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
import request from '@/utils/request'
|
||||
import { parseStrEmpty } from '@/utils/bonus'
|
||||
// 员工树状下拉选择数据
|
||||
// 系统人员树状下拉选择数据
|
||||
export function deptUserTreeApi(query) {
|
||||
return request({
|
||||
url: '/system/user/deptUserTree',
|
||||
|
|
@ -8,7 +8,7 @@ export function deptUserTreeApi(query) {
|
|||
data: query
|
||||
})
|
||||
}
|
||||
// 员工信息
|
||||
// 系统人员信息详情
|
||||
export function getUserInfoApi(userId) {
|
||||
return request({
|
||||
url: '/system/user/' + parseStrEmpty(userId),
|
||||
|
|
@ -16,12 +16,16 @@ export function getUserInfoApi(userId) {
|
|||
})
|
||||
}
|
||||
|
||||
// 员工列表
|
||||
export function getStaffListApi(query) {
|
||||
// 厨房员工列表
|
||||
export function getStaffListApi(data) {
|
||||
return request({
|
||||
url: '/smart-canteen/kitchen_staff_info/list',
|
||||
method: 'post',
|
||||
data: query
|
||||
data: data,
|
||||
params:{
|
||||
pageNum:data.pageNum,
|
||||
pageSize:data.pageSize
|
||||
}
|
||||
})
|
||||
}
|
||||
//详情
|
||||
|
|
@ -54,19 +58,27 @@ export function delStaffApi(staffId) {
|
|||
|
||||
|
||||
// 查询厨房员工晨检记录列表
|
||||
export function getStaffMorningCheckApi(query) {
|
||||
export function getStaffMorningCheckApi(data) {
|
||||
return request({
|
||||
url: '/smart-canteen/kitchen_staff_morning_check/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
method: 'post',
|
||||
data: data,
|
||||
params:{
|
||||
pageNum:data.pageNum,
|
||||
pageSize:data.pageSize
|
||||
}
|
||||
})
|
||||
}
|
||||
// 查询厨房员工违规报警列表
|
||||
export function getStaffIllegalListApi(query) {
|
||||
export function getStaffIllegalListApi(data) {
|
||||
return request({
|
||||
url: '/smart-canteen/kitchen_staff_illegal_warning/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
method: 'post',
|
||||
data: data,
|
||||
params:{
|
||||
pageNum:data.pageNum,
|
||||
pageSize:data.pageSize
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
</div>
|
||||
<div style="width: 100%;margin: 10px auto;border: 1px solid #ccc;padding: 10px;border-radius: 10px;">
|
||||
<div style="font-weight: bold;border-left: 4px solid #1890FF;padding-left: 4px;">存储设置</div>
|
||||
<!-- <div class="item">
|
||||
<div class="item">
|
||||
<div>
|
||||
<div>
|
||||
<span class="item-label">晨检视频存储时长设置:</span>
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
</div>
|
||||
<div style="color: #999;font-size: 14px;margin-top: 10px">超过存储时长的员工晨检视频,系统会自动清除</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="item">
|
||||
<div>
|
||||
<div>
|
||||
|
|
|
|||
|
|
@ -30,19 +30,19 @@
|
|||
<span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="设备名称" align="center" prop="deviceName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备类型" align="center" prop="deviceType" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备名称" align="center" prop="deviceName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="设备类型" align="center" prop="deviceType" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="所属食堂" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="位置" align="center" prop="subPlace" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="工作状态" align="center" prop="deviceNetworkState" :show-overflow-tooltip="true">
|
||||
<el-table-column label="工作状态" align="center" prop="workState" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.deviceNetworkState==1">在线</span>
|
||||
<span v-if="scope.row.deviceNetworkState==2">离线</span>
|
||||
<span v-if="scope.row.workState==1">在线</span>
|
||||
<span v-if="scope.row.workState==2">离线</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="开始使用时间" align="center" prop="" :show-overflow-tooltip="true" width="160"/>
|
||||
<el-table-column label="结束使用时间" align="center" prop="" :show-overflow-tooltip="true" width="160"/>
|
||||
<el-table-column label="使用时长(h)" align="center" prop="" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="开始使用时间" align="center" prop="startUseTime" :show-overflow-tooltip="true" width="160"/>
|
||||
<el-table-column label="结束使用时间" align="center" prop="endUseTime" :show-overflow-tooltip="true" width="160"/>
|
||||
<el-table-column label="使用时长(h)" align="center" prop="useTime" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="离线时长(h)" align="center" prop="" :show-overflow-tooltip="true" />
|
||||
</el-table>
|
||||
<pagination
|
||||
|
|
|
|||
|
|
@ -13,22 +13,22 @@
|
|||
<el-form-item label="关键字" prop="searchValue">
|
||||
<el-input v-model="queryParams.searchValue" placeholder="请输入菜品名称,编号" maxlength="20" clearable style="width: 240px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属档口" prop="userName">
|
||||
<el-input v-model="queryParams.userName" placeholder="请输入所属档口" maxlength="20" clearable style="width: 240px"/>
|
||||
<el-form-item label="所属档口" prop="stallId">
|
||||
<el-input v-model="queryParams.stallId" placeholder="请输入所属档口" maxlength="20" clearable style="width: 240px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="违规状态" prop="faceStatus">
|
||||
<el-select v-model="queryParams.faceStatus" style="width: 240px" clearable>
|
||||
<el-option label="正常" value="0"></el-option>
|
||||
<el-option label="重量未达标" value="1"></el-option>
|
||||
<el-option label="时长未达标" value="1"></el-option>
|
||||
<el-option label="时长未达标" value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="存放状态" prop="saveStatus">
|
||||
<el-select v-model="queryParams.saveStatus" style="width: 240px" clearable>
|
||||
<el-option label="未入柜" value="0"></el-option>
|
||||
<el-option label="在柜" value="1"></el-option>
|
||||
<el-option label="离柜" value="2"></el-option>
|
||||
<el-option label="超时自动离柜 " value="3"></el-option>
|
||||
<el-option label="未入柜" value="1"></el-option>
|
||||
<el-option label="在柜" value="2"></el-option>
|
||||
<el-option label="离柜" value="3"></el-option>
|
||||
<el-option label="超时自动离柜" value="4"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
|
@ -47,20 +47,25 @@
|
|||
<span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="日期" align="center" prop="canteenNum" :show-overflow-tooltip="true" width="150"/>
|
||||
<el-table-column label="日期" align="center" prop="sampleSaveTime" :show-overflow-tooltip="true" width="150"/>
|
||||
<el-table-column label="关联食堂" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="档口名称" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="餐次" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="菜品编号" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="菜品名称" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="留样重量(g)" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="所在留样柜" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="留样人" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="样品图片" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="入柜时间" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="离柜时间" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="存放状态" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="违规状态" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="档口名称" align="center" prop="stallName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="餐次" align="center" prop="mealtimeType" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="菜品编号" align="center" prop="dishesId" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="菜品名称" align="center" prop="dishesName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="留样重量(g)" align="center" prop="sampleWeight" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="所在留样柜" align="center" prop="deviceName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="留样人" align="center" prop="userName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="样品图片" align="center" prop="imageUrl" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<img :src="scope.row.imageUrl" v-if="scope.row.imageUrl" alt="" style="width: 80px;height: 40px;" @click="openImg(scope.row)">
|
||||
<span v-else>无</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="入柜时间" align="center" prop="enterCabinetTime" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="离柜时间" align="center" prop="leaveCabinetTime" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="存放状态" align="center" prop="saveStatusName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="违规状态" align="center" prop="illegalStatusName" :show-overflow-tooltip="true" />
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
|
|
@ -79,11 +84,15 @@
|
|||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog :visible.sync="dialogVisible" width="700px">
|
||||
<img style="width: 100%;height: 100%;" :src="dialogImageUrl" alt="">
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getPageCanteenApi } from "@/api/base/canteen";
|
||||
import { getKitchenSampleRecordListApi } from "@/api/kitchen/foodSafety";
|
||||
|
||||
export default {
|
||||
name: "",
|
||||
|
|
@ -115,6 +124,7 @@ export default {
|
|||
canteenName: undefined,
|
||||
areaNameStr: undefined,
|
||||
},
|
||||
activeName:"1",
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
|
|
@ -125,11 +135,13 @@ export default {
|
|||
// dictType: [
|
||||
// { required: true, message: "字典类型不能为空", trigger: "blur" }
|
||||
// ]
|
||||
}
|
||||
},
|
||||
dialogVisible:false,//图片弹窗
|
||||
dialogImageUrl:"",//图片弹窗
|
||||
};
|
||||
},
|
||||
created() {
|
||||
// this.getList();
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 搜索按钮操作 */
|
||||
|
|
@ -149,12 +161,10 @@ export default {
|
|||
/** 查询列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
let param = {
|
||||
"current": this.queryParams.pageNum,
|
||||
"size": this.queryParams.pageSize,
|
||||
}
|
||||
getPageCanteenApi(param).then(response => {
|
||||
this.tableListData = response.records;
|
||||
let param = this.queryParams
|
||||
param.searchType = this.activeName;
|
||||
getKitchenSampleRecordListApi(param).then(response => {
|
||||
this.tableListData = response.rows;
|
||||
this.total = Number(response.total);
|
||||
this.loading = false;
|
||||
});
|
||||
|
|
@ -215,6 +225,10 @@ export default {
|
|||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
openImg(row) {
|
||||
this.dialogImageUrl = row.imageUrl;
|
||||
this.dialogVisible = true;
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -4,11 +4,15 @@
|
|||
<el-form-item label="关键字" prop="searchValue">
|
||||
<el-input v-model="queryParams.searchValue" placeholder="请输入设备名称,编号" maxlength="20" clearable style="width: 240px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="使用人" prop="userName">
|
||||
<el-input v-model="queryParams.userName" placeholder="请输入使用人" maxlength="20" clearable style="width: 240px"/>
|
||||
<el-form-item label="使用人" prop="staffName">
|
||||
<el-input v-model="queryParams.staffName" placeholder="请输入使用人" maxlength="20" clearable style="width: 240px"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="操作事项" prop="userName">
|
||||
<el-input v-model="queryParams.userName" placeholder="请输入操作事项" maxlength="20" clearable style="width: 240px"/>
|
||||
<el-form-item label="操作事项" prop="actionType">
|
||||
<el-select v-model="queryParams.actionType" style="width: 240px" clearable>
|
||||
<el-option label="留样" value="1"></el-option>
|
||||
<el-option label="取样" value="2"></el-option>
|
||||
<el-option label="无操作" value="3"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
|
|
@ -26,14 +30,14 @@
|
|||
<span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="设备信息" align="center" prop="canteenNum" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="所属食堂" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="开柜温度(°C)" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="关柜温度(°C)" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="使用人" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="开柜时间" align="center" prop="canteenName" :show-overflow-tooltip="true" width="160"/>
|
||||
<el-table-column label="关柜时间" align="center" prop="canteenName" :show-overflow-tooltip="true" width="160"/>
|
||||
<el-table-column label="操作事项" align="center" prop="canteenName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="设备信息" align="center" prop="deviceName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="所属食堂" align="center" prop="canteenName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="开柜温度(°C)" align="center" prop="openCabinetTemp" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="关柜温度(°C)" align="center" prop="closeCabinetTemp" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="使用人" align="center" prop="nickName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="开柜时间" align="center" prop="openCabinetTime" :show-overflow-tooltip="true" width="160"/>
|
||||
<el-table-column label="关柜时间" align="center" prop="closeCabinetTime" :show-overflow-tooltip="true" width="160"/>
|
||||
<el-table-column label="操作事项" align="center" prop="actionTypeName" :show-overflow-tooltip="true"/>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
|
|
@ -56,7 +60,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { getPageCanteenApi } from "@/api/base/canteen";
|
||||
import { getKitchenSampleCabinetRecordListApi } from "@/api/kitchen/foodSafety";
|
||||
|
||||
export default {
|
||||
name: "",
|
||||
|
|
@ -102,7 +106,7 @@ export default {
|
|||
};
|
||||
},
|
||||
created() {
|
||||
// this.getList();
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 搜索按钮操作 */
|
||||
|
|
@ -118,12 +122,9 @@ export default {
|
|||
/** 查询列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
let param = {
|
||||
"current": this.queryParams.pageNum,
|
||||
"size": this.queryParams.pageSize,
|
||||
}
|
||||
getPageCanteenApi(param).then(response => {
|
||||
this.tableListData = response.records;
|
||||
let param = this.queryParams
|
||||
getKitchenSampleCabinetRecordListApi(param).then(response => {
|
||||
this.tableListData = response.rows;
|
||||
this.total = Number(response.total);
|
||||
this.loading = false;
|
||||
});
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@
|
|||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="身体状况" prop="faceStatus">
|
||||
<el-select v-model="queryParams.faceStatus" style="width: 240px" clearable>
|
||||
<el-form-item label="身体状况" prop="checkStatus">
|
||||
<el-select v-model="queryParams.checkStatus" style="width: 240px" clearable>
|
||||
<el-option label="良好" value="0"></el-option>
|
||||
<el-option label="异常" value="1"></el-option>
|
||||
</el-select>
|
||||
|
|
@ -38,9 +38,9 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="员工编号" align="center" prop="staffNo" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="员工名称" align="center" prop="staffName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="手机号" align="center" prop="" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="岗位名称" align="center" prop="" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="员工名称" align="center" prop="nickName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="手机号" align="center" prop="phonenumber" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="岗位名称" align="center" prop="postName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="晨检视频" align="center" prop="checkVideoUrl" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.checkVideoUrl" style="" @click="openVideo(scope.row)">查看</span>
|
||||
|
|
@ -52,7 +52,7 @@
|
|||
{{ scope.row.temperatureValue }} ℃
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="身体状况" align="center" prop="" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="身体状况" align="center" prop="checkStatus" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="晨检时间" align="center" prop="recordTime" :show-overflow-tooltip="true" width="160" />
|
||||
</el-table>
|
||||
<pagination
|
||||
|
|
@ -80,7 +80,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { getStaffMorningCheckApi } from "@/api/kitchen/staff";
|
||||
import { getStaffMorningCheckApi,getUserInfoApi } from "@/api/kitchen/staff";
|
||||
|
||||
export default {
|
||||
name: "",
|
||||
|
|
@ -101,6 +101,7 @@ export default {
|
|||
total: 0,
|
||||
//表格数据
|
||||
tableListData: [],
|
||||
postOptions: [],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
|
|
@ -108,9 +109,7 @@ export default {
|
|||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
canteenName: undefined,
|
||||
areaNameStr: undefined,
|
||||
pageSize: 10
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
|
|
@ -128,9 +127,16 @@ export default {
|
|||
};
|
||||
},
|
||||
created() {
|
||||
this.getPostList();
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
// 岗位选项
|
||||
getPostList(){
|
||||
getUserInfoApi().then((response) => {
|
||||
this.postOptions = response.posts
|
||||
})
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
|
|
@ -145,11 +151,17 @@ export default {
|
|||
getList() {
|
||||
this.loading = true;
|
||||
let param = {
|
||||
"current": this.queryParams.pageNum,
|
||||
"size": this.queryParams.pageSize,
|
||||
"searchValue":this.queryParams.searchValue,
|
||||
"checkStatus":this.queryParams.checkStatus,
|
||||
"pageNum": this.queryParams.pageNum,
|
||||
"pageSize": this.queryParams.pageSize,
|
||||
}
|
||||
console.log(this.queryParams)
|
||||
if(this.queryParams.postIds&&this.queryParams.postIds.length>0){
|
||||
param.postIds = this.queryParams.postIds
|
||||
}
|
||||
getStaffMorningCheckApi(param).then(response => {
|
||||
this.tableListData = response.records;
|
||||
this.tableListData = response.rows;
|
||||
this.total = Number(response.total);
|
||||
this.loading = false;
|
||||
});
|
||||
|
|
|
|||
|
|
@ -61,15 +61,41 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="员工编号" align="center" prop="staffNo" :show-overflow-tooltip="true" width="100" />
|
||||
<el-table-column label="员工名称" align="center" prop="userName" :show-overflow-tooltip="true" width="150" />
|
||||
<el-table-column label="员工名称" align="center" prop="nickName" :show-overflow-tooltip="true" width="150" />
|
||||
<el-table-column label="手机号" align="center" prop="phonenumber" :show-overflow-tooltip="true" width="150" />
|
||||
<el-table-column label="性别" align="center" prop="sex" :show-overflow-tooltip="true" width="150" />
|
||||
<el-table-column label="性别" align="center" prop="sex" :show-overflow-tooltip="true" width="100" >
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.sex==0">男</span>
|
||||
<span v-if="scope.row.sex==1">女</span>
|
||||
<span v-if="scope.row.sex==2">未知</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="岗位名称" align="center" prop="postName" :show-overflow-tooltip="true" width="150" />
|
||||
<el-table-column label="员工照片" align="center" prop="canteenName" :show-overflow-tooltip="true" width="150" />
|
||||
<el-table-column label="人脸状态" align="center" prop="canteenName" :show-overflow-tooltip="true" width="150" />
|
||||
<el-table-column label="健康证照片" align="center" prop="canteenName" :show-overflow-tooltip="true" width="150" />
|
||||
<el-table-column label="员工照片" align="center" prop="photoUrl" :show-overflow-tooltip="true" width="150">
|
||||
<template slot-scope="scope">
|
||||
<img :src="scope.row.photoUrl" v-if="scope.row.photoUrl" alt="" style="width: 80px;height: 40px;" @click="openImg2(scope.row)">
|
||||
<span v-else>无</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="人脸状态" align="center" prop="faceStatus" :show-overflow-tooltip="true" width="150">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.faceStatus==0">开启</span>
|
||||
<span v-if="scope.row.faceStatus==1">关闭</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="健康证照片" align="center" prop="healthCertFrontImg" :show-overflow-tooltip="true" width="150">
|
||||
<template slot-scope="scope">
|
||||
<img :src="scope.row.healthCertFrontImg" v-if="scope.row.healthCertFrontImg" alt="" style="width: 80px;height: 40px;" @click="openImg(scope.row)">
|
||||
<span v-else>无</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="出入权限" align="center" prop="canteenName" :show-overflow-tooltip="true" width="150" />
|
||||
<el-table-column label="健康证状态" align="center" prop="canteenName" :show-overflow-tooltip="true" width="150" />
|
||||
<el-table-column label="健康证状态" align="center" prop="canteenName" :show-overflow-tooltip="true" width="150">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.healthCertStatusName }}</div>
|
||||
<div>有效期至{{ scope.row.healthCertExpire }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
|
|
@ -115,7 +141,7 @@
|
|||
multiple: false,
|
||||
emitPath: false,// 若设置 false,则只返回该节点的值,只返回最后选择的id
|
||||
checkStrictly: false,//来设置父子节点取消选中关联,从而达到选择任意一级选项的目的
|
||||
value:'id',label:'label'
|
||||
value:'nodeId',label:'label'
|
||||
}" clearable @change="handleUserChange">
|
||||
</el-cascader>
|
||||
</el-form-item>
|
||||
|
|
@ -234,20 +260,21 @@
|
|||
</el-row>
|
||||
<el-row :span="24" v-for="(item,index) in accessAuthorityList" :key="index">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="关联门禁设备:" prop="devicesId">
|
||||
<el-select v-model="item.devicesId" style="width: 100%;" placeholder="请选择关联门禁设备">
|
||||
<el-form-item label="关联门禁设备:" prop="deviceId">
|
||||
<el-select v-model="item.deviceId" style="width: 100%;" placeholder="请选择关联门禁设备" :loading="loading2" @change="chosenDevice">
|
||||
<el-option
|
||||
v-for="item in canteenOptions"
|
||||
:key="item.canteenId"
|
||||
:label="item.canteenName"
|
||||
:value="item.canteenId"
|
||||
v-for="items in devicesOptions"
|
||||
:disabled="items.disabled"
|
||||
:key="items.deviceId"
|
||||
:label="items.deviceName"
|
||||
:value="items.deviceId"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="设备位置:" prop="location">
|
||||
<el-input v-model="item.staffNo"
|
||||
<el-input v-model="item.location"
|
||||
placeholder="设备位置"
|
||||
maxlength="30" disabled
|
||||
/>
|
||||
|
|
@ -257,15 +284,15 @@
|
|||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
size="mini" v-if="index==accessAuthorityList.length-1"
|
||||
@click="addDevice"
|
||||
>新增</el-button>
|
||||
<el-button
|
||||
type="info"
|
||||
plain
|
||||
size="mini" v-if="index>0"
|
||||
size="mini" v-if="accessAuthorityList.length>1"
|
||||
@click="delDevice(index)"
|
||||
>新增</el-button>
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
|
|
@ -275,10 +302,10 @@
|
|||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="留样柜权限:" prop="accountStatus">
|
||||
<el-switch v-model="form.accountStatus"
|
||||
<el-form-item label="留样柜权限:" prop="simpleCabinetStatus">
|
||||
<el-switch v-model="simpleCabinetStatus"
|
||||
active-text="开启" inactive-text="关闭"
|
||||
:active-value="0" :inactive-value="1">
|
||||
:active-value="1" :inactive-value="2">
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
|
@ -299,6 +326,7 @@
|
|||
|
||||
<script>
|
||||
import { getCanteenByAreaApi } from "@/api/base/stall";
|
||||
import { getKitchenDeviceSelectApi } from "@/api/kitchen/devices";
|
||||
import { deptUserTreeApi,getUserInfoApi,getStaffListApi,getStaffInfoApi,addKitchenStaffApi,editKitchenStaffApi,delStaffApi} from '@/api/kitchen/staff';
|
||||
import { imgUpLoadTwo } from '@/api/system/upload';
|
||||
export default {
|
||||
|
|
@ -326,13 +354,10 @@ export default {
|
|||
userTreeOptions:[],
|
||||
// 食堂选项
|
||||
canteenOptions:[],
|
||||
//员工设备权限
|
||||
accessAuthorityList:[
|
||||
{
|
||||
devicesI:"",
|
||||
locatio:""
|
||||
}
|
||||
],
|
||||
// 设备选项
|
||||
devicesOptions:[],
|
||||
|
||||
loading2: false,
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
|
|
@ -346,6 +371,14 @@ export default {
|
|||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
//员工设备权限
|
||||
accessAuthorityList:[
|
||||
{
|
||||
deviceId:"",
|
||||
location:""
|
||||
}
|
||||
],
|
||||
simpleCabinetStatus:1,
|
||||
// 表单校验
|
||||
rules: {
|
||||
userId: [
|
||||
|
|
@ -398,6 +431,12 @@ export default {
|
|||
this.canteenOptions = response.rows
|
||||
})
|
||||
},
|
||||
// 门禁设备选项
|
||||
getKitchenDeviceSelect(){
|
||||
getKitchenDeviceSelectApi({deviceType:3}).then((response) => {
|
||||
this.devicesOptions = response.data
|
||||
})
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
|
|
@ -432,6 +471,36 @@ export default {
|
|||
this.reset();
|
||||
getStaffInfoApi(row.staffId).then(response => {
|
||||
this.form = response.data;
|
||||
this.$set(this.form,"userId",Number(response.data.userId))
|
||||
this.handleUserChange(response.data.userId)
|
||||
if(response.data.healthCertFrontImg){
|
||||
this.fileList=[{url:response.data.healthCertFrontImg}]
|
||||
this.checkUrlList=[response.data.healthCertFrontImg]
|
||||
}else{
|
||||
this.fileList=[]
|
||||
this.checkUrlList=[]
|
||||
}
|
||||
if(response.data.healthCertBackImg){
|
||||
this.fileList2=[{url:response.data.healthCertBackImg}]
|
||||
this.checkUrlList2=[response.data.healthCertBackImg]
|
||||
}else{
|
||||
this.fileList2=[]
|
||||
this.checkUrlList2=[]
|
||||
}
|
||||
console.log(this.form)
|
||||
if(this.form.accessAuthorityList&&this.form.accessAuthorityList.length>0){
|
||||
console.log(this.form.accessAuthorityList)
|
||||
this.form.accessAuthorityList.forEach(item=>{
|
||||
if(item.deviceType==3){
|
||||
this.accessAuthorityList.push(item)
|
||||
this.$forceUpdate()
|
||||
}
|
||||
if(item.deviceType==7){
|
||||
this.simpleCabinetStatus = item.privilegeValue
|
||||
}
|
||||
})
|
||||
}
|
||||
console.log(this.accessAuthorityList)
|
||||
this.open = true;
|
||||
this.title = "修改";
|
||||
});
|
||||
|
|
@ -439,40 +508,81 @@ export default {
|
|||
// 取消按钮
|
||||
cancel() {
|
||||
this.open = false;
|
||||
this.reset();
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.deptUserTree();
|
||||
this.getCanteenList();
|
||||
this.getKitchenDeviceSelect();
|
||||
this.fileList = []//图片
|
||||
this.checkUrlList = []//图片
|
||||
this.fileList2 = []//图片
|
||||
this.checkUrlList2 = []//图片
|
||||
this.accessAuthorityList = [{
|
||||
deviceId:"",
|
||||
location:""
|
||||
}]
|
||||
this.simpleCabinetStatus=1
|
||||
this.form = {};
|
||||
this.resetForm("form");
|
||||
},
|
||||
//选中员工查询信息
|
||||
handleUserChange(e){
|
||||
let arr = this.$refs['userCascader'].getCheckedNodes()
|
||||
let data = arr[0].data
|
||||
getUserInfoApi(data.nodeId).then((response) => {
|
||||
console.log(response.data)
|
||||
getUserInfoApi(e).then((response) => {
|
||||
let userInfo = response.data
|
||||
this.$set(this.form,"userId",userInfo.userId)
|
||||
this.$set(this.form,"sex",userInfo.sex)
|
||||
// this.$set(this.form,"sex",userInfo.sex)
|
||||
this.$set(this.form,"phonenumber",userInfo.phonenumber)
|
||||
this.$set(this.form,"postIds",response.postIds)
|
||||
})
|
||||
},
|
||||
//添加设备
|
||||
addDevice(){
|
||||
|
||||
if(this.accessAuthorityList.length<this.devicesOptions.length){
|
||||
this.accessAuthorityList.push({
|
||||
deviceId:"",
|
||||
location:""
|
||||
})
|
||||
}
|
||||
},
|
||||
//删除设备
|
||||
delDevice(index){
|
||||
|
||||
this.accessAuthorityList.splice(index,1)
|
||||
},
|
||||
chosenDevice(e){
|
||||
let index = this.devicesOptions.findIndex(v=>v.deviceId==e)
|
||||
let index2 = this.accessAuthorityList.findIndex(v=>v.deviceId==e)
|
||||
this.accessAuthorityList[index2].deviceName = this.devicesOptions[index].deviceName;
|
||||
this.accessAuthorityList[index2].deviceType = this.devicesOptions[index].deviceType;
|
||||
this.accessAuthorityList[index2].privilegeValue = 1;
|
||||
this.accessAuthorityList[index2].location = this.devicesOptions[index].subPlace;
|
||||
this.loading2=true
|
||||
this.setDisabled()
|
||||
this.loading2=false
|
||||
},
|
||||
//组成成分,已选过的原料不能再选择
|
||||
setDisabled(){
|
||||
this.devicesOptions.forEach(item=>{
|
||||
let index = this.accessAuthorityList.findIndex(v=>v.deviceId==item.deviceId)
|
||||
if(index!=-1){
|
||||
item.disabled = true
|
||||
}else{
|
||||
item.disabled = false
|
||||
}
|
||||
})
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm: function() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (valid) {
|
||||
let arr = [{
|
||||
deviceId:"",
|
||||
deviceName:"",
|
||||
deviceType:7,
|
||||
privilegeValue:this.simpleCabinetStatus,
|
||||
location:""
|
||||
}]
|
||||
this.form.accessAuthorityList = this.accessAuthorityList.concat(arr)
|
||||
console.log(this.form)
|
||||
if (this.form.staffId != undefined) {
|
||||
editKitchenStaffApi(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
|
|
@ -504,6 +614,21 @@ export default {
|
|||
imgUpLoadTwo(param).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.checkUrlList.push(res.data.url)
|
||||
this.$set(this.form,"healthCertFrontImg",res.data.url)
|
||||
} else {
|
||||
this.$modal.msgError(res.msg)
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
this.$modal.msgError(error)
|
||||
})
|
||||
},
|
||||
imgUpLoad2(param, name, index) {
|
||||
param.type = 'canteen'
|
||||
imgUpLoadTwo(param).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.checkUrlList2.push(res.data.url)
|
||||
this.$set(this.form,"healthCertBackImg",res.data.url)
|
||||
} else {
|
||||
this.$modal.msgError(res.msg)
|
||||
}
|
||||
|
|
@ -531,6 +656,7 @@ export default {
|
|||
}
|
||||
})
|
||||
this.checkUrlList.splice(sum, 1)
|
||||
this.$set(this.form,"healthCertFrontImg","")
|
||||
},
|
||||
handleRemove2(file, fileList) {
|
||||
let sum = 0
|
||||
|
|
@ -539,13 +665,22 @@ export default {
|
|||
sum = index
|
||||
}
|
||||
})
|
||||
this.checkUrlList2.splice(sum, 1)
|
||||
this.checkUrlList2.splice(sum,1)
|
||||
this.$set(this.form,"healthCertBackImg","")
|
||||
},
|
||||
//图片点击查看
|
||||
handlePictureCardPreview(file) {
|
||||
console.log(file)
|
||||
this.dialogImageUrl = file.url
|
||||
this.dialogVisible = true
|
||||
},
|
||||
openImg(row) {
|
||||
this.dialogImageUrl = row.healthCertFrontImg;
|
||||
this.dialogVisible = true;
|
||||
},
|
||||
openImg2(row) {
|
||||
this.dialogImageUrl = row.photoUrl;
|
||||
this.dialogVisible = true;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
<span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="违规人员" align="center" prop="staffName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="违规人员" align="center" prop="nickName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="违规内容" align="center" prop="recordDesc" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="违规图片" align="center" prop="imgUrl" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
|
|
|
|||
Loading…
Reference in New Issue