Browse Source

feat:添加登录和订单模块的多语言化

Mcal 1 month ago
parent
commit
8a875877e6

+ 181 - 1
src/renderer/i18n/languages/en.json

@@ -29,5 +29,185 @@
     "openNewWindow": "Open new window",
     "openDocument": "Open document",
     "changeLanguage": "Change language"
-  }
+  },
+  "qing-shu-ru-nin-de-zhang-hao": "Please enter your account",
+  "qing-shu-ru-nin-de-mi-ma": "Please enter your password",
+  "qing-shu-ru-yan-zheng-ma": "Please enter the verification code",
+  "qing-shu-ru-zheng-que-yan-zheng-ma": "Please enter the correct verification code",
+  "li-ji-deng-lu": "Log in immediately",
+  "mi-ma": "Password",
+  "yong-hu-ming": "Username",
+  "qing-shu-ru-yan-zheng-ma-0": "Please enter the verification code",
+  "hui-yuan-ID": "Member ID",
+  "qing-shu-ru-hui-yuan-ID": "Please enter the member ID",
+  "shou-ji-hao": "Mobile phone number",
+  "qing-shu-ru-hui-yuan-shou-ji-hao": "Please enter the member's mobile phone number",
+  "ding-dan-hao": "Order number",
+  "qing-shu-ru-ding-dan-hao": "Please enter the order number",
+  "zhuo-ma": "Table code",
+  "qing-shu-ru-zhuo-ma": "Please enter the table code",
+  "ding-dan-lei-xing": "Order type",
+  "suo-shu-dian-pu": "Belonging store",
+  "qing-xuan-ze-dian-pu": "Please select a store",
+  "ding-dan-zhuang-tai": "Order status",
+  "qing-xuan-ze-ding-dan-zhuang-tai": "Please select the order status",
+  "zhi-fu-zhuang-tai": "Payment status",
+  "pei-song-fang-shi": "Delivery method",
+  "cha-xun": "Query",
+  "chong-zhi": "Reset",
+  "ID": "ID",
+  "hui-yuan-ming-cheng": "Member name",
+  "you-ke": "Visitor",
+  "zong-jin-e": "Total amount",
+  "sheng-cheng-shi-jian": "Creation time",
+  "zhi-fu-jin-e": "Payment amount",
+  "you-hui-jin-e": "Discount amount",
+  "ji-fen-jin-e": "Points amount",
+  "geng-xin-shi-jian": "Update time",
+  "cao-zuo": "Operation",
+  "xiu-gai": "Modify",
+  "fa-huo": "Ship",
+  "he-xiao": "Verify",
+  "geng-duo": "More",
+  "cha-kan-xiang-qing": "View details",
+  "da-yin-xiao-piao": "Print receipt",
+  "fa-qi-zhi-fu": "Initiate payment",
+  "li-ji-tui-kuan": "Refund immediately",
+  "shan-chu-ding-dan": "Delete order",
+  "xiu-gai-ding-dan": "Modify order",
+  "ding-dan-mo-shi": "Order mode",
+  "ding-dan-zong-jin-e": "Total order amount",
+  "qing-shu-ru-ding-dan-zong-jin-e": "Please enter the total order amount",
+  "ding-dan-bei-zhu": "Order remarks",
+  "qing-shu-ru-ding-dan-bei-zhu": "Please enter order remarks",
+  "que-ding": "Confirm",
+  "qu-xiao": "Cancel",
+  "he-xiao-ding-dan": "Verify order",
+  "he-xiao-ma": "Verification code",
+  "qing-shu-ru-ding-dan-he-xiao-ma": "Please enter the order verification code",
+  "tian-xie-wu-liu-xin-xi": "Fill in logistics information",
+  "wu-liu-gong-si": "Logistics company",
+  "qing-shu-ru-wu-liu-gong-si": "Please enter the logistics company",
+  "wu-liu-dan-hao": "Logistics tracking number",
+  "qing-shu-ru-wu-liu-dan-hao": "Please enter the logistics tracking number",
+  "ti-jiao-wu-liu-xin-xi": "Submit logistics information",
+  "ding-dan-tui-kuan": "Order refund",
+  "zhi-fu-fang-shi": "Payment method",
+  "ding-dan-shi-fu-jin-e": "Actual order payment amount",
+  "tui-kuan-jin-e": "Refund amount",
+  "qing-shu-ru-tui-kuan-jin-e": "Please enter the refund amount",
+  "tui-kuan-bei-zhu": "Refund remarks",
+  "qing-shu-ru-tui-kuan-bei-zhu": "Please enter refund remarks",
+  "ding-dan-hao": "Order number",
+  "ding-dan-mo-shi": "Order mode",
+  "ding-dan-zong-jin-e": "Total order amount",
+  "you-hui-jin-e": "Discount amount",
+  "ding-dan-bei-zhu": "Order remarks",
+  "ding-dan-zhuang-tai": "Order status",
+  "que-ding": "Confirm",
+  "qu-xiao": "Cancel",
+  "he-xiao-ding-dan": "Verify order",
+  "he-xiao-ma": "Verification code",
+  "qing-shu-ru-ding-dan-he-xiao-ma": "Please enter the order verification code",
+  "que-ding-he-xiao": "Confirm verification",
+  "tian-xie-wu-liu-xin-xi": "Fill in logistics information",
+  "wu-liu-gong-si": "Logistics company",
+  "qing-shu-ru-wu-liu-gong-si": "Please enter the logistics company",
+  "wu-liu-dan-hao": "Logistics tracking number",
+  "qing-shu-ru-wu-liu-dan-hao": "Please enter the logistics tracking number",
+  "ti-jiao-wu-liu-xin-xi": "Submit logistics information",
+  "ding-dan-tui-kuan": "Order refund",
+  "zhi-fu-fang-shi": "Payment method",
+  "ding-dan-shi-fu-jin-e": "Actual order payment amount",
+  "tui-kuan-jin-e": "Refund amount",
+  "qing-shu-ru-tui-kuan-jin-e": "Please enter the refund amount",
+  "tui-kuan-jin-e-tips": "( Note: in yuan )",
+  "tui-kuan-bei-zhu": "Refund remarks",
+  "qing-shu-ru-tui-kuan-bei-zhu": "Please enter refund remarks",
+  "zong-jin-e-bu-neng-wei-kong": "The total amount cannot be empty",
+  "he-xiao-ma-bu-neng-wei-kong": "The verification code cannot be empty",
+  "wu-liu-gong-si-bu-neng-wei-kong": "The logistics company cannot be empty",
+  "wu-liu-dan-hao-bu-neng-wei-kong": "The logistics tracking number cannot be empty",
+  "tui-kuan-jin-e-bu-neng-wei-kong": "The refund amount cannot be empty",
+  "qing-shu-ru-zheng-que-de-tui-kuan-jin-e": "Please enter the correct refund amount",
+  "qi-yong": "Enable",
+  "jin-yong": "Disable",
+  "que-ren-yao": "Are you sure you want to ",
+  "ma": "",
+  "cheng-gong": " successfully",
+  "ti-shi-he-xiao-cheng-gong": "Tip: Verification successful",
+  "ti-shi-xiu-gai-cheng-gong": "Tip: Modification successful",
+  "ti-shi-ti-jiao-wu-liu-xin-xi-cheng-gong": "Tip: Logistics information submitted successfully",
+  "qing-qiu-chu-li-zhong": "Request is being processed...",
+  "tui-kuan-jin-e-bu-neng-da-yu-ding-dan-zong-jin-e": "The refund amount cannot be greater than the total order amount",
+  "ti-shi-tui-jiao-tui-kuan-cheng-gong": "Tip: Refund submission successful",
+  "shi-fou-que-ren-shan-chu-ding-dan-hao-wei": "Are you sure you want to delete the data item with the order number ",
+  "de-shu-ju-xiang": "",
+  "ti-shi-shan-chu-cheng-gong": "Tip: Deletion successful",
+  "ding-dan-da-yin-yu-lan": "Order Print Preview",
+  "zhuo-ma": "Table Code",
+  "dan-hao": "Order Number",
+  "hui-yuan-ming-cheng": "Member Name",
+  "hui-yuan-hao-ma": "Member Number",
+  "hui-yuan-xin-xi": "Member Information",
+  "wu": "None",
+  "shou-huo-ren-ming": "Receiver Name",
+  "lian-xi-dian-hua": "Contact Phone",
+  "xiang-xi-di-zhi": "Detailed Address",
+  "ding-dan-lei-xing": "Order Type",
+  "ding-dan-shi-jian": "Order Time",
+  "you-hui-jin-e": "Discount Amount",
+  "ying-shou-jin-e": "Receivable Amount",
+  "da-yin": "Print",
+  "qu-xiao": "Cancel",
+  "ding-dan-ming-xi": "Order Details",
+  "yu-lan-de-biao-ti": "Preview Title",
+  "yu-lan-jie-shu-kai-shi-da-yin": "Preview ended, start printing",
+  "ding-dan-xiang-qing": "Order Details",
+    "ji-chu-xin-xi": "Basic Information",
+    "ding-dan-hao": "Order Number",
+    "zong-jin-e": "Total Amount",
+    "ding-dan-zhuang-tai": "Order Status",
+    "ding-dan-lei-xing": "Order Type",
+    "ding-dan-shi-jian": "Order Time",
+    "xia-dan-zhuo-ma": "Order Table Code",
+    "bei-zhu-xin-xi": "Remark Information",
+    "zhi-fu-xin-xi": "Payment Information",
+    "zhi-fu-jin-e": "Payment Amount",
+    "zhi-fu-zhuang-tai": "Payment Status",
+    "jian-mian-jin-e": "Reduction Amount",
+    "zhi-fu-fang-shi": "Payment Method",
+    "zhi-fu-shi-jian": "Payment Time",
+    "shi-yong-qia-quan": "Used Coupons",
+    "shi-yong-ji-fen": "Used Points",
+    "ji-fen-jin-e": "Point Amount",
+    "pei-song-fei-yong": "Delivery Fee",
+    "hui-yuan-xin-xi": "Member Information",
+    "hui-yuan-ID": "Member ID",
+    "hui-yuan-hao": "Member Number",
+    "hui-yuan-ming-cheng": "Member Name",
+    "shou-ji-hao": "Mobile Number",
+    "you-ke": "Visitor",
+    "guan-li-yuan": "Administrator",
+    "dai-xia-dan": "placed the order on behalf",
+    "shang-pin-xin-xi": "Product Information",
+    "shang-pin-ID": "Product ID",
+    "tu-pian": "Picture",
+    "ming-cheng": "Name",
+    "gui-ge": "Specification",
+    "jia-ge": "Price",
+    "you-hui-jin-e": "Discount Amount",
+    "shu-liang": "Quantity",
+    "pei-song-xin-xi": "Delivery Information",
+    "pei-song-fang-shi": "Delivery Method",
+    "men-dian-zi-ti": "Store Self-pickup",
+    "wu-liu-pei-song": "Logistics Delivery",
+    "zi-ti-di-zhi": "Self-pickup Address",
+    "shou-huo-ren": "Receiver",
+    "lian-xi-dian-hua": "Contact Phone",
+    "xiang-xi-di-zhi": "Detailed Address",
+    "wu-liu-xin-xi": "Logistics Information",
+    "wu-liu-gong-si": "Logistics Company",
+    "wu-liu-dan-hao": "Logistics Tracking Number",
+    "fa-huo-shi-jian": "Shipping Time"
 }

