|
|
@ -1,36 +1,19 @@ |
|
|
|
<template> |
|
|
|
<ContentWrap> |
|
|
|
<!-- 搜索工作栏 --> |
|
|
|
<Search |
|
|
|
:schema="Item.allSchemas.searchSchema" |
|
|
|
@search="setSearchParams" |
|
|
|
@reset="setSearchParams" |
|
|
|
/> |
|
|
|
<Search :schema="Item.allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams" /> |
|
|
|
</ContentWrap> |
|
|
|
|
|
|
|
<!-- 列表头部 --> |
|
|
|
<TableHead |
|
|
|
:HeadButttondata="HeadButttondata" |
|
|
|
@button-base-click="buttonBaseClick" |
|
|
|
:routeName="routeName" |
|
|
|
@updataTableColumns="updataTableColumns" |
|
|
|
@searchFormClick="searchFormClick" |
|
|
|
:allSchemas="Item.allSchemas" |
|
|
|
/> |
|
|
|
<TableHead :HeadButttondata="HeadButttondata" @button-base-click="buttonBaseClick" :routeName="routeName" |
|
|
|
@updataTableColumns="updataTableColumns" @searchFormClick="searchFormClick" :allSchemas="Item.allSchemas" /> |
|
|
|
|
|
|
|
<!-- 列表 --> |
|
|
|
<ContentWrap> |
|
|
|
<Table |
|
|
|
:columns="tableColumns" |
|
|
|
:data="tableObject.tableList" |
|
|
|
:loading="tableObject.loading" |
|
|
|
:pagination="{ |
|
|
|
<Table :columns="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" |
|
|
|
> |
|
|
|
}" v-model:pageSize="tableObject.pageSize" v-model:currentPage="tableObject.currentPage" |
|
|
|
v-model:sort="tableObject.sort"> |
|
|
|
<template #code="{ row }"> |
|
|
|
<el-button type="primary" link @click="openDetail(row, '代码', row.code)"> |
|
|
|
<span>{{ row.code }}</span> |
|
|
@ -43,28 +26,15 @@ |
|
|
|
</ContentWrap> |
|
|
|
|
|
|
|
<!-- 表单弹窗:添加/修改 --> |
|
|
|
<BasicForm |
|
|
|
ref="basicFormRef" |
|
|
|
@success="formsSuccess" |
|
|
|
:rules="ItemRules" |
|
|
|
:formAllSchemas="Item.allSchemas" |
|
|
|
:apiUpdate="ItemApi.updateItem" |
|
|
|
:apiCreate="ItemApi.createItem" |
|
|
|
@searchTableSuccess="searchTableSuccess" |
|
|
|
:isBusiness="false" |
|
|
|
/> |
|
|
|
<BasicForm ref="basicFormRef" @success="formsSuccess" :rules="ItemRules" :formAllSchemas="Item.allSchemas" |
|
|
|
:apiUpdate="ItemApi.updateItem" :apiCreate="ItemApi.createItem" @searchTableSuccess="searchTableSuccess" |
|
|
|
:isBusiness="false" /> |
|
|
|
|
|
|
|
<SearchTable ref="searchTableRef" @searchTableSuccess="submitItem" /> |
|
|
|
|
|
|
|
<!-- 详情 --> |
|
|
|
<Detail ref="detailRef" :isBasic="true" :allSchemas="Item.allSchemas" /> |
|
|
|
<Dialog |
|
|
|
ref="basicFormViewRef" |
|
|
|
v-model="showView" |
|
|
|
:key="viewKey" |
|
|
|
:closeOnClickModal="true" |
|
|
|
:title="viewTitle" |
|
|
|
> |
|
|
|
<Dialog ref="basicFormViewRef" v-model="showView" :key="viewKey" :closeOnClickModal="true" :title="viewTitle"> |
|
|
|
<el-image v-for="url in urls" :key="url" :src="url" lazy /> |
|
|
|
</Dialog> |
|
|
|
</template> |
|
|
@ -84,6 +54,7 @@ import TableHead from '@/components/TableHead/src/TableHead.vue' |
|
|
|
// import ImportForm from '@/components/ImportForm/src/ImportForm.vue' |
|
|
|
import Detail from '@/components/Detail/src/Detail.vue' |
|
|
|
import { SearchTable } from '@/components/SearchTable' |
|
|
|
import { getAccessToken } from '@/utils/auth' |
|
|
|
|
|
|
|
defineOptions({ name: 'Item' }) |
|
|
|
|
|
|
@ -94,6 +65,9 @@ const routeName = ref() |
|
|
|
routeName.value = route.name |
|
|
|
const itemNumber = ref() |
|
|
|
const tableColumns = ref(Item.allSchemas.tableColumns) |
|
|
|
const importFormRef = ref() |
|
|
|
const BASE_URL = import.meta.env.VITE_JMREPORT_BASE_URL |
|
|
|
const src = ref(BASE_URL + '/jmreport/view/950552010397122560?token=' + getAccessToken()) |
|
|
|
|
|
|
|
const showView = ref(false) |
|
|
|
const viewTitle = ref('图片预览') |
|
|
@ -125,6 +99,7 @@ const { getList, setSearchParams } = tableMethods |
|
|
|
const HeadButttondata = [ |
|
|
|
defaultButtons.defaultAddBtn({ hasPermi: 'basic:item:create' }), // 新增 |
|
|
|
defaultButtons.defaultExportBtn({ hasPermi: 'basic:item:export' }), // 导出 |
|
|
|
defaultButtons.selectQrCodeBatchBtn(null), //批量生成二维码 |
|
|
|
defaultButtons.defaultFreshBtn(null), // 刷新 |
|
|
|
defaultButtons.defaultFilterBtn(null), // 筛选 |
|
|
|
defaultButtons.defaultSetBtn(null) // 设置 |
|
|
@ -138,6 +113,9 @@ const buttonBaseClick = (val, item) => { |
|
|
|
} else if (val == 'export') { |
|
|
|
// 导出 |
|
|
|
handleExport() |
|
|
|
} else if (val == 'qrCodeBatch') { |
|
|
|
// 批量生成二维码 |
|
|
|
qrCodeBatch(val, item) |
|
|
|
} else if (val == 'refresh') { |
|
|
|
// 刷新 |
|
|
|
getList() |
|
|
@ -149,6 +127,11 @@ const buttonBaseClick = (val, item) => { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
const qrCodeBatch = async (val, item) => { |
|
|
|
const qrCodeList = tableObject.tableList.map(item => `'${item?.number}'`).join(', ') |
|
|
|
window.open(src.value + "&number=" + qrCodeList) |
|
|
|
} |
|
|
|
|
|
|
|
// 列表-操作按钮 |
|
|
|
const butttondataView = (row) => { |
|
|
|
return [defaultButtons.viewBtn(null)] |
|
|
@ -159,9 +142,12 @@ const butttondata =(row)=>{ |
|
|
|
return [ |
|
|
|
defaultButtons.mainListEditBtn({ hasPermi: 'basic:item:update' }), // 编辑 |
|
|
|
defaultButtons.chooseDeviceBtn({ hasPermi: 'basic:item:choose' }), //备件 |
|
|
|
defaultButtons.selectQrCodeBtn(null), //二维码 |
|
|
|
defaultButtons.mainListDeleteBtn({ hasPermi: 'basic:item:delete' }), // 删除 |
|
|
|
defaultButtons.viewBtn({ hide: !(row.filePathList != null && row.filePathList.length != 0) }) |
|
|
|
]} |
|
|
|
] |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// 列表-操作按钮事件 |
|
|
|
const buttonTableClick = async (val, row) => { |
|
|
@ -170,6 +156,8 @@ const buttonTableClick = async (val, row) => { |
|
|
|
openForm('update', row) |
|
|
|
} else if (val == 'chooseDevice') { |
|
|
|
openItem(row.number) |
|
|
|
} else if (val == 'qrCode') { |
|
|
|
window.open(src.value + "&number='" + row.number + "'") |
|
|
|
} else if (val == 'delete') { |
|
|
|
// 删除 |
|
|
|
handleDelete(row.id) |
|
|
|