Merge branch 'master' of http://60.204.229.151:20080/chenkangxu/merchant-web
This commit is contained in:
		
						commit
						d0c77a1131
					
				| 
						 | 
				
			
			@ -0,0 +1,52 @@
 | 
			
		|||
import $http from "@/utils/httpRequest.js";
 | 
			
		||||
 | 
			
		||||
export const role = {
 | 
			
		||||
  //角色列表
 | 
			
		||||
  roleList: (data) => {
 | 
			
		||||
    return $http.request({
 | 
			
		||||
      url: `/merchant-api/role/list`,
 | 
			
		||||
      method: "get",
 | 
			
		||||
      params: data,
 | 
			
		||||
    });
 | 
			
		||||
  },
 | 
			
		||||
  //新增角色列表
 | 
			
		||||
  addRoleList: (data) => {
 | 
			
		||||
    return $http.request({
 | 
			
		||||
      url: `/merchant-api/role/add`,
 | 
			
		||||
      method: "post",
 | 
			
		||||
      data,
 | 
			
		||||
    });
 | 
			
		||||
  },
 | 
			
		||||
  //编辑角色列表
 | 
			
		||||
  updateRoleList: (data) => {
 | 
			
		||||
    return $http.request({
 | 
			
		||||
      url: `/merchant-api/role/update`,
 | 
			
		||||
      method: "post",
 | 
			
		||||
      data,
 | 
			
		||||
    });
 | 
			
		||||
  },
 | 
			
		||||
  //删除角色列表
 | 
			
		||||
  deleteRoleList: (data) => {
 | 
			
		||||
    return $http.request({
 | 
			
		||||
      url: `/merchant-api/role/delete`,
 | 
			
		||||
      method: "post",
 | 
			
		||||
      data,
 | 
			
		||||
    });
 | 
			
		||||
  },
 | 
			
		||||
  //更新角色权限
 | 
			
		||||
  updatePermissionUpdate: (data) => {
 | 
			
		||||
    return $http.request({
 | 
			
		||||
      url: `/merchant-api/role/permission/update`,
 | 
			
		||||
      method: "put",
 | 
			
		||||
      data,
 | 
			
		||||
    });
 | 
			
		||||
  },
 | 
			
		||||
  //获取角色权限列表
 | 
			
		||||
  getRoleList: (data) => {
 | 
			
		||||
    return $http.request({
 | 
			
		||||
      url: `/merchant-api/role/permission/list`,
 | 
			
		||||
      method: "get",
 | 
			
		||||
      params: data,
 | 
			
		||||
    });
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -102,8 +102,12 @@ router.beforeEach((to, from, next) => {
 | 
			
		|||
    });
 | 
			
		||||
    $api
 | 
			
		||||
      .getUserInfo()
 | 
			
		||||
      .then(({ data }) => {
 | 
			
		||||
      .then(async ({ data }) => {
 | 
			
		||||
        let permissionsData = getMenu(data.data.role);
 | 
			
		||||
        if (permissionsData === null) {
 | 
			
		||||
          let res = await $api.role.getRoleList({ roleId: data.data.role });
 | 
			
		||||
          permissionsData = res.data.data;
 | 
			
		||||
        }
 | 
			
		||||
        const filterTreeData = (data, permissions) => {
 | 
			
		||||
          console.log(data);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -167,7 +171,7 @@ router.beforeEach((to, from, next) => {
 | 
			
		|||
        //   FULL_ROUTERS.menuList,
 | 
			
		||||
        //   data.data.permissions
 | 
			
		||||
        // );
 | 
			
		||||
        console.log(permissionsData);
 | 
			
		||||
        console.log(permissionsData, "11111111111111111111111111111");
 | 
			
		||||
 | 
			
		||||
        let _menu = filterTreeData(FULL_ROUTERS.menuList, permissionsData);
 | 
			
		||||
        fnAddDynamicMenuRoutes(_menu);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -180,7 +180,7 @@ export function getMenu(role) {
 | 
			
		|||
      "operation-management/brand-store/index",
 | 
			
		||||
      // "operation-management/order/index",
 | 
			
		||||
      "operation-management/brand-order/index",
 | 
			
		||||
      "operation-management/role/index",
 | 
			
		||||
      // "operation-management/role/index",
 | 
			
		||||
      "datacenter",
 | 
			
		||||
      "datacenter/customer-analysis/index",
 | 
			
		||||
      "datacenter/product-analysis/index",
 | 
			
		||||
| 
						 | 
				
			
			@ -189,7 +189,7 @@ export function getMenu(role) {
 | 
			
		|||
      "brand/config/index",
 | 
			
		||||
      "local-course/resources",
 | 
			
		||||
      "wallet/index",
 | 
			
		||||
      "operation-management/accountNumber/index",
 | 
			
		||||
      // "operation-management/accountNumber/index",
 | 
			
		||||
    ];
 | 
			
		||||
  } else if (role == "ROLE_AGENT") {
 | 
			
		||||
    return [
 | 
			
		||||
| 
						 | 
				
			
			@ -198,15 +198,17 @@ export function getMenu(role) {
 | 
			
		|||
      "operation-management/market-list/index",
 | 
			
		||||
      // "operation-management/order/index",
 | 
			
		||||
      "operation-management/brand-order/index",
 | 
			
		||||
      "operation-management/role/index",
 | 
			
		||||
      // "operation-management/role/index",
 | 
			
		||||
      "datacenter",
 | 
			
		||||
      "datacenter/customer-analysis/index",
 | 
			
		||||
      "datacenter/product-analysis/index",
 | 
			
		||||
      "datacenter/order-analysis/index",
 | 
			
		||||
      "local-course/resources",
 | 
			
		||||
      "wallet/index",
 | 
			
		||||
      "operation-management/accountNumber/index",
 | 
			
		||||
      // "operation-management/accountNumber/index",
 | 
			
		||||
    ];
 | 
			
		||||
  } else {
 | 
			
		||||
    return null;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -70,41 +70,117 @@ export default {
 | 
			
		|||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    modalCols() {
 | 
			
		||||
      return [
 | 
			
		||||
        {
 | 
			
		||||
          label: "姓名",
 | 
			
		||||
          prop: "username",
 | 
			
		||||
          type: "Input",
 | 
			
		||||
          required: true,
 | 
			
		||||
          rules: {
 | 
			
		||||
      if (this.isAdd) {
 | 
			
		||||
        return [
 | 
			
		||||
          {
 | 
			
		||||
            label: "姓名",
 | 
			
		||||
            prop: "username",
 | 
			
		||||
            type: "Input",
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: "请输入姓名",
 | 
			
		||||
            trigger: "blur",
 | 
			
		||||
            rules: {
 | 
			
		||||
              required: true,
 | 
			
		||||
              message: "请输入姓名",
 | 
			
		||||
              trigger: "blur",
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          label: "账号",
 | 
			
		||||
          prop: "mobile",
 | 
			
		||||
          type: "Input",
 | 
			
		||||
          required: true,
 | 
			
		||||
          rules: {
 | 
			
		||||
          {
 | 
			
		||||
            label: "账号",
 | 
			
		||||
            prop: "mobile",
 | 
			
		||||
            type: "Input",
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: "请输入角色编码",
 | 
			
		||||
            trigger: "blur",
 | 
			
		||||
            rules: {
 | 
			
		||||
              required: true,
 | 
			
		||||
              message: "请输入角色编码",
 | 
			
		||||
              trigger: "blur",
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          label: "密码",
 | 
			
		||||
          prop: "password",
 | 
			
		||||
          type: "Input",
 | 
			
		||||
          required: true,
 | 
			
		||||
          rules: {
 | 
			
		||||
          {
 | 
			
		||||
            label: "密码",
 | 
			
		||||
            prop: "password",
 | 
			
		||||
            type: "Input",
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: "请输入权限字段",
 | 
			
		||||
            trigger: "blur",
 | 
			
		||||
            rules: {
 | 
			
		||||
              required: true,
 | 
			
		||||
              message: "请输入权限字段",
 | 
			
		||||
              trigger: "blur",
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      ];
 | 
			
		||||
          {
 | 
			
		||||
            label: "角色",
 | 
			
		||||
            prop: "subRole",
 | 
			
		||||
            rules: {
 | 
			
		||||
              required: true,
 | 
			
		||||
              message: "请绑定角色",
 | 
			
		||||
              trigger: "blur",
 | 
			
		||||
            },
 | 
			
		||||
            type: "jsx",
 | 
			
		||||
            render: () => {
 | 
			
		||||
              return (
 | 
			
		||||
                <el-select
 | 
			
		||||
                  v-model={this.modalData.subRole}
 | 
			
		||||
                  placeholder="请选择销售单位"
 | 
			
		||||
                >
 | 
			
		||||
                  {this.roleList.map((item) => {
 | 
			
		||||
                    return (
 | 
			
		||||
                      <el-option label={item.name} value={item.id}></el-option>
 | 
			
		||||
                    );
 | 
			
		||||
                  })}
 | 
			
		||||
                </el-select>
 | 
			
		||||
              );
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
        ];
 | 
			
		||||
      } else {
 | 
			
		||||
        return [
 | 
			
		||||
          {
 | 
			
		||||
            label: "姓名",
 | 
			
		||||
            prop: "username",
 | 
			
		||||
            type: "Input",
 | 
			
		||||
            required: true,
 | 
			
		||||
            rules: {
 | 
			
		||||
              required: true,
 | 
			
		||||
              message: "请输入姓名",
 | 
			
		||||
              trigger: "blur",
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: "账号",
 | 
			
		||||
            prop: "mobile",
 | 
			
		||||
            type: "Input",
 | 
			
		||||
            required: true,
 | 
			
		||||
            disabled: true,
 | 
			
		||||
            rules: {
 | 
			
		||||
              required: true,
 | 
			
		||||
              message: "请输入角色编码",
 | 
			
		||||
              trigger: "blur",
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            label: "角色",
 | 
			
		||||
            prop: "subRole",
 | 
			
		||||
            rules: {
 | 
			
		||||
              required: true,
 | 
			
		||||
              message: "请绑定角色",
 | 
			
		||||
              trigger: "blur",
 | 
			
		||||
            },
 | 
			
		||||
            type: "jsx",
 | 
			
		||||
            render: () => {
 | 
			
		||||
              return (
 | 
			
		||||
                <el-select
 | 
			
		||||
                  v-model={this.modalData.subRole}
 | 
			
		||||
                  placeholder="请选择销售单位"
 | 
			
		||||
                >
 | 
			
		||||
                  {this.roleList.map((item) => {
 | 
			
		||||
                    return (
 | 
			
		||||
                      <el-option label={item.name} value={item.id}></el-option>
 | 
			
		||||
                    );
 | 
			
		||||
                  })}
 | 
			
		||||
                </el-select>
 | 
			
		||||
              );
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
        ];
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    modalHandles() {
 | 
			
		||||
      return [
 | 
			
		||||
| 
						 | 
				
			
			@ -134,17 +210,30 @@ export default {
 | 
			
		|||
                  this.$emit("queryList");
 | 
			
		||||
                });
 | 
			
		||||
            } else {
 | 
			
		||||
              this.$api.mer_admin.noticeUpdate(this.modalData).then((res) => {
 | 
			
		||||
                this.toggle();
 | 
			
		||||
                this.$emit("queryList");
 | 
			
		||||
              });
 | 
			
		||||
              this.$api.accountNumber
 | 
			
		||||
                .updateAccount(this.modalData)
 | 
			
		||||
                .then((res) => {
 | 
			
		||||
                  this.toggle();
 | 
			
		||||
                  this.$emit("queryList");
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      ];
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  asyncComputed: {},
 | 
			
		||||
  asyncComputed: {
 | 
			
		||||
    async roleList() {
 | 
			
		||||
      let res = await this.$api.role.roleList({
 | 
			
		||||
        ownerId: JSON.parse(sessionStorage.getItem("userInfo")).managerId
 | 
			
		||||
          ? JSON.parse(sessionStorage.getItem("userInfo")).managerId
 | 
			
		||||
          : JSON.parse(sessionStorage.getItem("userInfo")).merchantId,
 | 
			
		||||
      });
 | 
			
		||||
      console.log(res);
 | 
			
		||||
 | 
			
		||||
      return res.data.data;
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -68,7 +68,9 @@
 | 
			
		|||
              <div class="stat-right">
 | 
			
		||||
                <div class="stat-title">总商品数量(个)</div>
 | 
			
		||||
                <div class="stat-value">
 | 
			
		||||
                  <span style="font-size: 20px">{{overview.productCount}}</span>
 | 
			
		||||
                  <span style="font-size: 20px">{{
 | 
			
		||||
                    overview.productCount
 | 
			
		||||
                  }}</span>
 | 
			
		||||
                </div>
 | 
			
		||||
              </div>
 | 
			
		||||
            </div>
 | 
			
		||||
| 
						 | 
				
			
			@ -77,7 +79,9 @@
 | 
			
		|||
              <div class="stat-right">
 | 
			
		||||
                <div class="stat-title">上架中商品数量(个)</div>
 | 
			
		||||
                <div class="stat-value">
 | 
			
		||||
                  <span style="font-size: 20px">{{overview.productOnSaleCount}}</span>
 | 
			
		||||
                  <span style="font-size: 20px">{{
 | 
			
		||||
                    overview.productOnSaleCount
 | 
			
		||||
                  }}</span>
 | 
			
		||||
                </div>
 | 
			
		||||
              </div>
 | 
			
		||||
            </div>
 | 
			
		||||
| 
						 | 
				
			
			@ -86,7 +90,9 @@
 | 
			
		|||
              <div class="stat-right">
 | 
			
		||||
                <div class="stat-title">折扣商品数量(个)</div>
 | 
			
		||||
                <div class="stat-value">
 | 
			
		||||
                  <span style="font-size: 20px">{{overview.productDiscountCount}}</span>
 | 
			
		||||
                  <span style="font-size: 20px">{{
 | 
			
		||||
                    overview.productDiscountCount
 | 
			
		||||
                  }}</span>
 | 
			
		||||
                </div>
 | 
			
		||||
              </div>
 | 
			
		||||
            </div>
 | 
			
		||||
| 
						 | 
				
			
			@ -95,7 +101,9 @@
 | 
			
		|||
              <div class="stat-right">
 | 
			
		||||
                <div class="stat-title">仓库中商品数量(个)</div>
 | 
			
		||||
                <div class="stat-value">
 | 
			
		||||
                  <span style="font-size: 20px">{{overview.productWarehouseCount}}</span>
 | 
			
		||||
                  <span style="font-size: 20px">{{
 | 
			
		||||
                    overview.productWarehouseCount
 | 
			
		||||
                  }}</span>
 | 
			
		||||
                </div>
 | 
			
		||||
              </div>
 | 
			
		||||
            </div>
 | 
			
		||||
| 
						 | 
				
			
			@ -166,7 +174,7 @@ export default {
 | 
			
		|||
      },
 | 
			
		||||
      productFilterType: "SALE",
 | 
			
		||||
      selectList: [],
 | 
			
		||||
      overview:{}
 | 
			
		||||
      overview: {},
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  created() {
 | 
			
		||||
| 
						 | 
				
			
			@ -241,7 +249,7 @@ export default {
 | 
			
		|||
          this.$refs.oTable.complete(false);
 | 
			
		||||
        });
 | 
			
		||||
      this.$api.mer_admin.getProductOverview(this.formInline).then((res) => {
 | 
			
		||||
        console.log(res,'概况');
 | 
			
		||||
        console.log(res, "概况");
 | 
			
		||||
        this.overview = res.data.data;
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
| 
						 | 
				
			
			@ -387,15 +395,13 @@ export default {
 | 
			
		|||
          },
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          title: "操作",
 | 
			
		||||
          title: "操作 (提示:下架后可进行操作)",
 | 
			
		||||
          fixed: "right",
 | 
			
		||||
          type: "jsx",
 | 
			
		||||
          align: "center",
 | 
			
		||||
          width: "340px",
 | 
			
		||||
          render: ({ row }) => {
 | 
			
		||||
            let edit = () => {
 | 
			
		||||
              console.log(row);
 | 
			
		||||
 | 
			
		||||
              this.$refs.addOrUpdate.toggle(row).update();
 | 
			
		||||
            };
 | 
			
		||||
            let priceAdjustment = () => {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -73,9 +73,10 @@ export default {
 | 
			
		|||
      };
 | 
			
		||||
    },
 | 
			
		||||
    init(row) {
 | 
			
		||||
      console.log(row);
 | 
			
		||||
      this.ProductData = {
 | 
			
		||||
        merchantId: JSON.parse(sessionStorage.getItem("userInfo")).merchantId,
 | 
			
		||||
        shopId: JSON.parse(sessionStorage.getItem("userInfo")).shopId,
 | 
			
		||||
        shopId: row.shopId,
 | 
			
		||||
        productIds: [row.id],
 | 
			
		||||
        type: "DISCOUNT",
 | 
			
		||||
      };
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,12 +33,16 @@
 | 
			
		|||
        </template>
 | 
			
		||||
      </obj-table-plus>
 | 
			
		||||
    </div>
 | 
			
		||||
    <!-- 轮播图 -->
 | 
			
		||||
    <!-- 新增角色 -->
 | 
			
		||||
    <addOrUpdate
 | 
			
		||||
      ref="addOrUpdate"
 | 
			
		||||
      @queryList="$refs.oTable.reload()"
 | 
			
		||||
    ></addOrUpdate>
 | 
			
		||||
    <el-dialog title="菜单权限" :visible.sync="dialogTableVisible">
 | 
			
		||||
    <el-dialog
 | 
			
		||||
      v-if="isShow"
 | 
			
		||||
      title="菜单权限"
 | 
			
		||||
      :visible.sync="dialogTableVisible"
 | 
			
		||||
    >
 | 
			
		||||
      <el-form ref="form" :model="form" label-width="120px">
 | 
			
		||||
        <el-form-item label="角色权限:">
 | 
			
		||||
          <el-tree
 | 
			
		||||
| 
						 | 
				
			
			@ -46,16 +50,17 @@
 | 
			
		|||
            ref="tree"
 | 
			
		||||
            :data="data"
 | 
			
		||||
            show-checkbox
 | 
			
		||||
            node-key="id"
 | 
			
		||||
            node-key="url"
 | 
			
		||||
            :default-expand-all="true"
 | 
			
		||||
            :default-checked-keys="menuCheckKeys"
 | 
			
		||||
            :props="defaultProps"
 | 
			
		||||
            @node-click="handleNodeClick"
 | 
			
		||||
          >
 | 
			
		||||
          </el-tree>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-form>
 | 
			
		||||
      <div slot="footer" class="dialog-footer">
 | 
			
		||||
        <el-button type="primary">确定</el-button>
 | 
			
		||||
        <el-button type="primary" @click="sure">确定</el-button>
 | 
			
		||||
        <el-button @click="dialogTableVisible = false">取消</el-button>
 | 
			
		||||
      </div>
 | 
			
		||||
    </el-dialog>
 | 
			
		||||
| 
						 | 
				
			
			@ -63,6 +68,7 @@
 | 
			
		|||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import { getMenu } from "@/utils";
 | 
			
		||||
import addOrUpdate from "./popup/add-or-update.vue";
 | 
			
		||||
import { mapState } from "vuex";
 | 
			
		||||
import FULL_ROUTERS from "@/router/full-routers";
 | 
			
		||||
| 
						 | 
				
			
			@ -90,9 +96,11 @@ export default {
 | 
			
		|||
      defaultProps: {
 | 
			
		||||
        children: "list",
 | 
			
		||||
        label: "name",
 | 
			
		||||
        value: "menuId",
 | 
			
		||||
        value: "url",
 | 
			
		||||
      },
 | 
			
		||||
      menuCheckKeys: [],
 | 
			
		||||
      roleId: "",
 | 
			
		||||
      isShow: false,
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
| 
						 | 
				
			
			@ -100,72 +108,24 @@ export default {
 | 
			
		|||
      this.$refs.addOrUpdate.toggle().add(this.formInline);
 | 
			
		||||
    },
 | 
			
		||||
    queryList(pageNo, pageSize) {
 | 
			
		||||
      console.log(FULL_ROUTERS);
 | 
			
		||||
      this.data = FULL_ROUTERS.menuList;
 | 
			
		||||
      let permissionsData = getMenu(
 | 
			
		||||
        JSON.parse(sessionStorage.getItem("userInfo")).role
 | 
			
		||||
      );
 | 
			
		||||
      this.data = this.filterTreeData(FULL_ROUTERS.menuList, permissionsData);
 | 
			
		||||
 | 
			
		||||
      setTimeout(() => {
 | 
			
		||||
        let data = [
 | 
			
		||||
          {
 | 
			
		||||
            col: "market_id",
 | 
			
		||||
            id: null,
 | 
			
		||||
            name: "市场经营者",
 | 
			
		||||
            operator: "eq",
 | 
			
		||||
            role: "ROLE_MANAGER",
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            col: null,
 | 
			
		||||
            id: null,
 | 
			
		||||
            name: "商户",
 | 
			
		||||
            operator: null,
 | 
			
		||||
            role: "ROLE_MERCHANT",
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            col: null,
 | 
			
		||||
            id: null,
 | 
			
		||||
            name: "专员",
 | 
			
		||||
            operator: null,
 | 
			
		||||
            role: "ROLE_ASSISTANT",
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            col: null,
 | 
			
		||||
            id: null,
 | 
			
		||||
            name: "代理商",
 | 
			
		||||
            operator: null,
 | 
			
		||||
            role: "ROLE_AGENT",
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            col: "MarketId",
 | 
			
		||||
            id: null,
 | 
			
		||||
            name: "老师",
 | 
			
		||||
            operator: null,
 | 
			
		||||
            role: "123",
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            col: "",
 | 
			
		||||
            id: null,
 | 
			
		||||
            name: "测试",
 | 
			
		||||
            operator: "",
 | 
			
		||||
            role: "ROLE_cheshi",
 | 
			
		||||
          },
 | 
			
		||||
        ];
 | 
			
		||||
        this.$refs.oTable.complete(data, Number(5));
 | 
			
		||||
      }, 500);
 | 
			
		||||
      //   this.$api.mer_admin
 | 
			
		||||
      //     .noticePage({
 | 
			
		||||
      //       pageNumber: pageNo,
 | 
			
		||||
      //       pageSize: pageSize,
 | 
			
		||||
      //       ...this.formInline,
 | 
			
		||||
      //     })
 | 
			
		||||
      //     .then((res) => {
 | 
			
		||||
      //       console.log(res);
 | 
			
		||||
      //       this.$refs.oTable.complete(
 | 
			
		||||
      //         res.data.data.data,
 | 
			
		||||
      //         Number(res.data.data.total)
 | 
			
		||||
      //       );
 | 
			
		||||
      //     })
 | 
			
		||||
      //     .catch((err) => {
 | 
			
		||||
      //       this.$refs.oTable.complete(false);
 | 
			
		||||
      //     });
 | 
			
		||||
      this.$api.role
 | 
			
		||||
        .roleList({
 | 
			
		||||
          ownerId: JSON.parse(sessionStorage.getItem("userInfo")).managerId
 | 
			
		||||
            ? JSON.parse(sessionStorage.getItem("userInfo")).managerId
 | 
			
		||||
            : JSON.parse(sessionStorage.getItem("userInfo")).merchantId,
 | 
			
		||||
        })
 | 
			
		||||
        .then((res) => {
 | 
			
		||||
          console.log(res);
 | 
			
		||||
          this.$refs.oTable.complete(res.data.data, Number(res.data.total));
 | 
			
		||||
        })
 | 
			
		||||
        .catch((err) => {
 | 
			
		||||
          this.$refs.oTable.complete(false);
 | 
			
		||||
        });
 | 
			
		||||
    },
 | 
			
		||||
    Reset() {
 | 
			
		||||
      this.formInline = {
 | 
			
		||||
| 
						 | 
				
			
			@ -173,6 +133,50 @@ export default {
 | 
			
		|||
      };
 | 
			
		||||
      this.$refs.oTable.reload();
 | 
			
		||||
    },
 | 
			
		||||
    sure() {
 | 
			
		||||
      console.log(this.$refs.tree.getHalfCheckedKeys());
 | 
			
		||||
      console.log(this.$refs.tree.getCheckedKeys());
 | 
			
		||||
      this.$api.role
 | 
			
		||||
        .updatePermissionUpdate({
 | 
			
		||||
          roleId: this.roleId,
 | 
			
		||||
          permissions: [
 | 
			
		||||
            ...this.$refs.tree.getHalfCheckedKeys(),
 | 
			
		||||
            ...this.$refs.tree.getCheckedKeys(),
 | 
			
		||||
          ],
 | 
			
		||||
        })
 | 
			
		||||
        .then((res) => {
 | 
			
		||||
          console.log(res);
 | 
			
		||||
          this.dialogTableVisible = false;
 | 
			
		||||
          this.$refs.oTable.reload();
 | 
			
		||||
        });
 | 
			
		||||
    },
 | 
			
		||||
    handleNodeClick(data) {
 | 
			
		||||
      console.log(data);
 | 
			
		||||
    },
 | 
			
		||||
    filterTreeData(data, permissions) {
 | 
			
		||||
      console.log(data);
 | 
			
		||||
      // return data; //临时性返回所有菜单方便调试
 | 
			
		||||
      return data.reduce((filtered, node) => {
 | 
			
		||||
        // 如果节点的权限在权限数组中
 | 
			
		||||
        if (permissions.includes(node.url)) {
 | 
			
		||||
          // 递归过滤子节点
 | 
			
		||||
          const list = this.filterTreeData(node.list || [], permissions);
 | 
			
		||||
          // 创建一个新的节点,包含过滤后的子节点
 | 
			
		||||
          filtered.push({
 | 
			
		||||
            ...node,
 | 
			
		||||
            list,
 | 
			
		||||
          });
 | 
			
		||||
        }
 | 
			
		||||
        return filtered;
 | 
			
		||||
      }, []);
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  watch: {
 | 
			
		||||
    dialogTableVisible(e) {
 | 
			
		||||
      if (!e) {
 | 
			
		||||
        this.isShow = false;
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    tableCols() {
 | 
			
		||||
| 
						 | 
				
			
			@ -204,12 +208,29 @@ export default {
 | 
			
		|||
          render: ({ row }) => {
 | 
			
		||||
            //权限
 | 
			
		||||
            let permission = () => {
 | 
			
		||||
              this.dialogTableVisible = true;
 | 
			
		||||
              this.roleId = row.id;
 | 
			
		||||
              this.isShow = true;
 | 
			
		||||
              this.$api.role.getRoleList({ roleId: row.id }).then((res) => {
 | 
			
		||||
                let arr = [
 | 
			
		||||
                  "operation-management",
 | 
			
		||||
                  "datacenter",
 | 
			
		||||
                  "presale",
 | 
			
		||||
                  "marketing",
 | 
			
		||||
                ];
 | 
			
		||||
                this.menuCheckKeys = res.data.data.filter((item) => {
 | 
			
		||||
                  return !arr.includes(item);
 | 
			
		||||
                });
 | 
			
		||||
                this.dialogTableVisible = true;
 | 
			
		||||
              });
 | 
			
		||||
            };
 | 
			
		||||
            let updateBanner = () => {
 | 
			
		||||
              this.$refs.addOrUpdate.toggle(row).update();
 | 
			
		||||
            };
 | 
			
		||||
            let deleteBanner = () => {};
 | 
			
		||||
            let deleteBanner = () => {
 | 
			
		||||
              this.$api.role.deleteRoleList({ id: row.id }).then((res) => {
 | 
			
		||||
                this.$refs.oTable.reload();
 | 
			
		||||
              });
 | 
			
		||||
            };
 | 
			
		||||
            let onCancel = () => {};
 | 
			
		||||
            return (
 | 
			
		||||
              <div>
 | 
			
		||||
| 
						 | 
				
			
			@ -221,14 +242,6 @@ export default {
 | 
			
		|||
                >
 | 
			
		||||
                  菜单权限
 | 
			
		||||
                </el-button>
 | 
			
		||||
                <el-button
 | 
			
		||||
                  style="margin-right:10px"
 | 
			
		||||
                  size="mini"
 | 
			
		||||
                  type="success"
 | 
			
		||||
                  onClick={updateBanner}
 | 
			
		||||
                >
 | 
			
		||||
                  数据权限
 | 
			
		||||
                </el-button>
 | 
			
		||||
                <el-button
 | 
			
		||||
                  style="margin-right:20px"
 | 
			
		||||
                  size="mini"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -56,14 +56,15 @@ export default {
 | 
			
		|||
        add: (row) => {
 | 
			
		||||
          console.log(row);
 | 
			
		||||
          this.modalData = {
 | 
			
		||||
            targetId: row.targetId,
 | 
			
		||||
            title: "",
 | 
			
		||||
            position: row.position,
 | 
			
		||||
            type: 0,
 | 
			
		||||
            status: true,
 | 
			
		||||
            app: 1,
 | 
			
		||||
            roleCode: "",
 | 
			
		||||
            name: "",
 | 
			
		||||
            col: "",
 | 
			
		||||
            operator: "",
 | 
			
		||||
            remark: "",
 | 
			
		||||
            ownerId: JSON.parse(sessionStorage.getItem("userInfo")).managerId
 | 
			
		||||
              ? JSON.parse(sessionStorage.getItem("userInfo")).managerId
 | 
			
		||||
              : JSON.parse(sessionStorage.getItem("userInfo")).merchantId,
 | 
			
		||||
          };
 | 
			
		||||
          this.fileList = [];
 | 
			
		||||
          this.modalConfig.title = "添加角色";
 | 
			
		||||
          this.isAdd = true;
 | 
			
		||||
        },
 | 
			
		||||
| 
						 | 
				
			
			@ -74,6 +75,8 @@ export default {
 | 
			
		|||
      };
 | 
			
		||||
    },
 | 
			
		||||
    init(row) {
 | 
			
		||||
      console.log(row);
 | 
			
		||||
 | 
			
		||||
      this.modalData = row;
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
| 
						 | 
				
			
			@ -115,7 +118,7 @@ export default {
 | 
			
		|||
        },
 | 
			
		||||
        {
 | 
			
		||||
          label: "数据范围",
 | 
			
		||||
          prop: "range",
 | 
			
		||||
          prop: "operator",
 | 
			
		||||
          maxlength: "30",
 | 
			
		||||
          rules: {
 | 
			
		||||
            required: true,
 | 
			
		||||
| 
						 | 
				
			
			@ -126,7 +129,7 @@ export default {
 | 
			
		|||
          render: () => {
 | 
			
		||||
            return (
 | 
			
		||||
              <el-select
 | 
			
		||||
                v-model={this.modalData.range}
 | 
			
		||||
                v-model={this.modalData.operator}
 | 
			
		||||
                placeholder="请选择销售单位"
 | 
			
		||||
              >
 | 
			
		||||
                {[
 | 
			
		||||
| 
						 | 
				
			
			@ -158,14 +161,8 @@ export default {
 | 
			
		|||
          label: "备注",
 | 
			
		||||
          prop: "remark",
 | 
			
		||||
          type: "Textarea",
 | 
			
		||||
          required: true,
 | 
			
		||||
          maxlength: "120",
 | 
			
		||||
          rows: "5",
 | 
			
		||||
          rules: {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: "请输入备注内容",
 | 
			
		||||
            trigger: "blur",
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      ];
 | 
			
		||||
    },
 | 
			
		||||
| 
						 | 
				
			
			@ -183,18 +180,25 @@ export default {
 | 
			
		|||
          submit: true,
 | 
			
		||||
          handle: () => {
 | 
			
		||||
            console.log(this.modalData);
 | 
			
		||||
            this.toggle();
 | 
			
		||||
            // if (this.isAdd) {
 | 
			
		||||
            //   this.$api.mer_admin.noticeAdd(this.modalData).then((res) => {
 | 
			
		||||
            //     this.toggle();
 | 
			
		||||
            //     this.$emit("queryList");
 | 
			
		||||
            //   });
 | 
			
		||||
            // } else {
 | 
			
		||||
            //   this.$api.mer_admin.noticeUpdate(this.modalData).then((res) => {
 | 
			
		||||
            //     this.toggle();
 | 
			
		||||
            //     this.$emit("queryList");
 | 
			
		||||
            //   });
 | 
			
		||||
            // }
 | 
			
		||||
            if (this.isAdd) {
 | 
			
		||||
              this.$api.role.addRoleList(this.modalData).then((res) => {
 | 
			
		||||
                this.toggle();
 | 
			
		||||
                this.$emit("queryList");
 | 
			
		||||
              });
 | 
			
		||||
            } else {
 | 
			
		||||
              this.$api.role
 | 
			
		||||
                .updateRoleList({
 | 
			
		||||
                  ...this.modalData,
 | 
			
		||||
                  ownerId: JSON.parse(sessionStorage.getItem("userInfo"))
 | 
			
		||||
                    .managerId
 | 
			
		||||
                    ? JSON.parse(sessionStorage.getItem("userInfo")).managerId
 | 
			
		||||
                    : JSON.parse(sessionStorage.getItem("userInfo")).merchantId,
 | 
			
		||||
                })
 | 
			
		||||
                .then((res) => {
 | 
			
		||||
                  this.toggle();
 | 
			
		||||
                  this.$emit("queryList");
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      ];
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue