谢杰标 %!s(int64=2) %!d(string=hai) anos
pai
achega
f335d947b3

+ 9 - 0
src/api/store/index.js

@@ -0,0 +1,9 @@
+import request from "@/utils/request";
+
+// 所有店铺列表
+export function getAllStoreList() {
+  return request({
+    url: "/store/list/all",
+    method: "get",
+  });
+}

+ 4 - 4
src/api/system/userInformationManagement.js

@@ -3,7 +3,7 @@ export default {
     //新增用户
     addUser(data) {
         return request({
-            url: '/system/user',
+            url: '/store/system/user',
             method: 'post',
             data
         })
@@ -11,7 +11,7 @@ export default {
     //更新用户
     editUser(data) {
         return request({
-            url: '/system/user/edit',
+            url: '/store/system/user/edit',
             method: 'post',
             data
         })
@@ -19,7 +19,7 @@ export default {
     //获取用户列表
     obtainUserList(data) {
         return request({
-            url: '/system/user/list',
+            url: '/store/system/user/list',
             method: 'get',
             params: data
         })
@@ -27,7 +27,7 @@ export default {
     //获取用户详细
     obtainUserDetails(data) {
         return request({
-            url: `/system/user/` + data,
+            url: `/store/system/user/` + data,
             method: 'get',
         })
     },

+ 1 - 2
src/components/BaseDialog.vue

@@ -91,9 +91,8 @@ export default {
   watch: {
     visible(val) {
       if (val === false) {
-        // 重置操作
       } else {
-        // 展示时操作
+        this.$emit("open");
       }
     },
   },

+ 1 - 1
src/components/searchBoxNew.vue

@@ -16,7 +16,7 @@
           <el-select
             v-if="item.scope === 'store'"
             v-model="formData[item.prop]"
-            :placeholder="item.placeholder"
+            :placeholder="item.placeholder || '请选择所属店铺'"
             :size="size"
           >
             <el-option

+ 42 - 259
src/store/getters.js

@@ -1,269 +1,52 @@
-import api from '@/api/api'
-
+import api from "@/api/api";
+import { getAllStoreList } from "../api/store/index";
 const getters = {
-  sidebar: state => state.app.sidebar,
-  size: state => state.app.size,
-  device: state => state.app.device,
-  visitedViews: state => state.tagsView.visitedViews,
-  cachedViews: state => state.tagsView.cachedViews,
-  token: state => state.user.token,
-  avatar: state => state.user.avatar,
-  name: state => state.user.name,
-  introduction: state => state.user.introduction,
-  userId: state => state.user.userId,
-  roles: state => state.user.roles,
-  permissions: state => state.user.permissions,
-  permission_routes: state => state.permission.routes,
-  topbarRouters: state => state.permission.topbarRouters,
-  defaultRoutes: state => state.permission.defaultRoutes,
-  sidebarRouters: state => state.permission.sidebarRouters,
+  sidebar: (state) => state.app.sidebar,
+  size: (state) => state.app.size,
+  device: (state) => state.app.device,
+  visitedViews: (state) => state.tagsView.visitedViews,
+  cachedViews: (state) => state.tagsView.cachedViews,
+  token: (state) => state.user.token,
+  avatar: (state) => state.user.avatar,
+  name: (state) => state.user.name,
+  introduction: (state) => state.user.introduction,
+  userId: (state) => state.user.userId,
+  roles: (state) => state.user.roles,
+  permissions: (state) => state.user.permissions,
+  permission_routes: (state) => state.permission.routes,
+  topbarRouters: (state) => state.permission.topbarRouters,
+  defaultRoutes: (state) => state.permission.defaultRoutes,
+  sidebarRouters: (state) => state.permission.sidebarRouters,
   indexnum(state) {
     if (!state.dict.indexnum) {
-      api.inquireGradegradelistUserPeriod({ status: 1, periodStatus: 2, pageSize: 1, pageNum: 1 }).then(res => {
-        state.dict.indexnum = res.total
-      })
-    }
-    return state.dict.indexnum
+      api
+        .inquireGradegradelistUserPeriod({
+          status: 1,
+          periodStatus: 2,
+          pageSize: 1,
+          pageNum: 1,
+        })
+        .then((res) => {
+          state.dict.indexnum = res.total;
+        });
+    }
+    return state.dict.indexnum;
   },
   roleList(state) {
     if (!state.dict.roleList) {
-      api.obtainRoleList({ status: 1 }).then(res => {
-        state.dict.roleList = res.rows
-      })
-    }
-    return state.dict.roleList
-  },
-  systemtenantlist(state) {
-    if (!state.dict.systemtenantlist) {
-      api.systemtenantlist({ status: 1 }).then(res => {
-        state.dict.systemtenantlist = res.rows
-      })
-    }
-    return state.dict.systemtenantlist
-  },
-  educationType(state) {
-    if (!state.dict.educationType) {
-      api.inquireCourseEducationType({ status: 1 }).then(res => {
-        state.dict.educationType = res.rows
-      })
-    }
-    return state.dict.educationType
-  },
-  projectType(state) {
-    if (!state.dict.projectType) {
-      api.inquireCourseProjectType({ status: 1 }).then(res => {
-        state.dict.projectType = res.rows
-      })
-    }
-    return state.dict.projectType
-  },
-  businessLevel(state) {
-    if (!state.dict.businessLevel) {
-      api.inquirebusinessList({ status: 1 }).then(res => {
-        state.dict.businessLevel = res.rows
-      })
-    }
-    return state.dict.businessLevel
-  },
-  sujectType(state) {
-    if (!state.dict.sujectType) {
-      api.inquireCourseSubject({ status: 1 }).then(res => {
-        state.dict.sujectType = res.rows
-      })
-    }
-    return state.dict.sujectType
-  },
-  Professional(state) {
-    if (!state.dict.Professional) {
-      api.inquireCourseMajor({ status: 1 }).then(res => {
-        state.dict.Professional = res.rows
-      })
-    }
-    return state.dict.Professional
-  },
-  schoolList(state) {
-    if (!state.dict.schoolList) {
-      api.inquireUserSchool({ status: 1 }).then(res => {
-        state.dict.schoolList = res.rows
-      })
-    }
-    return state.dict.schoolList
-  },
-  courseExamine(state) {
-    if (!state.dict.courseExamine) {
-      api.inquireCourseExamine({ status: 1 }).then(res => {
-        state.dict.courseExamine = res.rows
-      })
-    }
-    return state.dict.courseExamine
-  },
-  certificate(state) {
-    if (!state.dict.certificate) {
-      api.inquireBaseCertificate({ status: 1 }).then(res => {
-        state.dict.certificate = res.rows
-      })
-    }
-    return state.dict.certificate
-  },
-  certificateName(state) {
-    if (!state.dict.certificateName) {
-      api.inquireBaseCertificatecommon({ status: 1 }).then(res => {
-        state.dict.certificateName = res.rows
-      })
-    }
-    return state.dict.certificateName
-  },
-  certificateTp(state) {
-    if (!state.dict.certificateTp) {
-      api.inquireBaseCertificatetp({ status: 1 }).then(res => {
-        state.dict.certificateTp = res.rows
-      })
-    }
-    return state.dict.certificateTp
-  },
-  labelList(state) {
-    if (!state.dict.labelList) {
-      api.inquireCourseLabelList({ status: 1 }).then(res => {
-        state.dict.labelList = res.rows
-      })
-    }
-    return state.dict.labelList
-  },
-  payList(state) {
-    if (!state.dict.payList) {
-      api.inquirepayaislelist({ status: 1 }).then(res => {
-        state.dict.payList = res.rows
-      })
-    }
-    return state.dict.payList
-  },
-  paypayee(state) {
-    if (!state.dict.paypayee) {
-      api.inquirepaypayee({ status: 1 }).then(res => {
-        state.dict.paypayee = res.rows
-      })
-    }
-    return state.dict.paypayee
-  },
-  paysource(state) {
-    if (!state.dict.paysource) {
-      api.inquirepaysource({ status: 1 }).then(res => {
-        state.dict.paysource = res.rows
-      })
-    }
-    return state.dict.paysource
-  },
-  payvisit(state) {
-    if (!state.dict.payvisit) {
-      api.inquirepayvisit({ status: 1 }).then(res => {
-        state.dict.payvisit = res.rows
-      })
-    }
-    return state.dict.payvisit
-  },
-  payserve(state) {
-    if (!state.dict.payserve) {
-      api.inquirepayserve({ status: 1 }).then(res => {
-        state.dict.payserve = res.rows
-      })
-    }
-    return state.dict.payserve
-  },
-  paysupply(state) {
-    if (!state.dict.paysupply) {
-      api.inquirepaysupply({ status: 1 }).then(res => {
-        state.dict.paysupply = res.rows
-      })
-    }
-    return state.dict.paysupply
-  },
-  paynature(state) {
-    if (!state.dict.paynature) {
-      api.inquirepaynature({ status: 1 }).then(res => {
-        state.dict.paynature = res.rows
-      })
-    }
-    return state.dict.paynature
-  },
-  paycost(state) {
-    if (!state.dict.paycost) {
-      api.inquirepaycost({ status: 1 }).then(res => {
-        state.dict.paycost = res.rows
-      })
-    }
-    return state.dict.paycost
-  },
-  paperexam(state) {
-    if (!state.dict.paperexam) {
-      api.inquirepaperexamList({ status: 1 }).then(res => {
-        state.dict.paperexam = res.rows
-      })
-    }
-    return state.dict.paperexam
-  },
-  areas(state) {
-    if (!state.dict.areas) {
-      api.inquireapplyAreas({ status: 1, areaType: 1 }).then(res => {
-        state.dict.areas = res.rows
-      })
-    }
-    return state.dict.areas
-  },
-  cityList(state) {
-    if (!state.dict.cityList) {
-      api.inquireapplyCityList({ status: 1, areaType: 2 }).then(res => {
-        state.dict.cityList = res.rows
-      })
-    }
-    return state.dict.cityList
-  },
-  classList(state) {
-    if (!state.dict.classList) {
-      api.inquireGradegradeList({ status: 1 }).then(res => {
-        state.dict.classList = res.rows
-      })
-    }
-    return state.dict.classList
-  },
-  examLists(state) {
-    if (!state.dict.examLists) {
-      api.inquiresystemapplyList({ status: "0,1,2" }).then(res => {
-        state.dict.examLists = res.rows
-      })
-    }
-    return state.dict.examLists
-  },
-  examList(state) {
-    if (!state.dict.examList) {
-      api.inquiresystemapplyList({ status: 1 }).then(res => {
-        state.dict.examList = res.rows
-      })
-    }
-    return state.dict.examList
-  },
-  applySiteAddress(state) {
-    if (!state.dict.applySiteAddress) {
-      api.inquiresystemsite({ status: 1 }).then(res => {
-        state.dict.applySiteAddress = res.rows
-      })
-    }
-    return state.dict.applySiteAddress
-  },
-  beforeList(state) {
-    if (!state.dict.beforeList) {
-      api.inquiresystembefore({ status: 1 }).then(res => {
-        state.dict.beforeList = res.rows
-      })
+      api.obtainRoleList({ status: 1 }).then((res) => {
+        state.dict.roleList = res.rows;
+      });
     }
-    return state.dict.beforeList
+    return state.dict.roleList;
   },
-  beforeLists(state) {
-    if (!state.dict.beforeLists) {
-      api.inquiresystembefore({ status: '0,1,2' }).then(res => {
-        state.dict.beforeLists = res.rows
-      })
+  storeList(state) {
+    if (!state.dict.storeList.length) {
+      getAllStoreList().then((res) => {
+        state.dict.storeList = res.data;
+      });
     }
-    return state.dict.beforeLists
+    return state.dict.storeList;
   },
-}
-export default getters
+};
+export default getters;

+ 16 - 27
src/store/modules/dict.js

@@ -1,38 +1,27 @@
-
-import api from '@/api/api'
+import api from "@/api/api";
+import { getAllStoreList } from "../../api/store/index";
 const state = {
-  roleList: null,//角色列表
-  areas: null,//地区-省
-  cityList: null,//地区-市
-}
+  roleList: null, //角色列表
+  storeList: [],
+};
 const mutations = {
   //更新角色列表
   EDICROLELIST(state) {
-    api.obtainRoleList({ status: 1 }).then(res => {
-      state.roleList = res.rows
-    })
-  },
-  //更新地区-省
-  AREAS(state) {
-    api.inquireapplyAreas({ status: 1 }).then(res => {
-      state.areas = res.rows
-    })
+    api.obtainRoleList({ status: 1 }).then((res) => {
+      state.roleList = res.rows;
+    });
   },
-  //更新地区-市
-  CITYLIST(state) {
-    api.inquireapplyCityList({ status: 1 }).then(res => {
-      state.cityList = res.rows
-    })
+  EDICSTORELIST(state) {
+    getAllStoreList().then((res) => {
+      state.storeList = res.rows;
+    });
   },
-}
+};
 
-const actions = {
-
-}
+const actions = {};
 
 export default {
   state,
   mutations,
-  actions
-}
-
+  actions,
+};

+ 1 - 1
src/store/modules/permission.js

@@ -72,7 +72,7 @@ const permission = {
                 children: [
                   {
                     name: item.name,
-                    path: item.path.substr(1),
+                    path: item.path.substr(0),
                     component: item.component,
                     hidden: false,
                     noChildren: true,

+ 4 - 0
src/views/memberMag/index.vue

@@ -104,6 +104,10 @@ export default {
       tableData: [],
       total: 0,
       formList: [
+        {
+          prop: "name",
+          scope: "store",
+        },
         {
           prop: "name",
           placeholder: "请输产品名称",

+ 0 - 172
src/views/staffMag/components/StaffSetDlg.vue

@@ -1,172 +0,0 @@
-<template>
-  <Base-dialog
-    :title="form.id ? '成员编辑' : '成员新增'"
-    :isShow.sync="isShow"
-    @close="close"
-    :isShowFooter="false"
-    width="450px"
-  >
-    <el-form
-      label-width="80px"
-      label-position="left"
-      :model="form"
-      hide-required-asterisk
-      :rules="rules"
-      ref="form"
-    >
-      <el-form-item label="身份:" prop="type">
-        <el-radio-group v-model="form.type">
-          <el-radio :label="1">店长</el-radio>
-          <el-radio :label="2">店员</el-radio>
-        </el-radio-group>
-      </el-form-item>
-      <el-form-item label="真实姓名:" prop="userName">
-        <el-input v-model.Number="form.userName" placeholder="请输入提现金额">
-        </el-input>
-      </el-form-item>
-      <el-form-item label="联系电话:" prop="phone">
-        <el-input v-model.Number="form.phone" placeholder="请输入提现金额">
-        </el-input>
-      </el-form-item>
-      <el-form-item label="密码:" prop="password">
-        <el-input v-model.Number="form.password" placeholder="请输入密码">
-        </el-input>
-      </el-form-item>
-      <el-form-item label="角色名称" prop="roleIds">
-        <el-select
-          multiple
-          v-model="form.roleIds"
-          placeholder="请选择角色名称"
-          clearable
-          :style="{ width: '100%' }"
-        >
-          <el-option
-            v-for="(item, index) in roleList"
-            :key="index"
-            :label="item.roleName"
-            :value="item.roleId"
-            :disabled="item.disabled"
-          ></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="启动状态:" prop="ststus">
-        <el-radio-group v-model="form.ststus">
-          <el-radio :label="1">启动</el-radio>
-          <el-radio :label="2">暂停</el-radio>
-        </el-radio-group>
-      </el-form-item>
-    </el-form>
-    <div class="btns clearfix">
-      <el-button @click="visible = false">取消</el-button>
-      <el-button type="primary" @click="submitForm">启用</el-button>
-      <el-button type="info">保存</el-button>
-    </div>
-  </Base-dialog>
-</template>
-
-<script>
-import { mapGetters } from "vuex";
-export default {
-  props: {
-    dialogVisible: {
-      type: Boolean,
-      default: false,
-    },
-  },
-  data() {
-    return {
-      form: {},
-      rules: {
-        type: [{ required: true, message: "请选择身份", trigger: "change" }],
-        ststus: [
-          { required: true, message: "请选择启动状态", trigger: "change" },
-        ],
-        userName: [
-          { required: true, message: "请输入真实姓名", trigger: "blur" },
-        ],
-        phone: [
-          { required: true, message: "手机号必填", trigger: "blur" },
-          {
-            pattern: /^1[3456789]\d{9}$/,
-            message: "手机号码格式不正确",
-            trigger: "blur",
-          },
-        ],
-        roleIds: [
-          {
-            required: true,
-            message: "请选择角色名称",
-            trigger: "change",
-          },
-        ],
-      },
-    };
-  },
-  methods: {
-    resetForm() {
-      this.form = {
-        id: undefined,
-        type: undefined,
-        status: undefined,
-        phone: undefined,
-        userName: undefined,
-        password: undefined,
-        roleIds: [],
-      };
-      this.clearForm("form");
-    },
-    submitForm() {
-      this.$refs.form.validate(async (valid) => {
-        if (valid) {
-          withdrawal(this.form).then((res) => {
-            if (res.code == 200) {
-              this.$message.success("提现申请成功");
-              this.isShow = false;
-              this.$emit("getSellerInfo");
-            }
-          });
-        } else {
-          return false;
-        }
-      });
-    },
-    close() {
-      //   this.isShow = false;
-      this.clearForm("form");
-    },
-  },
-  computed: {
-    isShow: {
-      get() {
-        return this.dialogVisible;
-      },
-      set(val) {
-        this.$emit("update:dialogVisible", false);
-      },
-    },
-    ...mapGetters(["roleList"]),
-  },
-  created() {},
-  components: {},
-  watch: {
-    dialogVisible: {
-      handler(val) {
-        if (val) {
-          this.resetForm();
-        }
-      },
-      immediate: true,
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped>
-.btns {
-  .el-button {
-    margin-top: 20px;
-    float: right;
-    margin-left: 14px;
-  }
-}
-</style>

+ 227 - 0
src/views/storeMag/components/StaffSetDlg.vue

@@ -0,0 +1,227 @@
+<template>
+  <Base-dialog
+    :title="userId ? '成员编辑' : '成员新增'"
+    :isShow.sync="isShow"
+    @close="close"
+    @open="open"
+    :isShowFooter="false"
+    width="450px"
+  >
+    <el-form
+      label-width="80px"
+      label-position="left"
+      :model="form"
+      hide-required-asterisk
+      :rules="rules"
+      ref="form"
+    >
+      <el-form-item label="所属店铺" prop="storeId">
+        <el-select
+          v-model="form.storeId"
+          placeholder="请选择所属店铺"
+          :style="{ width: '100%' }"
+        >
+          <el-option
+            v-for="(item, index) in storeList"
+            :key="index"
+            :label="item.storeName"
+            :value="item.storeId"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="账号名称" prop="userName">
+        <el-input v-model="form.userName" placeholder="请输入账号名称">
+        </el-input>
+      </el-form-item>
+      <el-form-item label="角色名称" prop="roleIds">
+        <el-select
+          multiple
+          v-model="form.roleIds"
+          placeholder="请选择角色名称"
+          clearable
+          :style="{ width: '100%' }"
+        >
+          <el-option
+            v-for="(item, index) in roleList"
+            :key="index"
+            :label="item.roleName"
+            :value="item.roleId"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="真实姓名:" prop="realname">
+        <el-input v-model="form.realname" placeholder="请输入提现金额">
+        </el-input>
+      </el-form-item>
+      <el-form-item label="联系电话:" prop="telphone">
+        <el-input v-model="form.telphone" placeholder="请输入提现金额">
+        </el-input>
+      </el-form-item>
+      <el-form-item v-if="!userId" label="密码:" prop="password">
+        <el-input disabled v-model="form.password" placeholder="请输入密码">
+        </el-input>
+      </el-form-item>
+      <!-- <el-form-item label="启动状态:" prop="status">
+        <el-radio-group v-model="form.status">
+          <el-radio :label="1">启动</el-radio>
+          <el-radio :label="2">暂停</el-radio>
+        </el-radio-group>
+      </el-form-item> -->
+    </el-form>
+    <div class="btns clearfix">
+      <el-button @click="visible = false">取消</el-button>
+      <el-button type="primary" @click="submitForm(1)">启用</el-button>
+      <el-button type="info" @click="submitForm(0)">保存</el-button>
+    </div>
+  </Base-dialog>
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+export default {
+  props: {
+    dialogVisible: {
+      type: Boolean,
+      default: false,
+    },
+    userId: {
+      type: Number,
+    },
+  },
+  data() {
+    const validatePhone = (rule, value, callback) => {
+      const regExp =
+        /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/;
+      if (!regExp.test(value)) {
+        callback(new Error("请输入正确的手机号"));
+      } else {
+        !this.userId && (this.form.password = this.form.telphone.slice(-6));
+        callback();
+      }
+    };
+    return {
+      form: {},
+      rules: {
+        userName: [
+          {
+            required: true,
+            message: "请输入账号名称",
+            trigger: "blur",
+          },
+        ],
+        storeId: [
+          {
+            required: true,
+            message: "请选择所属店铺",
+            trigger: "change",
+          },
+        ],
+        status: [
+          { required: true, message: "请选择启动状态", trigger: "change" },
+        ],
+        realname: [
+          { required: true, message: "请输入真实姓名", trigger: "blur" },
+        ],
+        telphone: [
+          { required: true, message: "手机号必填", trigger: "blur" },
+          ,
+          {
+            validator: validatePhone,
+            trigger: "change",
+          },
+        ],
+        roleIds: [
+          {
+            required: true,
+            message: "请选择角色名称",
+            trigger: "change",
+          },
+        ],
+      },
+    };
+  },
+  methods: {
+    open() {
+      this.resetForm();
+      this.userId && this.getUserDatail();
+    },
+    resetForm() {
+      this.form = {
+        userId: undefined,
+        status: 0,
+        telphone: undefined,
+        userName: undefined,
+        realname: undefined,
+        password: "",
+        storeId: undefined,
+        roleIds: [],
+      };
+      this.clearForm("form");
+    },
+    getUserDatail() {
+      this.$api.obtainUserDetails(this.userId).then(({ data, roleIds }) => {
+        data.roleIds = roleIds;
+        Object.keys(this.form).forEach((key) => {
+          this.form[key] = data[key];
+        });
+        console.log(this.form, 666);
+      });
+    },
+    submitForm(status) {
+      this.$refs.form.validate(async (valid) => {
+        if (valid) {
+          this.form.status = this.form.status || status;
+          if (this.userId) {
+            this.$api
+              .editUser(this.form)
+              .then((res) => {
+                this.$message.success("修改成功");
+                this.$emit("search");
+                this.isShow = false;
+              })
+              .catch(() => {});
+          } else {
+            this.$api
+              .addUser(this.form)
+              .then((res) => {
+                this.$message.success("新增成功");
+                this.$emit("search");
+                this.isShow = false;
+              })
+              .catch(() => {});
+          }
+        } else {
+          return false;
+        }
+      });
+    },
+    close() {
+      //   this.isShow = false;
+      this.clearForm("form");
+    },
+  },
+  computed: {
+    isShow: {
+      get() {
+        return this.dialogVisible;
+      },
+      set(val) {
+        this.$emit("update:dialogVisible", false);
+      },
+    },
+    ...mapGetters(["roleList", "storeList"]),
+  },
+  created() {},
+  components: {},
+};
+</script>
+
+<style lang="scss" scoped>
+.btns {
+  .el-button {
+    margin-top: 20px;
+    float: right;
+    margin-left: 14px;
+  }
+}
+</style>

+ 117 - 0
src/views/storeMag/components/StoreSetDlg.vue

@@ -0,0 +1,117 @@
+<template>
+  <Base-dialog
+    :title="form.id ? '编辑店铺' : '添加店铺'"
+    :isShow.sync="isShow"
+    @close="close"
+    :isShowFooter="false"
+    width="450px"
+  >
+    <el-form
+      label-width="90px"
+      :model="form"
+      :rules="rules"
+      label-position="right"
+      ref="form"
+    >
+      <el-form-item label="店铺简称:" prop="userName">
+        <el-input v-model="form.userName" placeholder="请输入店铺简称">
+        </el-input>
+      </el-form-item>
+      <el-form-item label="店铺地址:">
+        <el-input v-model="form.password" placeholder="请输入店铺地址">
+        </el-input>
+      </el-form-item>
+    </el-form>
+    <div class="btns clearfix">
+      <el-button @click="visible = false">取消</el-button>
+      <el-button type="primary" @click="submitForm">启用</el-button>
+      <el-button type="info">保存</el-button>
+    </div>
+  </Base-dialog>
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+export default {
+  props: {
+    dialogVisible: {
+      type: Boolean,
+      default: false,
+    },
+  },
+  data() {
+    return {
+      form: {},
+      rules: {
+        userName: [
+          { required: true, message: "请输入店铺简称", trigger: "blur" },
+        ],
+      },
+    };
+  },
+  methods: {
+    resetForm() {
+      this.form = {
+        id: undefined,
+        status: undefined,
+        userName: undefined,
+        password: undefined,
+      };
+      this.clearForm("form");
+    },
+    submitForm() {
+      this.$refs.form.validate(async (valid) => {
+        if (valid) {
+          withdrawal(this.form).then((res) => {
+            if (res.code == 200) {
+              this.$message.success("提现申请成功");
+              this.isShow = false;
+              this.$emit("getSellerInfo");
+            }
+          });
+        } else {
+          return false;
+        }
+      });
+    },
+    close() {
+      //   this.isShow = false;
+      this.clearForm("form");
+    },
+  },
+  computed: {
+    isShow: {
+      get() {
+        return this.dialogVisible;
+      },
+      set(val) {
+        this.$emit("update:dialogVisible", false);
+      },
+    },
+    ...mapGetters(["roleList", "storeList"]),
+  },
+  created() {},
+  components: {},
+  watch: {
+    dialogVisible: {
+      handler(val) {
+        if (val) {
+          console.log(this.storeList, 666);
+          this.resetForm();
+        }
+      },
+      immediate: true,
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.btns {
+  .el-button {
+    margin-top: 20px;
+    float: right;
+    margin-left: 14px;
+  }
+}
+</style>

+ 158 - 17
src/views/storeMag/index.vue

@@ -1,29 +1,170 @@
 <template>
-    <div>
-        1414141
-    </div>
+  <container title="店铺管理">
+    <template v-slot:btn>
+      <el-button type="primary" @click="dialogVisible = true"
+        >添加店铺</el-button
+      >
+      <el-button @click="batchDel">批量删除</el-button>
+    </template>
+    <search-box-new
+      :formData="formData"
+      :formList="formList"
+      @search="search"
+      @init="init"
+    />
+    <table-list
+      ref="tableList"
+      :tableSets="tableSet"
+      :tableData="tableData"
+      :navText="navText"
+      rowKey="id"
+      :loading="loading"
+    >
+      <template slot="status" slot-scope="props">
+        <el-switch
+          v-model="props.scope.row.status"
+          active-color="#13ce66"
+          inactive-color="#ff4949"
+          :active-value="1"
+          :inactive-value="0"
+          @change="statusChange($event, props.scope.row)"
+        >
+        </el-switch>
+      </template>
+      <template slot="btn" slot-scope="props">
+        <el-button type="text" @click="handelClick(2, props.scope.row.tpId)"
+          >编辑</el-button
+        >
+        <el-button type="text" @click="handelDel(props.scope.row.tpId)"
+          >删除</el-button
+        >
+      </template>
+    </table-list>
+    <pagination
+      :total="total"
+      :pageSize.sync="formData.pageSize"
+      :currentPage.sync="formData.pageNum"
+      @search="search"
+    />
+    <Store-set-dlg :dialogVisible.sync="dialogVisible"></Store-set-dlg>
+  </container>
 </template>
 
 <script>
+import StoreSetDlg from "./components/StoreSetDlg.vue";
 export default {
-    name: 'SaasMemberIndex',
+  name: "SaasMemberRecord",
 
-    data() {
-        return {
-            
-        };
-    },
+  data() {
+    return {
+      loading: false,
+      navText: {
+        index: 0,
+        num: true,
+        choice: true,
+        addHide: true,
+        openCheckMore: true,
+        custom: false,
+      },
+      formData: {},
+      tableSet: [
+        {
+          label: "店铺简称",
+          prop: "tpName",
+        },
+        {
+          label: "店铺地址",
+          prop: "tpName",
+        },
+        {
+          label: "启动状态",
+          prop: "tpName",
+          scope: "solt",
+          soltName: "status",
+        },
+        {
+          label: "创建时间",
+          prop: "tpName",
+        },
+      ],
+      tableData: [{}],
+      total: 0,
+      formList: [
+        {
+          prop: "name",
+          placeholder: "请输店铺简称",
+        },
+      ],
+      dialogVisible: false,
+    };
+  },
 
-    mounted() {
-        
-    },
+  mounted() {},
 
-    methods: {
-        
+  methods: {
+    search(v) {
+      console.log(this.formData, 789);
+    },
+    init() {
+      this.search();
+    },
+    del(id) {
+      this.$confirm("确定删除吗?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {})
+        .catch(() => {});
     },
+    resetPass(id) {
+      this.$confirm("确定恢复为初始密码吗?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {})
+        .catch(() => {});
+    },
+    batchDel() {
+      let len = this.$refs.tableList.allCheckData.length;
+      if (!len) {
+        return this.$message.warning("请先勾选店员");
+      }
+      this.$confirm(`此操作将永久删除所勾选的${len}条店员, 是否继续?`, "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          const ids = this.$refs.tableList.allCheckData.map(
+            (item) => item.moduleExamId
+          );
+          moduleVolumeBatchDel({
+            status: -1,
+            ids,
+          }).then((res) => {
+            this.$message.success("批量删除成功");
+            this.$refs.tableList.clearMoreActive();
+            this.search(1);
+          });
+        })
+        .catch(() => {});
+    },
+    statusChange(e, row) {
+      //   this.$api
+      //     .editmallstore({ storeId: row.storeId, status: e })
+      //     .then((res) => {
+      //       this.$message.success("操作成功");
+      //       row.status = e;
+      //     })
+      //     .catch(() => {
+      //       return (row.status = e ? 0 : 1);
+      //     });
+    },
+  },
+  components: { StoreSetDlg },
 };
 </script>
 
-<style lang="scss" scoped>
-
-</style>
+<style lang="scss" scoped></style>

+ 55 - 32
src/views/staffMag/index.vue → src/views/storeMag/staff.vue

@@ -1,7 +1,7 @@
 <template>
   <container title="会员管理">
     <template v-slot:btn>
-      <el-button type="primary" @click="dialogVisible = true"
+      <el-button type="primary" @click="handelEdit(undefined)"
         >新增店员</el-button
       >
       <el-button @click="batchDel">批量删除</el-button>
@@ -28,20 +28,18 @@
           inactive-color="#ff4949"
           :active-value="1"
           :inactive-value="0"
-          @change="statusChange($event, props.scope.row)"
+          @change="statusChange(props.scope.row, $event)"
         >
         </el-switch>
       </template>
       <template slot="btn" slot-scope="props">
-        <el-button type="text" @click="handelClick(2, props.scope.row.tpId)"
+        <el-button type="text" @click="handelEdit(props.scope.row.userId)"
           >编辑</el-button
         >
         <el-button type="text" @click="resetPass(props.scope.row.tpId)"
           >密码恢复</el-button
         >
-        <el-button type="text" @click="handelDel(props.scope.row.tpId)"
-          >删除</el-button
-        >
+        <el-button type="text" @click="del(props.scope.row)">删除</el-button>
       </template>
     </table-list>
     <pagination
@@ -50,7 +48,11 @@
       :currentPage.sync="formData.pageNum"
       @search="search"
     />
-    <Staff-set-dlg :dialogVisible.sync="dialogVisible"></Staff-set-dlg>
+    <Staff-set-dlg
+      @search="search"
+      :userId="userId"
+      :dialogVisible.sync="dialogVisible"
+    ></Staff-set-dlg>
   </container>
 </template>
 
@@ -74,57 +76,69 @@ export default {
       tableSet: [
         {
           label: "真实姓名",
-          prop: "tpName",
+          prop: "userName",
         },
         {
           label: "权限",
-          prop: "tpName",
+          prop: "roleName",
         },
         {
           label: "手机号码",
-          prop: "tpName",
+          prop: "telphone",
         },
         {
           label: "启动状态",
-          prop: "tpName",
+          prop: "status",
           scope: "solt",
           soltName: "status",
         },
-        {
-          label: "剩余积分",
-          prop: "tpName",
-        },
       ],
-      tableData: [{}],
+      tableData: [],
       total: 0,
       formList: [
         {
           prop: "name",
-          placeholder: "请输产品名称",
+          placeholder: "请输入手机号码",
         },
       ],
       dialogVisible: false,
     };
   },
 
-  mounted() {},
+  mounted() {
+    this.search();
+  },
 
   methods: {
-    search(v) {
-      console.log(this.formData, 789);
-    },
     init() {
       this.search();
     },
-    del(id) {
+    del(row) {
       this.$confirm("确定删除吗?", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning",
       })
-        .then(() => {})
+        .then(() => {
+          this.editUser(row, -1);
+        })
         .catch(() => {});
     },
+    editUser(row, status) {
+      var data = {
+        userId: row.userId,
+        status,
+        userName: row.userName,
+      };
+      this.$api.editUser(data).then((res) => {
+        status == -1 && this.$message.success("删除成功");
+        this.search();
+      });
+    },
+    handelEdit(userId) {
+      this.userId = userId;
+      this.dialogVisible = true;
+    },
     resetPass(id) {
       this.$confirm("确定恢复为初始密码吗?", "提示", {
         confirmButtonText: "确定",
@@ -160,15 +174,24 @@ export default {
         .catch(() => {});
     },
     statusChange(e, row) {
-      //   this.$api
-      //     .editmallstore({ storeId: row.storeId, status: e })
-      //     .then((res) => {
-      //       this.$message.success("操作成功");
-      //       row.status = e;
-      //     })
-      //     .catch(() => {
-      //       return (row.status = e ? 0 : 1);
-      //     });
+      this.editUser(e, row);
+    },
+    search(v) {
+      this.loading = true;
+      var data = {
+        statusArray: "0,1",
+        pageSize: this.pageSize,
+        pageNum: this.currentPage,
+      };
+      this.$api
+        .obtainUserList(data)
+        .then((res) => {
+          this.tableData = res.rows;
+          this.total = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
     },
   },
   components: { StaffSetDlg },

+ 8 - 21
src/views/systemManagement/accountManagement/index.vue

@@ -163,38 +163,26 @@ export default {
       },
       // 表单
       tableSet: [
-        {
-          label: "用户编码",
-          prop: "code",
-          hidden: true,
-        },
-        {
-          label: "账号名称",
-          prop: "userName",
-          hidden: true,
-        },
         {
           label: "角色名称",
-          prop: "roles",
-          prop1: "roleName",
-          scope: "aboutChapter",
+          prop: "roleName",
           hidden: true,
         },
         {
           label: "真实姓名",
-          prop: "nickName",
+          prop: "userName",
           hidden: true,
         },
         {
           label: "手机号码",
-          prop: "phonenumber",
-          hidden: true,
-        },
-        {
-          label: "邮箱",
-          prop: "email",
+          prop: "telphone",
           hidden: true,
         },
+        // {
+        //   label: "邮箱",
+        //   prop: "email",
+        //   hidden: true,
+        // },
         {
           label: "状态",
           prop: "status",
@@ -298,7 +286,6 @@ export default {
         .then((res) => {
           this.tableData = res.rows;
           this.total = res.total;
-          this.navText.index = res.total;
         })
         .finally(() => {
           this.loading = false;

+ 0 - 0
src/views/systemSettings/menu/index.vue → src/views/systemManagement/menu/index.vue


+ 2 - 1
src/views/systemManagement/roleManagement/index.vue

@@ -221,7 +221,8 @@ export default {
         },
         {
           label: "创建时间",
-          prop: "createTime",
+          prop: "createTimeStr",
+          scope: "aTimeList",
         },
       ],
       tableData: [], //表单数据

+ 0 - 433
src/views/systemSettings/dict/index.vue

@@ -1,433 +0,0 @@
-<template>
-  <div id="dict">
-    <search-box :formList="formList" @search="search" @init="init" />
-    <table-list
-      :tableSets="tableSet"
-      :tableData="tableData"
-      :navText="navText"
-      @addClick="addClick"
-      :loading="loading"
-    >
-      <template slot="btn" slot-scope="props">
-        <el-button type="text" @click="addClick(props.scope.row, 2)"
-          >详情</el-button
-        >
-        <el-button type="text" @click="addClick(props.scope.row, 0)"
-          >修改</el-button
-        >
-        <el-button type="text" @click="del(props.scope.row)">删除</el-button>
-      </template>
-    </table-list>
-    <pagination
-      :total="total"
-      :pageSize="pageSize"
-      :currentPage="currentPage"
-      @handleSizeChange="handleSizeChange"
-      @handleCurrentChange="handleCurrentChange"
-    />
-    <el-dialog
-      :visible.sync="dialogVisible"
-      width="560px"
-      :show-close="false"
-      :close-on-click-modal="false"
-    >
-      <div slot="title" class="hearders">
-        <div class="leftTitle">
-          {{ statusPop === 1 ? "添加" : statusPop === 0 ? "修改" : "详情" }}
-        </div>
-        <div class="rightBoxs">
-          <img src="@/assets/images/Close@2x.png" alt="" @click="close" />
-        </div>
-      </div>
-      <div>
-        <el-form
-          label-position="right"
-          label-width="80px"
-          :model="listData"
-          :rules="rules"
-          ref="listData"
-        >
-          <el-form-item
-            v-for="(items, indexs) in listitem"
-            :key="indexs"
-            :label="items.label"
-            :prop="items.prop"
-          >
-            <el-radio-group
-              v-if="items.scope === 'status'"
-              v-model="listData[items.prop]"
-            >
-              <el-radio
-                v-for="(item, index) in items.options"
-                :key="index"
-                :label="item.value"
-                :disabled="statusPop === 2"
-                >{{ item.label }}</el-radio
-              >
-            </el-radio-group>
-            <el-input
-              :disabled="statusPop === 2"
-              v-else-if="items.scope === 'textarea'"
-              type="textarea"
-              v-model="listData[items.prop]"
-            ></el-input>
-            <el-input
-              :disabled="statusPop === 2"
-              v-else
-              v-model="listData[items.prop]"
-            ></el-input>
-          </el-form-item>
-        </el-form>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="close">取 消</el-button>
-        <el-button
-          type="primary"
-          v-if="statusPop !== 2"
-          @click="submit('listData')"
-          >确 定</el-button
-        >
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import searchBox from "@/components/searchBox";
-import tableList from "@/components/tableList";
-import pagination from "@/components/pagination";
-export default {
-  components: { searchBox, tableList, pagination },
-  data() {
-    return {
-      loading: false, //当前表单加载是否加载动画
-      navText: {
-        title: "字典类型",
-        index: 0,
-        ch: "条",
-        num: false,
-        choice: true,
-        addHide: false,
-        backFatherBtn: {
-          status: false,
-          title: "未定义",
-        },
-      },
-      tableSet: [
-        {
-          label: "字典编号",
-          prop: "dictId",
-          hidden: true,
-        },
-        {
-          label: "字典名称",
-          prop: "dictName",
-          hidden: true,
-        },
-        {
-          label: "字典类型",
-          prop: "dictType",
-          hidden: true,
-          scope: "jumpPage",
-        },
-        {
-          label: "状态",
-          prop: "status",
-          hidden: true,
-          scope: "status",
-        },
-        {
-          label: "备注",
-          prop: "remark",
-          hidden: true,
-        },
-      ], //表头信息
-      tableData: [], //表单数据
-      total: 0, //一共多少条
-      pageSize: 10, //每页多少条数据
-      currentPage: 1, //当前页码
-      formList: [
-        {
-          label: "字典名称",
-          prop: "dictName",
-          placeholder: "请输入字典名称",
-        },
-        {
-          label: "字典类型",
-          prop: "dictType",
-          placeholder: "请输入字典类型",
-        },
-        {
-          label: "状态",
-          prop: "status",
-          placeholder: "请选择状态",
-          scope: "select",
-          options: [
-            {
-              label: "启用",
-              value: 1,
-            },
-            {
-              label: "停用",
-              value: 0,
-            },
-          ],
-        },
-      ], //搜索
-      listitem: [
-        {
-          label: "字典名称",
-          prop: "dictName",
-        },
-        {
-          label: "字典类型",
-          prop: "dictType",
-        },
-        {
-          label: "状态",
-          prop: "status",
-          scope: "status",
-          options: [
-            {
-              label: "启用",
-              value: "1",
-            },
-            {
-              label: "关闭",
-              value: "0",
-            },
-          ],
-        },
-        {
-          label: "备注",
-          prop: "remark",
-          scope: "textarea",
-        },
-      ],
-      statusPop: -1,
-      dialogVisible: false,
-      listData: {},
-      rules: {
-        dictName: [
-          { required: true, message: "请输入字典名称", trigger: "blur" },
-          {
-            min: 2,
-            max: 10,
-            message: "长度在 2 到 10 个字符",
-            trigger: "blur",
-          },
-        ],
-        dictType: [
-          { required: true, message: "请输入字典类型", trigger: "blur" },
-        ],
-        status: [{ required: true, message: "请选择状态", trigger: "change" }],
-        remark: [{ required: true, message: "请填写备注", trigger: "blur" }],
-      },
-    };
-  },
-  mounted() {
-    this.search();
-  },
-  methods: {
-    search(v) {
-      if (v === undefined) {
-        v = {
-          statusArray: "0,1",
-          pageSize: this.pageSize,
-          pageNum: this.currentPage,
-        };
-      }
-      var data = {
-        dictName: v.dictName || "",
-        dictType: v.dictType || "",
-        statusArray: v.status === undefined ? "0,1" : v.status,
-        pageSize: this.pageSize,
-        pageNum: this.currentPage,
-      };
-      this.loading = true;
-      this.$api
-        .obtaindicttype(data)
-        .then((res) => {
-          this.tableData = res.rows;
-          this.total = res.total;
-          this.navText.index = res.total;
-          this.loading = false;
-        })
-        .catch((err) => {
-          this.loading = false;
-        });
-    },
-    init() {
-      this.search();
-    },
-    del(v) {
-      this.$confirm("此操作将删除该字典类型, 是否继续?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          var data = JSON.parse(JSON.stringify(v));
-          data.status = "-1";
-          this.$api.editdicttype(data).then((res) => {
-            this.$message.success("删除成功");
-            this.search();
-            this.dialogVisible = false;
-          });
-        })
-        .catch(() => {
-          this.$message({
-            type: "info",
-            message: "已取消删除",
-          });
-        });
-    },
-    addClick(v, int) {
-      if (v === undefined) {
-        this.statusPop = 1;
-        this.listData = {};
-      } else {
-        this.statusPop = int;
-        var data = v.dictId;
-        this.$api.getdicttype(data).then((res) => {
-          this.listData = res.data;
-        });
-      }
-      this.$nextTick(() => {
-        this.$refs.listData.clearValidate();
-      });
-      this.dialogVisible = true;
-    },
-    submit(formName) {
-      this.$refs[formName].validate((valid) => {
-        if (valid) {
-          this.rulesTableSumbit();
-        } else {
-          return false;
-        }
-      });
-    },
-    rulesTableSumbit() {
-      if (this.statusPop === 1) {
-        this.$api.adddicttype(this.listData).then((res) => {
-          this.$message.success("新增成功");
-          this.dialogVisible = false;
-          this.search();
-        });
-      }
-      if (this.statusPop === 0) {
-        this.$api.editdicttype(this.listData).then((res) => {
-          this.$message.success("修改成功");
-          this.dialogVisible = false;
-          this.search();
-        });
-      }
-    },
-    close() {
-      this.dialogVisible = false;
-    },
-    handleSizeChange(v) {
-      this.pageSize = v;
-      this.currentPage = 1;
-      this.search();
-    },
-    handleCurrentChange(v) {
-      this.currentPage = v;
-      this.search();
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-/deep/.el-button {
-  border-radius: 8px;
-}
-/deep/.el-dialog {
-  border-radius: 8px;
-  .el-dialog__header {
-    padding: 0;
-    .hearders {
-      height: 40px;
-      display: flex;
-      align-items: center;
-      justify-content: space-between;
-      padding: 0px 18px 0px 20px;
-      border-bottom: 1px solid #e2e2e2;
-      .leftTitle {
-        font-size: 14px;
-        font-weight: bold;
-        color: #2f4378;
-      }
-      .rightBoxs {
-        display: flex;
-        align-items: center;
-        img {
-          width: 14px;
-          height: 14px;
-          margin-left: 13px;
-          cursor: pointer;
-        }
-      }
-    }
-  }
-  .el-dialog__footer {
-    padding: 0;
-    .dialog-footer {
-      padding: 0px 40px;
-      height: 70px;
-      border-top: 1px solid #e2e2e2;
-      display: flex;
-      align-items: center;
-      justify-content: flex-end;
-    }
-  }
-}
-.imgBox {
-  width: 100%;
-  // height: 210px;
-  border: 1px solid #e2e2e2;
-  border-radius: 8px;
-  padding: 8px 8px 3px;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  .imgLabel {
-    flex: 1;
-    width: 100%;
-    border: 1px dotted #e2e2e2;
-    color: #999;
-    font-size: 14px;
-    cursor: pointer;
-    border-radius: 8px;
-    .msPhoto {
-      display: flex;
-      justify-content: center;
-      align-items: center;
-      max-width: 100%;
-      max-height: 270px;
-      img {
-        max-width: 100%;
-        max-height: 270px;
-      }
-    }
-    .imgbbx {
-      display: flex;
-      flex-direction: column;
-      align-items: center;
-      justify-content: center;
-      width: 100%;
-      height: 100%;
-      i {
-        font-weight: bold;
-        margin: 14px 0;
-        font-size: 24px;
-      }
-    }
-  }
-  p {
-    margin: 5px 0px;
-  }
-}
-</style>
-

+ 0 - 454
src/views/systemSettings/dictData/index.vue

@@ -1,454 +0,0 @@
-<template>
-  <div id="dictData">
-    <search-box :formList="formList" @search="search" @init="init" />
-    <table-list
-      :tableSets="tableSet"
-      :tableData="tableData"
-      :navText="navText"
-      @addClick="addClick"
-      :loading="loading"
-    >
-      <template slot="btn" slot-scope="props">
-        <el-button type="text" @click="addClick(props.scope.row, 2)"
-          >详情</el-button
-        >
-        <el-button type="text" @click="addClick(props.scope.row, 0)"
-          >修改</el-button
-        >
-        <el-button type="text" @click="del(props.scope.row)">删除</el-button>
-      </template>
-    </table-list>
-    <pagination
-      :total="total"
-      :pageSize="pageSize"
-      :currentPage="currentPage"
-      @handleSizeChange="handleSizeChange"
-      @handleCurrentChange="handleCurrentChange"
-    />
-    <el-dialog
-      :visible.sync="dialogVisible"
-      width="560px"
-      :show-close="false"
-      :close-on-click-modal="false"
-    >
-      <div slot="title" class="hearders">
-        <div class="leftTitle">
-          {{ statusPop === 1 ? "添加" : statusPop === 0 ? "修改" : "详情" }}
-        </div>
-        <div class="rightBoxs">
-          <img src="@/assets/images/Close@2x.png" alt="" @click="close" />
-        </div>
-      </div>
-      <div>
-        <el-form
-          label-position="right"
-          label-width="80px"
-          :model="listData"
-          :rules="rules"
-          ref="listData"
-        >
-          <el-form-item
-            v-for="(items, indexs) in listitem"
-            :key="indexs"
-            :label="items.label"
-            :prop="items.prop"
-          >
-            <el-radio-group
-              v-if="items.scope === 'status'"
-              v-model="listData[items.prop]"
-            >
-              <el-radio
-                v-for="(item, index) in items.options"
-                :key="index"
-                :label="item.value"
-                :disabled="statusPop === 2"
-                >{{ item.label }}</el-radio
-              >
-            </el-radio-group>
-            <el-input
-              :disabled="statusPop === 2"
-              v-else-if="items.scope === 'textarea'"
-              type="textarea"
-              v-model="listData[items.prop]"
-            ></el-input>
-            <el-input-number
-              :disabled="statusPop === 2"
-              v-else-if="items.scope === 'InputNumber'"
-              v-model.number="listData[items.prop]"
-              controls-position="right"
-              :min="items.min"
-              :max="items.max"
-            ></el-input-number>
-            <el-input
-              :disabled="statusPop === 2 || items.scope === 'disable'"
-              v-else
-              v-model="listData[items.prop]"
-            ></el-input>
-          </el-form-item>
-        </el-form>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="close">取 消</el-button>
-        <el-button
-          type="primary"
-          v-if="statusPop !== 2"
-          @click="submit('listData')"
-          >确 定</el-button
-        >
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import searchBox from "@/components/searchBox";
-import tableList from "@/components/tableList";
-import pagination from "@/components/pagination";
-export default {
-  components: { searchBox, tableList, pagination },
-  data() {
-    return {
-      loading: false, //当前表单加载是否加载动画
-      navText: {
-        title: "字典类型",
-        index: 0,
-        ch: "条",
-        num: false,
-        choice: true,
-        addHide: false,
-        backFatherBtn: {
-          status: false,
-          title: "未定义",
-        },
-      },
-      tableSet: [
-        {
-          label: "字典编号",
-          prop: "dictCode",
-          hidden: true,
-        },
-        {
-          label: "字典标签",
-          prop: "dictLabel",
-          hidden: true,
-        },
-        {
-          label: "字典键值",
-          prop: "dictValue",
-          hidden: true,
-        },
-        {
-          label: "字典排序",
-          prop: "dictSort",
-          hidden: true,
-        },
-        {
-          label: "状态",
-          prop: "status",
-          hidden: true,
-          scope: "status",
-        },
-        {
-          label: "备注",
-          prop: "remark",
-          hidden: true,
-        },
-      ], //表头信息
-      tableData: [], //表单数据
-      total: 0, //一共多少条
-      pageSize: 10, //每页多少条数据
-      currentPage: 1, //当前页码
-      formList: [
-        {
-          label: "字典标签",
-          prop: "dictLabel",
-          placeholder: "请输入字典标签",
-        },
-        {
-          label: "状态",
-          prop: "status",
-          placeholder: "请选择状态",
-          scope: "select",
-          options: [
-            {
-              label: "启用",
-              value: 1,
-            },
-            {
-              label: "停用",
-              value: 0,
-            },
-          ],
-        },
-      ], //搜索
-      listitem: [
-        {
-          label: "字典类型",
-          prop: "dictType",
-          scope: "disable",
-        },
-        {
-          label: "数据标签",
-          prop: "dictLabel",
-        },
-        {
-          label: "数据键值",
-          prop: "dictValue",
-        },
-        {
-          label: "显示排序",
-          prop: "dictSort",
-          scope: "InputNumber",
-          min: 0,
-          max: 999,
-        },
-        {
-          label: "状态",
-          prop: "status",
-          scope: "status",
-          options: [
-            {
-              label: "启用",
-              value: "1",
-            },
-            {
-              label: "停用",
-              value: "0",
-            },
-          ],
-        },
-        {
-          label: "备注",
-          prop: "remark",
-          scope: "textarea",
-        },
-      ],
-      statusPop: -1,
-      dialogVisible: false,
-      listData: {},
-      rules: {
-        dictType: [
-          { required: true, message: "请输入字典类型", trigger: "blur" },
-        ],
-        dictLabel: [
-          { required: true, message: "请输入字典名称", trigger: "blur" },
-        ],
-        dictValue: [{ required: true, message: "数据键值不能为空" }],
-        dictSort: [
-          { required: true, message: "显示排序不能为空" },
-          { type: "number", message: "显示排序必须为数字值" },
-        ],
-        status: [{ required: true, message: "请选择状态", trigger: "change" }],
-        remark: [{ required: true, message: "请填写备注", trigger: "blur" }],
-      },
-      paramsData: this.$route.query,
-    };
-  },
-  mounted() {
-    this.search();
-  },
-  methods: {
-    search(v) {
-      if (v === undefined) {
-        v = {
-          statusArray: "0,1",
-          pageSize: this.pageSize,
-          pageNum: this.currentPage,
-        };
-      }
-      var data = {
-        dictName: v.dictName || "",
-        dictTypeId: this.paramsData.dictId,
-        statusArray: v.status === undefined ? "0,1" : v.status,
-        pageSize: this.pageSize,
-        pageNum: this.currentPage,
-      };
-      this.loading = true;
-      this.$api
-        .obtaindictdata(data)
-        .then((res) => {
-          this.tableData = res.rows;
-          this.total = res.total;
-          this.navText.index = res.total;
-          this.loading = false;
-        })
-        .catch((err) => {
-          this.loading = false;
-        });
-    },
-    init() {
-      this.search();
-    },
-    del(v) {
-      this.$confirm("此操作将删除该字典类型, 是否继续?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          var data = JSON.parse(JSON.stringify(v));
-          data.status = -1;
-          this.$api.editdictdata(data).then((res) => {
-            this.$message.success("删除成功");
-            this.search();
-          });
-        })
-        .catch(() => {
-          this.$message({
-            type: "info",
-            message: "已取消删除",
-          });
-        });
-    },
-    addClick(v, int) {
-      if (v === undefined) {
-        this.statusPop = 1;
-        this.listData = {
-          dictTypeId: this.paramsData.dictId,
-          dictType: this.paramsData.dictType,
-        };
-      } else {
-        this.statusPop = int;
-        var data = v.dictCode;
-        this.$api.getdictdata(data).then((res) => {
-          this.listData = res.data;
-        });
-      }
-      this.dialogVisible = true;
-    },
-    submit(formName) {
-      this.$refs[formName].validate((valid) => {
-        if (valid) {
-          this.rulesTableSumbit();
-        } else {
-          return false;
-        }
-      });
-    },
-    rulesTableSumbit() {
-      if (this.statusPop === 1) {
-        this.$api.adddictdata(this.listData).then((res) => {
-          this.$message.success("新增成功");
-          this.$refs["listData"].resetFields();
-          this.dialogVisible = false;
-          this.search();
-        });
-      }
-      if (this.statusPop === 0) {
-        this.$api.editdictdata(this.listData).then((res) => {
-          this.$message.success("修改成功");
-          this.$refs["listData"].resetFields();
-          this.dialogVisible = false;
-          this.search();
-        });
-      }
-    },
-    close() {
-      this.dialogVisible = false;
-      this.$refs["listData"].resetFields();
-    },
-    handleSizeChange(v) {
-      this.pageSize = v;
-      this.currentPage = 1;
-      this.search();
-    },
-    handleCurrentChange(v) {
-      this.currentPage = v;
-      this.search();
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-/deep/.el-button {
-  border-radius: 8px;
-}
-/deep/.el-dialog {
-  border-radius: 8px;
-  .el-dialog__header {
-    padding: 0;
-    .hearders {
-      height: 40px;
-      display: flex;
-      align-items: center;
-      justify-content: space-between;
-      padding: 0px 18px 0px 20px;
-      border-bottom: 1px solid #e2e2e2;
-      .leftTitle {
-        font-size: 14px;
-        font-weight: bold;
-        color: #2f4378;
-      }
-      .rightBoxs {
-        display: flex;
-        align-items: center;
-        img {
-          width: 14px;
-          height: 14px;
-          margin-left: 13px;
-          cursor: pointer;
-        }
-      }
-    }
-  }
-  .el-dialog__footer {
-    padding: 0;
-    .dialog-footer {
-      padding: 0px 40px;
-      height: 70px;
-      border-top: 1px solid #e2e2e2;
-      display: flex;
-      align-items: center;
-      justify-content: flex-end;
-    }
-  }
-}
-.imgBox {
-  width: 100%;
-  // height: 210px;
-  border: 1px solid #e2e2e2;
-  border-radius: 8px;
-  padding: 8px 8px 3px;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  .imgLabel {
-    flex: 1;
-    width: 100%;
-    border: 1px dotted #e2e2e2;
-    color: #999;
-    font-size: 14px;
-    cursor: pointer;
-    border-radius: 8px;
-    .msPhoto {
-      display: flex;
-      justify-content: center;
-      align-items: center;
-      max-width: 100%;
-      max-height: 270px;
-      img {
-        max-width: 100%;
-        max-height: 270px;
-      }
-    }
-    .imgbbx {
-      display: flex;
-      flex-direction: column;
-      align-items: center;
-      justify-content: center;
-      width: 100%;
-      height: 100%;
-      i {
-        font-weight: bold;
-        margin: 14px 0;
-        font-size: 24px;
-      }
-    }
-  }
-  p {
-    margin: 5px 0px;
-  }
-}
-</style>
-