|
|
@ -1,304 +1,56 @@ |
|
|
|
<template> |
|
|
|
<ContentWrap> |
|
|
|
<!-- 搜索工作栏 --> |
|
|
|
<el-form |
|
|
|
class="-mb-15px" |
|
|
|
:model="queryParams" |
|
|
|
ref="queryFormRef" |
|
|
|
:inline="true" |
|
|
|
label-width="68px" |
|
|
|
> |
|
|
|
<el-form-item label="发货单号" prop="asnNumber"> |
|
|
|
<el-input |
|
|
|
v-model="queryParams.asnNumber" |
|
|
|
placeholder="请输入发货单号" |
|
|
|
clearable |
|
|
|
@keyup.enter="handleQuery" |
|
|
|
class="!w-240px" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="要货计划单号" prop="ppNumber"> |
|
|
|
<el-input |
|
|
|
v-model="queryParams.ppNumber" |
|
|
|
placeholder="请输入要货计划单号" |
|
|
|
clearable |
|
|
|
@keyup.enter="handleQuery" |
|
|
|
class="!w-240px" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="供应商代码" prop="supplierCode"> |
|
|
|
<el-input |
|
|
|
v-model="queryParams.supplierCode" |
|
|
|
placeholder="请输入供应商代码" |
|
|
|
clearable |
|
|
|
@keyup.enter="handleQuery" |
|
|
|
class="!w-240px" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="单据号" prop="number"> |
|
|
|
<el-input |
|
|
|
v-model="queryParams.number" |
|
|
|
placeholder="请输入单据号" |
|
|
|
clearable |
|
|
|
@keyup.enter="handleQuery" |
|
|
|
class="!w-240px" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="业务类型" prop="businessType"> |
|
|
|
<el-input |
|
|
|
v-model="queryParams.businessType" |
|
|
|
placeholder="请输入业务类型" |
|
|
|
clearable |
|
|
|
@keyup.enter="handleQuery" |
|
|
|
class="!w-240px" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="备注" prop="remark"> |
|
|
|
<el-input |
|
|
|
v-model="queryParams.remark" |
|
|
|
placeholder="请输入备注" |
|
|
|
clearable |
|
|
|
@keyup.enter="handleQuery" |
|
|
|
class="!w-240px" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="创建时间" prop="createTime"> |
|
|
|
<el-date-picker |
|
|
|
v-model="queryParams.createTime" |
|
|
|
value-format="YYYY-MM-DD HH:mm:ss" |
|
|
|
type="daterange" |
|
|
|
start-placeholder="开始日期" |
|
|
|
end-placeholder="结束日期" |
|
|
|
: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="creator"> |
|
|
|
<el-input |
|
|
|
v-model="queryParams.creator" |
|
|
|
placeholder="请输入创建者用户名" |
|
|
|
clearable |
|
|
|
@keyup.enter="handleQuery" |
|
|
|
class="!w-240px" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="申请时间" prop="requestTime"> |
|
|
|
<el-date-picker |
|
|
|
v-model="queryParams.requestTime" |
|
|
|
value-format="YYYY-MM-DD HH:mm:ss" |
|
|
|
type="daterange" |
|
|
|
start-placeholder="开始日期" |
|
|
|
end-placeholder="结束日期" |
|
|
|
: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="dueTime"> |
|
|
|
<el-date-picker |
|
|
|
v-model="queryParams.dueTime" |
|
|
|
value-format="YYYY-MM-DD HH:mm:ss" |
|
|
|
type="daterange" |
|
|
|
start-placeholder="开始日期" |
|
|
|
end-placeholder="结束日期" |
|
|
|
: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="departmentCode"> |
|
|
|
<el-input |
|
|
|
v-model="queryParams.departmentCode" |
|
|
|
placeholder="请输入部门" |
|
|
|
clearable |
|
|
|
@keyup.enter="handleQuery" |
|
|
|
class="!w-240px" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="状态" prop="status"> |
|
|
|
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px"> |
|
|
|
<el-option |
|
|
|
v-for="dict in getStrDictOptions(DICT_TYPE.REQUEST_STATUS)" |
|
|
|
:key="dict.value" |
|
|
|
:label="dict.label" |
|
|
|
:value="dict.value" |
|
|
|
/> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="最后更新时间" prop="updateTime"> |
|
|
|
<el-date-picker |
|
|
|
v-model="queryParams.updateTime" |
|
|
|
value-format="YYYY-MM-DD HH:mm:ss" |
|
|
|
type="daterange" |
|
|
|
start-placeholder="开始日期" |
|
|
|
end-placeholder="结束日期" |
|
|
|
: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="updater"> |
|
|
|
<el-input |
|
|
|
v-model="queryParams.updater" |
|
|
|
placeholder="请输入最后更新者用户名" |
|
|
|
clearable |
|
|
|
@keyup.enter="handleQuery" |
|
|
|
class="!w-240px" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="自动提交" prop="autoCommit"> |
|
|
|
<el-input |
|
|
|
v-model="queryParams.autoCommit" |
|
|
|
placeholder="请输入自动提交" |
|
|
|
clearable |
|
|
|
@keyup.enter="handleQuery" |
|
|
|
class="!w-240px" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="自动通过" prop="autoAgree"> |
|
|
|
<el-input |
|
|
|
v-model="queryParams.autoAgree" |
|
|
|
placeholder="请输入自动通过" |
|
|
|
clearable |
|
|
|
@keyup.enter="handleQuery" |
|
|
|
class="!w-240px" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="自动执行" prop="autoExecute"> |
|
|
|
<el-input |
|
|
|
v-model="queryParams.autoExecute" |
|
|
|
placeholder="请输入自动执行" |
|
|
|
clearable |
|
|
|
@keyup.enter="handleQuery" |
|
|
|
class="!w-240px" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="直接生成记录" prop="directCreateRecord"> |
|
|
|
<el-input |
|
|
|
v-model="queryParams.directCreateRecord" |
|
|
|
placeholder="请输入直接生成记录" |
|
|
|
clearable |
|
|
|
@keyup.enter="handleQuery" |
|
|
|
class="!w-240px" |
|
|
|
/> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<el-button type="info" plain @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> |
|
|
|
<el-button type="info" plain @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> |
|
|
|
<el-button |
|
|
|
type="primary" |
|
|
|
@click="openForm('create')" |
|
|
|
v-hasPermi="['wms:purchaseclaim-request-main:create']" |
|
|
|
> |
|
|
|
<Icon icon="ep:plus" class="mr-5px" /> 新增 |
|
|
|
</el-button> |
|
|
|
<el-button |
|
|
|
type="success" |
|
|
|
@click="handleExport" |
|
|
|
:loading="exportLoading" |
|
|
|
v-hasPermi="['wms:purchaseclaim-request-main:export']" |
|
|
|
> |
|
|
|
<Icon icon="ep:download" class="mr-5px" /> 导出 |
|
|
|
</el-button> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<Search :schema="PurchaseclaimRequestMain.allSchemas.searchSchema" @search="setSearchParams" |
|
|
|
@reset="setSearchParams" /> |
|
|
|
</ContentWrap> |
|
|
|
<!-- 列表头部 --> |
|
|
|
<TableHead :HeadButttondata="HeadButttondata" @button-base-click="buttonBaseClick" :tableColumns="PurchaseclaimRequestMain.allSchemas.tableColumns"/> |
|
|
|
|
|
|
|
<!-- 列表 --> |
|
|
|
<ContentWrap> |
|
|
|
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> |
|
|
|
<el-table-column label="发货单号" align="center" prop="asnNumber" width="150px" /> |
|
|
|
<el-table-column label="要货计划单号" align="center" prop="ppNumber" width="150px" /> |
|
|
|
<el-table-column label="供应商代码" align="center" prop="supplierCode" width="150px" /> |
|
|
|
<el-table-column label="单据号" align="center" prop="number" width="150px" /> |
|
|
|
<el-table-column label="业务类型" align="center" prop="businessType" width="150px" /> |
|
|
|
<el-table-column label="备注" align="center" prop="remark" width="150px" /> |
|
|
|
<el-table-column |
|
|
|
label="创建时间" |
|
|
|
align="center" |
|
|
|
prop="createTime" |
|
|
|
:formatter="dateFormatter" |
|
|
|
width="150px" |
|
|
|
/> |
|
|
|
<el-table-column label="创建者用户名" align="center" prop="creator" width="150px" /> |
|
|
|
<el-table-column |
|
|
|
label="申请时间" |
|
|
|
align="center" |
|
|
|
prop="requestTime" |
|
|
|
:formatter="dateFormatter" |
|
|
|
width="150px" |
|
|
|
/> |
|
|
|
<el-table-column |
|
|
|
label="截止时间" |
|
|
|
align="center" |
|
|
|
prop="dueTime" |
|
|
|
:formatter="dateFormatter" |
|
|
|
width="150px" |
|
|
|
/> |
|
|
|
<el-table-column label="部门" align="center" prop="departmentCode" width="150px" /> |
|
|
|
<el-table-column label="状态" align="center" prop="status" width="150px"> |
|
|
|
<template #default="scope"> |
|
|
|
<dict-tag :type="DICT_TYPE.REQUEST_STATUS" :value="scope.row.status" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
label="最后更新时间" |
|
|
|
align="center" |
|
|
|
prop="updateTime" |
|
|
|
:formatter="dateFormatter" |
|
|
|
width="150px" |
|
|
|
/> |
|
|
|
<el-table-column label="最后更新者用户名" align="center" prop="updater" width="150px" /> |
|
|
|
<el-table-column label="自动提交" align="center" prop="autoCommit" width="150px" /> |
|
|
|
<el-table-column label="自动通过" align="center" prop="autoAgree" width="150px" /> |
|
|
|
<el-table-column label="自动执行" align="center" prop="autoExecute" width="150px" /> |
|
|
|
<el-table-column label="直接生成记录" align="center" prop="directCreateRecord" width="150px" /> |
|
|
|
<el-table-column label="操作" align="center" width="150px" fixed="right"> |
|
|
|
<template #default="scope"> |
|
|
|
<el-button |
|
|
|
link |
|
|
|
type="primary" |
|
|
|
@click="openForm('update', scope.row.id)" |
|
|
|
v-hasPermi="['wms:purchaseclaim-request-main:update']" |
|
|
|
> |
|
|
|
编辑 |
|
|
|
</el-button> |
|
|
|
<el-button |
|
|
|
link |
|
|
|
type="danger" |
|
|
|
@click="handleDelete(scope.row.id)" |
|
|
|
v-hasPermi="['wms:purchaseclaim-request-main:delete']" |
|
|
|
> |
|
|
|
删除 |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<!-- 分页 --> |
|
|
|
<Pagination |
|
|
|
:total="total" |
|
|
|
v-model:page="queryParams.pageNo" |
|
|
|
v-model:limit="queryParams.pageSize" |
|
|
|
@pagination="getList" |
|
|
|
/> |
|
|
|
<Table :columns="PurchaseclaimRequestMain.allSchemas.tableColumns" :data="tableObject.tableList" |
|
|
|
:loading="tableObject.loading" :pagination="{ |
|
|
|
total: tableObject.total |
|
|
|
}" v-model:pageSize="tableObject.pageSize" v-model:currentPage="tableObject.currentPage" |
|
|
|
v-model:sort="tableObject.sort"> |
|
|
|
<template #itemCode="{ row }"> |
|
|
|
<el-button type="primary" link @click="openDetail(row, '物料代码', row.itemCode)"> |
|
|
|
<span>{{ row.itemCode }}</span> |
|
|
|
</el-button> |
|
|
|
</template> |
|
|
|
<template #action="{ row }"> |
|
|
|
<ButtonBase :Butttondata="butttondata" @button-base-click="buttonTableClick($event, row)" /> |
|
|
|
</template> |
|
|
|
</Table> |
|
|
|
</ContentWrap> |
|
|
|
|
|
|
|
<!-- 表单弹窗:添加/修改 --> |
|
|
|
<PurchaseclaimRequestMainForm ref="formRef" @success="getList" /> |
|
|
|
<!-- 表单弹窗:添加/修改 --> |
|
|
|
<BasicForm |
|
|
|
ref="formRef" |
|
|
|
@success="getList" |
|
|
|
:rules="PurchaseclaimRequestMainRules" |
|
|
|
:formAllSchemas="PurchaseclaimRequestMain.allSchemas" |
|
|
|
:apiUpdate="PurchaseclaimRequestMain.updateItempackaging" |
|
|
|
:apiCreate="PurchaseclaimRequestMain.createItempackaging" |
|
|
|
:isBusiness="false" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script setup lang="ts"> |
|
|
|
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict' |
|
|
|
import { dateFormatter } from '@/utils/formatTime' |
|
|
|
import download from '@/utils/download' |
|
|
|
import * as PurchaseclaimRequestMainApi from '@/api/wms/purchaseclaimRequestMain/index.ts' |
|
|
|
import * as PurchaseclaimRequestMainApi from '@/api/wms/purchaseclaimRequestMain' |
|
|
|
import PurchaseclaimRequestMainForm from './PurchaseclaimRequestMainForm.vue' |
|
|
|
import { PurchaseclaimRequestMain, PurchaseclaimRequestMainRules } from '@/utils/disposition/tableColumns' |
|
|
|
import * as defaultButtons from '@/utils/disposition/defaultButtons' |
|
|
|
|
|
|
|
defineOptions({ name: 'PurchaseclaimRequestMain' }) |
|
|
|
|
|
|
|
const message = useMessage() // 消息弹窗 |
|
|
|
const { t } = useI18n() // 国际化 |
|
|
|
|
|
|
|
const loading = ref(true) // 列表的加载中 |
|
|
|
const total = ref(0) // 列表的总页数 |
|
|
|
const list = ref([]) // 列表的数据 |
|
|
|
const queryParams = reactive({ |
|
|
|
pageNo: 1, |
|
|
|
pageSize: 10, |
|
|
@ -325,17 +77,72 @@ const queryFormRef = ref() // 搜索的表单 |
|
|
|
const exportLoading = ref(false) // 导出的加载中 |
|
|
|
|
|
|
|
/** 查询列表 */ |
|
|
|
const getList = async () => { |
|
|
|
loading.value = true |
|
|
|
try { |
|
|
|
const data = await PurchaseclaimRequestMainApi.getPurchaseclaimRequestMainPage(queryParams) |
|
|
|
list.value = data.list |
|
|
|
total.value = data.total |
|
|
|
} finally { |
|
|
|
loading.value = false |
|
|
|
// const getList = async () => { |
|
|
|
// loading.value = true |
|
|
|
// try { |
|
|
|
// const data = await PurchaseclaimRequestMainApi.getPurchaseclaimRequestMainPage(queryParams) |
|
|
|
// list.value = data.list |
|
|
|
// total.value = data.total |
|
|
|
// } finally { |
|
|
|
// loading.value = false |
|
|
|
// } |
|
|
|
// } |
|
|
|
const { tableObject, tableMethods } = useTable({ |
|
|
|
getListApi: PurchaseclaimRequestMainApi.getPurchaseclaimRequestMainPage // 分页接口 |
|
|
|
}) |
|
|
|
|
|
|
|
// 获得表格的各种操作 |
|
|
|
const { getList, setSearchParams } = tableMethods |
|
|
|
// 列表头部按钮 |
|
|
|
const HeadButttondata = [ |
|
|
|
defaultButtons.defaultAddBtn({ hasPermi: 'wms:itempackaging:create' }), // 新增 |
|
|
|
defaultButtons.defaultImportBtn({ hasPermi: 'wms:itempackaging:import' }), // 导入 |
|
|
|
defaultButtons.defaultExportBtn({ hasPermi: 'wms:itempackaging:export' }), // 导出 |
|
|
|
// defaultButtons.defaultFilterBtn(), // 筛选 |
|
|
|
defaultButtons.defaultFreshBtn(null), // 刷新 |
|
|
|
defaultButtons.defaultSetBtn(null), // 设置 |
|
|
|
// { |
|
|
|
// label: '自定义扩展按钮', |
|
|
|
// name: 'zdy', |
|
|
|
// hide: false, |
|
|
|
// type: 'primary', |
|
|
|
// icon: 'Select', |
|
|
|
// color: '' |
|
|
|
// }, |
|
|
|
] |
|
|
|
|
|
|
|
// 头部按钮事件 |
|
|
|
const buttonBaseClick = (val, item) => { |
|
|
|
console.log(104, val) |
|
|
|
if (val == 'add') { // 新增 |
|
|
|
openForm('create') |
|
|
|
} else if (val == 'import') { // 导入 |
|
|
|
handleImport() |
|
|
|
} else if (val == 'export') { // 导出 |
|
|
|
handleExport() |
|
|
|
} else if (val == 'refresh') { // 刷新 |
|
|
|
getList() |
|
|
|
} else if (val == 'filtrate') { // 筛选 |
|
|
|
} else { // 其他按钮 |
|
|
|
console.log('其他按钮', item) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 列表-操作按钮 |
|
|
|
const butttondata = [ |
|
|
|
defaultButtons.mainListEditBtn({ hasPermi: 'wms:itempackaging:update' }), // 编辑 |
|
|
|
defaultButtons.mainListDeleteBtn({ hasPermi: 'wms:itempackaging:delete' }), // 删除 |
|
|
|
] |
|
|
|
|
|
|
|
// 列表-操作按钮事件 |
|
|
|
const buttonTableClick = async (val, row) => { |
|
|
|
if (val == 'edit') { // 编辑 |
|
|
|
// const res = await ItempackagingApi.getItempackaging(row.id) |
|
|
|
openForm('update', row) |
|
|
|
} else if (val == 'delete') { // 删除 |
|
|
|
handleDelete(row.id) |
|
|
|
} |
|
|
|
} |
|
|
|
/** 搜索按钮操作 */ |
|
|
|
const handleQuery = () => { |
|
|
|
queryParams.pageNo = 1 |
|
|
@ -364,7 +171,7 @@ const handleDelete = async (id: number) => { |
|
|
|
message.success(t('common.delSuccess')) |
|
|
|
// 刷新列表 |
|
|
|
await getList() |
|
|
|
} catch {} |
|
|
|
} catch { } |
|
|
|
} |
|
|
|
|
|
|
|
/** 导出按钮操作 */ |
|
|
|