瀏覽代碼

销售公司更新 9.13 zyp

阿拉蕾 1 年之前
父節點
當前提交
42d7fbe486

+ 1 - 0
package.json

@@ -56,6 +56,7 @@
     "nprogress": "0.2.0",
     "path-to-regexp": "2.4.0",
     "qrcodejs2": "0.0.2",
+    "qrious": "^4.0.2",
     "quill": "1.3.7",
     "screenfull": "4.2.0",
     "sortablejs": "1.8.4",

+ 7 - 0
src/api/qw/account.js

@@ -50,4 +50,11 @@ export function exportAccount(query) {
     method: 'get',
     params: query
   })
+}
+//根据账号获取设备id
+export function getDeviceId(userName) {
+  return request({
+    url: '/qw/account/getDeviceId/' + userName,
+    method: 'get'
+  })
 }

+ 23 - 17
src/views/qw/qwAccounts/index.vue

@@ -3,40 +3,50 @@
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
-          type="danger"
-          icon="el-icon-add"
+        type="primary"
+          icon="el-icon-plus"
           size="mini"
-          :disabled="multiple"
           @click="handleAdd"
           v-hasPermi="['qw:account:add']"
         >添加账号</el-button>
       </el-col>
     </el-row>
-    <el-table v-loading="loading" :data="accountList" @selection-change="handleSelectionChange">
+    <el-table border v-loading="loading" :data="accountList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="序号"  width="55" type="index" align="center" />
-      <el-table-column label="id" align="center" prop="id" />
+      <el-table-column label="账号id" align="center" prop="id" />
       <el-table-column label="企微账号" align="center" prop="userName" />
       <el-table-column label="姓名" align="center" prop="nickName" />
       <el-table-column label="手机号码" align="center" prop="phone" />
-      <el-table-column label="归属公司" align="center" prop="companyName" />
-      <el-table-column label="归属员工" align="center" prop="companyUserName" />
-      <el-table-column width="500" label="关联设备id" align="center" prop="deviceId"  v-if="queryParams.isAudit == 1"/>
+      <el-table-column label="审核状态" align="center" prop="isAudit" >
+          <template slot-scope="scope">
+              <el-tag prop="isAudit" v-for="(item, index) in isAuditOptions"    v-if="scope.row.isAudit==item.dictValue">{{item.dictLabel}}</el-tag>
+          </template>
+      </el-table-column>
+      <el-table-column width="500" label="关联设备id" align="center" prop="deviceId" />
       <el-table-column label="备注" align="center" prop="remark" />
       
     </el-table>
     
-    <pagination
+    <!-- <pagination
       v-show="total>0"
       :total="total"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
       @pagination="getList"
-    />
+    /> -->
 
-    <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-        
+        <el-form-item label="企微账号" prop="userName">
+          <el-input v-model="form.userName" placeholder="请输入企微账号"   />
+        </el-form-item>
+        <el-form-item label="手机号" prop="phone">
+          <el-input v-model="form.phone" placeholder="请输入手机号"   />
+        </el-form-item>
+        <el-form-item label="姓名" prop="nickName">
+          <el-input v-model="form.nickName" placeholder="请输入姓名"   />
+        </el-form-item>
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark"  type="textarea" :row="5"  />
         </el-form-item>
@@ -159,10 +169,6 @@ export default {
       };
       this.resetForm("form");
     },
