main
chenshuichuan 2 years ago
parent 898d0f1e98
commit a7a7e99607

@ -64,7 +64,7 @@
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right" width="150">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link

@ -195,7 +195,7 @@
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right" width="150">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link

@ -124,7 +124,7 @@
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right" width="150">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link

@ -37,7 +37,7 @@
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right" width="150">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link

@ -63,7 +63,7 @@
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right" width="150">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link

@ -154,7 +154,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="订阅主题" align="center" prop="topic" /> <el-table-column label="订阅主题" align="center" prop="topic" />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right" width="150">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link

@ -158,7 +158,7 @@
<!-- width="180px"--> <!-- width="180px"-->
<!-- />--> <!-- />-->
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right" width="150">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link

@ -116,7 +116,7 @@
<el-table-column label="标题" align="center" prop="title" /> <el-table-column label="标题" align="center" prop="title" />
<el-table-column label="访问地址" align="center" prop="viewUrl" /> <el-table-column label="访问地址" align="center" prop="viewUrl" />
<el-table-column label="标签" align="center" prop="tags" /> <el-table-column label="标签" align="center" prop="tags" />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right" width="150">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link

@ -0,0 +1,63 @@
<template>
<div class="head-container">
<el-input v-model="deptName" class="mb-20px" clearable placeholder="请输入部门名称">
<template #prefix>
<Icon icon="ep:search" />
</template>
</el-input>
</div>
<div class="head-container">
<el-tree
ref="treeRef"
:data="deptList"
:expand-on-click-node="false"
:filter-node-method="filterNode"
:props="defaultProps"
default-expand-all
highlight-current
node-key="id"
@node-click="handleNodeClick"
/>
</div>
</template>
<script lang="ts" setup>
import { ElTree } from 'element-plus'
import * as DeptApi from '@/api/system/dept'
import { defaultProps, handleTree } from '@/utils/tree'
defineOptions({ name: 'SystemUserDeptTree' })
const deptName = ref('')
const deptList = ref<Tree[]>([]) //
const treeRef = ref<InstanceType<typeof ElTree>>()
/** 获得部门树 */
const getTree = async () => {
const res = await DeptApi.getSimpleDeptList()
deptList.value = []
deptList.value.push(...handleTree(res))
}
/** 基于名字过滤 */
const filterNode = (name: string, data: Tree) => {
if (!name) return true
return data.name.includes(name)
}
/** 处理部门被点击 */
const handleNodeClick = async (row: { [key: string]: any }) => {
emits('node-click', row)
}
const emits = defineEmits(['node-click'])
/** 监听deptName */
watch(deptName, (val) => {
treeRef.value!.filter(val)
})
/** 初始化 */
onMounted(async () => {
await getTree()
})
</script>

