Prechádzať zdrojové kódy

更新部分中英文显示

pm 5 mesiacov pred
rodič
commit
ba9ced9c03

+ 4 - 0
src/i18n/index.js

@@ -16,6 +16,10 @@ const messages = {
   en: {
     ...enLocale,
     ...elementEnLocale
+  },
+  en_US: {
+    ...enLocale,
+    ...elementEnLocale
   }
 }
 

+ 170 - 4
src/i18n/lang/en.js

@@ -697,8 +697,10 @@ export default {
     switchMotor: {
       motorName: 'Motor Name',
       motorNamePlaceholder: 'Please enter motor name',
+      motorCode: 'Motor Code',
       motorType: 'Motor Type',
       motorTypePlaceholder: 'Please select motor type',
+      motorCodePlaceholder: 'Please enter motor code',
       status: 'Status',
       statusPlaceholder: 'Please select status',
       batchDelete: 'Batch Delete',
@@ -706,13 +708,25 @@ export default {
       dialogTitle: 'Add or Edit Motor Dialog',
       remarkPlaceholder: 'Please enter remark',
       motorNameRequired: 'Motor name cannot be empty',
+      motorCodeRequired: 'Motor code cannot be empty',
       motorTypeRequired: 'Motor type cannot be empty',
       addMotor: 'Add Motor',
       editMotor: 'Edit Motor',
+      addMotorInfo: 'Add Motor Information',
+      editMotorInfo: 'Edit Motor Information',
       editSuccess: 'Updated successfully',
       addSuccess: 'Added successfully',
-      deleteConfirm: 'Confirm to delete data item with motor number?',
-      deleteSuccess: 'Deleted successfully'
+      deleteConfirm: 'Are you sure you want to delete the selected data items?',
+      deleteSuccess: 'Deleted successfully',
+      isolationPointBinding: 'Isolation Point Binding',
+      isolationPointBindingPlaceholder: 'Isolation Point Binding',
+      motorLayout: 'Motor Layout',
+      motorPointList: 'Motor Point List',
+      save: 'Save',
+      confirmSaveChanges: 'Please confirm whether to save the modified content',
+      tip: 'Tip',
+      confirm: 'Confirm',
+      cancel: 'Cancel'
     },
     technology: {
       selectPostTip: 'Please select post name below',
@@ -758,7 +772,27 @@ export default {
       workContent: 'Work Content',
       deviceListDialog: 'Add or Edit Equipment List Dialog',
       deviceNamePlaceholder2: 'Please enter equipment name',
-      deviceCodePlaceholder: 'Please enter equipment number'
+      deviceCodePlaceholder: 'Please enter equipment number',
+      parent: 'Parent',
+      selectParent: 'Select Parent',
+      belongingWorkstation: 'Assigned Workstation',
+      selectWorkstation: 'Select Workstation',
+      selectEquipmentProcess: 'Select Equipment/Process',
+      addEquipment: 'Add Equipment',
+      editEquipment: 'Edit Equipment',
+      addSop: 'Add SOP',
+      editSop: 'Edit SOP',
+      deleteConfirmMessage: 'Confirm to delete data item?',
+      saveConfirmMessage: 'Please confirm whether to save the changes',
+      tip: 'Tip',
+      mapDataFormatError: 'Map data format is incorrect, please enter valid JSON format!',
+      saveSuccess: 'Saved successfully!',
+      editSuccess: 'Updated successfully',
+      addSuccess: 'Added successfully',
+      deleteSuccess: 'Deleted successfully',
+      selectSopType: 'Please select SOP type',
+      workstation: 'Workstation',
+      belongingCabinet: 'Assigned Cabinet'
     }
   },
   sop: {
@@ -2812,7 +2846,42 @@ export default {
       editLocksetType: 'Edit Lock Set Type',
       deleteConfirm: 'Are you sure to delete the data item with code "{code}"?'
     },
+    switchMotor: {
+      motorName: 'Motor Name',
+      motorNamePlaceholder: 'Please enter motor name',
+      motorCode: 'Motor Code',
+      motorType: 'Motor Type',
+      motorTypePlaceholder: 'Please select motor type',
+      motorCodePlaceholder: 'Please enter motor code',
+      status: 'Status',
+      statusPlaceholder: 'Please select status',
+      batchDelete: 'Batch Delete',
+      motorNo: 'Motor No.',
+      dialogTitle: 'Add or Edit Motor Dialog',
+      remarkPlaceholder: 'Please enter remark',
+      motorNameRequired: 'Motor name cannot be empty',
+      motorCodeRequired: 'Motor code cannot be empty',
+      motorTypeRequired: 'Motor type cannot be empty',
+      addMotor: 'Add Motor',
+      editMotor: 'Edit Motor',
+      addMotorInfo: 'Add Motor Information',
+      editMotorInfo: 'Edit Motor Information',
+      editSuccess: 'Updated successfully',
+      addSuccess: 'Added successfully',
+      deleteConfirm: 'Are you sure you want to delete the selected data items?',
+      deleteSuccess: 'Deleted successfully',
+      isolationPointBinding: 'Isolation Point Binding',
+      isolationPointBindingPlaceholder: 'Isolation Point Binding',
+      motorLayout: 'Motor Layout',
+      motorPointList: 'Motor Point List',
+      save: 'Save',
+      confirmSaveChanges: 'Please confirm whether to save the modified content',
+      tip: 'Tip',
+      confirm: 'Confirm',
+      cancel: 'Cancel'
+    },
     lotoStation: {
+      lotoStation: 'LOTO Station',
       lotoName: 'Loto Station Name',
       lotoNamePlaceholder: 'Please enter loto station name',
       workstation: 'Workstation',
@@ -2837,7 +2906,95 @@ export default {
       deleteConfirm: 'Are you sure to delete the selected data items?',
       editSuccess: 'Updated successfully',
       addSuccess: 'Added successfully',
-      deleteSuccess: 'Deleted successfully'
+      deleteSuccess: 'Deleted successfully',
+      reset: 'Reset',
+      switchStatus: 'Switch Status',
+      isolationPointList: 'Isolation Point List',
+      unboundIsolationPoints: 'Unbound Isolation Points',
+      isolationPointCode: 'Isolation Point Code',
+      isolationPointName: 'Isolation Point Name',
+      isolationPointIcon: 'Isolation Point Icon',
+      isolationPointNfc: 'Isolation Point NFC',
+      isolationPointSerialNumber: 'Isolation Point Serial Number',
+      function: 'Function',
+      isolationPointPicture: 'Isolation Point Picture',
+      energySource: 'Energy Source',
+      addIsolationPoint: 'Add Isolation Point',
+      editIsolationPoint: 'Edit Isolation Point Info',
+      isolationPointCodeRequired: 'Isolation point code cannot be empty',
+      isolationPointNameRequired: 'Isolation point name cannot be empty',
+      workshopRequired: 'Workshop cannot be empty',
+      workareaRequired: 'Work Area cannot be empty',
+      lotoIdRequired: 'LOTO Station cannot be empty',
+      pointTypeRequired: 'Isolation point type cannot be empty',
+      lockTypeIdRequired: 'Padlock type cannot be empty',
+      pointNfcRequired: 'Isolation point NFC cannot be empty'
+    },
+    technology: {
+      selectPostTip: 'Please select post name below',
+      craft: 'Process',
+      device: 'Equipment',
+      craftName: 'Process Name',
+      craftNamePlaceholder: 'Please enter process name',
+      deviceName: 'Equipment Name',
+      deviceNamePlaceholder: 'Please enter equipment name',
+      craftNo: 'Process No.',
+      deviceNo: 'Equipment No.',
+      craftImage: 'Process Image',
+      deviceImage: 'Equipment Image',
+      dialogTitle: 'Add or Edit Department Dialog',
+      namePlaceholder: 'Please enter name',
+      postPlaceholder: 'Please select post',
+      cabinetPlaceholder: 'Please select cabinet',
+      deviceInfo: 'Equipment Info',
+      lotoStation: 'LOTO Station',
+      deviceCraftName: 'Equipment/Process Name',
+      deviceCraftNamePlaceholder: 'Please enter equipment/process name',
+      deviceCraftCode: 'Equipment/Process Code',
+      deviceCraftCodePlaceholder: 'Please enter equipment/process code',
+      autoGenerate: 'Auto Generate',
+      deviceCraftType: 'Equipment/Process Type',
+      deviceCraftTypePlaceholder: 'Please enter equipment/process type',
+      craftImage2: 'Process Image',
+      deviceCraftCodeRequired: 'Equipment/process code cannot be empty',
+      deviceCraftNameRequired: 'Equipment/process name cannot be empty',
+      postRequired: 'Post cannot be empty',
+      cabinetRequired: 'Cabinet cannot be empty',
+      craftInfo: 'Process Info',
+      deviceList: 'Equipment List',
+      sopList: 'SOP List',
+      deviceCraftImage: 'Process/Equipment Process Image',
+      lotoStationInfo: 'LOTO Station Info',
+      lockStationInfo: 'Lock Station Info',
+      eightSteps: 'Eight Steps',
+      deviceCode: 'Equipment Code',
+      deviceName2: 'Equipment Name',
+      deviceImage2: 'Equipment Image',
+      sopName: 'SOP Name',
+      workContent: 'Work Content',
+      deviceListDialog: 'Add or Edit Equipment List Dialog',
+      deviceNamePlaceholder2: 'Please enter equipment name',
+      deviceCodePlaceholder: 'Please enter equipment number',
+      parent: 'Parent',
+      selectParent: 'Select Parent',
+      belongingWorkstation: 'Assigned Workstation',
+      selectWorkstation: 'Select Workstation',
+      selectEquipmentProcess: 'Select Equipment/Process',
+      addEquipment: 'Add Equipment',
+      editEquipment: 'Edit Equipment',
+      addSop: 'Add SOP',
+      editSop: 'Edit SOP',
+      deleteConfirmMessage: 'Confirm to delete data item?',
+      saveConfirmMessage: 'Please confirm whether to save the changes',
+      tip: 'Tip',
+      mapDataFormatError: 'Map data format is incorrect, please enter valid JSON format!',
+      saveSuccess: 'Saved successfully!',
+      editSuccess: 'Updated successfully',
+      addSuccess: 'Added successfully',
+      deleteSuccess: 'Deleted successfully',
+      selectSopType: 'Please select SOP type',
+      workstation: 'Workstation',
+      belongingCabinet: 'Assigned Cabinet'
     },
     technologyList: {
       selectWorkstationPlaceholder: 'Please select workstation name below',
@@ -2940,6 +3097,15 @@ export default {
       occurTime: 'Exception Occur Time',
       handleTime: 'Exception Handle Time'
     }
+  },
+  assert: {
+    cabinet: {
+      material: {
+        not: {
+          exist: 'Material does not exist in the cabinet'
+        }
+      }
+    }
   }
 }
 

+ 170 - 4
src/i18n/lang/zh.js

@@ -697,8 +697,10 @@ export default {
     switchMotor: {
       motorName: '电机名称',
       motorNamePlaceholder: '请输入电机名称',
+      motorCode: '电机编码',
       motorType: '电机类型',
       motorTypePlaceholder: '请选择电机类型',
+      motorCodePlaceholder: '请输入电机编号',
       status: '状态',
       statusPlaceholder: '请选择状态',
       batchDelete: '批量删除',
@@ -706,13 +708,25 @@ export default {
       dialogTitle: '添加或修改电机对话框',
       remarkPlaceholder: '请输入备注',
       motorNameRequired: '电机名称不能为空',
+      motorCodeRequired: '电机编码不能为空',
       motorTypeRequired: '电机类型不能为空',
       addMotor: '添加电机',
       editMotor: '修改电机',
+      addMotorInfo: '新增电机信息',
+      editMotorInfo: '修改电机信息',
       editSuccess: '修改成功',
       addSuccess: '新增成功',
-      deleteConfirm: '是否确认删除电机编号为的数据项?',
-      deleteSuccess: '删除成功'
+      deleteConfirm: '是否确认删除所选数据项?',
+      deleteSuccess: '删除成功',
+      isolationPointBinding: '隔离点绑定',
+      isolationPointBindingPlaceholder: '隔离点绑定',
+      motorLayout: '电机布局',
+      motorPointList: '电机点位列表',
+      save: '保存',
+      confirmSaveChanges: '请确认是否保存修改内容',
+      tip: '提示',
+      confirm: '确定',
+      cancel: '取消'
     },
     technology: {
       selectPostTip: '请在下方选择岗位名称',
@@ -758,7 +772,27 @@ export default {
       workContent: '工作内容',
       deviceListDialog: '添加或修改设备列表对话框',
       deviceNamePlaceholder2: '请输入设备名称',
-      deviceCodePlaceholder: '请输入设备编号'
+      deviceCodePlaceholder: '请输入设备编号',
+      parent: '上级',
+      selectParent: '选择上级',
+      belongingWorkstation: '所属岗位',
+      selectWorkstation: '选择岗位',
+      selectEquipmentProcess: '选择设备/工艺',
+      addEquipment: '新增设备',
+      editEquipment: '修改设备',
+      addSop: '新增SOP',
+      editSop: '修改SOP',
+      deleteConfirmMessage: '确认删除数据项?',
+      saveConfirmMessage: '请确认是否保存修改内容',
+      tip: '提示',
+      mapDataFormatError: '地图数据格式不正确,请输入有效的 JSON 格式!',
+      saveSuccess: '保存成功!',
+      editSuccess: '修改成功',
+      addSuccess: '新增成功',
+      deleteSuccess: '删除成功',
+      selectSopType: '请选择SOP类型',
+      workstation: '岗位',
+      belongingCabinet: '所属电柜'
     }
   },
   sop: {
@@ -2808,7 +2842,42 @@ export default {
       editLocksetType: '修改锁具机构类型',
       deleteConfirm: '是否确认删除编码为"{code}"的数据项?'
     },
+    switchMotor: {
+      motorName: '电机名称',
+      motorNamePlaceholder: '请输入电机名称',
+      motorCode: '电机编码',
+      motorType: '电机类型',
+      motorTypePlaceholder: '请选择电机类型',
+      motorCodePlaceholder: '请输入电机编号',
+      status: '状态',
+      statusPlaceholder: '请选择状态',
+      batchDelete: '批量删除',
+      motorNo: '电机编号',
+      dialogTitle: '添加或修改电机对话框',
+      remarkPlaceholder: '请输入备注',
+      motorNameRequired: '电机名称不能为空',
+      motorCodeRequired: '电机编码不能为空',
+      motorTypeRequired: '电机类型不能为空',
+      addMotor: '添加电机',
+      editMotor: '修改电机',
+      addMotorInfo: '新增电机信息',
+      editMotorInfo: '修改电机信息',
+      editSuccess: '修改成功',
+      addSuccess: '新增成功',
+      deleteConfirm: '是否确认删除所选数据项?',
+      deleteSuccess: '删除成功',
+      isolationPointBinding: '隔离点绑定',
+      isolationPointBindingPlaceholder: '隔离点绑定',
+      motorLayout: '电机布局',
+      motorPointList: '电机点位列表',
+      save: '保存',
+      confirmSaveChanges: '请确认是否保存修改内容',
+      tip: '提示',
+      confirm: '确定',
+      cancel: '取消'
+    },
     lotoStation: {
+      lotoStation: '锁定站',
       lotoName: '锁定站名称',
       lotoNamePlaceholder: '请输入锁定站名称',
       workstation: '岗位',
@@ -2833,7 +2902,95 @@ export default {
       deleteConfirm: '是否确认删除所选数据项?',
       editSuccess: '修改成功',
       addSuccess: '新增成功',
-      deleteSuccess: '删除成功'
+      deleteSuccess: '删除成功',
+      reset: '重置',
+      switchStatus: '开关状态',
+      isolationPointList: '隔离点列表',
+      unboundIsolationPoints: '未绑定锁定站的隔离点数据',
+      isolationPointCode: '隔离点编号',
+      isolationPointName: '隔离点名称',
+      isolationPointIcon: '隔离点图标',
+      isolationPointNfc: '隔离点NFC',
+      isolationPointSerialNumber: '隔离点序列号',
+      function: '作用',
+      isolationPointPicture: '隔离点图片',
+      energySource: '能量源',
+      addIsolationPoint: '新增隔离点',
+      editIsolationPoint: '修改隔离点信息',
+      isolationPointCodeRequired: '隔离点编号不能为空',
+      isolationPointNameRequired: '隔离点名称不能为空',
+      workshopRequired: '所属车间不能为空',
+      workareaRequired: '作业区域不能为空',
+      lotoIdRequired: '锁定站不能为空',
+      pointTypeRequired: '隔离点类型不能为空',
+      lockTypeIdRequired: '挂锁类型不能为空',
+      pointNfcRequired: '隔离点NFC不能为空'
+    },
+    technology: {
+      selectPostTip: '请在下方选择岗位名称',
+      craft: '工艺',
+      device: '设备',
+      craftName: '工艺名称',
+      craftNamePlaceholder: '请输入工艺名称',
+      deviceName: '设备名称',
+      deviceNamePlaceholder: '请输入设备名称',
+      craftNo: '工艺编号',
+      deviceNo: '设备编号',
+      craftImage: '工艺图',
+      deviceImage: '设备图',
+      dialogTitle: '添加或修改部门对话框',
+      namePlaceholder: '请输入名称',
+      postPlaceholder: '请选择岗位',
+      cabinetPlaceholder: '请选择所属电柜',
+      deviceInfo: '设备信息',
+      lotoStation: '锁定站',
+      deviceCraftName: '设备/工艺名称',
+      deviceCraftNamePlaceholder: '请输入设备/工艺名称',
+      deviceCraftCode: '设备/工艺编号',
+      deviceCraftCodePlaceholder: '请输入设备/工艺编号',
+      autoGenerate: '自动生成',
+      deviceCraftType: '设备/工艺类型',
+      deviceCraftTypePlaceholder: '请输入设备/工艺类型',
+      craftImage2: '工艺图',
+      deviceCraftCodeRequired: '设备/工艺编码不能为空',
+      deviceCraftNameRequired: '设备/工艺名称不能为空',
+      postRequired: '岗位不能为空',
+      cabinetRequired: '电柜不能为空',
+      craftInfo: '工艺信息',
+      deviceList: '设备列表',
+      sopList: 'SOP列表',
+      deviceCraftImage: '工艺/设备 工艺图',
+      lotoStationInfo: 'LOTO站信息',
+      lockStationInfo: '锁定站信息',
+      eightSteps: '八大步骤',
+      deviceCode: '设备编码',
+      deviceName2: '设备名称',
+      deviceImage2: '设备图',
+      sopName: 'sop名称',
+      workContent: '工作内容',
+      deviceListDialog: '添加或修改设备列表对话框',
+      deviceNamePlaceholder2: '请输入设备名称',
+      deviceCodePlaceholder: '请输入设备编号',
+      parent: '上级',
+      selectParent: '选择上级',
+      belongingWorkstation: '所属岗位',
+      selectWorkstation: '选择岗位',
+      selectEquipmentProcess: '选择设备/工艺',
+      addEquipment: '新增设备',
+      editEquipment: '修改设备',
+      addSop: '新增SOP',
+      editSop: '修改SOP',
+      deleteConfirmMessage: '确认删除数据项?',
+      saveConfirmMessage: '请确认是否保存修改内容',
+      tip: '提示',
+      mapDataFormatError: '地图数据格式不正确,请输入有效的 JSON 格式!',
+      saveSuccess: '保存成功!',
+      editSuccess: '修改成功',
+      addSuccess: '新增成功',
+      deleteSuccess: '删除成功',
+      selectSopType: '请选择SOP类型',
+      workstation: '岗位',
+      belongingCabinet: '所属电柜'
     },
     technologyList: {
       selectWorkstationPlaceholder: '请在下方选择岗位名称',
@@ -2936,6 +3093,15 @@ export default {
       occurTime: '异常发生时间',
       handleTime: '异常解除时间'
     }
+  },
+  assert: {
+    cabinet: {
+      material: {
+        not: {
+          exist: '物资柜中的物资不存在'
+        }
+      }
+    }
   }
 }
 

+ 3 - 3
src/views/mes/dv/lotoStation/LookDetail.vue

@@ -1,9 +1,9 @@
 <template>
   <div class="container">
     <el-radio-group v-model="tabPosition" style="margin: 5px">
-      <el-radio-button label="first">锁定站</el-radio-button>
-      <el-radio-button label="second">开关状态</el-radio-button>
-      <el-radio-button label="third">隔离点列表</el-radio-button>
+      <el-radio-button label="first">{{ $t('mes.lotoStation.lotoStation') }}</el-radio-button>
+      <el-radio-button label="second">{{ $t('mes.lotoStation.switchStatus') }}</el-radio-button>
+      <el-radio-button label="third">{{ $t('mes.lotoStation.isolationPointList') }}</el-radio-button>
     </el-radio-group>
 
     <component :is="currentComponent" :lotoId="this.lotoId"/>

+ 8 - 8
src/views/mes/dv/lotoStation/MapData.vue

@@ -21,7 +21,7 @@
           type="primary"
           icon="el-icon-check"
           style="align-self: flex-end;margin-top: 10px"
-        >保存
+        >{{ $t('common.save') }}
         </el-button>
 
         <el-button
@@ -30,7 +30,7 @@
           type="primary"
           icon="el-icon-setting"
           style="align-self: flex-end;margin-top: 10px"
-        >重置
+        >{{ $t('mes.lotoStation.reset') }}
         </el-button>
 
       </div>
@@ -279,9 +279,9 @@ export default {
       },1000)
     },
     save() {
-      this.$confirm('请确认是否保存修改内容', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
+      this.$confirm(this.$t('mes.technology.saveConfirmMessage'), this.$t('mes.technology.tip'), {
+        confirmButtonText: this.$t('common.confirm'),
+        cancelButtonText: this.$t('common.cancel'),
         type: 'warning'
       })
         .then(() => {
@@ -301,7 +301,7 @@ export default {
               console.log(response, '修改车间区域地图')
               this.$message({
                 type: 'success',
-                message: '保存成功!'
+                message: this.$t('mes.technology.saveSuccess')
               })
             })
 
@@ -331,7 +331,7 @@ export default {
           } else {
             this.$message({
               type: 'error',
-              message: '地图数据格式不正确,请输入有效的 JSON 格式!'
+              message: this.$t('mes.technology.mapDataFormatError')
             })
           }
         })
@@ -394,7 +394,7 @@ export default {
         const rightnoLoto = new Konva.Text({
           x: 1110, // 调整位置以适应网格
           y: 20, // 调整位置以适应网格
-          text: '未绑定锁定站的隔离点数据',
+          text: this.$t('mes.lotoStation.unboundIsolationPoints'),
           fontSize: 15,
           fill: 'black'
         })

+ 28 - 28
src/views/mes/dv/lotoStation/PointList.vue

@@ -17,7 +17,7 @@
           </el-button>
         </template>
       </el-table-column> -->
-      <el-table-column label="隔离点编号" align="center" prop="pointCode" width="100">
+      <el-table-column :label="$t('mes.lotoStation.isolationPointCode')" align="center" prop="pointCode" width="150">
         <template slot-scope="scope">
           <el-button
             v-no-more-click
@@ -28,12 +28,12 @@
           </el-button>
         </template>
       </el-table-column>
-      <el-table-column label="隔离点名称" align="center" prop="pointName"/>
+      <el-table-column :label="$t('mes.lotoStation.isolationPointName')" align="center" prop="pointName" width="150"/>
       <el-table-column
-        label="隔离点图标"
+        :label="$t('mes.lotoStation.isolationPointIcon')"
         align="center"
         prop="pointIcon"
-        width="90"
+        width="190"
       >
         <template slot-scope="scope">
           <img
@@ -45,7 +45,7 @@
           <span v-else>-</span>
         </template>
       </el-table-column>
-      <el-table-column label="开关状态" align="center" prop="switchStatus">
+      <el-table-column :label="$t('mes.lotoStation.switchStatus')" align="center" prop="switchStatus" width="110">
         <template slot-scope="scope">
           <!--          <dict-tag :options="dict.type.switch_status" :value="scope.row.switchStatus"></dict-tag>-->
           <el-switch
@@ -60,22 +60,22 @@
           <span v-else>-</span>
         </template>
       </el-table-column>
-      <el-table-column label="隔离点NFC" align="center" prop="pointNfc" ></el-table-column>
-      <el-table-column label="岗位" align="center" prop="workstationName">
+      <el-table-column :label="$t('mes.lotoStation.isolationPointNfc')" align="center" prop="pointNfc" width="150"></el-table-column>
+      <el-table-column :label="$t('mes.lotoStation.workstation')" align="center" prop="workstationName" width="150">
       </el-table-column>
-      <el-table-column label="设备/工艺" align="center" prop="machineryName">
+      <el-table-column :label="$t('mes.lotoStation.machinery')" align="center" prop="machineryName" width="150">
       </el-table-column>
-      <el-table-column label="锁定站" align="center" prop="lotoName">
+      <el-table-column :label="$t('mes.lotoStation.lotoStation')" align="center" prop="lotoName" width="150">
       </el-table-column>
-      <el-table-column label="隔离点序列号" align="center" prop="pointSerialNumber">
+      <el-table-column :label="$t('mes.lotoStation.isolationPointSerialNumber')" align="center" prop="pointSerialNumber" width="220">
       </el-table-column>
-      <el-table-column label="作用" align="center" prop="remark">
+      <el-table-column :label="$t('mes.lotoStation.function')" align="center" prop="remark">
       </el-table-column>
       <el-table-column
-        label="隔离点图片"
+        :label="$t('mes.lotoStation.isolationPointPicture')"
         align="center"
         prop="pointPicture"
-        width="90"
+        width="160"
       >
         <template slot-scope="scope">
           <img
@@ -88,7 +88,7 @@
         </template>
       </el-table-column>
 
-      <el-table-column label="能量源" align="center" prop="powerType">
+      <el-table-column :label="$t('mes.lotoStation.energySource')" align="center" prop="powerType" width="150">
         <template slot-scope="scope">
           <dict-tag
             :options="dict.type.power_type"
@@ -197,28 +197,28 @@ export default {
       // 表单校验
       rules: {
         pointCode: [
-          { required: true, message: '隔离点编号不能为空', trigger: 'blur' }
+          { required: true, message: this.$t('mes.lotoStation.isolationPointCodeRequired'), trigger: 'blur' }
         ],
         pointName: [
-          { required: true, message: '隔离点名称不能为空', trigger: 'blur' }
+          { required: true, message: this.$t('mes.lotoStation.isolationPointNameRequired'), trigger: 'blur' }
         ],
         workshopId: [
-          { required: true, message: '所属车间不能为空', trigger: 'blur' }
+          { required: true, message: this.$t('mes.lotoStation.workshopRequired'), trigger: 'blur' }
         ],
         workareaId: [
-          { required: true, message: '作业区域不能为空', trigger: 'blur' }
+          { required: true, message: this.$t('mes.lotoStation.workareaRequired'), trigger: 'blur' }
         ],
         lotoId: [
-          { required: true, message: '锁定站不能为空', trigger: 'blur' }
+          { required: true, message: this.$t('mes.lotoStation.lotoIdRequired'), trigger: 'blur' }
         ],
         pointType: [
-          { required: true, message: '隔离点类型不能为空', trigger: 'blur' }
+          { required: true, message: this.$t('mes.lotoStation.pointTypeRequired'), trigger: 'blur' }
         ],
         lockTypeId: [
-          { required: true, message: '挂锁类型不能为空', trigger: 'blur' }
+          { required: true, message: this.$t('mes.lotoStation.lockTypeIdRequired'), trigger: 'blur' }
         ],
         pointNfc: [
-          { required: true, message: '隔离点NFC不能为空', trigger: 'blur' }
+          { required: true, message: this.$t('mes.lotoStation.pointNfcRequired'), trigger: 'blur' }
         ]
       },
       imageMap: {
@@ -432,7 +432,7 @@ export default {
     handleAdd() {
       this.reset()
       this.open = true
-      this.title = '新增隔离点'
+      this.title = this.$t('mes.lotoStation.addIsolationPoint')
       this.optType = 'add'
       this.pointId = null
       this.form.workshopId = 0
@@ -449,7 +449,7 @@ export default {
         // 确定选中的图片索引
         this.selectedImageIndex = this.getImageIndexByIcon(response.data.pointIcon);
         this.open = true
-        this.title = '修改隔离点信息'
+        this.title = this.$t('mes.lotoStation.editIsolationPoint')
         this.optType = 'edit'
       })
     },
@@ -470,14 +470,14 @@ export default {
           if (this.pointId != null) {
             console.log(this.form, '隔离点修改form')
             updateIsIsolationPoint(this.form).then((response) => {
-              this.$modal.msgSuccess('修改成功')
+              this.$modal.msgSuccess(this.$t('mes.lotoStation.editSuccess'))
               this.open = false
               this.getList()
             })
           } else {
             console.log(this.form, '新增参数')
             addinsertIsIsolationPoint(this.form).then((response) => {
-              this.$modal.msgSuccess('新增成功')
+              this.$modal.msgSuccess(this.$t('mes.lotoStation.addSuccess'))
               this.open = false
               this.getList()
               this.pointId = null
@@ -492,13 +492,13 @@ export default {
       // const pointcodes = row.pointCode || this.codes
       // '是否确认删除隔离点编号为"' + pointcodes + '"的数据项?'
       this.$modal
-        .confirm('是否确认删除所选数据项?')
+        .confirm(this.$t('mes.lotoStation.deleteConfirm'))
         .then(function() {
           return deleteIsIsolationPointByPointIds(teamIds)
         })
         .then(() => {
           this.getList()
-          this.$modal.msgSuccess('删除成功')
+          this.$modal.msgSuccess(this.$t('mes.lotoStation.deleteSuccess'))
         })
         .catch(() => {
         })

+ 5 - 5
src/views/mes/dv/lotoStation/SwitchStatus.vue

@@ -273,9 +273,9 @@ export default {
       this.$router.push('/mes/dv/lotoStation')
     },
     save() {
-      this.$confirm('请确认是否保存修改内容', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
+      this.$confirm(this.$t('mes.technology.saveConfirmMessage'), this.$t('mes.technology.tip'), {
+        confirmButtonText: this.$t('common.confirm'),
+        cancelButtonText: this.$t('common.cancel'),
         type: 'warning'
       })
         .then(() => {
@@ -295,7 +295,7 @@ export default {
               console.log(response, '修改车间区域地图')
               this.$message({
                 type: 'success',
-                message: '保存成功!'
+                message: this.$t('mes.technology.saveSuccess')
               })
             })
 
@@ -323,7 +323,7 @@ export default {
           } else {
             this.$message({
               type: 'error',
-              message: '地图数据格式不正确,请输入有效的 JSON 格式!'
+              message: this.$t('mes.technology.mapDataFormatError')
             })
           }
         })

+ 2 - 2
src/views/mes/dv/lotoStation/index.vue

@@ -68,7 +68,7 @@
                    :disabled="multiple"
                    @click="handleDelete"
                    v-hasPermi="['iscs:station:remove']"
-        >{{ $t('common.deleteBatch') }}
+        >{{ $t('common.batchDelete') }}
         </el-button>
       </el-col>
       <right-toolbar
@@ -174,7 +174,7 @@
 <!--      </el-table-column>-->
 
       <el-table-column
-        :label="$t('common.action')"
+        :label="$t('common.operation')"
         align="center"
         class-name="small-padding fixed-width"
         fixed="right"

+ 2 - 2
src/views/mes/dv/segregationpoint/index.vue

@@ -248,7 +248,7 @@
       </el-table-column>
       <el-table-column :label="$t('mes.segregationPoint.layoutMap')" align="center" prop="switchMapName" :width="isEnglish ? '180px' : '140px'" show-overflow-tooltip>
       </el-table-column>
-      <el-table-column :label="$t('mes.segregationPoint.pointSerialNumber')" align="center" prop="pointSerialNumber" :width="isEnglish ? '200px' : '160px'" show-overflow-tooltip>
+      <el-table-column :label="$t('mes.segregationPoint.pointSerialNumber')" align="center" prop="pointSerialNumber" :width="isEnglish ? '210px' : '160px'" show-overflow-tooltip>
       </el-table-column>
       <el-table-column :label="$t('mes.segregationPoint.remark')" align="center" prop="remark" :width="isEnglish ? '150px' : '120px'" show-overflow-tooltip>
       </el-table-column>
@@ -266,7 +266,7 @@
         :label="$t('mes.segregationPoint.pointPicture')"
         align="center"
         prop="pointPicture"
-        :width="isEnglish ? '140px' : '110px'"
+        :width="isEnglish ? '160px' : '110px'"
       >
         <template slot-scope="scope">
           <img

+ 2 - 2
src/views/mes/dv/switchMotor/LookDetail.vue

@@ -1,8 +1,8 @@
 <template>
   <div class="container">
     <el-radio-group v-model="tabPosition" style="margin: 5px">
-      <el-radio-button label="first">电机布局</el-radio-button>
-      <el-radio-button label="third">电机点位列表</el-radio-button>
+      <el-radio-button label="first">{{ $t('mes.switchMotor.motorLayout') }}</el-radio-button>
+      <el-radio-button label="third">{{ $t('mes.switchMotor.motorPointList') }}</el-radio-button>
     </el-radio-group>
 
     <component :is="currentComponent" :motorMapId="this.motorMapId"/>

+ 14 - 7
src/views/mes/dv/switchMotor/MapData.vue

@@ -21,7 +21,7 @@
           type="primary"
           icon="el-icon-check"
           style="align-self: flex-end;margin-top: 10px"
-        >保存
+        >{{ $t('mes.switchMotor.save') }}
         </el-button>
 
 
@@ -40,6 +40,12 @@ import { selectIsMapById } from '@/api/system/mapconfig'
 
 export default {
   name: 'KonvaExample',
+  props: {
+    motorMapId: {
+      type: String,
+      default: null
+    }
+  },
   data() {
     return {
       stage: null,
@@ -76,10 +82,11 @@ export default {
 
   methods: {
     getInfo() {
-      this.lotoId = this.$route.query.lotoId
-      const motorMapId = this.$route.query.motorMapId
+      // 优先使用 prop,如果没有则从 route query 获取
+      const motorMapId = this.motorMapId || (this.$route && this.$route.query && this.$route.query.motorMapId)
       this.mapId = motorMapId
-      const lotoId = this.$route.query.lotoId
+      this.lotoId = (this.$route && this.$route.query && this.$route.query.lotoId) || null
+      const lotoId = this.lotoId
       const motorType=4
 
       const mapPromise = selectIsMapById(motorMapId).then((response) => {
@@ -109,9 +116,9 @@ export default {
       }, 1000)
     },
     save() {
-      this.$confirm('请确认是否保存修改内容', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
+      this.$confirm(this.$t('mes.switchMotor.confirmSaveChanges'), this.$t('mes.switchMotor.tip'), {
+        confirmButtonText: this.$t('mes.switchMotor.confirm'),
+        cancelButtonText: this.$t('mes.switchMotor.cancel'),
         type: 'warning'
       })
         .then(() => {

+ 2 - 2
src/views/mes/dv/switchMotor/PointList.vue

@@ -6,8 +6,8 @@
       :data="tableList"
     >
       <el-table-column type="selection" width="55" align="center"/>
-      <el-table-column label="电机名称" align="center" prop="motorName"/>
-      <el-table-column label="隔离点绑定" align="center" prop="pointName" ></el-table-column>
+      <el-table-column :label="$t('mes.switchMotor.motorName')" align="center" prop="motorName"/>
+      <el-table-column :label="$t('mes.switchMotor.isolationPointBinding')" align="center" prop="pointName" ></el-table-column>
     </el-table>
     <pagination
       v-show="total > 0"

+ 33 - 33
src/views/mes/dv/switchMotor/index.vue

@@ -10,10 +10,10 @@
       @submit.native.prevent
     >
       <el-row>
-        <el-form-item label="电机名称" prop="motorName">
+        <el-form-item :label="$t('mes.switchMotor.motorName')" prop="motorName">
           <el-input
             v-model="queryParams.motorName"
-            placeholder="请输入电机名称"
+            :placeholder="$t('mes.switchMotor.motorNamePlaceholder')"
             clearable
             @keyup.enter.native="handleQuery"
           />
@@ -25,10 +25,10 @@
                      icon="el-icon-search"
                      size="mini"
                      @click="handleQuery"
-          >搜索
+          >{{ $t('common.search') }}
           </el-button>
           <el-button v-no-more-click icon="el-icon-refresh" size="mini" @click="resetQuery"
-          >重置
+          >{{ $t('common.reset') }}
           </el-button>
         </el-form-item>
       </el-row>
@@ -42,7 +42,7 @@
                    size="mini"
                    @click="handleAdd"
                    v-hasPermi="['iscs:motor:add']"
-        >新增
+        >{{ $t('common.add') }}
         </el-button>
       </el-col>
 
@@ -55,7 +55,7 @@
                    :disabled="multiple"
                    @click="handleDelete"
                    v-hasPermi="['iscs:motor:remove']"
-        >批量删除
+        >{{ $t('mes.switchMotor.batchDelete') }}
         </el-button>
       </el-col>
       <right-toolbar
@@ -70,17 +70,17 @@
       @selection-change="handleSelectionChange"
     >
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="电机编码" align="center" prop="motorCode"/>
-      <el-table-column label="电机名称" align="center" prop="motorName"/>
-      <el-table-column label="隔离点绑定" align="center" prop="pointName" />
-      <el-table-column label="电机类型" align="center" prop="motorType">
+      <el-table-column :label="$t('mes.switchMotor.motorCode')" align="center" prop="motorCode"/>
+      <el-table-column :label="$t('mes.switchMotor.motorName')" align="center" prop="motorName"/>
+      <el-table-column :label="$t('mes.switchMotor.isolationPointBinding')" align="center" prop="pointName" />
+      <el-table-column :label="$t('mes.switchMotor.motorType')" align="center" prop="motorType">
         <template slot-scope="scope">
           <dict-tag :options="dict.type.motor_type" :value="scope.row.motorType"/>
         </template>
       </el-table-column>
 
       <el-table-column
-        label="操作"
+        :label="$t('common.operation')"
         align="center"
         class-name="small-padding fixed-width"
         fixed="right"
@@ -92,7 +92,7 @@
                      icon="el-icon-edit"
                      @click="handleUpdate(scope.row)"
                      v-hasPermi="['iscs:motor:edit','iscs:motor:query']"
-          >修改
+          >{{ $t('common.edit') }}
           </el-button>
           <el-button v-no-more-click
                      size="mini"
@@ -100,7 +100,7 @@
                      icon="el-icon-delete"
                      @click="handleDelete(scope.row)"
                      v-hasPermi="['iscs:motor:remove']"
-          >删除
+          >{{ $t('common.delete') }}
           </el-button>
         </template>
       </el-table-column>
@@ -117,20 +117,20 @@
     <!-- 添加或修改设备维修单对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="450px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-        <el-form-item label="电机编号" prop="motorCode">
-          <el-input v-model="form.motorCode" placeholder="请输入电机编号" />
+        <el-form-item :label="$t('mes.switchMotor.motorCode')" prop="motorCode">
+          <el-input v-model="form.motorCode" :placeholder="$t('mes.switchMotor.motorCodePlaceholder')" />
         </el-form-item>
-        <el-form-item label="电机名称" prop="motorName">
-          <el-input v-model="form.motorName" placeholder="请输入电机名称" />
+        <el-form-item :label="$t('mes.switchMotor.motorName')" prop="motorName">
+          <el-input v-model="form.motorName" :placeholder="$t('mes.switchMotor.motorNamePlaceholder')" />
         </el-form-item>
-        <el-form-item label="隔离点绑定" prop="pointId">
-          <el-select style="width:290px" v-model="form.pointId" placeholder="隔离点绑定" clearable>
+        <el-form-item :label="$t('mes.switchMotor.isolationPointBinding')" prop="pointId">
+          <el-select style="width:290px" v-model="form.pointId" :placeholder="$t('mes.switchMotor.isolationPointBindingPlaceholder')" clearable>
             <el-option v-for="item in this.isolationPointOptions" :key="item.pointId" :label="item.pointName" :value="item.pointId">
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="电机类型" align="center" prop="motorType" >
-          <el-select style="width:290px" v-model="form.motorType" placeholder="选择电机类型" clearable>
+        <el-form-item :label="$t('mes.switchMotor.motorType')" align="center" prop="motorType" >
+          <el-select style="width:290px" v-model="form.motorType" :placeholder="$t('mes.switchMotor.motorTypePlaceholder')" clearable>
             <el-option
               v-for="dict in dict.type.motor_type"
               :key="dict.value"
@@ -141,8 +141,8 @@
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button v-no-more-click type="primary" @click="submitForm">确 定</el-button>
-        <el-button v-no-more-click @click="cancel">取 消</el-button>
+        <el-button v-no-more-click type="primary" @click="submitForm">{{ $t('mes.switchMotor.confirm') }}</el-button>
+        <el-button v-no-more-click @click="cancel">{{ $t('mes.switchMotor.cancel') }}</el-button>
       </div>
     </el-dialog>
   </div>
@@ -207,10 +207,10 @@ export default {
       // 表单校验
       rules: {
         motorName: [
-          { required: true, message: "电机名称不能为空", trigger: "blur" },
+          { required: true, message: this.$t('mes.switchMotor.motorNameRequired'), trigger: "blur" },
         ],
         motorCode:[
-          { required: true, message: "电机编码不能为空", trigger: "blur" },
+          { required: true, message: this.$t('mes.switchMotor.motorCodeRequired'), trigger: "blur" },
         ],
         // pointId: [
         //   { required: true, message: "隔离点不能为空", trigger: "blur" },
@@ -333,7 +333,7 @@ export default {
       this.reset();
       this.open = true;
       this.EditId = null;
-      this.title = "新增电机信息";
+      this.title = this.$t('mes.switchMotor.addMotorInfo');
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
@@ -342,7 +342,7 @@ export default {
       selectIsMotorById(this.EditId).then((response) => {
         this.form = response.data;
         this.open = true;
-        this.title = "修改电机信息";
+        this.title = this.$t('mes.switchMotor.editMotorInfo');
       });
     },
     /** 提交按钮 */
@@ -351,14 +351,14 @@ export default {
         if (valid) {
           if (this.EditId != null) {
             updateMotor(this.form).then((response) => {
-              this.$modal.msgSuccess("修改成功");
+              this.$modal.msgSuccess(this.$t('mes.switchMotor.editSuccess'));
               this.open = false;
               this.getList();
             });
           } else {
             // console.log(this.form, "form");
             addMotor(this.form).then((response) => {
-              this.$modal.msgSuccess("新增成功");
+              this.$modal.msgSuccess(this.$t('mes.switchMotor.addSuccess'));
               this.open = false;
               this.EditId = null;
               this.getList();
@@ -373,13 +373,13 @@ export default {
       const repairIds = row.motorId || this.ids;
       const repairCodes = row.motorName || this.codes;
       this.$modal
-        .confirm('是否确认删除所选数据项?')
+        .confirm(this.$t('mes.switchMotor.deleteConfirm'))
         .then(function () {
           return delMotor(repairIds);
         })
         .then(() => {
           this.getList();
-          this.$modal.msgSuccess("删除成功");
+          this.$modal.msgSuccess(this.$t('mes.switchMotor.deleteSuccess'));
         })
         .catch(() => {});
     },
@@ -393,11 +393,11 @@ export default {
   left: 0px;
 }
 
-/deep/ .el-radio__inner {
+::v-deep .el-radio__inner {
   border-radius: 2px;
 }
 
-/deep/ .el-radio__input.is-checked .el-radio__inner::after {
+::v-deep .el-radio__input.is-checked .el-radio__inner::after {
   content: "";
   width: 8px;
   height: 3px;

+ 56 - 55
src/views/mes/dv/technology/technologyDetail/CraftDetail.vue

@@ -1,10 +1,10 @@
 <template>
   <div class="app-container">
     <el-radio-group v-model="tabPosition" style="margin-bottom: 30px">
-      <el-radio-button label="craftInfo">工艺信息</el-radio-button>
-      <el-radio-button label="deviceList">设备列表</el-radio-button>
-      <el-radio-button label="Loto">锁定站</el-radio-button>
-      <el-radio-button label="sopList">SOP列表</el-radio-button>
+      <el-radio-button label="craftInfo">{{ $t('mes.technology.craftInfo') }}</el-radio-button>
+      <el-radio-button label="deviceList">{{ $t('mes.technology.deviceList') }}</el-radio-button>
+      <el-radio-button label="Loto">{{ $t('mes.technology.lotoStation') }}</el-radio-button>
+      <el-radio-button label="sopList">{{ $t('mes.technology.sopList') }}</el-radio-button>
     </el-radio-group>
 <!--    工艺信息-->
     <div class="craft" v-if="this.tabPosition == 'craftInfo'">
@@ -24,7 +24,7 @@
             size="mini"
             @click="handleAdd"
             v-hasPermi="['iscs:machinery:add']"
-          >新增
+          >{{ $t('common.add') }}
           </el-button>
 
         </el-col>
@@ -38,7 +38,7 @@
             :disabled="multiple"
             @click="handleDelete"
             v-hasPermi="['iscs:machinery:remove']"
-          >批量删除
+          >{{ $t('common.batchDelete') }}
           </el-button
           >
         </el-col>
@@ -71,15 +71,15 @@
         <el-table-column type="selection" width="55" align="center"/>
         <el-table-column
           prop="machineryCode"
-          label="设备编码"
+          :label="$t('mes.technology.deviceCode')"
         ></el-table-column>
         <el-table-column
           prop="machineryName"
-          label="设备名称"
+          :label="$t('mes.technology.deviceName2')"
         ></el-table-column>
         <el-table-column
           prop="machineryImg"
-          label="设备图"
+          :label="$t('mes.technology.deviceImage2')"
         >
           <template slot-scope="scope">
             <img :src="scope.row.machineryImg" alt="" style="width: 50px; height: 50px;"/>
@@ -101,7 +101,7 @@
 <!--          </template>-->
 <!--        </el-table-column>-->
         <el-table-column
-          label="操作"
+          :label="$t('common.operation')"
           align="center"
           class-name="small-padding fixed-width"
         >
@@ -113,7 +113,7 @@
               icon="el-icon-edit"
               @click="handleUpdate(scope.row)"
               v-hasPermi="['iscs:machinery:edit']"
-            >编辑
+            >{{ $t('common.edit') }}
             </el-button>
             <el-button
               v-no-more-click
@@ -122,7 +122,7 @@
               icon="el-icon-delete"
               @click="handleDelete(scope.row)"
               v-hasPermi="['iscs:machinery:remove']"
-            >删除
+            >{{ $t('common.delete') }}
             </el-button>
           </template>
         </el-table-column>
@@ -144,7 +144,7 @@
             size="mini"
             @click="handleAddSopList"
             v-hasPermi="['iscs:machinery:add']"
-          >新增
+          >{{ $t('common.add') }}
           </el-button>
         </el-col>
         <el-col :span="1.5">
@@ -157,7 +157,7 @@
             :disabled="multiple"
             @click="handleSopDelete"
             v-hasPermi="['iscs:machinery:remove']"
-          >批量删除
+          >{{ $t('common.batchDelete') }}
           </el-button
           >
         </el-col>
@@ -175,15 +175,16 @@
         <el-table-column type="selection" width="55" align="center"/>
 
         <el-table-column
+
           prop="sopName"
-          label="sop名称"
+          :label="$t('mes.technology.sopName')"
         ></el-table-column>
         <el-table-column
           prop="machineryName"
-          label="工作内容"
+          :label="$t('mes.technology.workContent')"
         ></el-table-column>
         <el-table-column
-          label="操作"
+          :label="$t('common.operation')"
           align="center"
           class-name="small-padding fixed-width"
         >
@@ -195,7 +196,7 @@
               icon="el-icon-edit"
               @click="handleSopUpdate(scope.row)"
               v-hasPermi="['iscs:machinery:edit']"
-            >编辑
+            >{{ $t('common.edit') }}
             </el-button>
             <!-- <el-button
                 v-no-more-click
@@ -214,7 +215,7 @@
               icon="el-icon-delete"
               @click="handleSopDelete(scope.row)"
               v-hasPermi="['iscs:machinery:remove']"
-            >删除
+            >{{ $t('common.delete') }}
             </el-button>
           </template>
         </el-table-column>
@@ -247,18 +248,18 @@
 <!--          />-->
 <!--        </el-form-item>-->
 
-        <el-form-item label="设备名称" prop="machineryName">
+        <el-form-item :label="$t('mes.technology.deviceName2')" prop="machineryName">
           <el-input
             v-model="form.machineryName"
-            placeholder="请输入设备名称"
+            :placeholder="$t('mes.technology.deviceNamePlaceholder2')"
           />
         </el-form-item>
         <el-row>
           <el-col :span="17">
-            <el-form-item label="设备编号" prop="machineryCode">
+            <el-form-item :label="$t('mes.technology.deviceCode')" prop="machineryCode">
               <el-input
                 v-model="form.machineryCode"
-                placeholder="请输入设备编号"
+                :placeholder="$t('mes.technology.deviceCodePlaceholder')"
               />
             </el-form-item>
           </el-col>
@@ -267,7 +268,7 @@
               <el-switch
                 v-model="autoGenFlag"
                 active-color="#13ce66"
-                active-text="自动生成"
+                :active-text="$t('mes.technology.autoGenerate')"
                 @change="handleAutoGenChange(autoGenFlag)"
               >
               </el-switch>
@@ -275,20 +276,20 @@
           </el-col>
         </el-row>
 <!--        mars岗位-->
-        <el-form-item label="岗位" prop="workstationId">
+        <el-form-item :label="$t('mes.technology.workstation')" prop="workstationId">
           <treeselect
             v-model="form.workstationId"
             :options="formMarsOptions"
             :normalizer="Marsnormalizer"
-            placeholder="请选择岗位"
+            :placeholder="$t('mes.technology.postPlaceholder')"
             disabled
           />
         </el-form-item>
-        <el-form-item label="所属电柜" prop="lotoId">
+        <el-form-item :label="$t('mes.technology.belongingCabinet')" prop="lotoId">
           <el-select
             style="width: 300px"
             v-model="form.lotoId"
-            placeholder="请选择所属电柜"
+            :placeholder="$t('mes.technology.cabinetPlaceholder')"
             disabled
           >
             <el-option
@@ -299,7 +300,7 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="设备图" prop="machineryImg">
+        <el-form-item :label="$t('mes.technology.deviceImage2')" prop="machineryImg">
           <ImageUploadSingle
             :limit="1"
             :value="form.machineryImg"
@@ -311,23 +312,23 @@
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button v-no-more-click type="primary" @click="submitForm"
-        >确 定
+        >{{ $t('common.confirm') }}
         </el-button
         >
-        <el-button v-no-more-click @click="cancel">取 消</el-button>
+        <el-button v-no-more-click @click="cancel">{{ $t('common.cancel') }}</el-button>
       </div>
     </el-dialog>
     <!-- 添加或修改sopLise对话框 -->
     <el-dialog :title="titlesop" :visible.sync="openSop" width="470px" append-to-body>
       <el-form ref="sopform" :model="sopform" :rules="rules" label-width="100px">
-        <el-form-item label="所属岗位" prop="workstationId" >
-          <treeselect v-model="sopform.workstationId" :options="marsOptions"  :normalizer="Marsnormalizer" placeholder="选择岗位" disabled/>
+        <el-form-item :label="$t('mes.technology.belongingWorkstation')" prop="workstationId" >
+          <treeselect v-model="sopform.workstationId" :options="marsOptions"  :normalizer="Marsnormalizer" :placeholder="$t('mes.technology.selectWorkstation')" disabled/>
         </el-form-item>
-        <el-form-item label="设备/工艺" prop="machineryId" >
-          <treeselect v-model="sopform.machineryId" :options="machineryOptions"  :normalizer="normalizer" placeholder="选择设备/工艺" disabled/>
+        <el-form-item :label="$t('mes.technology.deviceCraftName')" prop="machineryId" >
+          <treeselect v-model="sopform.machineryId" :options="machineryOptions"  :normalizer="normalizer" :placeholder="$t('mes.technology.selectEquipmentProcess')" disabled/>
         </el-form-item>
-        <el-form-item label="SOP类型" prop="sopType">
-          <el-select v-model="sopform.sopType"  placeholder="请选择SOP类型" clearable>
+        <el-form-item :label="$t('sop.sopType')" prop="sopType">
+          <el-select v-model="sopform.sopType"  :placeholder="$t('mes.technology.selectSopType')" clearable>
             <el-option
               v-for="dict in dict.type.sop_type"
               :key="dict.value"
@@ -338,8 +339,8 @@
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button v-no-more-click type="primary" @click="submitSopForm">确 定</el-button>
-        <el-button v-no-more-click @click="cancel">取 消</el-button>
+        <el-button v-no-more-click type="primary" @click="submitSopForm">{{ $t('common.confirm') }}</el-button>
+        <el-button v-no-more-click @click="cancel">{{ $t('common.cancel') }}</el-button>
       </div>
     </el-dialog>
   </div>
@@ -433,15 +434,15 @@ export default {
       // 表单校验
       rules: {
         machineryCode: [
-          { required: true, message: '设备编码不能为空', trigger: 'blur' }
+          { required: true, message: this.$t('mes.technology.deviceCraftCodeRequired'), trigger: 'blur' }
         ],
         machineryName: [
-          { required: true, message: '设备名称不能为空', trigger: 'blur' }
+          { required: true, message: this.$t('mes.technology.deviceCraftNameRequired'), trigger: 'blur' }
         ],
         workstationId: [
-          { required: true, message: '岗位不能为空', trigger: 'blur' }
+          { required: true, message: this.$t('mes.technology.postRequired'), trigger: 'blur' }
         ],
-        lotoId: [{ required: true, message: '电柜不能为空', trigger: 'blur' }]
+        lotoId: [{ required: true, message: this.$t('mes.technology.cabinetRequired'), trigger: 'blur' }]
       }
     }
   },
@@ -612,10 +613,10 @@ export default {
         // 根据 openType 打开不同的弹窗
         if (openType === 'device') {
           this.open = true;
-          this.title = '新增设备';
+          this.title = this.$t('mes.technology.addEquipment');
         } else if (openType === 'sop') {
           this.openSop = true;
-          this.titlesop = '新增SOP';
+          this.titlesop = this.$t('mes.technology.addSop');
         }
       });
     },
@@ -637,7 +638,7 @@ export default {
       getTechnologyInfo(row.machineryId).then((response) => {
         this.form = response.data
         this.open = true
-        this.title = '修改设备'
+        this.title = this.$t('mes.technology.editEquipment')
       })
     },
     handleSopUpdate(row) {
@@ -645,7 +646,7 @@ export default {
       selectIsMarsSopById(row.sopId).then(response => {
         this.sopform = response.data
         this.openSop = true
-        this.titlesop = '修改SOP'
+        this.titlesop = this.$t('mes.technology.editSop')
       })
     },
     /** 提交按钮 */
@@ -654,13 +655,13 @@ export default {
         if (valid) {
           if (this.form.machineryId != undefined) {
             updateTechnology(this.form).then((response) => {
-              this.$modal.msgSuccess('修改成功')
+              this.$modal.msgSuccess(this.$t('mes.technology.editSuccess'))
               this.open = false
               this.getList()
             })
           } else {
             addTechnology(this.form).then((response) => {
-              this.$modal.msgSuccess('新增成功')
+              this.$modal.msgSuccess(this.$t('mes.technology.addSuccess'))
               this.open = false
               this.getList()
             })
@@ -674,13 +675,13 @@ export default {
         if (valid) {
           if (this.sopform.sopId != undefined) {
             updateIsMarsSop(this.sopform).then(response => {
-              this.$modal.msgSuccess('修改成功')
+              this.$modal.msgSuccess(this.$t('mes.technology.editSuccess'))
               this.openSop = false
               this.getOtherList()
             })
           } else {
             addinsertIsMarsSop(this.sopform).then(response => {
-              this.$modal.msgSuccess('新增成功')
+              this.$modal.msgSuccess(this.$t('mes.technology.addSuccess'))
               this.openSop = false
               this.getOtherList()
             })
@@ -704,21 +705,21 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       const machineryIds = row.machineryId || this.ids;
-      this.$modal.confirm('确认删除数据项?').then(function() {
+      this.$modal.confirm(this.$t('mes.technology.deleteConfirmMessage')).then(function() {
         return delTechnology(machineryIds);
       }).then(() => {
         this.getList();
-        this.$modal.msgSuccess("删除成功");
+        this.$modal.msgSuccess(this.$t('mes.technology.deleteSuccess'));
       }).catch(() => {});
 
     },
     handleSopDelete(row){
       const sopIds = row.sopId || this.sopids;
-      this.$modal.confirm('确认删除数据项?').then(function() {
+      this.$modal.confirm(this.$t('mes.technology.deleteConfirmMessage')).then(function() {
         return deleteIsMarsSopByMarsSopIds(sopIds);
       }).then(() => {
         this.getOtherList();
-        this.$modal.msgSuccess("删除成功");
+        this.$modal.msgSuccess(this.$t('mes.technology.deleteSuccess'));
       }).catch(() => {});
     }
   }

+ 28 - 28
src/views/mes/dv/technology/technologyDetail/DeviceDetail.vue

@@ -1,8 +1,8 @@
 <template>
   <div class="app-container">
     <el-radio-group v-model="tabPosition" style="margin-bottom: 30px">
-      <el-radio-button label="deviceInfo">设备信息</el-radio-button>
-      <el-radio-button label="Loto">锁定站</el-radio-button>
+      <el-radio-button label="deviceInfo">{{ $t('mes.technology.deviceInfo') }}</el-radio-button>
+      <el-radio-button label="Loto">{{ $t('mes.technology.lotoStation') }}</el-radio-button>
 
     </el-radio-group>
 
@@ -18,27 +18,27 @@
     <!-- 添加或修改部门对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="450px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-        <el-form-item label="上级" prop="parentId">
+        <el-form-item :label="$t('mes.technology.parent')" prop="parentId">
           <treeselect
             v-model="form.parentId"
             :options="machineryOptions"
             :normalizer="normalizer"
-            placeholder="选择上级"
+            :placeholder="$t('mes.technology.selectParent')"
           />
         </el-form-item>
 
-        <el-form-item label="设备/工艺名称" prop="machineryName">
+        <el-form-item :label="$t('mes.technology.deviceCraftName')" prop="machineryName">
           <el-input
             v-model="form.machineryName"
-            placeholder="请输入设备/工艺名称"
+            :placeholder="$t('mes.technology.deviceCraftNamePlaceholder')"
           />
         </el-form-item>
         <el-row>
           <el-col :span="18">
-            <el-form-item label="设备/工艺编号" prop="machineryCode">
+            <el-form-item :label="$t('mes.technology.deviceCraftCode')" prop="machineryCode">
               <el-input
                 v-model="form.machineryCode"
-                placeholder="请输入设备/工艺编号"
+                :placeholder="$t('mes.technology.deviceCraftCodePlaceholder')"
               />
             </el-form-item>
           </el-col>
@@ -47,7 +47,7 @@
               <el-switch
                 v-model="autoGenFlag"
                 active-color="#13ce66"
-                active-text="自动生成"
+                :active-text="$t('mes.technology.autoGenerate')"
                 @change="handleAutoGenChange(autoGenFlag)"
               >
               </el-switch>
@@ -55,19 +55,19 @@
           </el-col>
         </el-row>
 <!--        mars岗位-->
-        <el-form-item label="岗位" prop="workstationId">
+        <el-form-item :label="$t('mes.technology.workstation')" prop="workstationId">
           <treeselect
             v-model="form.workstationId"
             :options="marsOptions"
             :normalizer="Marsnormalizer"
-            placeholder="请选择岗位"
+            :placeholder="$t('mes.technology.postPlaceholder')"
           />
         </el-form-item>
-        <el-form-item label="所属电柜" prop="lotoId">
+        <el-form-item :label="$t('mes.technology.belongingCabinet')" prop="lotoId">
           <el-select
             style="width: 300px"
             v-model="form.lotoId"
-            placeholder="请选择所属电柜"
+            :placeholder="$t('mes.technology.cabinetPlaceholder')"
           >
             <el-option
               v-for="dict in LotoOptions"
@@ -77,14 +77,14 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="设备/工艺类型" prop="machineryType">
+        <el-form-item :label="$t('mes.technology.deviceCraftType')" prop="machineryType">
           <el-input
             v-model="form.machineryType"
-            placeholder="请输入设备/工艺类型"
+            :placeholder="$t('mes.technology.deviceCraftTypePlaceholder')"
           />
         </el-form-item>
 
-        <el-form-item label="工艺图" prop="machineryImg">
+        <el-form-item :label="$t('mes.technology.craftImage2')" prop="machineryImg">
           <ImageUploadSingle
             :limit="1"
             :value="form.machineryImg"
@@ -96,9 +96,9 @@
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button v-no-more-click type="primary" @click="submitForm"
-        >确 定</el-button
+        >{{ $t('common.confirm') }}</el-button
         >
-        <el-button v-no-more-click @click="cancel">取 消</el-button>
+        <el-button v-no-more-click @click="cancel">{{ $t('common.cancel') }}</el-button>
       </div>
     </el-dialog>
   </div>
@@ -163,15 +163,15 @@ export default {
       // 表单校验
       rules: {
         machineryCode: [
-          { required: true, message: "设备/工艺编码不能为空", trigger: "blur" },
+          { required: true, message: this.$t('mes.technology.deviceCraftCodeRequired'), trigger: "blur" },
         ],
         machineryName: [
-          { required: true, message: "设备/工艺名称不能为空", trigger: "blur" },
+          { required: true, message: this.$t('mes.technology.deviceCraftNameRequired'), trigger: "blur" },
         ],
         workstationId: [
-          { required: true, message: "岗位不能为空", trigger: "blur" },
+          { required: true, message: this.$t('mes.technology.postRequired'), trigger: "blur" },
         ],
-        lotoId: [{ required: true, message: "电柜不能为空", trigger: "blur" }],
+        lotoId: [{ required: true, message: this.$t('mes.technology.cabinetRequired'), trigger: "blur" }],
       },
     };
   },
@@ -334,7 +334,7 @@ export default {
         this.form.parentId = 0;
       }
       this.open = true;
-      this.title = "新增设备";
+      this.title = this.$t('mes.technology.addEquipment');
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
@@ -342,7 +342,7 @@ export default {
       getTechnologyInfo(row.machineryId).then((response) => {
         this.form = response.data;
         this.open = true;
-        this.title = "修改设备";
+        this.title = this.$t('mes.technology.editEquipment');
       });
     },
 
@@ -352,13 +352,13 @@ export default {
         if (valid) {
           if (this.form.machineryId != undefined) {
             updateTechnology(this.form).then((response) => {
-              this.$modal.msgSuccess("修改成功");
+              this.$modal.msgSuccess(this.$t('mes.technology.editSuccess'));
               this.open = false;
               this.getList();
             });
           } else {
             addTechnology(this.form).then((response) => {
-              this.$modal.msgSuccess("新增成功");
+              this.$modal.msgSuccess(this.$t('mes.technology.addSuccess'));
               this.open = false;
               this.getList();
             });
@@ -376,13 +376,13 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       this.$modal
-        .confirm('是否确认删除所选数据项?')
+        .confirm(this.$t('common.deleteConfirm'))
         .then(function () {
           return delTechnology(row.machineryId);
         })
         .then(() => {
           this.getList();
-          this.$modal.msgSuccess("删除成功");
+          this.$modal.msgSuccess(this.$t('mes.technology.deleteSuccess'));
         })
         .catch(() => {});
     },

+ 7 - 7
src/views/mes/dv/technology/technologyDetail/MapData.vue

@@ -13,7 +13,7 @@
         <div class="bottombtn" style="width:100%;height: 35px;">
           <el-button v-no-more-click @click="save" type="primary" icon="el-icon-edit"
                      style="float: left; height: 33px; line-height: 2px"
-          >保存
+          >{{ $t('common.save') }}
           </el-button>
         </div>
 <!--      </el-card>-->
@@ -141,14 +141,14 @@ export default {
       } else {
         this.$message({
           type: 'error',
-          message: '地图数据格式不正确,请输入有效的 JSON 格式!'
+          message: this.$t('mes.technology.mapDataFormatError')
         })
       }
     },
     save() {
-      this.$confirm('请确认是否保存修改内容', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
+      this.$confirm(this.$t('mes.technology.saveConfirmMessage'), this.$t('mes.technology.tip'), {
+        confirmButtonText: this.$t('common.confirm'),
+        cancelButtonText: this.$t('common.cancel'),
         type: 'warning'
       }).then(() => {
         // 校验 this.value 是否为有效的 JSON
@@ -164,13 +164,13 @@ export default {
             // this.$router.push('/technology/technologyList')
             this.$message({
               type: 'success',
-              message: '保存成功!'
+              message: this.$t('mes.technology.saveSuccess')
             })
           })
         } else {
           this.$message({
             type: 'error',
-            message: '地图数据格式不正确,请输入有效的 JSON 格式!'
+            message: this.$t('mes.technology.mapDataFormatError')
           })
         }
       }).catch(() => {

+ 14 - 14
src/views/mes/hw/workCard/index.vue

@@ -110,14 +110,14 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column
         :label="$t('mes.workCard.cardCode')"
-        :width="isEnglish ? '160px' : '150px'"
+
         align="center"
         prop="cardCode"
         show-overflow-tooltip
       />
       <el-table-column
         :label="$t('mes.workCard.cardType')"
-        :width="isEnglish ? '150px' : '130px'"
+
         align="center"
         prop="cardType"
       >
@@ -130,22 +130,22 @@
       </el-table-column>
       <el-table-column
         :label="$t('mes.workCard.cardNfc')"
-        :width="isEnglish ? '150px' : '130px'"
+
         align="center"
         prop="cardNfc"
         show-overflow-tooltip
       />
-      <el-table-column 
-        :label="$t('mes.workCard.userName')" 
-        :width="isEnglish ? '150px' : '130px'"
-        align="center" 
+      <el-table-column
+        :label="$t('mes.workCard.userName')"
+
+        align="center"
         prop="userName"
         show-overflow-tooltip
       />
-      <el-table-column 
-        :label="$t('common.status')" 
-        :width="isEnglish ? '100px' : '80px'"
-        align="center" 
+      <el-table-column
+        :label="$t('common.status')"
+
+        align="center"
         prop="exStatus"
       >
         <template slot-scope="scope">
@@ -161,10 +161,10 @@
           <span v-else>-</span>
         </template>
       </el-table-column>
-      <el-table-column 
-        :label="$t('common.remark')" 
+      <el-table-column
+        :label="$t('common.remark')"
         :width="isEnglish ? '150px' : '120px'"
-        align="center" 
+        align="center"
         prop="exRemark"
         show-overflow-tooltip
       >

+ 3 - 3
src/views/mes/md/locksettype/index.vue

@@ -85,18 +85,18 @@
       <el-table-column
         prop="locksetTypeCode"
         :label="$t('mes.locksetType.locksetTypeCode')"
-        :width="isEnglish ? '240px' : '200px'"
+
         show-overflow-tooltip
       ></el-table-column>
       <el-table-column
         prop="locksetTypeName"
         :label="$t('mes.locksetType.locksetTypeName')"
-        :width="isEnglish ? '240px' : '200px'"
+
         show-overflow-tooltip
       ></el-table-column>
       <el-table-column
         :label="$t('mes.locksetType.locksetTypeIcon')"
-        :width="isEnglish ? '180px' : '150px'"
+
         align="center"
         prop="locksetTypeIcon"
       >