feat(mes): 添加工序编号及名称,优化工作站相关功能

新增工序编号和名称字段,更新工作站相关逻辑以支持工序信息的处理。优化工作站的创建、更新和查询功能,确保工序信息的有效性和完整性。
pull/871/MERGE
YunaiV 2026-03-28 17:54:07 +08:00
parent 78e8ec1772
commit 1ad04812e1
7 changed files with 117 additions and 38 deletions

View File

@ -6,13 +6,14 @@
:rules="formRules" :rules="formRules"
label-width="100px" label-width="100px"
v-loading="formLoading" v-loading="formLoading"
:disabled="isDetail"
> >
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="工作站编码" prop="code"> <el-form-item label="工作站编码" prop="code">
<el-input v-model="formData.code" placeholder="请输入工作站编码"> <el-input v-model="formData.code" placeholder="请输入工作站编码">
<template #append> <template #append>
<el-button @click="generateCode" :disabled="formType === 'update'"> <el-button @click="generateCode" :disabled="formType !== 'create'">
生成 生成
</el-button> </el-button>
</template> </template>
@ -98,6 +99,16 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8">
<el-form-item label="所属工序" prop="processId">
<ProProcessSelect
v-model="formData.processId"
placeholder="请选择所属工序"
clearable
class="!w-1/1"
/>
</el-form-item>
</el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
@ -108,19 +119,21 @@
</el-row> </el-row>
</el-form> </el-form>
<!-- 编辑时显示子资源 Tab --> <!-- 编辑时显示子资源 Tab -->
<el-tabs v-if="formType === 'update'" v-model="activeTab" class="mt-10px"> <el-tabs v-if="formType !== 'create'" v-model="activeTab" class="mt-10px">
<el-tab-pane label="设备资源" name="machine"> <el-tab-pane label="设备资源" name="machine">
<WorkstationMachineList :workstation-id="formData.id!" /> <WorkstationMachineList :workstation-id="formData.id!" :formType="formType" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="工装夹具" name="tool"> <el-tab-pane label="工装夹具" name="tool">
<WorkstationToolList :workstation-id="formData.id!" /> <WorkstationToolList :workstation-id="formData.id!" :formType="formType" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="人力资源" name="worker"> <el-tab-pane label="人力资源" name="worker">
<WorkstationWorkerList :workstation-id="formData.id!" /> <WorkstationWorkerList :workstation-id="formData.id!" :formType="formType" />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<template #footer> <template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <el-button @click="submitForm" type="primary" :disabled="formLoading" v-if="!isDetail">
</el-button>
<el-button @click="dialogVisible = false"> </el-button> <el-button @click="dialogVisible = false"> </el-button>
</template> </template>
</Dialog> </Dialog>
@ -129,12 +142,14 @@
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
import { MdWorkstationApi, MdWorkstationVO } from '@/api/mes/md/workstation' import { MdWorkstationApi, MdWorkstationVO } from '@/api/mes/md/workstation'
import MdWorkshopSelect from '@/views/mes/md/workstation/components/MdWorkshopSelect.vue' import MdWorkshopSelect from '@/views/mes/md/workstation/components/MdWorkshopSelect.vue'
import ProProcessSelect from '@/views/mes/pro/process/components/ProProcessSelect.vue'
import WmWarehouseSelect from '@/views/mes/wm/warehouse/components/WmWarehouseSelect.vue' import WmWarehouseSelect from '@/views/mes/wm/warehouse/components/WmWarehouseSelect.vue'
import { WmWarehouseVO } from '@/api/mes/wm/warehouse' import { WmWarehouseVO } from '@/api/mes/wm/warehouse'
import { WmWarehouseLocationApi, WmWarehouseLocationVO } from '@/api/mes/wm/warehouse/location' import { WmWarehouseLocationApi, WmWarehouseLocationVO } from '@/api/mes/wm/warehouse/location'
import { WmWarehouseAreaApi, WmWarehouseAreaVO } from '@/api/mes/wm/warehouse/area' import { WmWarehouseAreaApi, WmWarehouseAreaVO } from '@/api/mes/wm/warehouse/area'
import { CommonStatusEnum } from '@/utils/constants' import { CommonStatusEnum } from '@/utils/constants'
import { generateRandomStr } from '@/utils' import { MesAutoCodeRuleCode } from '@/views/mes/utils/constants'
import { AutoCodeRecordApi } from '@/api/mes/md/autocode/record'
import WorkstationMachineList from './WorkstationMachineList.vue' import WorkstationMachineList from './WorkstationMachineList.vue'
import WorkstationToolList from './WorkstationToolList.vue' import WorkstationToolList from './WorkstationToolList.vue'
import WorkstationWorkerList from './WorkstationWorkerList.vue' import WorkstationWorkerList from './WorkstationWorkerList.vue'
@ -147,7 +162,8 @@ const message = useMessage() // 消息弹窗
const dialogVisible = ref(false) // const dialogVisible = ref(false) //
const dialogTitle = ref('') // const dialogTitle = ref('') //
const formLoading = ref(false) // 12 const formLoading = ref(false) // 12
const formType = ref('') // create - update - const formType = ref('') // create - update - detail -
const isDetail = computed(() => formType.value === 'detail')
const activeTab = ref('machine') // Tab const activeTab = ref('machine') // Tab
const locationList = ref<WmWarehouseLocationVO[]>([]) // const locationList = ref<WmWarehouseLocationVO[]>([]) //
const areaList = ref<WmWarehouseAreaVO[]>([]) // const areaList = ref<WmWarehouseAreaVO[]>([]) //
@ -168,13 +184,16 @@ const formRules = reactive({
code: [{ required: true, message: '工作站编码不能为空', trigger: 'blur' }], code: [{ required: true, message: '工作站编码不能为空', trigger: 'blur' }],
name: [{ required: true, message: '工作站名称不能为空', trigger: 'blur' }], name: [{ required: true, message: '工作站名称不能为空', trigger: 'blur' }],
workshopId: [{ required: true, message: '所在车间不能为空', trigger: 'change' }], workshopId: [{ required: true, message: '所在车间不能为空', trigger: 'change' }],
processId: [{ required: true, message: '所属工序不能为空', trigger: 'change' }],
status: [{ required: true, message: '状态不能为空', trigger: 'blur' }] status: [{ required: true, message: '状态不能为空', trigger: 'blur' }]
}) // }) //
const formRef = ref() // Ref const formRef = ref() // Ref
/** 生成工作站编码 */ /** 生成工作站编码 */
const generateCode = () => { const generateCode = async () => {
formData.value.code = 'WS' + generateRandomStr(12) formData.value.code = await AutoCodeRecordApi.generateAutoCode(
MesAutoCodeRuleCode.MD_WORKSTATION_CODE
)
} }
/** 加载库区列表 */ /** 加载库区列表 */