@ -1,4 +1,12 @@
<template> <template>
<el-row :gutter="20">
<!-- 左侧部门树 -->
<el-col :span="4" :xs="24">
<ContentWrap class="h-1/1">
<IotOrgTree @node-click="handleDeptNodeClick"/>
</ContentWrap>
</el-col>
<el-col :span="20" :xs="24">
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form
@ -8,36 +16,27 @@
:inline="true" :inline="true"
label-width="68px" label-width="68px"
> >
<el-form-item label="机台" prop="machineName"> <el-form-item label="网关" prop="gatewayCode">
<el-input <el-input
v-model="queryParams.machineName" v-model="queryParams.gatewayCode"
placeholder="请输入机台" placeholder="请输入网关"
clearable clearable
@keyup.enter="handleQuery" @keyup.enter="handleQuery"
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="采集时间" prop="deviceDataTime">
<el-date-picker <el-form-item label="机台" prop="machineName">
v-model="queryParams.deviceDataTime"
value-format="YYYY-MM-DD HH:mm:ss"
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="数据" prop="deviceData">
<el-input <el-input
v-model="queryParams.deviceData" v-model="queryParams.machineName"
placeholder="请输入数据" placeholder="请输入机台"
clearable clearable
@keyup.enter="handleQuery" @keyup.enter="handleQuery"
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="设备编码" prop="deviceCode">
<el-form-item label="设备" prop="deviceCode">
<el-input <el-input
v-model="queryParams.deviceCode" v-model="queryParams.deviceCode"
placeholder="请输入设备编码" placeholder="请输入设备编码"
@ -46,36 +45,9 @@
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="设备名称" prop="deviceName"> <el-form-item label="采集时间" prop="deviceDataTime">
<el-input
v-model="queryParams.deviceName"
placeholder="请输入设备名称"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="用户" prop="workerName">
<el-input
v-model="queryParams.workerName"
placeholder="请输入用户"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="网关" prop="gatewayCode">
<el-input
v-model="queryParams.gatewayCode"
placeholder="请输入网关"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker
v-model="queryParams.createTime" v-model="queryParams.deviceDataTime"
value-format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
type="daterange" type="daterange"
start-placeholder="开始日期" start-placeholder="开始日期"
@ -84,16 +56,24 @@
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px"/>
搜索
</el-button>
<el-button @click="resetQuery">
<Icon icon="ep:refresh" class="mr-5px"/>
重置
</el-button>
<el-button <el-button
type="primary" type="primary"
plain plain
@click="openForm('create')" @click="openForm('create')"
v-hasPermi="['iot:mqtt-record:create']" v-hasPermi="['iot:mqtt-record:create']"
> >
<Icon icon="ep:plus" class="mr-5px" /> 新增 <Icon icon="ep:plus" class="mr-5px"/>
新增
</el-button> </el-button>
<el-button <el-button
type="success" type="success"
@ -102,7 +82,8 @@
:loading="exportLoading" :loading="exportLoading"
v-hasPermi="['iot:mqtt-record:export']" v-hasPermi="['iot:mqtt-record:export']"
> >
<Icon icon="ep:download" class="mr-5px" /> 导出 <Icon icon="ep:download" class="mr-5px"/>
导出
</el-button> </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -162,7 +143,8 @@
@pagination="getList" @pagination="getList"
/> />
</ContentWrap> </ContentWrap>
</el-col>
</el-row>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
<MqttRecordForm ref="formRef" @success="getList"/> <MqttRecordForm ref="formRef" @success="getList"/>
</template> </template>
@ -172,6 +154,8 @@ import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download' import download from '@/utils/download'
import {MqttRecordApi, MqttRecordVO} from '@/api/iot/mqttrecord' import {MqttRecordApi, MqttRecordVO} from '@/api/iot/mqttrecord'
import MqttRecordForm from './MqttRecordForm.vue' import MqttRecordForm from './MqttRecordForm.vue'
import {defaultProps} from "@/utils/tree";
import DeptTree from "@/views/system/user/DeptTree.vue";
/** 数采记录 列表 */ /** 数采记录 列表 */
defineOptions({name: 'MqttRecord'}) defineOptions({name: 'MqttRecord'})
@ -185,11 +169,11 @@ const total = ref(0) // 列表的总页数
const queryParams = reactive({ const queryParams = reactive({
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
machineName: undefined, machineId: undefined,
deviceDataTime: [], deviceDataTime: [],
deviceData: undefined, deviceData: undefined,
deviceCode: undefined, deviceCode: undefined,
deviceName: undefined, deviceId: undefined,
workerName: undefined, workerName: undefined,
gatewayCode: undefined, gatewayCode: undefined,
createTime: [], createTime: [],
@ -237,7 +221,8 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch {} } catch {
}
} }
/** 导出按钮操作 */ /** 导出按钮操作 */
@ -259,4 +244,10 @@ const handleExport = async () => {
onMounted(() => { onMounted(() => {
getList() getList()
}) })
/** 处理部门被点击 */
const handleDeptNodeClick = async (row) => {
queryParams.machineId = row.id
await getList()
}
</script> </script>

@ -1,5 +1,5 @@
<template> <template>
<Dialog :title="dialogTitle" v-model="dialogVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible" width="800px">
<el-form <el-form
ref="formRef" ref="formRef"
:model="formData" :model="formData"

@ -124,7 +124,7 @@
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right" width="150">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link

@ -136,7 +136,7 @@
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right" width="150">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link

@ -187,7 +187,7 @@
<dict-tag :type="DICT_TYPE.MES_ORG_TYPE" :value="scope.row.machineType" /> <dict-tag :type="DICT_TYPE.MES_ORG_TYPE" :value="scope.row.machineType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" min-width="120px" > <el-table-column label="操作" align="center" fixed="right" min-width="120px" >
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link

@ -178,7 +178,7 @@
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right" width="150">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link

@ -7,10 +7,10 @@
label-width="100px" label-width="100px"
v-loading="formLoading" v-loading="formLoading"
> >
<el-form-item label="任务单明细ID" prop="taskDetailId"> <el-form-item label="任务单明细" prop="taskDetailId">
<el-input v-model="formData.taskDetailId" placeholder="请输入任务单明细ID" /> <el-input v-model="formData.taskDetailId" placeholder="请输入任务单明细ID" />
</el-form-item> </el-form-item>
<el-form-item label="任务单ID" prop="taskId"> <el-form-item label="任务单" prop="taskId">
<el-input v-model="formData.taskId" placeholder="请输入任务单ID" /> <el-input v-model="formData.taskId" placeholder="请输入任务单ID" />
</el-form-item> </el-form-item>
@ -20,7 +20,7 @@
<el-form-item label="产品ID" prop="productId"> <el-form-item label="产品ID" prop="productId">
<el-input v-model="formData.productId" placeholder="请输入产品ID" /> <el-input v-model="formData.productId" placeholder="请输入产品ID" />
</el-form-item> </el-form-item>
<el-form-item label="数量" prop="planNumber"> <el-form-item label="计划数量" prop="planNumber">
<el-input v-model="formData.planNumber" placeholder="请输入数量" /> <el-input v-model="formData.planNumber" placeholder="请输入数量" />
</el-form-item> </el-form-item>
<el-form-item label="成品数量" prop="finishNumber"> <el-form-item label="成品数量" prop="finishNumber">
@ -37,7 +37,7 @@
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="计划开始时间" prop="planStartTime"> <el-form-item label="计划开始" prop="planStartTime">
<el-date-picker <el-date-picker
v-model="formData.planStartTime" v-model="formData.planStartTime"
type="date" type="date"
@ -45,7 +45,7 @@
placeholder="选择计划开始时间" placeholder="选择计划开始时间"
/> />
</el-form-item> </el-form-item>
<el-form-item label="计划结束时间" prop="planEndTime"> <el-form-item label="计划结束" prop="planEndTime">
<el-date-picker <el-date-picker
v-model="formData.planEndTime" v-model="formData.planEndTime"
type="date" type="date"
@ -53,39 +53,27 @@
placeholder="选择计划结束时间" placeholder="选择计划结束时间"
/> />
</el-form-item> </el-form-item>
<el-form-item label="实际开始时间" prop="startTime">
<el-date-picker <el-form-item label="生产主管" prop="productionManagerId">
v-model="formData.startTime" <el-select
type="date" v-model="formData.productionManagerId"
value-format="x" clearable
placeholder="选择实际开始时间" filterable
/> placeholder="请选择生产主管"
</el-form-item> class="!w-1/1"
<el-form-item label="实际结束时间" prop="endTime"> >
<el-date-picker <el-option
v-model="formData.endTime" v-for="item in userList"
type="date" :key="item.id"
value-format="x" :label="item.nickname"
placeholder="选择实际结束时间" :value="item.id"
/> />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="生产主管ID" prop="productionManagerId">
<el-input v-model="formData.productionManagerId" placeholder="请输入生产主管ID" />
</el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" placeholder="请输入备注" /> <el-input v-model="formData.remark" placeholder="请输入备注" />
</el-form-item> </el-form-item>
<el-form-item label="是否启用" prop="isEnable">
<el-radio-group v-model="formData.isEnable">
<el-radio
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
:key="dict.value"
:label="dict.value"
>
{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>
@ -96,10 +84,11 @@
<script setup lang="ts"> <script setup lang="ts">
import { getIntDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict' import { getIntDictOptions, getBoolDictOptions, DICT_TYPE } from '@/utils/dict'
import { PlanApi, PlanVO } from '@/api/mes/plan' import { PlanApi, PlanVO } from '@/api/mes/plan'
import * as UserApi from "@/api/system/user";
/** 生产计划 表单 */ /** 生产计划 表单 */
defineOptions({ name: 'PlanForm' }) defineOptions({ name: 'PlanForm' })
const userList = ref<UserApi.UserVO[]>([]) //
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
@ -125,15 +114,13 @@ const formData = ref({
isEnable: undefined isEnable: undefined
}) })
const formRules = reactive({ const formRules = reactive({
productId: [{ required: true, message: '产品ID不能为空', trigger: 'blur' }], productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
taskDetailId: [{ required: true, message: '任务单明细ID不能为空', trigger: 'blur' }], taskDetailId: [{ required: true, message: '任务单明细不能为空', trigger: 'blur' }],
taskId: [{ required: true, message: '任务单ID不能为空', trigger: 'blur' }], taskId: [{ required: true, message: '任务单不能为空', trigger: 'blur' }],
planNumber: [{ required: true, message: '数量不能为空', trigger: 'blur' }], planNumber: [{ required: true, message: '计划数量不能为空', trigger: 'blur' }],
status: [{ required: true, message: '状态不能为空', trigger: 'blur' }], status: [{ required: true, message: '状态不能为空', trigger: 'blur' }],
planStartTime: [{ required: true, message: '计划开始时间不能为空', trigger: 'blur' }], planStartTime: [{ required: true, message: '计划开始时间不能为空', trigger: 'blur' }],
planEndTime: [{ required: true, message: '计划结束时间不能为空', trigger: 'blur' }], planEndTime: [{ required: true, message: '计划结束时间不能为空', trigger: 'blur' }],
startTime: [{ required: true, message: '实际开始时间不能为空', trigger: 'blur' }],
endTime: [{ required: true, message: '实际结束时间不能为空', trigger: 'blur' }]
}) })
const formRef = ref() // Ref const formRef = ref() // Ref
@ -152,6 +139,8 @@ const open = async (type: string, id?: number) => {
formLoading.value = false formLoading.value = false
} }
} }
//
userList.value = await UserApi.getSimpleUserList()
} }
defineExpose({ open }) // open defineExpose({ open }) // open

