update:管理端一期代码提交

This commit is contained in:
林艳 2026-01-27 13:25:57 +08:00
parent d375e08dde
commit b9f2cdda0a
12 changed files with 143 additions and 15 deletions

14
.env.development Normal file
View File

@ -0,0 +1,14 @@
NODE_ENV = development
# VITE_APP_API_BASE_URL = 'https://test-pet-admin.ifish7.com'
VITE_APP_API_BASE_URL = 'https://pet-admin.ifish7.com'
# https://pet-house.ifish7.com
# https://test-pet-house.ifish7.com/pet-house
# https://test-pet-admin.ifish7.com
# 是否在打包时生成 sourcemap
VITE_BUILD_SOURCEMAP = 'false'
# 是否在打包时删除 console 代码
VITE_BUILD_DROP_CONSOLE = 'true'

9
.env.production Normal file
View File

@ -0,0 +1,9 @@
NODE_ENV = production
# VITE_APP_API_BASE_URL = 'https://test-pet-admin.ifish7.com'
VITE_APP_API_BASE_URL = 'https://pet-admin.ifish7.com'
# https://pet-house.ifish7.com/pet-house
# https://test-pet-house.ifish7.com/pet-house
# 是否在打包时生成 sourcemap
VITE_BUILD_SOURCEMAP = 'false'
# 是否在打包时删除 console 代码
VITE_BUILD_DROP_CONSOLE = 'true'

25
.eslintrc.js Normal file
View File

@ -0,0 +1,25 @@
module.exports = {
root: true, // 停止向上查找父级目录中的配置文件
env: {
browser: true,
es2021: true,
node: true,
},
extends: [
'eslint:recommended',
'plugin:vue/vue3-essential',
'plugin:prettier/recommended',
'prettier', // eslint-config-prettier 的缩写
],
parser: 'vue-eslint-parser', // 指定要使用的解析器
// 给解析器传入一些其他的配置参数
parserOptions: {
ecmaVersion: 'latest', // 支持的es版本
parser: '@typescript-eslint/parser',
sourceType: 'module', // 模块类型默认为script我们设置为module
},
plugins: ['vue', 'prettier'], // eslint-plugin- 可以省略
rules: {
'vue/multi-word-component-names': 'off'
},
};

16
.hbuilderx/launch.json Normal file
View File

@ -0,0 +1,16 @@
{ // launch.json configurations app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
// launchtypelocalremote, localremote
"version": "0.0",
"configurations": [{
"default" :
{
"launchtype" : "local"
},
"mp-weixin" :
{
"launchtype" : "local"
},
"type" : "uniCloud"
}
]
}

1
.npmrc Normal file
View File

@ -0,0 +1 @@
shamefully-hoist=true # or public-hoist-pattern[]=@vue*

11
.prettierrc.js Normal file
View File

@ -0,0 +1,11 @@
module.exports = {
printWidth: 100,
tabWidth: 2,
useTabs: true, // 是否使用tab进行缩进默认为false
singleQuote: true, // 是否使用单引号代替双引号默认为false
semi: false, // 行尾是否使用分号默认为true
arrowParens: 'always',
endOfLine: 'auto',
vueIndentScriptAndStyle: true,
htmlWhitespaceSensitivity: 'strict',
};

View File

@ -12,7 +12,16 @@
"outputPath": "" "outputPath": ""
}, },
"useCompilerPlugins": false, "useCompilerPlugins": false,
"minifyWXML": true "minifyWXML": true,
"compileWorklet": false,
"uploadWithSourceMap": true,
"packNpmManually": false,
"minifyWXSS": true,
"localPlugins": false,
"disableUseStrict": false,
"condition": false,
"swc": false,
"disableSWC": true
}, },
"compileType": "miniprogram", "compileType": "miniprogram",
"simulatorPluginLibVersion": {}, "simulatorPluginLibVersion": {},
@ -21,5 +30,6 @@
"include": [] "include": []
}, },
"appid": "wx047689e2fd64e87e", "appid": "wx047689e2fd64e87e",
"editorSetting": {} "editorSetting": {},
"libVersion": "3.8.9"
} }