View File

@ -2,7 +2,14 @@
<template> <template>
<div> <div>
<!-- 操作栏 --> <!-- 操作栏 -->
<el-button type="primary" plain size="small" @click="openForm('create')" class="mb-10px"> <el-button
type="primary"
plain
size="small"
@click="openForm('create')"
class="mb-10px"
v-if="!isDetail"
>
<Icon icon="ep:plus" class="mr-5px" /> 添加设备 <Icon icon="ep:plus" class="mr-5px" /> 添加设备
</el-button> </el-button>
<!-- 列表 --> <!-- 列表 -->
@ -11,7 +18,7 @@
<el-table-column label="设备名称" align="center" prop="machineryName" /> <el-table-column label="设备名称" align="center" prop="machineryName" />
<el-table-column label="数量" align="center" prop="quantity" width="100" /> <el-table-column label="数量" align="center" prop="quantity" width="100" />
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" width="80"> <el-table-column label="操作" align="center" width="80" v-if="!isDetail">
<template #default="scope"> <template #default="scope">
<el-button link type="danger" @click="handleDelete(scope.row.id)"></el-button> <el-button link type="danger" @click="handleDelete(scope.row.id)"></el-button>
</template> </template>
@ -20,7 +27,13 @@
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
<Dialog :title="dialogTitle" v-model="dialogVisible" width="500px"> <Dialog :title="dialogTitle" v-model="dialogVisible" width="500px">
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="80px" v-loading="formLoading"> <el-form
ref="formRef"
:model="formData"
:rules="formRules"
label-width="80px"
v-loading="formLoading"
>
<el-form-item label="设备" prop="machineryId"> <el-form-item label="设备" prop="machineryId">
<!-- TODO @芋艿对接设备下拉列表 DV 设备模块完成后对接 --> <!-- TODO @芋艿对接设备下拉列表 DV 设备模块完成后对接 -->
<el-input-number <el-input-number
@ -56,10 +69,12 @@ defineOptions({ name: 'WorkstationMachineList' })
const props = defineProps<{ const props = defineProps<{
workstationId: number // workstationId: number //
formType: string //
}>() }>()
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const isDetail = computed(() => props.formType === 'detail') //
const loading = ref(false) // const loading = ref(false) //
const list = ref<MdWorkstationMachineVO[]>([]) // const list = ref<MdWorkstationMachineVO[]>([]) //
@ -77,7 +92,7 @@ const getList = async () => {
// ==================== / ==================== // ==================== / ====================
const dialogVisible = ref(false) // const dialogVisible = ref(false) //
const dialogTitle = ref('') // const dialogTitle = ref('') //
const formType = ref('') // create - update - const dialogFormType = ref('') // create - update -
const formLoading = ref(false) // const formLoading = ref(false) //
const formRef = ref() // Ref const formRef = ref() // Ref
const formData = ref({ const formData = ref({
@ -96,7 +111,7 @@ const formRules = reactive({
const openForm = (type: string) => { const openForm = (type: string) => {
dialogVisible.value = true dialogVisible.value = true
dialogTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type dialogFormType.value = type
resetForm() resetForm()
} }

View File

@ -2,7 +2,14 @@
<template> <template>
<div> <div>
<!-- 操作栏 --> <!-- 操作栏 -->
<el-button type="primary" plain size="small" @click="openForm('create')" class="mb-10px"> <el-button
type="primary"
plain
size="small"
@click="openForm('create')"
class="mb-10px"
v-if="!isDetail"
>
<Icon icon="ep:plus" class="mr-5px" /> 添加工具 <Icon icon="ep:plus" class="mr-5px" /> 添加工具
</el-button> </el-button>
<!-- 列表 --> <!-- 列表 -->
@ -11,7 +18,7 @@
<el-table-column label="工具类型名称" align="center" prop="toolTypeName" /> <el-table-column label="工具类型名称" align="center" prop="toolTypeName" />
<el-table-column label="数量" align="center" prop="quantity" width="100" /> <el-table-column label="数量" align="center" prop="quantity" width="100" />
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" width="120"> <el-table-column label="操作" align="center" width="120" v-if="!isDetail">
<template #default="scope"> <template #default="scope">
<el-button link type="primary" @click="openForm('update', scope.row)">编辑</el-button> <el-button link type="primary" @click="openForm('update', scope.row)">编辑</el-button>
<el-button link type="danger" @click="handleDelete(scope.row.id)"></el-button> <el-button link type="danger" @click="handleDelete(scope.row.id)"></el-button>
@ -34,7 +41,7 @@
v-model="formData.toolTypeId" v-model="formData.toolTypeId"
placeholder="请输入工具类型编号" placeholder="请输入工具类型编号"
class="!w-1/1" class="!w-1/1"
:disabled="formType === 'update'" :disabled="dialogFormType === 'update'"
/> />
</el-form-item> </el-form-item>
<el-form-item label="数量" prop="quantity"> <el-form-item label="数量" prop="quantity">
@ -64,10 +71,12 @@ defineOptions({ name: 'WorkstationToolList' })
const props = defineProps<{ const props = defineProps<{
workstationId: number // workstationId: number //
formType: string //
}>() }>()
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const isDetail = computed(() => props.formType === 'detail') //
const loading = ref(false) // const loading = ref(false) //
const list = ref<MdWorkstationToolVO[]>([]) // const list = ref<MdWorkstationToolVO[]>([]) //
@ -85,7 +94,7 @@ const getList = async () => {
// ==================== / ==================== // ==================== / ====================
const dialogVisible = ref(false) // const dialogVisible = ref(false) //
const dialogTitle = ref('') // const dialogTitle = ref('') //
const formType = ref('') // create - update - const dialogFormType = ref('') // create - update -
const formLoading = ref(false) // const formLoading = ref(false) //
const formRef = ref() // Ref const formRef = ref() // Ref
const formData = ref({ const formData = ref({
@ -104,7 +113,7 @@ const formRules = reactive({
const openForm = (type: string, row?: MdWorkstationToolVO) => { const openForm = (type: string, row?: MdWorkstationToolVO) => {
dialogVisible.value = true dialogVisible.value = true
dialogTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type dialogFormType.value = type
resetForm() resetForm()
// //
if (type === 'update' && row) { if (type === 'update' && row) {
@ -122,7 +131,7 @@ const submitForm = async () => {
formLoading.value = true formLoading.value = true
try { try {
const data = formData.value as unknown as MdWorkstationToolVO const data = formData.value as unknown as MdWorkstationToolVO
if (formType.value === 'create') { if (dialogFormType.value === 'create') {
await MdWorkstationToolApi.createWorkstationTool(data) await MdWorkstationToolApi.createWorkstationTool(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
} else { } else {

View File

@ -2,7 +2,14 @@
<template> <template>
<div> <div>
<!-- 操作栏 --> <!-- 操作栏 -->
<el-button type="primary" plain size="small" @click="openForm('create')" class="mb-10px"> <el-button
type="primary"
plain
size="small"
@click="openForm('create')"
class="mb-10px"
v-if="!isDetail"
>
<Icon icon="ep:plus" class="mr-5px" /> 添加人员 <Icon icon="ep:plus" class="mr-5px" /> 添加人员
</el-button> </el-button>
<!-- 列表 --> <!-- 列表 -->
@ -11,7 +18,7 @@
<el-table-column label="岗位名称" align="center" prop="postName" /> <el-table-column label="岗位名称" align="center" prop="postName" />
<el-table-column label="数量" align="center" prop="quantity" width="100" /> <el-table-column label="数量" align="center" prop="quantity" width="100" />
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" width="120"> <el-table-column label="操作" align="center" width="120" v-if="!isDetail">
<template #default="scope"> <template #default="scope">
<el-button link type="primary" @click="openForm('update', scope.row)">编辑</el-button> <el-button link type="primary" @click="openForm('update', scope.row)">编辑</el-button>
<el-button link type="danger" @click="handleDelete(scope.row.id)"></el-button> <el-button link type="danger" @click="handleDelete(scope.row.id)"></el-button>
@ -21,13 +28,15 @@
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
<Dialog :title="dialogTitle" v-model="dialogVisible" width="500px"> <Dialog :title="dialogTitle" v-model="dialogVisible" width="500px">
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="80px" v-loading="formLoading"> <el-form
ref="formRef"
:model="formData"
:rules="formRules"
label-width="80px"
v-loading="formLoading"
>
<el-form-item label="岗位" prop="postId"> <el-form-item label="岗位" prop="postId">
<el-select <el-select v-model="formData.postId" placeholder="请选择岗位" class="!w-1/1">
v-model="formData.postId"
placeholder="请选择岗位"
class="!w-1/1"
>
<el-option <el-option
v-for="post in postList" v-for="post in postList"
:key="post.id" :key="post.id"
@ -64,10 +73,12 @@ defineOptions({ name: 'WorkstationWorkerList' })
const props = defineProps<{ const props = defineProps<{
workstationId: number // workstationId: number //
formType: string //
}>() }>()
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
const isDetail = computed(() => props.formType === 'detail') //
const loading = ref(false) // const loading = ref(false) //
const list = ref<MdWorkstationWorkerVO[]>([]) // const list = ref<MdWorkstationWorkerVO[]>([]) //
@ -86,7 +97,7 @@ const getList = async () => {
// ==================== / ==================== // ==================== / ====================
const dialogVisible = ref(false) // const dialogVisible = ref(false) //
const dialogTitle = ref('') // const dialogTitle = ref('') //
const formType = ref('') // create - update - const dialogFormType = ref('') // create - update -
const formLoading = ref(false) // const formLoading = ref(false) //
const formRef = ref() // Ref const formRef = ref() // Ref
const formData = ref({ const formData = ref({
@ -105,7 +116,7 @@ const formRules = reactive({
const openForm = async (type: string, row?: MdWorkstationWorkerVO) => { const openForm = async (type: string, row?: MdWorkstationWorkerVO) => {
dialogVisible.value = true dialogVisible.value = true
dialogTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type dialogFormType.value = type
resetForm() resetForm()
// //
postList.value = await PostApi.getSimplePostList() postList.value = await PostApi.getSimplePostList()
@ -125,7 +136,7 @@ const submitForm = async () => {
formLoading.value = true formLoading.value = true
try { try {
const data = formData.value as unknown as MdWorkstationWorkerVO const data = formData.value as unknown as MdWorkstationWorkerVO
if (formType.value === 'create') { if (dialogFormType.value === 'create') {
await MdWorkstationWorkerApi.createWorkstationWorker(data) await MdWorkstationWorkerApi.createWorkstationWorker(data)
message.success(t('common.createSuccess')) message.success(t('common.createSuccess'))
} else { } else {

View File

@ -29,6 +29,9 @@
<el-form-item label="所在车间" prop="workshopId"> <el-form-item label="所在车间" prop="workshopId">
<MdWorkshopSelect v-model="queryParams.workshopId" placeholder="请选择车间" clearable class="!w-240px" /> <MdWorkshopSelect v-model="queryParams.workshopId" placeholder="请选择车间" clearable class="!w-240px" />
</el-form-item> </el-form-item>
<el-form-item label="所属工序" prop="processId">
<ProProcessSelect v-model="queryParams.processId" placeholder="请选择工序" clearable class="!w-240px" />
</el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px"> <el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px">
<el-option <el-option
@ -66,11 +69,17 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<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="工作站编码" align="center" prop="code" min-width="120" /> <el-table-column label="工作站编码" align="center" prop="code" min-width="120">
<template #default="scope">
<el-link type="primary" @click="openForm('detail', scope.row.id)">
{{ scope.row.code }}
</el-link>
</template>
</el-table-column>
<el-table-column label="工作站名称" align="center" prop="name" min-width="150" /> <el-table-column label="工作站名称" align="center" prop="name" min-width="150" />
<el-table-column label="工作站地点" align="center" prop="address" min-width="150" /> <el-table-column label="工作站地点" align="center" prop="address" min-width="150" />
<el-table-column label="所在车间" align="center" prop="workshopName" min-width="120" /> <el-table-column label="所在车间" align="center" prop="workshopName" min-width="120" />
<!-- TODO @芋艿所属工序等工序模块完成后对接 --> <el-table-column label="所属工序" align="center" prop="processName" min-width="120" />
<el-table-column label="状态" align="center" prop="status" min-width="100"> <el-table-column label="状态" align="center" prop="status" min-width="100">
<template #default="scope"> <template #default="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" /> <dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
@ -101,6 +110,7 @@
> >
删除 删除
</el-button> </el-button>
<!-- TODO @芋艿对齐后续搞标签打印 -->
<el-button <el-button
link link
type="primary" type="primary"
@ -132,6 +142,7 @@ import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download' import download from '@/utils/download'
import { MdWorkstationApi, MdWorkstationVO } from '@/api/mes/md/workstation' import { MdWorkstationApi, MdWorkstationVO } from '@/api/mes/md/workstation'
import MdWorkshopSelect from './components/MdWorkshopSelect.vue' import MdWorkshopSelect from './components/MdWorkshopSelect.vue'
import ProProcessSelect from '@/views/mes/pro/process/components/ProProcessSelect.vue'
import WorkstationForm from './WorkstationForm.vue' import WorkstationForm from './WorkstationForm.vue'
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import { BarcodeDetail } from '@/views/mes/wm/barcode/components' import { BarcodeDetail } from '@/views/mes/wm/barcode/components'
@ -151,6 +162,7 @@ const queryParams = reactive({
code: undefined, code: undefined,
name: undefined, name: undefined,
workshopId: undefined, workshopId: undefined,
processId: undefined,
status: undefined status: undefined
}) })
const queryFormRef = ref() // const queryFormRef = ref() //

View File

@ -416,6 +416,7 @@ export const MesAutoCodeRuleCode = {
MD_ITEM_CODE: 'MD_ITEM_CODE', // 物料编码 MD_ITEM_CODE: 'MD_ITEM_CODE', // 物料编码
MD_VENDOR_CODE: 'MD_VENDOR_CODE', // 供应商编码 MD_VENDOR_CODE: 'MD_VENDOR_CODE', // 供应商编码
MD_CLIENT_CODE: 'MD_CLIENT_CODE', // 客户编码 MD_CLIENT_CODE: 'MD_CLIENT_CODE', // 客户编码
MD_WORKSTATION_CODE: 'MD_WORKSTATION_CODE', // 工作站编码
WM_SN_CODE: 'WM_SN_CODE', // SN 码 WM_SN_CODE: 'WM_SN_CODE', // SN 码
WM_PACKAGE_CODE: 'WM_PACKAGE_CODE', // 装箱单编码 WM_PACKAGE_CODE: 'WM_PACKAGE_CODE', // 装箱单编码
WM_BATCH_CODE: 'WM_BATCH_CODE', // 批次编码 WM_BATCH_CODE: 'WM_BATCH_CODE', // 批次编码

View File

@ -118,7 +118,12 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select v-model="formData.status" placeholder="请选择" class="!w-1/1" :disabled="isDetail"> <el-select
v-model="formData.status"
placeholder="请选择"
class="!w-1/1"
:disabled="isDetail"
>
<el-option <el-option
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
:key="dict.value" :key="dict.value"
@ -149,15 +154,22 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="formData.remark" type="textarea" placeholder="请输入备注" :disabled="isDetail" /> <el-input
v-model="formData.remark"
type="textarea"
placeholder="请输入备注"
:disabled="isDetail"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<template #footer> <template #footer>
<!-- TODO @芋艿barcodeimg --> <!-- TODO @芋艿barcodeimg -->
<el-button v-if="!isDetail" @click="submitForm" type="primary" :disabled="formLoading"> </el-button> <el-button v-if="!isDetail" @click="submitForm" type="primary" :disabled="formLoading">
<el-button @click="dialogVisible = false">{{ isDetail ? '关 闭' : '取 消' }}</el-button>
</el-button>
<el-button @click="dialogVisible = false"> </el-button>
</template> </template>
</Dialog> </Dialog>
</template> </template>