Răsfoiți Sursa

feat:添加《收益管理》《系统首页》的i18n翻译

Mcal 1 săptămână în urmă
părinte
comite
dc723a87a3
5 a modificat fișierele cu 251 adăugiri și 171 ștergeri
  1. 5 4
      src/layout/components/Navbar.vue
  2. 45 2
      src/locales/en.json
  3. 45 1
      src/locales/zh.json
  4. 58 67
      src/views/index.vue
  5. 98 97
      src/views/statistic/index.vue

+ 5 - 4
src/layout/components/Navbar.vue

@@ -9,15 +9,15 @@
         <!-- <search id="header-search" class="right-menu-item" /> -->
         <!-- <screenfull id="screenfull" class="right-menu-item hover-effect" /> -->
         <!-- <FuintDoc id="fuint-doc" class="right-menu-item hover-effect" /> -->
-        <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
+        <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click" >
           <div class="avatar-wrapper">
             <!-- <img :src="avatar" class="user-avatar"> -->
             <span class="user-name">{{ $i18n.messages[lang].lang }}</span>
             <i class="el-icon-caret-bottom" />
           </div>
-          <el-dropdown-menu slot="dropdown">
-            <el-dropdown-item v-for="(item, index) in langList" :key="index">
-              <span @click="setLang(index)">{{ item.lang }}</span>
+          <el-dropdown-menu slot="dropdown" >
+            <el-dropdown-item v-for="(item, index) in langList" :key="index" >
+              <span style="display:block;height: 100%; height: 100%;" @click="setLang(index)">{{ item.lang }}</span>
             </el-dropdown-item>
           </el-dropdown-menu>
         </el-dropdown>
