Parcourir la source

销售公司更新 10.20 zyp

阿拉蕾 il y a 1 an
Parent
commit
1394ca99de
4 fichiers modifiés avec 130 ajouts et 29 suppressions
  1. 7 0
      src/api/qw/account.js
  2. 16 0
      src/api/qw/login.js
  3. 52 11
      src/views/qw/qwAccounts/index.vue
  4. 55 18
      src/views/qw/qwLogin/index.vue

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

@@ -17,6 +17,13 @@ export function getAccount(id) {
   })
 }
 
+export function updateDevice(id) {
+  return request({
+    url: '/qw/account/editDeviceId/' + id,
+    method: 'get'
+  })
+}
+
 // 新增企微功能账号管理
 export function addAccount(data) {
   return request({

+ 16 - 0
src/api/qw/login.js

@@ -9,3 +9,19 @@ export function getQrCode(deviceId) {
   })
 }
 
+//验证账号登陆状态和校验登录验证码
+export function verify(data) {
+  return request({
+    url: '/qw/login/verify',
+    method: 'post',
+    data: data
+  })
+}
+
+export function userDetail(deviceId) {
+  return request({
+    url: '/qw/login/userDetail/' + deviceId,
+    method: 'get'
+  })
+}
+

+ 52 - 11
src/views/qw/qwAccounts/index.vue

@@ -17,15 +17,44 @@
       <el-table-column label="序号"  width="55" type="index" align="center" />
       <el-table-column label="账号id" align="center" prop="id" />
       <el-table-column label="企微账号" align="center" prop="account" />
-      <el-table-column label="姓名" align="center" prop="nickName" />
-      <el-table-column label="手机号码" align="center" prop="phone" />
+      <el-table-column label="头像" align="center" width="120">
+        <template slot-scope="scope">
+          <el-popover
+            placement="right"
+            title=""
+            trigger="hover"
+          >
+            <img slot="reference" :src="scope.row.avatar" width="70">
+            <img :src="scope.row.avatar" style="max-width: 120px;">
+          </el-popover>
+        </template>
+      </el-table-column>
+      <el-table-column label="昵称" align="center" prop="nickName" />
+      <el-table-column label="企业名称" align="center" prop="corpName" />
       <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>
+              <el-tag prop="isAudit" v-for="(item, index) in isAuditOptions"  :type="scope.row.isAudit==-1?'danger':'success'"  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="createTime" />
+      <el-table-column label="设备是否可用" align="center" prop="availableDevice" >
+          <template slot-scope="scope">
+              <el-tag prop="availableDevice" v-for="(item, index) in availableOptions"  :type="scope.row.availableDevice==-1?'danger':'success'"   v-if="scope.row.availableDevice==item.dictValue">{{item.dictLabel}}</el-tag>
+          </template>
+      </el-table-column>
       <el-table-column label="备注" align="center" prop="remark" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            v-if="scope.row.availableDevice == -1"
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdateDevice(scope.row)"
+          >更新设备</el-button>
+        </template>
+      </el-table-column>
       
     </el-table>
     
@@ -42,12 +71,6 @@
         <el-form-item label="企微账号" prop="account">
           <el-input v-model="form.account" 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>
@@ -61,7 +84,7 @@
 </template>
 
 <script>
-import { listAccount, getAccount, delAccount, addAccount, auditAccount, exportAccount } from "@/api/qw/account";
+import { listAccount, getAccount, delAccount, addAccount, auditAccount, exportAccount,updateDevice } from "@/api/qw/account";
 // import { getCompanyList } from "@/api/company/company";
 
 export default {
@@ -85,6 +108,7 @@ export default {
       // 企微功能账号管理表格数据
       accountList: [],
       isAuditOptions:[],
+      availableOptions:[],
       // 弹出层标题
       title: "",
       // 是否显示弹出层
@@ -132,6 +156,9 @@ export default {
     this.getDicts("common_audit").then((response) => {
       this.isAuditOptions = response.data;
     });
+    this.getDicts("qw_device_status").then((response) => {
+      this.availableOptions = response.data;
+    });
   },
   methods: {
     /** 查询企微功能账号管理列表 */
@@ -211,7 +238,7 @@ export default {
         if (valid) {
           addAccount(this.form).then(response => {
             if (response.code === 200) {
-              this.msgSuccess("审核成功");
+              this.msgSuccess("提交至审核");
               this.open = false;
               this.getList();
             }
@@ -233,6 +260,20 @@ export default {
           this.msgSuccess("删除成功");
         }).catch(function() {});
     },
+
+    handleUpdateDevice(row) {
+      const id = row.id || this.ids
+      this.$confirm('是否确认重新生成编号为"' + id + '"的设备id项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return updateDevice(id);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("变更成功");
+        }).catch(function() {});
+    },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;

+ 55 - 18
src/views/qw/qwLogin/index.vue

@@ -21,16 +21,55 @@
       </el-row>
      </el-form>
 
+
+
+     <!-- <el-row :gutter="20">
+      <el-col :span="6" :xs="24">
+        <el-card class="box-card">
+          <div slot="header" class="clearfix">
+            <span>企微个人信息</span>
+          </div>
+          <div>
+            <div class="text-center">
+              <userAvatar :user="user" />
+            </div>
+            <ul class="list-group list-group-striped">
+              <li class="list-group-item">
+                <svg-icon icon-class="user" />昵称
+                <div class="pull-right">{{ user.nickName }}</div>
+              </li>
+              <li class="list-group-item">
+                <svg-icon icon-class="phone" />电话
+                <div class="pull-right">{{ user.phone }}</div>
+              </li>
+              <li class="list-group-item">
+                <svg-icon icon-class="peoples" />账号
+                <div class="pull-right">{{ user.account }}</div>
+              </li>
+              <li class="list-group-item">
+                <svg-icon icon-class="home" />企业名称
+                <div class="pull-right">{{ user.corpName }}</div>
+              </li>
+            </ul>
+          </div>
+        </el-card>
+      </el-col>
+      <el-col :span="18" :xs="24">
+      </el-col>
+    </el-row> -->
+
   </div>
 </template>
 
 <script>
-import { getQrCode } from '@/api/qw/login';
+import userAvatar from "@/views/company/companyUser/profile";
+import { getQrCode, verify, userDetail } from '@/api/qw/login';
 import { getDeviceId} from '@/api/qw/account';
 
 export default {
   data() {
     return {
+      components: { userAvatar },
       loading: false,// 遮罩层
       account: '', // 用户输入的账号
       qrcode: null, // 二维码实例
@@ -39,6 +78,7 @@ export default {
       showQRCode: false, // 是否显示二维码
       errorMessage: '', // 错误信息
       qrCode:'',
+      user:{},
       qwForm: {
           account:null
       },
@@ -77,27 +117,24 @@ export default {
     getQrCode(){
               // 获取二维码
               getQrCode(this.deviceId).then(response => {
-                this.qrCode = response.data.qrcode; 
-                const base64Data = this.qrCode; // Base64 编码
+                this.qrCode = response.data.qrcode;
+                if(response.code == 200){
+                  const base64Data = this.qrCode; // Base64 编码
                 const image = new Image();
                 image.onload = () => {
                   this.$refs.imageElement.src = image.src;
                 };
-                image.src = `data:image/jpeg;base64,${base64Data}`;   
-                this.loading=false;  
-              });
+                image.src = `data:image/jpeg;base64,${base64Data}`;
+                this.loading=false;
+              }
+              this.loading=false;
+                });
+    },
+    userDetail(){
+      userDetail(this.deviceId).then(response => {
+        this.user = response.data;
+      });
     }
-
-    // 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>
@@ -152,4 +189,4 @@ export default {
 .qrcode-refresh:hover {
   color: #40a9ff;
 }
-</style>
+</style>