@ -9,7 +9,7 @@
label-width="68px" label-width="68px"
> >
<el-form-item label="任务单ID" prop="taskId"> <el-form-item label="任务单" prop="taskId">
<el-input <el-input
v-model="queryParams.taskId" v-model="queryParams.taskId"
placeholder="请输入任务单ID" placeholder="请输入任务单ID"
@ -18,15 +18,7 @@
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="任务单明细ID" prop="taskDetailId">
<el-input
v-model="queryParams.taskDetailId"
placeholder="请输入任务单明细ID"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="计划编码" prop="code"> <el-form-item label="计划编码" prop="code">
<el-input <el-input
v-model="queryParams.code" v-model="queryParams.code"
@ -60,7 +52,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="计划开始时间" prop="planStartTime"> <el-form-item label="计划开始" prop="planStartTime">
<el-date-picker <el-date-picker
v-model="queryParams.planStartTime" v-model="queryParams.planStartTime"
value-format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
@ -71,7 +63,7 @@
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="计划结束时间" prop="planEndTime"> <el-form-item label="计划结束" prop="planEndTime">
<el-date-picker <el-date-picker
v-model="queryParams.planEndTime" v-model="queryParams.planEndTime"
value-format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
@ -82,7 +74,7 @@
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="实际开始时间" prop="startTime"> <el-form-item label="实际开始" prop="startTime">
<el-date-picker <el-date-picker
v-model="queryParams.startTime" v-model="queryParams.startTime"
value-format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
@ -93,7 +85,7 @@
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="实际结束时间" prop="endTime"> <el-form-item label="实际结束" prop="endTime">
<el-date-picker <el-date-picker
v-model="queryParams.endTime" v-model="queryParams.endTime"
value-format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
@ -104,10 +96,10 @@
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="生产主管ID" prop="productionManagerId"> <el-form-item label="生产主管" prop="productionManagerId">
<el-input <el-input
v-model="queryParams.productionManagerId" v-model="queryParams.productionManagerId"
placeholder="请输入生产主管ID" placeholder="请输入生产主管"
clearable clearable
@keyup.enter="handleQuery" @keyup.enter="handleQuery"
class="!w-240px" class="!w-240px"
@ -204,7 +196,7 @@
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right" width="150">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link
@ -214,6 +206,14 @@
> >
编辑 编辑
</el-button> </el-button>
<el-button
link
type="primary"
@click="openForm('update', scope.row.id)"
v-hasPermi="['mes:plan:update']"
>
派工
</el-button>
<el-button <el-button
link link
type="danger" type="danger"