@@ -93,6 +93,7 @@ export default {
   },
   methods: {
     setLang(language) {
+      console.log(language)
       this.$i18n.locale = language;
       console.log(language)
     },

+ 45 - 2
src/locales/en.json

@@ -8,8 +8,51 @@
 
   "nav.setLayout": "Set Layout",
   "nav.logout": "Logout",
-
-  "operational.overview": "Operational Overview",
+  "operational": {
+    "overview": "Operational Overview",
+    "totalTransactionAmount": "Total Transaction Amount (Yuan)",
+    "commonFunctions": "Common Functions",
+    "orderManagement": "Order Management",
+    "goodsManagement": "Goods Management",
+    "reportStatistics": "Report Statistics",
+    "lastSevenDaysOrderCount": "Order count in the last seven days",
+    "orderStatistics": "Order statistics",
+    "incomeComparisonAmount": "Income comparison amount",
+    "income": "Income",
+    "startTimePlaceholder": "Start Time",
+    "endTimePlaceholder": "End Time",
+    "reset": "Reset",
+    "query": "Query",
+    "lastThreeDays": "Last 3 Days",
+    "lastSevenDays": "Last 7 Days",
+    "lastFifteenDays": "Last 15 Days",
+    "lastThirtyDays": "Last 30 Days",
+    "dataOverview": "Data Overview",
+    "orderCount": "Order Count (pieces)",
+    "transactionAmount": "Transaction Amount (Yuan)",
+    "totalPayAmount": "Total Payment Amount (Yuan)",
+    "totalOrderCount": "Total Order Count (pieces)",
+    "totalPayUserCount": "Total Number of Paying Users",
+    "operationTrend": "Operation Trend",
+    "dataRanking": "Data Ranking",
+    "goodsSalesRanking": "Goods Sales Ranking",
+    "userConsumptionRanking": "User Consumption Ranking",
+    "id": "ID",
+    "goodsName": "Goods Name",
+    "salesVolume": "Sales Volume",
+    "salesAmount": "Sales Amount (Yuan)",
+    "userName": "User Name",
+    "memberNumber": "Member Number",
+    "consumptionAmount": "Consumption Amount (Yuan)",
+    "chart1Title": "Order count in the last seven days",
+    "chart1Header": "Order statistics",
+    "chart2Title": "Income comparison amount",
+    "chart2Header": "Income",
+    "lastSevenDaysOrderCount": "Order count in the last seven days",
+    "orderStatistics": "Order statistics",
+    "incomeTrendChart": "Income trend chart",
+    "memberStatistics": "Member statistics"
+  },
   "today.revenue": "Today's Revenue",
 
   "store.list.storeName": "Store Name",

+ 45 - 1
src/locales/zh.json

@@ -4,7 +4,51 @@
 
   "nav.setLayout": "布局设置",
   "nav.logout": "退出登录",
-
+  "operational": {
+    "overview": "运营概况",
+    "totalTransactionAmount": "总交易金额(元)",
+    "commonFunctions": "常用功能",
+    "orderManagement": "订单管理",
+    "goodsManagement": "商品管理",
+    "reportStatistics": "报表统计",
+    "lastSevenDaysOrderCount": "近七日订单数量",
+    "orderStatistics": "订单统计",
+    "incomeComparisonAmount": "收益对比金额",
+    "income": "收益",
+    "startTimePlaceholder": "开始时间",
+    "endTimePlaceholder": "结束时间",
+    "reset": "重置",
+    "query": "查询",
+    "lastThreeDays": "近3天",
+    "lastSevenDays": "近7天",
+    "lastFifteenDays": "近15天",
+    "lastThirtyDays": "近30天",
+    "dataOverview": "数据概况",
+    "orderCount": "订单数(笔)",
+    "transactionAmount": "交易金额(元)",
+    "totalPayAmount": "总支付金额(元)",
+    "totalOrderCount": "总订单数(笔)",
+    "totalPayUserCount": "总支付人数",
+    "operationTrend": "运营走势",
+    "dataRanking": "数据排行",
+    "goodsSalesRanking": "商品销售排行",
+    "userConsumptionRanking": "用户消费排行",
+    "id": "ID",
+    "goodsName": "商品名称",
+    "salesVolume": "销售量",
+    "salesAmount": "销售金额(元)",
+    "userName": "用户名",
+    "memberNumber": "会员号",
+    "consumptionAmount": "消费金额(元)",
+    "chart1Title": "近七日订单数量",
+    "chart1Header": "订单统计",
+    "chart2Title": "收益对比金额",
+    "chart2Header": "收益",
+    "lastSevenDaysOrderCount": "近七日订单数量",
+    "orderStatistics": "订单统计",
+    "incomeTrendChart": "收益趋势图",
+    "memberStatistics": "会员统计"
+  },
   "operational.overview": "运营概况",
   "today.revenue": "今日营收",
 

+ 58 - 67
src/views/index.vue

@@ -87,7 +87,7 @@
                   fill="#8a8a8a"
                 ></path>
               </svg>
-              <p class="text">总交易金额(元)</p>
+              <p class="text">{{ $t('operational.totalTransactionAmount') }}</p>
               <p class="number">
                 {{ homeData.totalPay ? homeData.totalPay : "0.00" }}
               </p>
@@ -268,11 +268,10 @@
       </div>
     </div>
     <div class="overview">
-      
-      <div class="title">常用功能</div>
-      <div class="content">
-        <el-row class="line home-tools">
-          <!-- <el-col class="item no-border" :span="8"
+        <div class="title">{{ $t('operational.commonFunctions') }}</div>
+        <div class="content">
+            <el-row class="line home-tools">
+                        <!-- <el-col class="item no-border" :span="8"
             ><div class="do" @click="toCashier('/fuintCashier/')">
               <img class="t-icon" src="@/assets/images/home/pay.png" />
               <div class="text">收银下单</div>
@@ -290,61 +289,53 @@
               <div class="text">会员管理</div>
             </div></el-col
           > -->
-        </el-row>
-        <el-row class="line home-tools">
-          <el-col class="item no-border" :span="8"
-            ><div class="do" @click="toTarget('/order/index')">
-              <img class="t-icon" src="@/assets/images/home/order.png" />
-              <div class="text">订单管理</div>
-            </div></el-col
-          >
-          <!-- <el-col class="item no-border" :span="8"
-            ><div class="do" @click="toTarget('/coupon/coupon/index')">
-              <img class="t-icon" src="@/assets/images/home/card.png" />
-              <div class="text">卡券管理</div>
-            </div></el-col
-          > -->
-          <el-col class="item no-border" :span="8"
-            ><div class="do" @click="toTarget('/goods/goods/index')">
-              <img class="t-icon" src="@/assets/images/home/goods.png" />
-              <div class="text">商品管理</div>
-            </div></el-col
-          >
-        </el-row>
-      </div>
+                <el-col class="item no-border" :span="8">
+                    <div class="do" @click="toTarget('/order/index')">
+                        <img class="t-icon" src="@/assets/images/home/order.png" />
+                        <div class="text">{{ $t('operational.orderManagement') }}</div>
+                    </div>
+                </el-col>
+                <el-col class="item no-border" :span="8">
+                    <div class="do" @click="toTarget('/goods/goods/index')">
+                        <img class="t-icon" src="@/assets/images/home/goods.png" />
+                        <div class="text">{{ $t('operational.goodsManagement') }}</div>
+                    </div>
+                </el-col>
+            </el-row>
+        </div>
     </div>
     <div class="overview">
-      <div class="title">报表统计</div>
-      <div class="content">
-        <el-row>
-          <el-col class="item" :span="12">
-            <commonChart
-              v-if="chartData1.length > 0"
-              :title="chart1.title"
-              :color="chart1.color"
-              :chart-type="chart1.chartType"
-              :head-list="chart1.header"
-              :data-list="chartData1"
-              width="100%"
-              id="chart1"
-              height="400px"
-            />
-          </el-col>
-          <el-col class="item" :span="12">
-            <commonChart
-              v-if="chartData2.length > 0"
-              :title="chart2.title"
-              :color="chart2.color"
-              :chart-type="chart2.chartType"
-              :head-list="chart2.header"
-              :data-list="chartData2"
-              width="100%"
-              id="chart2"
-              height="400px"
-            />
-          </el-col>
-        </el-row>
-      </div>
+        <div class="title">{{ $t('operational.reportStatistics') }}</div>
+        <div class="content">
+            <el-row>
+                <el-col class="item" :span="12">
+                    <commonChart
+                        v-if="chartData1.length > 0"
+                        :title="chart1.title"
+                        :color="chart1.color"
+                        :chart-type="chart1.chartType"
+                        :head-list="chart1.header"
+                        :data-list="chartData1"
+                        width="100%"
+                        id="chart1"
+                        height="400px"
+                    />
+                </el-col>
+                <el-col class="item" :span="12">
+                    <commonChart
+                        v-if="chartData2.length > 0"
+                        :title="chart2.title"
+                        :color="chart2.color"
+                        :chart-type="chart2.chartType"
+                        :head-list="chart2.header"
+                        :data-list="chartData2"
+                        width="100%"
+                        id="chart2"
+                        height="400px"
+                    />
+                </el-col>
+            </el-row>
+        </div>
     </div>
   </div>
 </template>
@@ -371,16 +362,16 @@ export default {
         totalPayUser: 0,
       },
       chart1: {
-        title: "近七日订单数量",
-        color: "#ff5b57",
-        chartType: "bar",
-        header: ["订单统计"],
+          title: this.$t('operational.lastSevenDaysOrderCount'),
+          color: "#ff5b57",
+          chartType: "bar",
+          header: [this.$t('operational.orderStatistics')],
       },
       chart2: {
-        title: "收益对比金额",
-        color: "#113a28",
-        chartType: "line",
-        header: ["收益"],
+          title: this.$t('operational.incomeComparisonAmount'),
+          color: "#113a28",
+          chartType: "line",
+          header: [this.$t('operational.income')],
       },
       chartData1: [],
       chartData2: [],

+ 98 - 97
src/views/statistic/index.vue

@@ -1,43 +1,44 @@
 <template>
   <div class="app-container">
     <div class="overview">
-      <div class="title">数据概况</div>
+      <div class="title">{{ $t('operational.dataOverview') }}</div>
       <div class="content" v-loading="loading">
         <el-row class="line">
-          <div class="date-picker">
+        <div class="date-picker">
             <el-date-picker
-              v-model="startTime"
-              value-format="yyyy-MM-dd HH:mm:ss"
-              type="datetime"
-              style="width: 200px"
-              placeholder="开始时间"
+                v-model="startTime"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                type="datetime"
+                style="width: 200px"
+                :placeholder="$t('operational.startTimePlaceholder')"
             ></el-date-picker>
             <span class="sp"> ~ </span>
             <el-date-picker
-              v-model="endTime"
-              value-format="yyyy-MM-dd HH:mm:ss"
-              type="datetime"
-              style="width: 200px"
-              placeholder="结束时间"
+                v-model="endTime"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                type="datetime"
+                style="width: 200px"
+                :placeholder="$t('operational.endTimePlaceholder')"
             ></el-date-picker>
-          </div>
-          <div class="do-search">
-            <el-button icon="el-icon-refresh" size="small" @click="reset"
-              >重置</el-button
-            >
+        </div>
+        <div class="do-search">
+            <el-button icon="el-icon-refresh" size="small" @click="reset">
+                {{ $t('operational.reset') }}
+            </el-button>
             <el-button
-              type="primary"
-              icon="el-icon-search"
-              size="small"
-              @click="getMainData"
-              >查询</el-button
+                type="primary"
+                icon="el-icon-search"
+                size="small"
+                @click="getMainData"
             >
-            <span class="ex" @click="setDay(3)">近3天</span>
-            <span class="ex" @click="setDay(7)">近7天</span>
-            <span class="ex" @click="setDay(15)">近15天</span>
-            <span class="ex" @click="setDay(30)">近30天</span>
-          </div>
-        </el-row>
+                {{ $t('operational.query') }}
+            </el-button>
+            <span class="ex" @click="setDay(3)">{{ $t('operational.lastThreeDays') }}</span>
+            <span class="ex" @click="setDay(7)">{{ $t('operational.lastSevenDays') }}</span>
+            <span class="ex" @click="setDay(15)">{{ $t('operational.lastFifteenDays') }}</span>
+            <span class="ex" @click="setDay(30)">{{ $t('operational.lastThirtyDays') }}</span>
+        </div>
+    </el-row>
         <el-row class="line">
           <el-col class="item" :span="6">
             <div class="do">
@@ -62,7 +63,7 @@
                   p-id="7599"
                 ></path>
               </svg>
-              <p class="text">订单数(笔)</p>
+              <p class="text">{{ $t('operational.orderCount') }}</p>
               <p class="number">{{ mainData.orderCount }}</p>
             </div>
           </el-col>
@@ -89,7 +90,7 @@
                   p-id="10176"
                 ></path>
               </svg>
-              <p class="text">交易金额(元)</p>
+              <p class="text">{{ $t('operational.transactionAmount') }}</p>
               <p class="number">
                 {{
                   mainData.payAmount
@@ -122,7 +123,7 @@
                   fill="#8a8a8a"
                 ></path>
               </svg>
-              <p class="text">总支付金额(元)</p>
+              <p class="text">{{ $t('operational.totalPayAmount') }}</p>
               <p class="number">
                 {{ mainData.totalPayAmount ? mainData.totalPayAmount : "0.00" }}
               </p>
@@ -146,7 +147,7 @@
                   p-id="4781"
                 ></path>
               </svg>
-              <p class="text">总订单数(笔)</p>
+              <p class="text">{{ $t('operational.totalOrderCount') }}</p>
               <p class="number">{{ mainData.totalOrderCount }}</p>
             </div>
           </el-col>
@@ -185,7 +186,7 @@
                   fill="#8a8a8a"
                 ></path>
               </svg>
-              <p class="text">总支付人数</p>
+              <p class="text">{{ $t('operational.totalPayUserCount') }}</p>
               <p class="number">{{ mainData.totalPayUserCount }}</p>
             </div>
           </el-col>
@@ -193,7 +194,7 @@
       </div>
     </div>
     <div class="overview">
-      <div class="title">运营走势</div>
+      <div class="title">{{ $t('operational.operationTrend') }}</div>
       <div class="content">
         <el-row>
           <el-col class="item" :span="12">
@@ -226,61 +227,61 @@
       </div>
     </div>
     <div class="overview">
-      <div class="title">数据排行</div>
-      <div class="content">
-        <el-row>
-          <el-col class="item" :span="12">
-            <div class="title">商品销售排行</div>
-            <el-table
-              v-loading="loading"
-              :data="goodsList"
-              style="border: solid 1px #cccccc"
-            >
-              <el-table-column label="ID" prop="id" width="60" />
-              <el-table-column label="商品名称" align="center">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.name }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="销售量" align="center" prop="num" />
-              <el-table-column
-                label="销售金额(元)"
-                align="center"
-                prop="amount"
-              >
-                <template slot-scope="scope">
-                  <span>{{ scope.row.amount.toFixed(2) }}</span>
-                </template>
-              </el-table-column>
-            </el-table>
-          </el-col>
-          <el-col class="item" :span="12">
-            <div class="title">用户消费排行</div>
-            <el-table
-              v-loading="loading"
-              :data="memberList"
-              style="border: solid 1px #cccccc"
-            >
-              <el-table-column label="ID" prop="id" width="60" />
-              <el-table-column label="用户名" align="center" width="100">
-                <template slot-scope="scope">
-                  <span>{{ scope.row.name }}</span>
-                </template>
-              </el-table-column>
-              <el-table-column label="会员号" align="center" prop="userNo" />
-              <el-table-column
-                label="消费金额(元)"
-                align="center"
-                prop="amount"
-              >
-                <template slot-scope="scope">
-                  <span>{{ scope.row.amount.toFixed(2) }}</span>
-                </template>
-              </el-table-column>
-            </el-table>
-          </el-col>
-        </el-row>
-      </div>
+        <div class="title">{{ $t('operational.dataRanking') }}</div>
+        <div class="content">
+            <el-row>
+                <el-col class="item" :span="12">
+                    <div class="title">{{ $t('operational.goodsSalesRanking') }}</div>
+                    <el-table
+                        v-loading="loading"
+                        :data="goodsList"
+                        style="border: solid 1px #cccccc"
+                    >
+                        <el-table-column :label="$t('operational.id')" prop="id" width="60" />
+                        <el-table-column :label="$t('operational.goodsName')" align="center">
+                            <template slot-scope="scope">
+                                <span>{{ scope.row.name }}</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column :label="$t('operational.salesVolume')" align="center" prop="num" />
+                        <el-table-column
+                            :label="$t('operational.salesAmount')"
+                            align="center"
+                            prop="amount"
+                        >
+                            <template slot-scope="scope">
+                                <span>{{ scope.row.amount.toFixed(2) }}</span>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                </el-col>
+                <el-col class="item" :span="12">
+                    <div class="title">{{ $t('operational.userConsumptionRanking') }}</div>
+                    <el-table
+                        v-loading="loading"
+                        :data="memberList"
+                        style="border: solid 1px #cccccc"
+                    >
+                        <el-table-column :label="$t('operational.id')" prop="id" width="60" />
+                        <el-table-column :label="$t('operational.userName')" align="center" width="100">
+                            <template slot-scope="scope">
+                                <span>{{ scope.row.name }}</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column :label="$t('operational.memberNumber')" align="center" prop="userNo" />
+                        <el-table-column
+                            :label="$t('operational.consumptionAmount')"
+                            align="center"
+                            prop="amount"
+                        >
+                            <template slot-scope="scope">
+                                <span>{{ scope.row.amount.toFixed(2) }}</span>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                </el-col>
+            </el-row>
+        </div>
     </div>
   </div>
 </template>
@@ -311,16 +312,16 @@ export default {
         totalPayUserCount: 0,
       },
       chart1: {
-        title: "近七日订单数量",
-        color: "#ff5b57",
-        chartType: "bar",
-        header: ["订单统计"],
+          title: this.$t('operational.lastSevenDaysOrderCount'),
+          color: "#ff5b57",
+          chartType: "bar",
+          header: [this.$t('operational.orderStatistics')]
       },
       chart2: {
-        title: "收益趋势图",
-        color: "#113a28",
-        chartType: "line",
-        header: ["会员统计"],
+          title: this.$t('operational.incomeTrendChart'),
+          color: "#113a28",
+          chartType: "line",
+          header: [this.$t('operational.memberStatistics')]
       },
       chartData1: [],
       chartData2: [],