Browse Source

乐团缴费

1
mo 3 years ago
parent
commit
29ef0fff63

+ 0 - 1
src/views/categroyManager/insideSetting/adminOperation.vue

@@ -146,7 +146,6 @@ export default {
       if (silderList.code == 200) {
         this.silderList = silderList.data
         tempData = this.setTableData(silderList.data)
-
         this.data = tempData
         // console.log(this.data)
       }

+ 14 - 0
src/views/categroyManager/productSystem/api.js

@@ -0,0 +1,14 @@
+import request2 from '@/utils/request2'
+import qs from 'qs'
+let api = '/api-web'
+
+
+
+// 获取所有会员列表
+export function getAllmemberRank(data) {
+  return request2({
+    url: api + '/memberRankSetting/findAll',
+    method: 'get',
+    params: data
+  })
+}

+ 131 - 18
src/views/categroyManager/productSystem/memberSet.vue

@@ -47,11 +47,11 @@
           </el-image>
         </template>
       </el-table-column>
-      <el-table-column
+      <!-- <el-table-column
         align="center"
         prop="type"
         label="是否新用户试用"
-      ></el-table-column>
+      ></el-table-column> -->
       <el-table-column
         align="center"
         prop="type"
@@ -123,21 +123,21 @@
             :imageHeightM="400"
           ></upload>
         </el-form-item>
-        <br>
+        <!-- <br />
         <el-form-item
           label="是否新用户试用"
           prop="name"
           :label-width="formLabelWidth"
         >
-           <el-select  v-model.trim="form.isProbationPeriod"
-                              clearable
-                              filterable
-                              placeholder="请选择是否试用">
-                    <el-option label="是"
-                                :value="true"></el-option>
-                    <el-option label="否"
-                                :value="false"></el-option>
-                  </el-select>
+          <el-select
+            v-model.trim="form.isProbationPeriod"
+            clearable
+            filterable
+            placeholder="请选择是否试用"
+          >
+            <el-option label="是" :value="true"></el-option>
+            <el-option label="否" :value="false"></el-option>
+          </el-select>
         </el-form-item>
         <el-form-item
           label="试用期限"
@@ -145,13 +145,13 @@
           :label-width="formLabelWidth"
         >
           <el-input
-          style="width:200px"
+            style="width: 200px"
             v-model.trim="form.name"
             autocomplete="off"
           >
             <template slot="append">天</template>
           </el-input>
-        </el-form-item>
+        </el-form-item> -->
         <el-alert
           title="会员权益"
           type="info"
@@ -159,12 +159,48 @@
           style="margin-bottom: 20px"
         >
         </el-alert>
-
-
+        <el-form-item label="搜索" :label-width="formLabelWidth">
+          <el-input
+            style="width: 210px"
+            v-model.trim="seachRoleValue"
+          ></el-input>
+          <el-button style="margin-left: 10px" type="danger" @click="seachRoles"
+            >搜索</el-button
+          >
+          <el-button type="primary" @click="onReSetRole">重置</el-button>
+        </el-form-item>
+        <br />
+        <el-form-item label="会员功能" :label-width="formLabelWidth">
+          <el-checkbox
+            :indeterminate="isIndeterminate"
+            @change="onCheckAll"
+            v-model.trim="checkAll"
+            >全选</el-checkbox
+          >
+          <div>
+            <el-tree
+              class="tree"
+              :data="treeData"
+              show-checkbox
+              node-key="id"
+              @check="onTreeCheck"
+              :filter-node-method="filterNode"
+              ref="tree"
+              accordion
+              highlight-current
+              :default-checked-keys="result.menuIds"
+              :props="defaultProps"
+            >
+              <div slot-scope="{ node, data }">
+                {{ node.label }}
+              </div>
+            </el-tree>
+          </div>
+        </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
         <el-button @click="branchStatus = false">取 消</el-button>
-        <el-button @click="onBranchSubmit" type="primary">确 定</el-button>
+        <el-button @click="onSubmit" type="primary">确 定</el-button>
       </span>
     </el-dialog>
 
@@ -182,6 +218,8 @@
 <script>
 import pagination from "@/components/Pagination/index";
 import Upload from "@/components/Upload/index";
+import { getAllmemberRank } from "./api";
+import { getMemberPrivilegesItem } from "@/views/dictionaryManager/api";
 export default {
   components: { pagination, Upload },
   name: "memberSet",
@@ -202,10 +240,35 @@ export default {
       title: "新增会员等级",
       branchStatus: false,
       form: {},
+      addDisabled: false,
+      checkAll: false,
+      isIndeterminate: false,
+      treeData: [],
+      defaultProps: {
+        children: "children",
+        label: "label",
+      },
+      result: {
+        roleName: null,
+        roleDesc: null,
+      },
+      seachRoleValue: "",
+      silderList: [],
+      slideCount:0
     };
   },
-  mounted() {},
+  async mounted() {
+    try {
+      const res = await getMemberPrivilegesItem();
+      this.silderList = res.data;
+      this.treeData = this.setTableData(res.data);
+    } catch (e) {}
+  },
   methods: {
+    onFormClose(ruleForm){
+      this.onReSetRole()
+      this.$refs[ruleForm].resetFields()
+    },
     search() {},
     onReSet() {},
     getList() {},
@@ -213,6 +276,56 @@ export default {
       this.title = "新增会员等级";
       this.branchStatus = true;
     },
+    onSubmit() {},
+    onCheckAll(val) {
+      if (val) {
+        // 先去掉半选
+        this.isIndeterminate = false;
+        this.$refs.tree.setCheckedNodes(this.treeData);
+      } else {
+        this.$refs.tree.setCheckedNodes([]);
+      }
+    },
+    onTreeCheck() {
+      let checkTree = this.$refs.tree.getCheckedKeys();
+      this.checkAll = checkTree.length >= this.slideCount;
+      this.isIndeterminate =
+        checkTree.length > 0 && checkTree.length < this.slideCount;
+    },
+    filterNode(value, data) {
+      console.log(data);
+      if (!value) return true;
+      return data.label.indexOf(value) !== -1;
+    },
+    seachRoles() {
+      this.$refs.tree.filter(this.seachRoleValue);
+    },
+    onReSetRole() {
+      this.seachRoleValue = "";
+      this.data = this.setTableData(this.silderList);
+    },
+    setTableData(result) {
+      let list = [];
+      list = result.map((res) => {
+        let tempList = {};
+        tempList = {
+          id: res.id,
+          name: res.name,
+          label: res.name,
+        };
+        this.slideCount++;
+        if (res.memberPrivilegesItems && res.memberPrivilegesItems.length > 0) {
+          tempList.children = this.setTableData(res.memberPrivilegesItems);
+        }
+        return tempList;
+      });
+      return list;
+    },
   },
 };
 </script>
+<style lang="scss" scoped>
+.tree {
+  min-width: 630px;
+}
+</style>