diff --git a/src/views/SystemSettings/index.vue b/src/views/SystemSettings/index.vue
index 886bdfc..1455c7f 100644
--- a/src/views/SystemSettings/index.vue
+++ b/src/views/SystemSettings/index.vue
@@ -63,6 +63,36 @@
+
+
修改操作密码
@@ -184,6 +214,52 @@ const setSystemTime = async () => {
}
}
+// ─── 电表型号 ─────────────────────────────────────
+const currentMeterFirm = ref('')
+const selectedMeterFirm = ref('')
+
+const getMeterFirm = async () => {
+ try {
+ const res = await RPC.post('/m9z/meter/getMeterFirm', {})
+ currentMeterFirm.value = res?.meter_firm || ''
+ selectedMeterFirm.value = currentMeterFirm.value
+ } catch (e) {
+ // 错误由 rpc.js 处理
+ }
+}
+
+const setMeterFirm = async () => {
+ if (!selectedMeterFirm.value) {
+ ElMessage.warning('请选择电表型号')
+ return
+ }
+ if (selectedMeterFirm.value === currentMeterFirm.value) {
+ ElMessage.info('电表型号未变更')
+ return
+ }
+ try {
+ await ElMessageBox.confirm(
+ `确认要将电表型号修改为 ${selectedMeterFirm.value} 吗?`,
+ '提示',
+ {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning',
+ }
+ )
+ const res = await RPC.post('/m9z/meter/setMeterFirm', {
+ meter_firm: selectedMeterFirm.value,
+ })
+ if (res?.success) {
+ currentMeterFirm.value = res.meter_firm
+ ElMessage.success(`电表型号已修改为 ${res.meter_firm}`)
+ }
+ } catch (e) {
+ if (e === 'cancel' || e === 'close') return
+ // 其他错误由 rpc.js 处理
+ }
+}
+
// ─── 修改密码 ─────────────────────────────────────
const pwdForm = ref({ oldPassword: '', newPassword: '', confirmPassword: '' })
@@ -264,6 +340,7 @@ const handleSessionRestored = () => {
console.log('Session 已恢复,重新加载数据')
getSystemTime()
getPasswordStatus()
+ getMeterFirm()
}
onMounted(() => {
@@ -271,7 +348,8 @@ onMounted(() => {
timeInterval = setInterval(updateTime, 1000)
getSystemTime()
getPasswordStatus()
-
+ getMeterFirm()
+
// 监听 session 恢复事件
window.addEventListener('m9z:session-restored', handleSessionRestored)
})