Compare commits

..

No commits in common. '314126d6df702acf808ef8dfb0a1bb84d7a913bd' and 'fe6a11009b0e2672c0ccb80a927005d0db8518e3' have entirely different histories.

@ -2,9 +2,6 @@ server {
listen 8088;
server_name localhost;
# 关键允许上传最大100MB
client_max_body_size 100m;
location /admin-api/ {
proxy_pass http://besure_server:48081;
proxy_set_header Host $host;

@ -151,10 +151,6 @@ export const DeviceApi = {
getDeviceAttributePage: async (params) => {
return await request.get({ url: `/iot/device/device-attribute/page`, params })
},
// 获得设备属性列表
getDeviceAttributeList: async (deviceId: number) => {
return await request.get({ url: `/iot/device/device-attribute/list?deviceId=` + deviceId })
},
getDeviceContactModelPage: async () => {
return await request.get({ url: `/iot/device-contact-model/page` })

@ -178,6 +178,7 @@ export const RecipeConfigApi = {
getRecipePointDetailPage: async (params: any) => {
return await request.get({ url: `/iot/recipe-device-attribute/page`, params })
},
updateRecipeDeviceAttribute: async (data: { recipeId: string | number; ids: number[] }) => {
return await request.put({ url: `/iot/recipe-device-attribute/update`, data })
},

@ -23,10 +23,6 @@ export const DvSubjectApi = {
return await request.get({ url: `/mes/mold-subject/page`, params })
},
getMoldSubjectAllList: async () => {
return await request.get({ url: `/mes/mold-subject/getAllList` })
},
// 查询维保项目详情
getDvSubject: async (id: number) => {
return await request.get({ url: `/mes/mold-subject/get?id=` + id })

@ -1104,7 +1104,6 @@ export default {
operate: 'Operate',
index: 'No.',
deviceList: 'Device List',
moldList: 'Mold List',
dateRange: 'Date Range',
operableUsers: 'Operable Users',
createWorkOrder: 'Create Work Order',
@ -1112,7 +1111,6 @@ export default {
placeholderTaskType: 'Please select type',
placeholderProjectForm: 'Please select project form',
placeholderDeviceList: 'Please select device list',
placeholderMoldList: 'Please select mold list',
placeholderStartDate: 'Please select start date',
placeholderEndDate: 'Please select end date',
placeholderDateRange: 'Please select date range',

@ -1098,7 +1098,6 @@ export default {
operate: '操作',
index: '序号',
deviceList: '设备列表',
moldList: '模具列表',
dateRange: '起止日期',
operableUsers: '可操作人',
createWorkOrder: '新增工单管理',
@ -1106,7 +1105,6 @@ export default {
placeholderTaskType: '请选择类型',
placeholderProjectForm: '请选择项目表单',
placeholderDeviceList: '请选择设备列表',
placeholderMoldList: '请选择模具列表',
placeholderStartDate: '请选择开始日期',
placeholderEndDate: '请选择结束日期',
placeholderDateRange: '请选择起止日期',

@ -10,15 +10,16 @@
>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item :label="t('SparePartsManagement.SpareInfo.code')" prop="barCode">
<el-input v-model="formData.barCode" :placeholder="t('SparePartsManagement.SpareInfo.placeholderCode')" />
<el-form-item :label="t('SparePartsManagement.SpareInfo.name')" prop="name">
<el-input v-model="formData.name" :placeholder="t('SparePartsManagement.SpareInfo.placeholderName')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="t('SparePartsManagement.SpareInfo.name')" prop="name">
<el-input v-model="formData.name" :placeholder="t('SparePartsManagement.SpareInfo.placeholderName')" />
<el-form-item :label="t('SparePartsManagement.SpareInfo.code')" prop="barCode">
<el-input v-model="formData.barCode" :placeholder="t('SparePartsManagement.SpareInfo.placeholderCode')" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="t('SparePartsManagement.SpareInfo.unit')" prop="unitId">
<el-select v-model="formData.unitId" clearable :placeholder="t('SparePartsManagement.SpareInfo.placeholderUnit')" class="w-1/1">
@ -31,12 +32,25 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="t('SparePartsManagement.SpareInfo.status')" prop="status">
<el-radio-group v-model="formData.status">
<el-radio
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
:key="dict.value"
:label="dict.value"
>
{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="t('SparePartsManagement.SpareInfo.standard')" prop="standard">
<el-input v-model="formData.standard" :placeholder="t('SparePartsManagement.SpareInfo.placeholderStandard')" />
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-col :span="12">
<el-form-item :label="t('SparePartsManagement.SpareInfo.expiryDay')" prop="expiryDay">
<el-input-number
v-model="formData.expiryDay"
@ -46,7 +60,7 @@
class="!w-1/1"
/>
</el-form-item>
</el-col> -->
</el-col>
<!-- <el-col :span="12">
<el-form-item label="采购价格" prop="purchasePrice">
<el-input-number
@ -69,22 +83,9 @@
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="t('SparePartsManagement.SpareInfo.status')" prop="status">
<el-radio-group v-model="formData.status">
<el-radio
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
:key="dict.value"
:label="dict.value"
>
{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="t('SparePartsManagement.SpareInfo.remark')" prop="remark">
<el-input type="textarea" v-model="formData.remark" :placeholder="t('SparePartsManagement.SpareInfo.placeholderRemark')"/>
<el-input type="textarea" v-model="formData.remark" :placeholder="t('SparePartsManagement.SpareInfo.placeholderRemark')" />
</el-form-item>
</el-col>
</el-row>

@ -207,7 +207,7 @@ const resetQuery = () => {
/** 添加/修改操作 */
const formRef = ref()
const openForm = (type: string, id?: number) => {
if (type == 'create' && !queryParams.brand) {
if (!queryParams.brand) {
message.error('请选择一个模具型号')
return
}

@ -68,7 +68,7 @@
@selection-change="handleSelectionChange"
@row-click="handleRowClick"
>
<!-- <el-table-column type="selection" width="55" reserve-selection /> -->
<el-table-column type="selection" width="55" reserve-selection />
<el-table-column
:label="t('RecipeManagement.RecipeConfig.tableRecipeCodeColumn')"
align="center"
@ -146,7 +146,6 @@ ref="detailRef" :visible="detailVisible"
v-model="dialogForm.recipeCode"
:placeholder="t('RecipeManagement.RecipeConfig.dialogRecipeCodePlaceholder')"
clearable
:disabled="dialogMode == 'update'"
/>
</el-form-item>
<el-form-item :label="t('RecipeManagement.RecipeConfig.dialogNameLabel')" prop="name">
@ -188,7 +187,6 @@ ref="detailRef" :visible="detailVisible"
filterable
class="!w-full"
:loading="deviceLoading"
:disabled="dialogMode == 'update'"
>
<el-option v-for="item in deviceOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
@ -662,7 +660,7 @@ const buildTransferLabel = (item: any) => {
}
const loadConfigCandidatesByDevice = async (deviceId: number) => {
const data = await DeviceApi.getDeviceAttributeList(deviceId)
const data = await DeviceApi.getDeviceAttributePage({ pageNo: 1, pageSize: 100, deviceId })
const list = (data?.list ?? data?.data ?? []) as any[]
const deviceItems = (list ?? [])
.map((item: any) => {

@ -99,12 +99,12 @@
<span>{{ scope.row.recipeName ?? '-' }}</span>
</template>
</el-table-column>
<!-- <el-table-column
<el-table-column
:label="t('RecipeManagement.RecipeLibrary.tableCreatorColumn')"
align="center"
prop="creator"
width="120"
/> -->
/>
<el-table-column
:label="t('RecipeManagement.RecipeLibrary.tableCreateTimeColumn')"
align="center"
@ -166,7 +166,6 @@
v-model="dialogForm.code"
:placeholder="t('RecipeManagement.RecipeLibrary.dialogCodePlaceholder')"
clearable
:disabled="dialogType == 'update'"
/>
</el-form-item>
<el-form-item :label="t('RecipeManagement.RecipeLibrary.dialogNameLabel')" prop="name">
@ -183,12 +182,11 @@
clearable
filterable
class="!w-full"
:disabled="dialogType == 'update'"
>
<el-option v-for="opt in recipeOptions" :key="String(opt.value)" :label="opt.label" :value="opt.value" />
</el-select>
</el-form-item>
<!-- <el-form-item :label="t('RecipeManagement.RecipeLibrary.dialogSourceLabel')" prop="source">
<el-form-item :label="t('RecipeManagement.RecipeLibrary.dialogSourceLabel')" prop="source">
<el-select
v-model="dialogForm.source"
:placeholder="t('RecipeManagement.RecipeLibrary.dialogSourcePlaceholder')"
@ -202,7 +200,7 @@
:value="opt.value"
/>
</el-select>
</el-form-item> -->
</el-form-item>
</el-form>
<template #footer>
<el-button @click="dialogVisible = false">

@ -62,14 +62,13 @@
</el-select>
</el-form-item>
<el-form-item :label="t('DataCollection.Device.ratio')" prop="ratio">
<el-input-number
<el-input
v-model="formData.ratio"
:placeholder="t('DataCollection.Device.placeholderRatio')"
:min="0.00"
:decision="2"
:step="0.01"
class="!w-full"
:disabled = "!ratioEnabled"
/>
</el-form-item>
<el-form-item :label="t('DataCollection.Device.remark')" prop="remark">
@ -124,7 +123,7 @@ const formData = ref({
dataType: undefined as string | undefined,
address: undefined as string | undefined,
dataUnit: undefined as string | undefined,
ratio: undefined as number | undefined,
ratio: undefined as string | undefined,
remark: undefined as string | undefined,
deviceId: undefined as number | undefined
})

@ -5,7 +5,7 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
label-width="120px"
>
<el-form-item :label="t('DataCollection.Device.attributeCode')" prop="attributeCode">
<el-input

@ -1,7 +1,7 @@
<template>
<ContentWrap>
<!-- 搜索工作栏 -->
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="120px">
<el-form-item :label="t('DataCollection.Device.deviceCode')" prop="deviceCode">
<el-input
v-model="queryParams.deviceCode"

@ -63,8 +63,7 @@
:min="0.00"
:decision="2"
:step="0.01"
class="!w-full"
:disabled = "!ratioEnabled"/>
class="!w-full"/>
</el-form-item>
<el-form-item :label="t('DataCollection.DeviceModel.remark')" prop="remark">
<el-input
@ -131,57 +130,6 @@ const formRules = reactive({
const formRef = ref() // Ref
const unitList = ref<ProductUnitVO[]>([]) //
const ratioEnabledTypes = new Set([
'uint8',
'uint16',
'uint32',
'uint64',
'int8',
'int16',
'int32',
'float32',
'float64'
])
const ratioEnabled = computed(() => {
const v = formData.value.dataType
if (!v) return false
return ratioEnabledTypes.has(v)
})
const buildSubmitData = () => {
const {
id,
attributeCode,
attributeName,
attributeType,
typeName,
dataType,
address,
dataUnit,
ratio,
remark,
deviceModelId
} = formData.value
const data: any = {
attributeCode,
attributeName,
attributeType,
typeName,
dataType,
address,
dataUnit,
ratio: ratioEnabled.value ? ratio : undefined,
remark,
deviceModelId
}
if (formType.value === 'update') {
data.id = id
}
return data
}
/** 打开弹窗 */
const open = async (type: string, id: number, modelId: number) => {
dialogVisible.value = true
@ -226,7 +174,7 @@ const submitForm = async () => {
//
formLoading.value = true
try {
const data = buildSubmitData()
const data = formData.value
if (formType.value === 'create') {
await DeviceModelAttributeApi.createDeviceModelAttribute(data)
message.success(t('common.createSuccess'))

@ -5,6 +5,7 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="auto"
>
<el-form-item :label="t('DataCollection.RunReport.searchDeviceCodeLabel')" prop="deviceCode">
<el-input
@ -192,6 +193,6 @@ onMounted(() => {
<style scoped lang="scss">
.run-report-form :deep(.el-form-item__label) {
min-width: 100px;
min-width: 120px;
}
</style>

@ -72,7 +72,7 @@ const formType = ref<'create' | 'update'>('create')
const subjectOptions = ref<DvSubjectVO[]>([])
const ensureSubjectOptionsLoaded = async () => {
if (subjectOptions.value.length) return
const res = await DvSubjectApi.getMoldSubjectAllList()
const res = await DvSubjectApi.getDvSubjectPage({})
const list = Array.isArray(res) ? res : res?.list
subjectOptions.value = (list ?? []) as DvSubjectVO[]
}

@ -1,6 +1,6 @@
<template>
<ContentWrap>
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
<el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="110px">
<el-form-item :label="t('MoldManagement.MoldInspectionPlan.planName')" prop="planName">
<el-input
v-model="queryParams.planName"

@ -10,13 +10,13 @@
<el-radio :label="2">{{ t('EquipmentManagement.TaskManagement.taskTypeMaintain') }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item :label="t('EquipmentManagement.TaskManagement.moldList')" prop="moldList">
<el-form-item :label="t('EquipmentManagement.TaskManagement.deviceList')" prop="moldList">
<el-select
v-model="formData.moldList"
multiple
filterable
clearable
:placeholder="t('EquipmentManagement.TaskManagement.placeholderMoldList')"
:placeholder="t('EquipmentManagement.TaskManagement.placeholderDeviceList')"
class="!w-full"
>
<el-option v-for="item in deviceOptions" :key="String(item.id)" :label="item.name" :value="String(item.id)" />
@ -124,11 +124,11 @@ const toCommaSeparatedIds = (value: any): string | undefined => {
const ensureOptionsLoaded = async () => {
const [deviceRes, planRes, userRes] = await Promise.all([
MoldBrandApi.getMoldAllList(),
MoldBrandApi.getMoldPage({}),
PlanMaintenanceApi.getPlanMaintenancePage({}),
getSimpleUserList()
])
deviceOptions.value = (deviceRes ?? []) as DeviceOption[]
deviceOptions.value = (deviceRes?.list ?? []) as DeviceOption[]
planOptions.value = (planRes?.list ?? []) as PlanOption[]
users.value = userRes ?? []
}

@ -5,7 +5,7 @@
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
label-width="110px"
>
<el-form-item :label="t('EquipmentManagement.TaskManagement.name')" prop="name">
<el-input
@ -67,7 +67,7 @@
:show-overflow-tooltip="true"
@selection-change="handleSelectionChange"
>
<!-- <el-table-column type="selection" width="55" /> -->
<el-table-column type="selection" width="55" />
<el-table-column :label="t('EquipmentManagement.TaskManagement.index')" type="index" align="center" width="70" />
<el-table-column :label="t('EquipmentManagement.TaskManagement.name')" align="center" prop="name" min-width="140" />
<el-table-column :label="t('EquipmentManagement.TaskManagement.taskType')" align="center" prop="taskType" width="90">

Loading…
Cancel
Save