|
@@ -11,20 +11,20 @@
|
|
<div class="base-expandable-content">
|
|
<div class="base-expandable-content">
|
|
<el-row>
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="设备" prop="deviceName">
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.device')" prop="deviceName">
|
|
<el-select
|
|
<el-select
|
|
:disabled="formType === 'update'"
|
|
:disabled="formType === 'update'"
|
|
v-model="formData.deviceName"
|
|
v-model="formData.deviceName"
|
|
clearable
|
|
clearable
|
|
@clear="deviceClear"
|
|
@clear="deviceClear"
|
|
- placeholder="请选择设备"
|
|
|
|
|
|
+ :placeholder="t('iotMaintain.deviceHolder')"
|
|
@click="formType === 'update' ? undefined : openForm()"
|
|
@click="formType === 'update' ? undefined : openForm()"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="维修类型" prop="type">
|
|
|
|
- <el-select v-model="formData.type" placeholder="请选择维修类型" clearable>
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.repairType')" prop="type">
|
|
|
|
+ <el-select v-model="formData.type" :placeholder="t('iotMaintain.repairTypeHolder')" clearable>
|
|
<el-option
|
|
<el-option
|
|
v-for="dict in getStrDictOptions(DICT_TYPE.PMS_MAIN_TYPE)"
|
|
v-for="dict in getStrDictOptions(DICT_TYPE.PMS_MAIN_TYPE)"
|
|
:key="dict.value"
|
|
:key="dict.value"
|
|
@@ -35,8 +35,8 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="是否停机" prop="ifStop">
|
|
|
|
- <el-select v-model="formData.ifStop" placeholder="请选择是否停机" clearable>
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.shutDown')" prop="ifStop">
|
|
|
|
+ <el-select v-model="formData.ifStop" :placeholder="t('iotMaintain.shutDownHolder')" clearable>
|
|
<el-option
|
|
<el-option
|
|
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
|
|
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
|
|
:key="dict.value"
|
|
:key="dict.value"
|
|
@@ -48,7 +48,7 @@
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
<el-form-item
|
|
<el-form-item
|
|
- label="维修开始时间"
|
|
|
|
|
|
+ :label="t('iotMaintain.startTime')"
|
|
prop="maintainStartTime"
|
|
prop="maintainStartTime"
|
|
:rules="formData.type === 'in' ? startRule : []"
|
|
:rules="formData.type === 'in' ? startRule : []"
|
|
>
|
|
>
|
|
@@ -57,13 +57,13 @@
|
|
v-model="formData.maintainStartTime"
|
|
v-model="formData.maintainStartTime"
|
|
type="datetime"
|
|
type="datetime"
|
|
value-format="x"
|
|
value-format="x"
|
|
- placeholder="选择维修开始时间"
|
|
|
|
|
|
+ :placeholder="t('iotMaintain.startTimeHolder')"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
<el-form-item
|
|
<el-form-item
|
|
- label="维修结束时间"
|
|
|
|
|
|
+ :label="t('iotMaintain.endTime')"
|
|
prop="maintainEndTime"
|
|
prop="maintainEndTime"
|
|
:rules="formData.type === 'in' ? endRule : []"
|
|
:rules="formData.type === 'in' ? endRule : []"
|
|
>
|
|
>
|
|
@@ -73,34 +73,34 @@
|
|
v-model="formData.maintainEndTime"
|
|
v-model="formData.maintainEndTime"
|
|
type="datetime"
|
|
type="datetime"
|
|
value-format="x"
|
|
value-format="x"
|
|
- placeholder="选择维修结束时间"
|
|
|
|
|
|
+ :placeholder="t('iotMaintain.endTimeHolder')"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="故障时间" prop="failureTime" :rules="formData.type==='out'?failureTimeRule:[]" >
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.failureTime')" prop="failureTime" :rules="formData.type==='out'?failureTimeRule:[]" >
|
|
<el-date-picker
|
|
<el-date-picker
|
|
:disabled="formData.maintainType==='故障上报'"
|
|
:disabled="formData.maintainType==='故障上报'"
|
|
style="width: 150%"
|
|
style="width: 150%"
|
|
v-model="formData.failureTime"
|
|
v-model="formData.failureTime"
|
|
type="datetime"
|
|
type="datetime"
|
|
value-format="x"
|
|
value-format="x"
|
|
- placeholder="选择故障时间"
|
|
|
|
|
|
+ :placeholder="t('iotMaintain.failureTimeHolder')"
|
|
/>
|
|
/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="故障影响" prop="failureInfluence">
|
|
|
|
- <el-input v-model="formData.failureInfluence" placeholder="请输入故障影响" />
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.failureImpact')" prop="failureInfluence">
|
|
|
|
+ <el-input v-model="formData.failureInfluence" :placeholder="t('iotMaintain.failureImpactHolder')" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="故障系统" prop="failureSystem">
|
|
|
|
- <el-input v-model="formData.failureSystem" placeholder="请输入故障系统" />
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.faultySystem')" prop="failureSystem">
|
|
|
|
+ <el-input v-model="formData.failureSystem" :placeholder="t('iotMaintain.faultySystemHolder')" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
- <el-form-item label="图片" prop="pic">
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.picture')" prop="pic">
|
|
<UploadImg v-model="formData.pic" height="55px" />
|
|
<UploadImg v-model="formData.pic" height="55px" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -115,7 +115,7 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="8" >
|
|
<el-col :span="8" >
|
|
- <el-form-item label="维修费用(元)" prop="maintainFee">
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.repairCosts')" prop="maintainFee">
|
|
<el-input-number
|
|
<el-input-number
|
|
:disabled="formData.type==='in'"
|
|
:disabled="formData.type==='in'"
|
|
v-model="formData.maintainFee"
|
|
v-model="formData.maintainFee"
|
|
@@ -132,23 +132,23 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="16">
|
|
<el-col :span="16">
|
|
- <el-form-item label="故障描述" prop="description">
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.faultDescription')" prop="description">
|
|
<el-input type="textarea" v-model="formData.description"/>
|
|
<el-input type="textarea" v-model="formData.description"/>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="维修描述" :rules="formData.type === 'in' ? descriptionRule : []" prop="maintainDescription">
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.repairDescription')" :rules="formData.type === 'in' ? descriptionRule : []" prop="maintainDescription">
|
|
<el-input type="textarea" v-model="formData.maintainDescription" />
|
|
<el-input type="textarea" v-model="formData.maintainDescription" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
- <el-form-item label="解决办法" prop="solution">
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.solution')" prop="solution">
|
|
<el-input type="textarea" v-model="formData.solution" />
|
|
<el-input type="textarea" v-model="formData.solution" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :span="24">
|
|
<el-col :span="24">
|
|
- <el-form-item label="备注" prop="remark">
|
|
|
|
- <el-input v-model="formData.remark" type="textarea" placeholder="请输入备注" />
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.remark')" prop="remark">
|
|
|
|
+ <el-input v-model="formData.remark" type="textarea" :placeholder="t('iotMaintain.remarkHolder')" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
@@ -163,10 +163,12 @@
|
|
<!-- <el-button @click="openMaterialForm" type="primary"-->
|
|
<!-- <el-button @click="openMaterialForm" type="primary"-->
|
|
<!-- ><Icon icon="ep:plus" class="mr-5px" /> 选择物料</el-button>-->
|
|
<!-- ><Icon icon="ep:plus" class="mr-5px" /> 选择物料</el-button>-->
|
|
<el-button @click="openMaintainForm" type="primary"
|
|
<el-button @click="openMaintainForm" type="primary"
|
|
- ><Icon icon="ep:plus" class="mr-5px" /> 选择维修项</el-button
|
|
|
|
|
|
+ ><Icon icon="ep:plus" class="mr-5px" />
|
|
|
|
+ {{ t('iotMaintain.selectMaintenanceItem') }}</el-button
|
|
>
|
|
>
|
|
<el-button @click="openMaintainItem" type="warning"
|
|
<el-button @click="openMaintainItem" type="warning"
|
|
- ><Icon icon="ep:plus" class="mr-5px" /> 新增维修项</el-button
|
|
|
|
|
|
+ ><Icon icon="ep:plus" class="mr-5px" />
|
|
|
|
+ {{ t('iotMaintain.addMaintenanceItems') }}</el-button
|
|
>
|
|
>
|
|
<!-- <el-button @click="handleViewNew" type="warning"-->
|
|
<!-- <el-button @click="handleViewNew" type="warning"-->
|
|
<!-- ><Icon icon="ep:plus" class="mr-5px" /> 新增物料</el-button>-->
|
|
<!-- ><Icon icon="ep:plus" class="mr-5px" /> 新增物料</el-button>-->
|
|
@@ -177,15 +179,15 @@
|
|
<!-- 列表 -->
|
|
<!-- 列表 -->
|
|
<ContentWrap>
|
|
<ContentWrap>
|
|
<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="资产编码" align="center" prop="deviceCode" />
|
|
|
|
- <el-table-column label="设备名称" align="center" prop="deviceName" />
|
|
|
|
- <el-table-column label="维修项" align="center" prop="name" />
|
|
|
|
- <el-table-column label="已选物料数" align="center" prop="materialCount" >
|
|
|
|
|
|
+ <el-table-column :label="t('iotMaintain.deviceCode')" align="center" prop="deviceCode" />
|
|
|
|
+ <el-table-column :label="t('iotMaintain.deviceName')" align="center" prop="deviceName" />
|
|
|
|
+ <el-table-column :label="t('iotMaintain.repairItems')" align="center" prop="name" />
|
|
|
|
+ <el-table-column :label="t('iotMaintain.numberOfMaterials')" align="center" prop="materialCount" >
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<el-tag v-if="scope.row.materialCount" type="danger"> {{scope.row.materialCount}}</el-tag>
|
|
<el-tag v-if="scope.row.materialCount" type="danger"> {{scope.row.materialCount}}</el-tag>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="操作" align="center" min-width="120px">
|
|
|
|
|
|
+ <el-table-column :label="t('iotMaintain.operation')" align="center" min-width="120px">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<div style="display: flex; justify-content: center; align-items: center; width: 100%">
|
|
<div style="display: flex; justify-content: center; align-items: center; width: 100%">
|
|
<div>
|
|
<div>
|
|
@@ -196,17 +198,17 @@
|
|
@click="handleDelete(scope.row.bomNodeId)"
|
|
@click="handleDelete(scope.row.bomNodeId)"
|
|
>
|
|
>
|
|
<Icon style="vertical-align: middle; color: #ea3434" icon="ep:zoom-out" />
|
|
<Icon style="vertical-align: middle; color: #ea3434" icon="ep:zoom-out" />
|
|
- 移除
|
|
|
|
|
|
+ {{ t('iotMaintain.remove') }}
|
|
</el-button>
|
|
</el-button>
|
|
</div>
|
|
</div>
|
|
<div style="margin-left: 12px">
|
|
<div style="margin-left: 12px">
|
|
<el-button link type="primary" @click="openMaterialForm(scope.row)">
|
|
<el-button link type="primary" @click="openMaterialForm(scope.row)">
|
|
- 选择物料
|
|
|
|
|
|
+ {{ t('iotMaintain.selectMaterials') }}
|
|
</el-button>
|
|
</el-button>
|
|
</div>
|
|
</div>
|
|
<div style="margin-left: 12px">
|
|
<div style="margin-left: 12px">
|
|
<el-button link type="primary" @click="handleViewNew(scope.row.bomNodeId)">
|
|
<el-button link type="primary" @click="handleViewNew(scope.row.bomNodeId)">
|
|
- 查看物料
|
|
|
|
|
|
+ {{ t('iotMaintain.viewMaterials') }}
|
|
</el-button>
|
|
</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -222,8 +224,8 @@
|
|
<ContentWrap>
|
|
<ContentWrap>
|
|
<el-form>
|
|
<el-form>
|
|
<el-form-item style="float: right">
|
|
<el-form-item style="float: right">
|
|
- <el-button @click="submitForm" type="primary" :disabled="formLoading">保 存</el-button>
|
|
|
|
- <el-button @click="close">取 消</el-button>
|
|
|
|
|
|
+ <el-button @click="submitForm" type="primary" :disabled="formLoading">{{ t('iotMaintain.save') }}</el-button>
|
|
|
|
+ <el-button @click="close">{{ t('iotMaintain.cancel') }}</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
</ContentWrap>
|
|
</ContentWrap>
|
|
@@ -236,7 +238,7 @@
|
|
:materials="materialList.filter((item) => item.bomNodeId === currentBomNodeId)"
|
|
:materials="materialList.filter((item) => item.bomNodeId === currentBomNodeId)"
|
|
@delete = "materialDelete"
|
|
@delete = "materialDelete"
|
|
/>
|
|
/>
|
|
- <Dialog title="维修项" v-model="addItemVisible" style="min-height: 300px">
|
|
|
|
|
|
+ <Dialog :title="t('iotMaintain.repairItems')" v-model="addItemVisible" style="min-height: 300px">
|
|
<el-form
|
|
<el-form
|
|
ref="addFormRef"
|
|
ref="addFormRef"
|
|
:model="addFormData"
|
|
:model="addFormData"
|
|
@@ -244,23 +246,23 @@
|
|
label-position="right"
|
|
label-position="right"
|
|
label-width="68px"
|
|
label-width="68px"
|
|
>
|
|
>
|
|
- <el-form-item label="BOM节点id" v-if="false" prop="deviceCode">
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.BOMNodeID')" v-if="false" prop="deviceCode">
|
|
<el-input v-model="addFormData.bomNodeId" disabled />
|
|
<el-input v-model="addFormData.bomNodeId" disabled />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="资产编码" prop="deviceCode">
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.deviceCode')" prop="deviceCode">
|
|
<el-input v-model="addFormData.deviceCode" disabled />
|
|
<el-input v-model="addFormData.deviceCode" disabled />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="设备名称" prop="deviceName">
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.deviceName')" prop="deviceName">
|
|
<el-input v-model="addFormData.deviceName" disabled />
|
|
<el-input v-model="addFormData.deviceName" disabled />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="维修项" prop="name">
|
|
|
|
- <el-input v-model="addFormData.name" placeholder="请输入维修项" />
|
|
|
|
|
|
+ <el-form-item :label="t('iotMaintain.repairItems')" prop="name">
|
|
|
|
+ <el-input v-model="addFormData.name" :placeholder="t('iotMaintain.repairItemsHolder')" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<el-form>
|
|
<el-form>
|
|
<el-form-item style="float: right">
|
|
<el-form-item style="float: right">
|
|
- <el-button @click="handleConfirm" type="primary">确 定</el-button>
|
|
|
|
- <el-button @click="closeDialog">取 消</el-button>
|
|
|
|
|
|
+ <el-button @click="handleConfirm" type="primary">{{ t('iotMaintain.ok') }}</el-button>
|
|
|
|
+ <el-button @click="closeDialog">{{ t('iotMaintain.cancel') }}</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
</Dialog>
|
|
</Dialog>
|
|
@@ -409,14 +411,14 @@ const openMaterialForm = (row: any) => {
|
|
const maintainFormRef = ref()
|
|
const maintainFormRef = ref()
|
|
const openMaintainForm = (type: string, id?: number) => {
|
|
const openMaintainForm = (type: string, id?: number) => {
|
|
if (!formData.value.deviceId) {
|
|
if (!formData.value.deviceId) {
|
|
- message.error('请选择设备')
|
|
|
|
|
|
+ message.error(t('iotMaintain.deviceHolder'))
|
|
return
|
|
return
|
|
}
|
|
}
|
|
maintainFormRef.value.open(type, formData.value.deviceId)
|
|
maintainFormRef.value.open(type, formData.value.deviceId)
|
|
}
|
|
}
|
|
const openMaintainItem = () => {
|
|
const openMaintainItem = () => {
|
|
if (!formData.value.deviceId) {
|
|
if (!formData.value.deviceId) {
|
|
- message.error('请选择设备')
|
|
|
|
|
|
+ message.error(t('iotMaintain.deviceHolder'))
|
|
return
|
|
return
|
|
}
|
|
}
|
|
addItemVisible.value = true
|
|
addItemVisible.value = true
|