+ 157 - 1
src/renderer/i18n/languages/zh-CN.json

@@ -29,5 +29,161 @@
     "openNewWindow": "打开新窗口",
     "openDocument": "打开文档",
     "changeLanguage": "切换语言"
-  }
+  },
+  "qing-shu-ru-nin-de-zhang-hao": "请输入您的账号",
+  "qing-shu-ru-nin-de-mi-ma": "请输入您的密码",
+  "qing-shu-ru-yan-zheng-ma": "请输入验证码",
+  "qing-shu-ru-zheng-que-yan-zheng-ma": "请输入正确验证码",
+  "li-ji-deng-lu": "立即登录",
+  "mi-ma": "密码",
+  "yong-hu-ming": "用户名",
+  "qing-shu-ru-yan-zheng-ma-0": "请输入验证码",
+  "hui-yuan-ID": "会员ID",
+  "qing-shu-ru-hui-yuan-ID": "请输入会员ID",
+  "shou-ji-hao": "手机号",
+  "qing-shu-ru-hui-yuan-shou-ji-hao": "请输入会员手机号",
+  "ding-dan-hao": "订单号",
+  "qing-shu-ru-ding-dan-hao": "请输入订单号",
+  "zhuo-ma": "桌码",
+  "qing-shu-ru-zhuo-ma": "请输入桌码",
+  "ding-dan-lei-xing": "订单类型",
+  "suo-shu-dian-pu": "所属店铺",
+  "qing-xuan-ze-dian-pu": "请选择店铺",
+  "ding-dan-zhuang-tai": "订单状态",
+  "qing-xuan-ze-ding-dan-zhuang-tai": "请选择订单状态",
+  "zhi-fu-zhuang-tai": "支付状态",
+  "pei-song-fang-shi": "配送方式",
+  "cha-xun": "查询",
+  "chong-zhi": "重置",
+  "ID": "ID",
+  "hui-yuan-ming-cheng": "会员名称",
+  "you-ke": "游客",
+  "zong-jin-e": "总金额",
+  "sheng-cheng-shi-jian": "生成时间",
+  "zhi-fu-jin-e": "支付金额",
+  "you-hui-jin-e": "优惠金额",
+  "ji-fen-jin-e": "积分金额",
+  "geng-xin-shi-jian": "更新时间",
+  "cao-zuo": "操作",
+  "xiu-gai": "修改",
+  "fa-huo": "发货",
+  "he-xiao": "核销",
+  "geng-duo": "更多",
+  "cha-kan-xiang-qing": "查看详情",
+  "da-yin-xiao-piao": "打印小票",
+  "fa-qi-zhi-fu": "发起支付",
+  "li-ji-tui-kuan": "立即退款",
+  "shan-chu-ding-dan": "删除订单",
+  "xiu-gai-ding-dan": "修改订单",
+  "ding-dan-mo-shi": "订单模式",
+  "ding-dan-zong-jin-e": "订单总金额",
+  "qing-shu-ru-ding-dan-zong-jin-e": "请输入订单总金额",
+  "ding-dan-bei-zhu": "订单备注",
+  "qing-shu-ru-ding-dan-bei-zhu": "请输入订单备注",
+  "que-ding": "确定",
+  "qu-xiao": "取消",
+  "he-xiao-ding-dan": "核销订单",
+  "he-xiao-ma": "核销码",
+  "qing-shu-ru-ding-dan-he-xiao-ma": "请输入订单核销码",
+  "tian-xie-wu-liu-xin-xi": "填写物流信息",
+  "wu-liu-gong-si": "物流公司",
+  "qing-shu-ru-wu-liu-gong-si": "请输入物流公司",
+  "wu-liu-dan-hao": "物流单号",
+  "qing-shu-ru-wu-liu-dan-hao": "请输入物流单号",
+  "ti-jiao-wu-liu-xin-xi": "提交物流信息",
+  "ding-dan-tui-kuan": "订单退款",
+  "zhi-fu-fang-shi": "支付方式",
+  "ding-dan-shi-fu-jin-e": "订单实付金额",
+  "tui-kuan-jin-e": "退款金额",
+  "qing-shu-ru-tui-kuan-jin-e": "请输入退款金额",
+  "tui-kuan-bei-zhu": "退款备注",
+  "qing-shu-ru-tui-kuan-bei-zhu": "请输入退款备注",
+  "que-ding-he-xiao": "确定核销",
+  "tui-kuan-jin-e-tips": "( 提示:单位元 )",
+  "zong-jin-e-bu-neng-wei-kong": "总金额不能为空",
+  "he-xiao-ma-bu-neng-wei-kong": "核销码不能为空",
+  "wu-liu-gong-si-bu-neng-wei-kong": "物流公司不能为空",
+  "wu-liu-dan-hao-bu-neng-wei-kong": "物流单号不能为空",
+  "tui-kuan-jin-e-bu-neng-wei-kong": "退款金额不能为空",
+  "qing-shu-ru-zheng-que-de-tui-kuan-jin-e": "请输入正确的退款金额",
+  "qi-yong": "启用",
+  "jin-yong": "禁用",
+  "que-ren-yao": "确认要",
+  "ma": "吗",
+  "cheng-gong": "成功",
+  "ti-shi-he-xiao-cheng-gong": "提示:核销成功",
+  "ti-shi-xiu-gai-cheng-gong": "提示:修改成功",
+  "qing-qiu-chu-li-zhong": "请求处理中...",
+  "ti-shi-ti-jiao-wu-liu-xin-xi-cheng-gong": "提示:提交物流信息成功",
+  "tui-kuan-jin-e-bu-neng-da-yu-ding-dan-zong-jin-e": "退款金额不能大于订单总金额",
+  "ti-shi-tui-jiao-tui-kuan-cheng-gong": "提示:提交退款成功",
+  "shi-fou-que-ren-shan-chu-ding-dan-hao-wei": "是否确认删除订单号为",
+  "de-shu-ju-xiang": "的数据项",
+  "ti-shi-shan-chu-cheng-gong": "提示:删除成功",
+  "ding-dan-da-yin-yu-lan": "订单打印预览",
+  "zhuo-ma": "桌码",
+  "dan-hao": "单号",
+  "hui-yuan-ming-cheng": "会员名称",
+  "hui-yuan-hao-ma": "会员号码",
+  "hui-yuan-xin-xi": "会员信息",
+  "wu": "无",
+  "shou-huo-ren-ming": "收货人名",
+  "lian-xi-dian-hua": "联系电话",
+  "xiang-xi-di-zhi": "详细地址",
+  "ding-dan-lei-xing": "订单类型",
+  "ding-dan-shi-jian": "订单时间",
+  "you-hui-jin-e": "优惠金额",
+  "ying-shou-jin-e": "应收金额",
+  "da-yin": "打印",
+  "qu-xiao": "取消",
+  "ding-dan-ming-xi": "订单明细",
+  "yu-lan-de-biao-ti": "预览的标题",
+  "yu-lan-jie-shu-kai-shi-da-yin": "预览结束,开始打印",
+  "ding-dan-xiang-qing": "订单详情",
+  "ji-chu-xin-xi": "基础信息",
+  "ding-dan-hao": "订单号",
+  "zong-jin-e": "总金额",
+  "ding-dan-zhuang-tai": "订单状态",
+  "ding-dan-lei-xing": "订单类型",
+  "ding-dan-shi-jian": "订单时间",
+  "xia-dan-zhuo-ma": "下单桌码",
+  "bei-zhu-xin-xi": "备注信息",
+  "zhi-fu-xin-xi": "支付信息",
+  "zhi-fu-jin-e": "支付金额",
+  "zhi-fu-zhuang-tai": "支付状态",
+  "jian-mian-jin-e": "减免金额",
+  "zhi-fu-fang-shi": "支付方式",
+  "zhi-fu-shi-jian": "支付时间",
+  "shi-yong-qia-quan": "使用卡券",
+  "shi-yong-ji-fen": "使用积分",
+  "ji-fen-jin-e": "积分金额",
+  "pei-song-fei-yong": "配送费用",
+  "hui-yuan-xin-xi": "会员信息",
+  "hui-yuan-ID": "会员ID",
+  "hui-yuan-hao": "会员号",
+  "hui-yuan-ming-cheng": "会员名称",
+  "shou-ji-hao": "手机号",
+  "you-ke": "游客",
+  "guan-li-yuan": "管理员",
+  "dai-xia-dan": "代下单",
+  "shang-pin-xin-xi": "商品信息",
+  "shang-pin-ID": "商品ID",
+  "tu-pian": "图片",
+  "ming-cheng": "名称",
+  "gui-ge": "规格",
+  "jia-ge": "价格",
+  "you-hui-jin-e": "优惠金额",
+  "shu-liang": "数量",
+  "pei-song-xin-xi": "配送信息",
+  "pei-song-fang-shi": "配送方式",
+  "men-dian-zi-ti": "门店自提",
+  "wu-liu-pei-song": "物流配送",
+  "zi-ti-di-zhi": "自提地址",
+  "shou-huo-ren": "收货人",
+  "lian-xi-dian-hua": "联系电话",
+  "xiang-xi-di-zhi": "详细地址",
+  "wu-liu-xin-xi": "物流信息",
+  "wu-liu-gong-si": "物流公司",
+  "wu-liu-dan-hao": "物流单号",
+  "fa-huo-shi-jian": "发货时间"
 }

+ 1 - 1
src/renderer/main.js

@@ -54,7 +54,7 @@ Vue.use(VueI18n) // 新版本必须要这个,不知道为什么
 usePermission() // 放在后面,确保加载顺序
 
 const i18n = new VueI18n({
-  locale: 'en', // 设置默认语言
+  locale: 'zh-CN', // 设置默认语言
   messages: languages, // 设置语言包
 })
 

