|
|
|
|
@ -1,12 +1,6 @@
|
|
|
|
|
<template>
|
|
|
|
|
<Dialog :title="dialogTitle" v-model="dialogVisible">
|
|
|
|
|
<el-form
|
|
|
|
|
ref="formRef"
|
|
|
|
|
:model="formData"
|
|
|
|
|
:rules="formRules"
|
|
|
|
|
label-width="110px"
|
|
|
|
|
v-loading="formLoading"
|
|
|
|
|
>
|
|
|
|
|
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="110px" v-loading="formLoading">
|
|
|
|
|
<el-form-item label="名称" prop="name">
|
|
|
|
|
<el-input v-model="formData.name" placeholder="请输入名称" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
@ -17,57 +11,37 @@
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="设备列表" prop="deviceList">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="formData.deviceList"
|
|
|
|
|
multiple
|
|
|
|
|
filterable
|
|
|
|
|
clearable
|
|
|
|
|
placeholder="请选择设备列表"
|
|
|
|
|
class="!w-full"
|
|
|
|
|
>
|
|
|
|
|
<el-option v-for="item in deviceOptions" :key="String(item.id)" :label="item.deviceName" :value="String(item.id)" />
|
|
|
|
|
<el-select v-model="formData.deviceList" multiple filterable clearable placeholder="请选择设备列表" class="!w-full">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in deviceOptions" :key="String(item.id)" :label="item.deviceName"
|
|
|
|
|
:value="String(item.id)" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="项目表单" prop="projectForm">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="formData.projectForm"
|
|
|
|
|
multiple
|
|
|
|
|
filterable
|
|
|
|
|
clearable
|
|
|
|
|
placeholder="请选择项目表单"
|
|
|
|
|
class="!w-full"
|
|
|
|
|
>
|
|
|
|
|
<el-option v-for="item in planOptions" :key="String(item.id)" :label="item.planName" :value="String(item.id)" />
|
|
|
|
|
<el-select v-model="formData.projectForm" multiple filterable clearable placeholder="请选择项目表单" class="!w-full">
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in planOptions" :key="String(item.id)" :label="item.planName"
|
|
|
|
|
:value="String(item.id)" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="起止日期" prop="dateRange">
|
|
|
|
|
<el-date-picker
|
|
|
|
|
v-model="formData.dateRange"
|
|
|
|
|
value-format="YYYY-MM-DD"
|
|
|
|
|
type="daterange"
|
|
|
|
|
start-placeholder="开始日期"
|
|
|
|
|
end-placeholder="结束日期"
|
|
|
|
|
class="!w-320px"
|
|
|
|
|
/>
|
|
|
|
|
v-model="formData.dateRange" value-format="YYYY-MM-DD" type="daterange" start-placeholder="开始日期"
|
|
|
|
|
end-placeholder="结束日期" class="!w-320px" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="cron 表达式" prop="cronExpression">
|
|
|
|
|
<crontab v-model="formData.cronExpression" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="可操作人" prop="operableUsers">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="formData.operableUsers"
|
|
|
|
|
multiple
|
|
|
|
|
filterable
|
|
|
|
|
clearable
|
|
|
|
|
placeholder="请选择可操作人"
|
|
|
|
|
class="!w-full"
|
|
|
|
|
>
|
|
|
|
|
<el-select v-model="formData.operableUsers" multiple filterable clearable placeholder="请选择可操作人" class="!w-full">
|
|
|
|
|
<el-option v-for="item in users" :key="String(item.id)" :label="item.nickname" :value="String(item.id)" />
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="是否启用" prop="enabled">
|
|
|
|
|
<el-radio-group v-model="formData.enabled">
|
|
|
|
|
<el-radio v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)" :key="String(dict.value)" :label="dict.value">
|
|
|
|
|
<el-radio
|
|
|
|
|
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)" :key="String(dict.value)"
|
|
|
|
|
:label="dict.value">
|
|
|
|
|
{{ dict.label }}
|
|
|
|
|
</el-radio>
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
@ -82,9 +56,9 @@
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
|
|
import { DICT_TYPE, getBoolDictOptions } from '@/utils/dict'
|
|
|
|
|
import { TaskManagementApi, TaskManagementVO } from '@/api/mes/taskManagement'
|
|
|
|
|
import { DeviceLedgerApi } from '@/api/mes/deviceledger'
|
|
|
|
|
import { PlanMaintenanceApi } from '@/api/mes/planmaintenance'
|
|
|
|
|
import { TaskManagementApi, TaskManagementVO } from '@/api/mold/taskManagement'
|
|
|
|
|
import { MoldBrandApi } from '@/api/erp/mold'
|
|
|
|
|
import { PlanMaintenanceApi } from '@/api/mold/planmaintenance'
|
|
|
|
|
import { getSimpleUserList, UserVO } from '@/api/system/user'
|
|
|
|
|
|
|
|
|
|
defineOptions({ name: 'MoldTaskConfigurationForm' })
|
|
|
|
|
@ -128,8 +102,8 @@ const toCommaSeparatedIds = (value: any): string | undefined => {
|
|
|
|
|
|
|
|
|
|
const ensureOptionsLoaded = async () => {
|
|
|
|
|
const [deviceRes, planRes, userRes] = await Promise.all([
|
|
|
|
|
DeviceLedgerApi.getDeviceLedgerPage({}),
|
|
|
|
|
PlanMaintenanceApi.getPlanMaintenancePage({ pageNo: 1, pageSize: 100 }),
|
|
|
|
|
MoldBrandApi.getMoldPage({}),
|
|
|
|
|
PlanMaintenanceApi.getPlanMaintenancePage({}),
|
|
|
|
|
getSimpleUserList()
|
|
|
|
|
])
|
|
|
|
|
deviceOptions.value = (deviceRes?.list ?? []) as DeviceOption[]
|
|
|
|
|
@ -152,7 +126,9 @@ const formData = ref({
|
|
|
|
|
const formRules = reactive({
|
|
|
|
|
name: [{ required: true, message: '名称不能为空', trigger: 'blur' }],
|
|
|
|
|
taskType: [{ required: true, message: '类型不能为空', trigger: 'change' }],
|
|
|
|
|
enabled: [{ required: true, message: '是否启用不能为空', trigger: 'change' }]
|
|
|
|
|
enabled: [{ required: true, message: '是否启用不能为空', trigger: 'change' }],
|
|
|
|
|
deviceList: [{ required: true, message: '设备列表不能为空', trigger: 'change' }],
|
|
|
|
|
projectForm: [{ required: true, message: '项目表单不能为空', trigger: 'change' }],
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const resetForm = () => {
|
|
|
|
|
@ -242,4 +218,3 @@ const submitForm = async () => {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|