Compare commits

...

2 Commits

Author SHA1 Message Date
kkk-ops 59552f1b3c merge 1 month ago
kkk-ops 25174b415e 模具 1 month ago

@ -125,6 +125,10 @@ export const MoldBrandApi = {
getMold: async (id: number) => {
return await request.get({ url: `/erp/mold-brand/mold/get?id=` + id })
},
// 根据状态获得模具
getMoldListByStatus: async (status: number) => {
return await request.get({ url: `/erp/mold/getMoldListByStatus?status=` + status })
},
// ==================== 子表(模具产品) ====================

@ -91,7 +91,12 @@ export const DeviceApi = {
getDevice: async (id: number) => {
return await request.get({ url: `/iot/device/get?id=` + id })
},
getDeviceListByNoUsed: async () => {
return await request.get({ url: `/iot/device/noUsedlist` })
},
getDeviceList2ByNoUsed: async (id: number) => {
return await request.get({ url: `/iot/device/noUsedlist2?id=` + id })
},
// 新增物联设备
createDevice: async (data: DeviceVO) => {
return await request.post({ url: `/iot/device/create`, data })

@ -54,6 +54,10 @@ export const DeviceLedgerApi = {
return await request.get({ url: `/mes/device-ledger/noUsedlist` })
},
getDeviceLedgerList2ByNoUsed: async (id: number) => {
return await request.get({ url: `/mes/device-ledger/noUsedlist2?id=` + id })
},
// 查询设备类型详情
getDeviceLedger: async (id: number) => {
return await request.get({ url: `/mes/device-ledger/get?id=` + id })

@ -86,6 +86,7 @@
<el-input
v-model="formData.remark"
:placeholder="t('MoldManagement.MoldBrand.placeholderRemark')"
type="textarea"
/>
</el-form-item>
</el-form>

@ -78,6 +78,7 @@
<el-input
v-model="formData.remark"
:placeholder="t('MoldManagement.Mold.placeholderRemark')"
type="textarea"
/>
</el-form-item>
<el-form-item :label="t('MoldManagement.Mold.isEnable')" prop="isEnable">

@ -6,7 +6,7 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="110px"
label-width="68px"
>
<el-form-item :label="t('MoldManagement.MoldBrand.code')" prop="code">
<el-input
@ -94,7 +94,7 @@
@current-change="handleCurrentChange"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" fixed="left" reserve-selection />
<!-- <el-table-column type="selection" width="55" fixed="left" reserve-selection /> -->
<el-table-column :label="t('MoldManagement.MoldBrand.code')" align="center" prop="code" />
<el-table-column :label="t('MoldManagement.MoldBrand.name')" align="left" prop="name" />
<el-table-column :label="t('MoldManagement.MoldBrand.moldType')" align="center" prop="moldType" />
@ -112,7 +112,6 @@
<el-table-column label="维保周期" align="center" prop="maintainTime" /> -->
<el-table-column :label="t('MoldManagement.MoldBrand.moldSize')" align="center" prop="moldSize" />
<el-table-column :label="t('MoldManagement.MoldBrand.remark')" align="center" prop="remark" />
<el-table-column
:label="t('MoldManagement.MoldBrand.createTime')"
align="center"
@ -153,22 +152,22 @@
<!-- 表单弹窗添加/修改 -->
<MoldBrandForm ref="formRef" @success="getList" />
<!-- 子表的列表 -->
<ContentWrap v-if="currentBrandId">
<!-- <ContentWrap v-if="currentBrandId">
<div class="mb-10px text-14px font-600">
{{ currentBrandDisplay }}
</div>
<el-tabs model-value="mold">
<el-tab-pane :label="t('MoldManagement.MoldBrand.tabMold')" name="mold">
<MoldList :brand-id="currentBrandId" />
</el-tab-pane>
</el-tab-pane> -->
<!-- <el-tab-pane label="产品" name="moldBrandProduct">
<MoldBrandProductList :brand-id="currentBrandId" />
</el-tab-pane> -->
</el-tabs>
</ContentWrap>
<ContentWrap v-else>
<!-- </el-tabs>
</ContentWrap> -->
<!-- <ContentWrap v-else>
<el-empty :description="t('MoldManagement.MoldBrand.emptyTip')" />
</ContentWrap>
</ContentWrap> -->
</template>
<script setup lang="ts">

@ -9,9 +9,9 @@ v-loading="typeTreeLoading" :data="brandTreeData" node-key="id" highlight-curren
<div class="device-ledger-right">
<ContentWrap>
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
<el-form-item :label="t('MoldManagement.Mold.code')" prop="code">
<el-input
v-model="queryParams.code" :placeholder="t('MoldManagement.Mold.code')" clearable @keyup.enter="handleQuery"
<el-form-item :label="t('MoldManagement.Mold.code')" prop="code">
<el-input
v-model="queryParams.code" :placeholder="t('MoldManagement.Mold.code')" clearable @keyup.enter="handleQuery"
class="!w-240px" />
</el-form-item>
<el-form-item :label="t('MoldManagement.Mold.name')" prop="name">

@ -386,7 +386,6 @@ const open = async (type: string, id?: number, defaultDeviceTypeId?: number) =>
formType.value = type
resetForm()
await ensureOptionsLoaded()
deviceList.value = await DeviceApi.getDeviceList()
if (type === 'create' && defaultDeviceTypeId) {
formData.value.deviceType = defaultDeviceTypeId
}
@ -408,6 +407,11 @@ const open = async (type: string, id?: number, defaultDeviceTypeId?: number) =>
formLoading.value = false
}
}
if (type == 'create' || typeof formData.value.dvId != 'number') {
deviceList.value = await DeviceApi.getDeviceListByNoUsed()
} else {
deviceList.value = await DeviceApi.getDeviceList2ByNoUsed(formData.value.dvId)
}
}
defineExpose({ open }) // open

@ -129,7 +129,6 @@
</el-row>
</template>
<script setup lang="ts">
import { ProductApi, ProductVO } from '@/api/erp/product/product'
import { WarehouseApi, WarehouseVO } from '@/api/erp/stock/warehouse'
import { StockApi } from '@/api/erp/stock/stock'
import { MoldBrandApi, MoldVO } from '@/api/erp/mold'
@ -165,7 +164,7 @@ const formRules = reactive({
const formRef = ref([]) // Ref
const productList = ref<MoldVO[]>([]) //
const warehouseList = ref<WarehouseVO[]>([]) //
const defaultWarehouse = ref<WarehouseVO>(undefined) //
const defaultWarehouse = ref<WarehouseVO>() //
/** 初始化设置出库项 */
watch(
@ -268,7 +267,7 @@ defineExpose({ validate })
/** 初始化 */
onMounted(async () => {
// productList.value = await ProductApi.getComponentSimpleList()
productList.value = await MoldBrandApi.getMoldAllList()
productList.value = await MoldBrandApi.getMoldListByStatus(1) //
warehouseList.value = await WarehouseApi.getWarehouseSimpleList()
defaultWarehouse.value = warehouseList.value.find((item) => item.defaultStatus)
//

@ -134,8 +134,8 @@ const validateLowerMoldId = (_rule: any, value: any, callback: (error?: Error) =
const formRules = reactive({
operateType: [{ required: true, message: t('MoldManagement.MoldOperate.validatorOperateTypeRequired'), trigger: 'blur' }],
deviceId: [{ required: true, message: t('MoldManagement.MoldOperate.validatorDeviceRequired'), trigger: 'blur' }],
moldId: [{ validator: validateMoldId, trigger: 'change' }],
lowerMoldId: [{ validator: validateLowerMoldId, trigger: 'change' }],
moldId: [{ required: true, validator: validateMoldId, trigger: 'change' }],
lowerMoldId: [{ required: true, validator: validateLowerMoldId, trigger: 'change' }],
})
const formRef = ref() // Ref

@ -66,23 +66,39 @@
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="t('MoldManagement.MoldReturn.warehouse')" prop="warehouseId">
<el-select
v-model="formData.warehouseId"
clearable
filterable
:placeholder="t('MoldManagement.MoldReturn.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-col>
<el-col :span="8">
<el-form-item :label="t('MoldManagement.MoldReturn.attachment')" prop="fileUrl">
<UploadFile :is-show-tip="false" v-model="formData.fileUrl" :limit="1" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="t('MoldManagement.MoldReturn.remarkSingle')" prop="remark">
<el-input
type="textarea"
v-model="formData.remark"
:rows="1"
:placeholder="t('MoldManagement.MoldReturn.placeholderRemark')"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="t('MoldManagement.MoldReturn.attachment')" prop="fileUrl">
<UploadFile :is-show-tip="false" v-model="formData.fileUrl" :limit="1" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<!-- 子表的表单 -->
@ -105,13 +121,14 @@
import { StockInApi, StockInVO } from '@/api/erp/stock/in'
import StockInItemForm from './components/StockInItemForm.vue'
import { CustomerApi, CustomerVO } from '@/api/erp/sale/customer'
import {DICT_TYPE, getBoolDictOptions, getStrDictOptions} from "@/utils/dict";
import { WarehouseApi, WarehouseVO } from '@/api/erp/stock/warehouse'
/** ERP 其它出库单表单 */
defineOptions({ name: 'MoldReturnForm' })
const { t } = useI18n() //
const message = useMessage() //
const warehouseList = ref<WarehouseVO[]>([]) //
const dialogVisible = ref(false) //
const dialogTitle = ref('') //
@ -124,7 +141,8 @@ const formData = ref({
remark: undefined,
inType: undefined,
fileUrl: '',
items: []
items: [],
warehouseId: undefined
})
const formRules = reactive({
inTime: [
@ -132,6 +150,9 @@ const formRules = reactive({
],
inType: [
{ required: true, message: t('MoldManagement.MoldReturn.validatorInTypeRequired'), trigger: 'blur' }
],
warehouseId: [
{ required: true, message: t('MoldManagement.MoldReturn.validatorInTypeRequired'), trigger: 'blur' }
]
})
const disabled = computed(() => formType.value === 'detail')
@ -164,6 +185,7 @@ const open = async (type: string, id?: number) => {
}
//
customerList.value = await CustomerApi.getCustomerSimpleList()
warehouseList.value = await WarehouseApi.getWarehouseSimpleList()
}
defineExpose({ open }) // open
@ -173,10 +195,17 @@ const submitForm = async () => {
//
await formRef.value.validate()
await itemFormRef.value.validate()
console.log(itemFormRef.value)
itemFormRef.value.selectedRows.forEach(item => {
console.log(item.id, item.name)
})
//
formLoading.value = true
try {
const data = formData.value as unknown as StockInVO
itemFormRef.value.selectedRows.forEach(item => {
console.log(item.id, item.name)})
formData.value.items = itemFormRef.value.selectedRows
if (formType.value === 'create') {
await StockInApi.createStockIn(data)
message.success(t('common.createSuccess'))
@ -201,7 +230,8 @@ const resetForm = () => {
remark: undefined,
fileUrl: undefined,
items: [],
inType: "模具入库"
inType: "模具入库",
warehouseId: undefined
}
formRef.value?.resetFields()
}

@ -1,272 +1,306 @@
<template>
<el-form
ref="formRef"
:model="formData"
:rules="formRules"
v-loading="formLoading"
label-width="0px"
:inline-message="true"
:disabled="disabled"
>
<el-table :data="formData" show-summary :summary-method="getSummaries" class="-mt-10px">
<el-table-column :label="t('MoldManagement.MoldReturn.itemIndex')" type="index" align="center" width="60" />
<el-table-column :label="t('MoldManagement.MoldReturn.itemWarehouseName')" min-width="125">
<template #default="{ row, $index }">
<el-form-item
:prop="`${$index}.warehouseId`"
:rules="formRules.warehouseId"
class="mb-0px!"
>
<el-select
v-model="row.warehouseId"
clearable
filterable
:placeholder="t('MoldManagement.MoldReturn.placeholderWarehouse')"
@change="onChangeWarehouse($event, row)"
>
<el-option
v-for="item in warehouseList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
<div class="device-ledger-layout">
<div class="device-ledger-right">
<ContentWrap>
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
<el-form-item :label="t('MoldManagement.Mold.code')" prop="code">
<el-input
v-model="queryParams.code" :placeholder="t('MoldManagement.Mold.code')" clearable @keyup.enter="handleQuery"
class="!w-240px" />
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldReturn.itemMoldName')" min-width="180">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productId`" :rules="formRules.productId" class="mb-0px!">
<el-select
v-model="row.productId"
clearable
filterable
@change="onChangeProduct($event, row)"
:placeholder="t('MoldManagement.MoldReturn.placeholderMold')"
>
<el-option
v-for="item in productList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldReturn.itemStockCount')" 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="t('MoldManagement.MoldReturn.itemMoldCode')" min-width="150">
<template #default="{ row }">
<el-form-item class="mb-0px!">
<el-input disabled v-model="row.productBarCode" />
<el-form-item :label="t('MoldManagement.Mold.name')" prop="name">
<el-input
v-model="queryParams.name" :placeholder="t('MoldManagement.Mold.name')" clearable @keyup.enter="handleQuery"
class="!w-240px" />
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldReturn.itemUnitName')" min-width="80">
<template #default="{ row }">
<el-form-item class="mb-0px!">
<el-input disabled v-model="row.productUnitName" />
<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>
<ContentWrap>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" @selection-change="handleSelectionChange" ref="formRef">
<el-table-column width="30" type="selection" />
<el-table-column :label="t('MoldManagement.Mold.code')" align="center" prop="code" />
<el-table-column :label="t('MoldManagement.Mold.name')" align="left" prop="name" />
<el-table-column :label="t('MoldManagement.Mold.useTime')" align="center" prop="useTime" />
<el-table-column :label="t('MoldManagement.Mold.status')" align="center" prop="status">
<template #default="scope">
<dict-tag :type="DICT_TYPE.ERP_MOLD_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldReturn.itemCount')" 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
v-model="row.count"
controls-position="right"
:min="0"
:precision="0"
class="!w-100%"
/>
</el-form-item>
</template>
</el-table-column>
<!-- <el-table-column label="单价" fixed="right" min-width="120">
<template #default="{ row, $index }">
<el-form-item :prop="`${$index}.productPrice`" class="mb-0px!">
<el-input-number
v-model="row.productPrice"
controls-position="right"
:min="0.01"
:precision="2"
class="!w-100%"
/>
</el-form-item>
</template>
</el-table-column> -->
<!-- <el-table-column label="合计金额" 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="t('MoldManagement.MoldReturn.itemRemark')" 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="t('MoldManagement.MoldReturn.placeholderRemark')" />
</el-form-item>
</template>
</el-table-column>
<el-table-column align="center" fixed="right" :label="t('MoldManagement.MoldReturn.itemOperate')" width="60">
<template #default="{ $index }">
<el-button type="danger" @click="handleDelete($index)" link>
<Icon icon="ep:delete" />
</el-button>
<el-table-column :label="t('MoldManagement.Mold.machineName')" align="center" prop="machineName" />
<el-table-column :label="t('MoldManagement.Mold.remark')" align="center" prop="remark" />
<el-table-column :label="t('MoldManagement.Mold.isEnable')" align="center" prop="isEnable">
<template #default="scope">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.isEnable" />
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.Mold.createTime')" align="center" prop="createTime" :formatter="dateFormatter" width="180px" />
</el-table>
</el-form>
<el-row justify="center" class="mt-3" v-if="!disabled">
<el-button @click="handleAdd" round>+ {{ t('MoldManagement.MoldReturn.itemAddButton') }}</el-button>
</el-row>
<Pagination
:total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
@pagination="getList" />
</ContentWrap>
</div>
</div>
</template>
<script setup lang="ts">
import { ProductApi, ProductVO } from '@/api/erp/product/product'
import { WarehouseApi, WarehouseVO } from '@/api/erp/stock/warehouse'
import { StockApi } from '@/api/erp/stock/stock'
import { DICT_TYPE } from '@/utils/dict'
import { dateFormatter } from '@/utils/formatTime'
import { MoldBrandApi, MoldVO } from '@/api/erp/mold'
import {
erpCountInputFormatter,
erpPriceInputFormatter,
erpPriceMultiply,
getSumValue
} from '@/utils'
const props = defineProps<{
items: undefined
disabled: false
}>()
const formLoading = ref(false) //
const formData = ref([])
const { t } = useI18n()
const formRules = reactive({
inId: [{ required: true, message: t('MoldManagement.MoldReturn.validatorItemInIdRequired'), trigger: 'blur' }],
warehouseId: [
{ required: true, message: t('MoldManagement.MoldReturn.validatorItemWarehouseRequired'), trigger: 'blur' }
],
productId: [{ required: true, message: t('MoldManagement.MoldReturn.validatorItemMoldRequired'), trigger: 'blur' }],
count: [{ required: true, message: t('MoldManagement.MoldReturn.validatorItemCountRequired'), trigger: 'blur' }]
import { useDictStoreWithOut } from '@/store/modules/dict'
import type { FormInstance, FormRules } from 'element-plus'
/** 设备类型 列表 */
defineOptions({ name: 'DeviceLedger' })
const message = useMessage() //
const { t } = useI18n() //
const loading = ref(false) //
const list = ref<MoldVO[]>([]) //
const total = ref(0) //
const queryParams = reactive({
pageNo: 1,
pageSize: 10,
code: undefined,
name: undefined,
brand: undefined,
})
const formRef = ref([]) // Ref
const productList = ref<MoldVO[]>([]) //
const warehouseList = ref<WarehouseVO[]>([]) //
const defaultWarehouse = ref<WarehouseVO>(undefined) //
/** 初始化设置出库项 */
watch(
() => props.items,
async (val) => {
formData.value = val
},
{ immediate: true }
)
/** 监听合同产品变化,计算合同产品总价 */
watch(
() => formData.value,
(val) => {
if (!val || val.length === 0) {
return
}
//
val.forEach((item) => {
item.totalPrice = erpPriceMultiply(item.productPrice, item.count)
})
},
{ deep: true }
)
/** 合计 */
const getSummaries = (param: SummaryMethodProps) => {
const { columns, data } = param
const sums: string[] = []
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = t('MoldManagement.MoldReturn.sumLabel')
return
}
if (['count', 'totalPrice'].includes(column.property)) {
const sum = getSumValue(data.map((item) => Number(item[column.property])))
sums[index] =
String(Math.trunc(Number(column.property === 'count' ? erpCountInputFormatter(sum) : erpPriceInputFormatter(sum))))
} else {
sums[index] = ''
}
})
return sums
}
const queryFormRef = ref() //
/** 新增按钮操作 */
const handleAdd = () => {
const row = {
id: undefined,
warehouseId: defaultWarehouse.value?.id,
productId: undefined,
productUnitName: undefined, //
productBarCode: undefined, //
productPrice: undefined,
stockCount: undefined,
count: 1,
totalPrice: undefined,
remark: undefined
const dictStore = useDictStoreWithOut()
const dictReady = ref(false)
/** 查询列表 */
const getList = async () => {
loading.value = true
try {
const data = await MoldBrandApi.getMoldPage({
pageNo: queryParams.pageNo,
pageSize: queryParams.pageSize,
code: queryParams.code,
name: queryParams.name,
brandId: queryParams.brand,
statuss: [3,0]
})
list.value = data.list
total.value = data.total
} finally {
loading.value = false
}
formData.value.push(row)
}
/** 删除按钮操作 */
const handleDelete = (index) => {
formData.value.splice(index, 1)
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.pageNo = 1
getList()
}
/** 处理仓库变更 */
const onChangeWarehouse = (warehouseId, row) => {
//
setStockCount(row)
/** 重置按钮操作 */
const resetQuery = () => {
queryFormRef.value.resetFields()
handleQuery()
}
/** 处理产品变更 */
const onChangeProduct = (productId, row) => {
const product = productList.value.find((item) => item.id === productId)
if (product) {
row.productUnitName = product.unitId
row.productBarCode = product.code
}
//
setStockCount(row)
//
const selectedRows = ref<any[]>([])
// -
const formModel = reactive({
selectedItems: [] as any[]
})
//
watch(selectedRows, (newSelected) => {
formModel.selectedItems = [...newSelected]
}, { deep: true })
//
const handleSelectionChange = (rows: any[]) => {
selectedRows.value = rows
// console.log(':', rows)
}
/** 加载库存 */
const setStockCount = async (row) => {
if (!row.productId || !row.warehouseId) {
return
//
const formRef = ref<FormInstance>()
const validate = async (): Promise<boolean> => {
if (!formRef.value) return false
try {
await formRef.value.validate()
return true
} catch (error) {
return false
}
const stock = await StockApi.getStock2(row.productId, row.warehouseId)
row.stockCount = stock ? stock.count : 0
}
defineExpose({ validate,selectedRows: selectedRows })
/** 表单校验 */
const validate = () => {
return formRef.value.validate()
}
defineExpose({ validate })
/** 初始化 */
onMounted(async () => {
// productList.value = await ProductApi.getComponentSimpleList()
productList.value = await MoldBrandApi.getMoldAllList()
warehouseList.value = await WarehouseApi.getWarehouseSimpleList()
defaultWarehouse.value = warehouseList.value.find((item) => item.defaultStatus)
//
if (formData.value.length === 0) {
handleAdd()
}
/** 初始化 **/
onMounted(async () => {
await dictStore.setDictMap()
dictReady.value = true
getList()
})
</script>
<style scoped>
.device-ledger-layout {
display: flex;
gap: 12px;
}
.device-ledger-left {
width: 280px;
flex: 0 0 auto;
}
.device-ledger-right {
flex: 1;
min-width: 0;
}
.device-ledger-detail-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 12px;
}
.device-ledger-detail-title {
font-size: 14px;
font-weight: 600;
}
.device-ledger-history-steps {
padding: 8px 8px 0;
}
.device-ledger-history-title {
display: flex;
align-items: center;
gap: 10px;
font-size: 13px;
}
.device-ledger-history-time {
font-weight: 600;
}
.device-ledger-history-operator {
color: var(--el-text-color-secondary);
}
.device-ledger-tab-toolbar {
margin-bottom: 8px;
text-align: right;
}
.device-ledger-history-items {
display: flex;
flex-direction: column;
gap: 6px;
margin-top: 8px;
}
.device-ledger-history-item {
display: flex;
padding: 10px;
background: var(--el-fill-color-blank);
border: 1px solid var(--el-border-color-lighter);
border-radius: 8px;
flex-direction: column;
gap: 8px;
}
.device-ledger-history-item-head {
display: flex;
align-items: center;
gap: 10px;
}
.device-ledger-history-item-body {
display: flex;
flex-direction: column;
gap: 6px;
width: 100%;
}
.device-ledger-history-item-row {
display: flex;
gap: 10px;
}
.device-ledger-history-item-label {
width: 70px;
flex: 0 0 70px;
color: var(--el-text-color-secondary);
}
.device-ledger-history-item-value {
flex: 1;
color: var(--el-text-color-regular);
word-break: break-word;
}
.device-ledger-history-item-images {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 4px;
}
.device-ledger-history-item-image {
width: 76px;
height: 76px;
overflow: hidden;
border-radius: 6px;
}
.device-ledger-history-image-error {
display: flex;
width: 100%;
height: 100%;
font-size: 12px;
color: var(--el-text-color-secondary);
background: var(--el-fill-color);
align-items: center;
justify-content: center;
}
.device-ledger-repair-collapse {
padding: 8px 8px 0;
}
.device-ledger-repair-title {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}
.device-ledger-repair-name {
font-weight: 600;
color: var(--el-text-color-primary);
}
.device-ledger-repair-meta {
font-size: 12px;
color: var(--el-text-color-secondary);
}
.device-ledger-history-item-text {
color: var(--el-text-color-regular);
}
</style>

@ -1,5 +1,4 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<el-form
@ -7,7 +6,7 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="110px"
label-width="68px"
>
<el-form-item :label="t('MoldManagement.MoldReturn.no')" prop="no">
<el-input

@ -182,8 +182,12 @@ const open = async (type: string, id?: number) => {
}
}
await getOrganizationTree()
await getMachineComponentTree()
if (type == 'create' || typeof formData.value.machineId != 'number') {
deviceList.value = await DeviceLedgerApi.getDeviceLedgerListByNoUsed()
} else {
deviceList.value = await DeviceLedgerApi.getDeviceLedgerList2ByNoUsed(formData.value.machineId)
}
//await getMachineComponentTree()
}
defineExpose({ open }) // open
@ -255,6 +259,6 @@ const getMachineComponentTree = async () => {
/** 初始化 **/
onMounted(async () => {
//console.log("ssss")
deviceList.value = await DeviceLedgerApi.getDeviceLedgerList()
//deviceList.value = await DeviceLedgerApi.getDeviceLedgerListByNoUsed()
})
</script>

Loading…
Cancel
Save