@ -10,6 +10,14 @@
<el-form-item label="报工单id" prop="reportId"> <el-form-item label="报工单id" prop="reportId">
<el-input v-model="formData.reportId" placeholder="请输入报工单id" /> <el-input v-model="formData.reportId" placeholder="请输入报工单id" />
</el-form-item> </el-form-item>
<el-form-item label="报工日期" prop="reportDate">
<el-date-picker
v-model="formData.reportDate"
type="date"
value-format="x"
placeholder="选择报工日期"
/>
</el-form-item>
<el-form-item label="生产计划ID" prop="planId"> <el-form-item label="生产计划ID" prop="planId">
<el-input v-model="formData.planId" placeholder="请输入生产计划ID" /> <el-input v-model="formData.planId" placeholder="请输入生产计划ID" />
</el-form-item> </el-form-item>
@ -22,26 +30,10 @@
<el-form-item label="组织ID" prop="orgId"> <el-form-item label="组织ID" prop="orgId">
<el-input v-model="formData.orgId" placeholder="请输入组织ID" /> <el-input v-model="formData.orgId" placeholder="请输入组织ID" />
</el-form-item> </el-form-item>
<el-form-item label="成品率" prop="qualityRate">
<el-input v-model="formData.qualityRate" placeholder="请输入成品率" />
</el-form-item>
<el-form-item label="备注" prop="wasteReason">
<el-input v-model="formData.wasteReason" placeholder="请输入备注" />
</el-form-item>
<el-form-item label="总时长" prop="totalTime">
<el-input v-model="formData.totalTime" placeholder="请输入总时长" />
</el-form-item>
<el-form-item label="打包数量" prop="packageNumber">
<el-input v-model="formData.packageNumber" placeholder="请输入打包数量" />
</el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" placeholder="请输入备注" /> <el-input v-model="formData.remark" placeholder="请输入备注" />
</el-form-item> </el-form-item>
<el-form-item label="是否启用" prop="isEnable">
<el-radio-group v-model="formData.isEnable">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="成品数量" prop="qualityNumber"> <el-form-item label="成品数量" prop="qualityNumber">
<el-input v-model="formData.qualityNumber" placeholder="请输入成品数量" /> <el-input v-model="formData.qualityNumber" placeholder="请输入成品数量" />
</el-form-item> </el-form-item>
@ -51,13 +43,17 @@
<el-form-item label="总数量" prop="totalNumber"> <el-form-item label="总数量" prop="totalNumber">
<el-input v-model="formData.totalNumber" placeholder="请输入总数量" /> <el-input v-model="formData.totalNumber" placeholder="请输入总数量" />
</el-form-item> </el-form-item>
<el-form-item label="报工日期" prop="reportDate"> <el-form-item label="成品率" prop="qualityRate">
<el-date-picker <el-input v-model="formData.qualityRate" placeholder="请输入成品率" />
v-model="formData.reportDate" </el-form-item>
type="date" <el-form-item label="废品原因" prop="wasteReason">
value-format="x" <el-input v-model="formData.wasteReason" placeholder="请输入废品原因" />
placeholder="选择报工日期" </el-form-item>
/> <el-form-item label="打包数量" prop="packageNumber">
<el-input v-model="formData.packageNumber" placeholder="请输入打包数量" />
</el-form-item>
<el-form-item label="总时长" prop="totalTime">
<el-input v-model="formData.totalTime" placeholder="请输入总时长" />
</el-form-item> </el-form-item>
<el-form-item label="计件时间" prop="reportTime"> <el-form-item label="计件时间" prop="reportTime">
<el-input v-model="formData.reportTime" placeholder="请输入计件时间" /> <el-input v-model="formData.reportTime" placeholder="请输入计件时间" />
@ -81,7 +77,7 @@
</Dialog> </Dialog>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' import {getIntDictOptions, DICT_TYPE, getBoolDictOptions} from '@/utils/dict'
import { ProduceReportDetailApi, ProduceReportDetailVO } from '@/api/mes/producereport' import { ProduceReportDetailApi, ProduceReportDetailVO } from '@/api/mes/producereport'
/** 生产报工明细 表单 */ /** 生产报工明细 表单 */
@ -119,7 +115,6 @@ const formRules = reactive({
productId: [{ required: true, message: '产品ID不能为空', trigger: 'blur' }], productId: [{ required: true, message: '产品ID不能为空', trigger: 'blur' }],
userId: [{ required: true, message: '用户ID不能为空', trigger: 'blur' }], userId: [{ required: true, message: '用户ID不能为空', trigger: 'blur' }],
orgId: [{ required: true, message: '组织ID不能为空', trigger: 'blur' }], orgId: [{ required: true, message: '组织ID不能为空', trigger: 'blur' }],
isEnable: [{ required: true, message: '是否启用不能为空', trigger: 'blur' }],
}) })
const formRef = ref() // Ref const formRef = ref() // Ref

