|
|
|
|
@ -1,283 +1,262 @@
|
|
|
|
|
<template>
|
|
|
|
|
<ContentWrap>
|
|
|
|
|
<!-- 搜索工作栏 -->
|
|
|
|
|
<el-form
|
|
|
|
|
class="-mb-15px"
|
|
|
|
|
:model="queryParams"
|
|
|
|
|
ref="queryFormRef"
|
|
|
|
|
:inline="true"
|
|
|
|
|
label-width="auto"
|
|
|
|
|
>
|
|
|
|
|
<el-form-item :label="t('ErpStock.In.no')" prop="no">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.no"
|
|
|
|
|
:placeholder="t('ErpStock.In.placeholderNo')"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter="handleQuery"
|
|
|
|
|
class="!w-240px"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="t('ErpStock.In.product')" prop="productId">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="queryParams.productId"
|
|
|
|
|
clearable
|
|
|
|
|
filterable
|
|
|
|
|
:placeholder="t('ErpStock.In.placeholderProduct')"
|
|
|
|
|
class="!w-240px"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in productList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<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="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"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- <el-form-item label="供应商" prop="supplierId">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="queryParams.supplierId"
|
|
|
|
|
clearable
|
|
|
|
|
filterable
|
|
|
|
|
placeholder="请选择供应商"
|
|
|
|
|
class="!w-240px"
|
|
|
|
|
<div class="dv-repair-page">
|
|
|
|
|
<template v-if="!formVisible">
|
|
|
|
|
<ContentWrap>
|
|
|
|
|
<!-- 搜索工作栏 -->
|
|
|
|
|
<el-form
|
|
|
|
|
class="-mb-15px"
|
|
|
|
|
:model="queryParams"
|
|
|
|
|
ref="queryFormRef"
|
|
|
|
|
:inline="true"
|
|
|
|
|
label-width="auto"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in supplierList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item> -->
|
|
|
|
|
<el-form-item :label="t('ErpStock.In.warehouse')" prop="warehouseId" v-show="showAllFilters">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="queryParams.warehouseId"
|
|
|
|
|
clearable
|
|
|
|
|
filterable
|
|
|
|
|
:placeholder="t('ErpStock.In.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('ErpStock.In.creator')" prop="creator" v-show="showAllFilters">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="queryParams.creator"
|
|
|
|
|
clearable
|
|
|
|
|
filterable
|
|
|
|
|
:placeholder="t('ErpStock.In.placeholderCreator')"
|
|
|
|
|
class="!w-240px"
|
|
|
|
|
<el-form-item :label="t('ErpStock.In.no')" prop="no">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.no"
|
|
|
|
|
:placeholder="t('ErpStock.In.placeholderNo')"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter="handleQuery"
|
|
|
|
|
class="!w-240px"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="t('ErpStock.In.product')" prop="productId">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="queryParams.productId"
|
|
|
|
|
clearable
|
|
|
|
|
filterable
|
|
|
|
|
:placeholder="t('ErpStock.In.placeholderProduct')"
|
|
|
|
|
class="!w-240px"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in productList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.name"
|
|
|
|
|
:value="item.id"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<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="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"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="t('ErpStock.In.warehouse')" prop="warehouseId" v-show="showAllFilters">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="queryParams.warehouseId"
|
|
|
|
|
clearable
|
|
|
|
|
filterable
|
|
|
|
|
:placeholder="t('ErpStock.In.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('ErpStock.In.creator')" prop="creator" v-show="showAllFilters">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="queryParams.creator"
|
|
|
|
|
clearable
|
|
|
|
|
filterable
|
|
|
|
|
:placeholder="t('ErpStock.In.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('ErpStock.In.status')" prop="status" v-show="showAllFilters">
|
|
|
|
|
<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"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="t('ErpStock.In.remark')" prop="remark" v-show="showAllFilters">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.remark"
|
|
|
|
|
:placeholder="t('ErpStock.In.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-in:create']"
|
|
|
|
|
>
|
|
|
|
|
<Icon icon="ep:plus" class="mr-5px" /> {{ t('action.add') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
type="success"
|
|
|
|
|
plain
|
|
|
|
|
@click="handleExport"
|
|
|
|
|
:loading="exportLoading"
|
|
|
|
|
v-hasPermi="['erp:stock-in:export']"
|
|
|
|
|
>
|
|
|
|
|
<Icon icon="ep:download" class="mr-5px" /> {{ t('action.export') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
type="danger"
|
|
|
|
|
plain
|
|
|
|
|
@click="handleDelete(selectionList.map((item) => item.id))"
|
|
|
|
|
v-hasPermi="['erp:stock-in:delete']"
|
|
|
|
|
:disabled="selectionList.length === 0"
|
|
|
|
|
>
|
|
|
|
|
<Icon icon="ep:delete" class="mr-5px" /> {{ t('action.del') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
</ContentWrap>
|
|
|
|
|
|
|
|
|
|
<!-- 列表 -->
|
|
|
|
|
<ContentWrap>
|
|
|
|
|
<el-tabs v-model="activeName" @tab-click="handleTabClick">
|
|
|
|
|
<el-tab-pane :label="t('ErpStock.In.tabProduct')" name="产品入库" />
|
|
|
|
|
<el-tab-pane :label="t('ErpStock.In.tabPart')" name="备件入库" />
|
|
|
|
|
<el-tab-pane :label="t('ErpStock.In.tabOther')" name="其他入库" />
|
|
|
|
|
</el-tabs>
|
|
|
|
|
|
|
|
|
|
<el-table
|
|
|
|
|
v-loading="loading"
|
|
|
|
|
:data="list"
|
|
|
|
|
:stripe="true"
|
|
|
|
|
:show-overflow-tooltip="true"
|
|
|
|
|
@selection-change="handleSelectionChange"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
v-for="item in userList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
:label="item.nickname"
|
|
|
|
|
:value="item.id"
|
|
|
|
|
<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"
|
|
|
|
|
sortable />
|
|
|
|
|
<el-table-column
|
|
|
|
|
:label="t('ErpStock.In.productInfo')"
|
|
|
|
|
align="left"
|
|
|
|
|
sortable
|
|
|
|
|
prop="productNames"
|
|
|
|
|
min-width="200"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="t('ErpStock.In.status')" prop="status" v-show="showAllFilters">
|
|
|
|
|
<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"
|
|
|
|
|
:label="dict.label"
|
|
|
|
|
:value="dict.value"
|
|
|
|
|
<el-table-column
|
|
|
|
|
:label="t('ErpStock.In.inTime')"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="inTime"
|
|
|
|
|
:formatter="dateFormatter2"
|
|
|
|
|
width="120px"
|
|
|
|
|
sortable />
|
|
|
|
|
<el-table-column :label="t('ErpStock.In.creator')" align="center" prop="creatorName" sortable />
|
|
|
|
|
<el-table-column
|
|
|
|
|
:label="t('ErpStock.In.count')"
|
|
|
|
|
align="right"
|
|
|
|
|
sortable
|
|
|
|
|
prop="totalCount"
|
|
|
|
|
:formatter="erpCountTableColumnFormatter"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item :label="t('ErpStock.In.remark')" prop="remark" v-show="showAllFilters">
|
|
|
|
|
<el-input
|
|
|
|
|
v-model="queryParams.remark"
|
|
|
|
|
:placeholder="t('ErpStock.In.placeholderRemark')"
|
|
|
|
|
clearable
|
|
|
|
|
@keyup.enter="handleQuery"
|
|
|
|
|
class="!w-240px"
|
|
|
|
|
<el-table-column
|
|
|
|
|
:label="t('ErpStock.In.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('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
|
|
|
|
|
type="primary"
|
|
|
|
|
@click="openForm('update', scope.row.id)"
|
|
|
|
|
v-hasPermi="['erp:stock-in:update']"
|
|
|
|
|
:disabled="scope.row.status === 20"
|
|
|
|
|
>
|
|
|
|
|
{{ t('action.edit') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
link
|
|
|
|
|
type="primary"
|
|
|
|
|
@click="handleUpdateStatus(scope.row.id, 20)"
|
|
|
|
|
v-hasPermi="['erp:stock-in:update-status']"
|
|
|
|
|
v-if="scope.row.status === 10"
|
|
|
|
|
>
|
|
|
|
|
{{ t('action.approve') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
link
|
|
|
|
|
type="danger"
|
|
|
|
|
@click="handleUpdateStatus(scope.row.id, 10)"
|
|
|
|
|
v-hasPermi="['erp:stock-in:update-status']"
|
|
|
|
|
v-else
|
|
|
|
|
>
|
|
|
|
|
{{ t('action.unapprove') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
link
|
|
|
|
|
type="danger"
|
|
|
|
|
@click="handleDelete([scope.row.id])"
|
|
|
|
|
v-hasPermi="['erp:stock-in:delete']"
|
|
|
|
|
>
|
|
|
|
|
{{ t('action.del') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
<!-- 分页 -->
|
|
|
|
|
<Pagination
|
|
|
|
|
:total="total"
|
|
|
|
|
v-model:page="queryParams.pageNo"
|
|
|
|
|
v-model:limit="queryParams.pageSize"
|
|
|
|
|
@pagination="getList"
|
|
|
|
|
/>
|
|
|
|
|
</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-in:create']"
|
|
|
|
|
>
|
|
|
|
|
<Icon icon="ep:plus" class="mr-5px" /> {{ t('action.add') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
type="success"
|
|
|
|
|
plain
|
|
|
|
|
@click="handleExport"
|
|
|
|
|
:loading="exportLoading"
|
|
|
|
|
v-hasPermi="['erp:stock-in:export']"
|
|
|
|
|
>
|
|
|
|
|
<Icon icon="ep:download" class="mr-5px" /> {{ t('action.export') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
type="danger"
|
|
|
|
|
plain
|
|
|
|
|
@click="handleDelete(selectionList.map((item) => item.id))"
|
|
|
|
|
v-hasPermi="['erp:stock-in:delete']"
|
|
|
|
|
:disabled="selectionList.length === 0"
|
|
|
|
|
>
|
|
|
|
|
<Icon icon="ep:delete" class="mr-5px" /> {{ t('action.del') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
</ContentWrap>
|
|
|
|
|
|
|
|
|
|
<!-- 列表 -->
|
|
|
|
|
<ContentWrap>
|
|
|
|
|
<el-tabs v-model="activeName" @tab-click="handleTabClick">
|
|
|
|
|
<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>
|
|
|
|
|
</ContentWrap>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<el-table
|
|
|
|
|
v-loading="loading"
|
|
|
|
|
:data="list"
|
|
|
|
|
:stripe="true"
|
|
|
|
|
:show-overflow-tooltip="true"
|
|
|
|
|
@selection-change="handleSelectionChange"
|
|
|
|
|
>
|
|
|
|
|
<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"
|
|
|
|
|
sortable />
|
|
|
|
|
<el-table-column
|
|
|
|
|
:label="t('ErpStock.In.productInfo')"
|
|
|
|
|
align="left"
|
|
|
|
|
sortable
|
|
|
|
|
prop="productNames"
|
|
|
|
|
min-width="200"
|
|
|
|
|
/>
|
|
|
|
|
<!-- <el-table-column label="供应商" align="center" prop="supplierName" sortable /> -->
|
|
|
|
|
<el-table-column
|
|
|
|
|
:label="t('ErpStock.In.inTime')"
|
|
|
|
|
align="center"
|
|
|
|
|
prop="inTime"
|
|
|
|
|
:formatter="dateFormatter2"
|
|
|
|
|
width="120px"
|
|
|
|
|
sortable />
|
|
|
|
|
<el-table-column :label="t('ErpStock.In.creator')" align="center" prop="creatorName" sortable />
|
|
|
|
|
<el-table-column
|
|
|
|
|
:label="t('ErpStock.In.count')"
|
|
|
|
|
align="right"
|
|
|
|
|
sortable
|
|
|
|
|
prop="totalCount"
|
|
|
|
|
:formatter="erpCountTableColumnFormatter"
|
|
|
|
|
/>
|
|
|
|
|
<!-- <el-table-column
|
|
|
|
|
label="金额"
|
|
|
|
|
align="right"
|
|
|
|
|
sortable
|
|
|
|
|
prop="totalPrice"
|
|
|
|
|
:formatter="erpPriceTableColumnFormatter"
|
|
|
|
|
/> -->
|
|
|
|
|
<el-table-column
|
|
|
|
|
:label="t('ErpStock.In.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('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
|
|
|
|
|
type="primary"
|
|
|
|
|
@click="openForm('update', scope.row.id)"
|
|
|
|
|
v-hasPermi="['erp:stock-in:update']"
|
|
|
|
|
:disabled="scope.row.status === 20"
|
|
|
|
|
>
|
|
|
|
|
{{ t('action.edit') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
link
|
|
|
|
|
type="primary"
|
|
|
|
|
@click="handleUpdateStatus(scope.row.id, 20)"
|
|
|
|
|
v-hasPermi="['erp:stock-in:update-status']"
|
|
|
|
|
v-if="scope.row.status === 10"
|
|
|
|
|
>
|
|
|
|
|
{{ t('action.approve') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
link
|
|
|
|
|
type="danger"
|
|
|
|
|
@click="handleUpdateStatus(scope.row.id, 10)"
|
|
|
|
|
v-hasPermi="['erp:stock-in:update-status']"
|
|
|
|
|
v-else
|
|
|
|
|
>
|
|
|
|
|
{{ t('action.unapprove') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
<el-button
|
|
|
|
|
link
|
|
|
|
|
type="danger"
|
|
|
|
|
@click="handleDelete([scope.row.id])"
|
|
|
|
|
v-hasPermi="['erp:stock-in:delete']"
|
|
|
|
|
>
|
|
|
|
|
{{ t('action.del') }}
|
|
|
|
|
</el-button>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
</el-table>
|
|
|
|
|
<!-- 分页 -->
|
|
|
|
|
<Pagination
|
|
|
|
|
:total="total"
|
|
|
|
|
v-model:page="queryParams.pageNo"
|
|
|
|
|
v-model:limit="queryParams.pageSize"
|
|
|
|
|
@pagination="getList"
|
|
|
|
|
/>
|
|
|
|
|
</ContentWrap>
|
|
|
|
|
|
|
|
|
|
<!-- 表单弹窗:添加/修改 -->
|
|
|
|
|
<StockInForm ref="formRef" @success="getList" />
|
|
|
|
|
<!-- 表单面板:添加/修改 -->
|
|
|
|
|
<StockInForm v-else ref="formRef" @success="getList" @closed="formVisible = false" />
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
|
|
@ -325,6 +304,8 @@ const warehouseList = ref<WarehouseVO[]>([]) // 仓库列表
|
|
|
|
|
const supplierList = ref<SupplierVO[]>([]) // 供应商列表
|
|
|
|
|
const userList = ref<UserVO[]>([]) // 用户列表
|
|
|
|
|
|
|
|
|
|
const formVisible = ref(false) // 表单是否可见
|
|
|
|
|
|
|
|
|
|
/** 查询列表 */
|
|
|
|
|
const getList = async () => {
|
|
|
|
|
loading.value = true
|
|
|
|
|
@ -352,7 +333,10 @@ const resetQuery = () => {
|
|
|
|
|
/** 添加/修改操作 */
|
|
|
|
|
const formRef = ref()
|
|
|
|
|
const openForm = (type: string, id?: number) => {
|
|
|
|
|
formRef.value.open(type, id)
|
|
|
|
|
formVisible.value = true
|
|
|
|
|
nextTick(() => {
|
|
|
|
|
formRef.value.open(type, id)
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 删除按钮操作 */
|
|
|
|
|
@ -420,8 +404,6 @@ onMounted(async () => {
|
|
|
|
|
supplierList.value = await SupplierApi.getSupplierSimpleList()
|
|
|
|
|
userList.value = await UserApi.getSimpleUserList()
|
|
|
|
|
})
|
|
|
|
|
// TODO 芋艿:可优化功能:列表界面,支持导入
|
|
|
|
|
// TODO 芋艿:可优化功能:详情界面,支持打印
|
|
|
|
|
let activeName = '产品入库'
|
|
|
|
|
const handleTabClick = (tab: TabsPaneContext) => {
|
|
|
|
|
queryParams.inType = tab.paneName
|
|
|
|
|
|