Compare commits

...

2 Commits

@ -111,6 +111,7 @@ export default {
price: 'Amount',
totalPrice: 'Total Price',
inType: 'Inbound Type',
file: 'Attachment',
tabProduct: 'Product Inbound',
tabMaterial: 'Material Inbound',
tabPart: 'Part Inbound',
@ -218,6 +219,34 @@ export default {
validatorWarehouseRequired: 'Warehouse name is required'
}
},
Record: {
product: 'Product',
warehouse: 'Warehouse',
bizType: 'Type',
bizNo: 'Business No',
categoryProduct: 'Product',
categoryMaterial: 'Material',
categorySpare: 'Spare Part',
categoryTool: 'Tool',
categoryConsumable: 'Consumable',
categoryOther: 'Other',
productName: 'Product Name',
categoryName: 'Product Category',
unitName: 'Unit',
warehouseName: 'Warehouse Code',
count: 'In/Out Quantity',
totalCount: 'Stock Quantity',
recordTime: 'In/Out Date',
createTime: 'Create Date',
creatorName: 'Operator',
placeholderProduct: 'Please select product',
placeholderWarehouse: 'Please select warehouse',
placeholderBizType: 'Please select type',
placeholderBizNo: 'Please input business no',
placeholderCreateTimeStart: 'Start Date',
placeholderCreateTimeEnd: 'End Date',
exportName: 'ProductStockRecord.xls'
},
Move: {
no: 'Transfer No',
product: 'Product',
@ -502,6 +531,8 @@ export default {
detail: 'Detail',
export: 'Export',
import: 'Import',
approve: 'Approve',
unapprove: 'Unapprove',
generate: 'Generate',
logout: 'Login Out',
test: 'Test',

@ -111,6 +111,7 @@ export default {
price: '金额',
totalPrice: '合计金额',
inType: '入库类型',
file: '附件',
tabProduct: '产品入库',
tabMaterial: '原料入库',
tabPart: '备件入库',
@ -218,6 +219,34 @@ export default {
validatorWarehouseRequired: '仓库名字不能为空'
}
},
Record: {
product: '产品',
warehouse: '仓库',
bizType: '类型',
bizNo: '业务单号',
categoryProduct: '产品',
categoryMaterial: '原料',
categorySpare: '备件',
categoryTool: '工具',
categoryConsumable: '耗材',
categoryOther: '其他',
productName: '产品名称',
categoryName: '产品分类',
unitName: '产品单位',
warehouseName: '仓库编号',
count: '出入库数量',
totalCount: '库存量',
recordTime: '出入库日期',
createTime: '创建日期',
creatorName: '操作人',
placeholderProduct: '请选择产品',
placeholderWarehouse: '请选择仓库',
placeholderBizType: '请选择类型',
placeholderBizNo: '请输入业务单号',
placeholderCreateTimeStart: '开始日期',
placeholderCreateTimeEnd: '结束日期',
exportName: '产品库存明细.xls'
},
Move: {
no: '调拨单号',
product: '产品',
@ -504,6 +533,8 @@ export default {
detail: '详情',
export: '导出',
import: '导入',
approve: '审批',
unapprove: '反审批',
generate: '生成',
logout: '强制退出',
test: '测试',

@ -4,45 +4,45 @@
ref="formRef"
:model="formData"
:rules="formRules"
label-width="100px"
label-width="auto"
v-loading="formLoading"
:disabled="disabled"
>
<el-form-item prop="code">
<template #label>
<span>
入库单号
<el-tooltip content="入库单号" placement="top">
<Icon icon="ep:question-filled" />
</el-tooltip>
</span>
</template>
<el-row :gutter="10" style="width: 100%;">
<el-col :xs="24" :sm="18" :md="16" :lg="14" :xl="12">
<el-input
:disabled="formData.isCode == true || formType === 'update'"
v-model="formData.no"
placeholder="编码保存后自动生成"
/>
</el-col>
<el-col :xs="24" :sm="6" :md="4" :lg="3" :xl="2">
<div>
<el-switch
v-model="formData.isCode"
:disabled="formType === 'update'"
/>
</div>
</el-col>
</el-row>
</el-form-item>
<el-form-item prop="code">
<template #label>
<span>
{{ t('ErpStock.In.no') }}
<el-tooltip :content="t('ErpStock.In.no')" placement="top">
<Icon icon="ep:question-filled" />
</el-tooltip>
</span>
</template>
<el-row :gutter="10" style="width: 100%">
<el-col :xs="24" :sm="18" :md="16" :lg="14" :xl="12">
<el-input
:disabled="formData.isCode == true || formType === 'update'"
v-model="formData.no"
:placeholder="t('common.code')"
/>
</el-col>
<el-col :xs="24" :sm="6" :md="4" :lg="3" :xl="2">
<div>
<el-switch
v-model="formData.isCode"
:disabled="formType === 'update'"
/>
</div>
</el-col>
</el-row>
</el-form-item>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="入库类型" prop="inType">
<el-form-item :label="t('ErpStock.In.inType')" prop="inType">
<el-select
v-model="formData.inType"
clearable
filterable
placeholder="请选择入库类型"
:placeholder="t('ErpStock.In.placeholderInType')"
class="!w-1/1"
>
<el-option
@ -56,12 +56,12 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="入库时间" prop="inTime">
<el-form-item :label="t('ErpStock.In.inTime')" prop="inTime">
<el-date-picker
v-model="formData.inTime"
type="date"
value-format="x"
placeholder="选择入库时间"
:placeholder="t('ErpStock.In.placeholderInTime')"
class="!w-1/1"
/>
</el-form-item>
@ -85,17 +85,17 @@
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="备注" prop="remark">
<el-form-item :label="t('ErpStock.In.remark')" prop="remark">
<el-input
type="textarea"
v-model="formData.remark"
:rows="1"
placeholder="请输入备注"
:placeholder="t('ErpStock.In.placeholderRemark')"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="附件" prop="fileUrl">
<el-form-item :label="t('ErpStock.In.file')" prop="fileUrl">
<UploadFile :is-show-tip="false" v-model="formData.fileUrl" :limit="1" />
</el-form-item>
</el-col>
@ -104,16 +104,16 @@
<!-- 子表的表单 -->
<ContentWrap>
<el-tabs v-model="subTabsName" class="-mt-15px -mb-10px">
<el-tab-pane label="入库产品清单" name="item">
<el-tab-pane :label="t('ErpStock.In.list')" name="item">
<StockInItemForm ref="itemFormRef" :items="formData.items" :disabled="disabled" />
</el-tab-pane>
</el-tabs>
</ContentWrap>
<template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading" v-if="!disabled">
{{ t('common.ok') }}
</el-button>
<el-button @click="dialogVisible = false"> </el-button>
<el-button @click="dialogVisible = false">{{ t('common.cancel') }}</el-button>
</template>
</Dialog>
</template>
@ -144,8 +144,8 @@ const formData = ref({
no: undefined
})
const formRules = reactive({
inTime: [{ required: true, message: '入库时间不能为空', trigger: 'blur' }],
inType: [{ required: true, message: '入库类型不能为空', trigger: 'blur' }]
inTime: [{ required: true, message: t('ErpStock.In.validatorInTimeRequired'), trigger: 'blur' }],
inType: [{ required: true, message: t('ErpStock.In.validatorInTypeRequired'), trigger: 'blur' }]
})
const disabled = computed(() => formType.value === 'detail')
const formRef = ref() // Ref
@ -153,12 +153,11 @@ const supplierList = ref<SupplierVO[]>([]) // 供应商列表
const options = [
{
value: '其他入库',
label: '其他入库',
label: t('ErpStock.In.tabOther')
},
{
value: '备件入库',
label: '备件入库',
label: t('ErpStock.In.tabPart')
},
// {
// value: '',
@ -166,7 +165,7 @@ const options = [
// },
{
value: '产品入库',
label: '产品入库',
label: t('ErpStock.In.tabProduct')
},
// {
// value: '',

@ -9,8 +9,8 @@
:disabled="disabled"
>
<el-table :data="formData" show-summary :summary-method="getSummaries" class="-mt-10px">
<el-table-column label="序号" type="index" align="center" width="60" />
<el-table-column label="仓库名称" min-width="125">
<el-table-column :label="t('common.index')" type="index" align="center" width="60" />
<el-table-column :label="t('ErpStock.Item.warehouse')" min-width="125">
<template #default="{ row, $index }">
<el-form-item
:prop="`${$index}.warehouseId`"
@ -21,7 +21,7 @@
v-model="row.warehouseId"
clearable
filterable
placeholder="请选择仓库"
:placeholder="t('ErpStock.Item.placeholderWarehouse')"
@change="onChangeWarehouse($event, row)"
>
<el-option
@ -34,7 +34,7 @@
</el-form-item>
</template>
</el-table-column>
<el-table-column label="产品名称" min-width="180">
<el-table-column :label="t('ErpStock.Item.product')" min-width="180">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productId`" :rules="formRules.productId" class="mb-0px!">
<el-cascader
@ -45,34 +45,34 @@
clearable
filterable
@change="onChangeProduct($event, row)"
placeholder="请选择产品"
:placeholder="t('ErpStock.Item.placeholderProduct')"
class="!w-100%"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="库存" min-width="100">
<el-table-column :label="t('ErpStock.Item.stock')" min-width="100">
<template #default="{ row }">
<el-form-item class="mb-0px!">
<el-input disabled v-model="row.stockCount" :formatter="erpCountInputFormatter" />
</el-form-item>
</template>
</el-table-column>
<el-table-column label="条码" min-width="150">
<el-table-column :label="t('ErpStock.Item.barcode')" min-width="150">
<template #default="{ row }">
<el-form-item class="mb-0px!">
<el-input disabled v-model="row.productBarCode" />
</el-form-item>
</template>
</el-table-column>
<el-table-column label="单位" min-width="80">
<el-table-column :label="t('ErpStock.Item.unit')" min-width="80">
<template #default="{ row }">
<el-form-item class="mb-0px!">
<el-input disabled v-model="row.productUnitName" />
</el-form-item>
</template>
</el-table-column>
<el-table-column label="数量" prop="count" fixed="right" min-width="140">
<el-table-column :label="t('ErpStock.Item.count')" prop="count" fixed="right" min-width="140">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.count`" :rules="formRules.count" class="mb-0px!">
<el-input-number
@ -85,7 +85,7 @@
</el-form-item>
</template>
</el-table-column>
<el-table-column label="产品单价" fixed="right" min-width="120">
<el-table-column :label="t('ErpStock.Item.price')" fixed="right" min-width="120">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productPrice`" class="mb-0px!">
<el-input-number
@ -98,21 +98,21 @@
</el-form-item>
</template>
</el-table-column>
<el-table-column label="合计金额" prop="totalPrice" fixed="right" min-width="100">
<el-table-column :label="t('ErpStock.Item.totalPrice')" prop="totalPrice" fixed="right" min-width="100">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.totalPrice`" class="mb-0px!">
<el-input disabled v-model="row.totalPrice" :formatter="erpPriceInputFormatter" />
</el-form-item>
</template>
</el-table-column>
<el-table-column label="备注" fixed="right" min-width="150">
<el-table-column :label="t('ErpStock.Item.remark')" fixed="right" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.remark`" class="mb-0px!">
<el-input v-model="row.remark" placeholder="请输入备注" />
<el-input v-model="row.remark" :placeholder="t('ErpStock.In.placeholderRemark')" />
</el-form-item>
</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="60">
<el-table-column align="center" fixed="right" :label="t('ErpStock.Item.action')" width="60">
<template #default="{ $index }">
<el-button type="danger" @click="handleDelete($index)" link>
<Icon icon="ep:delete" />
@ -122,7 +122,7 @@
</el-table>
</el-form>
<el-row justify="center" class="mt-3" v-if="!disabled">
<el-button @click="handleAdd" round>+ 添加入库产品</el-button>
<el-button @click="handleAdd" round>+ {{ t('ErpStock.In.addItem') }}</el-button>
</el-row>
</template>
<script setup lang="ts">
@ -142,11 +142,11 @@ const props = defineProps<{
}>()
const formLoading = ref(false) //
const formData = ref([])
const { t } = useI18n()
const formRules = reactive({
inId: [{ required: true, message: '入库编号不能为空', trigger: 'blur' }],
warehouseId: [{ required: true, message: '仓库不能为空', trigger: 'blur' }],
productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
warehouseId: [{ required: true, message: t('ErpStock.Item.validatorWarehouseRequired'), trigger: 'blur' }],
productId: [{ required: true, message: t('ErpStock.Item.validatorProductRequired'), trigger: 'blur' }],
count: [{ required: true, message: t('ErpStock.Item.validatorCountRequired'), trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const productList = ref<ProductVO[]>([]) //

@ -6,23 +6,23 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
label-width="auto"
>
<el-form-item label="入库单号" prop="no">
<el-form-item :label="t('ErpStock.In.no')" prop="no">
<el-input
v-model="queryParams.no"
placeholder="请输入入库单号"
:placeholder="t('ErpStock.In.placeholderNo')"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="产品" prop="productId">
<el-form-item :label="t('ErpStock.In.product')" prop="productId">
<el-select
v-model="queryParams.productId"
clearable
filterable
placeholder="请选择产品"
:placeholder="t('ErpStock.In.placeholderProduct')"
class="!w-240px"
>
<el-option
@ -33,13 +33,13 @@
/>
</el-select>
</el-form-item>
<el-form-item label="入库时间" prop="inTime">
<el-form-item :label="t('ErpStock.In.inTime')" prop="inTime">
<el-date-picker
v-model="queryParams.inTime"
value-format="YYYY-MM-DD HH:mm:ss"
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:start-placeholder="t('common.startTimeText')"
:end-placeholder="t('common.endTimeText')"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-220px"
/>
@ -60,12 +60,12 @@
/>
</el-select>
</el-form-item> -->
<el-form-item label="仓库" prop="warehouseId">
<el-form-item :label="t('ErpStock.In.warehouse')" prop="warehouseId">
<el-select
v-model="queryParams.warehouseId"
clearable
filterable
placeholder="请选择仓库"
:placeholder="t('ErpStock.In.placeholderWarehouse')"
class="!w-240px"
>
<el-option
@ -76,12 +76,12 @@
/>
</el-select>
</el-form-item>
<el-form-item label="创建人" prop="creator">
<el-form-item :label="t('ErpStock.In.creator')" prop="creator">
<el-select
v-model="queryParams.creator"
clearable
filterable
placeholder="请选择创建人"
:placeholder="t('ErpStock.In.placeholderCreator')"
class="!w-240px"
>
<el-option
@ -92,8 +92,13 @@
/>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px">
<el-form-item :label="t('ErpStock.In.status')" prop="status">
<el-select
v-model="queryParams.status"
:placeholder="t('ErpStock.In.placeholderStatus')"
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.ERP_AUDIT_STATUS)"
:key="dict.value"
@ -102,25 +107,25 @@
/>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-form-item :label="t('ErpStock.In.remark')" prop="remark">
<el-input
v-model="queryParams.remark"
placeholder="请输入备注"
:placeholder="t('ErpStock.In.placeholderRemark')"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<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-in:create']"
>
<Icon icon="ep:plus" class="mr-5px" /> 新增
<Icon icon="ep:plus" class="mr-5px" /> {{ t('action.add') }}
</el-button>
<el-button
type="success"
@ -129,7 +134,7 @@
:loading="exportLoading"
v-hasPermi="['erp:stock-in:export']"
>
<Icon icon="ep:download" class="mr-5px" /> 导出
<Icon icon="ep:download" class="mr-5px" /> {{ t('action.export') }}
</el-button>
<el-button
type="danger"
@ -138,7 +143,7 @@
v-hasPermi="['erp:stock-in:delete']"
:disabled="selectionList.length === 0"
>
<Icon icon="ep:delete" class="mr-5px" /> 删除
<Icon icon="ep:delete" class="mr-5px" /> {{ t('action.del') }}
</el-button>
</el-form-item>
</el-form>
@ -147,10 +152,10 @@
<!-- 列表 -->
<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="t('ErpStock.In.tabProduct')" name="产品入库" />
<!-- <el-tab-pane :label="t('ErpStock.In.tabMaterial')" name="原料入库" /> -->
<el-tab-pane :label="t('ErpStock.In.tabPart')" name="备件入库" />
<el-tab-pane :label="t('ErpStock.In.tabOther')" name="其他入库" />
</el-tabs>
<el-table
@ -160,20 +165,31 @@
:show-overflow-tooltip="true"
@selection-change="handleSelectionChange"
>
<el-table-column width="30" label="选择" type="selection" />
<el-table-column min-width="180" label="入库单号" align="center" prop="no" />
<el-table-column label="产品信息" align="left" sortable prop="productNames" min-width="200" />
<el-table-column width="30" :label="t('common.select')" type="selection" />
<el-table-column
min-width="180"
:label="t('ErpStock.In.no')"
align="center"
prop="no"
/>
<el-table-column
:label="t('ErpStock.In.productInfo')"
align="left"
sortable
prop="productNames"
min-width="200"
/>
<!-- <el-table-column label="供应商" align="center" prop="supplierName" /> -->
<el-table-column
label="入库时间"
:label="t('ErpStock.In.inTime')"
align="center"
prop="inTime"
:formatter="dateFormatter2"
width="120px"
/>
<el-table-column label="创建人" align="center" prop="creatorName" />
<el-table-column :label="t('ErpStock.In.creator')" align="center" prop="creatorName" />
<el-table-column
label="数量"
:label="t('ErpStock.In.count')"
align="right"
sortable
prop="totalCount"
@ -186,19 +202,25 @@
prop="totalPrice"
:formatter="erpPriceTableColumnFormatter"
/> -->
<el-table-column label="状态" align="center" fixed="right" width="90" prop="status">
<el-table-column
:label="t('ErpStock.In.status')"
align="center"
fixed="right"
width="90"
prop="status"
>
<template #default="scope">
<dict-tag :type="DICT_TYPE.ERP_AUDIT_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" width="220">
<el-table-column :label="t('common.operate')" align="center" fixed="right" width="220">
<template #default="scope">
<el-button
link
@click="openForm('detail', scope.row.id)"
v-hasPermi="['erp:stock-in:query']"
>
详情
{{ t('action.detail') }}
</el-button>
<el-button
link
@ -207,7 +229,7 @@
v-hasPermi="['erp:stock-in:update']"
:disabled="scope.row.status === 20"
>
编辑
{{ t('action.edit') }}
</el-button>
<el-button
link
@ -216,7 +238,7 @@
v-hasPermi="['erp:stock-in:update-status']"
v-if="scope.row.status === 10"
>
审批
{{ t('action.approve') }}
</el-button>
<el-button
link
@ -225,7 +247,7 @@
v-hasPermi="['erp:stock-in:update-status']"
v-else
>
反审批
{{ t('action.unapprove') }}
</el-button>
<el-button
link
@ -233,7 +255,7 @@
@click="handleDelete([scope.row.id])"
v-hasPermi="['erp:stock-in:delete']"
>
删除
{{ t('action.del') }}
</el-button>
</template>
</el-table-column>
@ -340,10 +362,12 @@ const handleDelete = async (ids: number[]) => {
const handleUpdateStatus = async (id: number, status: number) => {
try {
//
await message.confirm(`确定${status === 20 ? '审批' : '反审批'}该入库单吗?`)
const confirmText = status === 20 ? t('ErpStock.In.confirmApprove') : t('ErpStock.In.confirmReverseApprove')
await message.confirm(confirmText)
//
await StockInApi.updateStockInStatus(id, status)
message.success(`${status === 20 ? '审批' : '反审批'}成功`)
const successText = status === 20 ? t('ErpStock.In.approveSuccess') : t('ErpStock.In.reverseApproveSuccess')
message.success(successText)
//
await getList()
} catch {}
@ -357,7 +381,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await StockInApi.exportStockIn(queryParams)
download.excel(data, '其它入库单.xls')
download.excel(data, t('ErpStock.In.exportName'))
} catch {
} finally {
exportLoading.value = false

@ -132,12 +132,11 @@ const customerList = ref<CustomerVO[]>([]) // 客户列表
const options = [
{
value: '其他出库',
label: '其他出库',
label: t('ErpStock.Out.tabOther')
},
{
value: '备件出库',
label: '备件出库',
label: t('ErpStock.Out.tabPart')
},
// {
// value: '',
@ -149,10 +148,9 @@ const options = [
// },
{
value: '领料出库',
label: '领料出库',
disabled: true,
},
label: t('ErpStock.Out.tabPick'),
disabled: true
}
]
/** 子表的表单 */
const subTabsName = ref('item')

@ -9,8 +9,8 @@
:disabled="disabled"
>
<el-table :data="formData" show-summary :summary-method="getSummaries" class="-mt-10px">
<el-table-column label="序号" type="index" align="center" width="60" />
<el-table-column label="仓库名称" min-width="125">
<el-table-column :label="t('common.index')" type="index" align="center" width="60" />
<el-table-column :label="t('ErpStock.Item.warehouse')" min-width="125">
<template #default="{ row, $index }">
<el-form-item
:prop="`${$index}.warehouseId`"
@ -21,7 +21,7 @@
v-model="row.warehouseId"
clearable
filterable
placeholder="请选择仓库"
:placeholder="t('ErpStock.Item.placeholderWarehouse')"
@change="onChangeWarehouse($event, row)"
>
<el-option
@ -34,7 +34,7 @@
</el-form-item>
</template>
</el-table-column>
<el-table-column label="产品名称" min-width="180">
<el-table-column :label="t('ErpStock.Item.product')" min-width="180">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productId`" :rules="formRules.productId" class="mb-0px!">
<el-cascader
@ -45,34 +45,34 @@
clearable
filterable
@change="onChangeProduct($event, row)"
placeholder="请选择产品"
:placeholder="t('ErpStock.Item.placeholderProduct')"
class="!w-100%"
/>
</el-form-item>
</template>
</el-table-column>
<el-table-column label="库存" min-width="100">
<el-table-column :label="t('ErpStock.Item.stock')" min-width="100">
<template #default="{ row }">
<el-form-item class="mb-0px!">
<el-input disabled v-model="row.stockCount" :formatter="erpCountInputFormatter" />
</el-form-item>
</template>
</el-table-column>
<el-table-column label="条码" min-width="150">
<el-table-column :label="t('ErpStock.Item.barcode')" min-width="150">
<template #default="{ row }">
<el-form-item class="mb-0px!">
<el-input disabled v-model="row.productBarCode" />
</el-form-item>
</template>
</el-table-column>
<el-table-column label="单位" min-width="80">
<el-table-column :label="t('ErpStock.Item.unit')" min-width="80">
<template #default="{ row }">
<el-form-item class="mb-0px!">
<el-input disabled v-model="row.productUnitName" />
</el-form-item>
</template>
</el-table-column>
<el-table-column label="数量" prop="count" fixed="right" min-width="140">
<el-table-column :label="t('ErpStock.Item.count')" prop="count" fixed="right" min-width="140">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.count`" :rules="formRules.count" class="mb-0px!">
<el-input-number
@ -85,7 +85,7 @@
</el-form-item>
</template>
</el-table-column>
<el-table-column label="产品单价" fixed="right" min-width="120">
<el-table-column :label="t('ErpStock.Item.price')" fixed="right" min-width="120">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productPrice`" class="mb-0px!">
<el-input-number
@ -98,21 +98,21 @@
</el-form-item>
</template>
</el-table-column>
<el-table-column label="合计金额" prop="totalPrice" fixed="right" min-width="100">
<el-table-column :label="t('ErpStock.Item.totalPrice')" prop="totalPrice" fixed="right" min-width="100">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.totalPrice`" class="mb-0px!">
<el-input disabled v-model="row.totalPrice" :formatter="erpPriceInputFormatter" />
</el-form-item>
</template>
</el-table-column>
<el-table-column label="备注" fixed="right" min-width="150">
<el-table-column :label="t('ErpStock.Item.remark')" fixed="right" min-width="150">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.remark`" class="mb-0px!">
<el-input v-model="row.remark" placeholder="请输入备注" />
<el-input v-model="row.remark" :placeholder="t('ErpStock.Out.placeholderRemark')" />
</el-form-item>
</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="操作" width="60">
<el-table-column align="center" fixed="right" :label="t('ErpStock.Item.action')" width="60">
<template #default="{ $index }">
<el-button type="danger" @click="handleDelete($index)" link>
<Icon icon="ep:delete" />
@ -122,7 +122,7 @@
</el-table>
</el-form>
<el-row justify="center" class="mt-3" v-if="!disabled">
<el-button @click="handleAdd" round>+ 添加出库产品</el-button>
<el-button @click="handleAdd" round>+ {{ t('ErpStock.Out.addItem') }}</el-button>
</el-row>
</template>
<script setup lang="ts">
@ -142,11 +142,11 @@ const props = defineProps<{
}>()
const formLoading = ref(false) //
const formData = ref([])
const { t } = useI18n()
const formRules = reactive({
inId: [{ required: true, message: '出库编号不能为空', trigger: 'blur' }],
warehouseId: [{ required: true, message: '仓库不能为空', trigger: 'blur' }],
productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
warehouseId: [{ required: true, message: t('ErpStock.Item.validatorWarehouseRequired'), trigger: 'blur' }],
productId: [{ required: true, message: t('ErpStock.Item.validatorProductRequired'), trigger: 'blur' }],
count: [{ required: true, message: t('ErpStock.Item.validatorCountRequired'), trigger: 'blur' }]
})
const formRef = ref([]) // Ref
const productList = ref<ProductVO[]>([]) //
@ -213,7 +213,7 @@ const getSummaries = (param: SummaryMethodProps) => {
const sums: string[] = []
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = '合计'
sums[index] = t('common.total')
return
}
if (['count', 'totalPrice'].includes(column.property)) {

@ -6,23 +6,23 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
label-width="auto"
>
<el-form-item label="出库单号" prop="no">
<el-form-item :label="t('ErpStock.Out.no')" prop="no">
<el-input
v-model="queryParams.no"
placeholder="请输入出库单号"
:placeholder="t('ErpStock.Out.placeholderNo')"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="产品" prop="productId">
<el-form-item :label="t('ErpStock.In.product')" prop="productId">
<el-select
v-model="queryParams.productId"
clearable
filterable
placeholder="请选择产品"
:placeholder="t('ErpStock.In.placeholderProduct')"
class="!w-240px"
>
<el-option
@ -33,13 +33,13 @@
/>
</el-select>
</el-form-item>
<el-form-item label="出库时间" prop="outTime">
<el-form-item :label="t('ErpStock.Out.outTime')" prop="outTime">
<el-date-picker
v-model="queryParams.outTime"
value-format="YYYY-MM-DD HH:mm:ss"
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:start-placeholder="t('common.startTimeText')"
:end-placeholder="t('common.endTimeText')"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-240px"
/>
@ -60,12 +60,12 @@
/>
</el-select>
</el-form-item> -->
<el-form-item label="仓库" prop="warehouseId">
<el-form-item :label="t('ErpStock.Out.warehouse')" prop="warehouseId">
<el-select
v-model="queryParams.warehouseId"
clearable
filterable
placeholder="请选择仓库"
:placeholder="t('ErpStock.In.placeholderWarehouse')"
class="!w-240px"
>
<el-option
@ -76,12 +76,12 @@
/>
</el-select>
</el-form-item>
<el-form-item label="创建人" prop="creator">
<el-form-item :label="t('ErpStock.In.creator')" prop="creator">
<el-select
v-model="queryParams.creator"
clearable
filterable
placeholder="请选择创建人"
:placeholder="t('ErpStock.In.placeholderCreator')"
class="!w-240px"
>
<el-option
@ -92,8 +92,13 @@
/>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px">
<el-form-item :label="t('ErpStock.In.status')" prop="status">
<el-select
v-model="queryParams.status"
:placeholder="t('ErpStock.In.placeholderStatus')"
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.ERP_AUDIT_STATUS)"
:key="dict.value"
@ -102,25 +107,25 @@
/>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-form-item :label="t('ErpStock.Out.remark')" prop="remark">
<el-input
v-model="queryParams.remark"
placeholder="请输入备注"
:placeholder="t('ErpStock.Out.placeholderRemark')"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<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" /> 新增
<Icon icon="ep:plus" class="mr-5px" /> {{ t('common.add') }}
</el-button>
<el-button
type="success"
@ -129,7 +134,7 @@
:loading="exportLoading"
v-hasPermi="['erp:stock-out:export']"
>
<Icon icon="ep:download" class="mr-5px" /> 导出
<Icon icon="ep:download" class="mr-5px" /> {{ t('action.export') }}
</el-button>
<el-button
type="danger"
@ -138,7 +143,7 @@
v-hasPermi="['erp:stock-out:delete']"
:disabled="selectionList.length === 0"
>
<Icon icon="ep:delete" class="mr-5px" /> 删除
<Icon icon="ep:delete" class="mr-5px" /> {{ t('action.del') }}
</el-button>
</el-form-item>
</el-form>
@ -147,11 +152,11 @@
<!-- 列表 -->
<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-tab-pane :label="t('ErpStock.Out.tabPick')" name="领料出库" />
<!-- <el-tab-pane :label="t('ErpStock.Out.tabProduct')" name="产品出库" /> -->
<!-- <el-tab-pane :label="t('ErpStock.Out.tabMaterial')" name="原料出库" /> -->
<el-tab-pane :label="t('ErpStock.Out.tabPart')" name="备件出库" />
<el-tab-pane :label="t('ErpStock.Out.tabOther')" name="其他出库" />
</el-tabs>
<el-table
@ -161,21 +166,32 @@
:show-overflow-tooltip="true"
@selection-change="handleSelectionChange"
>
<el-table-column width="30" label="选择" type="selection" />
<el-table-column min-width="180" label="出库单号" align="center" prop="no" />
<el-table-column label="产品信息" align="left" sortable prop="productNames" min-width="180" />
<el-table-column width="30" :label="t('common.select')" type="selection" />
<el-table-column
min-width="180"
:label="t('ErpStock.Out.no')"
align="center"
prop="no"
/>
<el-table-column
:label="t('ErpStock.In.productInfo')"
align="left"
sortable
prop="productNames"
min-width="180"
/>
<!-- <el-table-column label="客户" align="center" prop="customerName" /> -->
<el-table-column
label="出库时间"
:label="t('ErpStock.Out.outTime')"
align="center"
sortable
prop="outTime"
:formatter="dateFormatter2"
width="120px"
/>
<el-table-column label="创建人" align="center" prop="creatorName" />
<el-table-column :label="t('ErpStock.In.creator')" align="center" prop="creatorName" />
<el-table-column
label="数量"
:label="t('ErpStock.In.count')"
align="right"
sortable
prop="totalCount"
@ -188,19 +204,25 @@
prop="totalPrice"
:formatter="erpPriceTableColumnFormatter"
/> -->
<el-table-column label="状态" align="center" fixed="right" width="90" prop="status">
<el-table-column
:label="t('ErpStock.In.status')"
align="center"
fixed="right"
width="90"
prop="status"
>
<template #default="scope">
<dict-tag :type="DICT_TYPE.ERP_AUDIT_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="操作" align="center" fixed="right" width="220">
<el-table-column :label="t('common.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('action.detail') }}
</el-button>
<el-button
link
@ -209,7 +231,7 @@
v-hasPermi="['erp:stock-out:update']"
:disabled="scope.row.status === 20"
>
编辑
{{ t('action.edit') }}
</el-button>
<el-button
link
@ -218,7 +240,7 @@
v-hasPermi="['erp:stock-out:update-status']"
v-if="scope.row.status === 10"
>
审批
{{ t('action.approve') }}
</el-button>
<el-button
link
@ -227,7 +249,7 @@
v-hasPermi="['erp:stock-out:update-status']"
v-else
>
反审批
{{ t('action.unapprove') }}
</el-button>
<el-button
link
@ -235,7 +257,7 @@
@click="handleDelete([scope.row.id])"
v-hasPermi="['erp:stock-out:delete']"
>
删除
{{ t('action.del') }}
</el-button>
</template>
</el-table-column>
@ -344,10 +366,12 @@ const handleDelete = async (ids: number[]) => {
const handleUpdateStatus = async (id: number, status: number) => {
try {
//
await message.confirm(`确定${status === 20 ? '审批' : '反审批'}该出库单吗?`)
const confirmText = status === 20 ? t('ErpStock.Out.confirmApprove') : t('ErpStock.Out.confirmReverseApprove')
await message.confirm(confirmText)
//
await StockOutApi.updateStockOutStatus(id, status)
message.success(`${status === 20 ? '审批' : '反审批'}成功`)
const successText = status === 20 ? t('ErpStock.Out.approveSuccess') : t('ErpStock.Out.reverseApproveSuccess')
message.success(successText)
//
await getList()
} catch {}
@ -361,7 +385,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await StockOutApi.exportStockOut(queryParams)
download.excel(data, '其它出库单.xls')
download.excel(data, t('ErpStock.Out.exportName'))
} catch {
} finally {
exportLoading.value = false

@ -8,14 +8,14 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
label-width="auto"
>
<el-form-item label="产品" prop="productId">
<el-form-item :label="t('ErpStock.Record.product')" prop="productId">
<el-select
v-model="queryParams.productId"
clearable
filterable
placeholder="请选择产品"
:placeholder="t('ErpStock.Record.placeholderProduct')"
class="!w-240px"
>
<el-option
@ -26,12 +26,12 @@
/>
</el-select>
</el-form-item>
<el-form-item label="仓库" prop="warehouseId">
<el-form-item :label="t('ErpStock.Record.warehouse')" prop="warehouseId">
<el-select
v-model="queryParams.warehouseId"
clearable
filterable
placeholder="请选择仓库"
:placeholder="t('ErpStock.Record.placeholderWarehouse')"
class="!w-240px"
>
<el-option
@ -42,10 +42,10 @@
/>
</el-select>
</el-form-item>
<el-form-item label="类型" prop="bizType">
<el-form-item :label="t('ErpStock.Record.bizType')" prop="bizType">
<el-select
v-model="queryParams.bizType"
placeholder="请选择类型"
:placeholder="t('ErpStock.Record.placeholderBizType')"
clearable
class="!w-240px"
>
@ -57,36 +57,36 @@
/>
</el-select>
</el-form-item>
<el-form-item label="业务单号" prop="bizNo">
<el-form-item :label="t('ErpStock.Record.bizNo')" prop="bizNo">
<el-input
v-model="queryParams.bizNo"
placeholder="请输入业务单号"
:placeholder="t('ErpStock.Record.placeholderBizNo')"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-form-item :label="t('common.createTime')" prop="createTime">
<el-date-picker
v-model="queryParams.createTime"
value-format="YYYY-MM-DD HH:mm:ss"
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:start-placeholder="t('ErpStock.Record.placeholderCreateTimeStart')"
:end-placeholder="t('ErpStock.Record.placeholderCreateTimeEnd')"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-220px"
/>
</el-form-item>
<el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<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-record:create']"
>
<Icon icon="ep:plus" class="mr-5px" /> 新增
<Icon icon="ep:plus" class="mr-5px" /> {{ t('common.add') }}
</el-button>
<el-button
type="success"
@ -95,7 +95,7 @@
:loading="exportLoading"
v-hasPermi="['erp:stock-record:export']"
>
<Icon icon="ep:download" class="mr-5px" /> 导出
<Icon icon="ep:download" class="mr-5px" /> {{ t('action.export') }}
</el-button>
</el-form-item>
</el-form>
@ -104,27 +104,27 @@
<!-- 列表 -->
<ContentWrap>
<el-tabs v-model="activeName" @tab-click="handleTabClick">
<el-tab-pane label="产品" name="2" />
<el-tab-pane label="原料" name="1" />
<el-tab-pane label="备件" name="5" />
<el-tab-pane label="工具" name="3" />
<el-tab-pane label="耗材" name="4" />
<el-tab-pane label="其他" name="0" />
<el-tab-pane :label="t('ErpStock.Record.categoryProduct')" name="2" />
<el-tab-pane :label="t('ErpStock.Record.categoryMaterial')" name="1" />
<el-tab-pane :label="t('ErpStock.Record.categorySpare')" name="5" />
<el-tab-pane :label="t('ErpStock.Record.categoryTool')" name="3" />
<el-tab-pane :label="t('ErpStock.Record.categoryConsumable')" name="4" />
<el-tab-pane :label="t('ErpStock.Record.categoryOther')" name="0" />
</el-tabs>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="产品名称" align="left" sortable prop="productName" width="210px"/>
<el-table-column label="产品分类" align="center" prop="categoryName" />
<el-table-column label="产品单位" align="center" prop="unitName" />
<el-table-column label="仓库编号" align="center" prop="warehouseName" />
<el-table-column label="类型" align="center" prop="bizType" min-width="100">
<el-table-column :label="t('ErpStock.Record.productName')" align="left" sortable prop="productName" width="210px" />
<el-table-column :label="t('ErpStock.Record.categoryName')" align="center" prop="categoryName" />
<el-table-column :label="t('ErpStock.Record.unitName')" align="center" prop="unitName" />
<el-table-column :label="t('ErpStock.Record.warehouseName')" align="center" prop="warehouseName" />
<el-table-column :label="t('ErpStock.Record.bizType')" align="center" prop="bizType" min-width="100">
<template #default="scope">
<dict-tag :type="DICT_TYPE.ERP_STOCK_RECORD_BIZ_TYPE" :value="scope.row.bizType" />
</template>
</el-table-column>
<el-table-column label="出入库单号" align="center" prop="bizNo" width="200" />
<el-table-column :label="t('ErpStock.Record.bizNo')" align="center" prop="bizNo" width="200" />
<el-table-column
label="出入库数量"
:label="t('ErpStock.Record.count')"
align="right"
sortable
prop="count"
@ -132,7 +132,7 @@
:formatter="erpCountTableColumnFormatter"
/>
<el-table-column
label="库存量"
:label="t('ErpStock.Record.totalCount')"
align="right"
sortable
prop="totalCount"
@ -140,7 +140,7 @@
:formatter="erpCountTableColumnFormatter"
/>
<el-table-column
label="出入库日期"
:label="t('ErpStock.Record.recordTime')"
align="center"
sortable
prop="recordTime"
@ -148,13 +148,13 @@
width="120px"
/>
<el-table-column
label="创建日期"
:label="t('ErpStock.Record.createTime')"
align="center"
prop="createTime"
:formatter="dateFormatter"
width="180px"
/>
<el-table-column label="操作人" align="center" prop="creatorName" />
<el-table-column :label="t('ErpStock.Record.creatorName')" align="center" prop="creatorName" />
</el-table>
<!-- 分页 -->
<Pagination

@ -7,21 +7,21 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
label-width="auto"
>
<el-form-item label="仓库名称" prop="name">
<el-form-item :label="t('ErpStock.Warehouse.name')" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入仓库名称"
:placeholder="t('ErpStock.Warehouse.placeholderName')"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="仓库状态" prop="status">
<el-form-item :label="t('ErpStock.Warehouse.status')" prop="status">
<el-select
v-model="queryParams.status"
placeholder="请选择仓库状态"
:placeholder="t('ErpStock.Warehouse.placeholderStatus')"
clearable
class="!w-240px"
>
@ -34,15 +34,15 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<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:warehouse:create']"
>
<Icon icon="ep:plus" class="mr-5px" /> 新增
<Icon icon="ep:plus" class="mr-5px" /> {{ t('action.add') }}
</el-button>
<el-button
type="success"
@ -51,7 +51,7 @@
:loading="exportLoading"
v-hasPermi="['erp:warehouse:export']"
>
<Icon icon="ep:download" class="mr-5px" /> 导出
<Icon icon="ep:download" class="mr-5px" /> {{ t('action.export') }}
</el-button>
</el-form-item>
</el-form>
@ -60,8 +60,8 @@
<!-- 列表 -->
<ContentWrap>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="仓库名称" align="center" prop="name" />
<el-table-column label="仓库地址" align="center" prop="address" />
<el-table-column :label="t('ErpStock.Warehouse.name')" align="center" prop="name" />
<el-table-column :label="t('ErpStock.Warehouse.address')" align="center" prop="address" />
<!-- <el-table-column
label="仓储费"
align="center"
@ -74,15 +74,15 @@
prop="truckagePrice"
:formatter="erpPriceTableColumnFormatter"
/> -->
<el-table-column label="负责人" align="center" prop="principal" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="排序" align="center" prop="sort" />
<el-table-column label="状态" align="center" prop="status">
<el-table-column :label="t('ErpStock.Warehouse.principal')" align="center" prop="principal" />
<el-table-column :label="t('ErpStock.Warehouse.remark')" align="center" prop="remark" />
<el-table-column :label="t('ErpStock.Warehouse.sort')" align="center" prop="sort" />
<el-table-column :label="t('ErpStock.Warehouse.status')" align="center" prop="status">
<template #default="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="是否默认" align="center" prop="defaultStatus">
<el-table-column :label="t('ErpStock.Warehouse.defaultStatus')" align="center" prop="defaultStatus">
<template #default="scope">
<el-switch
v-model="scope.row.defaultStatus"
@ -93,13 +93,13 @@
</template>
</el-table-column>
<el-table-column
label="创建时间"
:label="t('ErpStock.Warehouse.createTime')"
align="center"
prop="createTime"
:formatter="dateFormatter"
width="180px"
/>
<el-table-column label="操作" align="center">
<el-table-column :label="t('common.operate')" align="center">
<template #default="scope">
<el-button
link
@ -107,7 +107,7 @@
@click="openForm('update', scope.row.id)"
v-hasPermi="['erp:warehouse:update']"
>
编辑
{{ t('action.edit') }}
</el-button>
<el-button
link
@ -115,7 +115,7 @@
@click="handleDelete(scope.row.id)"
v-hasPermi="['erp:warehouse:delete']"
>
删除
{{ t('action.del') }}
</el-button>
</template>
</el-table-column>
@ -206,8 +206,9 @@ const handleDelete = async (id: number) => {
const handleDefaultStatusChange = async (row: WarehouseVO) => {
try {
//
const text = row.defaultStatus ? '设置' : '取消'
await message.confirm('确认要' + text + '"' + row.name + '"默认吗?')
const actionText = row.defaultStatus ? t('ErpStock.Warehouse.set') : t('ErpStock.Warehouse.cancel')
const text = t('ErpStock.Warehouse.confirmDefaultStatus', { action: actionText, name: row.name })
await message.confirm(text)
//
await WarehouseApi.updateWarehouseDefaultStatus(row.id, row.defaultStatus)
//
@ -226,7 +227,7 @@ const handleExport = async () => {
//
exportLoading.value = true
const data = await WarehouseApi.exportWarehouse(queryParams)
download.excel(data, '仓库.xls')
download.excel(data, t('ErpStock.Warehouse.exportName'))
} catch {
} finally {
exportLoading.value = false

@ -149,7 +149,7 @@ const total = ref(0) // 列表的总页数
const queryParams = reactive({
pageNo: 1,
pageSize: 10,
operateType: undefined,
operateType: '1',
moldId: undefined,
deviceId: undefined,
remark: undefined,

Loading…
Cancel
Save