更新
This commit is contained in:
@@ -0,0 +1,150 @@
|
||||
"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);
|
||||
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/Card/Card.js.map
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"navigationBarTitleText": "就诊卡",
|
||||
"usingComponents": {
|
||||
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<view class="card-container data-v-f80331d8"><view class="card-list data-v-f80331d8"><view wx:for="{{a}}" wx:for-item="card" wx:key="m" class="card-item data-v-f80331d8" bindtap="{{card.n}}"><view class="card-header data-v-f80331d8"><view class="card-id data-v-f80331d8"><text class="label data-v-f80331d8">诊单编号:</text><text class="value data-v-f80331d8">{{card.a}}</text></view><view class="{{['data-v-f80331d8', 'status-badge', card.c]}}">{{card.b}}</view></view><view class="card-info data-v-f80331d8"><view class="info-row data-v-f80331d8"><text class="info-label data-v-f80331d8">患者姓名:</text><text class="info-value data-v-f80331d8">{{card.d}}</text></view><view class="info-row data-v-f80331d8"><text class="info-label data-v-f80331d8">性别年龄:</text><text class="info-value data-v-f80331d8">{{card.e}} / {{card.f}}岁</text></view><view class="info-row data-v-f80331d8"><text class="info-label data-v-f80331d8">诊断类型:</text><text class="info-value data-v-f80331d8">{{card.g}}</text></view><view class="info-row data-v-f80331d8"><text class="info-label data-v-f80331d8">证型:</text><text class="info-value data-v-f80331d8">{{card.h}}</text></view></view><view class="card-footer data-v-f80331d8"><view class="time-info data-v-f80331d8"><text class="time-label data-v-f80331d8">诊断日期:</text><text class="time-value data-v-f80331d8">{{card.i}}</text></view><view class="time-info data-v-f80331d8"><text class="time-label data-v-f80331d8">创建时间:</text><text class="time-value data-v-f80331d8">{{card.j}}</text></view></view><view class="card-actions data-v-f80331d8"><view class="card-action-btn primary data-v-f80331d8" catchtap="{{card.k}}"><text class="card-action-icon data-v-f80331d8">📈</text><text class="card-action-text data-v-f80331d8">日常记录</text></view><view class="card-action-btn data-v-f80331d8" catchtap="{{card.l}}"><text class="card-action-icon data-v-f80331d8">📝</text><text class="card-action-text data-v-f80331d8">查看 / 编辑</text></view></view></view><view wx:if="{{b}}" class="empty-state data-v-f80331d8"><uni-icons wx:if="{{c}}" class="data-v-f80331d8" u-i="f80331d8-0" bind:__l="__l" u-p="{{c}}"></uni-icons><text class="empty-text data-v-f80331d8">暂无就诊卡</text><view class="add-card-btn data-v-f80331d8" bindtap="{{d}}">新建就诊卡</view></view><view wx:if="{{e}}" class="loading-state data-v-f80331d8"><text class="loading-text data-v-f80331d8">加载中...</text></view></view></view>
|
||||
@@ -0,0 +1,189 @@
|
||||
/* 适老化设计: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;
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
"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);
|
||||
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/Card/contact.js.map
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"navigationBarTitleText": "服务",
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<view class="card-container data-v-9c9e5aa4"><view class="header data-v-9c9e5aa4"><text class="header-title data-v-9c9e5aa4">{{a}}</text></view><view class="card-list data-v-9c9e5aa4"><rich-text class="data-v-9c9e5aa4" nodes="{{b}}"/></view></view>
|
||||
@@ -0,0 +1,136 @@
|
||||
.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;
|
||||
}
|
||||
@@ -0,0 +1,857 @@
|
||||
"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: "edit_card",
|
||||
setup(__props) {
|
||||
const { proxy } = common_vendor.getCurrentInstance();
|
||||
const loading = common_vendor.ref(false);
|
||||
const submitting = common_vendor.ref(false);
|
||||
const agreedToTerms = common_vendor.ref(true);
|
||||
const showDatePicker = common_vendor.ref(false);
|
||||
const diagnosisId = common_vendor.ref(null);
|
||||
const patientId = common_vendor.ref(null);
|
||||
const isAddMode = common_vendor.ref(false);
|
||||
const returnUrl = common_vendor.ref("");
|
||||
const formData = common_vendor.ref({
|
||||
patient_name: "",
|
||||
id_card: "",
|
||||
gender: 1,
|
||||
age: "",
|
||||
// 生命体征
|
||||
height: "",
|
||||
weight: "",
|
||||
systolic_pressure: "",
|
||||
diastolic_pressure: "",
|
||||
fasting_blood_sugar: "",
|
||||
// 主诉
|
||||
diabetes_discovery_year: "",
|
||||
local_hospital_diagnosis: [],
|
||||
local_hospital_name: "",
|
||||
local_hospital_visit_date: "",
|
||||
// 诊断信息
|
||||
diagnosis_date: "",
|
||||
diagnosis_type: "",
|
||||
syndrome_type: "",
|
||||
diabetes_type: "",
|
||||
// 现病史
|
||||
appetite: "",
|
||||
water_intake: "",
|
||||
diet_condition: [],
|
||||
weight_change: "",
|
||||
body_feeling: [],
|
||||
sleep_condition: [],
|
||||
eye_condition: [],
|
||||
head_feeling: [],
|
||||
sweat_condition: [],
|
||||
skin_condition: [],
|
||||
urine_condition: [],
|
||||
stool_condition: [],
|
||||
kidney_condition: [],
|
||||
fatty_liver_degree: "",
|
||||
// 既往史
|
||||
past_history: [],
|
||||
trauma_history: 0,
|
||||
surgery_history: 0,
|
||||
allergy_history: 0,
|
||||
family_history: 0,
|
||||
pregnancy_history: 0,
|
||||
// 临床信息
|
||||
symptoms: "",
|
||||
tongue_coating: "",
|
||||
tongue_images: [],
|
||||
report_files: [],
|
||||
pulse: "",
|
||||
treatment_principle: "",
|
||||
prescription: "",
|
||||
doctor_advice: "",
|
||||
remark: ""
|
||||
});
|
||||
const diagnosisTypeOptions = common_vendor.ref([]);
|
||||
const syndromeTypeOptions = common_vendor.ref([]);
|
||||
const diabetesTypeOptions = common_vendor.ref([]);
|
||||
const pastHistoryOptions = common_vendor.ref([]);
|
||||
const appetiteOptions = common_vendor.ref([]);
|
||||
const waterIntakeOptions = common_vendor.ref([]);
|
||||
const dietConditionOptions = common_vendor.ref([]);
|
||||
const weightChangeOptions = common_vendor.ref([]);
|
||||
const bodyFeelingOptions = common_vendor.ref([]);
|
||||
const sleepConditionOptions = common_vendor.ref([]);
|
||||
const eyeConditionOptions = common_vendor.ref([]);
|
||||
const headFeelingOptions = common_vendor.ref([]);
|
||||
const sweatConditionOptions = common_vendor.ref([]);
|
||||
const skinConditionOptions = common_vendor.ref([]);
|
||||
const urineConditionOptions = common_vendor.ref([]);
|
||||
const stoolConditionOptions = common_vendor.ref([]);
|
||||
const kidneyConditionOptions = common_vendor.ref([]);
|
||||
const fattyLiverDegreeOptions = common_vendor.ref([]);
|
||||
const datePickerValue = common_vendor.ref([0, 0, 0]);
|
||||
const yearRange = common_vendor.ref([]);
|
||||
const monthRange = common_vendor.ref(Array.from({ length: 12 }, (_, i) => i + 1));
|
||||
const dayRange = common_vendor.ref(Array.from({ length: 31 }, (_, i) => i + 1));
|
||||
common_vendor.onMounted(() => {
|
||||
loadDictOptions();
|
||||
loadCardDetail();
|
||||
initDatePicker();
|
||||
});
|
||||
const loadDictOptions = async () => {
|
||||
try {
|
||||
const dictTypes = [
|
||||
"diagnosis_type",
|
||||
"syndrome_type",
|
||||
"diabetes_type",
|
||||
"past_history",
|
||||
"appetite",
|
||||
"water_intake",
|
||||
"diet_condition",
|
||||
"weight_change",
|
||||
"body_feeling",
|
||||
"sleep_condition",
|
||||
"eye_condition",
|
||||
"head_feeling",
|
||||
"sweat_condition",
|
||||
"skin_condition",
|
||||
"urine_condition",
|
||||
"stool_condition",
|
||||
"kidney_condition",
|
||||
"fatty_liver_degree"
|
||||
];
|
||||
const results = await Promise.all(
|
||||
dictTypes.map(
|
||||
(type) => proxy.apiUrl({
|
||||
url: "/api/tcm/getDict",
|
||||
method: "GET",
|
||||
data: { type }
|
||||
})
|
||||
)
|
||||
);
|
||||
results.forEach((res, index) => {
|
||||
const type = dictTypes[index];
|
||||
if (res.code === 1 && res.data) {
|
||||
const data = res.data[type] || [];
|
||||
const options = Array.isArray(data) ? data : Object.entries(data).map(([key, value]) => ({
|
||||
value: key,
|
||||
name: value
|
||||
}));
|
||||
switch (type) {
|
||||
case "diagnosis_type":
|
||||
diagnosisTypeOptions.value = options;
|
||||
break;
|
||||
case "syndrome_type":
|
||||
syndromeTypeOptions.value = options;
|
||||
break;
|
||||
case "diabetes_type":
|
||||
diabetesTypeOptions.value = options;
|
||||
break;
|
||||
case "past_history":
|
||||
pastHistoryOptions.value = options;
|
||||
break;
|
||||
case "appetite":
|
||||
appetiteOptions.value = options;
|
||||
break;
|
||||
case "water_intake":
|
||||
waterIntakeOptions.value = options;
|
||||
break;
|
||||
case "diet_condition":
|
||||
dietConditionOptions.value = options;
|
||||
break;
|
||||
case "weight_change":
|
||||
weightChangeOptions.value = options;
|
||||
break;
|
||||
case "body_feeling":
|
||||
bodyFeelingOptions.value = options;
|
||||
break;
|
||||
case "sleep_condition":
|
||||
sleepConditionOptions.value = options;
|
||||
break;
|
||||
case "eye_condition":
|
||||
eyeConditionOptions.value = options;
|
||||
break;
|
||||
case "head_feeling":
|
||||
headFeelingOptions.value = options;
|
||||
break;
|
||||
case "sweat_condition":
|
||||
sweatConditionOptions.value = options;
|
||||
break;
|
||||
case "skin_condition":
|
||||
skinConditionOptions.value = options;
|
||||
break;
|
||||
case "urine_condition":
|
||||
urineConditionOptions.value = options;
|
||||
break;
|
||||
case "stool_condition":
|
||||
stoolConditionOptions.value = options;
|
||||
break;
|
||||
case "kidney_condition":
|
||||
kidneyConditionOptions.value = options;
|
||||
break;
|
||||
case "fatty_liver_degree":
|
||||
fattyLiverDegreeOptions.value = options;
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (err) {
|
||||
common_vendor.index.__f__("error", "at pages/Card/edit_card.vue:979", "加载字典数据失败:", err);
|
||||
}
|
||||
};
|
||||
const initDatePicker = () => {
|
||||
const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
|
||||
yearRange.value = Array.from({ length: 100 }, (_, i) => currentYear - 50 + i);
|
||||
};
|
||||
const initDatePickerValue = (dateStr) => {
|
||||
if (!dateStr)
|
||||
return;
|
||||
try {
|
||||
const parts = dateStr.split("-");
|
||||
if (parts.length !== 3)
|
||||
return;
|
||||
const year = parseInt(parts[0]);
|
||||
const month = parseInt(parts[1]);
|
||||
const day = parseInt(parts[2]);
|
||||
const yearIndex = yearRange.value.indexOf(year);
|
||||
if (yearIndex === -1)
|
||||
return;
|
||||
const monthIndex = month - 1;
|
||||
const dayIndex = day - 1;
|
||||
datePickerValue.value = [yearIndex, monthIndex, dayIndex];
|
||||
} catch (err) {
|
||||
common_vendor.index.__f__("error", "at pages/Card/edit_card.vue:1014", "初始化日期选择器失败:", err);
|
||||
}
|
||||
};
|
||||
const loadCardDetail = async () => {
|
||||
var _a;
|
||||
loading.value = true;
|
||||
try {
|
||||
const pages = getCurrentPages();
|
||||
const currentPage = pages[pages.length - 1];
|
||||
const options = currentPage.options || {};
|
||||
diagnosisId.value = options.id;
|
||||
isAddMode.value = options.add === "1" || options.add === 1;
|
||||
if (options.returnUrl) {
|
||||
try {
|
||||
returnUrl.value = decodeURIComponent(String(options.returnUrl));
|
||||
} catch (e) {
|
||||
returnUrl.value = String(options.returnUrl);
|
||||
}
|
||||
}
|
||||
const userData = common_vendor.index.getStorageSync("userData");
|
||||
patientId.value = (_a = userData == null ? void 0 : userData.diagnosis) == null ? void 0 : _a.patient_id;
|
||||
if (isAddMode.value) {
|
||||
const token = common_vendor.index.getStorageSync("token");
|
||||
if (!token) {
|
||||
common_vendor.index.showToast({ title: "请先登录", icon: "none" });
|
||||
setTimeout(() => common_vendor.index.redirectTo({ url: "/tongji/pages/weekly" }), 1500);
|
||||
return;
|
||||
}
|
||||
loading.value = false;
|
||||
return;
|
||||
}
|
||||
if (!patientId.value) {
|
||||
common_vendor.index.showToast({ title: "请先登录", icon: "none" });
|
||||
setTimeout(() => common_vendor.index.redirectTo({ url: "/tongji/pages/weekly" }), 1500);
|
||||
return;
|
||||
}
|
||||
if (!diagnosisId.value) {
|
||||
common_vendor.index.showToast({ title: "诊单ID不存在", icon: "none" });
|
||||
setTimeout(() => common_vendor.index.navigateBack(), 1500);
|
||||
return;
|
||||
}
|
||||
const res = await proxy.apiUrl({
|
||||
url: "/api/tcm/diagnosisDetail",
|
||||
method: "GET",
|
||||
data: {
|
||||
id: diagnosisId.value,
|
||||
user_id: patientId.value
|
||||
}
|
||||
});
|
||||
if (res.code === 1) {
|
||||
const diagnosis = res.data;
|
||||
const arrayFields = ["diet_condition", "body_feeling", "sleep_condition", "eye_condition", "head_feeling", "sweat_condition", "skin_condition", "urine_condition", "stool_condition", "kidney_condition", "past_history", "local_hospital_diagnosis", "report_files", "tongue_images"];
|
||||
arrayFields.forEach((field) => {
|
||||
if (typeof diagnosis[field] === "string" && diagnosis[field]) {
|
||||
diagnosis[field] = diagnosis[field].split(",");
|
||||
} else if (!diagnosis[field]) {
|
||||
diagnosis[field] = [];
|
||||
}
|
||||
});
|
||||
formData.value = diagnosis;
|
||||
const ddy = diagnosis.diabetes_discovery_year;
|
||||
formData.value.diabetes_discovery_year = ddy == null || ddy === "" ? "" : String(ddy);
|
||||
if (!diagnosis.local_hospital_visit_date && diagnosis.diagnosis_date) {
|
||||
formData.value.local_hospital_visit_date = diagnosis.diagnosis_date;
|
||||
}
|
||||
if (formData.value.local_hospital_visit_date) {
|
||||
initDatePickerValue(formData.value.local_hospital_visit_date);
|
||||
}
|
||||
} else {
|
||||
common_vendor.index.showToast({ title: res.msg || "获取失败", icon: "none" });
|
||||
setTimeout(() => common_vendor.index.navigateBack(), 1500);
|
||||
}
|
||||
} catch (err) {
|
||||
common_vendor.index.__f__("error", "at pages/Card/edit_card.vue:1109", "加载诊单详情失败:", err);
|
||||
common_vendor.index.showToast({ title: "加载失败", icon: "none" });
|
||||
setTimeout(() => common_vendor.index.navigateBack(), 1500);
|
||||
} finally {
|
||||
loading.value = false;
|
||||
}
|
||||
};
|
||||
const toggleMultiCheckbox = (field, value) => {
|
||||
const index = formData.value[field].indexOf(value);
|
||||
if (index > -1) {
|
||||
formData.value[field].splice(index, 1);
|
||||
} else {
|
||||
formData.value[field].push(value);
|
||||
}
|
||||
};
|
||||
const calculateAgeFromIdCard = (idCard) => {
|
||||
if (!idCard || idCard.length !== 18) {
|
||||
return "";
|
||||
}
|
||||
const year = parseInt(idCard.substring(6, 10));
|
||||
const month = parseInt(idCard.substring(10, 12));
|
||||
const day = parseInt(idCard.substring(12, 14));
|
||||
const today = /* @__PURE__ */ new Date();
|
||||
const currentYear = today.getFullYear();
|
||||
const currentMonth = today.getMonth() + 1;
|
||||
const currentDay = today.getDate();
|
||||
let age = currentYear - year;
|
||||
if (currentMonth < month || currentMonth === month && currentDay < day) {
|
||||
age--;
|
||||
}
|
||||
return age;
|
||||
};
|
||||
const handleIdCardChange = () => {
|
||||
if (formData.value.id_card && formData.value.id_card.length === 18) {
|
||||
const age = calculateAgeFromIdCard(formData.value.id_card);
|
||||
if (age) {
|
||||
formData.value.age = age;
|
||||
}
|
||||
}
|
||||
};
|
||||
const onDateChange = (e) => {
|
||||
datePickerValue.value = e.detail.value;
|
||||
};
|
||||
const confirmDate = () => {
|
||||
const year = yearRange.value[datePickerValue.value[0]];
|
||||
const month = String(monthRange.value[datePickerValue.value[1]]).padStart(2, "0");
|
||||
const day = String(dayRange.value[datePickerValue.value[2]]).padStart(2, "0");
|
||||
formData.value.local_hospital_visit_date = `${year}-${month}-${day}`;
|
||||
showDatePicker.value = false;
|
||||
};
|
||||
const openAgreement = (type) => {
|
||||
common_vendor.index.navigateTo({
|
||||
url: "/pages/Card/contact?type=" + type
|
||||
});
|
||||
};
|
||||
const submitForm = async () => {
|
||||
var _a;
|
||||
if (!agreedToTerms.value) {
|
||||
common_vendor.index.showToast({ title: "请先阅读并同意相关协议", icon: "none" });
|
||||
return;
|
||||
}
|
||||
if (!formData.value.patient_name) {
|
||||
common_vendor.index.showToast({ title: "患者姓名不能为空", icon: "none" });
|
||||
return;
|
||||
}
|
||||
if (formData.value.gender === null || formData.value.gender === void 0) {
|
||||
common_vendor.index.showToast({ title: "请选择性别", icon: "none" });
|
||||
return;
|
||||
}
|
||||
if (!formData.value.weight) {
|
||||
common_vendor.index.showToast({ title: "体重不能为空", icon: "none" });
|
||||
return;
|
||||
}
|
||||
if (!formData.value.height) {
|
||||
common_vendor.index.showToast({ title: "身高不能为空", icon: "none" });
|
||||
return;
|
||||
}
|
||||
if (!formData.value.fasting_blood_sugar) {
|
||||
common_vendor.index.showToast({ title: "空腹血糖不能为空", icon: "none" });
|
||||
return;
|
||||
}
|
||||
if (!String(formData.value.diabetes_discovery_year ?? "").trim()) {
|
||||
common_vendor.index.showToast({ title: "发现糖尿病患病史不能为空", icon: "none" });
|
||||
return;
|
||||
}
|
||||
if (String(formData.value.diabetes_discovery_year).trim().length > 50) {
|
||||
common_vendor.index.showToast({ title: "发现糖尿病患病史最多50个字", icon: "none" });
|
||||
return;
|
||||
}
|
||||
if (!formData.value.local_hospital_diagnosis || formData.value.local_hospital_diagnosis.length === 0) {
|
||||
common_vendor.index.showToast({ title: "当地医院诊断结果不能为空", icon: "none" });
|
||||
return;
|
||||
}
|
||||
if (!formData.value.local_hospital_name) {
|
||||
common_vendor.index.showToast({ title: "当地就诊医院名称不能为空", icon: "none" });
|
||||
return;
|
||||
}
|
||||
if (!formData.value.local_hospital_visit_date) {
|
||||
common_vendor.index.showToast({ title: "当地医院就诊时间不能为空", icon: "none" });
|
||||
return;
|
||||
}
|
||||
submitting.value = true;
|
||||
try {
|
||||
const submitData = { ...formData.value };
|
||||
submitData.diabetes_discovery_year = String(submitData.diabetes_discovery_year ?? "").trim();
|
||||
const arrayFields = ["diet_condition", "body_feeling", "sleep_condition", "eye_condition", "head_feeling", "sweat_condition", "skin_condition", "urine_condition", "stool_condition", "kidney_condition", "past_history", "local_hospital_diagnosis", "report_files", "tongue_images"];
|
||||
arrayFields.forEach((field) => {
|
||||
if (Array.isArray(submitData[field])) {
|
||||
submitData[field] = submitData[field].join(",");
|
||||
}
|
||||
});
|
||||
if (submitData.local_hospital_visit_date) {
|
||||
submitData.diagnosis_date = submitData.local_hospital_visit_date;
|
||||
}
|
||||
const apiUrl = isAddMode.value ? "/api/tcm/addCard" : "/api/tcm/updateCard";
|
||||
const apiData = isAddMode.value ? { ...submitData, ...patientId.value ? { patient_id: patientId.value } : {} } : { id: diagnosisId.value, patient_id: patientId.value, ...submitData };
|
||||
const res = await proxy.apiUrl({
|
||||
url: apiUrl,
|
||||
method: "POST",
|
||||
data: apiData
|
||||
});
|
||||
if (res.code === 1) {
|
||||
if (isAddMode.value && ((_a = res.data) == null ? void 0 : _a.patient_id)) {
|
||||
const userData = common_vendor.index.getStorageSync("userData") || {};
|
||||
if (!userData.diagnosis)
|
||||
userData.diagnosis = {};
|
||||
userData.diagnosis.patient_id = res.data.patient_id;
|
||||
common_vendor.index.setStorageSync("userData", userData);
|
||||
}
|
||||
common_vendor.index.showToast({ title: isAddMode.value ? "创建成功" : "保存成功", icon: "success" });
|
||||
setTimeout(() => {
|
||||
const back = returnUrl.value;
|
||||
if (back && back.startsWith("/")) {
|
||||
common_vendor.index.redirectTo({ url: back });
|
||||
} else {
|
||||
common_vendor.index.navigateBack();
|
||||
}
|
||||
}, 1500);
|
||||
} else {
|
||||
common_vendor.index.showToast({ title: res.msg || "保存失败", icon: "none" });
|
||||
}
|
||||
} catch (err) {
|
||||
common_vendor.index.__f__("error", "at pages/Card/edit_card.vue:1324", "保存失败:", err);
|
||||
common_vendor.index.showToast({ title: "保存失败", icon: "none" });
|
||||
} finally {
|
||||
submitting.value = false;
|
||||
}
|
||||
};
|
||||
const uploadTonguePhoto = () => {
|
||||
var _a;
|
||||
const maxCount = 9 - (((_a = formData.value.tongue_images) == null ? void 0 : _a.length) || 0);
|
||||
common_vendor.index.chooseImage({
|
||||
count: maxCount,
|
||||
sizeType: ["compressed"],
|
||||
sourceType: ["album", "camera"],
|
||||
success: async (res) => {
|
||||
const tempFilePaths = res.tempFilePaths;
|
||||
try {
|
||||
common_vendor.index.showLoading({ title: "上传中..." });
|
||||
const token = common_vendor.index.getStorageSync("token");
|
||||
const $url = proxy.$url;
|
||||
if (!formData.value.tongue_images) {
|
||||
formData.value.tongue_images = [];
|
||||
}
|
||||
for (let i = 0; i < tempFilePaths.length; i++) {
|
||||
const uploadRes = await new Promise((resolve, reject) => {
|
||||
common_vendor.index.uploadFile({
|
||||
url: $url + "/api/upload/image",
|
||||
filePath: tempFilePaths[i],
|
||||
name: "file",
|
||||
header: {
|
||||
token,
|
||||
"content-type": "multipart/form-data"
|
||||
},
|
||||
success: (res2) => {
|
||||
const data = JSON.parse(res2.data);
|
||||
resolve(data);
|
||||
},
|
||||
fail: (err) => {
|
||||
reject(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
if (uploadRes.code === 1) {
|
||||
formData.value.tongue_images.push(uploadRes.data.uri || uploadRes.data);
|
||||
common_vendor.index.__f__("log", "at pages/Card/edit_card.vue:1377", "-", formData);
|
||||
}
|
||||
}
|
||||
common_vendor.index.hideLoading();
|
||||
common_vendor.index.showToast({ title: "上传成功", icon: "success" });
|
||||
} catch (err) {
|
||||
common_vendor.index.hideLoading();
|
||||
common_vendor.index.__f__("error", "at pages/Card/edit_card.vue:1385", "上传照片失败:", err);
|
||||
common_vendor.index.showToast({ title: "上传失败", icon: "none" });
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
common_vendor.index.__f__("error", "at pages/Card/edit_card.vue:1390", "选择图片失败:", err);
|
||||
common_vendor.index.showToast({ title: "选择图片失败", icon: "none" });
|
||||
}
|
||||
});
|
||||
};
|
||||
const deleteTonguePhoto = (index) => {
|
||||
common_vendor.index.showModal({
|
||||
title: "提示",
|
||||
content: "确定要删除这张舌苔照片吗?",
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
formData.value.tongue_images.splice(index, 1);
|
||||
common_vendor.index.showToast({ title: "已删除", icon: "success" });
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
const uploadExaminationReport = () => {
|
||||
var _a;
|
||||
const maxCount = 9 - (((_a = formData.value.report_files) == null ? void 0 : _a.length) || 0);
|
||||
common_vendor.index.chooseImage({
|
||||
count: maxCount,
|
||||
sizeType: ["compressed"],
|
||||
sourceType: ["album", "camera"],
|
||||
success: async (res) => {
|
||||
const tempFilePaths = res.tempFilePaths;
|
||||
try {
|
||||
common_vendor.index.showLoading({ title: "上传中..." });
|
||||
const token = common_vendor.index.getStorageSync("token");
|
||||
const $url = proxy.$url;
|
||||
if (!formData.value.report_files) {
|
||||
formData.value.report_files = [];
|
||||
}
|
||||
for (let i = 0; i < tempFilePaths.length; i++) {
|
||||
const uploadRes = await new Promise((resolve, reject) => {
|
||||
common_vendor.index.uploadFile({
|
||||
url: $url + "/api/upload/image",
|
||||
filePath: tempFilePaths[i],
|
||||
name: "file",
|
||||
header: {
|
||||
token,
|
||||
"content-type": "multipart/form-data"
|
||||
},
|
||||
success: (res2) => {
|
||||
const data = JSON.parse(res2.data);
|
||||
resolve(data);
|
||||
},
|
||||
fail: (err) => {
|
||||
reject(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
if (uploadRes.code === 1) {
|
||||
formData.value.report_files.push(uploadRes.data.uri || uploadRes.data);
|
||||
}
|
||||
}
|
||||
common_vendor.index.hideLoading();
|
||||
common_vendor.index.showToast({ title: "上传成功", icon: "success" });
|
||||
} catch (err) {
|
||||
common_vendor.index.hideLoading();
|
||||
common_vendor.index.__f__("error", "at pages/Card/edit_card.vue:1471", "上传检查报告失败:", err);
|
||||
common_vendor.index.showToast({ title: "上传失败", icon: "none" });
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
common_vendor.index.__f__("error", "at pages/Card/edit_card.vue:1476", "选择图片失败:", err);
|
||||
common_vendor.index.showToast({ title: "选择图片失败", icon: "none" });
|
||||
}
|
||||
});
|
||||
};
|
||||
const deleteExaminationReport = (index) => {
|
||||
common_vendor.index.showModal({
|
||||
title: "提示",
|
||||
content: "确定要删除这张图片吗?",
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
formData.value.report_files.splice(index, 1);
|
||||
common_vendor.index.showToast({ title: "已删除", icon: "success" });
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
const previewImages = (urls, current) => {
|
||||
common_vendor.index.previewImage({
|
||||
urls,
|
||||
current
|
||||
});
|
||||
};
|
||||
return (_ctx, _cache) => {
|
||||
return common_vendor.e({
|
||||
a: loading.value
|
||||
}, loading.value ? {} : common_vendor.e({
|
||||
b: formData.value.patient_name,
|
||||
c: common_vendor.o(($event) => formData.value.patient_name = $event.detail.value, "d0"),
|
||||
d: common_vendor.t(formData.value.gender === 1 ? "✓" : ""),
|
||||
e: formData.value.gender === 1 ? 1 : "",
|
||||
f: common_vendor.o(($event) => formData.value.gender = 1, "38"),
|
||||
g: common_vendor.t(formData.value.gender === 0 ? "✓" : ""),
|
||||
h: formData.value.gender === 0 ? 1 : "",
|
||||
i: common_vendor.o(($event) => formData.value.gender = 0, "0f"),
|
||||
j: common_vendor.o(handleIdCardChange, "47"),
|
||||
k: formData.value.id_card,
|
||||
l: common_vendor.o(($event) => formData.value.id_card = $event.detail.value, "f0"),
|
||||
m: formData.value.age,
|
||||
n: common_vendor.o(($event) => formData.value.age = $event.detail.value, "ef"),
|
||||
o: formData.value.weight,
|
||||
p: common_vendor.o(common_vendor.m(($event) => formData.value.weight = $event.detail.value, {
|
||||
number: true
|
||||
}), "f1"),
|
||||
q: formData.value.height,
|
||||
r: common_vendor.o(common_vendor.m(($event) => formData.value.height = $event.detail.value, {
|
||||
number: true
|
||||
}), "7f"),
|
||||
s: formData.value.systolic_pressure,
|
||||
t: common_vendor.o(common_vendor.m(($event) => formData.value.systolic_pressure = $event.detail.value, {
|
||||
number: true
|
||||
}), "52"),
|
||||
v: formData.value.diastolic_pressure,
|
||||
w: common_vendor.o(common_vendor.m(($event) => formData.value.diastolic_pressure = $event.detail.value, {
|
||||
number: true
|
||||
}), "7e"),
|
||||
x: formData.value.fasting_blood_sugar,
|
||||
y: common_vendor.o(common_vendor.m(($event) => formData.value.fasting_blood_sugar = $event.detail.value, {
|
||||
number: true
|
||||
}), "75"),
|
||||
z: formData.value.diabetes_discovery_year,
|
||||
A: common_vendor.o(($event) => formData.value.diabetes_discovery_year = $event.detail.value, "f7"),
|
||||
B: formData.value.local_hospital_diagnosis.includes("糖尿病") ? 1 : "",
|
||||
C: common_vendor.o(($event) => toggleMultiCheckbox("local_hospital_diagnosis", "糖尿病"), "e0"),
|
||||
D: formData.value.local_hospital_diagnosis.includes("消渴病") ? 1 : "",
|
||||
E: common_vendor.o(($event) => toggleMultiCheckbox("local_hospital_diagnosis", "消渴病"), "79"),
|
||||
F: formData.value.local_hospital_diagnosis.includes("糖尿病前期") ? 1 : "",
|
||||
G: common_vendor.o(($event) => toggleMultiCheckbox("local_hospital_diagnosis", "糖尿病前期"), "f6"),
|
||||
H: formData.value.local_hospital_name,
|
||||
I: common_vendor.o(($event) => formData.value.local_hospital_name = $event.detail.value, "20"),
|
||||
J: common_vendor.t(formData.value.local_hospital_visit_date || "请选择确诊时间"),
|
||||
K: common_vendor.o(($event) => showDatePicker.value = true, "1b"),
|
||||
L: common_vendor.f(appetiteOptions.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: item.value,
|
||||
c: formData.value.appetite === item.value ? 1 : "",
|
||||
d: common_vendor.o(($event) => formData.value.appetite = item.value, item.value)
|
||||
};
|
||||
}),
|
||||
M: common_vendor.f(dietConditionOptions.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: item.value,
|
||||
c: formData.value.diet_condition.includes(item.value) ? 1 : "",
|
||||
d: common_vendor.o(($event) => toggleMultiCheckbox("diet_condition", item.value), item.value)
|
||||
};
|
||||
}),
|
||||
N: common_vendor.f(waterIntakeOptions.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: item.value,
|
||||
c: formData.value.water_intake === item.value ? 1 : "",
|
||||
d: common_vendor.o(($event) => formData.value.water_intake = item.value, item.value)
|
||||
};
|
||||
}),
|
||||
O: common_vendor.f(weightChangeOptions.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: item.value,
|
||||
c: formData.value.weight_change === item.value ? 1 : "",
|
||||
d: common_vendor.o(($event) => formData.value.weight_change = item.value, item.value)
|
||||
};
|
||||
}),
|
||||
P: common_vendor.f(fattyLiverDegreeOptions.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: item.value,
|
||||
c: formData.value.fatty_liver_degree === item.value ? 1 : "",
|
||||
d: common_vendor.o(($event) => formData.value.fatty_liver_degree = item.value, item.value)
|
||||
};
|
||||
}),
|
||||
Q: common_vendor.f(bodyFeelingOptions.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: item.value,
|
||||
c: formData.value.body_feeling.includes(item.value) ? 1 : "",
|
||||
d: common_vendor.o(($event) => toggleMultiCheckbox("body_feeling", item.value), item.value)
|
||||
};
|
||||
}),
|
||||
R: common_vendor.f(sleepConditionOptions.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: item.value,
|
||||
c: formData.value.sleep_condition.includes(item.value) ? 1 : "",
|
||||
d: common_vendor.o(($event) => toggleMultiCheckbox("sleep_condition", item.value), item.value)
|
||||
};
|
||||
}),
|
||||
S: common_vendor.f(eyeConditionOptions.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: item.value,
|
||||
c: formData.value.eye_condition.includes(item.value) ? 1 : "",
|
||||
d: common_vendor.o(($event) => toggleMultiCheckbox("eye_condition", item.value), item.value)
|
||||
};
|
||||
}),
|
||||
T: common_vendor.f(headFeelingOptions.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: item.value,
|
||||
c: formData.value.head_feeling.includes(item.value) ? 1 : "",
|
||||
d: common_vendor.o(($event) => toggleMultiCheckbox("head_feeling", item.value), item.value)
|
||||
};
|
||||
}),
|
||||
U: common_vendor.f(sweatConditionOptions.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: item.value,
|
||||
c: formData.value.sweat_condition.includes(item.value) ? 1 : "",
|
||||
d: common_vendor.o(($event) => toggleMultiCheckbox("sweat_condition", item.value), item.value)
|
||||
};
|
||||
}),
|
||||
V: common_vendor.f(skinConditionOptions.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: item.value,
|
||||
c: formData.value.skin_condition.includes(item.value) ? 1 : "",
|
||||
d: common_vendor.o(($event) => toggleMultiCheckbox("skin_condition", item.value), item.value)
|
||||
};
|
||||
}),
|
||||
W: common_vendor.f(urineConditionOptions.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: item.value,
|
||||
c: formData.value.urine_condition.includes(item.value) ? 1 : "",
|
||||
d: common_vendor.o(($event) => toggleMultiCheckbox("urine_condition", item.value), item.value)
|
||||
};
|
||||
}),
|
||||
X: common_vendor.f(stoolConditionOptions.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: item.value,
|
||||
c: formData.value.stool_condition.includes(item.value) ? 1 : "",
|
||||
d: common_vendor.o(($event) => toggleMultiCheckbox("stool_condition", item.value), item.value)
|
||||
};
|
||||
}),
|
||||
Y: common_vendor.f(kidneyConditionOptions.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: item.value,
|
||||
c: formData.value.kidney_condition.includes(item.value) ? 1 : "",
|
||||
d: common_vendor.o(($event) => toggleMultiCheckbox("kidney_condition", item.value), item.value)
|
||||
};
|
||||
}),
|
||||
Z: common_vendor.f(pastHistoryOptions.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: item.value,
|
||||
c: formData.value.past_history.includes(item.value) ? 1 : "",
|
||||
d: common_vendor.o(($event) => toggleMultiCheckbox("past_history", item.value), item.value)
|
||||
};
|
||||
}),
|
||||
aa: formData.value.trauma_history === 1 ? 1 : "",
|
||||
ab: common_vendor.o(($event) => formData.value.trauma_history = 1, "5e"),
|
||||
ac: formData.value.trauma_history === 0 ? 1 : "",
|
||||
ad: common_vendor.o(($event) => formData.value.trauma_history = 0, "db"),
|
||||
ae: formData.value.surgery_history === 1 ? 1 : "",
|
||||
af: common_vendor.o(($event) => formData.value.surgery_history = 1, "f6"),
|
||||
ag: formData.value.surgery_history === 0 ? 1 : "",
|
||||
ah: common_vendor.o(($event) => formData.value.surgery_history = 0, "69"),
|
||||
ai: formData.value.allergy_history === 1 ? 1 : "",
|
||||
aj: common_vendor.o(($event) => formData.value.allergy_history = 1, "b7"),
|
||||
ak: formData.value.allergy_history === 0 ? 1 : "",
|
||||
al: common_vendor.o(($event) => formData.value.allergy_history = 0, "f0"),
|
||||
am: formData.value.family_history === 1 ? 1 : "",
|
||||
an: common_vendor.o(($event) => formData.value.family_history = 1, "e3"),
|
||||
ao: formData.value.family_history === 0 ? 1 : "",
|
||||
ap: common_vendor.o(($event) => formData.value.family_history = 0, "18"),
|
||||
aq: formData.value.pregnancy_history === 1 ? 1 : "",
|
||||
ar: common_vendor.o(($event) => formData.value.pregnancy_history = 1, "71"),
|
||||
as: formData.value.pregnancy_history === 0 ? 1 : "",
|
||||
at: common_vendor.o(($event) => formData.value.pregnancy_history = 0, "a3"),
|
||||
av: formData.value.tongue_images && formData.value.tongue_images.length > 0
|
||||
}, formData.value.tongue_images && formData.value.tongue_images.length > 0 ? {
|
||||
aw: common_vendor.f(formData.value.tongue_images, (img, index, i0) => {
|
||||
return {
|
||||
a: img,
|
||||
b: common_vendor.o(($event) => previewImages(formData.value.tongue_images, index), index),
|
||||
c: common_vendor.o(($event) => deleteTonguePhoto(index), index),
|
||||
d: index
|
||||
};
|
||||
})
|
||||
} : {}, {
|
||||
ax: formData.value.tongue_images.length < 9
|
||||
}, formData.value.tongue_images.length < 9 ? {
|
||||
ay: common_vendor.p({
|
||||
type: "camera",
|
||||
size: "30"
|
||||
}),
|
||||
az: common_vendor.o(uploadTonguePhoto, "ec")
|
||||
} : {}, {
|
||||
aA: formData.value.report_files && formData.value.report_files.length > 0
|
||||
}, formData.value.report_files && formData.value.report_files.length > 0 ? {
|
||||
aB: common_vendor.f(formData.value.report_files, (img, index, i0) => {
|
||||
return {
|
||||
a: img,
|
||||
b: common_vendor.o(($event) => previewImages(formData.value.report_files, index), index),
|
||||
c: common_vendor.o(($event) => deleteExaminationReport(index), index),
|
||||
d: index
|
||||
};
|
||||
})
|
||||
} : {}, {
|
||||
aC: formData.value.report_files.length < 9
|
||||
}, formData.value.report_files.length < 9 ? {
|
||||
aD: common_vendor.p({
|
||||
type: "camera",
|
||||
size: "30"
|
||||
}),
|
||||
aE: common_vendor.o(uploadExaminationReport, "6a")
|
||||
} : {}, {
|
||||
aF: formData.value.remark,
|
||||
aG: common_vendor.o(($event) => formData.value.remark = $event.detail.value, "c8"),
|
||||
aH: agreedToTerms.value
|
||||
}, agreedToTerms.value ? {} : {}, {
|
||||
aI: agreedToTerms.value ? 1 : "",
|
||||
aJ: !agreedToTerms.value
|
||||
}, !agreedToTerms.value ? {} : {}, {
|
||||
aK: !agreedToTerms.value ? 1 : "",
|
||||
aL: common_vendor.o(($event) => agreedToTerms.value = false, "2e"),
|
||||
aM: common_vendor.o(($event) => openAgreement("service"), "98"),
|
||||
aN: common_vendor.o(($event) => openAgreement("privacy"), "cc"),
|
||||
aO: common_vendor.o(($event) => agreedToTerms.value = true, "db"),
|
||||
aP: common_vendor.t(submitting.value ? "保存中..." : "我已确认无误,提交给医生"),
|
||||
aQ: common_vendor.o(submitForm, "17"),
|
||||
aR: submitting.value || !agreedToTerms.value
|
||||
}), {
|
||||
aS: showDatePicker.value
|
||||
}, showDatePicker.value ? {
|
||||
aT: common_vendor.o(($event) => showDatePicker.value = false, "4e"),
|
||||
aU: common_vendor.o(confirmDate, "61"),
|
||||
aV: common_vendor.f(yearRange.value, (year, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(year),
|
||||
b: year
|
||||
};
|
||||
}),
|
||||
aW: common_vendor.f(monthRange.value, (month, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(String(month).padStart(2, "0")),
|
||||
b: month
|
||||
};
|
||||
}),
|
||||
aX: common_vendor.f(dayRange.value, (day, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(String(day).padStart(2, "0")),
|
||||
b: day
|
||||
};
|
||||
}),
|
||||
aY: datePickerValue.value,
|
||||
aZ: common_vendor.o(onDateChange, "78")
|
||||
} : {});
|
||||
};
|
||||
}
|
||||
};
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-47b8e7b0"]]);
|
||||
wx.createPage(MiniProgramPage);
|
||||
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/Card/edit_card.js.map
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"navigationBarTitleText": "修改就诊卡",
|
||||
"usingComponents": {
|
||||
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,858 @@
|
||||
.edit-container.data-v-47b8e7b0 {
|
||||
min-height: 100vh;
|
||||
background: #f5f5f5;
|
||||
}
|
||||
.loading-state.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
font-size: 36rpx;
|
||||
color: #999999;
|
||||
}
|
||||
.form-wrapper.data-v-47b8e7b0 {
|
||||
padding: 20rpx;
|
||||
padding-bottom: 280rpx; /* 为固定按钮留出空间 */
|
||||
}
|
||||
.form-section.data-v-47b8e7b0 {
|
||||
background: #ffffff;
|
||||
border-radius: 12rpx;
|
||||
padding: 24rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.section-title.data-v-47b8e7b0 {
|
||||
font-size: 34rpx;
|
||||
font-weight: 600;
|
||||
color: #333333;
|
||||
margin-bottom: 20rpx;
|
||||
display: block;
|
||||
padding-bottom: 12rpx;
|
||||
border-bottom: 1rpx solid #e8e8e8;
|
||||
}
|
||||
|
||||
/* 行布局 */
|
||||
.form-row.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 20rpx;
|
||||
gap: 20rpx;
|
||||
}
|
||||
.form-row-single.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 20rpx;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.form-col-left.data-v-47b8e7b0 {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.form-col-right.data-v-47b8e7b0 {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.form-col-large.data-v-47b8e7b0 {
|
||||
flex: 2;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.form-col-small.data-v-47b8e7b0 {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* 标签样式 */
|
||||
.form-label.data-v-47b8e7b0 {
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
white-space: nowrap;
|
||||
margin-right: 8rpx;
|
||||
}
|
||||
.form-labels.data-v-47b8e7b0 {
|
||||
font-size: 32rpx;
|
||||
color: #222222;
|
||||
white-space: nowrap;
|
||||
margin-right: 8rpx;
|
||||
font-weight: 700;
|
||||
}
|
||||
.form-label-number.data-v-47b8e7b0 {
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
font-weight: 600;
|
||||
margin-right: 4rpx;
|
||||
}
|
||||
.required.data-v-47b8e7b0 {
|
||||
color: #ff4d4f;
|
||||
margin-right: 4rpx;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.form-value.data-v-47b8e7b0 {
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
/* 行内输入框 */
|
||||
.form-input-inline.data-v-47b8e7b0 {
|
||||
flex: 1;
|
||||
padding: 12rpx 16rpx;
|
||||
border: none;
|
||||
border-bottom: 1rpx solid #e8e8e8;
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
background: transparent;
|
||||
}
|
||||
.form-input-inline.data-v-47b8e7b0:disabled {
|
||||
color: #999999;
|
||||
background: #f5f5f5;
|
||||
}
|
||||
.form-input-inline.data-v-47b8e7b0::-webkit-input-placeholder {
|
||||
color: #cccccc;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.form-input-inline.data-v-47b8e7b0::placeholder {
|
||||
color: #cccccc;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.form-unit.data-v-47b8e7b0 {
|
||||
font-size: 30rpx;
|
||||
color: #999999;
|
||||
margin-left: 8rpx;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* 性别选择 - 行内样式 */
|
||||
.gender-inline.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
gap: 30rpx;
|
||||
margin-left: 10rpx;
|
||||
}
|
||||
.gender-radio.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8rpx;
|
||||
font-size: 32rpx;
|
||||
color: #666666;
|
||||
}
|
||||
.gender-radio.active.data-v-47b8e7b0 {
|
||||
color: #386641;
|
||||
}
|
||||
.radio-icon.data-v-47b8e7b0 {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
border: 2rpx solid #d9d9d9;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 28rpx;
|
||||
color: #ffffff;
|
||||
background: #ffffff;
|
||||
}
|
||||
.gender-radio.active .radio-icon.data-v-47b8e7b0 {
|
||||
background: #386641;
|
||||
border-color: #386641;
|
||||
}
|
||||
.form-tip.data-v-47b8e7b0 {
|
||||
font-size: 28rpx;
|
||||
color: #ff4d4f;
|
||||
margin-top: 8rpx;
|
||||
}
|
||||
|
||||
/* 块级表单项 */
|
||||
.form-item-block.data-v-47b8e7b0 {
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
.form-label-block.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 16rpx;
|
||||
}
|
||||
|
||||
/* 按钮网格布局 */
|
||||
.button-grid.data-v-47b8e7b0 {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 0;
|
||||
margin-bottom: 16rpx;
|
||||
}
|
||||
.button-grid-single.data-v-47b8e7b0 {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.button-grid-three.data-v-47b8e7b0 {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 0;
|
||||
}
|
||||
.grid-button.data-v-47b8e7b0 {
|
||||
padding: 4rpx 20rpx;
|
||||
border: 2rpx solid #e8e8e8;
|
||||
border-radius: 0;
|
||||
text-align: center;
|
||||
font-size: 32rpx;
|
||||
color: #555555;
|
||||
background: #ffffff;
|
||||
transition: all 0.2s;
|
||||
min-height: 80rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-left: -2rpx;
|
||||
margin-bottom: 10rpx;
|
||||
position: relative;
|
||||
}
|
||||
.grid-button.data-v-47b8e7b0:first-child {
|
||||
margin-left: 0;
|
||||
border-top-left-radius: 8rpx;
|
||||
border-bottom-left-radius: 8rpx;
|
||||
}
|
||||
.grid-button.data-v-47b8e7b0:last-child {
|
||||
border-top-right-radius: 8rpx;
|
||||
border-bottom-right-radius: 8rpx;
|
||||
}
|
||||
.button-grid-three .grid-button.data-v-47b8e7b0:nth-child(3n+1) {
|
||||
border-top-left-radius: 8rpx;
|
||||
border-bottom-left-radius: 8rpx;
|
||||
margin-left: 0;
|
||||
}
|
||||
.button-grid-three .grid-button.data-v-47b8e7b0:nth-child(3n) {
|
||||
border-top-right-radius: 8rpx;
|
||||
border-bottom-right-radius: 8rpx;
|
||||
}
|
||||
.button-grid-three .grid-button.data-v-47b8e7b0:nth-child(3n+2) {
|
||||
border-radius: 0;
|
||||
}
|
||||
.grid-button.active.data-v-47b8e7b0 {
|
||||
border-color: #386641;
|
||||
background: #386641;
|
||||
color: #ffffff;
|
||||
font-weight: 500;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
/* 选中按钮右侧的白色分隔线 */
|
||||
.grid-button.active.data-v-47b8e7b0::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
right: -2rpx;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: 2rpx;
|
||||
background: #ffffff;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
/* 选中按钮左侧的白色分隔线 */
|
||||
.grid-button.active.data-v-47b8e7b0::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: -2rpx;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: 2rpx;
|
||||
background: #ffffff;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
/* 如果是第一个按钮被选中,不显示左侧白线 */
|
||||
.grid-button.active.data-v-47b8e7b0:first-child::before,
|
||||
.button-grid-three .grid-button.active.data-v-47b8e7b0:nth-child(3n+1)::before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* 如果是最后一个按钮被选中,不显示右侧白线 */
|
||||
.grid-button.active.data-v-47b8e7b0:last-child::after,
|
||||
.button-grid-three .grid-button.active.data-v-47b8e7b0:nth-child(3n)::after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* 全宽输入框 */
|
||||
.form-input-full.data-v-47b8e7b0 {
|
||||
width: 100%;
|
||||
padding: 20rpx;
|
||||
border: none;
|
||||
border-bottom: 1rpx solid #e8e8e8;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
background: transparent;
|
||||
box-sizing: border-box;
|
||||
min-height: 80rpx;
|
||||
display: block;
|
||||
}
|
||||
.form-input-full.data-v-47b8e7b0::-webkit-input-placeholder {
|
||||
color: #cccccc;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
.form-input-full.data-v-47b8e7b0::placeholder {
|
||||
color: #cccccc;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
/* 全宽日期选择器 */
|
||||
.date-input-full.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 20rpx;
|
||||
border: none;
|
||||
border-bottom: 1rpx solid #e8e8e8;
|
||||
background: transparent;
|
||||
min-height: 80rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.date-icon-left.data-v-47b8e7b0 {
|
||||
font-size: 36rpx;
|
||||
color: #999999;
|
||||
margin-right: 12rpx;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.date-text.data-v-47b8e7b0 {
|
||||
flex: 1;
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
word-break: break-word;
|
||||
}
|
||||
.date-arrow.data-v-47b8e7b0 {
|
||||
font-size: 40rpx;
|
||||
color: #cccccc;
|
||||
margin-left: 12rpx;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* 原有表单组样式 - 保留用于其他部分 */
|
||||
.form-group.data-v-47b8e7b0 {
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
.form-group.data-v-47b8e7b0:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.form-input.data-v-47b8e7b0 {
|
||||
width: 100%;
|
||||
padding: 24rpx;
|
||||
border: 2rpx solid #386641;
|
||||
border-radius: 12rpx;
|
||||
font-size: 34rpx;
|
||||
line-height: 1.5;
|
||||
color: #333333;
|
||||
background: #fffaf5;
|
||||
box-sizing: border-box;
|
||||
display: block;
|
||||
height: auto;
|
||||
min-height: 80rpx;
|
||||
}
|
||||
.form-input.data-v-47b8e7b0::-webkit-input-placeholder {
|
||||
color: #cccccc;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.form-input.data-v-47b8e7b0::placeholder {
|
||||
color: #cccccc;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.form-textarea.data-v-47b8e7b0 {
|
||||
width: 100%;
|
||||
padding: 24rpx;
|
||||
border: 2rpx solid #386641;
|
||||
border-radius: 12rpx;
|
||||
font-size: 34rpx;
|
||||
line-height: 1.6;
|
||||
color: #333333;
|
||||
background: #fffaf5;
|
||||
box-sizing: border-box;
|
||||
min-height: 180rpx;
|
||||
display: block;
|
||||
font-family: inherit;
|
||||
}
|
||||
.form-textarea.data-v-47b8e7b0::-webkit-input-placeholder {
|
||||
color: #cccccc;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.form-textarea.data-v-47b8e7b0::placeholder {
|
||||
color: #cccccc;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.gender-group.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
gap: 16rpx;
|
||||
}
|
||||
.gender-btn.data-v-47b8e7b0 {
|
||||
flex: 1;
|
||||
padding: 22rpx 24rpx;
|
||||
border: 2rpx solid #386641;
|
||||
border-radius: 12rpx;
|
||||
text-align: center;
|
||||
font-size: 34rpx;
|
||||
line-height: 1.5;
|
||||
color: #666666;
|
||||
background: #fffaf5;
|
||||
transition: all 0.2s;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 80rpx;
|
||||
}
|
||||
.gender-btn.active.data-v-47b8e7b0 {
|
||||
border-color: #386641;
|
||||
background: #fff4e6;
|
||||
color: #386641;
|
||||
font-weight: 600;
|
||||
}
|
||||
.radio-group.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
gap: 16rpx;
|
||||
}
|
||||
.radio-item.data-v-47b8e7b0 {
|
||||
flex: 1;
|
||||
padding: 20rpx 24rpx;
|
||||
border: 2rpx solid #386641;
|
||||
border-radius: 12rpx;
|
||||
text-align: center;
|
||||
font-size: 32rpx;
|
||||
color: #666666;
|
||||
background: #fffaf5;
|
||||
transition: all 0.2s;
|
||||
min-height: 70rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.radio-item.active.data-v-47b8e7b0 {
|
||||
border-color: #386641;
|
||||
background: #fff4e6;
|
||||
color: #386641;
|
||||
font-weight: 600;
|
||||
}
|
||||
.checkbox-group.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 12rpx;
|
||||
}
|
||||
.checkbox-item.data-v-47b8e7b0 {
|
||||
padding: 18rpx 28rpx;
|
||||
border: 2rpx solid #386641;
|
||||
border-radius: 24rpx;
|
||||
font-size: 32rpx;
|
||||
color: #666666;
|
||||
background: #fffaf5;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
.checkbox-item.active.data-v-47b8e7b0 {
|
||||
border-color: #386641;
|
||||
background: #fff4e6;
|
||||
color: #386641;
|
||||
font-weight: 600;
|
||||
}
|
||||
.multi-checkbox-group.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 12rpx;
|
||||
}
|
||||
.multi-checkbox-item.data-v-47b8e7b0 {
|
||||
padding: 18rpx 28rpx;
|
||||
border: 2rpx solid #386641;
|
||||
border-radius: 24rpx;
|
||||
font-size: 32rpx;
|
||||
color: #666666;
|
||||
background: #fffaf5;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
.multi-checkbox-item.active.data-v-47b8e7b0 {
|
||||
border-color: #386641;
|
||||
background: #fff4e6;
|
||||
color: #386641;
|
||||
font-weight: 600;
|
||||
}
|
||||
.date-input.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 24rpx;
|
||||
border: 2rpx solid #386641;
|
||||
border-radius: 12rpx;
|
||||
background: #fffaf5;
|
||||
font-size: 34rpx;
|
||||
line-height: 1.5;
|
||||
color: #333333;
|
||||
min-height: 80rpx;
|
||||
}
|
||||
.date-icon.data-v-47b8e7b0 {
|
||||
font-size: 40rpx;
|
||||
margin-left: 12rpx;
|
||||
color: #386641;
|
||||
}
|
||||
.picker-item.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 50px;
|
||||
font-size: 34rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
/* 上传组件样式 */
|
||||
.upload-container.data-v-47b8e7b0 {
|
||||
margin-top: 16rpx;
|
||||
}
|
||||
.upload-layout.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
gap: 20rpx;
|
||||
margin-top: 20rpx;
|
||||
align-items: flex-start;
|
||||
}
|
||||
.upload-left.data-v-47b8e7b0 {
|
||||
flex-shrink: 0;
|
||||
width: 600rpx;
|
||||
}
|
||||
.upload-right.data-v-47b8e7b0 {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
gap: 12rpx;
|
||||
}
|
||||
.upload-label.data-v-47b8e7b0 {
|
||||
font-size: 32rpx;
|
||||
color: #333333;
|
||||
font-weight: 600;
|
||||
}
|
||||
.upload-desc.data-v-47b8e7b0 {
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.more-images.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
gap: 12rpx;
|
||||
margin-top: 12rpx;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.more-item.data-v-47b8e7b0 {
|
||||
width: 80rpx;
|
||||
height: 80rpx;
|
||||
border-radius: 8rpx;
|
||||
overflow: hidden;
|
||||
border: 2rpx solid #386641;
|
||||
}
|
||||
.more-item image.data-v-47b8e7b0 {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.upload-btn-single.data-v-47b8e7b0 {
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border: 2rpx dashed #386641;
|
||||
border-radius: 12rpx;
|
||||
background: #fffaf5;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
.upload-btn-single.data-v-47b8e7b0:active {
|
||||
background: #fff4e6;
|
||||
border-color: #386641;
|
||||
}
|
||||
.upload-btn.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 60rpx 40rpx;
|
||||
border: 2rpx dashed #386641;
|
||||
border-radius: 12rpx;
|
||||
background: #fffaf5;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
.upload-btn.data-v-47b8e7b0:active {
|
||||
background: #fff4e6;
|
||||
border-color: #386641;
|
||||
}
|
||||
.upload-icon.data-v-47b8e7b0 {
|
||||
font-size: 80rpx;
|
||||
margin-bottom: 16rpx;
|
||||
}
|
||||
.upload-text.data-v-47b8e7b0 {
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
}
|
||||
.upload-tip.data-v-47b8e7b0 {
|
||||
font-size: 24rpx;
|
||||
color: #cccccc;
|
||||
margin-top: 8rpx;
|
||||
}
|
||||
.form-label-tip.data-v-47b8e7b0 {
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
margin-bottom: 16rpx;
|
||||
display: block;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.image-preview.data-v-47b8e7b0 {
|
||||
position: relative;
|
||||
border-radius: 12rpx;
|
||||
overflow: hidden;
|
||||
border: 2rpx solid #386641;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.preview-image.data-v-47b8e7b0 {
|
||||
width: 200rpx;
|
||||
height: 200rpx;
|
||||
display: block;
|
||||
}
|
||||
.image-actions.data-v-47b8e7b0 {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
padding: 12rpx;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
gap: 8rpx;
|
||||
}
|
||||
.action-btn.data-v-47b8e7b0 {
|
||||
padding: 8rpx 16rpx;
|
||||
border-radius: 6rpx;
|
||||
font-size: 24rpx;
|
||||
color: #ffffff;
|
||||
background: rgba(255, 140, 0, 0.8);
|
||||
border: none;
|
||||
transition: all 0.2s;
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
}
|
||||
.action-btn.data-v-47b8e7b0:active {
|
||||
background: rgba(255, 140, 0, 1);
|
||||
}
|
||||
.action-btn.delete.data-v-47b8e7b0 {
|
||||
color: #ffffff;
|
||||
background: rgba(255, 77, 79, 0.8);
|
||||
}
|
||||
.action-btn.delete.data-v-47b8e7b0:active {
|
||||
background: rgba(255, 77, 79, 1);
|
||||
}
|
||||
|
||||
/* 多图片列表样式 */
|
||||
.image-list.data-v-47b8e7b0 {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 16rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.image-item.data-v-47b8e7b0 {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
padding-bottom: 100%;
|
||||
border-radius: 12rpx;
|
||||
overflow: hidden;
|
||||
border: 2rpx solid #386641;
|
||||
}
|
||||
.item-image.data-v-47b8e7b0 {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.delete-icon.data-v-47b8e7b0 {
|
||||
position: absolute;
|
||||
top: 8rpx;
|
||||
right: 8rpx;
|
||||
width: 48rpx;
|
||||
height: 48rpx;
|
||||
background: rgba(255, 77, 79, 0.9);
|
||||
color: #ffffff;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 40rpx;
|
||||
line-height: 1;
|
||||
font-weight: bold;
|
||||
z-index: 10;
|
||||
}
|
||||
.upload-btn-small.data-v-47b8e7b0 {
|
||||
width: 100%;
|
||||
padding-bottom: 100%;
|
||||
position: relative;
|
||||
border: 2rpx dashed #386641;
|
||||
border-radius: 12rpx;
|
||||
background: #fffaf5;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.upload-icon-small.data-v-47b8e7b0 {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
font-size: 60rpx;
|
||||
color: #386641;
|
||||
}
|
||||
.picker-input.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 24rpx;
|
||||
border: 2rpx solid #386641;
|
||||
border-radius: 12rpx;
|
||||
background: #fffaf5;
|
||||
font-size: 34rpx;
|
||||
line-height: 1.5;
|
||||
color: #333333;
|
||||
min-height: 80rpx;
|
||||
}
|
||||
.picker-icon.data-v-47b8e7b0 {
|
||||
font-size: 28rpx;
|
||||
color: #386641;
|
||||
margin-left: 12rpx;
|
||||
}
|
||||
.button-group.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
gap: 20rpx;
|
||||
margin-top: 40rpx;
|
||||
margin-bottom: 40rpx;
|
||||
padding: 0 20rpx;
|
||||
}
|
||||
.button-fixed.data-v-47b8e7b0 {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
padding: 12rpx 20rpx 16rpx 20rpx;
|
||||
background: #ffffff;
|
||||
box-shadow: 0 -4rpx 12rpx rgba(0, 0, 0, 0.1);
|
||||
z-index: 100;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.agreement-section.data-v-47b8e7b0 {
|
||||
margin-bottom: 16rpx;
|
||||
}
|
||||
.agreement-radio-group.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12rpx;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.radio-option.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8rpx;
|
||||
cursor: pointer;
|
||||
}
|
||||
.radio-icon.data-v-47b8e7b0 {
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
border: 2rpx solid #d9d9d9;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-shrink: 0;
|
||||
transition: all 0.2s;
|
||||
background: #ffffff;
|
||||
}
|
||||
.radio-icon.checked.data-v-47b8e7b0 {
|
||||
border-color: #52c41a;
|
||||
}
|
||||
.radio-dot.data-v-47b8e7b0 {
|
||||
width: 20rpx;
|
||||
height: 20rpx;
|
||||
border-radius: 50%;
|
||||
background: #52c41a;
|
||||
}
|
||||
.radio-label.data-v-47b8e7b0 {
|
||||
font-size: 28rpx;
|
||||
color: #333333;
|
||||
font-weight: 500;
|
||||
}
|
||||
.agreement-text.data-v-47b8e7b0 {
|
||||
font-size: 26rpx;
|
||||
color: #333333;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.agreement-link.data-v-47b8e7b0 {
|
||||
color: #1890ff;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.agreement-link.data-v-47b8e7b0:active {
|
||||
opacity: 0.7;
|
||||
}
|
||||
.btn.data-v-47b8e7b0 {
|
||||
width: 100%;
|
||||
padding: 10rpx;
|
||||
border-radius: 12rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: 600;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s;
|
||||
min-height: 72rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
.btn.data-v-47b8e7b0:active {
|
||||
transform: scale(0.98);
|
||||
}
|
||||
.btn.data-v-47b8e7b0:disabled {
|
||||
opacity: 0.6;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
.btn-cancel.data-v-47b8e7b0 {
|
||||
background: #f5f5f5;
|
||||
color: #666666;
|
||||
border: 2rpx solid #e8e8e8;
|
||||
}
|
||||
.btn-submit.data-v-47b8e7b0 {
|
||||
background: #389e0d;
|
||||
color: #ffffff;
|
||||
}
|
||||
.btn-submit.data-v-47b8e7b0:active:not(:disabled) {
|
||||
background: linear-gradient(135deg, #389e0d 0%, #237804 100%);
|
||||
}
|
||||
.date-picker-overlay.data-v-47b8e7b0 {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-end;
|
||||
z-index: 999;
|
||||
}
|
||||
.date-picker-container.data-v-47b8e7b0 {
|
||||
background: #ffffff;
|
||||
border-radius: 20rpx 20rpx 0 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
.date-picker-header.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 20rpx 30rpx;
|
||||
border-bottom: 2rpx solid #ffe4cc;
|
||||
}
|
||||
.date-btn-cancel.data-v-47b8e7b0,
|
||||
.date-btn-confirm.data-v-47b8e7b0 {
|
||||
font-size: 34rpx;
|
||||
color: #386641;
|
||||
font-weight: 600;
|
||||
}
|
||||
.date-picker-view.data-v-47b8e7b0 {
|
||||
height: 320rpx;
|
||||
}
|
||||
.picker-item.data-v-47b8e7b0 {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 50px;
|
||||
font-size: 34rpx;
|
||||
color: #333333;
|
||||
}
|
||||
Reference in New Issue
Block a user