+ 98 - 99
src/renderer/views/cashier/components/orderDetail.vue

@@ -1,89 +1,89 @@
 <template>
-  <el-dialog title="订单详情" :visible.sync="showDialog" class="common-dialog" width="80%" @close="cancel" destroy-on-close append-to-body>
-      <div class="order-detail-container">
-         <div class="main-panel" v-if="orderInfo.id">
+  <el-dialog :title="$t('ding-dan-xiang-qing')" :visible.sync="showDialog" class="common-dialog" width="80%" @close="cancel" destroy-on-close append-to-body>
+    <div class="order-detail-container">
+      <div class="main-panel" v-if="orderInfo.id">
         <div class="panel">
-            <div class="title">基础信息</div>
-            <div class="content">
-                <el-row class="row">
-                    <el-col :span="8">
-                        <span class="head">订单号:</span>
-                        <span class="control-label">{{ orderInfo.orderSn }}</span>
-                    </el-col>
-                    <el-col :span="8">
-                      <span class="head">总金额:</span>
-                      <span class="control-label">¥{{ orderInfo.amount }}</span>
-                    </el-col>
-                    <el-col :span="8">
-                        <span class="head">订单状态:</span>
-                        <span class="control-label normal-status">{{ orderInfo.statusText }}</span>
-                    </el-col>
-                </el-row>
-                <el-row class="row">
-                    <el-col :span="8">
-                      <span class="head">订单类型:</span>
-                      <span class="control-label">{{ orderInfo.typeName }}</span>
-                    </el-col>
-                    <el-col :span="8">
-                        <span class="head">订单时间:</span>
-                        <span class="control-label">{{ orderInfo.createTime }}</span>
-                    </el-col>
-                    <el-col :span="8">
-                      <span class="head">下单桌码:</span>
-                      <span class="control-label">{{ orderInfo.tableInfo ? orderInfo.tableInfo.code : "-" }}</span>
-                    </el-col>
-                </el-row>
-                <el-row class="row">
-                  <el-col :span="8">
-                    <span class="head">备注信息:</span>
-                    <span class="control-label">{{ orderInfo.remark ? orderInfo.remark : '-'}}</span>
-                  </el-col>
-                </el-row>
-            </div>
+          <div class="title">{{ $t('ji-chu-xin-xi') }}</div>
+          <div class="content">
+            <el-row class="row">
+              <el-col :span="8">
+                <span class="head">{{ $t('ding-dan-hao') }}:</span>
+                <span class="control-label">{{ orderInfo.orderSn }}</span>
+              </el-col>
+              <el-col :span="8">
+                <span class="head">{{ $t('zong-jin-e') }}:</span>
+                <span class="control-label">¥{{ orderInfo.amount }}</span>
+              </el-col>
+              <el-col :span="8">
+                <span class="head">{{ $t('ding-dan-zhuang-tai') }}:</span>
+                <span class="control-label normal-status">{{ orderInfo.statusText }}</span>
+              </el-col>
+            </el-row>
+            <el-row class="row">
+              <el-col :span="8">
+                <span class="head">{{ $t('ding-dan-lei-xing') }}:</span>
+                <span class="control-label">{{ orderInfo.typeName }}</span>
+              </el-col>
+              <el-col :span="8">
+                <span class="head">{{ $t('ding-dan-shi-jian') }}:</span>
+                <span class="control-label">{{ orderInfo.createTime }}</span>
+              </el-col>
+              <el-col :span="8">
+                <span class="head">{{ $t('xia-dan-zhuo-ma') }}:</span>
+                <span class="control-label">{{ orderInfo.tableInfo ? orderInfo.tableInfo.code : "-" }}</span>
+              </el-col>
+            </el-row>
+            <el-row class="row">
+              <el-col :span="8">
+                <span class="head">{{ $t('bei-zhu-xin-xi') }}:</span>
+                <span class="control-label">{{ orderInfo.remark ? orderInfo.remark : '-'}}</span>
+              </el-col>
+            </el-row>
+          </div>
         </div>
         <div class="panel">
-          <div class="title">支付信息</div>
+          <div class="title">{{ $t('zhi-fu-xin-xi') }}</div>
           <div class="content">
             <el-row class="row">
               <el-col :span="8">
-                <span class="head">支付金额:</span>
+                <span class="head">{{ $t('zhi-fu-jin-e') }}:</span>
                 <span class="control-label">¥{{ orderInfo.payAmount.toFixed(2) }}</span>
               </el-col>
               <el-col :span="8">
-                <span class="head">支付状态:</span>
+                <span class="head">{{ $t('zhi-fu-zhuang-tai') }}:</span>
                 <span class="control-label payed-status" v-if="orderInfo.payStatus == 'B'">{{ getName(payStatusList, orderInfo.payStatus) }}</span>
                 <span class="control-label normal-status" v-else>{{ getName(payStatusList, orderInfo.payStatus) }}</span>
               </el-col>
               <el-col :span="8">
-                <span class="head">减免金额:</span>
+                <span class="head">{{ $t('jian-mian-jin-e') }}:</span>
                 <span class="control-label">¥{{ orderInfo.discount.toFixed(2) }}</span>
               </el-col>
             </el-row>
             <el-row class="row">
               <el-col :span="8">
-                <span class="head">支付方式:</span>
+                <span class="head">{{ $t('zhi-fu-fang-shi') }}:</span>
                 <span class="control-label">{{ getName(payTypeList, orderInfo.payType) }}</span>
               </el-col>
               <el-col :span="8">
-                <span class="head">支付时间:</span>
+                <span class="head">{{ $t('zhi-fu-shi-jian') }}:</span>
                 <span class="control-label">{{ orderInfo.payTime ? orderInfo.payTime : '-' }}</span>
               </el-col>
               <el-col :span="8">
-                <span class="head">使用卡券:</span>
+                <span class="head">{{ $t('shi-yong-qia-quan') }}:</span>
                 <span class="control-label">{{ orderInfo.couponInfo ? '¥' + orderInfo.couponInfo.amount + '(' + orderInfo.couponInfo.name + ')' : '-' }}</span>
               </el-col>
             </el-row>
             <el-row class="row">
               <el-col :span="8">
-                <span class="head">使用积分:</span>
+                <span class="head">{{ $t('shi-yong-ji-fen') }}:</span>
                 <span class="control-label">{{ orderInfo.usePoint ? orderInfo.usePoint : 0 }}</span>
               </el-col>
               <el-col :span="8">
-                <span class="head">积分金额:</span>
+                <span class="head">{{ $t('ji-fen-jin-e') }}:</span>
                 <span class="control-label">¥{{ orderInfo.pointAmount.toFixed(2) }}</span>
               </el-col>
               <el-col :span="8">
-                <span class="head">配送费用:</span>
+                <span class="head">{{ $t('pei-song-fei-yong') }}:</span>
                 <span class="control-label">¥{{ orderInfo.deliveryFee.toFixed(2) }}</span>
               </el-col>
             </el-row>
@@ -91,26 +91,26 @@
         </div>
 
         <div class="panel">
-          <div class="title">会员信息</div>
+          <div class="title">{{ $t('hui-yuan-xin-xi') }}</div>
           <div class="content">
             <el-row class="row">
               <el-col :span="6">
-                <span class="head">会员ID:</span>
+                <span class="head">{{ $t('hui-yuan-ID') }}:</span>
                 <span class="control-label" v-if="orderInfo.userInfo && orderInfo.isVisitor == 'N'">{{ orderInfo.userInfo.id }}</span>
-                <span class="control-label" v-else>游客</span>
+                <span class="control-label" v-else>{{ $t('you-ke') }}</span>
               </el-col>
               <el-col :span="6">
-                <span class="head">会员号:</span>
+                <span class="head">{{ $t('hui-yuan-hao') }}:</span>
                 <span class="control-label" v-if="orderInfo.userInfo && orderInfo.isVisitor == 'N'">{{ orderInfo.userInfo.no }}</span>
-                <span class="control-label" v-else>游客</span>
+                <span class="control-label" v-else>{{ $t('you-ke') }}</span>
               </el-col>
               <el-col :span="6">
-                <span class="head">会员名称:</span>
+                <span class="head">{{ $t('hui-yuan-ming-cheng') }}:</span>
                 <span class="control-label" v-if="orderInfo.userInfo && orderInfo.isVisitor == 'N'">{{ orderInfo.userInfo.name }}</span>
-                <span class="control-label" v-else>游客<span v-if="orderInfo.userInfo">(管理员{{ orderInfo.userInfo.name }}代下单)</span></span>
+                <span class="control-label" v-else>{{ $t('you-ke') }}<span v-if="orderInfo.userInfo">{{ $t('guan-li-yuan') }}{{ orderInfo.userInfo.name }}{{ $t('dai-xia-dan') }}</span></span>
               </el-col>
               <el-col :span="6">
-                <span class="head">手机号:</span>
+                <span class="head">{{ $t('shou-ji-hao') }}:</span>
                 <span class="control-label">{{ orderInfo.userInfo.mobile ? orderInfo.userInfo.mobile : '-' }}</span>
               </el-col>
             </el-row>
@@ -118,60 +118,60 @@
         </div>
 
         <div class="panel">