View File

@ -9,6 +9,14 @@
"preloadBackgroundData": false, "preloadBackgroundData": false,
"autoAudits": false, "autoAudits": false,
"showShadowRootInWxmlPanel": true, "showShadowRootInWxmlPanel": true,
"compileHotReLoad": true "compileHotReLoad": true,
"useApiHook": true,
"useApiHostProcess": true,
"useStaticServer": false,
"useLanDebug": false,
"showES6CompileOption": false,
"checkInvalidKey": true,
"ignoreDevUnusedFiles": true,
"bigPackageSizeSupport": false
} }
} }

View File

@ -1,23 +1,23 @@
<!-- 订单页面 --> <!-- 订单页面 -->
<template> <template>
<view class="order_item"> <view class="order_item" >
<view class="order_content"> <view class="order_content" @tap="handleItemClick">
<view class="ord_con_icon"> <view class="ord_con_icon">
<img :src=" imgUrl!='' ? imgUrl : defalitImg" alt="" srcset="" class="img_icon"> <img :src=" imgUrl!='' ? imgUrl : defalitImg" alt="" srcset="" class="img_icon">
</view> </view>
<view class="ord_con_content"> <view class="ord_con_content">
<view class="con_content_title">服务时间{{ serverTime }}</view> <view class="con_content_title">服务时间{{ serverTime }}</view>
<div class="title_top"> <div class="title_top">
<view class="con_content">用户ID{{ uid }}</view> <view class="con_content">用户ID{{ uid }}</view>
<div class="info_price title_top_info" @tap="handlePetList()">
宠物列表
</div>
</div> </div>
<view class="con_content">下单时间{{ ordertime }}</view> <view class="con_content">下单时间{{ ordertime }}</view>
<view class="con_content">订单状态{{ ordertype[cardtype] }}</view> <view class="con_content">订单状态{{ ordertype[cardtype] }}</view>
</view> </view>
</view> </view>
<div class="pet_list_btn" @tap="handlePetList">
宠物列表
</div>
</view> </view>
</template> </template>
@ -61,6 +61,10 @@
}, },
}) })
function handleItemClick() {
emit('itemClick', {})
}
function handlePetList() { function handlePetList() {
emit('petList', {}) emit('petList', {})
} }
@ -78,6 +82,7 @@
display: flex; display: flex;
flex-flow: column nowrap; flex-flow: column nowrap;
padding-bottom: 10rpx; padding-bottom: 10rpx;
position: relative; /* 关键:添加相对定位 */
// margin-top: 24rpx; // margin-top: 24rpx;
.order_content { .order_content {
@ -120,6 +125,18 @@
} }
} }
.pet_list_btn {
position: absolute;
right: 27rpx;
top: 95rpx; /* 调整位置 */
border-bottom: 1px solid #565656;
color: #565656;
cursor: pointer;
z-index: 10; /* 确保在最上层 */
font-size: 17px;
}
.button_box { .button_box {
margin-top: 28rpx; margin-top: 28rpx;
display: flex; display: flex;
@ -151,5 +168,8 @@
padding-top: 14rpx; padding-top: 14rpx;
color: #565656; color: #565656;
font-size: 17px; font-size: 17px;
position: absolute;
right: 24rpx;
top: 120rpx; //
} }
</style> </style>

View File

@ -20,7 +20,7 @@
<div v-for="(order, index) in showOrderList" :key="index" <div v-for="(order, index) in showOrderList" :key="index"
v-if="showOrderList && showOrderList.length > 0"> v-if="showOrderList && showOrderList.length > 0">
<order-item @tap="handlegotoinfo(order)" :orderId="order?.id || 0" <order-item @itemClick="handlegotoinfo(order)" :orderId="order?.id || 0"
:title="order?.name || ''" :serverTime="order?.serviceTime || ''" :title="order?.name || ''" :serverTime="order?.serviceTime || ''"
:ordertime="order?.createTime || ''" :uid="order?.uid || ''" :ordertime="order?.createTime || ''" :uid="order?.uid || ''"
:cardtype="order?.dispatchStatus || 0" :imgUrl="order?.headImgUrl || ''" :cardtype="order?.dispatchStatus || 0" :imgUrl="order?.headImgUrl || ''"

