黄伟杰 1 month ago
commit 53c40b9689

@ -380,6 +380,7 @@ export default {
action: 'Action', action: 'Action',
placeholderWarehouse: 'Please select warehouse', placeholderWarehouse: 'Please select warehouse',
placeholderProduct: 'Please select product', placeholderProduct: 'Please select product',
placeholderBarcode: 'Please select barcode',
validatorWarehouseRequired: 'Warehouse is required', validatorWarehouseRequired: 'Warehouse is required',
validatorProductRequired: 'Product is required', validatorProductRequired: 'Product is required',
validatorCountRequired: 'Quantity is required' validatorCountRequired: 'Quantity is required'

@ -369,9 +369,9 @@ export default {
Item: { Item: {
index: '序号', index: '序号',
warehouse: '仓库名称', warehouse: '仓库名称',
product: '产品名称', product: '名称',
stock: '库存', stock: '库存',
barcode: '码', barcode: '码',
unit: '单位', unit: '单位',
count: '数量', count: '数量',
price: '产品单价', price: '产品单价',
@ -380,6 +380,7 @@ export default {
action: '操作', action: '操作',
placeholderWarehouse: '请选择仓库', placeholderWarehouse: '请选择仓库',
placeholderProduct: '请选择产品', placeholderProduct: '请选择产品',
placeholderBarcode: '请选择编码',
validatorWarehouseRequired: '仓库不能为空', validatorWarehouseRequired: '仓库不能为空',
validatorProductRequired: '产品不能为空', validatorProductRequired: '产品不能为空',
validatorCountRequired: '产品数量不能为空' validatorCountRequired: '产品数量不能为空'
@ -1554,11 +1555,10 @@ export default {
// 备件管理 // 备件管理
SparePartsManagement: { SparePartsManagement: {
SpareInfo: { SpareInfo: {
name: '备件名称', name: '名称',
code: '备件编码', code: '编码',
deviceSpec:'规格型号',
qrcode: '二维码/条形码', qrcode: '二维码/条形码',
standard: '规格', standard: '规格型号',
expiryDay: '保质期天数', expiryDay: '保质期天数',
category: '分类', category: '分类',
unit: '单位', unit: '单位',
@ -1570,11 +1570,10 @@ export default {
exportFilename: '备件信息.xls', exportFilename: '备件信息.xls',
placeholderName: '请输入名称', placeholderName: '请输入名称',
placeholderCode: '请输入编码', placeholderCode: '请输入编码',
placeholderDeviceSpec: '请输入规格型号',
placeholderUnit: '请选择单位', placeholderUnit: '请选择单位',
placeholderSafetyNumber: '请输入预警库存数量', placeholderSafetyNumber: '请输入预警库存数量',
placeholderRemark: '请输入备注', placeholderRemark: '请输入备注',
placeholderStandard: '请输入规格', placeholderStandard: '请输入规格型号',
placeholderExpiryDay: '请输入保质期天数', placeholderExpiryDay: '请输入保质期天数',
qrcodeLoadError: '二维码加载失败', qrcodeLoadError: '二维码加载失败',
qrcodeEmpty: '暂无二维码', qrcodeEmpty: '暂无二维码',

@ -20,3 +20,7 @@
.icon-user-o:before { .icon-user-o:before {
content: '\f2c0'; content: '\f2c0';
} }
.el-table--small .cell {
padding: 0 2px;
}

@ -37,8 +37,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item :label="t('SparePartsManagement.SpareInfo.deviceSpec')" prop="deviceSpec"> <el-form-item :label="t('SparePartsManagement.SpareInfo.standard')" prop="standard">
<el-input v-model="formData.deviceSpec" :placeholder="t('SparePartsManagement.SpareInfo.placeholderDeviceSpec')" /> <el-input v-model="formData.standard" :placeholder="t('SparePartsManagement.SpareInfo.placeholderStandard')" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -53,11 +53,11 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <!-- <el-col :span="12">
<el-form-item :label="t('SparePartsManagement.SpareInfo.standard')" prop="standard"> <el-form-item :label="t('SparePartsManagement.SpareInfo.standard')" prop="standard">
<el-input v-model="formData.standard" :placeholder="t('SparePartsManagement.SpareInfo.placeholderStandard')" /> <el-input v-model="formData.standard" :placeholder="t('SparePartsManagement.SpareInfo.placeholderStandard')" />
</el-form-item> </el-form-item>
</el-col> </el-col>-->
<!-- <el-col :span="12"> <!-- <el-col :span="12">
<el-form-item :label="t('SparePartsManagement.SpareInfo.expiryDay')" prop="expiryDay"> <el-form-item :label="t('SparePartsManagement.SpareInfo.expiryDay')" prop="expiryDay">
<el-input-number <el-input-number

@ -67,8 +67,8 @@
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column :label="t('SparePartsManagement.SpareInfo.code')" align="center" prop="barCode" width="240px" sortable /> <el-table-column :label="t('SparePartsManagement.SpareInfo.code')" align="center" prop="barCode" width="240px" sortable />
<el-table-column :label="t('SparePartsManagement.SpareInfo.name')" align="left" prop="name" width="220px" sortable /> <el-table-column :label="t('SparePartsManagement.SpareInfo.name')" align="left" prop="name" width="220px" sortable />
<el-table-column v-if="checkPermi(['erp:component:standard'])" :label="t('SparePartsManagement.SpareInfo.standard')" align="center" prop="standard" /> <el-table-column :label="t('SparePartsManagement.SpareInfo.standard')" align="center" prop="standard" />
<el-table-column :label="t('SparePartsManagement.SpareInfo.deviceSpec')" align="center" prop="deviceSpec" sortable /> <!-- <el-table-column v-if="checkPermi(['erp:component:standard'])" :label="t('SparePartsManagement.SpareInfo.deviceSpec')" align="center" prop="deviceSpec" sortable />-->
<el-table-column :label="t('SparePartsManagement.SpareInfo.category')" align="center" prop="categoryName" sortable /> <el-table-column :label="t('SparePartsManagement.SpareInfo.category')" align="center" prop="categoryName" sortable />
<el-table-column :label="t('SparePartsManagement.SpareInfo.unit')" align="center" prop="unitName" sortable /> <el-table-column :label="t('SparePartsManagement.SpareInfo.unit')" align="center" prop="unitName" sortable />
<el-table-column :label="t('SparePartsManagement.SpareInfo.safetyNumber')" align="center" prop="safetyNumber" /> <el-table-column :label="t('SparePartsManagement.SpareInfo.safetyNumber')" align="center" prop="safetyNumber" />

@ -8,7 +8,7 @@
:inline-message="true" :inline-message="true"
:disabled="disabled" :disabled="disabled"
> >
<el-table :data="formData" show-summary :summary-method="getSummaries" class="-mt-10px"> <el-table :data="formData" size="small" show-summary :summary-method="getSummaries" class="-mt-10px" >
<el-table-column :label="t('common.index')" type="index" align="center" width="60" /> <el-table-column :label="t('common.index')" type="index" align="center" width="60" />
<el-table-column :label="t('ErpStock.Item.warehouse')" min-width="125"> <el-table-column :label="t('ErpStock.Item.warehouse')" min-width="125">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
@ -34,6 +34,31 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="t('ErpStock.Item.barcode')" min-width="160">
<!-- <template #default="{ row }">
<el-form-item class="mb-0px!">
<el-input disabled v-model="row.productBarCode" />
</el-form-item>
</template>-->
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productBarCode`" class="mb-0px!">
<el-select
v-model="row.productBarCode"
clearable
filterable
@change="onChangeProductCode($event, row)"
:placeholder="t('ErpStock.Item.placeholderBarcode')"
>
<el-option
v-for="item in productList"
:key="item.barCode"
:label="item.barCode"
:value="item.barCode"
/>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="t('ErpStock.Item.product')" min-width="180"> <el-table-column :label="t('ErpStock.Item.product')" min-width="180">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productId`" :rules="formRules.productId" class="mb-0px!"> <el-form-item :prop="`${$index}.productId`" :rules="formRules.productId" class="mb-0px!">
@ -58,13 +83,7 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<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="t('ErpStock.Item.unit')" min-width="80"> <el-table-column :label="t('ErpStock.Item.unit')" min-width="80">
<template #default="{ row }"> <template #default="{ row }">
<el-form-item class="mb-0px!"> <el-form-item class="mb-0px!">
@ -85,7 +104,7 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="t('ErpStock.Item.price')" fixed="right" min-width="120"> <!-- <el-table-column :label="t('ErpStock.Item.price')" fixed="right" min-width="120">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productPrice`" class="mb-0px!"> <el-form-item :prop="`${$index}.productPrice`" class="mb-0px!">
<el-input-number <el-input-number
@ -104,7 +123,7 @@
<el-input disabled v-model="row.totalPrice" :formatter="erpPriceInputFormatter" /> <el-input disabled v-model="row.totalPrice" :formatter="erpPriceInputFormatter" />
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>-->
<el-table-column :label="t('ErpStock.Item.remark')" fixed="right" min-width="150"> <el-table-column :label="t('ErpStock.Item.remark')" fixed="right" min-width="150">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.remark`" class="mb-0px!"> <el-form-item :prop="`${$index}.remark`" class="mb-0px!">
@ -250,6 +269,19 @@ const handleDelete = (index) => {
formData.value.splice(index, 1) formData.value.splice(index, 1)
} }
/** 处理产品变更 */
const onChangeProductCode = (productBarCode, row) => {
const product = productList.value.find((item) => item.barCode === productBarCode)
if (product) {
row.productUnitName = product.unitName
row.productBarCode = product.barCode
row.productPrice = product.minPrice
row.productId = product.id
}
//
setStockCount(row)
}
/** 处理仓库变更 */ /** 处理仓库变更 */
const onChangeWarehouse = (warehouseId, row) => { const onChangeWarehouse = (warehouseId, row) => {
// //

@ -8,7 +8,7 @@
:inline-message="true" :inline-message="true"
:disabled="disabled" :disabled="disabled"
> >
<el-table :data="formData" show-summary :summary-method="getSummaries" class="-mt-10px"> <el-table :data="formData" size="small" show-summary :summary-method="getSummaries" class="-mt-10px">
<el-table-column :label="t('common.index')" type="index" align="center" width="60" /> <el-table-column :label="t('common.index')" type="index" align="center" width="60" />
<el-table-column :label="t('ErpStock.Item.warehouse')" min-width="125"> <el-table-column :label="t('ErpStock.Item.warehouse')" min-width="125">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
@ -34,6 +34,26 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="t('ErpStock.Item.barcode')" min-width="160">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productBarCode`" class="mb-0px!">
<el-select
v-model="row.productBarCode"
clearable
filterable
@change="onChangeProductCode($event, row)"
:placeholder="t('ErpStock.Item.placeholderBarcode')"
>
<el-option
v-for="item in productList"
:key="item.barCode"
:label="item.barCode"
:value="item.barCode"
/>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="t('ErpStock.Item.product')" min-width="180"> <el-table-column :label="t('ErpStock.Item.product')" min-width="180">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productId`" :rules="formRules.productId" class="mb-0px!"> <el-form-item :prop="`${$index}.productId`" :rules="formRules.productId" class="mb-0px!">
@ -58,13 +78,13 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="t('ErpStock.Item.barcode')" min-width="150"> <!-- <el-table-column :label="t('ErpStock.Item.barcode')" min-width="150">
<template #default="{ row }"> <template #default="{ row }">
<el-form-item class="mb-0px!"> <el-form-item class="mb-0px!">
<el-input disabled v-model="row.productBarCode" /> <el-input disabled v-model="row.productBarCode" />
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>-->
<el-table-column :label="t('ErpStock.Item.unit')" min-width="80"> <el-table-column :label="t('ErpStock.Item.unit')" min-width="80">
<template #default="{ row }"> <template #default="{ row }">
<el-form-item class="mb-0px!"> <el-form-item class="mb-0px!">
@ -85,7 +105,7 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="t('ErpStock.Item.price')" fixed="right" min-width="120"> <!-- <el-table-column :label="t('ErpStock.Item.price')" fixed="right" min-width="120">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productPrice`" class="mb-0px!"> <el-form-item :prop="`${$index}.productPrice`" class="mb-0px!">
<el-input-number <el-input-number
@ -104,7 +124,7 @@
<el-input disabled v-model="row.totalPrice" :formatter="erpPriceInputFormatter" /> <el-input disabled v-model="row.totalPrice" :formatter="erpPriceInputFormatter" />
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>-->
<el-table-column :label="t('ErpStock.Item.remark')" fixed="right" min-width="150"> <el-table-column :label="t('ErpStock.Item.remark')" fixed="right" min-width="150">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.remark`" class="mb-0px!"> <el-form-item :prop="`${$index}.remark`" class="mb-0px!">
@ -250,6 +270,19 @@ const handleDelete = (index) => {
formData.value.splice(index, 1) formData.value.splice(index, 1)
} }
/** 处理产品变更 */
const onChangeProductCode = (productBarCode, row) => {
const product = productList.value.find((item) => item.barCode === productBarCode)
if (product) {
row.productUnitName = product.unitName
row.productBarCode = product.barCode
row.productPrice = product.minPrice
row.productId = product.id
}
//
setStockCount(row)
}
/** 处理仓库变更 */ /** 处理仓库变更 */
const onChangeWarehouse = (warehouseId, row) => { const onChangeWarehouse = (warehouseId, row) => {
// //

@ -14,7 +14,7 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item :label="t('MoldManagement.MoldOperate.device')" prop="deviceId" v-if="formData.operateType != null"> <el-form-item :label="t('MoldManagement.MoldOperate.device')" prop="deviceId" v-if="formData.operateType != null">
<el-select <!-- <el-select
v-model="formData.deviceId" v-model="formData.deviceId"
filterable filterable
clearable clearable
@ -24,7 +24,11 @@
@change="deviceChange(formData.deviceId)" @change="deviceChange(formData.deviceId)"
> >
<el-option v-for="opt in deviceOptions" :key="String(opt.value)" :label="opt.label" :value="opt.value" /> <el-option v-for="opt in deviceOptions" :key="String(opt.value)" :label="opt.label" :value="opt.value" />
</el-select> </el-select>-->
<el-input :model-value="displayItemDevice" readonly clearable class="device-ledger-selection-input"
:placeholder="t('MoldManagement.MoldOperate.placeholderDevice')"
@click="openCriticalComponentDialog" @clear="clearBeijian" />
</el-form-item> </el-form-item>
<el-form-item :label="t('MoldManagement.MoldOperate.mold')" prop="moldId" v-if="formData.operateType == '1'"> <el-form-item :label="t('MoldManagement.MoldOperate.mold')" prop="moldId" v-if="formData.operateType == '1'">
<el-select <el-select
@ -73,12 +77,93 @@
<el-button @click="dialogVisible = false">{{ t('common.cancel') }}</el-button> <el-button @click="dialogVisible = false">{{ t('common.cancel') }}</el-button>
</template> </template>
</Dialog> </Dialog>
<el-dialog
v-model="itemDialogVisible"
:title="t('QualityManagement.ZjSchema.selectItemDialogTitle')"
width="1300px"
draggable
>
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true"
label-width="60px">
<el-form-item :label="t('EquipmentManagement.EquipmentLedger.deviceCode')"
prop="deviceCode">
<el-input
v-model="queryParams.deviceCode"
:placeholder="t('EquipmentManagement.EquipmentLedger.placeholderDeviceCode')"
clearable @keyup.enter="handleQuery"
class="!w-240px"/>
</el-form-item>
<el-form-item :label="t('EquipmentManagement.EquipmentLedger.deviceName')"
prop="deviceName">
<el-input
v-model="queryParams.deviceName"
:placeholder="t('EquipmentManagement.EquipmentLedger.placeholderDeviceName')"
clearable @keyup.enter="handleQuery"
class="!w-240px"/>
</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-form-item>
</el-form>
<ContentWrap>
<el-table ref="multipleTableRef" v-loading="loading" :data="deviceList" :stripe="true"
@selection-change="handleSelectionChange" @select="handleSelect" @select-all="handleSelectAll" :show-overflow-tooltip="true"
class="no-select-all"
row-key="id">
<el-table-column type="selection" width="55" :reserve-selection="true" />
<el-table-column :label="t('EquipmentManagement.EquipmentLedger.deviceCode')"
align="center" prop="deviceCode" min-width="160px" sortable/>
<el-table-column :label="t('EquipmentManagement.EquipmentLedger.deviceName')"
align="center" prop="deviceName" min-width="140px" sortable/>
<el-table-column :label="t('EquipmentManagement.EquipmentLedger.ratedCapacity')"
align="center" prop="ratedCapacity" min-width="120px"/>
<el-table-column :label="t('EquipmentManagement.EquipmentLedger.deviceSpec')"
align="center" prop="deviceSpec"/>
<!-- <el-table-column :label="t('EquipmentManagement.EquipmentLedger.deviceModel')"
align="center" prop="deviceModel"/>-->
<!-- <el-table-column :label="t('EquipmentManagement.EquipmentLedger.deviceBrand')" align="center" prop="deviceBrand" /> -->
<el-table-column
:label="t('EquipmentManagement.EquipmentLedger.productionDate')" align="center"
prop="productionDate" :formatter="dateFormatter2"
width="120px" sortable/>
<el-table-column
:label="t('EquipmentManagement.EquipmentLedger.factoryEntryDate')" align="center"
prop="factoryEntryDate" :formatter="dateFormatter2"
width="120px" sortable/>
</el-table>
<Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
@pagination="getList" />
</ContentWrap>
<template #footer>
<el-button @click="itemDialogVisible = false">
{{ t('common.cancel') }}
</el-button>
<el-button type="primary" @click="confirmSelectItems">
{{ t('common.ok') }}
</el-button>
</template>
</el-dialog>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { MoldOperateApi, MoldOperateVO } from '@/api/mes/moldoperate' import { MoldOperateApi, MoldOperateVO } from '@/api/mes/moldoperate'
import { MoldBrandApi, MoldVO } from '@/api/erp/mold' import { MoldBrandApi, MoldVO } from '@/api/erp/mold'
import { DeviceLedgerApi, DeviceLedgerVO } from '@/api/mes/deviceledger' import { DeviceLedgerApi, DeviceLedgerVO } from '@/api/mes/deviceledger'
import {ref} from "vue";
import {ElTable} from "element-plus";
import {ZjItemApi, ZjItemVO} from "@/api/mes/zjitem";
import { dateFormatter2 } from '@/utils/formatTime'
/** 模具上下模 表单 */ /** 模具上下模 表单 */
defineOptions({ name: 'MoldOperateForm' }) defineOptions({ name: 'MoldOperateForm' })
@ -145,6 +230,7 @@ const open = async (type: string, id?: number) => {
dialogTitle.value = t('action.' + type) dialogTitle.value = t('action.' + type)
formType.value = type formType.value = type
resetForm() resetForm()
initSelectedItems()
await ensureDeviceOptionsLoaded() await ensureDeviceOptionsLoaded()
// //
if (id) { if (id) {
@ -176,10 +262,13 @@ const open = async (type: string, id?: number) => {
initializingOperateType.value = false initializingOperateType.value = false
formLoading.value = false formLoading.value = false
} }
}else{
ids.value=[]
} }
} }
defineExpose({ open }) // open defineExpose({ open }) // open
/** 提交表单 */ /** 提交表单 */
const emit = defineEmits(['success']) // success const emit = defineEmits(['success']) // success
// const submitForm = async () => { // const submitForm = async () => {
@ -337,4 +426,175 @@ const resetForm = () => {
} }
formRef.value?.resetFields() formRef.value?.resetFields()
} }
const ids = ref([])
const itemList = ref<DeviceLedgerVO[]>([])
const itemDialogVisible = ref(false)
const multipleTableRef = ref<InstanceType<typeof ElTable>>()
const deviceList = ref<DeviceLedgerVO[]>([])
const selectedRows = ref<any[]>([])
const total = ref(0)
const queryFormRef = ref()
const loading = ref(true)
const displayItemDevice = computed( () => {
if (!ids.value.length)return ''
if (!itemList.value.length) {
return formData.value.deviceId ? String(formData.value.deviceId) : ''
}
const map = new Map(itemList.value.map((item) => [item.id, item.deviceName]))
const names = ids.value
.map((id) => map.get(id))
.filter((name) => name)
return names.join(',')
})
const openCriticalComponentDialog = async () => {
itemDialogVisible.value = true
let initIds= formData.value.deviceId!=undefined?formData.value.deviceId.toString().split(","):[]
ids.value=initIds.map((id) => Number(id))
setDefaultSelections()
}
//
const setDefaultSelections = () => {
// DOM
nextTick(() => {
if (!multipleTableRef.value) return
multipleTableRef.value.clearSelection()
let initIds= formData.value.deviceId!=undefined?formData.value.deviceId.toString().split(","):[]
const rawSubjectIds =initIds.map((id) => Number(id))
if (rawSubjectIds.length != 0) {
let row = {
id: undefined
}
multipleTableRef.value.toggleRowSelection(row, true)
}
//
deviceList.value.forEach(row => {
let id = row.id;
if (rawSubjectIds.includes(row.id)) {
multipleTableRef.value.toggleRowSelection(row, true)
}
})
})
}
const queryParams = reactive({
pageNo: 1,
pageSize: 10,
deviceCode: undefined,
deviceName: undefined,
})
const clearBeijian = () => {
formData.value.item = ''
}
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.pageNo = 1
getList()
}
/** 重置按钮操作 */
const resetQuery = () => {
queryFormRef.value.resetFields()
handleQuery()
}
const getList = async () => {
loading.value = true
try {
const data = await DeviceLedgerApi.getDeviceLedgerPage(queryParams)
deviceList.value = data.list
total.value = data.total
//
nextTick(() => {
toggleSelection()
})
} finally {
loading.value = false
}
}
//
const toggleSelection = () => {
if (!multipleTableRef.value || !selectedRows.value.length) return
//
deviceList.value.forEach(row => {
//
const isSelected = selectedRows.value.some(item => item.id === row.id)
if (isSelected) {
//
multipleTableRef.value!.toggleRowSelection(row, true)
} else {
//
multipleTableRef.value!.toggleRowSelection(row, false)
}
})
}
const handleSelectionChange = (rows: ZjItemVO[]) => {
// id
const currentPageIds = rows.map(item => item.id)
//
selectedRows.value = selectedRows.value.filter(
item => !currentPageIds.includes(item.id)
)
//
selectedRows.value.push(...rows)
let a=1;
}
//
const currentSelectedRows = ref([])
const handleSelectAll = (selection) => {
let initIds=selection?.map((row) => row.id).filter((id) => id !== undefined) ?? []
ids.value =initIds.map((id) => Number(id))
}
// select row selected
const handleSelect = (selection, row) => {
//
const isSelected = selection.includes(row)
if (isSelected) {
// console.log(` : ID=${row.id}, Name=${row.name}`)
ids.value.push(row.id)
} else {
ids.value = ids.value.filter(
item => item !== row.id
)
// console.log(` : ID=${row.id}, Name=${row.name}`)
}
//
currentSelectedRows.value = selection
}
const confirmSelectItems = () => {
formData.value.deviceId = ids.value.join(',')
itemDialogVisible.value = false
}
const initSelectedItems = async () => {
if (!itemList.value.length) {
loading.value = true
try {
itemList.value = await DeviceLedgerApi.getDeviceLedgerList()
} finally {
loading.value = false
}
}
}
/** 初始化 **/
onMounted(async () => {
getList()
})
</script> </script>
<style scoped lang="scss">
.no-select-all :deep(.el-table__header-wrapper .el-checkbox) {
display: none;
}
</style>

Loading…
Cancel
Save