-            <div class="title">商品信息</div>
-            <div class="content">
-              <el-table ref="tables" v-loading="loading" :data="orderInfo.goods">
-                  <el-table-column label="商品ID" prop="id" width="66"/>
-                  <el-table-column label="图片" align="center" prop="name">
-                    <template slot-scope="scope">
-                      <img class="goods-logo" :src="scope.row.image"/>
-                    </template>
-                  </el-table-column>
-                  <el-table-column label="名称" align="left" prop="name">
-                     <template slot-scope="scope">
-                        <span class="goods-name">{{ scope.row.name }}</span>
-                     </template>
-                  </el-table-column>
-                  <el-table-column label="规格" align="center">
-                    <template slot-scope="scope">
-                       <span v-if="scope.row.specList">
-                          <span class="spec-item" v-for="spec in scope.row.specList">{{ spec.specValue }}</span>
-                       </span>
-                       <span v-else>--</span>
-                    </template>
-                  </el-table-column>
-                  <el-table-column label="价格" align="center" prop="price" />
-                  <el-table-column label="优惠金额" align="center" prop="discount" />
-                  <el-table-column label="数量" align="center" prop="num" />
-              </el-table>
-            </div>
+          <div class="title">{{ $t('shang-pin-xin-xi') }}</div>
+          <div class="content">
+            <el-table ref="tables" v-loading="loading" :data="orderInfo.goods">
+              <el-table-column :label="$t('shang-pin-ID')" prop="id" width="66"/>
+              <el-table-column :label="$t('tu-pian')" align="center" prop="name">
+                <template slot-scope="scope">
+                  <img class="goods-logo" :src="scope.row.image"/>
+                </template>
+              </el-table-column>
+              <el-table-column :label="$t('ming-cheng')" align="left" prop="name">
+                <template slot-scope="scope">
+                  <span class="goods-name">{{ scope.row.name }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column :label="$t('gui-ge')" align="center">
+                <template slot-scope="scope">
+                  <span v-if="scope.row.specList">
+                    <span class="spec-item" v-for="spec in scope.row.specList">{{ spec.specValue }}</span>
+                  </span>
+                  <span v-else>--</span>
+                </template>
+              </el-table-column>
+              <el-table-column :label="$t('jia-ge')" align="center" prop="price" />
+              <el-table-column :label="$t('you-hui-jin-e')" align="center" prop="discount" />
+              <el-table-column :label="$t('shu-liang')" align="center" prop="num" />
+            </el-table>
+          </div>
         </div>
 
         <div class="panel" v-if="orderInfo.type=='goods'">
-          <div class="title">配送信息</div>
+          <div class="title">{{ $t('pei-song-xin-xi') }}</div>
           <div class="content">
             <el-row class="row">
               <el-col :span="8">
-                <span class="head">配送方式:</span>
-                <span class="control-label" v-if="orderInfo.orderMode == 'oneself'">门店自提</span>
-                <span class="control-label" v-else>物流配送</span>
+                <span class="head">{{ $t('pei-song-fang-shi') }}:</span>
+                <span class="control-label" v-if="orderInfo.orderMode == 'oneself'">{{ $t('men-dian-zi-ti') }}</span>
+                <span class="control-label" v-else>{{ $t('wu-liu-pei-song') }}</span>
               </el-col>
               <el-col :span="16" v-if="orderInfo.orderMode == 'oneself'">
-                <span class="head">自提地址:</span>
+                <span class="head">{{ $t('zi-ti-di-zhi') }}:</span>
                 <span class="control-label">{{orderInfo.storeInfo.name}} {{orderInfo.storeInfo.phone}} {{orderInfo.storeInfo.address}}</span>
               </el-col>
               <el-col :span="8" v-if="orderInfo.orderMode == 'express' && orderInfo.address">
-                <span class="head">收货人:</span>
+                <span class="head">{{ $t('shou-huo-ren') }}:</span>
                 <span class="control-label">{{ orderInfo.address.name ? orderInfo.address.name : '--' }}</span>
               </el-col>
               <el-col :span="8" v-if="orderInfo.orderMode == 'express' && orderInfo.address">
-                <span class="head">联系电话:</span>
+                <span class="head">{{ $t('lian-xi-dian-hua') }}:</span>
                 <span class="control-label">{{ orderInfo.address.mobile ? orderInfo.address.mobile : '-' }}</span>
               </el-col>
             </el-row>
             <el-row class="row">
               <el-col :span="24" v-if="orderInfo.orderMode == 'express' && orderInfo.address">
-                <span class="head">详细地址:</span>
+                <span class="head">{{ $t('xiang-xi-di-zhi') }}:</span>
                 <span class="control-label">{{orderInfo.address.provinceName}}{{orderInfo.address.cityName}}{{orderInfo.address.regionName}}{{orderInfo.address.detail}}</span>
               </el-col>
             </el-row>
@@ -179,29 +179,28 @@
         </div>
 
         <div class="panel" v-if="orderInfo.expressInfo">
-          <div class="title">物流信息</div>
+          <div class="title">{{ $t('wu-liu-xin-xi') }}</div>
           <div class="content">
             <el-row class="row">
               <el-col :span="8">
-                <span class="head">物流公司:</span>
+                <span class="head">{{ $t('wu-liu-gong-si') }}:</span>
                 <span class="control-label" v-if="orderInfo.expressInfo.expressCompany">{{ orderInfo.expressInfo.expressCompany }}</span>
                 <span class="control-label" v-else>--</span>
               </el-col>
               <el-col :span="8">
-                <span class="head">物流单号:</span>
+                <span class="head">{{ $t('wu-liu-dan-hao') }}:</span>
                 <span class="control-label" v-if="orderInfo.expressInfo.expressNo">{{ orderInfo.expressInfo.expressNo }}</span>
                 <span class="control-label" v-else>--</span>
               </el-col>
               <el-col :span="8">
-                <span class="head">发货时间:</span>
+                <span class="head">{{ $t('fa-huo-shi-jian') }}:</span>
                 <span class="control-label">{{orderInfo.expressInfo.expressTime}}</span>
               </el-col>
             </el-row>
           </div>
         </div>
-
-    </div>
       </div>
+    </div>
   </el-dialog>
 </template>
 

+ 256 - 169
src/renderer/views/cashier/components/orderList.vue

@@ -1,49 +1,49 @@
 <template>
   <div class="order-container">
     <el-form class="search-form" :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <!-- <el-form-item label="会员ID" prop="name">
+      <!-- <el-form-item :label="$t('hui-yuan-ID')" prop="name">
         <el-input
             v-model="queryParams.userId"
-            placeholder="请输入会员ID"
+            :placeholder="$t('qing-shu-ru-hui-yuan-ID')"
             clearable
             @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="手机号" prop="mobile">
+      <el-form-item :label="$t('shou-ji-hao')" prop="mobile">
         <el-input
             v-model="queryParams.mobile"
-            placeholder="请输入会员手机号"
+            :placeholder="$t('qing-shu-ru-hui-yuan-shou-ji-hao')"
             clearable
             @keyup.enter.native="handleQuery"
         />
       </el-form-item> -->
-      <el-form-item label="订单号" prop="orderSn">
+      <el-form-item :label="$t('ding-dan-hao')" prop="orderSn">
         <el-input
             v-model="queryParams.orderSn"
-            placeholder="请输入订单号"
+            :placeholder="$t('qing-shu-ru-ding-dan-hao')"
             clearable
             @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="桌码" prop="tableCode">
+      <el-form-item :label="$t('zhuo-ma')" prop="tableCode">
         <el-input
             v-model="queryParams.tableCode"
-            placeholder="请输入桌码"
+            :placeholder="$t('qing-shu-ru-zhuo-ma')"
             clearable
             @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <!-- <el-form-item label="订单类型" prop="type">
+      <!-- <el-form-item :label="$t('ding-dan-lei-xing')" prop="type">
         <el-select
             v-model="queryParams.type"
             clearable
-            placeholder="订单类型"
+            :placeholder="$t('ding-dan-lei-xing')"
         >
           <el-option v-for="orderType in typeList" :key="orderType.key" :label="orderType.name" :value="orderType.value"/>
         </el-select>
       </el-form-item> -->
-      <!-- <el-form-item label="所属店铺" prop="storeIds">
-        <el-select v-model="storeIds" multiple filterable clearable placeholder="请选择店铺" style="width: 100%;">
+      <!-- <el-form-item :label="$t('suo-shu-dian-pu')" prop="storeIds">
+        <el-select v-model="storeIds" multiple filterable clearable :placeholder="$t('qing-xuan-ze-dian-pu')" style="width: 100%;">
           <el-option
               v-for="item in storeList"
               :key="item.id"
@@ -52,121 +52,125 @@
           ></el-option>
         </el-select>
       </el-form-item> -->
-      <el-form-item label="订单状态" prop="status">
+      <el-form-item :label="$t('ding-dan-zhuang-tai')" prop="status">
         <el-select
             v-model="queryParams.status"
-            placeholder="请选择订单状态"
+            :placeholder="$t('qing-xuan-ze-ding-dan-zhuang-tai')"
             clearable
         >
           <el-option v-for="statusItem in statusList" :key="statusItem.key+''" :label="statusItem.name" :value="statusItem.key+''"/>
         </el-select>
       </el-form-item>
-      <el-form-item label="支付状态" prop="payStatus">
+      <el-form-item :label="$t('zhi-fu-zhuang-tai')" prop="payStatus">
         <el-select
             v-model="queryParams.payStatus"
-            placeholder="支付状态"
+            :placeholder="$t('zhi-fu-zhuang-tai')"
             clearable
         >
           <el-option v-for="statusItem in payStatusList" :key="statusItem.key+''" :label="statusItem.name" :value="statusItem.key+''"/>
         </el-select>
       </el-form-item>
-      <!-- <el-form-item label="配送方式">
+      <!-- <el-form-item :label="$t('pei-song-fang-shi')">
         <el-select
             v-model="queryParams.orderMode"
-            placeholder="配送方式"
+            :placeholder="$t('pei-song-fang-shi')"
             clearable
         >
           <el-option v-for="item in orderModeList" :key="item.key+''" :label="item.name" :value="item.key+''"/>
         </el-select>
       </el-form-item> -->
       <el-form-item>
-        <el-button type="primary" class="main-button-middle" icon="el-icon-search" @click="handleQuery">查询</el-button>
-        <el-button icon="el-icon-refresh" class="main-button-middle main-button-reset" @click="resetQuery">重置</el-button>
+        <el-button type="primary" class="main-button-middle" icon="el-icon-search" @click="handleQuery">
+          {{ $t('cha-xun') }}
+        </el-button>
+        <el-button icon="el-icon-refresh" class="main-button-middle main-button-reset" @click="resetQuery">
+          {{ $t('chong-zhi') }}
+        </el-button>
       </el-form-item>
     </el-form>
     <el-table ref="tables" v-loading="loading" :data="list" border style="width: 100%;" fit height="100%" show-overflow-tooltip @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
-      <el-table-column label="ID" prop="id" width="80"/>
-      <el-table-column label="订单号"  align="center" width="190" prop="orderSn">
+      <el-table-column :label="$t('ID')" prop="id" width="80"/>
+      <el-table-column :label="$t('ding-dan-hao')"  align="center" width="190" prop="orderSn">
         <template slot-scope="scope">
           <span @click="handleView(scope.row)" style="color: #00afff;cursor: pointer;">{{ scope.row.orderSn }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="桌码" align="center" width="100" prop="tableInfo.code">
+      <el-table-column :label="$t('zhuo-ma')" align="center" width="100" prop="tableInfo.code">
         <template slot-scope="scope">
           <span v-if="scope.row.tableInfo">{{ scope.row.tableInfo.code }}</span>
           <span v-else>-</span>
         </template>
       </el-table-column>
-      <!-- <el-table-column label="会员名称" align="center" prop="orderInfo.name">
+      <!-- <el-table-column :label="$t('hui-yuan-ming-cheng')" align="center" prop="orderInfo.name">
         <template slot-scope="scope">
           <span v-if="scope.row.userInfo && scope.row.isVisitor == 'N'">
               <span>{{ scope.row.userInfo.name }}</span>
           </span>
-          <span v-else>游客</span>
+          <span v-else>{{ $t('you-ke') }}</span>
         </template>
       </el-table-column> -->
-      <el-table-column label="订单类型" align="center" prop="typeName">
+      <el-table-column :label="$t('ding-dan-lei-xing')" align="center" prop="typeName">
         <template slot-scope="scope">
           <span>{{ scope.row.typeName }}</span>
         </template>
       </el-table-column>
-      <!-- <el-table-column label="所属店铺" align="center" width="140" prop="storeInfo.name">
+      <!-- <el-table-column :label="$t('suo-shu-dian-pu')" align="center" width="140" prop="storeInfo.name">
         <template slot-scope="scope">
           <span v-if="scope.row.storeInfo">{{ scope.row.storeInfo.name }}</span>
           <span v-else>-</span>
         </template>
       </el-table-column> -->
-      <el-table-column label="总金额" align="center" prop="amount">
+      <el-table-column :label="$t('zong-jin-e')" align="center" prop="amount">
         <template slot-scope="scope">
           <span v-if="true">{{ scope.row.amount.toFixed(2) }}</span>
           <span v-else>0.00</span>
         </template>
       </el-table-column>
-      <!-- <el-table-column label="支付状态" align="center" width="80" prop="payStatus">
+      <!-- <el-table-column :label="$t('zhi-fu-zhuang-tai')" align="center" width="80" prop="payStatus">
         <template slot-scope="scope">
           <span v-if="scope.row.payStatus == 'B'" class="status-active">{{ getName(payStatusList, scope.row.payStatus) }}</span>
           <span v-else class="status-disabled">{{ getName(payStatusList, scope.row.payStatus) }}</span>
         </template>
       </el-table-column> -->
-      <el-table-column label="订单状态" align="center" width="80" prop="status">
+      <el-table-column :label="$t('ding-dan-zhuang-tai')" align="center" width="80" prop="status">
         <template slot-scope="scope">
           <span class="status-normal">{{ getName(statusList, scope.row.status) }}</span>
         </template>
       </el-table-column>
-      <!-- <el-table-column label="配送方式" align="center" prop="orderMode">
+      <!-- <el-table-column :label="$t('pei-song-fang-shi')" align="center" prop="orderMode">
         <template slot-scope="scope">
           <span>{{ getName(orderModeList, scope.row.orderMode) }}</span>
         </template>
       </el-table-column> -->
-      <el-table-column label="生成时间" align="center" width="130" prop="createTime">
+      <el-table-column :label="$t('sheng-cheng-shi-jian')" align="center" width="130" prop="createTime">
         <template slot-scope="scope">
           <span>{{ scope.row.createTime }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="支付金额" align="center" prop="payAmount">
+      <el-table-column :label="$t('zhi-fu-jin-e')" align="center" prop="payAmount">
         <template slot-scope="scope">
           <span v-if="true">{{ scope.row.payAmount.toFixed(2) }}</span>
           <span v-else>0.00</span>
         </template>
       </el-table-column>
-      <el-table-column label="优惠金额" align="center" prop="discount">
+      <el-table-column :label="$t('you-hui-jin-e')" align="center" prop="discount">
         <template slot-scope="scope">
           <span v-if="true">{{ scope.row.discount.toFixed(2) }}</span>
           <span v-else>0.00</span>
         </template>
       </el-table-column>
-      <!-- <el-table-column label="积分金额" align="center" prop="pointAmount">
+      <!-- <el-table-column :label="$t('ji-fen-jin-e')" align="center" prop="pointAmount">
         <template slot-scope="scope">
           <span v-if="true">{{ scope.row.pointAmount.toFixed(2) }}</span>
           <span v-else>0.00</span>
         </template>
       </el-table-column> -->
-      <el-table-column label="更新时间" align="center" width="130" prop="updateTime">
+      <el-table-column :label="$t('geng-xin-shi-jian')" align="center" width="130" prop="updateTime">
         <template slot-scope="scope">
           <span>{{ scope.row.updateTime }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="操作" align="left" width="138" fixed='right'>
+      <el-table-column :label="$t('cao-zuo')" align="left" width="138" fixed='right'>
         <template slot-scope="scope">
           <el-button
               size="mini"
@@ -174,7 +178,9 @@
               class="main-text"
               v-hasPermi="['cashier:index']"
               @click="handleUpdate(scope.row)"
-          >修改</el-button>
+          >
+            {{ $t('xiu-gai') }}
+          </el-button>
           <el-button
               v-if="scope.row.orderMode == 'express'"
               size="mini"
@@ -182,7 +188,9 @@
               class="main-text"
               v-hasPermi="['cashier:index']"
               @click="handleExpress(scope.row)"
-          >发货</el-button>
+          >
+            {{ $t('fa-huo') }}
+          </el-button>
           <!-- <el-button
               v-if="scope.row.orderMode == 'oneself'"
               type="text"
@@ -191,17 +199,29 @@
               v-hasPermi="['cashier:index']"
               :disabled="scope.row.isVerify == true"
               @click="handleVerify(scope.row)"
-          >核销</el-button> -->
+          >
+            {{ $t('he-xiao') }}
+          </el-button> -->
           <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['order:edit', 'order:delete']">
                 <span class="el-dropdown-link">
-                  <i class="el-icon-d-arrow-right el-icon--right"></i>更多
+                  <i class="el-icon-d-arrow-right el-icon--right"></i>{{ $t('geng-duo') }}
                 </span>
             <el-dropdown-menu slot="dropdown">
-              <el-dropdown-item command="handleView" icon="el-icon-view" v-hasPermi="['cashier:index']">查看详情</el-dropdown-item>
-              <el-dropdown-item command="handlePrint" icon="el-icon-printer" v-hasPermi="['cashier:index']">打印小票</el-dropdown-item>
-              <!-- <el-dropdown-item command="handlePay" v-if="scope.row.payStatus != 'B'" icon="el-icon-wallet" v-hasPermi="['cashier:index']">发起支付</el-dropdown-item> -->
-              <!-- <el-dropdown-item v-if="scope.row.payStatus == 'B'" command="handleRefund" icon="el-icon-s-order" v-hasPermi="['cashier:index']">立即退款</el-dropdown-item> -->
-              <!-- <el-dropdown-item v-if="scope.row.payStatus != 'B'" command="handleDelete" icon="el-icon-remove" v-hasPermi="['cashier:index']">删除订单</el-dropdown-item> -->
+              <el-dropdown-item command="handleView" icon="el-icon-view" v-hasPermi="['cashier:index']">
+                {{ $t('cha-kan-xiang-qing') }}
+              </el-dropdown-item>
+              <el-dropdown-item command="handlePrint" icon="el-icon-printer" v-hasPermi="['cashier:index']">
+                {{ $t('da-yin-xiao-piao') }}
+              </el-dropdown-item>
+              <!-- <el-dropdown-item command="handlePay" v-if="scope.row.payStatus != 'B'" icon="el-icon-wallet" v-hasPermi="['cashier:index']">
+                {{ $t('fa-qi-zhi-fu') }}
+              </el-dropdown-item> -->
+              <!-- <el-dropdown-item v-if="scope.row.payStatus == 'B'" command="handleRefund" icon="el-icon-s-order" v-hasPermi="['cashier:index']">
+                {{ $t('li-ji-tui-kuan') }}
+              </el-dropdown-item> -->
+              <!-- <el-dropdown-item v-if="scope.row.payStatus != 'B'" command="handleDelete" icon="el-icon-remove" v-hasPermi="['cashier:index']">
+                {{ $t('shan-chu-ding-dan') }}
+              </el-dropdown-item> -->
             </el-dropdown-menu>
           </el-dropdown>
         </template>
@@ -218,19 +238,80 @@
     />
 
     <!-- 修改对话框 start-->
+    <el-dialog :title="$t('xiu-gai-ding-dan')" :visible.sync="open" class="common-dialog" width="700px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('ding-dan-hao')" prop="orderSn">
+              <el-input v-model="form.orderSn" :placeholder="$t('ding-dan-hao')" disabled maxlength="100" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row v-if="form.orderMode && form.orderMode.length > 0">
+          <el-col :span="24">
+            <el-form-item :label="$t('ding-dan-mo-shi')" prop="orderMode">
+              <el-select v-model="form.orderMode" :placeholder="$t('ding-dan-mo-shi')">
+                <el-option v-for="item in orderModeList" :key="item.key+''" :label="item.name" :value="item.key+''"/>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('ding-dan-zong-jin-e')" prop="amount">
+              <el-input v-model="form.amount" :placeholder="$t('qing-shu-ru-ding-dan-zong-jin-e')" maxlength="100" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('you-hui-jin-e')" prop="discount">
+              <el-input v-model="form.discount" :placeholder="$t('qing-shu-ru-you-hui-jin-e')" maxlength="100" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('ding-dan-bei-zhu')" prop="remark">
+              <el-input v-model="form.remark" type="textarea" :placeholder="$t('qing-shu-ru-ding-dan-bei-zhu')"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item :label="$t('ding-dan-zhuang-tai')">
+              <el-select v-model="form.status" :placeholder="$t('ding-dan-zhuang-tai')">
+                <el-option v-for="statusItem in statusList" :key="statusItem.key+''" :label="statusItem.name" :value="statusItem.key+''"/>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" class="main-button" @click="submitForm">
+          {{ $t('que-ding') }}
+        </el-button>
+        <el-button @click="cancel">
+          {{ $t('qu-xiao') }}
+        </el-button>
+      </div>
+    </el-dialog>
+    <!-- 修改对话框 end-->
+
+    <!-- 修改对话框 start-->
     <el-dialog :title="title" :visible.sync="open" class="common-dialog" width="700px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
         <el-row>
           <el-col :span="24">
-            <el-form-item label="订单号" prop="orderSn">
-              <el-input v-model="form.orderSn" placeholder="订单号" disabled maxlength="100" />
+            <el-form-item :label="$t('ding-dan-hao')" prop="orderSn">
+              <el-input v-model="form.orderSn" :placeholder="$t('ding-dan-hao')" disabled maxlength="100" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row v-if="form.orderMode && form.orderMode.length > 0">
           <el-col :span="24">
-            <el-form-item label="订单模式" prop="orderMode">
-              <el-select v-model="form.orderMode" placeholder="订单模式">
+            <el-form-item :label="$t('ding-dan-mo-shi')" prop="orderMode">
+              <el-select v-model="form.orderMode" :placeholder="$t('ding-dan-mo-shi')">
                 <el-option v-for="item in orderModeList" :key="item.key+''" :label="item.name" :value="item.key+''"/>
               </el-select>
             </el-form-item>
@@ -238,29 +319,29 @@
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="订单总金额" prop="amount">
-              <el-input v-model="form.amount" placeholder="请输入订单总金额" maxlength="100" />
+            <el-form-item :label="$t('ding-dan-zong-jin-e')" prop="amount">
+              <el-input v-model="form.amount" :placeholder="$t('qing-shu-ru-ding-dan-zong-jin-e')" maxlength="100" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="优惠金额" prop="discount">
-              <el-input v-model="form.discount" placeholder="请输入优惠金额" maxlength="100" />
+            <el-form-item :label="$t('you-hui-jin-e')" prop="discount">
+              <el-input v-model="form.discount" :placeholder="$t('qing-shu-ru-you-hui-jin-e')" maxlength="100" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="订单备注" prop="remark">
-              <el-input v-model="form.remark" type="textarea" placeholder="请输入订单备注"></el-input>
+            <el-form-item :label="$t('ding-dan-bei-zhu')" prop="remark">
+              <el-input v-model="form.remark" type="textarea" :placeholder="$t('qing-shu-ru-ding-dan-bei-zhu')"></el-input>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="订单状态">
-              <el-select v-model="form.status" placeholder="订单状态">
+            <el-form-item :label="$t('ding-dan-zhuang-tai')">
+              <el-select v-model="form.status" :placeholder="$t('ding-dan-zhuang-tai')">
                 <el-option v-for="statusItem in statusList" :key="statusItem.key+''" :label="statusItem.name" :value="statusItem.key+''"/>
               </el-select>
             </el-form-item>
@@ -268,123 +349,123 @@
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" class="main-button" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
+        <el-button type="primary" class="main-button" @click="submitForm">{{ $t('que-ding') }}</el-button>
+        <el-button @click="cancel">{{ $t('qu-xiao') }}</el-button>
       </div>
     </el-dialog>
     <!-- 修改对话框 end-->
 
     <!-- 核销对话框 start-->
-    <el-dialog title="核销订单" :visible.sync="openVerify" class="common-dialog" width="700px" append-to-body>
+    <el-dialog :title="$t('he-xiao-ding-dan')" :visible.sync="openVerify" class="common-dialog" width="700px" append-to-body>
       <el-form ref="vForm" :model="vForm" :rules="vFormRules" label-width="120px">
         <el-row>
           <el-col :span="24">
-            <el-form-item label="订单号" prop="orderSn">
-              <el-input v-model="vForm.orderSn" placeholder="订单号" disabled maxlength="100" />
+            <el-form-item :label="$t('ding-dan-hao')" prop="orderSn">
+              <el-input v-model="vForm.orderSn" :placeholder="$t('ding-dan-hao')" disabled maxlength="100" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="核销码" prop="verifyCode">
-              <el-input v-model="vForm.verifyCode" placeholder="请输入订单核销码" maxlength="100" />
+            <el-form-item :label="$t('he-xiao-ma')" prop="verifyCode">
+              <el-input v-model="vForm.verifyCode" :placeholder="$t('qing-shu-ru-ding-dan-he-xiao-ma')" maxlength="100" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="订单备注" prop="remark">
-              <el-input v-model="vForm.remark" type="textarea" placeholder="请输入订单备注"></el-input>
+            <el-form-item :label="$t('ding-dan-bei-zhu')" prop="remark">
+              <el-input v-model="vForm.remark" type="textarea" :placeholder="$t('qing-shu-ru-ding-dan-bei-zhu')"></el-input>
             </el-form-item>
           </el-col>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" class="main-button" @click="submitVForm">确定核销</el-button>
-        <el-button @click="cancelVForm">取 消</el-button>
+        <el-button type="primary" class="main-button" @click="submitVForm">{{ $t('que-ding-he-xiao') }}</el-button>
+        <el-button @click="cancelVForm">{{ $t('qu-xiao') }}</el-button>
       </div>
     </el-dialog>
     <!-- 核销对话框 end-->
 
     <!-- 发货对话框 start-->
-    <el-dialog title="填写物流信息" :visible.sync="openExpress" class="common-dialog" width="700px" append-to-body>
+    <el-dialog :title="$t('tian-xie-wu-liu-xin-xi')" :visible.sync="openExpress" class="common-dialog" width="700px" append-to-body>
       <el-form ref="eForm" :model="eForm" :rules="eFormRules" label-width="120px">
         <el-row>
           <el-col :span="24">
-            <el-form-item label="订单号" prop="orderSn">
-              <el-input v-model="eForm.orderSn" placeholder="订单号" disabled maxlength="100" />
+            <el-form-item :label="$t('ding-dan-hao')" prop="orderSn">
+              <el-input v-model="eForm.orderSn" :placeholder="$t('ding-dan-hao')" disabled maxlength="100" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="物流公司" prop="expressCompany">
-              <el-input v-model="eForm.expressCompany" placeholder="请输入物流公司" maxlength="100" />
+            <el-form-item :label="$t('wu-liu-gong-si')" prop="expressCompany">
+              <el-input v-model="eForm.expressCompany" :placeholder="$t('qing-shu-ru-wu-liu-gong-si')" maxlength="100" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="物流单号" prop="expressNo">
-              <el-input v-model="eForm.expressNo" placeholder="请输入物流单号"></el-input>
+            <el-form-item :label="$t('wu-liu-dan-hao')" prop="expressNo">
+              <el-input v-model="eForm.expressNo" :placeholder="$t('qing-shu-ru-wu-liu-dan-hao')"></el-input>
             </el-form-item>
           </el-col>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitEForm">提交物流信息</el-button>
-        <el-button @click="cancelEForm">取 消</el-button>
+        <el-button type="primary" @click="submitEForm">{{ $t('ti-jiao-wu-liu-xin-xi') }}</el-button>
+        <el-button @click="cancelEForm">{{ $t('qu-xiao') }}</el-button>
       </div>
     </el-dialog>
-    <!-- 核销对话框 end-->
+    <!-- 发货对话框 end-->
 
     <!--打印订单对话框 start-->
     <orderPrintDialog :show-dialog="openOrderPrintDialog" :storeInfo="storeInfo" :orderInfo="orderInfo" @closeDialog="closePrintDialog"/>
     <!--打印订单对话框 end-->
 
     <!-- 退款对话框 start -->
-    <el-dialog title="订单退款" :visible.sync="openRefundDialog" class="common-dialog" width="700px" append-to-body>
+    <el-dialog :title="$t('ding-dan-tui-kuan')" :visible.sync="openRefundDialog" class="common-dialog" width="700px" append-to-body>
       <el-form ref="rForm" :model="rForm" :rules="rFormRules" label-width="120px">
         <el-row>
           <el-col :span="24">
-            <el-form-item label="订单号" prop="orderSn" style="width:450px;">
-              <el-input v-model="rForm.orderSn" placeholder="订单号" disabled maxlength="100" />
+            <el-form-item :label="$t('ding-dan-hao')" prop="orderSn" style="width:450px;">
+              <el-input v-model="rForm.orderSn" :placeholder="$t('ding-dan-hao')" disabled maxlength="100" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="支付方式" prop="payType" style="width:450px;">
-              <el-input v-model="rForm.payType" placeholder="支付方式" disabled maxlength="100" />
+            <el-form-item :label="$t('zhi-fu-fang-shi')" prop="payType" style="width:450px;">
+              <el-input v-model="rForm.payType" :placeholder="$t('zhi-fu-fang-shi')" disabled maxlength="100" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="实付金额" prop="payAmount" style="width:450px;">
-              <el-input v-model="'¥' + rForm.payAmount" placeholder="订单实付金额" disabled maxlength="100" />
+            <el-form-item :label="$t('ding-dan-shi-fu-jin-e')" prop="payAmount" style="width:450px;">
+              <el-input v-model="'¥' + rForm.payAmount" :placeholder="$t('ding-dan-shi-fu-jin-e')" disabled maxlength="100" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="退款金额" prop="refundAmount" style="width:450px;">
-              <el-input v-model="rForm.refundAmount" placeholder="请输入退款金额"></el-input>
-              <div class="form-tips">( 提示:单位元 )</div>
+            <el-form-item :label="$t('tui-kuan-jin-e')" prop="refundAmount" style="width:450px;">
+              <el-input v-model="rForm.refundAmount" :placeholder="$t('qing-shu-ru-tui-kuan-jin-e')"></el-input>
+              <div class="form-tips">{{ $t('tui-kuan-jin-e-tips') }}</div>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-form-item label="退款备注" prop="remark">
-              <el-input v-model="rForm.remark" type="textarea" placeholder="请输入退款备注"></el-input>
+            <el-form-item :label="$t('tui-kuan-bei-zhu')" prop="remark">
+              <el-input v-model="rForm.remark" type="textarea" :placeholder="$t('qing-shu-ru-tui-kuan-bei-zhu')"></el-input>
             </el-form-item>
           </el-col>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" class="main-button" @click="submitRForm">确 定</el-button>
-        <el-button @click="cancelRForm">取 消</el-button>
+        <el-button type="primary" class="main-button" @click="submitRForm">{{ $t('que-ding') }}</el-button>
+        <el-button @click="cancelRForm">{{ $t('qu-xiao') }}</el-button>
       </div>
     </el-dialog>
     <!-- 退款对话框 end -->
@@ -392,7 +473,7 @@
     <!--订单详情对话框 start-->
     <orderDetail :show-dialog="openOrderDetailDialog" :order-id="orderInfo ? orderInfo.id+'' : 0" @closeDialog="closeOrderDialog"/>
     <!--订单详情对话框 end-->
-  </div>
+    </div>
 </template>
 
 <script>
@@ -472,31 +553,31 @@ export default {
         storeIds: ''
       },
       // 表单校验
-      rules: {
-        amount: [
-          { required: true, message: "总金额不能为空", trigger: "blur" },
-        ]
-      },
-      // 核销表单校验
-      vFormRules: {
-        verifyCode: [
-          { required: true, message: "核销码不能为空", trigger: "blur" },
-        ]
-      },
-      eFormRules: {
-        expressCompany: [
-          { required: true, message: "物流公司不能为空", trigger: "blur" },
-        ],
-        expressNo: [
-          { required: true, message: "物流单号不能为空", trigger: "blur" },
-        ]
-      },
-      rFormRules: {
-        refundAmount: [
-          { required: true, message: "退款金额不能为空", trigger: "blur" },
-          { pattern: /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/, message: `请输入正确的退款金额`, trigger: 'blur' }
-        ]
-      }
+rules: {
+    amount: [
+        { required: true, message: this.$t("zong-jin-e-bu-neng-wei-kong"), trigger: "blur" },
+    ]
+},
+// 核销表单校验
+vFormRules: {
+    verifyCode: [
+        { required: true, message: this.$t("he-xiao-ma-bu-neng-wei-kong"), trigger: "blur" },
+    ]
+},
+eFormRules: {
+    expressCompany: [
+        { required: true, message: this.$t("wu-liu-gong-si-bu-neng-wei-kong"), trigger: "blur" },
+    ],
+    expressNo: [
+        { required: true, message: this.$t("wu-liu-dan-hao-bu-neng-wei-kong"), trigger: "blur" },
+    ]
+},
+rFormRules: {
+    refundAmount: [
+        { required: true, message: this.$t("tui-kuan-jin-e-bu-neng-wei-kong"), trigger: "blur" },
+        { pattern: /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/, message: this.$t("qing-shu-ru-zheng-que-de-tui-kuan-jin-e"), trigger: 'blur' }
+    ]
+}
     };
   },
   created() {
@@ -543,18 +624,21 @@ export default {
     },
     // 状态修改
     handleStatusChange(row) {
-      let text = row.status == "A" ? "启用" : "禁用";
-      this.$confirm('确认要' + text + '"' + row.orderSn + '"吗?').then(function() {
-        return updateOrderStatus(row.id, row.status);
-      }).then(() => {
-        Message({
-          message: text + "成功",
-          type: "success"
+    let text = row.status === "A" ? this.$t('qi-yong') : this.$t('jin-yong');
+    this.$confirm(this.$t('que-ren-yao') + text + '"' + row.orderSn + '"' + this.$t('ma') + '?')
+      .then(() => {
+            return updateOrderStatus(row.id, row.status);
+        })
+      .then(() => {
+            this.$message({
+                message: text + this.$t('cheng-gong'),
+                type: "success"
+            });
+        })
+      .catch(() => {
+            row.status = row.status === "N" ? "A" : "N";
         });
-      }).catch(function() {
-        row.status = row.status === "N" ? "A" : "N";
-      });
-    },
+},
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map(item => item.id)
@@ -597,7 +681,7 @@ export default {
         if (valid) {
           verifyOrder(this.vForm).then(response => {
             Message({
-              message: "提示:核销成功",
+              message: this.$t('ti-shi-he-xiao-cheng-gong'),
               type: "success"
             });
             this.cancelVForm();
@@ -614,7 +698,7 @@ export default {
         if (valid) {
           saveOrder(this.form).then(response => {
             Message({
-              message: "提示:修改成功",
+              message: this.$t('ti-shi-xiu-gai-cheng-gong'),
               type: "success"
             });
             this.open = false;
@@ -648,7 +732,7 @@ export default {
             app.form.orderMode = orderInfo.orderMode+"";
         }
         this.open = true;
-        this.title = "修改订单";
+        this.title = this.$t('xiu-gai-ding-dan');
       }).catch(() => {
          // empty
       });
@@ -698,14 +782,14 @@ export default {
     submitEForm: function() {
       const app = this;
       if (app.loading) {
-          app.$alert("请求处理中...");
+          app.$alert(this.$t('qing-qiu-chu-li-zhong'));
       }
       app.$refs["eForm"].validate(valid => {
         if (valid) {
           app.loading = true;
           delivered(this.eForm).then(response => {
             Message({
-              message: "提示:提交物流信息成功",
+              message: this.$t('ti-shi-ti-jiao-wu-liu-xin-xi-cheng-gong'),
               type: "success"
             });
             app.cancelEForm();
@@ -726,43 +810,46 @@ export default {
       this.rForm.remark = '';
     },
     // 提交退款按钮
-    submitRForm: function() {
-      const app = this;
-      if (app.loading) {
-          app.$alert("请求处理中...");
-      }
-      if (parseFloat(app.rForm.refundAmount) > parseFloat(app.rForm.amount)) {
-          app.$alert("退款金额不能大于订单总金额");
-          return false;
-      }
-      app.$refs["rForm"].validate(valid => {
+submitRForm: function() {
+    const app = this;
+    if (app.loading) {
+        app.$alert(this.$t('qing-qiu-chu-li-zhong'));
+    }
+    if (parseFloat(app.rForm.refundAmount) > parseFloat(app.rForm.amount)) {
+        app.$alert(this.$t('tui-kuan-jin-e-bu-neng-da-yu-ding-dan-zong-jin-e'));
+        return false;
+    }
+    app.$refs["rForm"].validate(valid => {
         if (valid) {
-          app.loading = true;
-          doRefund(app.rForm).then(response => {
-            Message({
-              message: "提示:提交退款成功",
-              type: "success"
+            app.loading = true;
+            doRefund(app.rForm).then(response => {
+                this.$message({
+                    message: this.$t('ti-shi-tui-jiao-tui-kuan-cheng-gong'),
+                    type: "success"
+                });
+                app.cancelRForm();
+                app.getList();
+                app.loading = false;
             });
-            app.cancelRForm();
-            app.getList();
-            app.loading = false;
-          });
         }
-      });
-    },
-    // 删除按钮操作
-    handleDelete(row) {
-      const orderSn = row.orderSn;
-      this.$confirm('是否确认删除订单号为"' + orderSn + '"的数据项?').then(function() {
-        return deleteOrder(row.id);
-      }).then(() => {
-        this.getList();
-        Message({
-          message: "提示:删除成功",
-          type: "success"
-        });
-      }).catch(() => {});
-    },
+    });
+},
+// 删除按钮操作
+handleDelete(row) {
+    const orderSn = row.orderSn;
+    this.$confirm(this.$t('shi-fou-que-ren-shan-chu-ding-dan-hao-wei') + '"' + orderSn + '"' + this.$t('de-shu-ju-xiang') + '?')
+      .then(() => {
+            return deleteOrder(row.id);
+        })
+      .then(() => {
+            this.getList();
+            this.$message({
+                message: this.$t('ti-shi-shan-chu-cheng-gong'),
+                type: "success"
+            });
+        })
+      .catch(() => {});
+},
     // 打印小票
     handlePrint(row) {
       const app = this;

+ 72 - 72
src/renderer/views/cashier/components/orderPrintDialog.vue

@@ -1,83 +1,83 @@
 <template>
-    <el-dialog class="common-dialog" title="订单打印预览" :visible="showDialog" width="380px" @close="cancel" append-to-body destroy-on-close>
-        <div v-if="orderInfo.id" class="print-area" id="printArea">
-            <div class="base-info">
-                <div class="name" v-if="storeInfo">{{ storeInfo.name }}</div>
-                <div class="table" v-if="orderInfo.tableInfo"><span>桌码:</span>{{ orderInfo.tableInfo.code }}</div>
-                <div class="no"><span>单号:</span>{{ orderInfo.orderSn }}</div>
+  <el-dialog class="common-dialog" :title="$t('ding-dan-da-yin-yu-lan')" :visible="showDialog" width="380px" @close="cancel" append-to-body destroy-on-close>
+      <div v-if="orderInfo.id" class="print-area" id="printArea">
+          <div class="base-info">
+              <div class="name" v-if="storeInfo">{{ storeInfo.name }}</div>
+              <div class="table" v-if="orderInfo.tableInfo"><span>{{ $t('zhuo-ma') }}:</span>{{ orderInfo.tableInfo.code }}</div>
+              <div class="no"><span>{{ $t('dan-hao') }}:</span>{{ orderInfo.orderSn }}</div>
+          </div>
+          <div>****************************************</div>
+          <div class="goods-list" v-if="orderInfo.goods.length > 0">
+            <div class="goods-item" v-for="(goodsInfo, index) in orderInfo.goods">
+              <span class="item">{{ index+1 }}.{{ goodsInfo.name }}</span>
+              <span class="item">x{{ goodsInfo.num }}</span>
+              <span class="item">¥{{ goodsInfo.price }}</span>
             </div>
-            <div>****************************************</div>
-            <div class="goods-list" v-if="orderInfo.goods.length > 0">
-              <div class="goods-item" v-for="(goodsInfo, index) in orderInfo.goods">
-                <span class="item">{{ index+1 }}.{{ goodsInfo.name }}</span>
-                <span class="item">x{{ goodsInfo.num }}</span>
-                <span class="item">¥{{ goodsInfo.price }}</span>
-              </div>
-            </div>
-            <div v-if="orderInfo.goods.length > 0">****************************************</div>
-            <div class="member-info">
-              <div class="item" v-if="orderInfo.isVisitor == 'N'"><span class="t">会员名称:</span>{{ orderInfo.userInfo.name }}</div>
-              <div class="item" v-if="orderInfo.isVisitor == 'N'"><span class="t">会员号码:</span>{{ orderInfo.userInfo.userNo ? orderInfo.userInfo.userNo : '-' }}</div>
-              <div class="item" v-if="orderInfo.isVisitor == 'Y'"><span class="t">会员信息:</span>无</div>
-            </div>
-            <div v-if="orderInfo.orderMode == 'express' && orderInfo.address">****************************************</div>
-            <div class="address-info" v-if="orderInfo.orderMode == 'express' && orderInfo.address">
-              <div class="item">收货人名:{{ orderInfo.address.name ? orderInfo.address.name : '-' }}</div>
-              <div class="item">联系电话:{{ orderInfo.address.mobile ? orderInfo.address.mobile : '无' }}</div>
-              <div class="item">详细地址:{{orderInfo.address.provinceName}}{{orderInfo.address.cityName}}{{orderInfo.address.regionName}}{{orderInfo.address.detail}}</div>
-            </div>
-            <div>****************************************</div>
-            <div class="total-info">
-              <div class="item">订单类型:{{ orderInfo.typeName }}</div>
-              <div class="item">订单时间:{{ orderInfo.createTime }}</div>
-              <div class="item">优惠金额:<span class="discount">¥{{ orderInfo.discount.toFixed(2) }}</span></div>
-              <div class="item">应收金额:<span class="amount">¥{{ orderInfo.payAmount.toFixed(2) }}</span></div>
-            </div>
-        </div>
-        <div slot="footer" class="dialog-footer">
-            <el-button type="primary" class="main-button" @click="handlePrint(printObj)" v-print="printObj">打印</el-button>
-            <el-button @click="cancel()">取消</el-button>
-        </div>
-    </el-dialog>
+          </div>
+          <div v-if="orderInfo.goods.length > 0">****************************************</div>
+          <div class="member-info">
+            <div class="item" v-if="orderInfo.isVisitor == 'N'"><span class="t">{{ $t('hui-yuan-ming-cheng') }}:</span>{{ orderInfo.userInfo.name }}</div>
+            <div class="item" v-if="orderInfo.isVisitor == 'N'"><span class="t">{{ $t('hui-yuan-hao-ma') }}:</span>{{ orderInfo.userInfo.userNo ? orderInfo.userInfo.userNo : '-' }}</div>
+            <div class="item" v-if="orderInfo.isVisitor == 'Y'"><span class="t">{{ $t('hui-yuan-xin-xi') }}:</span>{{ $t('wu') }}</div>
+          </div>
+          <div v-if="orderInfo.orderMode == 'express' && orderInfo.address">****************************************</div>
+          <div class="address-info" v-if="orderInfo.orderMode == 'express' && orderInfo.address">
+            <div class="item">{{ $t('shou-huo-ren-ming') }}:{{ orderInfo.address.name ? orderInfo.address.name : '-' }}</div>
+            <div class="item">{{ $t('lian-xi-dian-hua') }}:{{ orderInfo.address.mobile ? orderInfo.address.mobile : $t('wu') }}</div>
+            <div class="item">{{ $t('xiang-xi-di-zhi') }}:{{orderInfo.address.provinceName}}{{orderInfo.address.cityName}}{{orderInfo.address.regionName}}{{orderInfo.address.detail}}</div>
+          </div>
+          <div>****************************************</div>
+          <div class="total-info">
+            <div class="item">{{ $t('ding-dan-lei-xing') }}:{{ orderInfo.typeName }}</div>
+            <div class="item">{{ $t('ding-dan-shi-jian') }}:{{ orderInfo.createTime }}</div>
+            <div class="item">{{ $t('you-hui-jin-e') }}:<span class="discount">¥{{ orderInfo.discount.toFixed(2) }}</span></div>
+            <div class="item">{{ $t('ying-shou-jin-e') }}:<span class="amount">¥{{ orderInfo.payAmount.toFixed(2) }}</span></div>
+          </div>
+      </div>
+      <div slot="footer" class="dialog-footer">
+          <el-button type="primary" class="main-button" @click="handlePrint(printObj)" v-print="printObj">{{ $t('da-yin') }}</el-button>
+          <el-button @click="cancel()">{{ $t('qu-xiao') }}</el-button>
+      </div>
+  </el-dialog>
 </template>
 <script>
 export default {
-    props: {
-      showDialog: {
-        type:[Boolean],
-        default:()=>false
-      },
-      orderInfo: {
-        type:[Object],
-        default:()=>{}
-      },
-      storeInfo: {
-        type:[Object],
-        default:()=>{}
-      }
+  props: {
+    showDialog: {
+      type:[Boolean],
+      default:()=>false
     },
-    data(){
-        return {
-          printObj: {
-            id: "printArea",
-            popTitle: '订单明细',
-            extraCss: '',
-            preview: false,
-            previewTitle: '预览的标题',
-            previewPrintBtnLabel: '预览结束,开始打印',
-            extraHead: '',
-            standard: 'loose'
-          }
-        }
+    orderInfo: {
+      type:[Object],
+      default:()=>{}
     },
-    methods: {
-        handlePrint() {
-           this.$emit('closeDialog', 'printOrder');
-        },
-        cancel() {
-           this.$emit('closeDialog', 'printOrder');
-        }
+    storeInfo: {
+      type:[Object],
+      default:()=>{}
     }
+  },
+  data(){
+      return {
+        printObj: {
+          id: "printArea",
+          popTitle: this.$t('ding-dan-ming-xi'),
+          extraCss: '',
+          preview: false,
+          previewTitle: this.$t('yu-lan-de-biao-ti'),
+          previewPrintBtnLabel: this.$t('yu-lan-jie-shu-kai-shi-da-yin'),
+          extraHead: '',
+          standard: 'loose'
+        }
+      }
+  },
+  methods: {
+      handlePrint() {
+         this.$emit('closeDialog', 'printOrder');
+      },
+      cancel() {
+         this.$emit('closeDialog', 'printOrder');
+      }
+  }
 }
 </script>
 <style scoped lang="scss">

+ 8 - 8
src/renderer/views/cashier/components/settlementDialog.vue

@@ -62,7 +62,7 @@
               </svg>
               <div class="name">现金支付</div>
             </div>
-            <div
+            <!-- <div
               :class="'pay-item' + (payType == 'BALANCE' ? ' active' : '')"
               @click="selectPayType('BALANCE')"
             >
@@ -132,13 +132,13 @@
                 ></path>
               </svg>
               <div class="name">支付宝支付</div>
-            </div>
+            </div> -->
           </div>
         </div>
         <div class="main">
           <div class="title">结算信息</div>
           <div class="content">
-            <div class="coupon-info">
+            <!-- <div class="coupon-info">
               <div>
                 可用卡券:
                 <span class="num">({{ memberInfo ? couponList.length : 0 }})</span>
@@ -153,7 +153,7 @@
                   clearable
                 />
               </el-form-item>
-            </div>
+            </div> -->
             <div class="remark-info">
               <div>备注信息:</div>
               <el-form-item class="form-item" prop="remark">
@@ -167,7 +167,7 @@
               </el-form-item>
             </div>
             <div class="discount-info">
-              <el-row>
+              <!-- <el-row>
                 <el-col :span="12">
                   <div>折扣:(折)</div>
                   <el-form-item class="form-item" prop="discount">
@@ -192,7 +192,7 @@
                     />
                   </el-form-item>
                 </el-col>
-              </el-row>
+              </el-row> -->
             </div>
             <div class="amount-info">
               <span class="discount-amount">
@@ -206,7 +206,7 @@
             </div>
           </div>
         </div>
-        <div class="right">
+        <!-- <div class="right">
           <div class="title">会员信息</div>
           <div class="content">
             <div class="member-info" v-if="memberInfo">
@@ -284,7 +284,7 @@
               </el-button>
             </div>
           </div>
-        </div>
+        </div> -->
       </div>
     </el-form>
     <div slot="footer" class="dialog-footer">

+ 2 - 25
src/renderer/views/cashier/index.vue

@@ -351,8 +351,6 @@ import {
   doPay,
   getMemberInfoById,
 } from '@/api/cashier'
-import { Message } from 'element-ui'
-import { useUserStore } from '@/store/user'
 import { getOrderInfo } from '@/api/order'
 import { getUserId, setUserId, removeUserId } from '@/utils/auth'
 import switchMemberDialog from './components/switchMemberDialog'
@@ -366,8 +364,6 @@ import memberList from './components/memberList'
 import couponConfirm from './components/couponConfirm'
 import noGoodsCashier from './components/noGoodsCashier'
 import bindStaffDialog from './components/bindStaffDialog'
-
-const { logOut } = useUserStore()
 export default {
   name: 'Cashier',
   components: {
@@ -549,27 +545,8 @@ export default {
     },
     // 菜单切换
     switchMenu(menuKey) {
-      if (menuKey == 'exit') {
-        this.$confirm('确定注销并退出系统吗?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning',
-        })
-          .then(() => {
-            logOut().then(() => {
-              Message({
-                message: '退出成功',
-                type: 'success',
-              })
-              removeUserId()
-              this.$router.push('/login')
-            })
-          })
-          .catch(() => {})
-      } else {
-        this.activeMenu = menuKey
-        return menuKey
-      }
+      this.activeMenu = menuKey
+      return menuKey
     },
     // tab切换
     switchTab(el) {

+ 8 - 8
src/renderer/views/login/index.vue

@@ -20,7 +20,7 @@
             clearable
             v-model="loginForm.username"
             autocomplete="on"
-            placeholder="用户名"
+            :placeholder="$t('yong-hu-ming')"
           />
         </el-form-item>
         <el-form-item prop="password">
@@ -34,7 +34,7 @@
             @keyup.enter.native="handleLogin()"
             v-model="loginForm.password"
             autocomplete="on"
-            placeholder="密码"
+            :placeholder="$t('mi-ma')"
           ></el-input>
           <span class="show-pwd" @click="showPwd()">
             <svg-icon :icon-class="pwdType === 'password' ? 'eye' : 'eye-open'" />
@@ -47,7 +47,7 @@
           <el-input
             v-model="loginForm.captchaCode"
             auto-complete="off"
-            placeholder="请输入验证码"
+            :placeholder="$t('qing-shu-ru-yan-zheng-ma-0')"
             style="width: 63%"
             clearable
             @keyup.enter.native="handleLogin"
@@ -57,7 +57,7 @@
           </div>
         </el-form-item>
         <div class="login-btn">
-          <button type="button" class="btn" @click="handleLogin()">立即登录</button>
+          <button type="button" class="btn" @click="handleLogin()">{{ $t('li-ji-deng-lu') }}</button>
         </div>
         <div class="tips">
           <!-- <span>Copyright © 2020-2024 <a target="_blank" href="https://www.fuint.cn">fuint.cn</a> 延禾技术 All Rights Reserved.</span> -->
@@ -82,11 +82,11 @@ export default {
       codeUrl: '',
       pwdType: 'password',
       loginRules: {
-        username: [{ required: true, trigger: 'blur', message: '请输入您的账号' }],
-        password: [{ required: true, trigger: 'blur', message: '请输入您的密码' }],
+        username: [{ required: true, trigger: 'blur', message: this.$t('qing-shu-ru-nin-de-zhang-hao') }],
+        password: [{ required: true, trigger: 'blur', message: this.$t('qing-shu-ru-nin-de-mi-ma') }],
         captchaCode: [
-          { required: true, trigger: 'change', message: '请输入验证码' },
-          { min: 4, max: 6, message: '请输入正确验证码', trigger: 'blur' },
+          { required: true, trigger: 'change', message: this.$t('qing-shu-ru-yan-zheng-ma') },
+          { min: 4, max: 6, message: this.$t('qing-shu-ru-zheng-que-yan-zheng-ma'), trigger: 'blur' },
         ],
       },
     }