Procházet zdrojové kódy

✨ feat(unit): 动态展示货币符号信息

陈雪 před 1 týdnem
rodič
revize
df75372312

+ 6 - 0
src/renderer/store/user.js

@@ -11,7 +11,11 @@ export const useUserStore = defineStore({
     token: localStorage.getItem(TokenKey) || '',
     name: localStorage.getItem('name') || '',
     roles: localStorage.getItem('roles') ? JSON.parse(localStorage.getItem('roles')) : [],
+    currencySymbol: localStorage.getItem('currencySymbol') || '',
   }),
+  getters: {
+    getSymbol: ({ currencySymbol }) => currencySymbol,
+  },
   actions: {
     login(data) {
       return new Promise((resolve, reject) => {
@@ -57,11 +61,13 @@ export const useUserStore = defineStore({
           .then((res) => {
             const user = res.data.accountInfo
             localStorage.setItem('name', user.accountName)
+            localStorage.setItem('currencySymbol', user.currencySymbol)
             localStorage.setItem('permissions', JSON.stringify(res.data.permissions))
             localStorage.setItem('roles', JSON.stringify(res.data.roles))
             this.name = user.accountName
             this.roles = res.data.roles
             this.permissions = res.data.permissions
+            this.currencySymbol = user.currencySymbol
             resolve(this.roles)
           })
           .catch((error) => {

+ 77 - 53
src/renderer/views/cashier/components/balanceRecharge.vue

@@ -1,6 +1,14 @@
 <template>
   <!-- 充值对话框 -->
-  <el-dialog class="common-dialog" title="余额充值/扣减" :visible.sync="showDialog" width="700px" @close="cancel" append-to-body destroy-on-close>
+  <el-dialog
+    class="common-dialog"
+    title="余额充值/扣减"
+    :visible.sync="showDialog"
+    width="700px"
+    @close="cancel"
+    append-to-body
+    destroy-on-close
+  >
     <el-form ref="form" :model="form" :rules="rules" label-width="120px">
       <el-row>
         <el-col :span="24">
@@ -12,7 +20,7 @@
       <el-row>
         <el-col :span="24">
           <el-form-item label="可用余额:" prop="balance">
-            <span>{{ memberInfo.balance.toFixed(2) }}</span>
+            <span>{{ $pinia._s.get('user').getSymbol }}{{ memberInfo.balance.toFixed(2) }}</span>
           </el-form-item>
         </el-col>
       </el-row>
@@ -29,14 +37,25 @@
       <el-row>
         <el-col :span="24">
           <el-form-item label="变更金额:" prop="amount">
-            <el-input v-model="form.amount" placeholder="请输入变更金额" style="width: 200px" maxlength="100" />
+            <el-input
+              v-model="form.amount"
+              placeholder="请输入变更金额"
+              style="width: 200px"
+              maxlength="100"
+            />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row>
         <el-col :span="24">
           <el-form-item class="recharge-item" prop="remark" label="备注信息:">
-            <el-input v-model="form.remark" type="textarea" rows="2" placeholder="请输入备注信息" maxlength="255" />
+            <el-input
+              v-model="form.remark"
+              type="textarea"
+              rows="2"
+              placeholder="请输入备注信息"
+              maxlength="255"
+            />
           </el-form-item>
         </el-col>
       </el-row>
@@ -49,19 +68,19 @@
 </template>
 
 <script>
-import { doRecharge } from "@/api/balance";
-import { getMemberInfo } from "@/api/member";
+import { doRecharge } from '@/api/balance'
+import { getMemberInfo } from '@/api/member'
 export default {
-  name: "balanceRecharge",
+  name: 'balanceRecharge',
   props: {
-    showDialog:{
-      type:[Boolean],
-      default:()=>false
+    showDialog: {
+      type: [Boolean],
+      default: () => false,
+    },
+    userId: {
+      type: [String],
+      default: () => '',
     },
-    userId:{
-      type:[String],
-      default:()=> ''
-    }
   },
   data() {
     return {
@@ -72,64 +91,69 @@ export default {
       form: { type: '1', amount: '', userId: '' },
       // 表单校验
       rules: {
-        userId: [
-          { required: true, message: "请选择会员", trigger: "blur" },
-        ],
+        userId: [{ required: true, message: '请选择会员', trigger: 'blur' }],
         amount: [
-          { required: true, message: "金额不能为空", trigger: "blur" },
+          { required: true, message: '金额不能为空', trigger: 'blur' },
           { min: 1, max: 6, message: '请在1至99999元范围内输入', trigger: 'blur' },
-          { pattern: /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/, message: `请输入正确的金额`, trigger: 'blur' }
-        ]
-      }
-    };
+          {
+            pattern: /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/,
+            message: `请输入正确的金额`,
+            trigger: 'blur',
+          },
+        ],
+      },
+    }
   },
   watch: {
     showDialog(value) {
       if (value) {
-          this.getMemberInfo()
+        this.getMemberInfo()
       }
-    }
+    },
   },
   methods: {
     // 查询会员信息
     getMemberInfo() {
-      this.loading = true;
-      getMemberInfo(this.userId).then(response => {
-          this.form.userId = response.data.memberInfo.id;
-          this.memberInfo = response.data.memberInfo;
-          this.loading = false;
-        }
-      ).catch((err) => {
-          this.loading = false;
-          console.log(err.toString());
-      });
+      this.loading = true
+      getMemberInfo(this.userId)
+        .then((response) => {
+          this.form.userId = response.data.memberInfo.id
+          this.memberInfo = response.data.memberInfo
+          this.loading = false
+        })
+        .catch((err) => {
+          this.loading = false
+          console.log(err.toString())
+        })
     },
     // 取消按钮
     cancel() {
-      this.$emit('closeDialog','balance');
+      this.$emit('closeDialog', 'balance')
     },
     // 充值表单
     reset() {
-      this.form.userId = '';
-      this.form.type = '1';
-      this.form.amount = '';
-      this.form.remark = '';
-      this.memberInfo = { name: '', id: '', balance: 0 };
+      this.form.userId = ''
+      this.form.type = '1'
+      this.form.amount = ''
+      this.form.remark = ''
+      this.memberInfo = { name: '', id: '', balance: 0 }
     },
     // 提交按钮
-    submitForm: function() {
-      this.$refs["form"].validate(valid => {
+    submitForm: function () {
+      this.$refs['form'].validate((valid) => {
         if (valid) {
-            doRecharge(this.form).then(response => {
-               this.$alert("余额操作成功!");
-               this.$emit('closeDialog','balance');
-               this.reset();
-            }).catch(() => {
-               // empty
-            });
+          doRecharge(this.form)
+            .then((response) => {
+              this.$alert('余额操作成功!')
+              this.$emit('closeDialog', 'balance')
+              this.reset()
+            })
+            .catch(() => {
+              // empty
+            })
         }
-      });
-    }
-  }
-};
+      })
+    },
+  },
+}
 </script>

+ 3 - 1
src/renderer/views/cashier/components/hangUpDialog.vue

@@ -28,7 +28,9 @@
               会员:{{ orderInfo.memberInfo ? orderInfo.memberInfo.name : '游客' }}
             </div> -->
             <div class="item">{{ $t('jian-shu') }}:{{ orderInfo.num }}</div>
-            <div class="item">{{ $t('jin-e') }}:¥{{ orderInfo.amount }}</div>
+            <div class="item">
+              {{ $t('jin-e') }}:{{ $pinia._s.get('user').getSymbol }}{{ orderInfo.amount }}
+            </div>
             <div class="item time">{{ orderInfo.dateTime }}</div>
           </div>
         </div>

+ 2 - 1
src/renderer/views/cashier/components/memberList.vue

@@ -124,7 +124,8 @@
         <template slot-scope="scope">
           <div>
             <span style="color: red">
-              ¥{{ scope.row.balance ? scope.row.balance.toFixed(2) : '0.00' }}
+              {{ $pinia._s.get('user').getSymbol
+              }}{{ scope.row.balance ? scope.row.balance.toFixed(2) : '0.00' }}
             </span>
           </div>
           <el-button

+ 20 - 6
src/renderer/views/cashier/components/orderDetail.vue

@@ -19,7 +19,9 @@
             </el-col>
             <el-col :span="8">
               <span class="head">{{ $t('zong-jin-e') }}:</span>
-              <span class="control-label">¥{{ orderInfo.amount }}</span>
+              <span class="control-label">
+                {{ $pinia._s.get('user').getSymbol }}{{ orderInfo.amount }}
+              </span>
             </el-col>
             <el-col :span="8">
               <span class="head">{{ $t('ding-dan-zhuang-tai') }}:</span>
@@ -59,7 +61,9 @@
           <el-row class="row">
             <el-col :span="8">
               <span class="head">{{ $t('zhi-fu-jin-e') }}:</span>
-              <span class="control-label">¥{{ orderInfo.payAmount.toFixed(2) }}</span>
+              <span class="control-label">
+                {{ $pinia._s.get('user').getSymbol }}{{ orderInfo.payAmount.toFixed(2) }}
+              </span>
             </el-col>
             <el-col :span="8">
               <span class="head">{{ $t('zhi-fu-zhuang-tai') }}:</span>
@@ -76,7 +80,9 @@
             </el-col>
             <el-col :span="8">
               <span class="head">{{ $t('jian-mian-jin-e') }}:</span>
-              <span class="control-label">¥{{ orderInfo.discount.toFixed(2) }}</span>
+              <span class="control-label">
+                {{ $pinia._s.get('user').getSymbol }}{{ orderInfo.discount.toFixed(2) }}
+              </span>
             </el-col>
           </el-row>
           <el-row class="row">
@@ -93,7 +99,11 @@
               <span class="control-label">
                 {{
                   orderInfo.couponInfo
-                    ? '¥' + orderInfo.couponInfo.amount + '(' + orderInfo.couponInfo.name + ')'
+                    ? $pinia._s.get('user').getSymbol +
+                      orderInfo.couponInfo.amount +
+                      '(' +
+                      orderInfo.couponInfo.name +
+                      ')'
                     : '-'
                 }}
               </span>
@@ -106,11 +116,15 @@
             </el-col>
             <el-col :span="8">
               <span class="head">{{ $t('ji-fen-jin-e') }}:</span>
-              <span class="control-label">¥{{ orderInfo.pointAmount.toFixed(2) }}</span>
+              <span class="control-label">
+                {{ $pinia._s.get('user').getSymbol }}{{ orderInfo.pointAmount.toFixed(2) }}
+              </span>
             </el-col>
             <el-col :span="8">
               <span class="head">{{ $t('pei-song-fei-yong') }}:</span>
-              <span class="control-label">¥{{ orderInfo.deliveryFee.toFixed(2) }}</span>
+              <span class="control-label">
+                {{ $pinia._s.get('user').getSymbol }}{{ orderInfo.deliveryFee.toFixed(2) }}
+              </span>
             </el-col>
           </el-row>
         </div>

+ 2 - 2
src/renderer/views/cashier/components/orderList.vue

@@ -640,12 +640,12 @@
         <el-row>
           <el-col :span="24">
             <el-form-item
-              :label="$t('ding-dan-shi-fu-jin-e')"
+              :label="`${$t('ding-dan-shi-fu-jin-e')}(${$pinia._s.get('user').getSymbol})`"
               prop="payAmount"
               style="width: 450px"
             >
               <el-input
-                v-model="'¥' + rForm.payAmount"
+                v-model="rForm.payAmount"
                 :placeholder="$t('ding-dan-shi-fu-jin-e')"
                 disabled
                 maxlength="100"

+ 7 - 3
src/renderer/views/cashier/components/orderPrintDialog.vue

@@ -25,7 +25,7 @@
         <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>
+          <span class="item">{{ $pinia._s.get('user').getSymbol }}{{ goodsInfo.price }}</span>
         </div>
       </div>
       <div v-if="orderInfo.goods.length > 0">****************************************</div>
@@ -67,11 +67,15 @@
         <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>
+          <span class="discount">
+            {{ $pinia._s.get('user').getSymbol }}{{ orderInfo.discount.toFixed(2) }}
+          </span>
         </div>
         <div class="item">
           {{ $t('ying-shou-jin-e') }}:
-          <span class="amount">¥{{ orderInfo.payAmount.toFixed(2) }}</span>
+          <span class="amount">
+            {{ $pinia._s.get('user').getSymbol }}{{ orderInfo.payAmount.toFixed(2) }}
+          </span>
         </div>
       </div>
     </div>

+ 1 - 1
src/renderer/views/cashier/components/payResultDialog.vue

@@ -89,7 +89,7 @@
           </div>
           <div class="amount-info">
             <span>
-              
+              {{ $pinia._s.get('user').getSymbol }}
               <span class="amount">{{ payResult.payAmount.toFixed(2) }}</span>
             </span>
           </div>

+ 72 - 52
src/renderer/views/cashier/components/pointRecharge.vue

@@ -1,6 +1,14 @@
 <template>
   <!-- 积分变更对话框 -->
-  <el-dialog title="积分变更" :visible.sync="showDialog" class="common-dialog" width="700px" @close="cancel" append-to-body destroy-on-close>
+  <el-dialog
+    title="积分变更"
+    :visible.sync="showDialog"
+    class="common-dialog"
+    width="700px"
+    @close="cancel"
+    append-to-body
+    destroy-on-close
+  >
     <el-form ref="form" :model="form" :rules="rules" label-width="120px">
       <el-row>
         <el-col :span="24">
@@ -12,7 +20,7 @@
       <el-row>
         <el-col :span="24">
           <el-form-item label="可用积分:" prop="balance">
-            <span>{{ memberInfo.point }}</span>
+            <span>{{ $pinia._s.get('user').getSymbol }}{{ memberInfo.point }}</span>
           </el-form-item>
         </el-col>
       </el-row>
@@ -29,14 +37,25 @@
       <el-row>
         <el-col :span="24">
           <el-form-item label="变更数量:" prop="amount">
-            <el-input v-model="form.amount" placeholder="请输入变更数量" style="width: 200px" maxlength="100" />
+            <el-input
+              v-model="form.amount"
+              placeholder="请输入变更数量"
+              style="width: 200px"
+              maxlength="100"
+            />
           </el-form-item>
         </el-col>
       </el-row>
       <el-row>
         <el-col :span="24">
           <el-form-item class="recharge-item" prop="remark" label="备注信息:">
-            <el-input v-model="form.remark" type="textarea" rows="2" placeholder="请输入备注信息" maxlength="255" />
+            <el-input
+              v-model="form.remark"
+              type="textarea"
+              rows="2"
+              placeholder="请输入备注信息"
+              maxlength="255"
+            />
           </el-form-item>
         </el-col>
       </el-row>
@@ -49,19 +68,19 @@
 </template>
 
 <script>
-import { doRecharge } from "@/api/point";
-import { getMemberInfo } from "@/api/member";
+import { doRecharge } from '@/api/point'
+import { getMemberInfo } from '@/api/member'
 export default {
-  name: "pointRecharge",
+  name: 'pointRecharge',
   props: {
-    showDialog:{
-      type:[Boolean],
-      default:()=>false
+    showDialog: {
+      type: [Boolean],
+      default: () => false,
+    },
+    userId: {
+      type: [String],
+      default: () => '',
     },
-    userId:{
-      type:[String],
-      default:()=> ''
-    }
   },
   data() {
     return {
@@ -72,62 +91,63 @@ export default {
       form: { type: '1', amount: '', userId: '' },
       // 表单校验
       rules: {
-        userId: [
-          { required: true, message: "请选择会员", trigger: "blur" },
-        ],
+        userId: [{ required: true, message: '请选择会员', trigger: 'blur' }],
         amount: [
-          { required: true, message: "金额不能为空", trigger: "blur" },
-          { pattern: /^[0-9]{1,10}$/, message: `请输入1-10位数字`, trigger: 'blur' }
-        ]
-      }
-    };
+          { required: true, message: '金额不能为空', trigger: 'blur' },
+          { pattern: /^[0-9]{1,10}$/, message: `请输入1-10位数字`, trigger: 'blur' },
+        ],
+      },
+    }
   },
   watch: {
     showDialog(value) {
       if (value) {
-          this.getMemberInfo()
+        this.getMemberInfo()
       }
-    }
+    },
   },
   methods: {
     // 查询会员信息
     getMemberInfo() {
-      this.loading = true;
-      getMemberInfo(this.userId).then(response => {
-          this.form.userId = response.data.memberInfo.id;
-          this.memberInfo = response.data.memberInfo;
-          this.loading = false;
-        }
-      ).catch(() => {
-        // empty
-      });
+      this.loading = true
+      getMemberInfo(this.userId)
+        .then((response) => {
+          this.form.userId = response.data.memberInfo.id
+          this.memberInfo = response.data.memberInfo
+          this.loading = false
+        })
+        .catch(() => {
+          // empty
+        })
     },
     // 取消按钮
     cancel() {
-      this.$emit('closeDialog','point');
+      this.$emit('closeDialog', 'point')
     },
     // 充值表单
     reset() {
-      this.form.userId = '';
-      this.form.type = '1';
-      this.form.amount = '';
-      this.form.remark = '';
-      this.memberInfo = { name: '', id: '', point: 0 };
+      this.form.userId = ''
+      this.form.type = '1'
+      this.form.amount = ''
+      this.form.remark = ''
+      this.memberInfo = { name: '', id: '', point: 0 }
     },
     // 提交按钮
-    submitForm: function() {
-      this.$refs["form"].validate(valid => {
+    submitForm: function () {
+      this.$refs['form'].validate((valid) => {
         if (valid) {
-            doRecharge(this.form).then(response => {
-               this.$alert("积分操作成功!");
-               this.$emit('closeDialog','point');
-               this.reset();
-            }).catch(() => {
-               // empty
-            });
+          doRecharge(this.form)
+            .then((response) => {
+              this.$alert('积分操作成功!')
+              this.$emit('closeDialog', 'point')
+              this.reset()
+            })
+            .catch(() => {
+              // empty
+            })
         }
-      });
-    }
-  }
-};
+      })
+    },
+  },
+}
 </script>

