Browse Source

贺卡打印

Funny 2 năm trước cách đây
mục cha
commit
9c95cfd4c6

+ 5 - 0
src/api/shop.js

@@ -225,4 +225,9 @@ export const addPlatformAccount = (params) => {
 // 修改平台账号
 export const modifyPlatformAccount = (params) => {
   return post('app/shop/user/modify', params)
+}
+
+// 获取云盒打印机信息
+export const getCloudDevice = (params) => {
+  return get('app/shop/device/getCloudDevice', params)
 }

+ 41 - 16
src/components/settingComponents/print/greetingCardPrinter.vue

@@ -126,29 +126,31 @@
       </div>
     </div>
     <!-- 新增、编辑云盒 -->
-    <el-dialog title="云盒管理" :visible.sync="dialogVisible" width="30%">
-      <el-form ref="form" :model="form" label-width="80px">
+    <el-dialog title="云盒管理" :visible.sync="dialogVisible" width="600px">
+      <el-form ref="form" :model="form" label-width="120px">
         <el-form-item label="云盒名称">
           <el-input v-model="form.name"></el-input>
         </el-form-item>
         <el-form-item label="云盒序列号">
-          <el-input v-model="form.name"></el-input>
+          <el-input v-model="form.deviceSn"></el-input>
         </el-form-item>
         <el-form-item label="云盒秘钥">
-          <el-input v-model="form.name"></el-input>
+          <el-input v-model="form.deviceSecret"></el-input>
         </el-form-item>
-        <el-select v-model="form.shopId" multiple @change="changePrinterShop">
-          <el-option v-for="item in shopList" :key="item.id" :value="item.id" :label="item.name">
-            <div>{{ item.name }}</div>
-          </el-option>
-        </el-select>
-        <el-form-item label="选择打印机">
-          <el-select v-model="form.name" placeholder="请选择活动区域">
-            <el-option v-for="item in cloudList" :key="item.id" :value="item.id" :label="item.name">
+        <el-form-item label="关联门店">
+          <el-select v-model="form.shopId" multiple @change="changePrinterShop" :span="24">
+            <el-option v-for="item in shopList" :key="item.id" :value="item.id" :label="item.name">
               <div>{{ item.name }}</div>
             </el-option>
           </el-select>
-          <el-tag @click="getCloudPrinterInfo">获取打印机信息</el-tag>
+        </el-form-item>
+        <el-form-item label="选择打印机">
+          <el-select v-model="form.deviceName" placeholder="请选择活动区域">
+            <el-option v-for="item in cloudList" :key="item.id" :value="`${ item.printerName }(USB${item.port})`">
+              <div>{{ item.printerName }}(USB{{item.port}})</div>
+            </el-option>
+          </el-select>
+          <el-button type="success"  @click="getCloudPrinterInfo">获取打印机信息</el-button>
         </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
@@ -160,7 +162,7 @@
 </template>
 
 <script>
-import { getNewShopList } from "../../../api/shop";
+import { getNewShopList, getCloudDevice } from "../../../api/shop";
 export default {
   name: "greetingCardPrinter",
   components: {},
@@ -174,6 +176,14 @@ export default {
           tips: "开启后订单一键打印贺卡,暂不支持自动打印",
         },
       ],
+      form: {
+        name: "",
+        deviceSn: "lk10gy13861829",
+        deviceSecret: "2Vy7D5sDDjUI2DZs",
+        shopId: "",
+        deviceName: "",
+      },
+      cloudList: [],
       params: {
         dmPaperWidth: 210,
         dmPaperLength: 297,
@@ -255,8 +265,23 @@ export default {
   watch: {},
   // 方法集合
   methods: {
-    getCloudPrinterInfo(){
-
+    getCloudPrinterInfo() {
+      let params = {
+        deviceId: this.form.deviceSn,
+        deviceKey: this.form.deviceSecret,
+        printerType: 1,
+      };
+      getCloudDevice(params).then((res) => {
+        console.log("云盒信息", res);
+        if (!res.code) {
+          this.cloudList = res.data;
+        } else {
+          this.$message({
+            type: "error",
+            message: res.msg,
+          });
+        }
+      });
     },
     addPrinter() {
       this.dialogVisible = true;