页面翻译
This commit is contained in:
@@ -209,7 +209,7 @@ onMounted(async () => {
|
||||
fontSize: '16px',
|
||||
marginLeft: '2px',
|
||||
}"
|
||||
>环</text
|
||||
>points</text
|
||||
>
|
||||
</view>
|
||||
<view
|
||||
|
||||
@@ -69,7 +69,6 @@ const ringText = (ring) => {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-end;
|
||||
margin-top: -30rpx;
|
||||
}
|
||||
.container > view {
|
||||
padding: 0 10rpx;
|
||||
|
||||
@@ -4,15 +4,12 @@ import { onShow } from "@dcloudio/uni-app";
|
||||
import Container from "@/components/Container.vue";
|
||||
import EditOption from "@/components/EditOption.vue";
|
||||
import SButton from "@/components/SButton.vue";
|
||||
import { getPointBookDataAPI } from "@/apis";
|
||||
|
||||
const expandIndex = ref(0);
|
||||
const bowType = ref("");
|
||||
const distance = ref(0);
|
||||
const bowtargetType = ref("");
|
||||
const amountGroup = ref("");
|
||||
const days = ref(0);
|
||||
const arrows = ref(0);
|
||||
|
||||
const onExpandChange = (index, expand) => {
|
||||
if (expandIndex.value !== -1) {
|
||||
@@ -54,18 +51,11 @@ const toEditPage = () => {
|
||||
});
|
||||
} else {
|
||||
uni.showToast({
|
||||
title: "请完善信息",
|
||||
title: "Please complete the information",
|
||||
icon: "none",
|
||||
});
|
||||
}
|
||||
};
|
||||
// onShow(async () => {
|
||||
// const result = await getPointBookDataAPI();
|
||||
// if (result) {
|
||||
// days.value = result.total_day || 0;
|
||||
// arrows.value = result.total_arrow || 0;
|
||||
// }
|
||||
// });
|
||||
onMounted(async () => {
|
||||
const pointBook = uni.getStorageSync("point-book");
|
||||
if (pointBook) {
|
||||
@@ -82,29 +72,9 @@ onMounted(async () => {
|
||||
:bgType="2"
|
||||
bgColor="#F5F5F5"
|
||||
:whiteBackArrow="false"
|
||||
title="选择参数"
|
||||
title="Select Parameters"
|
||||
>
|
||||
<view class="container">
|
||||
<!-- <view class="header">
|
||||
<image
|
||||
src="https://static.shelingxingqiu.com/attachment/2025-08-06/dbv8w5ak76hozbfpy2.png"
|
||||
mode="widthFix"
|
||||
/>
|
||||
<view>
|
||||
<view>
|
||||
<text>{{ days }}</text>
|
||||
<text>天</text>
|
||||
</view>
|
||||
<text>训练天数</text>
|
||||
</view>
|
||||
<view>
|
||||
<view>
|
||||
<text>{{ arrows }}</text>
|
||||
<text>箭</text>
|
||||
</view>
|
||||
<text>训练箭数</text>
|
||||
</view>
|
||||
</view> -->
|
||||
<view>
|
||||
<EditOption
|
||||
:itemIndex="0"
|
||||
@@ -136,7 +106,7 @@ onMounted(async () => {
|
||||
</view>
|
||||
</view>
|
||||
<view :style="{ marginBottom: '20px' }">
|
||||
<SButton :rounded="50" :onClick="toEditPage">下一步</SButton>
|
||||
<SButton :rounded="50" :onClick="toEditPage">Next</SButton>
|
||||
</view>
|
||||
</Container>
|
||||
</template>
|
||||
@@ -152,34 +122,4 @@ onMounted(async () => {
|
||||
.container > view:nth-child(2) {
|
||||
margin: 0 10px;
|
||||
}
|
||||
.header {
|
||||
width: 100%;
|
||||
height: 27vw;
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: #ffffffc7;
|
||||
font-size: 14px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.header > image {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
border: 2px solid #fff;
|
||||
box-sizing: border-box;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.header > view {
|
||||
position: relative;
|
||||
}
|
||||
.header > view:nth-child(2) {
|
||||
margin-left: 7vw;
|
||||
margin-right: 7vw;
|
||||
}
|
||||
.header > view > view > text:first-child {
|
||||
font-size: 27px;
|
||||
font-weight: 500;
|
||||
margin-right: 5px;
|
||||
color: #fff4c9;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -75,7 +75,7 @@ onLoad(async (options) => {
|
||||
:bgType="2"
|
||||
bgColor="#F5F5F5"
|
||||
:whiteBackArrow="false"
|
||||
title="分析"
|
||||
title="Analysis"
|
||||
:onBack="goBack"
|
||||
>
|
||||
<view class="container">
|
||||
@@ -92,7 +92,7 @@ onLoad(async (options) => {
|
||||
fontSize: selectedIndex === index ? '15px' : '13px',
|
||||
letterSpacing: index !== 0 ? '2px' : '0',
|
||||
}"
|
||||
>{{ index === 0 ? "全部" : `第${index}组` }}</text
|
||||
>{{ index === 0 ? "All" : `Set${index}` }}</text
|
||||
>
|
||||
<!-- <image
|
||||
src="../static/s-triangle.png"
|
||||
@@ -107,7 +107,7 @@ onLoad(async (options) => {
|
||||
:style="{ display: 'flex', alignItems: 'center' }"
|
||||
@click="() => openTip(1)"
|
||||
>
|
||||
<text>落点稳定性</text>
|
||||
<text>Stability</text>
|
||||
<image
|
||||
src="../static/s-question-mark.png"
|
||||
mode="widthFix"
|
||||
@@ -117,25 +117,25 @@ onLoad(async (options) => {
|
||||
<text>{{ Number((data.stability || 0).toFixed(2)) }}</text>
|
||||
</view>
|
||||
<view>
|
||||
<view>黄心率</view>
|
||||
<view>Yellow Rate</view>
|
||||
<text>{{ Number((data.yellowRate * 100).toFixed(2)) }}%</text>
|
||||
</view>
|
||||
<view>
|
||||
<view>10环数</view>
|
||||
<view>10 Rings</view>
|
||||
<text>{{ data.tenRings }}</text>
|
||||
</view>
|
||||
<view>
|
||||
<view>平均环数</view>
|
||||
<view>Avg Rings</view>
|
||||
<text>{{ Number((data.averageRing || 0).toFixed(2)) }}</text>
|
||||
</view>
|
||||
<view>
|
||||
<view>总环数</view>
|
||||
<view>Total Rings</view>
|
||||
<text>{{ data.userTotalRing }}/{{ data.totalRing }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="title-bar">
|
||||
<view />
|
||||
<text>落点分布</text>
|
||||
<text>Distribution</text>
|
||||
<button hover-class="none" @click="() => openTip(2)">
|
||||
<image
|
||||
src="../static/s-question-mark.png"
|
||||
@@ -155,22 +155,18 @@ onLoad(async (options) => {
|
||||
<view :style="{ transform: 'translateY(-90rpx)' }">
|
||||
<view class="title-bar">
|
||||
<view />
|
||||
<text>环值分布</text>
|
||||
<text>Ring Value Distribution</text>
|
||||
</view>
|
||||
<view :style="{ padding: '0 30rpx' }">
|
||||
<RingBarChart :data="ringRates" />
|
||||
</view>
|
||||
<view class="title-bar" :style="{ marginTop: '30rpx' }">
|
||||
<view />
|
||||
<text>{{
|
||||
selectedIndex === 0 ? "每组环数" : `第${selectedIndex}组环数`
|
||||
}}</text>
|
||||
<text>{{ selectedIndex === 0 ? "Rings per Set" : `Set ${selectedIndex} Rings` }}</text>
|
||||
</view>
|
||||
<view class="ring-text-groups">
|
||||
<view v-for="(item, index) in groups" :key="index">
|
||||
<text v-if="selectedIndex === 0 && index !== 0">{{
|
||||
`第${index}组`
|
||||
}}</text>
|
||||
<text v-if="selectedIndex === 0 && index !== 0">{{ `Set${index}` }}</text>
|
||||
<view
|
||||
v-if="
|
||||
(selectedIndex === 0 && index !== 0) ||
|
||||
@@ -190,27 +186,27 @@ onLoad(async (options) => {
|
||||
? "X"
|
||||
: arrow.ring === -1
|
||||
? "M"
|
||||
: arrow.ring + "环"
|
||||
: arrow.ring
|
||||
}}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view :style="{ marginBottom: '40rpx' }">
|
||||
<SButton :onClick="goBack" :rounded="50">关闭</SButton>
|
||||
<SButton :onClick="goBack" :rounded="50">Close</SButton>
|
||||
</view>
|
||||
</view>
|
||||
<ScreenHint2 :show="showTip || showTip2" :onClose="closeTip">
|
||||
<view class="tip-content">
|
||||
<block v-if="showTip">
|
||||
<text>落点稳定性说明</text>
|
||||
<text>Stability Description</text>
|
||||
<text
|
||||
>通过计算每支箭与其他箭的平均距离衡一量射箭的稳定性,数字越小则说明射箭越稳定。该数据只能在用户标记落点的情况下生成。</text
|
||||
>The stability of archery is measured by calculating the average distance of each arrow to other arrows. The smaller the number, the more stable the archery. This data can only be generated when the user marks the landing point.</text
|
||||
>
|
||||
</block>
|
||||
<block v-if="showTip2">
|
||||
<text>落点分布说明</text>
|
||||
<text>展示用户某次练习中射箭的点位</text>
|
||||
<text>Distribution Description</text>
|
||||
<text>Show the user's archery points in a practice session</text>
|
||||
</block>
|
||||
</view>
|
||||
</ScreenHint2>
|
||||
|
||||
@@ -36,7 +36,7 @@ const onSubmit = async () => {
|
||||
);
|
||||
if (!isComplete) {
|
||||
return uni.showToast({
|
||||
title: "请完善信息",
|
||||
title: "Please complete the information",
|
||||
icon: "none",
|
||||
});
|
||||
}
|
||||
@@ -112,11 +112,11 @@ onMounted(() => {
|
||||
<view class="title-bar">
|
||||
<view>
|
||||
<view />
|
||||
<text>第 {{ currentGroup }} 组</text>
|
||||
<text>Set {{ currentGroup }}</text>
|
||||
</view>
|
||||
<view @click="deleteArrow">
|
||||
<image src="../static/delete.png" />
|
||||
<text>删除</text>
|
||||
<text>Delete</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bow-arrows">
|
||||
@@ -133,12 +133,15 @@ onMounted(() => {
|
||||
isNaN(arrow.ring)
|
||||
? arrow.ring
|
||||
: arrow.ring
|
||||
? arrow.ring + " 环"
|
||||
? arrow.ring + " points"
|
||||
: ""
|
||||
}}</view
|
||||
>
|
||||
</view>
|
||||
<text>推荐在靶纸上落点计分,这样可获得稳定性分析</text>
|
||||
<text
|
||||
>It is recommended to score on the target face to obtain stability
|
||||
analysis</text
|
||||
>
|
||||
<view class="bow-rings">
|
||||
<view
|
||||
v-for="(item, index) in ringTypes"
|
||||
@@ -155,12 +158,12 @@ onMounted(() => {
|
||||
</view>
|
||||
<ScreenHint2 :show="showTip">
|
||||
<view class="tip-content">
|
||||
<text>现在离开会导致</text>
|
||||
<text>未提交的数据丢失,是否继续?</text>
|
||||
<text>Leaving now will result in the loss of unsaved data.</text>
|
||||
<text>Are you sure you want to continue?</text>
|
||||
<view>
|
||||
<button hover-class="none" @click="onBack">退出</button>
|
||||
<button hover-class="none" @click="onBack">Exit</button>
|
||||
<button hover-class="none" @click="showTip = false">
|
||||
继续记录
|
||||
Continue
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
@@ -168,7 +171,7 @@ onMounted(() => {
|
||||
</view>
|
||||
<view :style="{ marginBottom: '20px' }">
|
||||
<SButton :rounded="50" :onClick="onSubmit">
|
||||
{{ currentGroup === groups ? "记完了,提交看分析" : "下一组" }}
|
||||
{{ currentGroup === groups ? "Submit for analysis" : "Next set" }}
|
||||
</SButton>
|
||||
</view>
|
||||
</Container>
|
||||
@@ -177,9 +180,11 @@ onMounted(() => {
|
||||
<style scoped>
|
||||
.container {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.container > text {
|
||||
margin: 15px;
|
||||
margin: 0 30rpx;
|
||||
color: #999;
|
||||
font-size: 13px;
|
||||
font-weight: 200;
|
||||
|
||||
@@ -41,6 +41,10 @@ const toEditPage = () => {
|
||||
</button>
|
||||
</view>
|
||||
<button hover-class="none">Log out</button>
|
||||
<view>
|
||||
<text>Have questions? Please contact us through email: </text>
|
||||
<text>shelingxingqiu@163.com</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
@@ -50,6 +54,7 @@ const toEditPage = () => {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
}
|
||||
.header {
|
||||
position: relative;
|
||||
@@ -73,36 +78,41 @@ const toEditPage = () => {
|
||||
.body {
|
||||
width: 100%;
|
||||
margin-top: 20rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
}
|
||||
.body > view {
|
||||
.body > view:first-child {
|
||||
background-color: $uni-bg-color;
|
||||
border-radius: 25px;
|
||||
padding: 0 20px;
|
||||
width: calc(100% - 80rpx);
|
||||
}
|
||||
.body > view > button {
|
||||
.body > view:first-child > button {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 20px 0;
|
||||
}
|
||||
.body > view > button:not(:last-child) {
|
||||
.body > view:first-child > button:not(:last-child) {
|
||||
border-bottom: 1rpx solid #e3e3e3;
|
||||
}
|
||||
.body > view > button > image:first-child {
|
||||
.body > view:first-child > button > image:first-child {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
.body > view > button > text {
|
||||
.body > view:first-child > button > text {
|
||||
flex: 1;
|
||||
font-size: 26rpx;
|
||||
color: #333333;
|
||||
text-align: left;
|
||||
padding-left: 20rpx;
|
||||
}
|
||||
.body > view > button > image:last-child {
|
||||
.body > view:first-child > button > image:last-child {
|
||||
width: 28rpx;
|
||||
height: 28rpx;
|
||||
}
|
||||
.body > button:last-child {
|
||||
.body > button {
|
||||
margin-top: 24rpx;
|
||||
background: $uni-bg-color;
|
||||
border-radius: 24rpx;
|
||||
@@ -110,5 +120,18 @@ const toEditPage = () => {
|
||||
color: $uni-link-color;
|
||||
text-align: center;
|
||||
padding: 20px 0;
|
||||
width: 100%;
|
||||
}
|
||||
.body > view:last-child {
|
||||
margin-top: auto;
|
||||
padding-bottom: 25rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
font-size: 24rpx;
|
||||
color: #666666;
|
||||
}
|
||||
.body > view:last-child > text:last-child {
|
||||
color: $uni-link-color;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user