diff --git a/backend/components.d.ts b/backend/components.d.ts
index e281758..2483e63 100644
--- a/backend/components.d.ts
+++ b/backend/components.d.ts
@@ -29,6 +29,7 @@ declare module 'vue' {
ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem']
ElCollapseTransition: typeof import('element-plus/es')['ElCollapseTransition']
ElColorPicker: typeof import('element-plus/es')['ElColorPicker']
+ ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
ElContainer: typeof import('element-plus/es')['ElContainer']
ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
ElDescriptions: typeof import('element-plus/es')['ElDescriptions']
diff --git a/backend/src/App.vue b/backend/src/App.vue
index 3e92a0b..6c5c720 100644
--- a/backend/src/App.vue
+++ b/backend/src/App.vue
@@ -1,8 +1,11 @@
-
+
+
+
diff --git a/sql/alter_contact_add_qq.sql b/sql/alter_contact_add_qq.sql
new file mode 100644
index 0000000..d684dfa
--- /dev/null
+++ b/sql/alter_contact_add_qq.sql
@@ -0,0 +1,42 @@
+-- 通讯录表新增 QQ 字段
+-- 对应模型:go/models/contact.go BackendErpContact
+--
+-- 说明:历史迁移 alter_contact_rename_to_global.sql 把表名从 yz_backend_erp_contact
+-- 改名为 yz_backend_contact,但模型 BackendErpContact.TableName() 仍返回旧表名。
+-- 为避免不同环境表名不一致导致字段加不上,这里按实际存在的表逐个补齐,可重复执行。
+
+SET @db := DATABASE();
+
+-- 旧表名(模型当前使用的表名)
+SET @tbl := 'yz_backend_erp_contact';
+SET @table_exists := (
+ SELECT COUNT(*) FROM information_schema.TABLES
+ WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @tbl
+);
+SET @column_exists := (
+ SELECT COUNT(*) FROM information_schema.COLUMNS
+ WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @tbl AND COLUMN_NAME = 'qq'
+);
+SET @sql := IF(@table_exists > 0 AND @column_exists = 0,
+ CONCAT('ALTER TABLE `', @tbl, '` ADD COLUMN `qq` VARCHAR(20) NULL COMMENT ''QQ号'' AFTER `wechat`'),
+ 'SELECT 1');
+PREPARE stmt FROM @sql;
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;
+
+-- 新表名(执行过改名迁移的环境)
+SET @tbl := 'yz_backend_contact';
+SET @table_exists := (
+ SELECT COUNT(*) FROM information_schema.TABLES
+ WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @tbl
+);
+SET @column_exists := (
+ SELECT COUNT(*) FROM information_schema.COLUMNS
+ WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @tbl AND COLUMN_NAME = 'qq'
+);
+SET @sql := IF(@table_exists > 0 AND @column_exists = 0,
+ CONCAT('ALTER TABLE `', @tbl, '` ADD COLUMN `qq` VARCHAR(20) NULL COMMENT ''QQ号'' AFTER `wechat`'),
+ 'SELECT 1');
+PREPARE stmt FROM @sql;
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;