src/api/inspectionManagement/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/assets/images/Logo1Back.jpg | 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/assets/images/Logo2Back.jpg | 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/assets/images/Logo3Back.jpg | 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/assets/images/Logo4Back.jpg | 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/inspectionManagement/components/formDia.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/inspectionManagement/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/login.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/salesOutbound/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/warehouseManagement/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/inspectionManagement/index.js
@@ -25,6 +25,14 @@ data: query }) } // 定时巡检任务表删除 export function delTimingTask(query) { return request({ url: '/timingTask/delTimingTask', method: 'delete', data: query }) } // /inspectionTask/addOrEditInspectionTask // 巡检上传 @@ -34,4 +42,20 @@ method: 'post', data: query }) } // 定时巡检任务表查询 export function timingTaskList(query) { return request({ url: '/timingTask/list', method: 'get', params: query }) } // 定时巡检任务表新增修改 export function addOrEditTimingTask(query) { return request({ url: '/timingTask/addOrEditTimingTask', method: 'post', data: query }) } src/assets/images/Logo1Back.jpg
src/assets/images/Logo2Back.jpg
src/assets/images/Logo3Back.jpg
src/assets/images/Logo4Back.jpg
src/views/inspectionManagement/components/formDia.vue
@@ -10,20 +10,79 @@ </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="地点" prop="port"> <el-input v-model="form.port" placeholder="请输入地点" maxlength="30" /> <el-form-item label="地点" prop="inspectionLocation"> <el-input v-model="form.inspectionLocation" placeholder="请输入地点" maxlength="30" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="巡检人" prop="inspector"> <el-input v-model="form.inspector" placeholder="巡检人" maxlength="30" /> <el-select v-model="form.inspector" placeholder="请选择" multiple clearable> <el-option v-for="item in userList" :label="item.nickName" :value="item.userId" :key="item.userId"/> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="备注" prop="remarks"> <el-input v-model="form.remarks" placeholder="请输入备注" type="textarea" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="任务频率" prop="frequencyType"> <el-select v-model="form.frequencyType" placeholder="请选择" clearable> <el-option label="每日" value="DAILY"/> <el-option label="每周" value="WEEKLY"/> <el-option label="每月" value="MONTHLY"/> <el-option label="季度" value="QUARTERLY"/> </el-select> </el-form-item> </el-col> <el-col :span="12" v-if="form.frequencyType === 'DAILY' && form.frequencyType"> <el-form-item label="日期" prop="frequencyDetail"> <el-time-picker v-model="form.frequencyDetail" placeholder="选择时间" format="HH:mm" value-format="HH:mm" /> </el-form-item> </el-col> <el-col :span="12" v-if="form.frequencyType === 'WEEKLY' && form.frequencyType"> <el-form-item label="日期" prop="frequencyDetail"> <el-select v-model="form.week" placeholder="请选择" clearable style="width: 50%"> <el-option label="周一" value="MON"/> <el-option label="周二" value="TUE"/> <el-option label="周三" value="WED"/> <el-option label="周四" value="THU"/> <el-option label="周五" value="FRI"/> <el-option label="周六" value="SAT"/> <el-option label="周日" value="SUN"/> </el-select> <el-time-picker v-model="form.time" placeholder="选择时间" format="HH:mm" value-format="HH:mm" style="width: 50%"/> </el-form-item> </el-col> <el-col :span="12" v-if="form.frequencyType === 'MONTHLY' && form.frequencyType"> <el-form-item label="日期" prop="frequencyDetail"> <el-date-picker v-model="form.frequencyDetail" type="datetime" clearable placeholder="选择开始日期" format="DD,HH:mm" value-format="DD,HH:mm" /> </el-form-item> </el-col> <el-col :span="12" v-if="form.frequencyType === 'QUARTERLY' && form.frequencyType"> <el-form-item label="日期" prop="frequencyDetail"> <el-date-picker v-model="form.frequencyDetail" type="datetime" clearable placeholder="选择开始日期" format="MM,DD,HH:mm" value-format="MM,DD,HH:mm" /> </el-form-item> </el-col> </el-row> @@ -41,7 +100,8 @@ <script setup> import {reactive, ref} from "vue"; import useUserStore from '@/store/modules/user' import {addOrEditInspectionTask} from "@/api/inspectionManagement/index.js"; import {addOrEditTimingTask} from "@/api/inspectionManagement/index.js"; import {userListAll} from "@/api/publicApi/index.js"; const { proxy } = getCurrentInstance() const emit = defineEmits() @@ -51,43 +111,60 @@ const data = reactive({ form: { taskName: '', port: '', inspectionLocation: '', inspector: '', inspectorIds: '', remarks: '', frequencyType: '', frequencyDetail: '', }, rules: { taskName: [{ required: true, message: "请输入任务名称", trigger: "blur" },], port: [{ required: true, message: "请输入地点", trigger: "blur" },], inspectionLocation: [{ required: true, message: "请输入地点", trigger: "blur" },], inspector: [{ required: true, message: "请输入巡检人", trigger: "blur" },], } }) const { form, rules } = toRefs(data) const userList = ref([]) // 打开弹框 const openDialog = async (type, row) => { dialogVisitable.value = true userListAll().then(res => { userList.value = res.data }) if (type === 'edit') { form.value = {...row} form.value.inspector = form.value.inspectorIds.split(',').map(Number) } } // 提交合并表单 const submitForm = () => { proxy.$refs["formRef"].validate(valid => { if (valid) { addOrEditInspectionTask(form.value).then(() => { cancel() proxy.$modal.msgSuccess('提交成功') }) } }) } // 关闭合并表单 const cancel = () => { proxy.resetForm("formRef") dialogVisitable.value = false emit('closeDia') } // 提交合并表单 const submitForm = () => { proxy.$refs["formRef"].validate(async valid => { if (valid) { form.value.inspectorIds = form.value.inspector.join(',') if (form.value.frequencyType === 'WEEKLY') { let frequencyDetail = '' frequencyDetail = form.value.week + ',' + form.value.time form.value.frequencyDetail = frequencyDetail } let res = await userStore.getInfo() form.value.registrantId = res.user.userId addOrEditTimingTask(form.value).then(() => { cancel() proxy.$modal.msgSuccess('提交成功') }) } }) } defineExpose({ openDialog }) </script> src/views/inspectionManagement/index.vue
@@ -1,18 +1,10 @@ <template> <div class="app-container"> <el-form :inline="true" :model="queryParams" class="search-form"> <el-form-item label="供应商名称"> <el-form-item label="搜索"> <el-input v-model="queryParams.supplierName" placeholder="请输入" clearable :style="{ width: '100%' }" /> </el-form-item> <el-form-item label="煤种"> <el-input v-model="queryParams.coal" placeholder="请输入" v-model="queryParams.searchAll" placeholder="请输入关键字" clearable :style="{ width: '100%' }" /> @@ -36,12 +28,20 @@ :name="tab.name" /> </el-tabs> <!-- 操作按钮区 --> <el-space v-if="tabName !== 'qrCodeScanRecord'"> <el-button type="primary" :icon="Plus" @click="handleAdd">新建</el-button> <el-button type="danger" :icon="Delete" @click="handleDelete">删除</el-button> <!-- <el-button type="info" plain :icon="Download">导出</el-button> --> </el-space> <div style="display: flex;flex-direction: row;justify-content: space-between;" v-if="tabName === 'task'"> <el-radio-group v-model="activeRadio" @change="radioChange"> <el-radio-button v-for="tab in radios" :key="tab.name" :label="tab.label" :value="tab.name"/> </el-radio-group> <!-- 操作按钮区 --> <el-space v-if="activeRadio !== 'task'"> <el-button type="primary" :icon="Plus" @click="handleAdd(undefined)">新建</el-button> <el-button type="danger" :icon="Delete" @click="handleDelete">删除</el-button> <!-- <el-button type="info" plain :icon="Download">导出</el-button> --> </el-space> </div> <div> <div> <ETable :loading="tableLoading" @@ -55,9 +55,9 @@ :operations="operationsArr" @edit="handleAdd" @viewFile="viewFile" v-if="tabName !== 'qrCodeScanRecord'" v-if="tabName === 'task'" ></ETable> <el-table ref="table" :data="tableData" height="480" v-loading="tableLoading" border v-else style="width: 100%;height: calc(100vh - 27em)"> <el-table ref="table" :data="tableData" height="480" v-loading="tableLoading" border v-else style="width: 100%;height: calc(100vh - 25em)"> <el-table-column label="序号" type="index" width="60" align="center" /> <el-table-column prop="deviceName" label="设备名称" :show-overflow-tooltip="true"> <template #default="scope"> @@ -103,7 +103,12 @@ import ETable from "@/components/Table/ETable.vue"; import FormDia from "@/views/inspectionManagement/components/formDia.vue"; import QrCodeDia from "@/views/inspectionManagement/components/qrCodeDia.vue"; import {delInspectionTask, inspectionTaskList} from "@/api/inspectionManagement/index.js"; import { delInspectionTask, delTimingTask, inspectionTaskList, timingTaskList } from "@/api/inspectionManagement/index.js"; import ViewFiles from "@/views/inspectionManagement/components/viewFiles.vue"; import {delQrCode, qrCodeList, qrCodeScanRecordList} from "@/api/inspectionUpload/index.js"; import ViewQrCodeFiles from "@/views/inspectionManagement/components/viewQrCodeFiles.vue"; @@ -114,17 +119,22 @@ const viewQrCodeFiles = ref() // 查询参数 const queryParams = reactive({ supplierName: "", coal: "", searchAll: "", }) // 当前标签 const activeTab = ref("task"); const tabName = ref("task"); // 标签页数据 const tabs = reactive([ { name: "task", label: "任务下发" }, { name: "qrCode", label: "二维码管理" }, { name: "task", label: "生产巡检" }, { name: "qrCodeScanRecord", label: "现场巡检记录" }, ]); // 单选框 const activeRadio = ref("taskManage"); const radios = reactive([ { name: "taskManage", label: "定时任务管理" }, { name: "task", label: "定时任务记录" }, { name: "qrCode", label: "二维码管理" }, ]); // 表格 const selectedRows = ref([]); @@ -137,9 +147,22 @@ const pageSize = ref(10); const columns = ref([ { prop: "taskName", label: "巡检任务名称", minWidth: 160 }, { prop: "port", label: "地点", minWidth: 120 }, { prop: "inspectionLocation", label: "地点", minWidth: 120 }, { prop: "remarks", label: "备注", minWidth: 150 }, { prop: "inspector", label: "执行巡检人", minWidth: 150 }, { prop: "frequencyType", label: "频次", minWidth: 150, formatter: (row, column, cellValue) => { if (cellValue === 'DAILY') { return '每日'; } else if (cellValue === 'MONTHLY') { return '每月'; } else if (cellValue === 'WEEKLY') { return '每周'; } else { return '季度' } }}, { prop: "frequencyDetail", label: "开始日期与时间", minWidth: 150 }, { prop: "registrant", label: "登记人", minWidth: 100 }, { prop: "createTime", label: "登记日期", minWidth: 100 }, ]); @@ -151,21 +174,27 @@ ]); onMounted(() => { handleTabClick({ props: { name: "task" } }); radioChange('taskManage'); }); // 标签页点击 const handleTabClick = (tab) => { tabName.value = tab.props.name; tableData.value = []; if (tabName.value === "task") { getList(); }; const radioChange = (value) => { if (value === "taskManage") { tableColumns.value = columns.value; operationsArr.value = ['edit', 'viewFile'] operationsArr.value = ['edit'] } else if (value === "task") { tableColumns.value = columns.value; operationsArr.value = ['viewFile'] } else { tableColumns.value = columns1.value; operationsArr.value = ['edit'] } getList(); }; } // 点击查询 const handleQuery = () => { pageNum.value = 1 @@ -174,18 +203,26 @@ } const getList = () => { tableLoading.value = true; if (tabName.value === "task") { inspectionTaskList({...queryParams, size: pageSize.value, current: pageNum.value}).then(res => { tableLoading.value = false; tableData.value = res.data.records; total.value = res.data.total; }) } else if (tabName.value === "qrCode") { qrCodeList({...queryParams, size: pageSize.value, current: pageNum.value}).then(res => { tableLoading.value = false; tableData.value = res.data.records; total.value = res.data.total; }) if (tabName.value === 'task') { if (activeRadio.value === "task") { inspectionTaskList({...queryParams, size: pageSize.value, current: pageNum.value}).then(res => { tableLoading.value = false; tableData.value = res.data.records; total.value = res.data.total; }) } else if (activeRadio.value === "qrCode") { qrCodeList({...queryParams, size: pageSize.value, current: pageNum.value}).then(res => { tableLoading.value = false; tableData.value = res.data.records; total.value = res.data.total; }) } else { timingTaskList({...queryParams, size: pageSize.value, current: pageNum.value}).then(res => { tableLoading.value = false; tableData.value = res.data.records; total.value = res.data.total; }) } } else { qrCodeScanRecordList({size: pageSize.value, current: pageNum.value}).then(res => { tableLoading.value = false; @@ -193,6 +230,7 @@ total.value = res.data.total; }) } }; // 重置查询 @@ -207,12 +245,15 @@ // 新增、编辑 const handleAdd = (row) => { console.log(row) const type = row === undefined ? 'add' : 'edit' nextTick(() => { if (tabName.value === "task") { formDia.value?.openDialog(type, row) } else if (tabName.value === "qrCode") { qrCodeDia.value?.openDialog(type, row) if (tabName.value === 'task') { if (activeRadio.value === "taskManage") { formDia.value?.openDialog(type, row) } else if (activeRadio.value === "qrCode") { qrCodeDia.value?.openDialog(type, row) } } else { viewQrCodeFiles.value?.openDialog(row) } @@ -232,8 +273,8 @@ } const deleteIds = selectedRows.value.map(item => item.id); proxy.$modal.confirm('是否确认删除所选数据项?').then(function() { if (tabName.value === "task") { return delInspectionTask(deleteIds) if (activeRadio.value === "taskManage") { return delTimingTask(deleteIds) } else { return delQrCode(deleteIds) } src/views/login.vue
@@ -174,7 +174,7 @@ //justify-content: center; //align-items: center; height: 100%; background-image: url("../assets/images/login-background.png"); background-image: url("../assets/images/Logo2Back.jpg"); background-size: cover; position: relative; } src/views/salesOutbound/index.vue
@@ -1,28 +1,10 @@ <template> <div class="app-container"> <el-form :inline="true" :model="queryParams" class="search-form"> <el-form-item label="销售日期"> <el-date-picker v-model="queryParams.saleDate" type="date" placeholder="请选择" value-format="YYYY-MM-DD" format="YYYY-MM-DD" clearable /> </el-form-item> <el-form-item label="客户"> <el-form-item label="搜索"> <el-input v-model="queryParams.customer" placeholder="请输入" clearable :style="{ width: '100%' }" /> </el-form-item> <el-form-item label="煤种"> <el-input v-model="queryParams.coal" placeholder="请输入" v-model="queryParams.searchAll" placeholder="请输入关键字" clearable :style="{ width: '100%' }" /> @@ -114,9 +96,7 @@ const pageSize = ref(10); // 查询参数 const queryParams = reactive({ saleDate: "", customer: "", coal: "", searchAll: "", }) onMounted(() => { handleQuery() src/views/warehouseManagement/index.vue
@@ -1,18 +1,10 @@ <template> <div class="app-container"> <el-form :inline="true" :model="queryParams" class="search-form"> <el-form-item label="供应商名称"> <el-form-item label="搜索"> <el-input v-model="queryParams.supplierName" placeholder="请输入" clearable :style="{ width: '100%' }" /> </el-form-item> <el-form-item label="煤种"> <el-input v-model="queryParams.coal" placeholder="请输入" v-model="queryParams.searchAll" placeholder="请输入关键字" clearable :style="{ width: '100%' }" /> @@ -333,8 +325,7 @@ ]); // 查询参数 const queryParams = reactive({ supplierName: "", coal: "", searchAll: "", }) const columnTitle = ref([]) const supplyList = ref([]);