View File

@ -2,7 +2,9 @@
<view class="nav_bar_box"> <view class="nav_bar_box">
</view> </view>
<view class="login-container" style="background-image:url(../../static/bg.png ) ;" alt=""> <view class="login-container" alt="">
<image class="background-image" src="../../static/bg.png" mode="widthfix"></image>
<div class="login-header">欢迎使用</div> <div class="login-header">欢迎使用</div>
<form class="login-form" @submit.prevent="handleSubmit"> <form class="login-form" @submit.prevent="handleSubmit">
@ -165,6 +167,15 @@
} }
.background-image {
position: fixed;
left: 0;
width: 100%;
height: 100vh;
z-index: 0;
display: block;
}
.login-header { .login-header {
font-size: 24px; font-size: 24px;
font-weight: bold; font-weight: bold;
@ -179,6 +190,7 @@
flex-direction: column; flex-direction: column;
gap: 40px; gap: 40px;
padding: 36rpx 36rpx 36rpx 36rpx; padding: 36rpx 36rpx 36rpx 36rpx;
z-index: 10;
} }
.form-group { .form-group {
@ -186,6 +198,7 @@
flex-direction: column; flex-direction: column;
gap: 8px; gap: 8px;
padding-bottom: 46rpx; padding-bottom: 46rpx;
z-index: 11;
} }
.form-group label { .form-group label {
@ -198,6 +211,7 @@
border: 1px solid #ddd; border: 1px solid #ddd;
border-radius: 4px; border-radius: 4px;
font-size: 16px; font-size: 16px;
z-index: 12;
} }
.form-group input:focus { .form-group input:focus {

View File

@ -72,19 +72,19 @@
<div class="base_box short_box" style="padding-bottom: 40rpx;"> <div class="base_box short_box" style="padding-bottom: 40rpx;">
<div class="top_title title_bottom "> <div class="top_title title_bottom ">
<div class="info_price">总金额</div> <div class="info_price">总金额</div>
<div class="title_content" style="color: #8C887C;">{{ '¥' + orderItem?.amount }}</div> <div class="title_content" style="color: #8C887C;">{{ '¥' + (orderItem?.amount||0) }}</div>
</div> </div>
<div class="top_title title_bottom"> <div class="top_title title_bottom">
<div class="info_price">支付金额</div> <div class="info_price">支付金额</div>
<div class="yellow_info" style="color: #FFCD35;">{{ '¥' + orderItem?.payAmount }}</div> <div class="yellow_info" style="color: #FFCD35;">{{ '¥' + (orderItem?.payAmount ||0)}}</div>
</div> </div>
<div class="top_title title_bottom"> <div class="top_title title_bottom">
<div class="info_price">会员折扣金额</div> <div class="info_price">会员折扣金额</div>
<div class="short_item_title" style="color: #8C887C;">{{ '¥' + orderItem?.vipDiscountAmount }}</div> <div class="short_item_title" style="color: #8C887C;">{{ '¥' + (orderItem?.vipDiscountAmount ||0)}}</div>
</div> </div>
<div class="top_title title_bottom"> <div class="top_title title_bottom">
<div class="info_price">优惠券折扣金额</div> <div class="info_price">优惠券折扣金额</div>
<div class="short_item_title" style="color: #8C887C;">{{ '¥' + orderItem?.couponDiscountAmount }} <div class="short_item_title" style="color: #8C887C;">{{ '¥' + (orderItem?.couponDiscountAmount||0) }}
</div> </div>
</div> </div>
<div class="top_title title_bottom"> <div class="top_title title_bottom">