Bläddra i källkod

新增邀请码页面

gcz 4 år sedan
förälder
incheckning
d81a94b07f
4 ändrade filer med 216 tillägg och 1 borttagningar
  1. 31 0
      src/api/share.js
  2. 8 1
      src/router/index.js
  3. 8 0
      src/views/ums/company/index.vue
  4. 169 0
      src/views/ums/company/invite/invite.vue

+ 31 - 0
src/api/share.js

@@ -0,0 +1,31 @@
+import request from '@/utils/request'
+export function getShareCodeList(data) {
+  return request({
+    url:'/comp/share/list',
+    method:'get',
+    params:data
+  })
+}
+
+export function createShareCode(id) {
+  return request({
+    url:'/comp/share/add?compId='+id,
+    method:'get',
+    // data:data
+  })
+}
+
+export function getShareCode(id) {
+  return request({
+    url:'/comp/share/detail?id='+id,
+    method:'get',
+  })
+}
+
+export function deleteShareCode(id) {
+  console.log('id',id);
+  return request({
+    url:'/comp/share/delete?id='+id,
+    method:'get',
+  })
+}

+ 8 - 1
src/router/index.js

@@ -397,7 +397,14 @@ export const asyncRouterMap = [
         component: () => import('@/views/ums/company/update'),
         meta: {title: '供应商'},
         hidden: true
-      }      
+      },
+      {
+        path: 'inviteCode',
+        name: 'inviteCode',
+        component: () => import('@/views/ums/company/invite/invite'),
+        meta: {title: '邀请码'},
+        hidden: true
+      }
       
 
     ]

+ 8 - 0
src/views/ums/company/index.vue

@@ -146,6 +146,10 @@
                        type="text"
                        @click="handleDelete(scope.$index, scope.row)">删除
             </el-button>
+            <el-button size="mini"
+                       type="text"
+                       @click="handleInvite(scope.$index, scope.row)">邀请码
+            </el-button>
             </el-row>
           </template>
         </el-table-column>
@@ -223,6 +227,10 @@
       handleAddCompany() {
         this.$router.push({path:'/ums/addCompany'});
       },
+      handleInvite(index, row){
+        console.log('row',row);
+        this.$router.push({path:'/ums/inviteCode',query:{id:row.id}});
+      },
       handleDelete(index, row) {
         this.$confirm('是否要删除该供应商?', '提示', {
           confirmButtonText: '确定',

+ 169 - 0
src/views/ums/company/invite/invite.vue

@@ -0,0 +1,169 @@
+<template>
+   
+  <div class="app-container">
+    <el-card class="operate-container" shadow="never">
+      <i class="el-icon-tickets"></i>
+      <span>数据列表</span>
+      <el-button
+        size="mini"
+        class="btn-add"
+        @click="handleAddShareCode()"
+        style="margin-left: 20px"
+        >添加</el-button
+      >
+    </el-card>
+    <div class="table-container">
+      <el-table
+        ref="roleTable"
+        :data="list"
+        style="width: 100%"
+        v-loading="listLoading"
+        border
+      >
+        <el-table-column label="创建人" show-overflow-tooltip align="center">
+          <template slot-scope="scope">{{ scope.row.createName }}</template>
+        </el-table-column>
+        <el-table-column label="邀请码" show-overflow-tooltip align="center">
+          <template slot-scope="scope">{{ scope.row.shareCode }}</template>
+        </el-table-column>
+        <el-table-column label="使用人" show-overflow-tooltip align="center">
+          <template slot-scope="scope">{{
+            scope.row.member || "未使用"
+          }}</template>
+        </el-table-column>
+        <el-table-column label="操作" width="160" fixed="right" align="center">
+          <template slot-scope="scope">
+            <el-row>
+              <!-- <el-button size="mini"
+                       type="text"
+                       @click="handleUpdateShareCode(scope.$index, scope.row)">
+              编辑
+            </el-button> -->
+              <el-button
+                size="mini"
+                type="text"
+                @click="handleDelete(scope.$index, scope.row)"
+                >删除
+              </el-button>
+            </el-row>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <div class="pagination-container" style="maring-bottom: 30px">
+      <el-pagination
+        background
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        layout="total, sizes,prev, pager, next,jumper"
+        :current-page.sync="listQuery.pageNo"
+        :page-size="listQuery.pageSize"
+        :page-sizes="[5, 10, 15]"
+        :total="total"
+      >
+      </el-pagination>
+    </div>
+  </div>
+</template>
+<script>
+import {
+  getShareCodeList,
+  createShareCode,
+  getShareCode,
+  deleteShareCode,
+} from "@/api/share";
+import { formatDate } from "@/utils/date";
+//   import {companycreate,companydelete,companyupdate} from '@/api/permissions'
+
+const defaultListQuery = {
+  pageNo: 1,
+  pageSize: 10,
+};
+
+export default {
+  name: "roleList",
+  data() {
+    return {
+      listQuery: Object.assign(
+        { compId: parseInt(this.$route.query.id) },
+        defaultListQuery
+      ),
+      list: null,
+      total: null,
+      listLoading: false,
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    handleSizeChange(val) {
+      this.listQuery.pageNum = 1;
+      this.listQuery.pageSize = val;
+      this.getList();
+    },
+    handleCurrentChange(val) {
+      this.listQuery.pageNum = val;
+      this.getList();
+    },
+    handleAddShareCode() {
+      this.$confirm("是否要生成邀请码?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        createShareCode(this.$route.query.id).then((response) => {
+          this.$message({
+            type: "success",
+            message: "生成成功!",
+          });
+          this.getList();
+        });
+      });
+    },
+    handleDelete(index, row) {
+      this.$confirm("是否要删除该邀请码?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        // let codeId = [];
+        // codeId.push(row.id);
+        // let params = new URLSearchParams();
+        // params.append("codeId", codeId);
+        // console.log("del-params", params);
+        // return false;
+        deleteShareCode(row.id).then((response) => {
+          this.$message({
+            type: "success",
+            message: "删除成功!",
+          });
+          this.getList();
+        });
+      });
+    },
+    getList() {
+      this.listLoading = true;
+      getShareCodeList(this.listQuery)
+        .then((response) => {
+          console.log("response", JSON.parse(JSON.stringify(response)));
+          this.listLoading = false;
+          this.list = response.data.list;
+          this.total = response.data.total;
+        })
+        .catch((err) => {
+          this.listLoading = false;
+          // this.$message({
+          //     type: 'info',
+          //     message: err
+          // });
+          console.log(err);
+        });
+    },
+  },
+};
+</script>
+<style>
+</style>
+
+