main
chenshuichuan 2 years ago
parent 898d0f1e98
commit a7a7e99607

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

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

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

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

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

@ -154,7 +154,7 @@
</template>
</el-table-column>
<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">
<el-button
link

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

@ -116,7 +116,7 @@
<el-table-column label="标题" align="center" prop="title" />
<el-table-column label="访问地址" align="center" prop="viewUrl" />
<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">
<el-button
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,183 +1,167 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<el-form
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<el-form-item label="机台" prop="machineName">
<el-input
v-model="queryParams.machineName"
placeholder="请输入机台"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="采集时间" prop="deviceDataTime">
<el-date-picker
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
v-model="queryParams.deviceData"
placeholder="请输入数据"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="设备编码" prop="deviceCode">
<el-input
v-model="queryParams.deviceCode"
placeholder="请输入设备编码"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="设备名称" prop="deviceName">
<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
v-model="queryParams.createTime"
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>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button
type="primary"
plain
@click="openForm('create')"
v-hasPermi="['iot:mqtt-record:create']"
<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>
<!-- 搜索工作栏 -->
<el-form
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button>
<el-button
type="success"
plain
@click="handleExport"
:loading="exportLoading"
v-hasPermi="['iot:mqtt-record:export']"
>
<Icon icon="ep:download" class="mr-5px" /> 导出
</el-button>
</el-form-item>
</el-form>
</ContentWrap>
<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="machineName">
<el-input
v-model="queryParams.machineName"
placeholder="请输入机台"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<!-- 列表 -->
<ContentWrap>
<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="machineName" />
<el-table-column
label="采集时间"
align="center"
prop="deviceDataTime"
:formatter="dateFormatter"
width="180px"
/>
<el-table-column label="时间戳" align="center" prop="deviceDataTimeLong" />
<el-table-column label="数据" align="center" prop="deviceData" />
<el-table-column label="设备编码" align="center" prop="deviceCode" />
<el-table-column label="设备名称" align="center" prop="deviceName" />
<el-table-column label="用户" align="center" prop="workerName" />
<el-table-column label="网关" align="center" prop="gatewayCode" />
<el-table-column
label="创建时间"
align="center"
prop="createTime"
:formatter="dateFormatter"
width="180px"
/>
<el-table-column label="操作" align="center">
<template #default="scope">
<el-button
link
type="primary"
@click="openForm('update', scope.row.id)"
v-hasPermi="['iot:mqtt-record:update']"
>
编辑
</el-button>
<el-button
link
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['iot:mqtt-record:delete']"
>
删除
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap>
<el-form-item label="设备" prop="deviceCode">
<el-input
v-model="queryParams.deviceCode"
placeholder="请输入设备编码"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="采集时间" prop="deviceDataTime">
<el-date-picker
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>
<el-button @click="handleQuery">
<Icon icon="ep:search" class="mr-5px"/>
搜索
</el-button>
<el-button @click="resetQuery">
<Icon icon="ep:refresh" class="mr-5px"/>
重置
</el-button>
<el-button
type="primary"
plain
@click="openForm('create')"
v-hasPermi="['iot:mqtt-record:create']"
>
<Icon icon="ep:plus" class="mr-5px"/>
新增
</el-button>
<el-button
type="success"
plain
@click="handleExport"
:loading="exportLoading"
v-hasPermi="['iot:mqtt-record:export']"
>
<Icon icon="ep:download" class="mr-5px"/>
导出
</el-button>
</el-form-item>
</el-form>
</ContentWrap>
<!-- 列表 -->
<ContentWrap>
<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="machineName"/>
<el-table-column
label="采集时间"
align="center"
prop="deviceDataTime"
:formatter="dateFormatter"
width="180px"
/>
<el-table-column label="时间戳" align="center" prop="deviceDataTimeLong"/>
<el-table-column label="数据" align="center" prop="deviceData"/>
<el-table-column label="设备编码" align="center" prop="deviceCode"/>
<el-table-column label="设备名称" align="center" prop="deviceName"/>
<el-table-column label="用户" align="center" prop="workerName"/>
<el-table-column label="网关" align="center" prop="gatewayCode"/>
<el-table-column
label="创建时间"
align="center"
prop="createTime"
:formatter="dateFormatter"
width="180px"
/>
<el-table-column label="操作" align="center">
<template #default="scope">
<el-button
link
type="primary"
@click="openForm('update', scope.row.id)"
v-hasPermi="['iot:mqtt-record:update']"
>
编辑
</el-button>
<el-button
link
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['iot:mqtt-record:delete']"
>
删除
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap>
</el-col>
</el-row>
<!-- 表单弹窗添加/修改 -->
<MqttRecordForm ref="formRef" @success="getList" />
<MqttRecordForm ref="formRef" @success="getList"/>
</template>
<script setup lang="ts">
import { dateFormatter } from '@/utils/formatTime'
import {dateFormatter} from '@/utils/formatTime'
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 {defaultProps} from "@/utils/tree";
import DeptTree from "@/views/system/user/DeptTree.vue";
/** 数采记录 列表 */
defineOptions({ name: 'MqttRecord' })
defineOptions({name: 'MqttRecord'})
const message = useMessage() //
const { t } = useI18n() //
const {t} = useI18n() //
const loading = ref(true) //
const list = ref<MqttRecordVO[]>([]) //
@ -185,11 +169,11 @@ const total = ref(0) // 列表的总页数
const queryParams = reactive({
pageNo: 1,
pageSize: 10,
machineName: undefined,
machineId: undefined,
deviceDataTime: [],
deviceData: undefined,
deviceCode: undefined,
deviceName: undefined,
deviceId: undefined,
workerName: undefined,
gatewayCode: undefined,
createTime: [],
@ -237,7 +221,8 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess'))
//
await getList()
} catch {}
} catch {
}
}
/** 导出按钮操作 */
@ -259,4 +244,10 @@ const handleExport = async () => {
onMounted(() => {
getList()
})
/** 处理部门被点击 */
const handleDeptNodeClick = async (row) => {
queryParams.machineId = row.id
await getList()
}
</script>

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

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

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

@ -187,7 +187,7 @@
<dict-tag :type="DICT_TYPE.MES_ORG_TYPE" :value="scope.row.machineType" />
</template>
</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">
<el-button
link

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

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

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

@ -10,6 +10,14 @@
<el-form-item label="报工单id" prop="reportId">
<el-input v-model="formData.reportId" placeholder="请输入报工单id" />
</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-input v-model="formData.planId" placeholder="请输入生产计划ID" />
</el-form-item>
@ -22,26 +30,10 @@
<el-form-item label="组织ID" prop="orgId">
<el-input v-model="formData.orgId" placeholder="请输入组织ID" />
</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-input v-model="formData.remark" placeholder="请输入备注" />
</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-input v-model="formData.qualityNumber" placeholder="请输入成品数量" />
</el-form-item>
@ -51,13 +43,17 @@
<el-form-item label="总数量" prop="totalNumber">
<el-input v-model="formData.totalNumber" placeholder="请输入总数量" />
</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 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="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 label="计件时间" prop="reportTime">
<el-input v-model="formData.reportTime" placeholder="请输入计件时间" />
@ -81,7 +77,7 @@
</Dialog>
</template>
<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'
/** 生产报工明细 表单 */
@ -119,7 +115,6 @@ const formRules = reactive({
productId: [{ required: true, message: '产品ID不能为空', trigger: 'blur' }],
userId: [{ required: true, message: '用户ID不能为空', trigger: 'blur' }],
orgId: [{ required: true, message: '组织ID不能为空', trigger: 'blur' }],
isEnable: [{ required: true, message: '是否启用不能为空', trigger: 'blur' }],
})
const formRef = ref() // Ref

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

@ -48,11 +48,7 @@
<el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" placeholder="请输入备注" />
</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>
<template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>
@ -61,7 +57,7 @@
</Dialog>
</template>
<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'
/** 生产报工单 表单 */
@ -83,7 +79,6 @@ const formData = ref({
status: undefined,
groupType: undefined,
remark: undefined,
isEnable: undefined,
})
const formRules = reactive({
workTeamId: [{ required: true, message: '组别ID不能为空', trigger: 'blur' }],
@ -91,7 +86,6 @@ const formRules = reactive({
reportDate: [{ required: true, message: '报工日期不能为空', trigger: 'blur' }],
status: [{ required: true, message: '状态不能为空', trigger: 'blur' }],
groupType: [{ required: true, message: '白班/夜班不能为空', trigger: 'change' }],
isEnable: [{ required: true, message: '是否启用不能为空', trigger: 'blur' }],
})
const formRef = ref() // Ref

@ -39,7 +39,7 @@
width="180px"
/>
<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">
<el-button
link

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

@ -10,7 +10,6 @@
<Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button>
<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="unitName" />
<el-table-column label="数量" align="center" prop="number" />
@ -27,8 +26,15 @@
:formatter="dateFormatter"
width="180px"
/>
<el-table-column label="操作" align="center">
<el-table-column label="操作" align="center" width="150px">
<template #default="scope">
<el-button
link
type="success"
v-hasPermi="['mes:task:update']"
>
物料
</el-button>
<el-button
link
type="primary"

@ -109,7 +109,6 @@
highlight-current-row
@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="orderDate" :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" />
</template>
</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="isEnable">
<template #default="scope">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.isEnable" />
</template>
</el-table-column>
<el-table-column
label="创建时间"
align="center"
prop="createTime"
:formatter="dateFormatter"
width="180px"
/>
<el-table-column label="操作" align="center" min-width="120px">
<el-table-column label="操作" align="center" min-width="200px">
<template #default="scope">
<el-button
link
@ -142,6 +134,21 @@
>
销售单
</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
link

@ -28,7 +28,13 @@
</el-form-item>
<el-form-item label="是否启用" prop="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-form-item>
</el-form>
@ -39,7 +45,7 @@
</Dialog>
</template>
<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'
/** 生产班组 表单 */

@ -50,16 +50,7 @@
class="!w-240px"
/>
</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-date-picker
v-model="queryParams.createTime"
@ -114,7 +105,11 @@
</template>
</el-table-column>
<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
label="创建时间"
align="center"

Loading…
Cancel
Save