+ 109 - 71
src/renderer/views/cashier/components/scanPayCodeDialog.vue

@@ -1,84 +1,122 @@
 <template>
-    <el-dialog class="common-dialog" title="扫码收款中..." :visible="showDialog" @close="submit" width="580px" destroy-on-close>
-          <el-row>
-            <el-col :span="24">
-              <div class="main">
-                <svg t="1666919356080" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3143" width="60" height="60" data-spm-anchor-id="a313x.7781069.0.i25"><path d="M212.924 434.56h-60.881V71.908h60.881V434.56z m149.56-362.652h-86.03V434.56h86.03V71.908z m111.842 0H431.31V434.56h43.015l0.001-362.652z m151.544 0H525.28V434.56h100.59V71.908z m88.676 0h-25.148V434.56h25.148V71.908z m70.148 0h-33.089V434.56h33.089V71.908z m91.326 0h-64.854V434.56h64.854V71.908z m-6.285 394.083h-58.569V638.8h58.569V465.991z m121.27-31.431h-86.91v31.433h86.91V434.56zM211.77 461.949h-58.572v172.808h58.57V461.949h0.002z m-89.866-27.389H34.995v31.433h86.909V434.56z m600.584 126.252v34.613a270.753 270.753 0 0 1-48.906 155.214L600.72 854.782v93.31H419.4v-93.31l-72.862-104.143a270.76 270.76 0 0 1-48.906-155.214v-34.613c0-37.384 30.305-67.69 67.691-67.69h289.474c37.385 0.002 67.691 30.309 67.691 67.69z m-106.356 20.384H395.72c21.622 38.569 62.84 64.677 110.205 64.677s88.584-26.104 110.207-64.677z" p-id="3144" fill="#707070" data-spm-anchor-id="a313x.7781069.0.i28" class="selected"></path></svg>
-                <div class="amount-info">
-                  <span class="amount">¥{{ payAmount.toFixed(2) }}</span>
-                </div>
-                <div class="tips">请使用扫码枪,扫描会员付款码!</div>
-              </div>
-            </el-col>
-          </el-row>
-        <div slot="footer" class="dialog-footer">
-           <el-button type="primary" class="main-button" @click="submit()">扫码完成</el-button>
+  <el-dialog
+    class="common-dialog"
+    title="扫码收款中..."
+    :visible="showDialog"
+    @close="submit"
+    width="580px"
+    destroy-on-close
+  >
+    <el-row>
+      <el-col :span="24">
+        <div class="main">
+          <svg
+            t="1666919356080"
+            class="icon"
+            viewBox="0 0 1024 1024"
+            version="1.1"
+            xmlns="http://www.w3.org/2000/svg"
+            p-id="3143"
+            width="60"
+            height="60"
+            data-spm-anchor-id="a313x.7781069.0.i25"
+          >
+            <path
+              d="M212.924 434.56h-60.881V71.908h60.881V434.56z m149.56-362.652h-86.03V434.56h86.03V71.908z m111.842 0H431.31V434.56h43.015l0.001-362.652z m151.544 0H525.28V434.56h100.59V71.908z m88.676 0h-25.148V434.56h25.148V71.908z m70.148 0h-33.089V434.56h33.089V71.908z m91.326 0h-64.854V434.56h64.854V71.908z m-6.285 394.083h-58.569V638.8h58.569V465.991z m121.27-31.431h-86.91v31.433h86.91V434.56zM211.77 461.949h-58.572v172.808h58.57V461.949h0.002z m-89.866-27.389H34.995v31.433h86.909V434.56z m600.584 126.252v34.613a270.753 270.753 0 0 1-48.906 155.214L600.72 854.782v93.31H419.4v-93.31l-72.862-104.143a270.76 270.76 0 0 1-48.906-155.214v-34.613c0-37.384 30.305-67.69 67.691-67.69h289.474c37.385 0.002 67.691 30.309 67.691 67.69z m-106.356 20.384H395.72c21.622 38.569 62.84 64.677 110.205 64.677s88.584-26.104 110.207-64.677z"
+              p-id="3144"
+              fill="#707070"
+              data-spm-anchor-id="a313x.7781069.0.i28"
+              class="selected"
+            ></path>
+          </svg>
+          <div class="amount-info">
+            <span class="amount">
+              {{ $pinia._s.get('user').getSymbol }}{{ payAmount.toFixed(2) }}
+            </span>
+          </div>
+          <div class="tips">请使用扫码枪,扫描会员付款码!</div>
         </div>
