fix(mes): 修复工艺路线前端 TODO,补全注释与交互优化
- API 文件(4 个)补充 VO 字段注释和方法注释,新增 updateRouteStatus 方法 - index.vue 字段加"工艺路线"前缀,状态列改为 el-switch 开关操作 - RouteForm.vue 补充行内注释,status 默认值改用 CommonStatusEnum.ENABLE - RouteProcessList/ProductList/ProductBomList 补充变量行内注释 - CalendarTypeView/TeamView 修复 ESLint 问题pull/871/MERGE
parent
0da99069c5
commit
e94f2d4fee
|
|
@ -1,35 +1,54 @@
|
|||
import request from '@/config/axios'
|
||||
|
||||
// TODO @AI:参考别的 api 文件,需要有一些注释
|
||||
// MES 工艺路线 VO
|
||||
export interface ProRouteVO {
|
||||
id?: number
|
||||
code: string
|
||||
name: string
|
||||
description?: string
|
||||
status: number
|
||||
remark?: string
|
||||
createTime?: Date
|
||||
id?: number // 编号
|
||||
code: string // 工艺路线编码
|
||||
name: string // 工艺路线名称
|
||||
description?: string // 工艺路线说明
|
||||
status: number // 状态
|
||||
remark?: string // 备注
|
||||
createTime?: Date // 创建时间
|
||||
}
|
||||
|
||||
// MES 工艺路线 API
|
||||
export const ProRouteApi = {
|
||||
// 查询工艺路线分页
|
||||
getRoutePage: async (params: any) => {
|
||||
return await request.get({ url: `/mes/pro/route/page`, params })
|
||||
},
|
||||
|
||||
// 查询工艺路线精简列表
|
||||
getRouteSimpleList: async () => {
|
||||
return await request.get({ url: `/mes/pro/route/simple-list` })
|
||||
},
|
||||
|
||||
// 查询工艺路线详情
|
||||
getRoute: async (id: number) => {
|
||||
return await request.get({ url: `/mes/pro/route/get?id=` + id })
|
||||
},
|
||||
|
||||
// 新增工艺路线
|
||||
createRoute: async (data: ProRouteVO) => {
|
||||
return await request.post({ url: `/mes/pro/route/create`, data })
|
||||
},
|
||||
|
||||
// 修改工艺路线
|
||||
updateRoute: async (data: ProRouteVO) => {
|
||||
return await request.put({ url: `/mes/pro/route/update`, data })
|
||||
},
|
||||
|
||||
// 修改工艺路线状态
|
||||
updateRouteStatus: async (id: number, status: number) => {
|
||||
return await request.put({ url: `/mes/pro/route/update-status?id=` + id + `&status=` + status })
|
||||
},
|
||||
|
||||
// 删除工艺路线
|
||||
deleteRoute: async (id: number) => {
|
||||
return await request.delete({ url: `/mes/pro/route/delete?id=` + id })
|
||||
},
|
||||
|
||||
// 导出工艺路线 Excel
|
||||
exportRoute: async (params: any) => {
|
||||
return await request.download({ url: `/mes/pro/route/export-excel`, params })
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,38 +1,48 @@
|
|||
import request from '@/config/axios'
|
||||
|
||||
// TODO @AI:参考别的 api 文件,需要有一些注释
|
||||
// MES 工艺路线工序 VO
|
||||
export interface ProRouteProcessVO {
|
||||
id?: number
|
||||
routeId: number
|
||||
processId: number
|
||||
processCode?: string
|
||||
processName?: string
|
||||
sort: number
|
||||
nextProcessId?: number
|
||||
nextProcessName?: string
|
||||
linkType: number
|
||||
prepareTime?: number
|
||||
waitTime?: number
|
||||
colorCode?: string
|
||||
keyFlag?: number
|
||||
checkFlag?: number
|
||||
remark?: string
|
||||
createTime?: Date
|
||||
id?: number // 编号
|
||||
routeId: number // 工艺路线编号
|
||||
processId: number // 工序编号
|
||||
processCode?: string // 工序编码
|
||||
processName?: string // 工序名称
|
||||
sort: number // 序号
|
||||
nextProcessId?: number // 下一道工序编号
|
||||
nextProcessName?: string // 下一道工序名称
|
||||
linkType: number // 与下一道工序关系
|
||||
prepareTime?: number // 准备时间(分钟)
|
||||
waitTime?: number // 等待时间(分钟)
|
||||
colorCode?: string // 甘特图显示颜色
|
||||
keyFlag?: number // 是否关键工序
|
||||
checkFlag?: number // 是否质检工序
|
||||
remark?: string // 备注
|
||||
createTime?: Date // 创建时间
|
||||
}
|
||||
|
||||
// MES 工艺路线工序 API
|
||||
export const ProRouteProcessApi = {
|
||||
// 按工艺路线查询工序列表
|
||||
getRouteProcessListByRoute: async (routeId: number) => {
|
||||
return await request.get({ url: `/mes/pro/route-process/list-by-route?routeId=` + routeId })
|
||||
},
|
||||
|
||||
// 查询工艺路线工序详情
|
||||
getRouteProcess: async (id: number) => {
|
||||
return await request.get({ url: `/mes/pro/route-process/get?id=` + id })
|
||||
},
|
||||
|
||||
// 新增工艺路线工序
|
||||
createRouteProcess: async (data: ProRouteProcessVO) => {
|
||||
return await request.post({ url: `/mes/pro/route-process/create`, data })
|
||||
},
|
||||
|
||||
// 修改工艺路线工序
|
||||
updateRouteProcess: async (data: ProRouteProcessVO) => {
|
||||
return await request.put({ url: `/mes/pro/route-process/update`, data })
|
||||
},
|
||||
|
||||
// 删除工艺路线工序
|
||||
deleteRouteProcess: async (id: number) => {
|
||||
return await request.delete({ url: `/mes/pro/route-process/delete?id=` + id })
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,34 +1,44 @@
|
|||
import request from '@/config/axios'
|
||||
|
||||
// TODO @AI:参考别的 api 文件,需要有一些注释
|
||||
// MES 工艺路线产品 VO
|
||||
export interface ProRouteProductVO {
|
||||
id?: number
|
||||
routeId: number
|
||||
itemId: number
|
||||
itemCode?: string
|
||||
itemName?: string
|
||||
specification?: string
|
||||
unitName?: string
|
||||
quantity?: number
|
||||
productionTime?: number
|
||||
timeUnitType?: number
|
||||
remark?: string
|
||||
createTime?: Date
|
||||
id?: number // 编号
|
||||
routeId: number // 工艺路线编号
|
||||
itemId: number // 产品物料编号
|
||||
itemCode?: string // 产品编码
|
||||
itemName?: string // 产品名称
|
||||
specification?: string // 规格型号
|
||||
unitName?: string // 单位名称
|
||||
quantity?: number // 生产数量
|
||||
productionTime?: number // 生产用时
|
||||
timeUnitType?: number // 时间单位
|
||||
remark?: string // 备注
|
||||
createTime?: Date // 创建时间
|
||||
}
|
||||
|
||||
// MES 工艺路线产品 API
|
||||
export const ProRouteProductApi = {
|
||||
// 按工艺路线查询产品列表
|
||||
getRouteProductListByRoute: async (routeId: number) => {
|
||||
return await request.get({ url: `/mes/pro/route-product/list-by-route?routeId=` + routeId })
|
||||
},
|
||||
|
||||
// 查询工艺路线产品详情
|
||||
getRouteProduct: async (id: number) => {
|
||||
return await request.get({ url: `/mes/pro/route-product/get?id=` + id })
|
||||
},
|
||||
|
||||
// 新增工艺路线产品
|
||||
createRouteProduct: async (data: ProRouteProductVO) => {
|
||||
return await request.post({ url: `/mes/pro/route-product/create`, data })
|
||||
},
|
||||
|
||||
// 修改工艺路线产品
|
||||
updateRouteProduct: async (data: ProRouteProductVO) => {
|
||||
return await request.put({ url: `/mes/pro/route-product/update`, data })
|
||||
},
|
||||
|
||||
// 删除工艺路线产品
|
||||
deleteRouteProduct: async (id: number) => {
|
||||
return await request.delete({ url: `/mes/pro/route-product/delete?id=` + id })
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,34 +1,44 @@
|
|||
import request from '@/config/axios'
|
||||
|
||||
// TODO @AI:参考别的 api 文件,需要有一些注释
|
||||
// MES 工艺路线产品 BOM VO
|
||||
export interface ProRouteProductBomVO {
|
||||
id?: number
|
||||
routeId: number
|
||||
processId: number
|
||||
productId: number
|
||||
itemId: number
|
||||
itemCode?: string
|
||||
itemName?: string
|
||||
specification?: string
|
||||
unitName?: string
|
||||
quantity?: number
|
||||
remark?: string
|
||||
createTime?: Date
|
||||
id?: number // 编号
|
||||
routeId: number // 工艺路线编号
|
||||
processId: number // 工序编号
|
||||
productId: number // 产品物料编号
|
||||
itemId: number // BOM 物料编号
|
||||
itemCode?: string // 物料编码
|
||||
itemName?: string // 物料名称
|
||||
specification?: string // 规格型号
|
||||
unitName?: string // 单位名称
|
||||
quantity?: number // 用料比例
|
||||
remark?: string // 备注
|
||||
createTime?: Date // 创建时间
|
||||
}
|
||||
|
||||
// MES 工艺路线产品 BOM API
|
||||
export const ProRouteProductBomApi = {
|
||||
// 查询工艺路线产品 BOM 列表
|
||||
getRouteProductBomList: async (params: { routeId: number; processId?: number; productId?: number }) => {
|
||||
return await request.get({ url: `/mes/pro/route-product-bom/list`, params })
|
||||
},
|
||||
|
||||
// 查询工艺路线产品 BOM 详情
|
||||
getRouteProductBom: async (id: number) => {
|
||||
return await request.get({ url: `/mes/pro/route-product-bom/get?id=` + id })
|
||||
},
|
||||
|
||||
// 新增工艺路线产品 BOM
|
||||
createRouteProductBom: async (data: ProRouteProductBomVO) => {
|
||||
return await request.post({ url: `/mes/pro/route-product-bom/create`, data })
|
||||
},
|
||||
|
||||
// 修改工艺路线产品 BOM
|
||||
updateRouteProductBom: async (data: ProRouteProductBomVO) => {
|
||||
return await request.put({ url: `/mes/pro/route-product-bom/update`, data })
|
||||
},
|
||||
|
||||
// 删除工艺路线产品 BOM
|
||||
deleteRouteProductBom: async (id: number) => {
|
||||
return await request.delete({ url: `/mes/pro/route-product-bom/delete?id=` + id })
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@
|
|||
|
||||
<script setup lang="ts">
|
||||
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
|
||||
import { CommonStatusEnum } from '@/utils/constants'
|
||||
import { generateRandomStr } from '@/utils'
|
||||
import { ProRouteApi, ProRouteVO } from '@/api/mes/pro/route'
|
||||
import RouteProcessList from './RouteProcessList.vue'
|
||||
|
|
@ -79,21 +80,20 @@ import RouteProductList from './RouteProductList.vue'
|
|||
|
||||
defineOptions({ name: 'RouteForm' })
|
||||
|
||||
// TODO @AI:注释参考 /Users/yunai/Java/yudao-all-in-one/yudao-ui-admin-vue3/src/views/mes/qc/template/TemplateForm.vue
|
||||
const { t } = useI18n()
|
||||
const message = useMessage()
|
||||
const { t } = useI18n() // 国际化
|
||||
const message = useMessage() // 消息弹窗
|
||||
|
||||
const dialogVisible = ref(false)
|
||||
const dialogTitle = ref('')
|
||||
const formLoading = ref(false)
|
||||
const formType = ref('')
|
||||
const activeTab = ref('process')
|
||||
const dialogVisible = ref(false) // 弹窗的是否展示
|
||||
const dialogTitle = ref('') // 弹窗的标题
|
||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||
const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
||||
const activeTab = ref('process') // 子表当前激活的 Tab
|
||||
const formData = ref<ProRouteVO>({
|
||||
id: undefined,
|
||||
code: '',
|
||||
name: '',
|
||||
description: '',
|
||||
status: 0, // TODO @AI:枚举;
|
||||
status: CommonStatusEnum.ENABLE,
|
||||
remark: ''
|
||||
})
|
||||
const formRules = reactive({
|
||||
|
|
@ -101,7 +101,7 @@ const formRules = reactive({
|
|||
name: [{ required: true, message: '名称不能为空', trigger: 'blur' }],
|
||||
status: [{ required: true, message: '状态不能为空', trigger: 'change' }]
|
||||
})
|
||||
const formRef = ref()
|
||||
const formRef = ref() // 表单 Ref
|
||||
|
||||
/** 生成编码 */
|
||||
const generateCode = () => {
|
||||
|
|
@ -156,7 +156,7 @@ const resetForm = () => {
|
|||
code: '',
|
||||
name: '',
|
||||
description: '',
|
||||
status: 0,
|
||||
status: CommonStatusEnum.ENABLE,
|
||||
remark: ''
|
||||
}
|
||||
formRef.value?.resetFields()
|
||||
|
|
|
|||
|
|
@ -148,28 +148,26 @@ import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
|
|||
import { ProRouteProcessApi, ProRouteProcessVO } from '@/api/mes/pro/route/process'
|
||||
import { ProProcessApi } from '@/api/mes/pro/process'
|
||||
|
||||
// TODO @AI:注释参考 /Users/yunai/Java/yudao-all-in-one/yudao-ui-admin-vue3/src/views/mes/qc/template/TemplateIndicatorList.vue
|
||||
|
||||
defineOptions({ name: 'RouteProcessList' })
|
||||
|
||||
const props = defineProps<{
|
||||
routeId: number
|
||||
}>()
|
||||
|
||||
const message = useMessage()
|
||||
const { t } = useI18n()
|
||||
const message = useMessage() // 消息弹窗
|
||||
const { t } = useI18n() // 国际化
|
||||
|
||||
const loading = ref(false)
|
||||
const list = ref<ProRouteProcessVO[]>([])
|
||||
const processList = ref<any[]>([])
|
||||
const loading = ref(false) // 列表的加载中
|
||||
const list = ref<ProRouteProcessVO[]>([]) // 列表的数据
|
||||
const processList = ref<any[]>([]) // 工序下拉列表
|
||||
|
||||
// 表单相关
|
||||
const formVisible = ref(false)
|
||||
const formTitle = ref('')
|
||||
const formLoading = ref(false)
|
||||
const formType = ref('')
|
||||
const formRef = ref()
|
||||
const formData = ref<any>({})
|
||||
const formVisible = ref(false) // 表单弹窗的是否展示
|
||||
const formTitle = ref('') // 表单弹窗的标题
|
||||
const formLoading = ref(false) // 表单的加载中
|
||||
const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
||||
const formRef = ref() // 表单 Ref
|
||||
const formData = ref<any>({}) // 表单数据
|
||||
const formRules = reactive({
|
||||
sort: [{ required: true, message: '序号不能为空', trigger: 'blur' }],
|
||||
processId: [{ required: true, message: '工序不能为空', trigger: 'change' }],
|
||||
|
|
|
|||
|
|
@ -71,30 +71,28 @@ import { MdItemApi } from '@/api/mes/md/item'
|
|||
|
||||
defineOptions({ name: 'RouteProductBomList' })
|
||||
|
||||
// TODO @AI:注释参考 /Users/yunai/Java/yudao-all-in-one/yudao-ui-admin-vue3/src/views/mes/qc/template/TemplateIndicatorList.vue
|
||||
|
||||
const props = defineProps<{
|
||||
routeId: number
|
||||
productId: number
|
||||
productName?: string
|
||||
}>()
|
||||
|
||||
const message = useMessage()
|
||||
const { t } = useI18n()
|
||||
const message = useMessage() // 消息弹窗
|
||||
const { t } = useI18n() // 国际化
|
||||
|
||||
const loading = ref(false)
|
||||
const bomList = ref<ProRouteProductBomVO[]>([])
|
||||
const processList = ref<any[]>([])
|
||||
const activeProcessId = ref('')
|
||||
const itemList = ref<any[]>([])
|
||||
const loading = ref(false) // 列表的加载中
|
||||
const bomList = ref<ProRouteProductBomVO[]>([]) // BOM 列表的数据
|
||||
const processList = ref<any[]>([]) // 工序列表(用于 Tab)
|
||||
const activeProcessId = ref('') // 当前选中的工序 Tab
|
||||
const itemList = ref<any[]>([]) // 物料下拉列表
|
||||
|
||||
// 表单相关
|
||||
const formVisible = ref(false)
|
||||
const formTitle = ref('')
|
||||
const formLoading = ref(false)
|
||||
const formType = ref('')
|
||||
const formRef = ref()
|
||||
const formData = ref<any>({})
|
||||
const formVisible = ref(false) // 表单弹窗的是否展示
|
||||
const formTitle = ref('') // 表单弹窗的标题
|
||||
const formLoading = ref(false) // 表单的加载中
|
||||
const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
||||
const formRef = ref() // 表单 Ref
|
||||
const formData = ref<any>({}) // 表单数据
|
||||
const formRules = reactive({
|
||||
itemId: [{ required: true, message: 'BOM 物料不能为空', trigger: 'change' }],
|
||||
quantity: [{ required: true, message: '用料比例不能为空', trigger: 'blur' }]
|
||||
|
|
@ -115,6 +113,7 @@ const getBomList = async () => {
|
|||
if (!activeProcessId.value) return
|
||||
loading.value = true
|
||||
try {
|
||||
// TODO @AI:linter 报错;
|
||||
bomList.value = await ProRouteProductBomApi.getRouteProductBomList({
|
||||
routeId: props.routeId,
|
||||
processId: activeProcessId.value,
|
||||
|
|
|
|||
|
|
@ -106,29 +106,27 @@ const props = defineProps<{
|
|||
routeId: number
|
||||
}>()
|
||||
|
||||
// TODO @AI:注释参考 /Users/yunai/Java/yudao-all-in-one/yudao-ui-admin-vue3/src/views/mes/qc/template/TemplateIndicatorList.vue
|
||||
const message = useMessage() // 消息弹窗
|
||||
const { t } = useI18n() // 国际化
|
||||
|
||||
const message = useMessage()
|
||||
const { t } = useI18n()
|
||||
|
||||
const loading = ref(false)
|
||||
const list = ref<ProRouteProductVO[]>([])
|
||||
const itemList = ref<any[]>([])
|
||||
const loading = ref(false) // 列表的加载中
|
||||
const list = ref<ProRouteProductVO[]>([]) // 列表的数据
|
||||
const itemList = ref<any[]>([]) // 物料下拉列表
|
||||
|
||||
// 表单相关
|
||||
const formVisible = ref(false)
|
||||
const formTitle = ref('')
|
||||
const formLoading = ref(false)
|
||||
const formType = ref('')
|
||||
const formRef = ref()
|
||||
const formData = ref<any>({})
|
||||
const formVisible = ref(false) // 表单弹窗的是否展示
|
||||
const formTitle = ref('') // 表单弹窗的标题
|
||||
const formLoading = ref(false) // 表单的加载中
|
||||
const formType = ref('') // 表单的类型:create - 新增;update - 修改
|
||||
const formRef = ref() // 表单 Ref
|
||||
const formData = ref<any>({}) // 表单数据
|
||||
const formRules = reactive({
|
||||
itemId: [{ required: true, message: '产品不能为空', trigger: 'change' }]
|
||||
})
|
||||
|
||||
// BOM 弹窗相关
|
||||
const bomDialogVisible = ref(false)
|
||||
const currentProduct = ref<any>({})
|
||||
const bomDialogVisible = ref(false) // BOM 弹窗的是否展示
|
||||
const currentProduct = ref<any>({}) // 当前选中的产品
|
||||
|
||||
/** 查询列表 */
|
||||
const getList = async () => {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<!-- MES 工艺路线列表 -->
|
||||
<!-- TODO @AI:对齐下字段,前缀需要加“工艺路线”;不限于编码、名称、说明、 -->
|
||||
<template>
|
||||
<ContentWrap>
|
||||
<!-- 搜索工作栏 -->
|
||||
|
|
@ -10,19 +9,19 @@
|
|||
:inline="true"
|
||||
label-width="68px"
|
||||
>
|
||||
<el-form-item label="编码" prop="code">
|
||||
<el-form-item label="路线编码" prop="code">
|
||||
<el-input
|
||||
v-model="queryParams.code"
|
||||
placeholder="请输入编码"
|
||||
placeholder="请输入工艺路线编码"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="名称" prop="name">
|
||||
<el-form-item label="路线名称" prop="name">
|
||||
<el-input
|
||||
v-model="queryParams.name"
|
||||
placeholder="请输入名称"
|
||||
placeholder="请输入工艺路线名称"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
class="!w-240px"
|
||||
|
|
@ -65,12 +64,18 @@
|
|||
<!-- 列表 -->
|
||||
<ContentWrap>
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<el-table-column label="编码" align="center" prop="code" width="180" />
|
||||
<el-table-column label="名称" align="center" prop="name" width="200" />
|
||||
<el-table-column label="说明" align="center" prop="description" min-width="200" />
|
||||
<el-table-column label="路线编码" align="center" prop="code" width="180" />
|
||||
<el-table-column label="路线名称" align="center" prop="name" width="200" />
|
||||
<el-table-column label="路线说明" align="center" prop="description" min-width="200" />
|
||||
<el-table-column label="状态" align="center" prop="status" width="100">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
|
||||
<el-switch
|
||||
v-model="scope.row.status"
|
||||
:active-value="0"
|
||||
:inactive-value="1"
|
||||
@change="handleStatusChange(scope.row)"
|
||||
:disabled="!checkPermi(['mes:pro-route:update'])"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" align="center" prop="remark" min-width="120" />
|
||||
|
|
@ -83,7 +88,8 @@
|
|||
/>
|
||||
<el-table-column label="操作" align="center" width="150">
|
||||
<template #default="scope">
|
||||
<!-- TODO @AI:增加一个启用、禁用操作 -->
|
||||
<!-- TODO @AI:开启和关闭,还是做成按钮,好一点。 -->
|
||||
<!-- TODO @AI:开启后,不允许关闭、删除;前后端都要限制;关联表都要限制 -->
|
||||
<el-button
|
||||
link
|
||||
type="primary"
|
||||
|
|
@ -119,18 +125,20 @@
|
|||
<script setup lang="ts">
|
||||
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
|
||||
import { dateFormatter } from '@/utils/formatTime'
|
||||
import { CommonStatusEnum } from '@/utils/constants'
|
||||
import { checkPermi } from '@/utils/permission'
|
||||
import download from '@/utils/download'
|
||||
import { ProRouteApi, ProRouteVO } from '@/api/mes/pro/route'
|
||||
import RouteForm from './RouteForm.vue'
|
||||
|
||||
defineOptions({ name: 'MesProRoute' })
|
||||
|
||||
const message = useMessage()
|
||||
const { t } = useI18n()
|
||||
const message = useMessage() // 消息弹窗
|
||||
const { t } = useI18n() // 国际化
|
||||
|
||||
const loading = ref(true)
|
||||
const list = ref<ProRouteVO[]>([])
|
||||
const total = ref(0)
|
||||
const loading = ref(true) // 列表的加载中
|
||||
const list = ref<ProRouteVO[]>([]) // 列表的数据
|
||||
const total = ref(0) // 列表的总页数
|
||||
const queryParams = reactive({
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
|
|
@ -138,8 +146,8 @@ const queryParams = reactive({
|
|||
name: undefined,
|
||||
status: undefined
|
||||
})
|
||||
const queryFormRef = ref()
|
||||
const exportLoading = ref(false)
|
||||
const queryFormRef = ref() // 搜索的表单
|
||||
const exportLoading = ref(false) // 导出的加载中
|
||||
|
||||
/** 查询列表 */
|
||||
const getList = async () => {
|
||||
|
|
@ -171,6 +179,23 @@ const openForm = (type: string, id?: number) => {
|
|||
formRef.value.open(type, id)
|
||||
}
|
||||
|
||||
/** 修改工艺路线状态 */
|
||||
const handleStatusChange = async (row: ProRouteVO) => {
|
||||
try {
|
||||
// 修改状态的二次确认
|
||||
const text = row.status === CommonStatusEnum.ENABLE ? '启用' : '停用'
|
||||
await message.confirm('确认要"' + text + '""' + row.name + '"工艺路线吗?')
|
||||
// 发起修改状态
|
||||
await ProRouteApi.updateRouteStatus(row.id!, row.status)
|
||||
// 刷新列表
|
||||
await getList()
|
||||
} catch {
|
||||
// 取消后,进行恢复按钮
|
||||
row.status =
|
||||
row.status === CommonStatusEnum.ENABLE ? CommonStatusEnum.DISABLE : CommonStatusEnum.ENABLE
|
||||
}
|
||||
}
|
||||
|
||||
/** 删除按钮操作 */
|
||||
const handleDelete = async (id: number) => {
|
||||
try {
|
||||
|
|
|
|||
Loading…
Reference in New Issue