feat:模具出库/模具入库-详情添加模具组/子模具列表

main
黄伟杰 2 days ago
parent f62a08eaae
commit e12004a43a

@ -38,7 +38,7 @@ export const StockInApi = {
// 更新其它入库单的状态
updateStockInStatus: async (id: number, status: number) => {
return await request.put({
url: `/erp/stock-in/update-status`,
url: `/erp/stock-in/update-mold-status`,
params: {
id,
status

@ -38,7 +38,7 @@ export const StockOutApi = {
// 更新其它出库单的状态
updateStockOutStatus: async (id: number, status: number) => {
return await request.put({
url: `/erp/stock-out/update-status`,
url: `/erp/stock-out/update-mold-status`,
params: {
id,
status

@ -2739,7 +2739,10 @@ export default {
approveConfirm: 'Confirm approve this stock in order?',
unapproveConfirm: 'Confirm unapprove this stock in order?',
approveSuccess: 'Approve successful',
unapproveSuccess: 'Unapprove successful'
unapproveSuccess: 'Unapprove successful',
subMoldList: 'Sub Mold List',
moldGroupList: 'Mold Group & Sub Mold List',
moldGroupListTitle: 'Stock In Mold Group List'
},
MoldGet: {
@ -2794,7 +2797,8 @@ export default {
validatorItemOutIdRequired: 'Stock out id can not be empty',
validatorItemWarehouseRequired: 'Warehouse can not be empty',
validatorItemMoldRequired: 'Mold can not be empty',
validatorItemCountRequired: 'Quantity can not be empty'
validatorItemCountRequired: 'Quantity can not be empty',
moldGroupListTitle: 'Stock Out Mold Group List'
},
MoldInspectionItems: {

@ -2246,7 +2246,10 @@ export default {
approveConfirm: '确定审批该入库单吗?',
unapproveConfirm: '确定反审批该入库单吗?',
approveSuccess: '审批成功',
unapproveSuccess: '反审批成功'
unapproveSuccess: '反审批成功',
subMoldList: '子模具列表',
moldGroupList: '模具组及子模具列表',
moldGroupListTitle: '入库模具组清单'
},
MoldGet: {
@ -2301,7 +2304,8 @@ export default {
validatorItemOutIdRequired: '出库编号不能为空',
validatorItemWarehouseRequired: '仓库不能为空',
validatorItemMoldRequired: '模具不能为空',
validatorItemCountRequired: '数量不能为空'
validatorItemCountRequired: '数量不能为空',
moldGroupListTitle: '出库模具组清单'
},
MoldInspectionItems: {

@ -89,11 +89,46 @@
</el-col>
</el-row>
</el-form>
<!-- 子表的表单 -->
<!-- 模具组及子模具列表 -->
<ContentWrap>
<el-tabs v-model="subTabsName" class="-mt-15px -mb-10px">
<el-tab-pane :label="t('MoldManagement.MoldGet.itemListTitle')" name="item">
<StockOutItemForm ref="itemFormRef" :items="formData.items" :disabled="disabled" />
<el-tab-pane :label="t('MoldManagement.MoldGet.moldGroupListTitle')" name="item">
<el-table :data="formData.items || []" :stripe="true" :show-overflow-tooltip="true" row-key="id">
<el-table-column type="expand" width="48">
<template #default="{ row: itemRow }">
<div class="p-12px">
<el-table :data="itemRow.moldList || []" :stripe="true" :show-overflow-tooltip="true" row-key="id">
<el-table-column :label="t('MoldManagement.MoldListPage.code')" prop="code" min-width="150" />
<el-table-column :label="t('MoldManagement.MoldListPage.subMoldName')" prop="name" min-width="160" />
<el-table-column :label="t('MoldManagement.MoldListPage.type')" min-width="120">
<template #default="{ row: moldRow }">
<dict-tag :type="DICT_TYPE.SUBMOLD_TYPE" :value="moldRow.type" />
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldListPage.installLocation')" min-width="140">
<template #default="{ row: moldRow }">
{{ moldRow.installLocation || moldRow.machineName || '-' }}
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldListPage.material')" min-width="120">
<template #default="{ row: moldRow }">
{{ moldRow.material || '-' }}
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldListPage.quantity')" width="90" align="center">
<template #default="{ row: moldRow }">
{{ moldRow.quantity || 1 }}
</template>
</el-table-column>
</el-table>
</div>
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldGet.itemMoldName')" prop="moldSetName" min-width="160" />
<el-table-column :label="t('MoldManagement.MoldGet.itemMoldCode')" prop="productBarCode" min-width="150" />
<el-table-column :label="t('MoldManagement.MoldGet.itemCount')" prop="count" width="100" align="center" />
<el-table-column :label="t('MoldManagement.MoldGet.itemRemark')" prop="remark" min-width="120" />
</el-table>
</el-tab-pane>
</el-tabs>
</ContentWrap>
@ -109,9 +144,8 @@
</template>
<script setup lang="ts">
import { StockOutApi, StockOutVO } from '@/api/erp/stock/out'
import StockOutItemForm from './components/StockOutItemForm.vue'
import { CustomerApi, CustomerVO } from '@/api/erp/sale/customer'
import {DICT_TYPE, getBoolDictOptions, getStrDictOptions} from "@/utils/dict";
import { CustomerApi, CustomerVO } from '@/api/erp/sale/customer'
import { WarehouseApi, WarehouseVO } from '@/api/erp/stock/warehouse'
/** ERP 其它出库单表单 */
@ -156,7 +190,6 @@ const options = [
]
/** 子表的表单 */
const subTabsName = ref('item')
const itemFormRef = ref()
const ensureWarehouseId = () => {
if (formData.value.warehouseId !== undefined && formData.value.warehouseId !== null) return
@ -201,41 +234,9 @@ const emit = defineEmits(['success', 'closed']) // 定义 success 和 closed 事
const submitForm = async () => {
//
await formRef.value.validate()
await itemFormRef.value.validate()
//
formLoading.value = true
try {
const existingByProductId = new Map<number, any>(
(formData.value.items ?? [])
.filter((it: any) => it && (it.productId ?? it.id) !== undefined && (it.productId ?? it.id) !== null)
.map((it: any) => [Number(it.productId ?? it.id), it])
)
const selectedRows = (itemFormRef.value.selectedRows ?? [])
formData.value.items = selectedRows
.filter((it: any) => it && it.productId !== undefined && it.productId !== null)
.map((row: any) => {
const productId = Number(row.productId)
const existing = existingByProductId.get(productId)
if (existing) {
return {
id: row.id,
warehouseId: formData.value.warehouseId,
productId,
productPrice: existing.productPrice ?? 0,
count: existing.count ?? 1,
remark: existing.remark ?? null
}
}
return {
id: row.id,
warehouseId: formData.value.warehouseId,
productId,
productPrice: 0,
count: 1
}
})
const data = formData.value as unknown as StockOutVO
if (formType.value === 'create') {
await StockOutApi.createStockOut(data)

@ -89,11 +89,46 @@
</el-col>
</el-row>
</el-form>
<!-- 子表的表单 -->
<!-- 模具组及子模具列表 -->
<ContentWrap>
<el-tabs v-model="subTabsName" class="-mt-15px -mb-10px">
<el-tab-pane :label="t('MoldManagement.MoldReturn.itemListTitle')" name="item">
<StockInItemForm ref="itemFormRef" :items="formData.items" :disabled="disabled" />
<el-tab-pane :label="t('MoldManagement.MoldReturn.moldGroupListTitle')" name="item">
<el-table :data="formData.items || []" :stripe="true" :show-overflow-tooltip="true" row-key="id">
<el-table-column type="expand" width="48">
<template #default="{ row: itemRow }">
<div class="p-12px">
<el-table :data="itemRow.moldList || []" :stripe="true" :show-overflow-tooltip="true" row-key="id">
<el-table-column :label="t('MoldManagement.MoldListPage.code')" prop="code" min-width="150" />
<el-table-column :label="t('MoldManagement.MoldListPage.subMoldName')" prop="name" min-width="160" />
<el-table-column :label="t('MoldManagement.MoldListPage.type')" min-width="120">
<template #default="{ row: moldRow }">
<dict-tag :type="DICT_TYPE.SUBMOLD_TYPE" :value="moldRow.type" />
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldListPage.installLocation')" min-width="140">
<template #default="{ row: moldRow }">
{{ moldRow.installLocation || moldRow.machineName || '-' }}
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldListPage.material')" min-width="120">
<template #default="{ row: moldRow }">
{{ moldRow.material || '-' }}
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldListPage.quantity')" width="90" align="center">
<template #default="{ row: moldRow }">
{{ moldRow.quantity || 1 }}
</template>
</el-table-column>
</el-table>
</div>
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldReturn.itemMoldName')" prop="moldSetName" min-width="160" />
<el-table-column :label="t('MoldManagement.MoldReturn.itemMoldCode')" prop="productBarCode" min-width="150" />
<el-table-column :label="t('MoldManagement.MoldReturn.itemCount')" prop="count" width="100" align="center" />
<el-table-column :label="t('MoldManagement.MoldReturn.itemRemark')" prop="remark" min-width="120" />
</el-table>
</el-tab-pane>
</el-tabs>
</ContentWrap>
@ -109,7 +144,7 @@
</template>
<script setup lang="ts">
import { StockInApi, StockInVO } from '@/api/erp/stock/in'
import StockInItemForm from './components/StockInItemForm.vue'
import { DICT_TYPE } from '@/utils/dict'
import { CustomerApi, CustomerVO } from '@/api/erp/sale/customer'
import { WarehouseApi, WarehouseVO } from '@/api/erp/stock/warehouse'
@ -155,7 +190,6 @@ const options = [
]
/** 子表的表单 */
const subTabsName = ref('item')
const itemFormRef = ref()
const ensureWarehouseId = () => {
if (formData.value.warehouseId !== undefined && formData.value.warehouseId !== null) return
@ -200,41 +234,9 @@ const emit = defineEmits(['success', 'closed']) // 定义 success 和 closed 事
const submitForm = async () => {
//
await formRef.value.validate()
await itemFormRef.value.validate()
//
formLoading.value = true
try {
const existingByProductId = new Map<number, any>(
(formData.value.items ?? [])
.filter((it: any) => it && (it.productId ?? it.id) !== undefined && (it.productId ?? it.id) !== null)
.map((it: any) => [Number(it.productId ?? it.id), it])
)
const selectedRows = (itemFormRef.value.selectedRows ?? [])
formData.value.items = selectedRows
.filter((it: any) => it && it.productId !== undefined && it.productId !== null)
.map((row: any) => {
const productId = Number(row.productId)
const existing = existingByProductId.get(productId)
if (existing) {
return {
id: row.id,
warehouseId: formData.value.warehouseId,
productId,
productPrice: existing.productPrice ?? 0,
count: existing.count ?? 1,
remark: existing.remark ?? null
}
}
return {
id: row.id,
warehouseId: formData.value.warehouseId,
productId,
productPrice: 0,
count: 1
}
})
const data = formData.value as unknown as StockInVO
if (formType.value === 'create') {
await StockInApi.createStockIn(data)

@ -3,51 +3,25 @@
<div class="mold-return-page">
<template v-if="!formVisible">
<ContentWrap>
<!-- 搜索工作栏 -->
<el-form
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
min-label-width="68px"
>
<el-form-item :label="t('MoldManagement.MoldReturn.no')" prop="no">
<el-input
v-model="queryParams.no"
:placeholder="t('MoldManagement.MoldReturn.placeholderNo')"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item :label="t('MoldManagement.MoldReturn.mold')" prop="productId">
<el-select
v-model="queryParams.productId"
clearable
filterable
:placeholder="t('MoldManagement.MoldReturn.placeholderMold')"
class="!w-240px"
>
<el-option
v-for="item in moldList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="t('MoldManagement.MoldReturn.inTime')" prop="outTime">
<el-date-picker
v-model="queryParams.outTime"
value-format="YYYY-MM-DD HH:mm:ss"
type="daterange"
:start-placeholder="t('MoldManagement.MoldReturn.placeholderInTimeStart')"
:end-placeholder="t('MoldManagement.MoldReturn.placeholderInTimeEnd')"
: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="customerId">
<!-- 搜索工作栏 -->
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" min-label-width="68px">
<el-form-item :label="t('MoldManagement.MoldReturn.no')" prop="no">
<el-input v-model="queryParams.no" :placeholder="t('MoldManagement.MoldReturn.placeholderNo')" clearable
@keyup.enter="handleQuery" class="!w-240px" />
</el-form-item>
<el-form-item :label="t('MoldManagement.MoldReturn.mold')" prop="productId">
<el-select v-model="queryParams.productId" clearable filterable
:placeholder="t('MoldManagement.MoldReturn.placeholderMold')" class="!w-240px">
<el-option v-for="item in moldList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item :label="t('MoldManagement.MoldReturn.inTime')" prop="outTime">
<el-date-picker v-model="queryParams.outTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
:start-placeholder="t('MoldManagement.MoldReturn.placeholderInTimeStart')"
:end-placeholder="t('MoldManagement.MoldReturn.placeholderInTimeEnd')"
: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="customerId">
<el-select
v-model="queryParams.customerId"
clearable
@ -63,177 +37,112 @@
/>
</el-select>
</el-form-item> -->
<el-form-item :label="t('MoldManagement.MoldReturn.warehouse')" prop="warehouseId" v-show="showAllFilters">
<el-select
v-model="queryParams.warehouseId"
clearable
filterable
:placeholder="t('MoldManagement.MoldReturn.placeholderWarehouse')"
class="!w-240px"
>
<el-option
v-for="item in warehouseList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="t('MoldManagement.MoldReturn.creator')" prop="creator" v-show="showAllFilters">
<el-select
v-model="queryParams.creator"
clearable
filterable
:placeholder="t('MoldManagement.MoldReturn.placeholderCreator')"
class="!w-240px"
>
<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="t('MoldManagement.MoldReturn.status')" prop="status" v-show="showAllFilters">
<el-select
v-model="queryParams.status"
:placeholder="t('MoldManagement.MoldReturn.placeholderStatus')"
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.ERP_AUDIT_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item :label="t('MoldManagement.MoldReturn.remark')" prop="remark" v-show="showAllFilters">
<el-input
v-model="queryParams.remark"
:placeholder="t('MoldManagement.MoldReturn.placeholderRemark')"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item v-if="filterCount > 3">
<el-button type="text" class="text-primary" @click="toggleFilters">
<Icon :icon="showAllFilters ? 'ep:arrow-up' : 'ep:arrow-down'" class="mr-5px" />
{{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : t('FactoryModeling.FactoryStructure.expandText') }}
</el-button>
</el-form-item>
<el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> {{ t('common.query') }}</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> {{ t('common.reset') }}</el-button>
<el-button
type="primary"
plain
@click="openForm('create')"
v-hasPermi="['erp:stock-out:create']"
>
<Icon icon="ep:plus" class="mr-5px" /> {{ t('MoldManagement.MoldReturn.add') }}
</el-button>
<el-button
type="success"
plain
@click="handleExport"
:loading="exportLoading"
v-hasPermi="['erp:stock-out:export']"
>
<Icon icon="ep:download" class="mr-5px" /> {{ t('MoldManagement.MoldReturn.export') }}
</el-button>
<el-button
type="danger"
plain
@click="handleDelete(selectionList.map((item) => item.id))"
v-hasPermi="['erp:stock-out:delete']"
:disabled="selectionList.length === 0"
>
<Icon icon="ep:delete" class="mr-5px" /> {{ t('MoldManagement.MoldReturn.delete') }}
</el-button>
</el-form-item>
</el-form>
</ContentWrap>
<el-form-item :label="t('MoldManagement.MoldReturn.warehouse')" prop="warehouseId" v-show="showAllFilters">
<el-select v-model="queryParams.warehouseId" clearable filterable
:placeholder="t('MoldManagement.MoldReturn.placeholderWarehouse')" class="!w-240px">
<el-option v-for="item in warehouseList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item :label="t('MoldManagement.MoldReturn.creator')" prop="creator" v-show="showAllFilters">
<el-select v-model="queryParams.creator" clearable filterable
:placeholder="t('MoldManagement.MoldReturn.placeholderCreator')" class="!w-240px">
<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="t('MoldManagement.MoldReturn.status')" prop="status" v-show="showAllFilters">
<el-select v-model="queryParams.status" :placeholder="t('MoldManagement.MoldReturn.placeholderStatus')"
clearable class="!w-240px">
<el-option v-for="dict in getIntDictOptions(DICT_TYPE.ERP_AUDIT_STATUS)" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item :label="t('MoldManagement.MoldReturn.remark')" prop="remark" v-show="showAllFilters">
<el-input v-model="queryParams.remark" :placeholder="t('MoldManagement.MoldReturn.placeholderRemark')"
clearable @keyup.enter="handleQuery" class="!w-240px" />
</el-form-item>
<el-form-item v-if="filterCount > 3">
<el-button type="text" class="text-primary" @click="toggleFilters">
<Icon :icon="showAllFilters ? 'ep:arrow-up' : 'ep:arrow-down'" class="mr-5px" />
{{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') :
t('FactoryModeling.FactoryStructure.expandText') }}
</el-button>
</el-form-item>
<el-form-item>
<el-button @click="handleQuery">
<Icon icon="ep:search" class="mr-5px" /> {{ t('common.query') }}
</el-button>
<el-button @click="resetQuery">
<Icon icon="ep:refresh" class="mr-5px" /> {{ t('common.reset') }}
</el-button>
<el-button type="primary" plain @click="openForm('create')" v-hasPermi="['erp:stock-out:create']">
<Icon icon="ep:plus" class="mr-5px" /> {{ t('MoldManagement.MoldReturn.add') }}
</el-button>
<el-button type="success" plain @click="handleExport" :loading="exportLoading"
v-hasPermi="['erp:stock-out:export']">
<Icon icon="ep:download" class="mr-5px" /> {{ t('MoldManagement.MoldReturn.export') }}
</el-button>
<el-button type="danger" plain @click="handleDelete(selectionList.map((item) => item.id))"
v-hasPermi="['erp:stock-out:delete']" :disabled="selectionList.length === 0">
<Icon icon="ep:delete" class="mr-5px" /> {{ t('MoldManagement.MoldReturn.delete') }}
</el-button>
</el-form-item>
</el-form>
</ContentWrap>
<!-- 列表 -->
<ContentWrap>
<!-- <el-tabs v-model="activeName" @tab-click="handleTabClick"> -->
<!-- <el-tab-pane label="产品出库" name="产品出库" />
<!-- 列表 -->
<ContentWrap>
<!-- <el-tabs v-model="activeName" @tab-click="handleTabClick"> -->
<!-- <el-tab-pane label="产品出库" name="产品出库" />
<el-tab-pane label="原料出库" name="原料出库" />
<el-tab-pane label="备件出库" name="备件出库" />
<el-tab-pane label="其他出库" name="其他出库" />
<el-tab-pane label="领模出库" name="领料出库" />
</el-tabs> -->
<el-table
v-loading="loading"
:data="list"
:stripe="true"
:show-overflow-tooltip="true"
@selection-change="handleSelectionChange"
>
<el-table-column width="30" :label="t('MoldManagement.MoldReturn.select')" type="selection" />
<el-table-column min-width="180" :label="t('MoldManagement.MoldReturn.no')" align="center" prop="no" sortable />
<el-table-column :label="t('MoldManagement.MoldReturn.moldInfo')" align="left" sortable prop="productNames" min-width="150" />
<!-- <el-table-column label="客户" align="center" prop="customerName" sortable /> -->
<el-table-column
:label="t('MoldManagement.MoldReturn.inTime')"
align="center"
sortable
prop="outTime"
:formatter="dateFormatter2"
width="120px"
/>
<el-table-column :label="t('MoldManagement.MoldReturn.creator')" align="center" prop="creatorName" sortable />
<!-- <el-table-column
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"
@selection-change="handleSelectionChange" row-key="id">
<el-table-column width="30" :label="t('MoldManagement.MoldReturn.select')" type="selection" />
<el-table-column min-width="180" :label="t('MoldManagement.MoldReturn.no')" align="center" prop="no"
sortable />
<el-table-column :label="t('MoldManagement.MoldReturn.moldInfo')" align="left" sortable prop="productNames"
min-width="150" />
<!-- <el-table-column label="客户" align="center" prop="customerName" sortable /> -->
<el-table-column :label="t('MoldManagement.MoldReturn.inTime')" align="center" sortable prop="outTime"
:formatter="dateFormatter2" width="120px" />
<el-table-column :label="t('MoldManagement.MoldReturn.creator')" align="center" prop="creatorName" sortable />
<!-- <el-table-column
label="数量"
align="right"
sortable
prop="totalCount"
:formatter="erpCountTableColumnFormatter"
/> -->
<!-- <el-table-column
<!-- <el-table-column
label="金额"
align="right"
sortable
prop="totalPrice"
:formatter="erpPriceTableColumnFormatter"
/> -->
<el-table-column :label="t('MoldManagement.MoldReturn.status')" align="center" fixed="right" width="90" prop="status" sortable>
<template #default="scope">
<dict-tag :type="DICT_TYPE.ERP_AUDIT_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldReturn.operate')" align="center" fixed="right" width="220">
<template #default="scope">
<el-button
link
@click="openForm('detail', scope.row.id)"
v-hasPermi="['erp:stock-out:query']"
>
{{ t('MoldManagement.MoldReturn.detail') }}
</el-button>
<el-button
link
type="primary"
@click="openForm('update', scope.row.id)"
v-hasPermi="['erp:stock-out:update']"
:disabled="scope.row.status === 20"
>
{{ t('MoldManagement.MoldReturn.edit') }}
</el-button>
<el-button
link
type="primary"
@click="handleUpdateStatus(scope.row.id, 20)"
v-hasPermi="['erp:stock-out:update-status']"
v-if="scope.row.status === 10"
>
{{ t('MoldManagement.MoldReturn.approve') }}
</el-button>
<!-- <el-button
<el-table-column :label="t('MoldManagement.MoldReturn.status')" align="center" fixed="right" width="90"
prop="status" sortable>
<template #default="scope">
<dict-tag :type="DICT_TYPE.ERP_AUDIT_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldReturn.operate')" align="center" fixed="right" width="220">
<template #default="scope">
<el-button link @click="openForm('detail', scope.row.id)" v-hasPermi="['erp:stock-out:query']">
{{ t('MoldManagement.MoldReturn.detail') }}
</el-button>
<el-button link type="primary" @click="openForm('update', scope.row.id)"
v-hasPermi="['erp:stock-out:update']" :disabled="scope.row.status === 20">
{{ t('MoldManagement.MoldReturn.edit') }}
</el-button>
<el-button link type="primary" @click="handleUpdateStatus(scope.row.id, 20)"
v-hasPermi="['erp:stock-out:update-status']" v-if="scope.row.status === 10">
{{ t('MoldManagement.MoldReturn.approve') }}
</el-button>
<!-- <el-button
link
type="danger"
@click="handleUpdateStatus(scope.row.id, 10)"
@ -241,25 +150,16 @@
>
{{ t('MoldManagement.MoldReturn.unapprove') }}
</el-button> -->
<el-button
link
type="danger"
@click="handleDelete([scope.row.id])"
v-hasPermi="['erp:stock-out:delete']"
>
{{ t('MoldManagement.MoldReturn.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-button link type="danger" @click="handleDelete([scope.row.id])" v-hasPermi="['erp:stock-out:delete']">
{{ t('MoldManagement.MoldReturn.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>
</template>
<!-- 表单添加/修改 -->
@ -359,7 +259,7 @@ const handleDelete = async (ids: number[]) => {
//
await getList()
selectionList.value = selectionList.value.filter((item) => !ids.includes(item.id))
} catch {}
} catch { }
}
/** 审批/反审批操作 */
@ -372,7 +272,7 @@ const handleUpdateStatus = async (id: number, status: number) => {
message.success(successText)
//
await getList()
} catch {}
} catch { }
}
/** 导出按钮操作 */
@ -401,7 +301,7 @@ const query = reactive({
})
/** 初始化 **/
onMounted(async () => {
queryParams.inType ='模具入库'
queryParams.inType = '模具入库'
await getList()
//
// productList.value = await ProductApi.getProductSimpleList()

Loading…
Cancel
Save