diff --git a/app/api/property.js b/app/api/property.js
index 128f13b..d2f0ebf 100644
--- a/app/api/property.js
+++ b/app/api/property.js
@@ -262,3 +262,32 @@ export function bindingWx(data) {
export function unbindWx(data) {
return request.post('unbindWx', data, { useAdminUrl: true });
}
+
+// ===== 访客登记模块 =====
+
+// 访客登记 - 新增
+export function api_addVisit(data) {
+ return request.post(
+ 'autogencode/dcvisitbook/save',
+ data,
+ { useAdminUrl: true }
+ );
+}
+
+// 访客登记 - 记录列表
+export function api_visitRecordList(params) {
+ return request.get(
+ 'autogencode/dcvisitbook/list',
+ params,
+ { useAdminUrl: true }
+ );
+}
+
+// 访客登记 - 详情/凭证信息
+export function api_visitInfo(id) {
+ return request.get(
+ 'autogencode/dcvisitbook/info/' + id,
+ {},
+ { useAdminUrl: true }
+ );
+}
diff --git a/app/pages.json b/app/pages.json
index 6120da4..0c43ff9 100644
--- a/app/pages.json
+++ b/app/pages.json
@@ -360,6 +360,34 @@
"navigationStyle": "custom"
// #endif
}
+ },
+ {
+ "path": "visitor_register/index",
+ "style": {
+ "navigationBarTitleText": "访客登记",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "visitor_records/index",
+ "style": {
+ "navigationBarTitleText": "访问记录",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "visitor_user/index",
+ "style": {
+ "navigationBarTitleText": "访客个人中心",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "visitor_credential/index",
+ "style": {
+ "navigationBarTitleText": "访问凭证",
+ "navigationStyle": "custom"
+ }
}
]
},
diff --git a/app/pages/supply_chain/components/CustomHeader.vue b/app/pages/supply_chain/components/CustomHeader.vue
new file mode 100644
index 0000000..5f6351d
--- /dev/null
+++ b/app/pages/supply_chain/components/CustomHeader.vue
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/supply_chain/visitor_credential/index.vue b/app/pages/supply_chain/visitor_credential/index.vue
new file mode 100644
index 0000000..f93c235
--- /dev/null
+++ b/app/pages/supply_chain/visitor_credential/index.vue
@@ -0,0 +1,274 @@
+
+
+
+
+
+
+
+
+ 访客二维码
+ 请向工作人员出示此二维码
+
+
+
+ 凭此码可快速通行
+
+
+
+
+ 访客姓名
+ {{ visitorName }}
+
+
+ 联系电话
+ {{ visitorPhone }}
+
+
+ 车牌号
+ {{ visitorPlate }}
+
+
+
+
+ 有效期限
+ {{ validityTime }}
+
+
+
+ {{ credentialStatus }}
+
+
+
+
+ 使用提示
+
+ • 请妥善保管您的访问凭证
+ • 凭证仅限本人使用,不得转借
+ • 凭证过期后需重新申请
+ • 如有疑问,请联系工作人员
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/supply_chain/visitor_records/index.vue b/app/pages/supply_chain/visitor_records/index.vue
new file mode 100644
index 0000000..d755c48
--- /dev/null
+++ b/app/pages/supply_chain/visitor_records/index.vue
@@ -0,0 +1,299 @@
+
+
+
+
+
+
+
+
+
+
+
+ 🔍
+
+
+
+
+
+
+
+
+
+
+
+ 车牌号:
+ {{ record.plateNumber }}
+
+
+ 来访事由:
+ {{ record.reason }}
+
+
+ 拜访对象:
+ {{ record.visitPerson }}
+
+
+ 登记时间:
+ {{ record.registerTime }}
+
+
+ 入场时间:
+ {{ record.entryTime }}
+
+
+ 出场时间:
+ {{ record.exitTime }}
+
+
+
+
+
+
+ 暂无访问记录
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/supply_chain/visitor_register/components/VisitorInput.vue b/app/pages/supply_chain/visitor_register/components/VisitorInput.vue
new file mode 100644
index 0000000..d0015ff
--- /dev/null
+++ b/app/pages/supply_chain/visitor_register/components/VisitorInput.vue
@@ -0,0 +1,185 @@
+
+
+
+ {{ label }}
+ *
+
+
+ {{ icon }}
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/supply_chain/visitor_register/index.vue b/app/pages/supply_chain/visitor_register/index.vue
new file mode 100644
index 0000000..1c276a1
--- /dev/null
+++ b/app/pages/supply_chain/visitor_register/index.vue
@@ -0,0 +1,514 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 预约日期
+
+
+ {{ form.visitDate || '请选择预约日期' }}
+
+
+
+
+
+
+ 选择区间
+
+
+
+ {{ form.startTime || '开始时间' }}
+
+
+ 至
+
+
+ {{ form.endTime || '结束时间' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/supply_chain/visitor_user/index.vue b/app/pages/supply_chain/visitor_user/index.vue
new file mode 100644
index 0000000..b39b677
--- /dev/null
+++ b/app/pages/supply_chain/visitor_user/index.vue
@@ -0,0 +1,212 @@
+
+
+
+
+
+
+
+
+
+ 👤
+
+ {{ userName }}
+
+ {{ isWechatBound ? '✓' : '!' }}
+ {{ isWechatBound ? '微信已绑定' : '微信未绑定' }}
+
+
+
+
+
+
+
+
+
+
+
+
+