修改并优化了一些功能及bug

This commit is contained in:
王利强
2026-05-14 13:45:46 +08:00
parent 805747d1d9
commit 2322fcf39a
51 changed files with 802 additions and 346 deletions

View File

@@ -149,7 +149,7 @@ const _sfc_main = {
};
const confirmHazard = () => {
if (hazardFileList.value.length === 0) {
common_vendor.index.showToast({ title: "请上传隐患图片/视频", icon: "none" });
common_vendor.index.showToast({ title: "请上传隐患图片", icon: "none" });
return;
}
if (!hazardFormData.title) {

File diff suppressed because one or more lines are too long

View File

@@ -33,6 +33,20 @@ const _sfc_main = {
const dataList = common_vendor.ref([]);
const pageNum = common_vendor.ref(1);
const pageSize = common_vendor.ref(20);
const statusTabs = common_vendor.ref([
{ label: "全部状态", value: 0, count: null },
{ label: "逾期未检", value: 1, count: null },
{ label: "严重逾期", value: 2, count: null },
{ label: "期限内待检", value: 3, count: null },
{ label: "逾期已完成", value: 4, count: null },
{ label: "按期已完成", value: 5, count: null }
]);
const activeStatusTab = common_vendor.ref(0);
const switchStatusTab = (index) => {
activeStatusTab.value = index;
pageNum.value = 1;
fetchData();
};
const formatDate = (timestamp) => {
const date = new Date(timestamp);
const year = date.getFullYear();
@@ -89,6 +103,10 @@ const _sfc_main = {
if (searchForm.deptName && searchForm.deptName.trim()) {
params.deptName = searchForm.deptName.trim();
}
const statusValue = statusTabs.value[activeStatusTab.value].value;
if (statusValue !== 0) {
params.inspectionStatus = statusValue;
}
const res = await request_api.getInspectionWarningList(params);
if (res.code === 0) {
if (res.data.statistics) {
@@ -102,7 +120,7 @@ const _sfc_main = {
}
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/Inspectionwarning/Inspectionwarning.vue:255", "获取预警列表失败:", error);
common_vendor.index.__f__("error", "at pages/Inspectionwarning/Inspectionwarning.vue:277", "获取预警列表失败:", error);
}
};
const handleSearch = () => {
@@ -114,64 +132,66 @@ const _sfc_main = {
});
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.f(_ctx.warningList, (item, index, i0) => {
return {
a: common_vendor.t(item.name),
b: _ctx.activeIndex === index ? 1 : "",
c: index,
d: common_vendor.o(($event) => _ctx.switchTab(index), index)
};
}),
b: common_assets._imports_0$1,
c: common_vendor.t(searchForm.startDate || "请选择"),
d: common_vendor.n(searchForm.startDate ? "date-value" : "date-placeholder"),
e: common_vendor.o(($event) => showStartDatePicker.value = true),
f: common_vendor.o(onStartDateConfirm),
a: common_assets._imports_0$1,
b: common_vendor.t(searchForm.startDate || "请选择"),
c: common_vendor.n(searchForm.startDate ? "date-value" : "date-placeholder"),
d: common_vendor.o(($event) => showStartDatePicker.value = true),
e: common_vendor.o(onStartDateConfirm),
f: common_vendor.o(($event) => showStartDatePicker.value = false),
g: common_vendor.o(($event) => showStartDatePicker.value = false),
h: common_vendor.o(($event) => showStartDatePicker.value = false),
i: common_vendor.o(($event) => startDateValue.value = $event),
j: common_vendor.p({
h: common_vendor.o(($event) => startDateValue.value = $event),
i: common_vendor.p({
show: showStartDatePicker.value,
mode: "date",
modelValue: startDateValue.value
}),
k: common_vendor.t(searchForm.endDate || "请选择"),
l: common_vendor.n(searchForm.endDate ? "date-value" : "date-placeholder"),
m: common_vendor.o(($event) => showEndDatePicker.value = true),
n: common_vendor.o(onEndDateConfirm),
j: common_vendor.t(searchForm.endDate || "请选择"),
k: common_vendor.n(searchForm.endDate ? "date-value" : "date-placeholder"),
l: common_vendor.o(($event) => showEndDatePicker.value = true),
m: common_vendor.o(onEndDateConfirm),
n: common_vendor.o(($event) => showEndDatePicker.value = false),
o: common_vendor.o(($event) => showEndDatePicker.value = false),
p: common_vendor.o(($event) => showEndDatePicker.value = false),
q: common_vendor.o(($event) => endDateValue.value = $event),
r: common_vendor.p({
p: common_vendor.o(($event) => endDateValue.value = $event),
q: common_vendor.p({
show: showEndDatePicker.value,
mode: "date",
modelValue: endDateValue.value
}),
s: common_vendor.o(($event) => searchForm.deptName = $event),
t: common_vendor.p({
r: common_vendor.o(($event) => searchForm.deptName = $event),
s: common_vendor.p({
placeholder: "请输入公司名称",
border: "surround",
modelValue: searchForm.deptName
}),
v: common_vendor.o(handleSearch),
w: common_assets._imports_1,
x: common_vendor.t(statistics.total),
y: common_vendor.t(statistics.overdue),
z: common_vendor.t(statistics.completed),
A: common_vendor.t(statistics.pending),
t: common_vendor.o(handleSearch),
v: common_assets._imports_1,
w: common_vendor.t(statistics.total),
x: common_vendor.t(statistics.overdue),
y: common_vendor.t(statistics.completed),
z: common_vendor.t(statistics.pending),
A: common_vendor.f(statusTabs.value, (tab, index, i0) => {
return common_vendor.e({
a: common_vendor.t(tab.label),
b: common_vendor.t(tab.count != null ? tab.count : ""),
c: activeStatusTab.value === index
}, activeStatusTab.value === index ? {} : {}, {
d: index,
e: activeStatusTab.value === index ? 1 : "",
f: common_vendor.o(($event) => switchStatusTab(index), index)
});
}),
B: common_vendor.f(dataList.value, (item, index, i0) => {
return {
a: common_vendor.t(getStatusText(item.overdueDays, item.statusName)),
b: common_vendor.n(getStatusClass(item.overdueDays)),
c: common_vendor.t(index + 1),
d: common_vendor.t(item.deptName || "-"),
e: common_vendor.t(item.planName || "-"),
f: common_vendor.t(item.cycleName || "-"),
g: common_vendor.t(item.taskDate || "-"),
h: common_vendor.t(item.finishTime || "未完成"),
i: common_vendor.t(item.executorName || "-"),
j: common_vendor.t(item.overdueDays || "-"),
k: item.id
a: common_vendor.t(item.deptName || "-"),
b: common_vendor.t(getStatusText(item.overdueDays, item.statusName)),
c: common_vendor.n(getStatusClass(item.overdueDays)),
d: common_vendor.t(item.planName || "-"),
e: common_vendor.t(item.cycleName || "-"),
f: common_vendor.t(item.taskDate || "-"),
g: common_vendor.t(item.finishTime || "未完成"),
h: common_vendor.t(item.executorName || "-"),
i: common_vendor.t(item.overdueDays || "-"),
j: item.id
};
}),
C: dataList.value.length === 0

File diff suppressed because one or more lines are too long

View File

@@ -120,17 +120,38 @@
margin-right: 12rpx;
}
.list-card.data-v-00b99536 {
position: relative;
background: #FFFFFF;
box-shadow: 0rpx 2rpx 10rpx rgba(0, 0, 0, 0.08);
border-left: 8rpx solid #2667E9;
border-radius: 16rpx;
padding: 30rpx;
padding: 0;
margin-bottom: 20rpx;
overflow: hidden;
}
.list-card .card-header.data-v-00b99536 {
margin-bottom: 20rpx;
.list-card .card-title-row.data-v-00b99536 {
display: flex;
justify-content: space-between;
align-items: center;
background: linear-gradient(135deg, #4A7CF7 0%, #2667E9 100%);
padding: 24rpx 30rpx;
}
.list-card .card-company-name.data-v-00b99536 {
font-size: 32rpx;
font-weight: bold;
color: #fff;
flex: 1;
margin-right: 16rpx;
}
.list-card .card-status-tag.data-v-00b99536 {
padding: 8rpx 24rpx;
border-radius: 8rpx;
white-space: nowrap;
flex-shrink: 0;
font-size: 24rpx;
color: #fff;
font-weight: 500;
}
.list-card .card-body.data-v-00b99536 {
padding: 30rpx;
}
.list-card .card-row.data-v-00b99536 {
display: flex;
@@ -138,6 +159,9 @@
font-size: 28rpx;
line-height: 1.5;
}
.list-card .card-row.data-v-00b99536:first-of-type {
margin-top: 0;
}
.list-card .card-row .row-label.data-v-00b99536 {
color: #999;
white-space: nowrap;
@@ -147,23 +171,6 @@
color: #333;
word-break: break-all;
}
.status-tag.data-v-00b99536 {
position: absolute;
top: 0;
right: 0;
width: 160rpx;
height: 50rpx;
display: flex;
align-items: center;
justify-content: center;
transform: rotate(0deg);
border-radius: 0 16rpx 0 16rpx;
}
.status-tag .status-text.data-v-00b99536 {
font-size: 22rpx;
color: #fff;
font-weight: 500;
}
.status-serious.data-v-00b99536 {
background: linear-gradient(135deg, #FF6B6B 0%, #EE5A5A 100%);
}
@@ -181,4 +188,42 @@
padding: 100rpx 0;
color: #999;
font-size: 28rpx;
}
.status-tabs.data-v-00b99536 {
white-space: nowrap;
background: #fff;
border-radius: 16rpx;
margin-bottom: 20rpx;
padding: 0 10rpx;
}
.status-tabs-inner.data-v-00b99536 {
display: inline-flex;
align-items: center;
height: 88rpx;
white-space: nowrap;
}
.status-tab-item.data-v-00b99536 {
display: inline-flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0 24rpx;
height: 88rpx;
position: relative;
}
.status-tab-text.data-v-00b99536 {
font-size: 26rpx;
color: #666;
}
.status-tab-active .status-tab-text.data-v-00b99536 {
color: #2667E9;
font-weight: bold;
}
.status-tab-bar.data-v-00b99536 {
position: absolute;
bottom: 8rpx;
width: 40rpx;
height: 6rpx;
background: #2667E9;
border-radius: 3rpx;
}

View File

@@ -61,6 +61,7 @@ const _sfc_main = {
const submitData = {
name: formData.name,
color: formData.color
// enterpriseId: userInfo.deptId
};
let res;
if (isEdit.value) {
@@ -78,7 +79,7 @@ const _sfc_main = {
loadAreaList();
}
} catch (err) {
common_vendor.index.__f__("error", "at pages/area/management.vue:144", "提交失败:", err);
common_vendor.index.__f__("error", "at pages/area/management.vue:152", "提交失败:", err);
common_vendor.index.showToast({ title: "操作失败", icon: "none" });
} finally {
submitting.value = false;
@@ -98,7 +99,7 @@ const _sfc_main = {
loadAreaList();
}
} catch (err) {
common_vendor.index.__f__("error", "at pages/area/management.vue:166", "删除失败:", err);
common_vendor.index.__f__("error", "at pages/area/management.vue:174", "删除失败:", err);
common_vendor.index.showToast({ title: "删除失败", icon: "none" });
}
}

View File

@@ -1 +1 @@
<view class="{{['padding', 'page', 'data-v-847f15e8', virtualHostClass]}}" style="{{virtualHostStyle}}" hidden="{{virtualHostHidden || false}}" id="{{h}}"><view wx:if="{{a}}" class="area-list data-v-847f15e8"><view wx:for="{{b}}" wx:for-item="item" wx:key="f" class="padding bg-white radius margin-bottom data-v-847f15e8"><view class="flex justify-between data-v-847f15e8"><view class="data-v-847f15e8"><view class="text-bold text-black data-v-847f15e8">{{item.a}}</view><view class="margin-top flex align-center data-v-847f15e8"><text class="data-v-847f15e8">颜色:</text><view class="color-dot data-v-847f15e8" style="{{'background-color:' + item.b}}"></view><text class="margin-left-xs data-v-847f15e8">{{item.c}}</text></view></view><view class="data-v-847f15e8"><button class="bg-blue cu-btn data-v-847f15e8" bindtap="{{item.d}}">编辑</button><button class="bg-red cu-btn margin-left data-v-847f15e8" bindtap="{{item.e}}">删除</button></view></view></view></view><view wx:else class="empty-state data-v-847f15e8"><text class="text-gray data-v-847f15e8">暂无区域数据</text></view><button class="add-btn cuIcon-add bg-blue round data-v-847f15e8" bindtap="{{c}}">新增公司区域</button><area-form-popup wx:if="{{g}}" class="data-v-847f15e8" virtualHostClass="data-v-847f15e8" bindsubmit="{{d}}" bindclose="{{e}}" u-i="847f15e8-0" bind:__l="__l" bindupdateVisible="{{f}}" u-p="{{g}}"/></view>
<view class="{{['padding', 'page', 'data-v-847f15e8', virtualHostClass]}}" style="{{virtualHostStyle}}" hidden="{{virtualHostHidden || false}}" id="{{h}}"><view wx:if="{{a}}" class="area-list data-v-847f15e8"><view wx:for="{{b}}" wx:for-item="item" wx:key="f" class="padding bg-white radius margin-bottom data-v-847f15e8"><view class="flex justify-between data-v-847f15e8"><view class="data-v-847f15e8"><view class="text-bold text-black data-v-847f15e8">{{item.a}}</view><view class="margin-top flex align-center data-v-847f15e8"><text class="data-v-847f15e8">颜色:</text><view class="color-dot data-v-847f15e8" style="{{'background-color:' + item.b}}"></view><text class="margin-left-xs data-v-847f15e8">{{item.c}}</text></view></view><view class="data-v-847f15e8"><button class="bg-blue cu-btn data-v-847f15e8" bindtap="{{item.d}}">编辑</button><button class="bg-red cu-btn margin-left data-v-847f15e8" bindtap="{{item.e}}">删除</button></view></view></view></view><view wx:else class="empty-state data-v-847f15e8"><text class="text-gray data-v-847f15e8">暂无区域数据</text></view><button class="add-btn bg-blue round data-v-847f15e8" bindtap="{{c}}">新增公司区域</button><area-form-popup wx:if="{{g}}" class="data-v-847f15e8" virtualHostClass="data-v-847f15e8" bindsubmit="{{d}}" bindclose="{{e}}" u-i="847f15e8-0" bind:__l="__l" bindupdateVisible="{{f}}" u-p="{{g}}"/></view>

View File

@@ -1 +1 @@
<view class="{{['page', 'padding', 'data-v-4d00090a', virtualHostClass]}}" style="{{virtualHostStyle}}" hidden="{{virtualHostHidden || false}}" id="{{d}}"><view wx:for="{{a}}" wx:for-item="item" wx:key="b" class="checklist-card data-v-4d00090a"><view class="card-name data-v-4d00090a">{{item.a}}</view></view><view wx:if="{{b}}" class="empty-tip data-v-4d00090a"><text class="data-v-4d00090a">暂无检查表</text></view><button class="add-btn data-v-4d00090a" bindtap="{{c}}"><text class="cuIcon-add data-v-4d00090a"></text><text class="data-v-4d00090a">新增检查表</text></button></view>
<view class="{{['page', 'padding', 'data-v-4d00090a', virtualHostClass]}}" style="{{virtualHostStyle}}" hidden="{{virtualHostHidden || false}}" id="{{d}}"><view wx:for="{{a}}" wx:for-item="item" wx:key="b" class="checklist-card data-v-4d00090a"><view class="card-name data-v-4d00090a">{{item.a}}</view></view><view wx:if="{{b}}" class="empty-tip data-v-4d00090a"><text class="data-v-4d00090a">暂无检查表</text></view><button class="add-btn data-v-4d00090a" bindtap="{{c}}"><text class="data-v-4d00090a">新增检查表</text></button></view>

View File

@@ -244,6 +244,18 @@ const _sfc_main = {
url: "/pages/closeout/editor"
});
};
const getStatusClass = (status) => {
switch (status) {
case "待审核":
return "status-pending";
case "已通过":
return "status-passed";
case "已驳回":
return "status-rejected";
default:
return "status-pending";
}
};
common_vendor.onMounted(() => {
fetchWriteOffList();
});
@@ -252,13 +264,14 @@ const _sfc_main = {
a: common_vendor.f(hazardList.value, (item, index, i0) => {
return {
a: common_vendor.t(item.hazardTitle),
b: common_vendor.t(item.statusName),
c: common_vendor.t(item.hazardCreatedAt),
d: common_vendor.t(item.responsibleDeptName),
e: common_vendor.t(item.responsiblePerson),
f: common_vendor.t(item.createdAt),
g: common_vendor.o(($event) => editor(), index),
h: index
b: common_vendor.t(item.verifyResultName || "未知"),
c: common_vendor.n(getStatusClass(item.verifyResultName)),
d: common_vendor.t(item.hazardCreatedAt),
e: common_vendor.t(item.responsibleDeptName),
f: common_vendor.t(item.responsiblePerson),
g: common_vendor.t(item.createdAt),
h: common_vendor.o(($event) => editor(), index),
i: index
};
}),
b: common_vendor.o(openAddPopup),

File diff suppressed because one or more lines are too long

View File

@@ -28,6 +28,29 @@
min-height: 100vh;
background: #EBF2FC;
}
.status-tag.data-v-4b6250eb {
padding: 4rpx 16rpx;
border-radius: 6rpx;
font-size: 22rpx;
white-space: nowrap;
flex-shrink: 0;
font-weight: 500;
height: 40rpx;
line-height: 40rpx;
align-self: flex-start;
}
.status-pending.data-v-4b6250eb {
background: #FFF7E6;
color: #FA8C16;
}
.status-passed.data-v-4b6250eb {
background: #F6FFED;
color: #52C41A;
}
.status-rejected.data-v-4b6250eb {
background: #FFF1F0;
color: #F5222D;
}
.popup-content.data-v-4b6250eb {
width: 600rpx;
background: #fff;

View File

@@ -195,11 +195,21 @@ const _sfc_main = {
return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
};
const onStartDateConfirm = (e) => {
formData.startDate = formatDateTime(e.value);
const selectedDate = formatDateTime(e.value);
if (formData.endDate && new Date(selectedDate) > new Date(formData.endDate)) {
common_vendor.index.showToast({ title: "开始时间不能晚于结束时间", icon: "none" });
return;
}
formData.startDate = selectedDate;
showStartDatePicker.value = false;
};
const onEndDateConfirm = (e) => {
formData.endDate = formatDateTime(e.value);
const selectedDate = formatDateTime(e.value);
if (formData.startDate && new Date(selectedDate) < new Date(formData.startDate)) {
common_vendor.index.showToast({ title: "结束时间不能早于开始时间", icon: "none" });
return;
}
formData.endDate = selectedDate;
showEndDatePicker.value = false;
};
const manualCheckItems = common_vendor.ref([]);
@@ -228,7 +238,7 @@ const _sfc_main = {
}
} catch (error) {
common_vendor.index.hideLoading();
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:669", "删除检查项失败:", error);
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:681", "删除检查项失败:", error);
common_vendor.index.showToast({ title: "删除失败", icon: "none" });
}
} else {
@@ -304,7 +314,7 @@ const _sfc_main = {
hasMoreLaw.value = lawList.value.length < total;
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:756", "获取法规列表失败:", error);
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:768", "获取法规列表失败:", error);
} finally {
lawLoading.value = false;
}
@@ -384,7 +394,7 @@ const _sfc_main = {
}
} catch (error) {
common_vendor.index.hideLoading();
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:856", "添加检查项失败:", error);
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:868", "添加检查项失败:", error);
common_vendor.index.showToast({ title: "添加失败", icon: "none" });
}
};
@@ -433,7 +443,7 @@ const _sfc_main = {
hasMoreLibrary.value = libraryList.value.length < total;
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:916", "获取检查库列表失败:", error);
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:928", "获取检查库列表失败:", error);
} finally {
libraryLoading.value = false;
}
@@ -486,7 +496,7 @@ const _sfc_main = {
selectedLibraries.value = [];
} catch (error) {
common_vendor.index.hideLoading();
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:981", "获取检查库详情失败:", error);
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:993", "获取检查库详情失败:", error);
common_vendor.index.showToast({ title: "添加失败", icon: "none" });
}
};
@@ -519,6 +529,10 @@ const _sfc_main = {
common_vendor.index.showToast({ title: "请选择计划时间", icon: "none" });
return;
}
if (new Date(formData.endDate) < new Date(formData.startDate)) {
common_vendor.index.showToast({ title: "结束时间不能早于开始时间", icon: "none" });
return;
}
const items = [];
manualCheckItems.value.forEach((item) => {
if (item.id) {
@@ -528,8 +542,8 @@ const _sfc_main = {
checkItems.value.forEach((lib) => {
if (lib.details && lib.details.length > 0) {
lib.details.forEach((detail) => {
if (detail.pointId) {
items.push(detail.pointId);
if (detail.itemId) {
items.push(detail.itemId);
}
});
}
@@ -586,7 +600,7 @@ const _sfc_main = {
}
} catch (error) {
common_vendor.index.hideLoading();
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:1101", "保存失败:", error);
common_vendor.index.__f__("error", "at pages/editchecklist/editchecklist.vue:1117", "保存失败:", error);
common_vendor.index.showToast({ title: "保存失败", icon: "none" });
}
};

View File

@@ -1,5 +1,5 @@
{
"navigationBarTitleText": "编辑检查表",
"navigationBarTitleText": "添加检查表",
"usingComponents": {
"up-input": "../../uni_modules/uview-plus/components/u-input/u-input",
"up-picker": "../../uni_modules/uview-plus/components/u-picker/u-picker",

View File

@@ -34,10 +34,10 @@ const _sfc_main = {
if (userInfoStr) {
const userInfo = JSON.parse(userInfoStr);
userRole.value = userInfo.role || "";
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:211", "当前用户角色:", userRole.value);
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:224", "当前用户角色:", userRole.value);
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:214", "获取用户信息失败:", error);
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:227", "获取用户信息失败:", error);
}
};
getUserRole();
@@ -55,7 +55,7 @@ const _sfc_main = {
}
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:239", "获取任务信息失败:", error);
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:252", "获取任务信息失败:", error);
}
};
common_vendor.onLoad((options) => {
@@ -91,7 +91,7 @@ const _sfc_main = {
areaList.value = res.data.records;
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:283", "获取区域列表失败:", error);
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:296", "获取区域列表失败:", error);
}
};
fetchAreaList();
@@ -104,26 +104,26 @@ const _sfc_main = {
showAreaPicker.value = false;
};
const chooseLocation = () => {
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:299", "chooseLocation called");
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:312", "chooseLocation called");
showAddPopup.value = false;
setTimeout(() => {
common_vendor.index.getLocation({
type: "gcj02",
// 使用国测局坐标系(腾讯地图使用)
success: (locationRes) => {
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:308", "获取当前位置成功:", locationRes);
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:321", "获取当前位置成功:", locationRes);
common_vendor.index.chooseLocation({
latitude: locationRes.latitude,
longitude: locationRes.longitude,
success: (res) => {
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:314", "选择位置成功:", res);
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:327", "选择位置成功:", res);
selectedAddress.value = res.address + (res.name ? `(${res.name})` : "");
lng.value = res.longitude;
lat.value = res.latitude;
showAddPopup.value = true;
},
fail: (err) => {
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:323", "选择位置失败:", err);
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:336", "选择位置失败:", err);
showAddPopup.value = true;
if (err.errMsg && err.errMsg.indexOf("cancel") === -1) {
common_vendor.index.showToast({
@@ -135,17 +135,17 @@ const _sfc_main = {
});
},
fail: (err) => {
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:337", "获取当前位置失败:", err);
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:350", "获取当前位置失败:", err);
common_vendor.index.chooseLocation({
success: (res) => {
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:341", "选择位置成功:", res);
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:354", "选择位置成功:", res);
selectedAddress.value = res.address + (res.name ? `(${res.name})` : "");
lng.value = res.longitude;
lat.value = res.latitude;
showAddPopup.value = true;
},
fail: (chooseErr) => {
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:348", "选择位置失败:", chooseErr);
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:361", "选择位置失败:", chooseErr);
showAddPopup.value = true;
if (chooseErr.errMsg && chooseErr.errMsg.indexOf("cancel") === -1) {
common_vendor.index.showToast({
@@ -187,7 +187,7 @@ const _sfc_main = {
});
const selectedTag = tagOptions.value[formData.tagIndex];
const tagId = selectedTag ? selectedTag.id : null;
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:395", "innnn", sourceOptions);
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:408", "innnn", sourceOptions);
const params = {
title: formData.title,
//标题
@@ -214,7 +214,7 @@ const _sfc_main = {
attachments
//附件列表(图片/视频)
};
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:413", "提交的参数:", params);
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:426", "提交的参数:", params);
try {
const res = await request_api.addHiddenDanger(params);
if (res.code === 0) {
@@ -239,7 +239,7 @@ const _sfc_main = {
});
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:441", error);
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:454", error);
common_vendor.index.showToast({
title: "请求失败",
icon: "none"
@@ -259,7 +259,7 @@ const _sfc_main = {
});
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:462", error);
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:475", error);
common_vendor.index.showToast({
title: "请求失败",
icon: "none"
@@ -341,7 +341,7 @@ const _sfc_main = {
}
},
fail: (err) => {
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:558", "上传失败:", err);
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:571", "上传失败:", err);
reject(err);
}
});
@@ -359,14 +359,14 @@ const _sfc_main = {
const fullImageUrl = imageFiles[0].url;
aiAnalyzing.value = true;
try {
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:580", "开始调用AI分析接口图片地址:", fullImageUrl);
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:593", "开始调用AI分析接口图片地址:", fullImageUrl);
const analyzeRes = await request_api.analyzeHazardImage({
// imageUrl: 'https://yx.zhihuixiangxi.com:58880/1.png' ,
imageUrl: fullImageUrl
});
if (analyzeRes.code === 0 && analyzeRes.data) {
const aiData = analyzeRes.data;
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:588", "AI分析结果:", aiData);
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:601", "AI分析结果:", aiData);
if (aiData.title)
formData.title = aiData.title;
if (aiData.description)
@@ -388,7 +388,7 @@ const _sfc_main = {
common_vendor.index.showToast({ title: analyzeRes.msg || "AI分析失败", icon: "none" });
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:611", "AI分析接口调用失败:", error);
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:624", "AI分析接口调用失败:", error);
common_vendor.index.showToast({ title: "AI分析失败请重试", icon: "none" });
} finally {
aiAnalyzing.value = false;
@@ -410,7 +410,7 @@ const _sfc_main = {
});
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:634", error);
common_vendor.index.__f__("error", "at pages/hiddendanger/Inspection.vue:647", error);
common_vendor.index.showToast({
title: "请求失败",
icon: "none"
@@ -452,16 +452,43 @@ const _sfc_main = {
]);
common_vendor.watch(() => formData.source, (newVal) => {
const selected = sourceOptions.value[newVal];
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:680", "隐患来源选择结果:", {
common_vendor.index.__f__("log", "at pages/hiddendanger/Inspection.vue:693", "隐患来源选择结果:", {
索引: newVal,
选中项: selected,
id: selected == null ? void 0 : selected.id,
title: selected == null ? void 0 : selected.title
});
});
const statusTabs = common_vendor.ref([
{ label: "全部状态", value: "" },
{ label: "待验收", value: "待验收" },
{ label: "待整改", value: "待整改" },
{ label: "待交办", value: "待交办" },
{ label: "验收通过", value: "验收通过" }
]);
const activeTab = common_vendor.ref(0);
const filteredList = common_vendor.computed(() => {
const currentTab = statusTabs.value[activeTab.value];
if (!currentTab || !currentTab.value) {
return hiddenDangerList.value;
}
return hiddenDangerList.value.filter((item) => item.statusName === currentTab.value);
});
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.f(hiddenDangerList.value, (item, k0, i0) => {
a: common_vendor.f(statusTabs.value, (tab, index, i0) => {
return common_vendor.e({
a: common_vendor.t(tab.label),
b: activeTab.value === index
}, activeTab.value === index ? {} : {}, {
c: index,
d: activeTab.value === index ? 1 : "",
e: common_vendor.o(($event) => activeTab.value = index, index)
});
}),
b: filteredList.value.length === 0
}, filteredList.value.length === 0 ? {} : {}, {
c: common_vendor.f(filteredList.value, (item, k0, i0) => {
return common_vendor.e({
a: common_vendor.t(item.title),
b: common_vendor.t(item.statusName),
@@ -495,78 +522,78 @@ const _sfc_main = {
t: item.hazardId
});
}),
b: common_vendor.o(($event) => showAddPopup.value = true),
c: common_vendor.o(($event) => showAddPopup.value = false),
d: common_vendor.o(afterRead),
e: common_vendor.o(deletePic),
f: common_vendor.p({
d: common_vendor.o(($event) => showAddPopup.value = true),
e: common_vendor.o(($event) => showAddPopup.value = false),
f: common_vendor.o(afterRead),
g: common_vendor.o(deletePic),
h: common_vendor.p({
fileList: fileList1.value,
name: "1",
multiple: true,
maxCount: 10
}),
g: !aiAnalyzing.value
i: !aiAnalyzing.value
}, !aiAnalyzing.value ? {} : {}, {
h: common_vendor.t(aiAnalyzing.value ? "AI识别中..." : "AI 识别隐患"),
i: aiAnalyzing.value,
j: aiAnalyzing.value,
k: common_vendor.o(handleAiAnalyze),
l: common_vendor.o(($event) => formData.title = $event),
m: common_vendor.p({
j: common_vendor.t(aiAnalyzing.value ? "AI识别中..." : "AI 识别隐患"),
k: aiAnalyzing.value,
l: aiAnalyzing.value,
m: common_vendor.o(handleAiAnalyze),
n: common_vendor.o(($event) => formData.title = $event),
o: common_vendor.p({
placeholder: "请输入内容",
border: "surround",
modelValue: formData.title
}),
n: common_vendor.sr(levelChooseRef, "b44c631d-3,b44c631d-0", {
p: common_vendor.sr(levelChooseRef, "b44c631d-3,b44c631d-0", {
"k": "levelChooseRef"
}),
o: common_vendor.o(($event) => formData.level = $event),
p: common_vendor.p({
q: common_vendor.o(($event) => formData.level = $event),
r: common_vendor.p({
options: levelOptions.value,
wrap: false,
["item-width"]: "183rpx",
["item-height"]: "72rpx",
modelValue: formData.level
}),
q: common_vendor.o(($event) => formData.source = $event),
r: common_vendor.p({
s: common_vendor.o(($event) => formData.source = $event),
t: common_vendor.p({
options: sourceOptions.value,
wrap: false,
["item-width"]: "183rpx",
["item-height"]: "72rpx",
modelValue: formData.source
}),
s: common_vendor.o(($event) => selectedAddress.value = $event),
t: common_vendor.p({
v: common_vendor.o(($event) => selectedAddress.value = $event),
w: common_vendor.p({
placeholder: "请输入地址",
border: "surround",
modelValue: selectedAddress.value
}),
v: common_vendor.o(chooseLocation),
w: common_vendor.t(selectedAreaName.value || "请选择隐患区域"),
x: !selectedAreaName.value ? 1 : "",
y: common_vendor.o(($event) => showAreaPicker.value = true),
z: common_vendor.o(($event) => formData.description = $event),
A: common_vendor.p({
x: common_vendor.o(chooseLocation),
y: common_vendor.t(selectedAreaName.value || "请选择隐患区域"),
z: !selectedAreaName.value ? 1 : "",
A: common_vendor.o(($event) => showAreaPicker.value = true),
B: common_vendor.o(($event) => formData.description = $event),
C: common_vendor.p({
placeholder: "请输入内容",
modelValue: formData.description
}),
B: common_vendor.o(($event) => formData.tagIndex = $event),
C: common_vendor.p({
D: common_vendor.o(($event) => formData.tagIndex = $event),
E: common_vendor.p({
options: tagOptions.value,
modelValue: formData.tagIndex
}),
D: common_vendor.o(($event) => showAddPopup.value = false),
E: common_vendor.o(handleAdd),
F: common_vendor.o(($event) => showAddPopup.value = false),
G: common_vendor.p({
G: common_vendor.o(handleAdd),
H: common_vendor.o(($event) => showAddPopup.value = false),
I: common_vendor.p({
show: showAddPopup.value,
mode: "center",
round: "20"
}),
H: common_vendor.o(($event) => showAreaPicker.value = false),
I: common_vendor.o(confirmAreaSelect),
J: common_vendor.f(areaList.value, (item, k0, i0) => {
J: common_vendor.o(($event) => showAreaPicker.value = false),
K: common_vendor.o(confirmAreaSelect),
L: common_vendor.f(areaList.value, (item, k0, i0) => {
return common_vendor.e({
a: item.color,
b: common_vendor.t(item.name),
@@ -577,15 +604,15 @@ const _sfc_main = {
f: common_vendor.o(($event) => tempAreaId.value = item.id, item.id)
});
}),
K: areaList.value.length === 0
M: areaList.value.length === 0
}, areaList.value.length === 0 ? {} : {}, {
L: common_vendor.o(($event) => showAreaPicker.value = false),
M: common_vendor.p({
N: common_vendor.o(($event) => showAreaPicker.value = false),
O: common_vendor.p({
show: showAreaPicker.value,
mode: "bottom",
round: "20"
}),
N: common_vendor.gei(_ctx, "")
P: common_vendor.gei(_ctx, "")
});
};
}

File diff suppressed because one or more lines are too long

View File

@@ -27,6 +27,7 @@
.page.data-v-b44c631d {
min-height: 100vh;
background: #EBF2FC;
padding-top: 100rpx;
padding-bottom: 120rpx;
}
.fixed-add-btn.data-v-b44c631d {
@@ -60,6 +61,8 @@
.level-tag.data-v-b44c631d {
padding: 4rpx 16rpx;
border-radius: 8rpx;
white-space: nowrap;
flex-shrink: 0;
}
.level-minor.data-v-b44c631d {
background: #F6FFED;
@@ -272,6 +275,47 @@
background: #EBF2FC;
color: #2667E9;
}
.status-tabs.data-v-b44c631d {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 99;
white-space: nowrap;
background: #fff;
padding: 0 10rpx;
box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.06);
}
.status-tabs-inner.data-v-b44c631d {
display: inline-flex;
align-items: center;
height: 88rpx;
}
.status-tab-item.data-v-b44c631d {
display: inline-flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0 28rpx;
height: 88rpx;
position: relative;
}
.status-tab-text.data-v-b44c631d {
font-size: 28rpx;
color: #666;
}
.status-tab-active .status-tab-text.data-v-b44c631d {
color: #2667E9;
font-weight: bold;
}
.status-tab-bar.data-v-b44c631d {
position: absolute;
bottom: 8rpx;
width: 40rpx;
height: 6rpx;
background: #2667E9;
border-radius: 3rpx;
}
/**
* 这里是uni-app内置的常用样式变量
*

View File

@@ -70,7 +70,7 @@ const _sfc_main = {
}
}
};
const infoList = common_vendor.ref([
const allMenuList = [
{
name: "成员管理",
src: "/static/home_icon/chengyuangaunli.png"
@@ -87,10 +87,10 @@ const _sfc_main = {
name: "检查清单",
src: "/static/home_icon/jiachaqingdan.png"
},
{
name: "检查记录",
src: "/static/home_icon/jianchajilu.png"
},
// {
// name: '检查记录',
// src: '/static/home_icon/jianchajilu.png'
// },
{
name: "证件管理",
src: "/static/home_icon/zhengjianguanli.png"
@@ -103,12 +103,14 @@ const _sfc_main = {
name: "隐患销号",
src: "/static/home_icon/yinhuanxiaohao.png"
}
// ,
// {
// name: '设备登记',
// src: '/static/home_icon/shebeidengji.png'
// }
]);
];
const commonMenuNames = ["隐患排查", "隐患销号"];
const infoList = common_vendor.computed(() => {
if (userInfo.role === "common") {
return allMenuList.filter((item) => commonMenuNames.includes(item.name));
}
return allMenuList;
});
const ViewDetails = (item) => {
common_vendor.index.navigateTo({
url: `/pages/plandetail/plandetail?id=${item.id}`
@@ -147,12 +149,12 @@ const _sfc_main = {
const getCheckPlanLists = async () => {
try {
const res = await request_api.getCheckPlanList(checkPlanParams.value);
common_vendor.index.__f__("log", "at pages/index/index.vue:331", res);
common_vendor.index.__f__("log", "at pages/index/index.vue:339", res);
if (res.code === 0) {
checkPlanData.value = res.data.records;
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/index/index.vue:336", error);
common_vendor.index.__f__("error", "at pages/index/index.vue:344", error);
} finally {
loading.value = false;
}
@@ -188,13 +190,13 @@ const _sfc_main = {
const getHiddenDangerLists = async () => {
try {
const res = await request_api.getHiddenDangerList(hiddenDangerParams.value);
common_vendor.index.__f__("log", "at pages/index/index.vue:388", res);
common_vendor.index.__f__("log", "at pages/index/index.vue:396", res);
if (res.code === 0) {
hiddenDangerData.value = res.data.records;
common_vendor.index.__f__("log", "at pages/index/index.vue:391", hiddenDangerData.value, 1111);
common_vendor.index.__f__("log", "at pages/index/index.vue:399", hiddenDangerData.value, 1111);
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/index/index.vue:394", error);
common_vendor.index.__f__("error", "at pages/index/index.vue:402", error);
} finally {
loading.value = false;
}

View File

@@ -225,6 +225,8 @@
.level-tag.data-v-1cf27b2a {
padding: 4rpx 16rpx;
border-radius: 8rpx;
white-space: nowrap;
flex-shrink: 0;
}
.level-minor.data-v-1cf27b2a {
background: #F6FFED;

View File

@@ -3,6 +3,14 @@ const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
const request_request = require("../../request/request.js");
const request_three_one_api_info = require("../../request/three_one_api/info.js");
if (!Array) {
const _easycom_u_navbar2 = common_vendor.resolveComponent("u-navbar");
_easycom_u_navbar2();
}
const _easycom_u_navbar = () => "../../uni_modules/uview-plus/components/u-navbar/u-navbar.js";
if (!Math) {
_easycom_u_navbar();
}
const defaultAvatar = "https://ossweb-img.qq.com/images/lol/web201310/skin/big99008.jpg";
const _sfc_main = {
__name: "my",
@@ -26,7 +34,7 @@ const _sfc_main = {
userInfo.phonenumber = res.data.phonenumber || "";
}
} catch (e) {
common_vendor.index.__f__("error", "at pages/personalcenter/my.vue:124", "获取用户信息失败:", e);
common_vendor.index.__f__("error", "at pages/personalcenter/my.vue:135", "获取用户信息失败:", e);
}
};
common_vendor.onShow(() => {
@@ -48,29 +56,40 @@ const _sfc_main = {
content: "确定要退出登录吗?",
success: function(res) {
if (res.confirm) {
common_vendor.index.__f__("log", "at pages/personalcenter/my.vue:170", "用户点击确定");
common_vendor.index.__f__("log", "at pages/personalcenter/my.vue:181", "用户点击确定");
common_vendor.index.clearStorageSync();
common_vendor.index.reLaunch({
url: "/pages/login/login"
});
} else if (res.cancel) {
common_vendor.index.__f__("log", "at pages/personalcenter/my.vue:176", "用户点击取消");
common_vendor.index.__f__("log", "at pages/personalcenter/my.vue:187", "用户点击取消");
}
}
});
};
return (_ctx, _cache) => {
return {
a: getImageUrl(userInfo.avatar) || defaultAvatar,
b: common_vendor.t(userInfo.nickName || "未设置昵称"),
c: common_vendor.t(userInfo.phonenumber || "未绑定手机"),
d: common_vendor.o(($event) => editinfo()),
a: common_vendor.p({
title: "我的",
placeholder: false,
fixed: false,
safeAreaInsetTop: true,
bgColor: "transparent",
titleColor: "#fff",
border: false,
leftIcon: ""
}),
b: getImageUrl(userInfo.avatar) || defaultAvatar,
c: common_vendor.t(userInfo.nickName || "未设置昵称"),
d: common_vendor.t(userInfo.phonenumber || "未绑定手机"),
e: common_assets._imports_0$2,
f: common_vendor.o(($event) => editinfo()),
g: common_assets._imports_1$1,
h: common_vendor.o(($event) => Account()),
i: common_vendor.o(($event) => handleLogout()),
j: common_vendor.gei(_ctx, "")
h: common_vendor.o(($event) => editinfo()),
i: common_assets._imports_2,
j: common_vendor.o(($event) => Account()),
k: common_vendor.o(($event) => handleLogout()),
l: common_vendor.gei(_ctx, "")
};
};
}

View File

@@ -1,4 +1,7 @@
{
"navigationBarTitleText": "我的",
"usingComponents": {}
"navigationStyle": "custom",
"usingComponents": {
"u-navbar": "../../uni_modules/uview-plus/components/u-navbar/u-navbar"
}
}

View File

@@ -1 +1 @@
<view class="{{['page-wrapper', 'data-v-02345808', virtualHostClass]}}" style="{{virtualHostStyle}}" hidden="{{virtualHostHidden || false}}" id="{{j}}"><view class="header-bg data-v-02345808"><view class="blur-circle circle-1 data-v-02345808"></view><view class="blur-circle circle-2 data-v-02345808"></view><view class="blur-circle circle-3 data-v-02345808"></view><view class="user-info-section data-v-02345808"><view class="user-avatar data-v-02345808"><image class="avatar-img data-v-02345808" src="{{a}}" mode="aspectFill"></image></view><view class="user-details data-v-02345808"><view class="user-name data-v-02345808">{{b}}</view><view class="user-phone data-v-02345808">{{c}}</view></view><button class="edit-btn data-v-02345808" bindtap="{{d}}">编辑资料</button></view></view><view class="content-area data-v-02345808"><view class="menu-card data-v-02345808"><view class="menu-item data-v-02345808" bindtap="{{f}}"><view class="menu-left data-v-02345808"><image src="{{e}}" class="menu-icon data-v-02345808"></image><text class="menu-text data-v-02345808">编辑个人信息</text></view><text class="cuIcon-right menu-arrow data-v-02345808"></text></view><view class="menu-item data-v-02345808" bindtap="{{h}}"><view class="menu-left data-v-02345808"><image src="{{g}}" class="menu-icon data-v-02345808"></image><text class="menu-text data-v-02345808">修改登录密码</text></view><text class="cuIcon-right menu-arrow data-v-02345808"></text></view></view><button class="logout-btn data-v-02345808" bindtap="{{i}}">退出登录</button></view></view>
<view class="{{['page-wrapper', 'data-v-02345808', virtualHostClass]}}" style="{{virtualHostStyle}}" hidden="{{virtualHostHidden || false}}" id="{{l}}"><view class="header-bg data-v-02345808"><u-navbar wx:if="{{a}}" class="data-v-02345808" virtualHostClass="data-v-02345808" u-i="02345808-0" bind:__l="__l" u-p="{{a}}"></u-navbar><view class="user-info-section data-v-02345808"><view class="user-avatar data-v-02345808"><image class="avatar-img data-v-02345808" src="{{b}}" mode="aspectFill"></image></view><view class="user-details data-v-02345808"><view class="user-name data-v-02345808">{{c}}</view><view class="user-phone data-v-02345808">{{d}}</view></view><image class="edit-icon data-v-02345808" src="{{e}}" mode="aspectFit" bindtap="{{f}}"></image></view></view><view class="content-area data-v-02345808"><view class="menu-card data-v-02345808"><view class="menu-item data-v-02345808" bindtap="{{h}}"><view class="menu-left data-v-02345808"><image src="{{g}}" class="menu-icon data-v-02345808"></image><text class="menu-text data-v-02345808">编辑个人信息</text></view><text class="cuIcon-right menu-arrow data-v-02345808"></text></view><view class="menu-item data-v-02345808" bindtap="{{j}}"><view class="menu-left data-v-02345808"><image src="{{i}}" class="menu-icon data-v-02345808"></image><text class="menu-text data-v-02345808">修改登录密码</text></view><text class="cuIcon-right menu-arrow data-v-02345808"></text></view></view><button class="logout-btn data-v-02345808" bindtap="{{k}}">退出登录</button></view></view>

View File

@@ -26,13 +26,13 @@
/* 文章场景相关 */
.page-wrapper.data-v-02345808 {
min-height: 100vh;
background: #EBF2FC;
background: #fff;
}
.header-bg.data-v-02345808 {
position: relative;
height: 400rpx;
background: linear-gradient(180deg, #3B7FED 0%, #007AFF 50%, #8BB8F8 100%);
padding-top: 60rpx;
height: 480rpx;
background: #2667E9;
padding-top: 0;
overflow: hidden;
}
.header-bg .blur-circle.data-v-02345808 {
@@ -103,29 +103,26 @@
font-size: 26rpx;
color: rgba(255, 255, 255, 0.85);
}
.user-info-section .edit-btn.data-v-02345808 {
background: rgba(255, 255, 255, 0.25);
border: 2rpx solid rgba(255, 255, 255, 0.5);
border-radius: 32rpx;
font-size: 26rpx;
color: #fff;
-webkit-backdrop-filter: blur(10rpx);
backdrop-filter: blur(10rpx);
}
.user-info-section .edit-btn.data-v-02345808::after {
border: none;
.user-info-section .edit-icon.data-v-02345808 {
width: 48rpx;
height: 48rpx;
flex-shrink: 0;
}
.content-area.data-v-02345808 {
position: relative;
margin-top: -60rpx;
padding: 0 30rpx 50rpx;
margin-top: -40rpx;
padding: 40rpx 30rpx 50rpx;
z-index: 10;
background: #fff;
border-top-left-radius: 40rpx;
border-top-right-radius: 40rpx;
min-height: calc(100vh - 360rpx);
}
.menu-card.data-v-02345808 {
background: #fff;
border-radius: 24rpx;
padding: 10rpx 0;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06);
box-shadow: 0 8rpx 30rpx rgba(0, 0, 0, 0.1);
}
.menu-item.data-v-02345808 {
display: flex;