| | |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="PlcId" prop="plcId"> |
| | | <el-select clearable filterable v-model="ruleForm.plcId" placeholder="请选择PlcId"> |
| | | <el-option v-for="(item,index) in wcsPlcPlcIdDropdownList" :key="index" :value="item.value" :label="item.label" /> |
| | | |
| | | <el-option v-for="(item, index) in wcsPlcPlcIdDropdownList" :key="index" |
| | | :value="item.value" :label="item.label" /> |
| | | |
| | | </el-select> |
| | | |
| | | |
| | | </el-form-item> |
| | | |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="设备级别" prop="level"> |
| | | <el-select clearable v-model="ruleForm.level" placeholder="请选择设备级别"> |
| | | <el-option v-for="(item,index) in dl('DeviceLevelEnum')" :key="index" :value="Number(item.value)" :label="`${item.name} (${item.code}) [${item.value}]`"></el-option> |
| | | |
| | | <el-option v-for="(item, index) in dl('DeviceLevelEnum')" :key="index" |
| | | :value="Number(item.value)" |
| | | :label="`${item.name} (${item.code}) [${item.value}]`"></el-option> |
| | | |
| | | </el-select> |
| | | |
| | | |
| | | </el-form-item> |
| | | |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="DB区域" prop="dbNumber"> |
| | | <el-input v-model="ruleForm.dbNumber" placeholder="请输入DB区域" maxlength="10" show-word-limit clearable /> |
| | | |
| | | <el-input v-model="ruleForm.dbNumber" placeholder="请输入DB区域" maxlength="10" show-word-limit |
| | | clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="工位号" prop="stationNum"> |
| | | <el-input v-model="ruleForm.stationNum" placeholder="请输入工位号" maxlength="4" show-word-limit clearable /> |
| | | |
| | | <el-input v-model="ruleForm.stationNum" placeholder="请输入工位号" maxlength="4" show-word-limit |
| | | clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="PLC偏移量" prop="plcPos"> |
| | | <el-input v-model="ruleForm.plcPos" placeholder="请输入PLC偏移量" maxlength="10" show-word-limit clearable /> |
| | | |
| | | <el-input v-model="ruleForm.plcPos" placeholder="请输入PLC偏移量" maxlength="10" show-word-limit |
| | | clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="WCS偏移量" prop="wcsPos"> |
| | | <el-input v-model="ruleForm.wcsPos" placeholder="请输入WCS偏移量" maxlength="10" show-word-limit clearable /> |
| | | |
| | | <el-input v-model="ruleForm.wcsPos" placeholder="请输入WCS偏移量" maxlength="10" show-word-limit |
| | | clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="流程字类型" prop="posType"> |
| | | <el-input v-model="ruleForm.posType" placeholder="请输入流程字类型" maxlength="10" show-word-limit clearable /> |
| | | |
| | | <el-select clearable v-model="ruleForm.posType" placeholder="请选择流程字类型"> |
| | | <el-option v-for="(item, index) in dl('PLCDataTypeEnum')" :key="index" |
| | | :value="Number(item.value)" |
| | | :label="`${item.name} (${item.code}) [${item.value}]`"></el-option> |
| | | |
| | | </el-select> |
| | | |
| | | </el-form-item> |
| | | |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="显示屏ip地址" prop="ledIP"> |
| | | <el-input v-model="ruleForm.ledIP" placeholder="请输入显示屏ip地址" maxlength="50" show-word-limit clearable /> |
| | | |
| | | <el-input v-model="ruleForm.ledIP" placeholder="请输入显示屏ip地址" maxlength="50" show-word-limit |
| | | clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | |
| | | </el-col> |
| | | <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> |
| | | <el-form-item label="描述" prop="text"> |
| | | <el-input v-model="ruleForm.text" placeholder="请输入描述" maxlength="20" show-word-limit clearable /> |
| | | |
| | | <el-input v-model="ruleForm.text" placeholder="请输入描述" maxlength="20" show-word-limit |
| | | clearable /> |
| | | |
| | | </el-form-item> |
| | | |
| | | |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | |
| | | } |
| | | </style> |
| | | <script lang="ts" setup> |
| | | import { ref,onMounted } from "vue"; |
| | | import { ElMessage } from "element-plus"; |
| | | import type { FormRules } from "element-plus"; |
| | | import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; |
| | | import { getDictLabelByVal as dv } from '/@/utils/dict-utils'; |
| | | import { formatDate } from '/@/utils/formatTime'; |
| | | import { addWcsDevice, updateWcsDevice, detailWcsDevice } from "/@/api/wcs/wcsDevice"; |
| | | import { getWcsPlcPlcIdDropdown } from '/@/api/wcs/wcsDevice'; |
| | | import { getAPI } from '/@/utils/axios-utils'; |
| | | import { SysEnumApi } from '/@/api-services/api'; |
| | | import { ref, onMounted } from "vue"; |
| | | import { ElMessage } from "element-plus"; |
| | | import type { FormRules } from "element-plus"; |
| | | import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; |
| | | import { getDictLabelByVal as dv } from '/@/utils/dict-utils'; |
| | | import { formatDate } from '/@/utils/formatTime'; |
| | | import { addWcsDevice, updateWcsDevice, detailWcsDevice } from "/@/api/wcs/wcsDevice"; |
| | | import { getWcsPlcPlcIdDropdown } from '/@/api/wcs/wcsDevice'; |
| | | import { getAPI } from '/@/utils/axios-utils'; |
| | | import { SysEnumApi } from '/@/api-services/api'; |
| | | |
| | | //父级传递来的参数 |
| | | var props = defineProps({ |
| | | title: { |
| | | //父级传递来的参数 |
| | | var props = defineProps({ |
| | | title: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | }); |
| | | //父级传递来的函数,用于回调 |
| | | const emit = defineEmits(["reloadTable"]); |
| | | const ruleFormRef = ref(); |
| | | const isShowDialog = ref(false); |
| | | const ruleForm = ref<any>({}); |
| | | //自行添加其他规则 |
| | | const rules = ref<FormRules>({ |
| | | }); |
| | | }); |
| | | //父级传递来的函数,用于回调 |
| | | const emit = defineEmits(["reloadTable"]); |
| | | const ruleFormRef = ref(); |
| | | const isShowDialog = ref(false); |
| | | const ruleForm = ref<any>({}); |
| | | //自行添加其他规则 |
| | | const rules = ref<FormRules>({ |
| | | }); |
| | | |
| | | // 页面加载时 |
| | | onMounted(() => { |
| | | // 页面加载时 |
| | | onMounted(() => { |
| | | |
| | | }); |
| | | }); |
| | | |
| | | // 打开弹窗 |
| | | const openDialog = async (row: any) => { |
| | | // ruleForm.value = JSON.parse(JSON.stringify(row)); |
| | | // 改用detail获取最新数据来编辑 |
| | | let rowData = JSON.parse(JSON.stringify(row)); |
| | | if (rowData.id) |
| | | ruleForm.value = (await detailWcsDevice(rowData.id)).data.result; |
| | | else |
| | | ruleForm.value = rowData; |
| | | isShowDialog.value = true; |
| | | }; |
| | | // 打开弹窗 |
| | | const openDialog = async (row: any) => { |
| | | // ruleForm.value = JSON.parse(JSON.stringify(row)); |
| | | // 改用detail获取最新数据来编辑 |
| | | let rowData = JSON.parse(JSON.stringify(row)); |
| | | if (rowData.id) |
| | | ruleForm.value = (await detailWcsDevice(rowData.id)).data.result; |
| | | else |
| | | ruleForm.value = rowData; |
| | | isShowDialog.value = true; |
| | | }; |
| | | |
| | | // 关闭弹窗 |
| | | const closeDialog = () => { |
| | | emit("reloadTable"); |
| | | isShowDialog.value = false; |
| | | }; |
| | | // 关闭弹窗 |
| | | const closeDialog = () => { |
| | | emit("reloadTable"); |
| | | isShowDialog.value = false; |
| | | }; |
| | | |
| | | // 取消 |
| | | const cancel = () => { |
| | | isShowDialog.value = false; |
| | | }; |
| | | // 取消 |
| | | const cancel = () => { |
| | | isShowDialog.value = false; |
| | | }; |
| | | |
| | | // 提交 |
| | | const submit = async () => { |
| | | ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => { |
| | | if (isValid) { |
| | | let values = ruleForm.value; |
| | | if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) { |
| | | await addWcsDevice(values); |
| | | } else { |
| | | await updateWcsDevice(values); |
| | | } |
| | | closeDialog(); |
| | | // 提交 |
| | | const submit = async () => { |
| | | ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => { |
| | | if (isValid) { |
| | | let values = ruleForm.value; |
| | | if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) { |
| | | await addWcsDevice(values); |
| | | } else { |
| | | ElMessage({ |
| | | message: `表单有${Object.keys(fields).length}处验证失败,请修改后再提交`, |
| | | type: "error", |
| | | }); |
| | | await updateWcsDevice(values); |
| | | } |
| | | }); |
| | | }; |
| | | closeDialog(); |
| | | } else { |
| | | ElMessage({ |
| | | message: `表单有${Object.keys(fields).length}处验证失败,请修改后再提交`, |
| | | type: "error", |
| | | }); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | const wcsPlcPlcIdDropdownList = ref<any>([]); |
| | | const getWcsPlcPlcIdDropdownList = async () => { |
| | | let list = await getWcsPlcPlcIdDropdown(); |
| | | wcsPlcPlcIdDropdownList.value = list.data.result ?? []; |
| | | }; |
| | | getWcsPlcPlcIdDropdownList(); |
| | | |
| | | const wcsPlcPlcIdDropdownList = ref<any>([]); |
| | | const getWcsPlcPlcIdDropdownList = async () => { |
| | | let list = await getWcsPlcPlcIdDropdown(); |
| | | wcsPlcPlcIdDropdownList.value = list.data.result ?? []; |
| | | }; |
| | | getWcsPlcPlcIdDropdownList(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //将属性或者函数暴露给父组件 |
| | | defineExpose({ openDialog }); |
| | | |
| | | //将属性或者函数暴露给父组件 |
| | | defineExpose({ openDialog }); |
| | | </script> |
| | | |
| | | |
| | | |
| | | |