This commit is contained in:
Your Name
2026-08-17 13:59:12 +08:00
parent 79601ea176
commit 49309b7c57
62 changed files with 82 additions and 47023 deletions
+1 -149
View File
@@ -1,150 +1,2 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
if (!Array) {
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
_easycom_uni_icons2();
}
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
_easycom_uni_icons();
}
const _sfc_main = {
__name: "Card",
setup(__props) {
const { proxy } = common_vendor.getCurrentInstance();
const cardList = common_vendor.ref([]);
const loading = common_vendor.ref(false);
common_vendor.onMounted(() => {
loadCardList();
});
common_vendor.onShow(() => {
loadCardList();
});
const loadCardList = async () => {
var _a;
loading.value = true;
try {
const token = common_vendor.index.getStorageSync("token");
if (!token) {
common_vendor.index.showToast({ title: "请先登录", icon: "none" });
return;
}
const userData = common_vendor.index.getStorageSync("userData");
const patientId = (_a = userData == null ? void 0 : userData.diagnosis) == null ? void 0 : _a.patient_id;
if (!patientId) {
return;
}
const res = await proxy.apiUrl({
url: "/api/tcm/getCardList",
method: "GET",
data: {
patient_id: patientId
}
});
if (res.code === 1) {
cardList.value = res.data || [];
} else {
common_vendor.index.showToast({ title: res.msg || "获取失败", icon: "none" });
}
} catch (err) {
common_vendor.index.__f__("error", "at pages/Card/Card.vue:139", "加载就诊卡列表失败:", err);
} finally {
loading.value = false;
}
};
const viewCardDetail = (card) => {
common_vendor.index.navigateTo({
url: `/pages/Card/edit_card?id=${card.id}`
});
};
const viewDailyRecord = (card) => {
const url = `/tongji/pages/index?diagnosis_id=${card.id}&patient_id=${card.patient_id || ""}&patient_name=${encodeURIComponent(card.patient_name || "")}&age=${card.age || ""}&gender=${card.gender || ""}`;
common_vendor.index.navigateTo({ url });
};
const createCard = () => {
const token = common_vendor.index.getStorageSync("token");
if (!token) {
common_vendor.index.showToast({ title: "请先登录", icon: "none" });
return;
}
common_vendor.index.navigateTo({
url: "/pages/Card/edit_card?add=1"
});
};
const getStatusText = (status) => {
return status === 1 ? "启用" : "禁用";
};
const getStatusClass = (status) => {
return status === 1 ? "status-confirmed" : "status-pending";
};
const diagnosisTypeMap = {
"first_visit": "初诊",
"follow_up": "复诊",
"consultation": "会诊"
};
const syndromeTypeMap = {
"qi_deficiency": "气虚",
"blood_deficiency": "血虚",
"yin_deficiency": "阴虚",
"yang_deficiency": "阳虚",
"qi_stagnation": "气滞",
"blood_stasis": "血瘀",
"phlegm_dampness": "痰湿",
"damp_heat": "湿热",
"cold_dampness": "寒湿",
"wind_cold": "风寒",
"wind_heat": "风热"
};
const getDiagnosisTypeName = (type) => {
return diagnosisTypeMap[type] || type || "-";
};
const getSyndromeTypeName = (type) => {
return syndromeTypeMap[type] || type || "-";
};
const formatDate = (timestamp) => {
if (!timestamp)
return "-";
const date = new Date(timestamp * 1e3);
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, "0");
const day = String(date.getDate()).padStart(2, "0");
return `${year}-${month}-${day}`;
};
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.f(cardList.value, (card, k0, i0) => {
return {
a: common_vendor.t(card.id),
b: common_vendor.t(card.status_desc || getStatusText(card.status)),
c: common_vendor.n(getStatusClass(card.status)),
d: common_vendor.t(card.patient_name || "-"),
e: common_vendor.t(card.gender_desc || "-"),
f: common_vendor.t(card.age),
g: common_vendor.t(getDiagnosisTypeName(card.diagnosis_type)),
h: common_vendor.t(getSyndromeTypeName(card.syndrome_type)),
i: common_vendor.t(card.diagnosis_date_text || formatDate(card.diagnosis_date)),
j: common_vendor.t(card.create_time || "-"),
k: common_vendor.o(($event) => viewDailyRecord(card), card.id),
l: common_vendor.o(($event) => viewCardDetail(card), card.id),
m: card.id,
n: common_vendor.o(($event) => viewCardDetail(card), card.id)
};
}),
b: !loading.value && cardList.value.length === 0
}, !loading.value && cardList.value.length === 0 ? {
c: common_vendor.p({
type: "wallet",
size: "80",
color: "#1890ff"
}),
d: common_vendor.o(createCard, "df")
} : {}, {
e: loading.value
}, loading.value ? {} : {});
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-f80331d8"]]);
_sfc_main.__runtimeHooks = 2;
wx.createPage(MiniProgramPage);
"use strict";const e=require("../../common/vendor.js");Array||e.resolveComponent("uni-icons")();const C=()=>"../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";Math||C();const u={__name:"Card",setup(g){const{proxy:l}=e.getCurrentInstance(),d=e.ref([]),o=e.ref(!1);e.onMounted(()=>{r()}),e.onShow(()=>{r()});const r=async()=>{var t;o.value=!0;try{if(!e.index.getStorageSync("token")){e.index.showToast({title:"请先登录",icon:"none"});return}const n=e.index.getStorageSync("userData"),a=(t=n==null?void 0:n.diagnosis)==null?void 0:t.patient_id;if(!a)return;const s=await l.apiUrl({url:"/api/tcm/getCardList",method:"GET",data:{patient_id:a}});s.code===1?d.value=s.data||[]:e.index.showToast({title:s.msg||"获取失败",icon:"none"})}catch(i){e.index.__f__("error","at pages/Card/Card.vue:139","加载就诊卡列表失败:",i)}finally{o.value=!1}},c=t=>{e.index.navigateTo({url:`/pages/Card/edit_card?id=${t.id}`})},p=t=>{const i=`/tongji/pages/index?diagnosis_id=${t.id}&patient_id=${t.patient_id||""}&patient_name=${encodeURIComponent(t.patient_name||"")}&age=${t.age||""}&gender=${t.gender||""}`;e.index.navigateTo({url:i})},m=()=>{if(!e.index.getStorageSync("token")){e.index.showToast({title:"请先登录",icon:"none"});return}e.index.navigateTo({url:"/pages/Card/edit_card?add=1"})},f=t=>t===1?"启用":"禁用",y=t=>t===1?"status-confirmed":"status-pending",v={first_visit:"初诊",follow_up:"复诊",consultation:"会诊"},x={qi_deficiency:"气虚",blood_deficiency:"血虚",yin_deficiency:"阴虚",yang_deficiency:"阳虚",qi_stagnation:"气滞",blood_stasis:"血瘀",phlegm_dampness:"痰湿",damp_heat:"湿热",cold_dampness:"寒湿",wind_cold:"风寒",wind_heat:"风热"},h=t=>v[t]||t||"-",S=t=>x[t]||t||"-",w=t=>{if(!t)return"-";const i=new Date(t*1e3),n=i.getFullYear(),a=String(i.getMonth()+1).padStart(2,"0"),s=String(i.getDate()).padStart(2,"0");return`${n}-${a}-${s}`};return(t,i)=>e.e({a:e.f(d.value,(n,a,s)=>({a:e.t(n.id),b:e.t(n.status_desc||f(n.status)),c:e.n(y(n.status)),d:e.t(n.patient_name||"-"),e:e.t(n.gender_desc||"-"),f:e.t(n.age),g:e.t(h(n.diagnosis_type)),h:e.t(S(n.syndrome_type)),i:e.t(n.diagnosis_date_text||w(n.diagnosis_date)),j:e.t(n.create_time||"-"),k:e.o(_=>p(n),n.id),l:e.o(_=>c(n),n.id),m:n.id,n:e.o(_=>c(n),n.id)})),b:!o.value&&d.value.length===0},!o.value&&d.value.length===0?{c:e.p({type:"wallet",size:"80",color:"#1890ff"}),d:e.o(m,"df")}:{},{e:o.value},o.value?{}:{})}},T=e._export_sfc(u,[["__scopeId","data-v-f80331d8"]]);u.__runtimeHooks=2;wx.createPage(T);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/Card/Card.js.map
@@ -1,189 +1 @@
/* 适老化设计:50-80岁 - 大字号、高对比、大触控区 */
.card-container.data-v-f80331d8 {
min-height: 100vh;
background: linear-gradient(180deg, #e8f0fa 0%, #ffffff 100%);
padding-bottom: 56rpx;
}
.header.data-v-f80331d8 {
background: #ffffff;
padding: 48rpx 40rpx;
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.06);
}
.header .header-title.data-v-f80331d8 {
font-size: 48rpx;
font-weight: bold;
color: #1890ff;
}
.card-list.data-v-f80331d8 {
padding: 40rpx;
}
.card-item.data-v-f80331d8 {
background: #ffffff;
border-radius: 28rpx;
padding: 44rpx;
margin-bottom: 36rpx;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.08);
transition: all 0.3s;
min-height: 200rpx;
}
.card-item.data-v-f80331d8:active {
transform: scale(0.98);
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.1);
}
.card-header.data-v-f80331d8 {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 32rpx;
padding-bottom: 28rpx;
border-bottom: 4rpx solid #e8eaed;
}
.card-id .label.data-v-f80331d8 {
font-size: 34rpx;
color: #555;
}
.card-id .value.data-v-f80331d8 {
font-size: 40rpx;
font-weight: bold;
color: #1a1a1a;
}
.status-badge.data-v-f80331d8 {
padding: 12rpx 28rpx;
border-radius: 28rpx;
font-size: 32rpx;
font-weight: 500;
}
.status-badge.status-confirmed.data-v-f80331d8 {
background: #f6ffed;
color: #204e2b;
border: 4rpx solid #204e2b;
}
.status-badge.status-pending.data-v-f80331d8 {
background: #fff7e6;
color: #fa8c16;
border: 4rpx solid #ffd591;
}
.card-info.data-v-f80331d8 {
margin-bottom: 28rpx;
}
.info-row.data-v-f80331d8 {
display: flex;
align-items: center;
margin-bottom: 24rpx;
}
.info-row .info-label.data-v-f80331d8 {
font-size: 34rpx;
color: #555;
min-width: 200rpx;
}
.info-row .info-value.data-v-f80331d8 {
font-size: 36rpx;
color: #1a1a1a;
font-weight: 500;
}
.card-footer.data-v-f80331d8 {
padding-top: 28rpx;
border-top: 4rpx solid #e8eaed;
}
.card-actions.data-v-f80331d8 {
display: flex;
gap: 20rpx;
margin-top: 28rpx;
padding-top: 28rpx;
border-top: 4rpx solid #e8eaed;
}
.card-action-btn.data-v-f80331d8 {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
gap: 12rpx;
padding: 24rpx 12rpx;
background: #f6faff;
border-radius: 20rpx;
border: 2rpx solid #d6e6fb;
min-height: 80rpx;
transition: all 0.2s;
}
.card-action-btn.data-v-f80331d8:active {
transform: scale(0.98);
opacity: 0.85;
}
.card-action-btn.primary.data-v-f80331d8 {
background: linear-gradient(135deg, #1890ff, #0ea5a4);
border-color: transparent;
}
.card-action-btn.primary .card-action-icon.data-v-f80331d8,
.card-action-btn.primary .card-action-text.data-v-f80331d8 {
color: #ffffff;
}
.card-action-icon.data-v-f80331d8 {
font-size: 36rpx;
color: #1890ff;
}
.card-action-text.data-v-f80331d8 {
font-size: 30rpx;
color: #1890ff;
font-weight: 500;
}
.time-info.data-v-f80331d8 {
display: flex;
align-items: center;
margin-bottom: 20rpx;
}
.time-info .time-label.data-v-f80331d8 {
font-size: 30rpx;
color: #555;
min-width: 180rpx;
}
.time-info .time-value.data-v-f80331d8 {
font-size: 32rpx;
color: #555;
}
.view-count.data-v-f80331d8 {
display: flex;
align-items: center;
margin-top: 12rpx;
}
.view-count .count-icon.data-v-f80331d8 {
font-size: 34rpx;
margin-right: 12rpx;
}
.view-count .count-text.data-v-f80331d8 {
font-size: 30rpx;
color: #555;
}
.empty-state.data-v-f80331d8 {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 160rpx 0;
}
.empty-state .empty-icon.data-v-f80331d8 {
font-size: 140rpx;
margin-bottom: 40rpx;
}
.empty-state .empty-text.data-v-f80331d8 {
font-size: 40rpx;
color: #555;
margin-bottom: 56rpx;
}
.add-card-btn.data-v-f80331d8 {
padding: 36rpx 88rpx;
background: #1890ff;
color: #ffffff;
font-size: 40rpx;
font-weight: 500;
border-radius: 56rpx;
min-height: 100rpx;
}
.loading-state.data-v-f80331d8 {
display: flex;
justify-content: center;
padding: 120rpx 0;
}
.loading-state .loading-text.data-v-f80331d8 {
font-size: 36rpx;
color: #555;
}
.card-container.data-v-f80331d8{min-height:100vh;background:linear-gradient(180deg,#e8f0fa,#fff);padding-bottom:56rpx}.header.data-v-f80331d8{background:#fff;padding:48rpx 40rpx;box-shadow:0 2rpx 12rpx rgba(0,0,0,.06)}.header .header-title.data-v-f80331d8{font-size:48rpx;font-weight:700;color:#1890ff}.card-list.data-v-f80331d8{padding:40rpx}.card-item.data-v-f80331d8{background:#fff;border-radius:28rpx;padding:44rpx;margin-bottom:36rpx;box-shadow:0 4rpx 20rpx rgba(0,0,0,.08);transition:all .3s;min-height:200rpx}.card-item.data-v-f80331d8:active{transform:scale(.98);box-shadow:0 2rpx 12rpx rgba(0,0,0,.1)}.card-header.data-v-f80331d8{display:flex;justify-content:space-between;align-items:center;margin-bottom:32rpx;padding-bottom:28rpx;border-bottom:4rpx solid #e8eaed}.card-id .label.data-v-f80331d8{font-size:34rpx;color:#555}.card-id .value.data-v-f80331d8{font-size:40rpx;font-weight:700;color:#1a1a1a}.status-badge.data-v-f80331d8{padding:12rpx 28rpx;border-radius:28rpx;font-size:32rpx;font-weight:500}.status-badge.status-confirmed.data-v-f80331d8{background:#f6ffed;color:#204e2b;border:4rpx solid #204e2b}.status-badge.status-pending.data-v-f80331d8{background:#fff7e6;color:#fa8c16;border:4rpx solid #ffd591}.card-info.data-v-f80331d8{margin-bottom:28rpx}.info-row.data-v-f80331d8{display:flex;align-items:center;margin-bottom:24rpx}.info-row .info-label.data-v-f80331d8{font-size:34rpx;color:#555;min-width:200rpx}.info-row .info-value.data-v-f80331d8{font-size:36rpx;color:#1a1a1a;font-weight:500}.card-footer.data-v-f80331d8{padding-top:28rpx;border-top:4rpx solid #e8eaed}.card-actions.data-v-f80331d8{display:flex;gap:20rpx;margin-top:28rpx;padding-top:28rpx;border-top:4rpx solid #e8eaed}.card-action-btn.data-v-f80331d8{flex:1;display:flex;align-items:center;justify-content:center;gap:12rpx;padding:24rpx 12rpx;background:#f6faff;border-radius:20rpx;border:2rpx solid #d6e6fb;min-height:80rpx;transition:all .2s}.card-action-btn.data-v-f80331d8:active{transform:scale(.98);opacity:.85}.card-action-btn.primary.data-v-f80331d8{background:linear-gradient(135deg,#1890ff,#0ea5a4);border-color:transparent}.card-action-btn.primary .card-action-icon.data-v-f80331d8,.card-action-btn.primary .card-action-text.data-v-f80331d8{color:#fff}.card-action-icon.data-v-f80331d8{font-size:36rpx;color:#1890ff}.card-action-text.data-v-f80331d8{font-size:30rpx;color:#1890ff;font-weight:500}.time-info.data-v-f80331d8{display:flex;align-items:center;margin-bottom:20rpx}.time-info .time-label.data-v-f80331d8{font-size:30rpx;color:#555;min-width:180rpx}.time-info .time-value.data-v-f80331d8{font-size:32rpx;color:#555}.view-count.data-v-f80331d8{display:flex;align-items:center;margin-top:12rpx}.view-count .count-icon.data-v-f80331d8{font-size:34rpx;margin-right:12rpx}.view-count .count-text.data-v-f80331d8{font-size:30rpx;color:#555}.empty-state.data-v-f80331d8{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:160rpx 0}.empty-state .empty-icon.data-v-f80331d8{font-size:140rpx;margin-bottom:40rpx}.empty-state .empty-text.data-v-f80331d8{font-size:40rpx;color:#555;margin-bottom:56rpx}.add-card-btn.data-v-f80331d8{padding:36rpx 88rpx;background:#1890ff;color:#fff;font-size:40rpx;font-weight:500;border-radius:56rpx;min-height:100rpx}.loading-state.data-v-f80331d8{display:flex;justify-content:center;padding:120rpx 0}.loading-state .loading-text.data-v-f80331d8{font-size:36rpx;color:#555}
@@ -1,46 +1,2 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const _sfc_main = {
__name: "contact",
setup(__props) {
const { proxy } = common_vendor.getCurrentInstance();
const data = common_vendor.ref({});
const loading = common_vendor.ref(false);
const type = common_vendor.ref("");
common_vendor.onMounted(() => {
loadCardList();
});
const loadCardList = async () => {
loading.value = true;
try {
const pages = getCurrentPages();
const currentPage = pages[pages.length - 1];
type.value = currentPage.options.type;
const res = await proxy.apiUrl({
url: "/api/index/policy",
method: "GET",
data: {
type: type.value
}
});
data.value = res.data;
common_vendor.index.setNavigationBarTitle({
title: res.data.title
});
} catch (err) {
common_vendor.index.__f__("error", "at pages/Card/contact.vue:54", "加载就诊卡列表失败:", err);
} finally {
loading.value = false;
}
};
return (_ctx, _cache) => {
return {
a: common_vendor.t(data.value.title),
b: data.value.content
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-9c9e5aa4"]]);
wx.createPage(MiniProgramPage);
"use strict";const t=require("../../common/vendor.js"),l={__name:"contact",setup(_){const{proxy:s}=t.getCurrentInstance(),a=t.ref({}),n=t.ref(!1),r=t.ref("");t.onMounted(()=>{i()});const i=async()=>{n.value=!0;try{const e=getCurrentPages(),c=e[e.length-1];r.value=c.options.type;const o=await s.apiUrl({url:"/api/index/policy",method:"GET",data:{type:r.value}});a.value=o.data,t.index.setNavigationBarTitle({title:o.data.title})}catch(e){t.index.__f__("error","at pages/Card/contact.vue:54","加载就诊卡列表失败:",e)}finally{n.value=!1}};return(e,c)=>({a:t.t(a.value.title),b:a.value.content})}},u=t._export_sfc(l,[["__scopeId","data-v-9c9e5aa4"]]);wx.createPage(u);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/Card/contact.js.map
@@ -1,136 +1 @@
.card-container.data-v-9c9e5aa4 {
min-height: 100vh;
background: linear-gradient(180deg, #f0f7ff 0%, #ffffff 100%);
padding-bottom: 40rpx;
}
.header.data-v-9c9e5aa4 {
background: #ffffff;
padding: 40rpx 30rpx;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
}
.header .header-title.data-v-9c9e5aa4 {
font-size: 40rpx;
font-weight: bold;
color: #1890ff;
}
.card-list.data-v-9c9e5aa4 {
padding: 30rpx;
}
.card-item.data-v-9c9e5aa4 {
background: #ffffff;
border-radius: 20rpx;
padding: 30rpx;
margin-bottom: 24rpx;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08);
transition: all 0.3s;
}
.card-item.data-v-9c9e5aa4:active {
transform: scale(0.98);
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
}
.card-header.data-v-9c9e5aa4 {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24rpx;
padding-bottom: 20rpx;
border-bottom: 2rpx solid #f0f0f0;
}
.card-id .label.data-v-9c9e5aa4 {
font-size: 28rpx;
color: #666666;
}
.card-id .value.data-v-9c9e5aa4 {
font-size: 32rpx;
font-weight: bold;
color: #333333;
}
.status-badge.data-v-9c9e5aa4 {
padding: 8rpx 20rpx;
border-radius: 20rpx;
font-size: 24rpx;
font-weight: 500;
}
.status-badge.status-confirmed.data-v-9c9e5aa4 {
background: #f6ffed;
color: #52c41a;
border: 2rpx solid #b7eb8f;
}
.status-badge.status-pending.data-v-9c9e5aa4 {
background: #fff7e6;
color: #fa8c16;
border: 2rpx solid #ffd591;
}
.card-info.data-v-9c9e5aa4 {
margin-bottom: 20rpx;
}
.info-row.data-v-9c9e5aa4 {
display: flex;
align-items: center;
margin-bottom: 16rpx;
}
.info-row .info-label.data-v-9c9e5aa4 {
font-size: 28rpx;
color: #666666;
min-width: 160rpx;
}
.info-row .info-value.data-v-9c9e5aa4 {
font-size: 30rpx;
color: #333333;
font-weight: 500;
}
.card-footer.data-v-9c9e5aa4 {
padding-top: 20rpx;
border-top: 2rpx solid #f0f0f0;
}
.time-info.data-v-9c9e5aa4 {
display: flex;
align-items: center;
margin-bottom: 12rpx;
}
.time-info .time-label.data-v-9c9e5aa4 {
font-size: 24rpx;
color: #999999;
min-width: 140rpx;
}
.time-info .time-value.data-v-9c9e5aa4 {
font-size: 26rpx;
color: #666666;
}
.view-count.data-v-9c9e5aa4 {
display: flex;
align-items: center;
margin-top: 8rpx;
}
.view-count .count-icon.data-v-9c9e5aa4 {
font-size: 28rpx;
margin-right: 8rpx;
}
.view-count .count-text.data-v-9c9e5aa4 {
font-size: 24rpx;
color: #999999;
}
.empty-state.data-v-9c9e5aa4 {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 120rpx 0;
}
.empty-state .empty-icon.data-v-9c9e5aa4 {
font-size: 120rpx;
margin-bottom: 30rpx;
}
.empty-state .empty-text.data-v-9c9e5aa4 {
font-size: 32rpx;
color: #999999;
}
.loading-state.data-v-9c9e5aa4 {
display: flex;
justify-content: center;
padding: 80rpx 0;
}
.loading-state .loading-text.data-v-9c9e5aa4 {
font-size: 28rpx;
color: #999999;
}
.card-container.data-v-9c9e5aa4{min-height:100vh;background:linear-gradient(180deg,#f0f7ff,#fff);padding-bottom:40rpx}.header.data-v-9c9e5aa4{background:#fff;padding:40rpx 30rpx;box-shadow:0 2rpx 8rpx rgba(0,0,0,.05)}.header .header-title.data-v-9c9e5aa4{font-size:40rpx;font-weight:700;color:#1890ff}.card-list.data-v-9c9e5aa4{padding:30rpx}.card-item.data-v-9c9e5aa4{background:#fff;border-radius:20rpx;padding:30rpx;margin-bottom:24rpx;box-shadow:0 4rpx 12rpx rgba(0,0,0,.08);transition:all .3s}.card-item.data-v-9c9e5aa4:active{transform:scale(.98);box-shadow:0 2rpx 8rpx rgba(0,0,0,.1)}.card-header.data-v-9c9e5aa4{display:flex;justify-content:space-between;align-items:center;margin-bottom:24rpx;padding-bottom:20rpx;border-bottom:2rpx solid #f0f0f0}.card-id .label.data-v-9c9e5aa4{font-size:28rpx;color:#666}.card-id .value.data-v-9c9e5aa4{font-size:32rpx;font-weight:700;color:#333}.status-badge.data-v-9c9e5aa4{padding:8rpx 20rpx;border-radius:20rpx;font-size:24rpx;font-weight:500}.status-badge.status-confirmed.data-v-9c9e5aa4{background:#f6ffed;color:#52c41a;border:2rpx solid #b7eb8f}.status-badge.status-pending.data-v-9c9e5aa4{background:#fff7e6;color:#fa8c16;border:2rpx solid #ffd591}.card-info.data-v-9c9e5aa4{margin-bottom:20rpx}.info-row.data-v-9c9e5aa4{display:flex;align-items:center;margin-bottom:16rpx}.info-row .info-label.data-v-9c9e5aa4{font-size:28rpx;color:#666;min-width:160rpx}.info-row .info-value.data-v-9c9e5aa4{font-size:30rpx;color:#333;font-weight:500}.card-footer.data-v-9c9e5aa4{padding-top:20rpx;border-top:2rpx solid #f0f0f0}.time-info.data-v-9c9e5aa4{display:flex;align-items:center;margin-bottom:12rpx}.time-info .time-label.data-v-9c9e5aa4{font-size:24rpx;color:#999;min-width:140rpx}.time-info .time-value.data-v-9c9e5aa4{font-size:26rpx;color:#666}.view-count.data-v-9c9e5aa4{display:flex;align-items:center;margin-top:8rpx}.view-count .count-icon.data-v-9c9e5aa4{font-size:28rpx;margin-right:8rpx}.view-count .count-text.data-v-9c9e5aa4{font-size:24rpx;color:#999}.empty-state.data-v-9c9e5aa4{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:120rpx 0}.empty-state .empty-icon.data-v-9c9e5aa4{font-size:120rpx;margin-bottom:30rpx}.empty-state .empty-text.data-v-9c9e5aa4{font-size:32rpx;color:#999}.loading-state.data-v-9c9e5aa4{display:flex;justify-content:center;padding:80rpx 0}.loading-state .loading-text.data-v-9c9e5aa4{font-size:28rpx;color:#999}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long