diff --git a/src/api/modules/project.ts b/src/api/modules/project.ts index 70f2d22..23e0226 100644 --- a/src/api/modules/project.ts +++ b/src/api/modules/project.ts @@ -344,3 +344,25 @@ export const memberInfo = (params: any) => { export const updateMember = (params: any) => { return http.post(BASEURL + `/project/workerInfo/edit`, params); }; + +// 考勤设备管理分页列表 +export const equipmentList = (params: any) => { + return http.post(BASEURL + `/project/attendanceDev/page`, params); +}; +// 考勤设备管理新增 +export const addEquipment = (params: any) => { + return http.post(BASEURL + `/project/attendanceDev/add`, params); +}; +// 考勤设备管理编辑 +export const updateEquipment = (params: any) => { + return http.post(BASEURL + `/project/attendanceDev/edit`, params); +}; +// 考勤设备管理删除 +export const deleteEquipment = (params: { id: string }) => { + return http.post(BASEURL + `/project/attendanceDev/delete`, params); +}; + +// 考勤统计分页列表 +export const statisticsList = (params: any) => { + return http.post(BASEURL + `/project/workerInfo/attendStat`, params); +}; diff --git a/src/components/allEngineering/index.vue b/src/components/allEngineering/index.vue index 7662073..bcb7b15 100644 --- a/src/components/allEngineering/index.vue +++ b/src/components/allEngineering/index.vue @@ -1,6 +1,6 @@ @@ -64,20 +75,15 @@ import { useRouter } from "vue-router"; import { ColumnProps } from "@/components/ProTable/interface"; import { useHandleData } from "@/hooks/useHandleData"; import ProTable from "@/components/ProTable/index.vue"; +import { getRelevanceList } from "@/api/modules/common"; import { jxj_User } from "@/api/types"; +import engineeringDrawer from "@/components/engineeringDrawer/index.vue"; +import allEngineering from "@/components/allEngineering/index.vue"; import TreeFilter from "@/components/TreeFilter/index.vue"; -import { - getRoleList, - addRole, - editRole, - deleteRole, - editRolePermissions, - getSystemRole, - getTreemRoleList, - getTreeByIdList -} from "@/api/modules/goverment"; +import AMap from "@/components/AMap/AMap.vue"; +import { editRolePermissions, getTreemRoleList, getTreeByIdList } from "@/api/modules/goverment"; import DialogForm from "@/components/DialogForm/index.vue"; -// import { getProjectRecordPage } from "@/api/modules/project"; +import { addEquipment, equipmentList, updateEquipment, deleteEquipment } from "@/api/modules/project"; import { Delete } from "@element-plus/icons-vue"; import { GlobalStore } from "@/stores"; @@ -95,11 +101,23 @@ const store = GlobalStore(); const visible = ref(false); const drawerVisible = ref(false); const title = ref(""); +const engVisable = ref(false); +const initParam = reactive({ + solveFlag: 1, + engineeringSn: "" +}); +const isOpen = ref(false); const formData = ref({ - roleName: "", - priority: 1, - state: 0, - roleDesc: "" + devName: "", + code: "", + address: "", + longitude: "", + latitude: "", + position: "" +}); +const address = ref({ + lng: undefined, + lat: undefined }); // 获取 ProTable 元素,调用其获取刷新数据方法(还能获取到当前查询参数,方便导出携带参数) const proTable = ref(); @@ -110,36 +128,21 @@ const getId = ref(undefined); const columns: ColumnProps[] = [ { type: "index", label: "序号", width: 80 }, { - prop: "roleName", - label: "单位名称", + prop: "devName", + label: "设备名称", search: { el: "input" } }, - // 多级 prop - { prop: "priority", label: "显示顺序" }, - { prop: "state", label: "使用状态" }, { - prop: "state", - label: "状态", - search: { el: "select" }, - isShow: false, - enum: [ - { label: "启用", value: 1 }, - { label: "禁用", value: 0 } - ] + prop: "code", + label: "设备编码" }, { - prop: "createTime", - label: "创建时间", - search: { - el: "date-picker", - - props: { - type: "daterange", - format: "YYYY-MM-DD", - valueFormat: "YYYY-MM-DD" - // defaultTime: defaultTime2 - } - } + prop: "address", + label: "设备位置" + }, + { + prop: "position", + label: "经纬度" }, { prop: "operation", label: "操作", fixed: "right", width: 260 } ]; @@ -148,50 +151,63 @@ const columns: ColumnProps[] = [ const formConfig = { formItemConfig: [ { - label: "角色名称", - prop: "roleName", + label: "设备名称", + prop: "devName", type: "input" }, { - label: "角色顺序", - prop: "priority", - type: "number" + label: "设备编码", + prop: "code", + type: "input" }, { - label: "状态", - prop: "state", - type: "radio", - data: [ - { label: "启用", value: 1 }, - { label: "禁用", value: 0 } - ] - }, - { - label: "备注", - prop: "roleDesc", + label: "设置位置", + prop: "address", type: "input", mapIcon: true + }, + { + label: "设置经纬度", + prop: "position", + type: "input", + disabled: true // 标记dialog } ], rules: { - roleName: [ + devName: [ { required: true, - message: "请输入角色名称", + message: "请输入", trigger: "blur" } ], - priority: [ + code: [ { required: true, - message: "请输入角色顺序", + message: "请输入", trigger: "blur" } ] } }; - +// 打开地图 +const openMap = () => { + isOpen.value = true; +}; +// 获取地址 +const getAddress = async (e: any) => { + formData.value.address = e.address; + formData.value.longitude = e.lng; + formData.value.latitude = e.lat; + formData.value.position = "经度:" + e.lng + "," + "维度:" + e.lat; + isOpen.value = false; + ElMessage.success("获取经纬度成功"); +}; +const getengineering = (params: any) => { + // let newParams = JSON.parse(JSON.stringify(params)); + return getRelevanceList(); +}; // dataCallback 是对于返回的表格数据做处理,如果你后台返回的数据不是 list && total && pageNum && pageSize 这些字段,那么你可以在这里进行处理成这些字段 // 或者直接去 hooks/useTable.ts 文件中把字段改为你后端对应的就行 const dataCallback = (data: any) => { @@ -247,21 +263,22 @@ const getTableList = (params: any) => { newParams.createTime_end = newParams.createTime[1]; delete newParams.createTime; } - return getRoleList(newParams); + return equipmentList(newParams); }; const handleAddItem = (index: number, row: any) => { if (index === 1) { - title.value = "新增角色"; + title.value = "新增设备"; formData.value = reactive({ - roleName: "", - priority: 1, - state: 1, - roleDesc: "" + devName: "", + code: "", + address: "", + position: "" }); } else { - title.value = "编辑角色"; + title.value = "编辑设备"; formData.value = reactive({ ...row }); + formData.value.position = "经度:" + row.longitude + "," + "维度:" + row.latitude; } visible.value = true; }; @@ -283,13 +300,14 @@ const handleEditItem = async (row: any) => { }; const saveItem = async (form: any) => { - if (form.roleId) { + form.engineeringSn = initParam.engineeringSn; + if (form.id) { // console.log(form.dictCode); - const res = await editRole(form); + const res = await updateEquipment(form); proTable.value.getTableList(); ElMessage.success("编辑成功"); } else { - const res = await addRole(form); + const res = await addEquipment(form); ElMessage.success("新增成功"); proTable.value.getTableList(); } @@ -298,10 +316,15 @@ const saveItem = async (form: any) => { // 删除用户信息 const deleteAccount = async (params: jxj_User.ResUserList) => { - await useHandleData(deleteRole, { roleId: params.roleId }, `删除【${params.roleName}】`); + await useHandleData(deleteEquipment, { id: params.id }, `删除【${params.devName}】`); proTable.value.getTableList(); }; +// 点击抽屉的工程名称更新页面 +const onUpdate = async row => { + initParam.engineeringSn = row.engineeringSn; + ElMessage.success("页面已更新"); +}; const changeTreeFilter = () => { console.log(11); }; diff --git a/src/views/project/laborRealName/attendanceStatistics/index.vue b/src/views/project/laborRealName/attendanceStatistics/index.vue index 1023f64..af6765b 100644 --- a/src/views/project/laborRealName/attendanceStatistics/index.vue +++ b/src/views/project/laborRealName/attendanceStatistics/index.vue @@ -9,12 +9,7 @@ :tool-button="false" :pagination="true" background - :isShowSearch="false" - :onReset="true" > - + diff --git a/src/views/project/laborRealName/memberManage/components/addMemberForm.vue b/src/views/project/laborRealName/memberManage/components/addMemberForm.vue index 6ed76f6..26d6636 100644 --- a/src/views/project/laborRealName/memberManage/components/addMemberForm.vue +++ b/src/views/project/laborRealName/memberManage/components/addMemberForm.vue @@ -25,6 +25,7 @@ format="YYYY-MM-DD" value-format="YYYY-MM-DD" type="datetime" + :disabledDate="disabledDate" placeholder="请选择时间" /> @@ -605,6 +606,11 @@ const resetForm = (formEl: FormInstance | undefined) => { if (!formEl) return; formEl.resetFields(); }; +// 设置出生日期只能选择今天之前 +const disabledDate = time => { + let current = new Date().getTime(); + return time > current; +}; // 监听父组件的visible,用来简介控制el-dialog的弹框开关,一般是用于开 watch( () => props.newMemberDialog, diff --git a/src/views/project/laborRealName/memberManage/index.vue b/src/views/project/laborRealName/memberManage/index.vue index cdc5414..799be65 100644 --- a/src/views/project/laborRealName/memberManage/index.vue +++ b/src/views/project/laborRealName/memberManage/index.vue @@ -15,10 +15,10 @@ >