|
@@ -1,40 +1,50 @@
|
|
<!-- 添加或者修改设备 -->
|
|
<!-- 添加或者修改设备 -->
|
|
<template>
|
|
<template>
|
|
|
|
+ <!-- 编辑设备任务/新增设备任务 -->
|
|
<el-dialog
|
|
<el-dialog
|
|
- :title="isEdit ? '修改设备任务' : '添加设备任务'"
|
|
|
|
|
|
+ :title="isEdit ? $t('message.ice104.dialog.editJobTitle') : $t('message.ice104.dialog.addJobTitle')"
|
|
v-model="dialogVisible"
|
|
v-model="dialogVisible"
|
|
width="600px"
|
|
width="600px"
|
|
:before-close="closeDialog"
|
|
:before-close="closeDialog"
|
|
:close-on-click-modal="false"
|
|
:close-on-click-modal="false"
|
|
>
|
|
>
|
|
- <el-form ref="formRef" :rules="formRules" :model="ruleForm" label-position="left" label-width="120px" style="width: 90%; margin: 0 auto">
|
|
|
|
- <el-form-item label="设备任务名称" prop="title">
|
|
|
|
- <el-input v-model="ruleForm.title" placeholder="请输入设备任务名称" />
|
|
|
|
|
|
+ <el-form ref="formRef" :rules="formRules" :model="ruleForm" label-position="right" :label-width="currentLang == 'en' ? 160 : 120" >
|
|
|
|
+ <!-- 设备任务名称 -->
|
|
|
|
+ <el-form-item :label="$t('message.ice104.labels.deviceJobTitle')" prop="title">
|
|
|
|
+ <!-- 请输入设备任务名称 -->
|
|
|
|
+ <el-input v-model="ruleForm.title" :placeholder="$t('message.ice104.placeholders.deviceJobTitle')" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="执行间隔" prop="interval">
|
|
|
|
- <el-input type="number" :min="0" v-model.number="ruleForm.interval" placeholder="请输入执行间隔" />
|
|
|
|
|
|
+ <!-- 执行间隔 -->
|
|
|
|
+ <el-form-item :label="$t('message.ice104.labels.jobInterval')" prop="interval">
|
|
|
|
+ <!-- 请输入执行间隔 -->
|
|
|
|
+ <el-input v-model="ruleForm.interval" :placeholder="$t('message.ice104.placeholders.jobInterval')" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="任务类型" prop="jobType">
|
|
|
|
- <el-select v-model="ruleForm.jobType" placeholder="请选择任务类型" class="width100">
|
|
|
|
|
|
+ <!-- 任务类型 -->
|
|
|
|
+ <el-form-item :label="$t('message.ice104.labels.jobType')" prop="jobType">
|
|
|
|
+ <!-- 请选择任务类型 -->
|
|
|
|
+ <el-select v-model="ruleForm.jobType" :placeholder="$t('message.ice104.placeholders.jobType')" class="width100">
|
|
<el-option v-for="dict in device_job_types" :key="dict.value" :label="dict.label" :value="dict.value"> </el-option>
|
|
<el-option v-for="dict in device_job_types" :key="dict.value" :label="dict.label" :value="dict.value"> </el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<template #footer>
|
|
<template #footer>
|
|
- <el-button v-auth="'cancelTask'" @click="closeDialog()"> 取 消 </el-button>
|
|
|
|
- <el-button v-auth="'addTask'" :loading="btnLoading" type="primary" @click="submitData"> 保 存 </el-button>
|
|
|
|
|
|
+ <!-- 取 消 -->
|
|
|
|
+ <el-button v-auth="'cancelTask'" @click="closeDialog()">{{ $t('message.ice104.actions.cancel') }}</el-button>
|
|
|
|
+ <!-- 保 存 -->
|
|
|
|
+ <el-button v-auth="'addTask'" :loading="btnLoading" type="primary" @click="submitData">{{ $t('message.ice104.actions.save') }}</el-button>
|
|
</template>
|
|
</template>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
</template>
|
|
</template>
|
|
<script lang="ts" setup>
|
|
<script lang="ts" setup>
|
|
import { computed, reactive, ref, onMounted, getCurrentInstance } from 'vue';
|
|
import { computed, reactive, ref, onMounted, getCurrentInstance } from 'vue';
|
|
import api from '/@/api/ice104/index';
|
|
import api from '/@/api/ice104/index';
|
|
-import { useI18n } from 'vue-i18n';
|
|
|
|
import { ElMessage } from 'element-plus';
|
|
import { ElMessage } from 'element-plus';
|
|
import { useSearch } from '/@/hooks/useCommonIce104';
|
|
import { useSearch } from '/@/hooks/useCommonIce104';
|
|
import apiDevice from '/@/api/device';
|
|
import apiDevice from '/@/api/device';
|
|
import { useRoute } from 'vue-router';
|
|
import { useRoute } from 'vue-router';
|
|
-
|
|
|
|
|
|
+import { useI18n } from 'vue-i18n';
|
|
|
|
+const { t, locale } = useI18n()
|
|
|
|
+const currentLang = computed(() => locale.value);
|
|
const route = useRoute();
|
|
const route = useRoute();
|
|
|
|
|
|
const { proxy } = getCurrentInstance() as any;
|
|
const { proxy } = getCurrentInstance() as any;
|
|
@@ -48,18 +58,21 @@ const btnLoading = ref(false);
|
|
const emit = defineEmits(['updateList']);
|
|
const emit = defineEmits(['updateList']);
|
|
const formRef = ref();
|
|
const formRef = ref();
|
|
const ruleForm = ref({
|
|
const ruleForm = ref({
|
|
- number: 0,
|
|
|
|
|
|
+ number: 0,
|
|
title: '',
|
|
title: '',
|
|
- deviceNumber: route.params && route.params.id,
|
|
|
|
- interval: 0,
|
|
|
|
- jobType: ''
|
|
|
|
|
|
+ deviceNumber: route.params && route.params.id,
|
|
|
|
+ interval: "",
|
|
|
|
+ jobType: ''
|
|
})
|
|
})
|
|
const isEdit = ref(false);
|
|
const isEdit = ref(false);
|
|
|
|
|
|
const formRules = computed(() => ({
|
|
const formRules = computed(() => ({
|
|
- title: [{ required: true, trigger: 'blur', message: '请输入设备任务名称' }],
|
|
|
|
- interval: [{ required: true, trigger: 'blur', message: '请输入执行间隔' }],
|
|
|
|
- jobType: [{ required: true, trigger: 'blur', message: '请选择任务类型' }],
|
|
|
|
|
|
+ // 请输入设备任务名称
|
|
|
|
+ title: [{ required: true, trigger: 'blur', message: t('message.ice104.validate.deviceJobTitle') }],
|
|
|
|
+ // 请输入执行间隔(s)
|
|
|
|
+ interval: [{ required: true, trigger: 'blur', message: t('message.ice104.validate.jobInterval') }],
|
|
|
|
+ // 请选择任务类型
|
|
|
|
+ jobType: [{ required: true, trigger: 'blur', message: t('message.ice104.validate.jobType') }],
|
|
}));
|
|
}));
|
|
const getRandom = (num:number) =>{
|
|
const getRandom = (num:number) =>{
|
|
return Math.floor((Math.random()+Math.floor(Math.random()*9+1))*Math.pow(10,num-1));
|
|
return Math.floor((Math.random()+Math.floor(Math.random()*9+1))*Math.pow(10,num-1));
|
|
@@ -69,22 +82,24 @@ const submitData = async () => {
|
|
if (!valid) return
|
|
if (!valid) return
|
|
btnLoading.value = true
|
|
btnLoading.value = true
|
|
if (isEdit.value) {
|
|
if (isEdit.value) {
|
|
- // 修改
|
|
|
|
|
|
+ // 编辑
|
|
api.job.editItem({
|
|
api.job.editItem({
|
|
...ruleForm.value,
|
|
...ruleForm.value,
|
|
})
|
|
})
|
|
- .then(() => {
|
|
|
|
- ElMessage({ type: 'success', message: '修改成功' })
|
|
|
|
|
|
+ .then(() => {
|
|
|
|
+ // 编辑成功
|
|
|
|
+ ElMessage({ type: 'success', message: t('message.ice104.messages.editSuccess') })
|
|
emit('updateList')
|
|
emit('updateList')
|
|
closeDialog()
|
|
closeDialog()
|
|
})
|
|
})
|
|
.finally(() => (btnLoading.value = false))
|
|
.finally(() => (btnLoading.value = false))
|
|
} else {
|
|
} else {
|
|
// 新增
|
|
// 新增
|
|
- ruleForm.value.number = getRandom(10);
|
|
|
|
|
|
+ ruleForm.value.number = getRandom(10);
|
|
api.job.addItem(ruleForm.value)
|
|
api.job.addItem(ruleForm.value)
|
|
- .then(() => {
|
|
|
|
- ElMessage({ type: 'success', message: '添加成功' })
|
|
|
|
|
|
+ .then(() => {
|
|
|
|
+ // 新增成功
|
|
|
|
+ ElMessage({ type: 'success', message: t('message.ice104.messages.addSuccess') })
|
|
emit('updateList')
|
|
emit('updateList')
|
|
closeDialog()
|
|
closeDialog()
|
|
})
|
|
})
|
|
@@ -103,7 +118,7 @@ const closeDialog = () => {
|
|
number: 0,
|
|
number: 0,
|
|
title: '',
|
|
title: '',
|
|
deviceNumber: route.params && route.params.id,
|
|
deviceNumber: route.params && route.params.id,
|
|
- interval: 0,
|
|
|
|
|
|
+ interval: "",
|
|
jobType: ''
|
|
jobType: ''
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -112,7 +127,7 @@ const closeDialog = () => {
|
|
const open = async (row: any) => {
|
|
const open = async (row: any) => {
|
|
dialogVisible.value = true
|
|
dialogVisible.value = true
|
|
if (row && row.number.toString()) {
|
|
if (row && row.number.toString()) {
|
|
- row.jobType = row.jobType.toString();
|
|
|
|
|
|
+ row.jobType = row.jobType.toString();
|
|
ruleForm.value = row;
|
|
ruleForm.value = row;
|
|
isEdit.value = true;
|
|
isEdit.value = true;
|
|
}else {
|
|
}else {
|