-    </el-dialog>
+      </el-col>
+    </el-row>
+    <div slot="footer" class="dialog-footer">
+      <el-button type="primary" class="main-button" @click="submit()">扫码完成</el-button>
+    </div>
+  </el-dialog>
 </template>
 <script>
-import { doPay } from "@/api/cashier";
+import { doPay } from '@/api/cashier'
 export default {
-    props: {
-      showDialog: {
-        type:[Boolean],
-        default:()=>false
-      },
-      payAmount: {
-        type:[Number],
-        default:()=>0
-      },
-      orderId: {
-        type:[Number],
-        default:()=>0
-      },
-      payType: {
-        type:[String],
-        default:()=>'MICROPAY'
-      }
+  props: {
+    showDialog: {
+      type: [Boolean],
+      default: () => false,
+    },
+    payAmount: {
+      type: [Number],
+      default: () => 0,
+    },
+    orderId: {
+      type: [Number],
+      default: () => 0,
     },
-    data(){
-        return {
-          loading: false
-        }
+    payType: {
+      type: [String],
+      default: () => 'MICROPAY',
     },
-    methods: {
-       submit(code) {
-         const app = this;
-         if (code == undefined) {
-             app.$emit('closeDialog','scanPayCodeDialog');
-         } else {
-             doPay({ orderId: app.orderId, authCode: code, payType: app.payType }).then( response => {
-                if (response.data.payment) {
-                    app.$emit('closeDialog', 'scanPayCodeDialog');
-                    app.$emit('showPayResult', { isSuccess: true, payAmount: app.payAmount, orderId: app.orderId });
-                } else {
-                    app.$emit('closeDialog', 'scanPayCodeDialog');
-                    app.$emit('showPayResult', { isSuccess: false, isPaying: response.data.isPaying, payAmount: app.payAmount, orderId: app.orderId });
-                }
-             }).catch(() => {
-                // empty
-             });
-         }
-       }
+  },
+  data() {
+    return {
+      loading: false,
     }
+  },
+  methods: {
+    submit(code) {
+      const app = this
+      if (code == undefined) {
+        app.$emit('closeDialog', 'scanPayCodeDialog')
+      } else {
+        doPay({ orderId: app.orderId, authCode: code, payType: app.payType })
+          .then((response) => {
+            if (response.data.payment) {
+              app.$emit('closeDialog', 'scanPayCodeDialog')
+              app.$emit('showPayResult', {
+                isSuccess: true,
+                payAmount: app.payAmount,
+                orderId: app.orderId,
+              })
+            } else {
+              app.$emit('closeDialog', 'scanPayCodeDialog')
+              app.$emit('showPayResult', {
+                isSuccess: false,
+                isPaying: response.data.isPaying,
+                payAmount: app.payAmount,
+                orderId: app.orderId,
+              })
+            }
+          })
+          .catch(() => {
+            // empty
+          })
+      }
+    },
+  },
 }
 </script>
 <style lang="scss" scoped>
-    .main {
-       height: 140px;
-       padding-top: 2px;
-       text-align: center;
-       font-size: 16px;
-       .amount-info {
-          margin-bottom: 20px;
-         .amount {
-           font-size: 28px;
-         }
-       }
-       .tips {
-          font-size: 14px;
-          color: #888888;
-       }
+.main {
+  height: 140px;
+  padding-top: 2px;
+  text-align: center;
+  font-size: 16px;
+  .amount-info {
+    margin-bottom: 20px;
+    .amount {
+      font-size: 28px;
     }
+  }
+  .tips {
+    font-size: 14px;
+    color: #888888;
+  }
+}
 </style>

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

@@ -23,7 +23,7 @@
           <div class="item active" v-for="coupon in couponList">
             <div @click="useThisCoupon(coupon)">
               <div class="left">
-                <div class="amount">{{ coupon.amount }}</div>
+                <div class="amount">{{ $pinia._s.get('user').getSymbol }}{{ coupon.amount }}</div>
                 <div class="tips">{{ coupon.description }}</div>
               </div>
               <div class="right">
@@ -222,11 +222,11 @@
             </div>
             <div class="amount-info">
               <span class="discount-amount">
-                {{ $t('you-hui-jin-e') }}:
+                {{ $t('you-hui-jin-e') }}:{{ $pinia._s.get('user').getSymbol }}
                 <span class="value">{{ discountPrice.toFixed(2) }}</span>
               </span>
               <span class="pay-amount">
-                {{ $t('ying-fu-jin-e') }}:
+                {{ $t('ying-fu-jin-e') }}:{{ $pinia._s.get('user').getSymbol }}
                 <span class="value">{{ newTotalPrice.toFixed(2) }}</span>
               </span>
             </div>

+ 14 - 9
src/renderer/views/cashier/index.vue

@@ -89,7 +89,10 @@
                         class="remove el-icon-delete"
                         @click="removeFromCart(cartInfo.cartId)"
                       ></div>
-                      <div class="total">¥{{ (cartInfo.price * cartInfo.buyNum).toFixed(2) }}</div>
+                      <div class="total">
+                        {{ $pinia._s.get('user').getSymbol
+                        }}{{ (cartInfo.price * cartInfo.buyNum).toFixed(2) }}
+                      </div>
                     </div>
                   </div>
                 </div>
@@ -110,7 +113,10 @@
               </div>
               <div class="total-price">
                 {{ $t('zong-jin-e') }}:
-                <b class="num">¥{{ cartTotalPrice ? cartTotalPrice.toFixed(2) : '0.00' }}</b>
+                <b class="num">
+                  {{ $pinia._s.get('user').getSymbol
+                  }}{{ cartTotalPrice ? cartTotalPrice.toFixed(2) : '0.00' }}
+                </b>
               </div>
             </div>
             <div class="options">
@@ -195,9 +201,6 @@
                 class="bg-white rounded-lg shadow-sm overflow-hidden cursor-pointer hover:shadow-md transition"
                 @click="clickGoods(goodsInfo)"
               >
-                <!-- <img class="image" lazy :src="imagePath + goodsInfo.logo" />
-                <div class="goods-name">{{ goodsInfo.name }}</div>
-                <div class="goods-price">¥{{ goodsInfo.price }}</div> -->
                 <img lazy :src="imagePath + goodsInfo.logo" class="w-full h-48 object-cover" />
                 <div class="p-3">
                   <h3 class="font-medium mb-2">{{ goodsInfo.name }}</h3>
@@ -246,7 +249,7 @@
     >
       <div class="goods-info">
         <div class="name">{{ goodsInfo.name }}</div>
-        <div class="price">{{ skuPrice }}</div>
+        <div class="price">{{ $pinia._s.get('user').getSymbol }}{{ skuPrice }}</div>
         <div class="num">
           <el-input-number class="input" v-model="goodsNum" :min="1" :max="1000" />
         </div>
@@ -1497,9 +1500,11 @@ export default {
       margin-left: 2px;
       margin-bottom: 200px;
       .goods-item {
-        width: 33.3%;
-        min-height: 300px;
-        min-width: 220px;
+        // width: 33.3%;
+        // min-height: 300px;
+        height: 300px;
+        // min-width: 220px;
+        width: 220px;
         padding: 3px;
         float: left;
         background: #ffffff;