|
@@ -2,92 +2,92 @@
|
|
|
<div style="height: 100%; padding: 20px;">
|
|
|
<el-row>
|
|
|
<el-col :span="6">
|
|
|
- <el-input placeholder="请输入店铺名称" v-model="shopName"></el-input>
|
|
|
+ <el-input :placeholder="$t('storeAlerts.inputShopName')" v-model="shopName"></el-input>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
- <el-date-picker v-model="date" type="date" value-format="yyyy-MM-dd" placeholder="选择日期"></el-date-picker>
|
|
|
+ <el-date-picker v-model="date" type="date" value-format="yyyy-MM-dd" :placeholder="$t('storeAlerts.selectDate')"></el-date-picker>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
- <el-button @click="getList">搜索</el-button>
|
|
|
- <el-button @click="reset">重置</el-button>
|
|
|
+ <el-button @click="getList">{{ $t('storeAlerts.search') }}</el-button>
|
|
|
+ <el-button @click="reset">{{ $t('storeAlerts.reset') }}</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
- <el-button type="primary" @click="addWarning">新增预警</el-button>
|
|
|
+ <el-button type="primary" @click="addWarning">{{ $t('storeAlerts.addWarning') }}</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-table :data="tableData" height="400" style="margin-top:30px; ">
|
|
|
- <el-table-column prop="id" label="店铺ID"></el-table-column>
|
|
|
- <el-table-column prop="name" label="店铺名称"></el-table-column>
|
|
|
- <el-table-column prop="contact" label="店铺负责人"></el-table-column>
|
|
|
- <el-table-column prop="phone" label="联系电话"></el-table-column>
|
|
|
- <el-table-column prop="mail" label="收件邮箱"></el-table-column>
|
|
|
- <el-table-column prop="threshold" label="预警阈值"></el-table-column>
|
|
|
- <el-table-column prop="nextReminderDay" label="预警时间"></el-table-column>
|
|
|
- <el-table-column label="操作" width="250">
|
|
|
+ <el-table-column prop="id" :label="$t('storeAlerts.shopId')"></el-table-column>
|
|
|
+ <el-table-column prop="name" :label="$t('storeAlerts.shopName')"></el-table-column>
|
|
|
+ <el-table-column prop="contact" :label="$t('storeAlerts.shopContact')"></el-table-column>
|
|
|
+ <el-table-column prop="phone" :label="$t('storeAlerts.contactPhone')"></el-table-column>
|
|
|
+ <el-table-column prop="mail" :label="$t('storeAlerts.receivingEmail')"></el-table-column>
|
|
|
+ <el-table-column prop="threshold" :label="$t('storeAlerts.warningThreshold')"></el-table-column>
|
|
|
+ <el-table-column prop="nextReminderDay" :label="$t('storeAlerts.warningTime')"></el-table-column>
|
|
|
+ <el-table-column :label="$t('storeAlerts.operations')" width="250">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button size="mini" @click="viewDetail(scope.row)">详情</el-button>
|
|
|
- <el-button size="mini" type="primary" @click="edit(scope.row)">修改</el-button>
|
|
|
- <el-button size="mini" type="danger" @click="del(scope.row)">删除</el-button>
|
|
|
+ <el-button size="mini" @click="viewDetail(scope.row)">{{ $t('storeAlerts.detail') }}</el-button>
|
|
|
+ <el-button size="mini" type="primary" @click="edit(scope.row)">{{ $t('storeAlerts.edit') }}</el-button>
|
|
|
+ <el-button size="mini" type="danger" @click="del(scope.row)">{{ $t('storeAlerts.delete') }}</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<el-pagination @current-change="handleCurrentChange" style="margin-top: 20px;" :page-size="pageSize"
|
|
|
:current-page="currentPage" :total="total"></el-pagination>
|
|
|
- <el-dialog title="预警信息" :visible.sync="dialogVisible">
|
|
|
+ <el-dialog :title="$t('storeAlerts.warningInfo')" :visible.sync="dialogVisible">
|
|
|
<el-form label-width="120px" :model="form" :rules="rules" ref="form">
|
|
|
- <el-form-item label="选择预警店铺" prop="id" required>
|
|
|
+ <el-form-item :label="$t('storeAlerts.selectWarningShop')" prop="id" required>
|
|
|
<el-select v-model="form.id">
|
|
|
<template v-for="(item, index) in tableData">
|
|
|
<el-option :label="item.name" :value="item.id"></el-option>
|
|
|
</template>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="设置预警值" prop="threshold" required>
|
|
|
- <el-input v-model="form.threshold" placeholder="请输入初始预警值"></el-input>
|
|
|
+ <el-form-item :label="$t('storeAlerts.setWarningValue')" prop="threshold" required>
|
|
|
+ <el-input v-model="form.threshold" :placeholder="$t('storeAlerts.inputInitialWarningValue')"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="设置预警区间" prop="alertId" required>
|
|
|
+ <el-form-item :label="$t('storeAlerts.setWarningInterval')" prop="alertId" required>
|
|
|
<el-select v-model="form.alertId">
|
|
|
<template v-for="(item, index) in interValList">
|
|
|
<el-option :label="item.desc" :value="item.alertId" />
|
|
|
</template>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="收件邮箱" prop="mail" required>
|
|
|
- <el-input v-model="form.mail" placeholder="请输入收件预警信息邮箱"></el-input>
|
|
|
+ <el-form-item :label="$t('storeAlerts.receivingEmail')" prop="mail" required>
|
|
|
+ <el-input v-model="form.mail" :placeholder="$t('storeAlerts.inputReceivingEmail')"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="dialogVisible = false">取消设置</el-button>
|
|
|
- <el-button type="primary" @click="saveSettings">保存设置</el-button>
|
|
|
+ <el-button @click="dialogVisible = false">{{ $t('storeAlerts.cancelSettings') }}</el-button>
|
|
|
+ <el-button type="primary" @click="saveSettings">{{ $t('storeAlerts.saveSettings') }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<!-- 详情查看弹窗 -->
|
|
|
- <el-dialog title="店铺详情" :visible.sync="detailDialogVisible">
|
|
|
+ <el-dialog :title="$t('storeAlerts.shopDetail')" :visible.sync="detailDialogVisible">
|
|
|
<el-form label-width="120px">
|
|
|
- <el-form-item label="店铺ID">
|
|
|
+ <el-form-item :label="$t('storeAlerts.shopId')">
|
|
|
<span>{{ detailData.id }}</span>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="店铺名称">
|
|
|
+ <el-form-item :label="$t('storeAlerts.shopName')">
|
|
|
<span>{{ detailData.name }}</span>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="店铺负责人">
|
|
|
+ <el-form-item :label="$t('storeAlerts.shopContact')">
|
|
|
<span>{{ detailData.contact }}</span>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="联系电话">
|
|
|
+ <el-form-item :label="$t('storeAlerts.contactPhone')">
|
|
|
<span>{{ detailData.phone }}</span>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="收件邮箱">
|
|
|
+ <el-form-item :label="$t('storeAlerts.receivingEmail')">
|
|
|
<span>{{ detailData.mail }}</span>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="预警阈值">
|
|
|
+ <el-form-item :label="$t('storeAlerts.warningThreshold')">
|
|
|
<span>{{ detailData.threshold }}</span>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="更新时间">
|
|
|
+ <el-form-item :label="$t('storeAlerts.updateTime')">
|
|
|
<span>{{ detailData.updateTime }}</span>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
- <el-button @click="detailDialogVisible = false">关闭</el-button>
|
|
|
+ <el-button @click="detailDialogVisible = false">{{ $t('storeAlerts.close') }}</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
@@ -108,24 +108,24 @@ export default {
|
|
|
form: {},
|
|
|
rules: {
|
|
|
id: [
|
|
|
- { required: true, message: '请选择预警店铺', trigger: 'change' }
|
|
|
+ { required: true, message: this.$t('storeAlerts.selectWarningShopRequired'), trigger: 'change' }
|
|
|
],
|
|
|
threshold: [
|
|
|
- { required: true, message: '请输入初始预警值', trigger: 'blur' },
|
|
|
+ { required: true, message: this.$t('storeAlerts.inputInitialWarningValueRequired'), trigger: 'blur' },
|
|
|
{ validator: this.validateThreshold, trigger: 'blur' }
|
|
|
],
|
|
|
warningInterval: [
|
|
|
- { required: true, message: '请选择预警区间', trigger: 'change' }
|
|
|
+ { required: true, message: this.$t('storeAlerts.selectWarningIntervalRequired'), trigger: 'change' }
|
|
|
],
|
|
|
email: [
|
|
|
- { required: true, message: '请输入收件预警信息邮箱', trigger: 'blur' },
|
|
|
+ { required: true, message: this.$t('storeAlerts.inputReceivingEmailRequired'), trigger: 'blur' },
|
|
|
{ validator: this.validateEmail, trigger: 'blur' }
|
|
|
]
|
|
|
},
|
|
|
detailDialogVisible: false, // 详情弹窗显示状态
|
|
|
detailData: {}, // 存储详情信息
|
|
|
interValList: [],
|
|
|
- actions:'',
|
|
|
+ actions: '',
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
@@ -147,7 +147,7 @@ export default {
|
|
|
page: this.currentPage,
|
|
|
size: this.pageSize,
|
|
|
name: this.shopName,
|
|
|
- nextReminderDay:this.date
|
|
|
+ nextReminderDay: this.date
|
|
|
}
|
|
|
const { total, records } = await getStoreAlertsList(query);
|
|
|
console.log(records);
|
|
@@ -171,8 +171,8 @@ export default {
|
|
|
saveSettings() {
|
|
|
this.$refs.form.validate((valid) => {
|
|
|
if (valid) {
|
|
|
- if(this.actions=='edit'){
|
|
|
- updateStoreAlerts(this.form.id,this.form).then(res=>{
|
|
|
+ if (this.actions == 'edit') {
|
|
|
+ updateStoreAlerts(this.form.id, this.form).then(res => {
|
|
|
this.getList();
|
|
|
this.dialogVisible = false;
|
|
|
})
|
|
@@ -198,16 +198,16 @@ export default {
|
|
|
threshold: row.threshold,
|
|
|
warningInterval: row.warningInterval,
|
|
|
mail: row.mail,
|
|
|
- alertId:row.alertId,
|
|
|
+ alertId: row.alertId,
|
|
|
};
|
|
|
this.actions = 'edit'
|
|
|
this.dialogVisible = true;
|
|
|
},
|
|
|
del(row) {
|
|
|
- //弹窗确认
|
|
|
- this.$modal.confirm('是否确认删除' + row.name + '"吗?').then( ()=>{
|
|
|
+ // 弹窗确认
|
|
|
+ this.$modal.confirm(this.$t('storeAlerts.confirmDelete', { name: row.name })).then(() => {
|
|
|
clearStoreAlerts(row.id).then(res => {
|
|
|
- this.$modal.msgSuccess("删除成功");
|
|
|
+ this.$modal.msgSuccess(this.$t('storeAlerts.deleteSuccess'));
|
|
|
this.getList();
|
|
|
});
|
|
|
}).catch(function (e) {
|
|
@@ -224,7 +224,7 @@ export default {
|
|
|
},
|
|
|
validateThreshold(rule, value, callback) {
|
|
|
if (isNaN(parseFloat(value)) || parseFloat(value) <= 0) {
|
|
|
- callback(new Error('预警值必须是大于0的数字'));
|
|
|
+ callback(new Error(this.$t('storeAlerts.warningValueMustBePositive')));
|
|
|
} else {
|
|
|
callback();
|
|
|
}
|
|
@@ -232,7 +232,7 @@ export default {
|
|
|
validateEmail(rule, value, callback) {
|
|
|
const emailReg = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
|
|
|
if (!emailReg.test(value)) {
|
|
|
- callback(new Error('请输入有效的邮箱地址'));
|
|
|
+ callback(new Error(this.$t('storeAlerts.invalidEmailAddress')));
|
|
|
} else {
|
|
|
callback();
|
|
|
}
|