@ -145,7 +145,7 @@
<dict-tag :type="DICT_TYPE.MES_RECORD_STATUS" :value="scope.row.reportStatus" /> <dict-tag :type="DICT_TYPE.MES_RECORD_STATUS" :value="scope.row.reportStatus" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right" width="150">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link

@ -48,11 +48,7 @@
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" placeholder="请输入备注" /> <el-input v-model="formData.remark" placeholder="请输入备注" />
</el-form-item> </el-form-item>
<el-form-item label="是否启用" prop="isEnable">
<el-radio-group v-model="formData.isEnable">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>
@ -61,7 +57,7 @@
</Dialog> </Dialog>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' import {getIntDictOptions, DICT_TYPE, getBoolDictOptions} from '@/utils/dict'
import { ProduceReportApi, ProduceReportVO } from '@/api/mes/producereport' import { ProduceReportApi, ProduceReportVO } from '@/api/mes/producereport'
/** 生产报工单 表单 */ /** 生产报工单 表单 */
@ -83,7 +79,6 @@ const formData = ref({
status: undefined, status: undefined,
groupType: undefined, groupType: undefined,
remark: undefined, remark: undefined,
isEnable: undefined,
}) })
const formRules = reactive({ const formRules = reactive({
workTeamId: [{ required: true, message: '组别ID不能为空', trigger: 'blur' }], workTeamId: [{ required: true, message: '组别ID不能为空', trigger: 'blur' }],
@ -91,7 +86,6 @@ const formRules = reactive({
reportDate: [{ required: true, message: '报工日期不能为空', trigger: 'blur' }], reportDate: [{ required: true, message: '报工日期不能为空', trigger: 'blur' }],
status: [{ required: true, message: '状态不能为空', trigger: 'blur' }], status: [{ required: true, message: '状态不能为空', trigger: 'blur' }],
groupType: [{ required: true, message: '白班/夜班不能为空', trigger: 'change' }], groupType: [{ required: true, message: '白班/夜班不能为空', trigger: 'change' }],
isEnable: [{ required: true, message: '是否启用不能为空', trigger: 'blur' }],
}) })
const formRef = ref() // Ref const formRef = ref() // Ref

@ -39,7 +39,7 @@
width="180px" width="180px"
/> />
<el-table-column label="计件时间" align="center" prop="reportTime" /> <el-table-column label="计件时间" align="center" prop="reportTime" />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right" width="150">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link

@ -142,7 +142,7 @@
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right" width="150">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link

@ -10,7 +10,6 @@
<Icon icon="ep:plus" class="mr-5px" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="ID" align="center" prop="id" />
<el-table-column label="产品" align="center" prop="productName" /> <el-table-column label="产品" align="center" prop="productName" />
<el-table-column label="单位" align="center" prop="unitName" /> <el-table-column label="单位" align="center" prop="unitName" />
<el-table-column label="数量" align="center" prop="number" /> <el-table-column label="数量" align="center" prop="number" />
@ -27,8 +26,15 @@
:formatter="dateFormatter" :formatter="dateFormatter"
width="180px" width="180px"
/> />
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" width="150px">
<template #default="scope"> <template #default="scope">
<el-button
link
type="success"
v-hasPermi="['mes:task:update']"
>
物料
</el-button>
<el-button <el-button
link link
type="primary" type="primary"

@ -109,7 +109,6 @@
highlight-current-row highlight-current-row
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
> >
<el-table-column label="ID" align="center" prop="id" />
<el-table-column label="编码" align="center" prop="code" /> <el-table-column label="编码" align="center" prop="code" />
<el-table-column label="下达日期" align="center" prop="orderDate" :formatter="dateFormatter2" /> <el-table-column label="下达日期" align="center" prop="orderDate" :formatter="dateFormatter2" />
<el-table-column label="交货日期" align="center" prop="deliveryDate" :formatter="dateFormatter2"/> <el-table-column label="交货日期" align="center" prop="deliveryDate" :formatter="dateFormatter2"/>
@ -118,21 +117,14 @@
<dict-tag :type="DICT_TYPE.MES_TASK_STATUS" :value="scope.row.status" /> <dict-tag :type="DICT_TYPE.MES_TASK_STATUS" :value="scope.row.status" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="流程实例的编号" align="center" prop="processInstanceId" />
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="是否启用" align="center" prop="isEnable"> <el-table-column label="是否启用" align="center" prop="isEnable">
<template #default="scope"> <template #default="scope">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.isEnable" /> <dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.isEnable" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
label="创建时间" <el-table-column label="操作" align="center" min-width="200px">
align="center"
prop="createTime"
:formatter="dateFormatter"
width="180px"
/>
<el-table-column label="操作" align="center" min-width="120px">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link
@ -142,6 +134,21 @@
> >
销售单 销售单
</el-button> </el-button>
<el-button
link
type="success"
v-hasPermi="['mes:task:update']"
>
物料
</el-button>
<el-button
link
type="success"
v-hasPermi="['mes:task:update']"
>
做计划
</el-button>
<el-button <el-button
link link

@ -28,7 +28,13 @@
</el-form-item> </el-form-item>
<el-form-item label="是否启用" prop="isEnable"> <el-form-item label="是否启用" prop="isEnable">
<el-radio-group v-model="formData.isEnable"> <el-radio-group v-model="formData.isEnable">
<el-radio label="1">请选择字典生成</el-radio> <el-radio
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
:key="dict.value"
:label="dict.value"
>
{{ dict.label }}
</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -39,7 +45,7 @@
</Dialog> </Dialog>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { getStrDictOptions, DICT_TYPE } from '@/utils/dict' import {getStrDictOptions, DICT_TYPE, getBoolDictOptions} from '@/utils/dict'
import { WorkTeamApi, WorkTeamVO } from '@/api/mes/workteam' import { WorkTeamApi, WorkTeamVO } from '@/api/mes/workteam'
/** 生产班组 表单 */ /** 生产班组 表单 */

@ -50,16 +50,7 @@
class="!w-240px" class="!w-240px"
/> />
</el-form-item> </el-form-item>
<el-form-item label="是否启用" prop="isEnable">
<el-select
v-model="queryParams.isEnable"
placeholder="请选择是否启用"
clearable
class="!w-240px"
>
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker
v-model="queryParams.createTime" v-model="queryParams.createTime"
@ -114,7 +105,11 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="是否启用" align="center" prop="isEnable" /> <el-table-column label="是否启用" align="center" prop="isEnable">
<template #default="scope">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.isEnable" />
</template>
</el-table-column>
<el-table-column <el-table-column
label="创建时间" label="创建时间"
align="center" align="center"

Loading…
Cancel
Save