-    handleClick(tab, event) {
-      this.queryParams.isAudit=tab.name;
-      this.getList();
-    },
     /** 搜索按钮操作 */
     handleQuery() {
       this.queryParams.pageNum = 1;
@@ -202,7 +208,7 @@ export default {
    submitForm() {
       this.$refs["form"].validate(valid => {
         if (valid) {
-          auditAccount(this.form).then(response => {
+          addAccount(this.form).then(response => {
             if (response.code === 200) {
               this.msgSuccess("审核成功");
               this.open = false;

+ 30 - 0
src/views/qw/qwContact/index.vue

@@ -0,0 +1,30 @@
+<template>
+  <div>
+    <img ref="imageElement" alt="Base64 Image">
+  </div>
+</template>
+
+<script>
+export default {
+  mounted() {
+    this.convertBase64ToImage();
+  },
+  methods: {
+    convertBase64ToImage() {
+      
+// Base64 编码
+
+      // 创建一个新的 Image 对象
+      const image = new Image();
+      
+      // 当图片加载完成时,将其赋值给 <img> 元素
+      image.onload = () => {
+        this.$refs.imageElement.src = image.src;
+      };
+      
+      // 设置 Image 对象的 src 属性为 Base64 数据
+      image.src = `data:image/jpeg;base64,${base64Data}`;
+    }
+  }
+};
+</script>

+ 35 - 41
src/views/qw/qwLogin/index.vue

@@ -5,13 +5,11 @@
         <el-card class="scan-card" shadow="hover">
           <div class="scan-card-content">
             <h1 class="title">扫码登录</h1>
-            <el-input v-model="account" placeholder="请输入账号"></el-input>
-            <el-button type="primary" @click="login" :disabled="!deviceId">登录</el-button>
+            <el-input v-model="userName" placeholder="请输入账号" style="margin-bottom: 20px;"></el-input>
+            <el-button type="primary" @click="login" >登录</el-button>
             <div class="qrcode-container" v-show="showQRCode">
-              <div class="qrcode" ref="qrcodeContainer"></div>
-              <div v-if="!loading" class="qrcode-refresh" @click="getQRCode">
-                <i class="el-icon-refresh"></i>
-                <span>刷新二维码</span>
+              <div>
+                <img ref="imageElement" alt="Base64 Image" style="width:250px,height:auto ;">
               </div>
             </div>
           </div>
@@ -22,60 +20,56 @@
 </template>
 
 <script>
-import QRCode from 'qrcodejs2';
-import { getQrCode, getDeviceIdByAccount } from '@/api/qw/login';
+import { getQrCode } from '@/api/qw/login';
+import { getDeviceId} from '@/api/qw/account';
 
 export default {
   data() {
     return {
-      account: '', // 用户输入的账号
+      userName: '', // 用户输入的账号
       qrcode: null, // 二维码实例
       loading: false, // 刷新按钮加载状态
       deviceId: '', // 账号关联的 deviceId
       showQRCode: false, // 是否显示二维码
       errorMessage: '', // 错误信息
+      qrCode:'',
     };
   },
   methods: {
-    async login() {
-      try {
-        const response = await getDeviceIdByAccount(this.account);
+    login() {
+      const userName = this.userName;
+      getDeviceId(userName).then(response => {
         this.deviceId = response.deviceId;
-        this.showQRCode = !!this.deviceId; // 根据 deviceId 控制是否显示二维码
-        if (this.showQRCode) {
+      });
+      this.showQRCode = !!this.deviceId; // 根据 deviceId 控制是否显示二维码
+      if (this.showQRCode) {
           // 获取二维码
-          this.getQRCode();
+          getQrCode(this.deviceId).then(response => {
+            this.qrCode = response.data; 
+            const base64Data = this.qrCode; // Base64 编码
+            const image = new Image();
+            image.onload = () => {
+              this.$refs.imageElement.src = image.src;
+            };
+            image.src = `data:image/jpeg;base64,${base64Data}`;     
+          });
         } else {
           // deviceId 为空时显示错误提示
           this.errorMessage = '请检查账号是否正确或是否审核通过';
         }
-      } catch (error) {
-        // 处理错误
-        console.error(error);
-      }
-    },
-    async getQRCode() {
-      this.loading = true;
-      try {
-        const response = await getQrCode();
-        this.generateQRCode(response.qrCode);
-      } catch (error) {
-        // 处理错误
-        console.error(error);
-      }
-      this.loading = false;
-    },
-    generateQRCode(base64String) {
-      // 渲染二维码
-      if (this.qrcode) {
-        this.qrcode.clear();
-      }
-      this.qrcode = new QRCode(this.$refs.qrcodeContainer, {
-        text: base64String,
-        width: 180,
-        height: 180,
-      });
     },
+    // convertBase64ToImage(qrCode) {
+
+    //   const base64Data = qrCode; // Base64 编码
+
+    //   console.log(base64Data)
+    //   const image = new Image();
+    //   image.onload = () => {
+    //     this.$refs.imageElement.src = image.src;
+    //   };
+    //   image.src = `data:image/jpeg;base64,${base64Data}`;
+    // },
+    
   },
 };
 </script>

+ 4 - 2
src/views/store/components/productOrder.vue

@@ -131,7 +131,7 @@
         </span>
       </div>
       <el-image
-          v-if="certificates != ''"
+          v-if="this.certificates != null"
           :src="certificates"
           :preview-src-list="[certificates]"
           :style="{ width: '100px', height: '100px' }"
@@ -530,7 +530,7 @@ export default {
       orderTypeOptions:[],
       payTypeOptions:[],
       statusOptions:[],
-      certificates:'',
+      certificates:null,
       order:null,
       user:{},
       logs:[],
@@ -601,6 +601,7 @@ export default {
     },
     handleCertificates(){
       this.certificateDialig.open = true;
+      this.photoArr = '';
     },
     handleConfirm(){
       this.certificateForm.id = this.orderId;
@@ -751,6 +752,7 @@ export default {
     },
     getOrder(orderId){
         this.orderId=orderId;
+        this.certificates = null;
         getStoreOrder(orderId).then(response => {
             this.order = response.order;
             if(response.order.certificates != null){

+ 6 - 0
src/views/store/storeOrder/list.vue

@@ -54,6 +54,12 @@
                 :value="item.dictValue"
               />
         </el-select>
+      </el-form-item>
+      <el-form-item label="上传凭证" prop="isUpload">
+         <el-select   v-model="queryParams.isUpload" placeholder="请选择" clearable size="small" >
+          <el-option key="0"  label="未上传" value="0" />
+             <el-option key="1"  label="已上传" value="1" />
+        </el-select>
       </el-form-item>
           <el-form-item label="手机号" prop="userPhone">
             <el-input

+ 6 - 0
src/views/store/storeOrder/myList.vue

@@ -51,6 +51,12 @@
               />
         </el-select>
       </el-form-item>
+      <el-form-item label="上传凭证" prop="isUpload">
+         <el-select   v-model="queryParams.isUpload" placeholder="请选择" clearable size="small" >
+          <el-option key="0"  label="未上传" value="0" />
+             <el-option key="1"  label="已上传" value="1" />
+        </el-select>
+      </el-form-item>
       <el-form-item label="物流状态" prop="deliveryStatus">
          <el-select style="width:220px" v-model="queryParams.deliveryStatus" placeholder="请选择物流状态" clearable size="small" >
          <el-option