diff --git a/ruoyi-common/pom.xml b/ruoyi-common/pom.xml
index 38326a1faf..4d702de318 100644
--- a/ruoyi-common/pom.xml
+++ b/ruoyi-common/pom.xml
@@ -16,7 +16,6 @@
-
org.springframework
@@ -125,6 +124,10 @@
javax.servlet
javax.servlet-api
+
+ org.projectlombok
+ lombok
+
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java
index c89692c299..6b42d1ff8c 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java
@@ -41,4 +41,24 @@ public class CacheConstants
* 登录账户密码错误次数 redis key
*/
public static final String PWD_ERR_CNT_KEY = "pwd_err_cnt:";
+
+ //=============================================补充=======================================================
+
+ /**
+ * 验证码前缀
+ */
+ public static final String DEFAULT_CODE_KEY = "DEFAULT_CODE_KEY:";
+
+ /**
+ * 验证码长度
+ */
+ public static final String CODE_SIZE = "4";
+ /**
+ * 刷新
+ */
+ public static final String REFRESH_TOKEN = "refresh_token";
+ /**
+ * 验证码有效期
+ */
+ public static final int CODE_TIME = 60;
}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
index bdb7199fe9..b614601b03 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
@@ -111,7 +111,8 @@ protected void configure(HttpSecurity httpSecurity) throws Exception
// 过滤请求
.authorizeRequests()
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
- .antMatchers("/login", "/register", "/captchaImage").permitAll()
+ .antMatchers("/login", "/register", "/captchaImage","/api/mobile/{mobile}").permitAll()
+// .antMatchers("/login", "/register", "/captchaImage").permitAll()
// 静态资源,可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
From 00c040c4027c865bdc3e8bd8be4223d1706933c5 Mon Sep 17 00:00:00 2001
From: Yeah <350105149@qq.com>
Date: Tue, 23 Apr 2024 09:29:23 +0800
Subject: [PATCH 3/5] =?UTF-8?q?app=E7=AE=A1=E7=90=86=E3=80=81=E5=95=86?=
=?UTF-8?q?=E5=93=81=E5=88=86=E7=B1=BB=E7=AE=A1=E7=90=86=E3=80=81=E5=95=86?=
=?UTF-8?q?=E5=93=81=E7=AE=A1=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ruoyi-ui/src/api/app/app.js | 61 +++
ruoyi-ui/src/api/app/product/category.js | 49 +++
ruoyi-ui/src/api/app/product/list.js | 49 +++
ruoyi-ui/src/assets/styles/element-ui.scss | 12 +-
ruoyi-ui/src/utils/request-mock.js | 12 +
ruoyi-ui/src/views/app/app/index.vue | 241 +++++++++++
ruoyi-ui/src/views/app/product/category.vue | 317 +++++++++++++++
ruoyi-ui/src/views/app/product/list.vue | 419 ++++++++++++++++++++
8 files changed, 1158 insertions(+), 2 deletions(-)
create mode 100644 ruoyi-ui/src/api/app/app.js
create mode 100644 ruoyi-ui/src/api/app/product/category.js
create mode 100644 ruoyi-ui/src/api/app/product/list.js
create mode 100644 ruoyi-ui/src/utils/request-mock.js
create mode 100644 ruoyi-ui/src/views/app/app/index.vue
create mode 100644 ruoyi-ui/src/views/app/product/category.vue
create mode 100644 ruoyi-ui/src/views/app/product/list.vue
diff --git a/ruoyi-ui/src/api/app/app.js b/ruoyi-ui/src/api/app/app.js
new file mode 100644
index 0000000000..77519cc839
--- /dev/null
+++ b/ruoyi-ui/src/api/app/app.js
@@ -0,0 +1,61 @@
+/**
+ * app管理调用后台接口api
+ */
+// import request from "@/utils/request";
+import request from "@/utils/request-mock";
+import { parseStrEmpty } from "@/utils/ruoyi";
+
+// 查询app列表
+export function listApp() {
+ return request({
+ url: "/https/github.com/app/list",
+ method: "get",
+ });
+}
+
+// 查询app详细
+export function getApp(appId) {
+ return request({
+ url: "/https/github.com/app/" + parseStrEmpty(appId),
+ method: "get",
+ });
+}
+
+// 新增app
+export function addApp(data) {
+ return request({
+ url: "/https/github.com/app",
+ method: "post",
+ data: data,
+ });
+}
+
+// 修改app
+export function updateApp(data) {
+ return request({
+ url: "/https/github.com/app",
+ method: "put",
+ data: data,
+ });
+}
+
+// 删除app
+export function delApp(appId) {
+ return request({
+ url: "/https/github.com/app/" + appId,
+ method: "delete",
+ });
+}
+
+// app状态修改
+export function changeAppStatus(appId, status) {
+ const data = {
+ appId,
+ status,
+ };
+ return request({
+ url: "/https/github.com/app/changeStatus",
+ method: "put",
+ data: data,
+ });
+}
diff --git a/ruoyi-ui/src/api/app/product/category.js b/ruoyi-ui/src/api/app/product/category.js
new file mode 100644
index 0000000000..0b1621a591
--- /dev/null
+++ b/ruoyi-ui/src/api/app/product/category.js
@@ -0,0 +1,49 @@
+/**
+ * 商品管理-分类管理 调用后台接口api
+ */
+// import request from "@/utils/request";
+import request from "@/utils/request-mock";
+import { parseStrEmpty } from "@/utils/ruoyi";
+
+// 查询分类列表
+export function listCategory(query) {
+ return request({
+ url: "/https/github.com/product/category/list",
+ method: "get",
+ params: query,
+ });
+}
+
+// 查询分类详细
+export function getCategory(id) {
+ return request({
+ url: "/https/github.com/product/category/" + parseStrEmpty(id),
+ method: "get",
+ });
+}
+
+// 新增分类
+export function addCategory(data) {
+ return request({
+ url: "/https/github.com/product/category",
+ method: "post",
+ data: data,
+ });
+}
+
+// 修改分类
+export function updateCategory(data) {
+ return request({
+ url: "/https/github.com/product/category",
+ method: "put",
+ data: data,
+ });
+}
+
+// 删除分类
+export function delCategory(id) {
+ return request({
+ url: "/https/github.com/product/category/" + id,
+ method: "delete",
+ });
+}
diff --git a/ruoyi-ui/src/api/app/product/list.js b/ruoyi-ui/src/api/app/product/list.js
new file mode 100644
index 0000000000..9dc7913af0
--- /dev/null
+++ b/ruoyi-ui/src/api/app/product/list.js
@@ -0,0 +1,49 @@
+/**
+ * 商品管理-商品列表 调用后台接口api
+ */
+// import request from "@/utils/request";
+import request from "@/utils/request-mock";
+import { parseStrEmpty } from "@/utils/ruoyi";
+
+// 查询商品列表
+export function listProduct(query) {
+ return request({
+ url: "/https/github.com/product/list",
+ method: "get",
+ params: query,
+ });
+}
+
+// 查询商品详细
+export function getProduct(id) {
+ return request({
+ url: "/https/github.com/product/" + parseStrEmpty(id),
+ method: "get",
+ });
+}
+
+// 新增商品
+export function addProduct(data) {
+ return request({
+ url: "/https/github.com/product",
+ method: "post",
+ data: data,
+ });
+}
+
+// 修改商品
+export function updateProduct(data) {
+ return request({
+ url: "/https/github.com/product",
+ method: "put",
+ data: data,
+ });
+}
+
+// 删除商品
+export function delProduct(id) {
+ return request({
+ url: "/https/github.com/product/" + id,
+ method: "delete",
+ });
+}
diff --git a/ruoyi-ui/src/assets/styles/element-ui.scss b/ruoyi-ui/src/assets/styles/element-ui.scss
index 363092a63e..39fe331b4e 100644
--- a/ruoyi-ui/src/assets/styles/element-ui.scss
+++ b/ruoyi-ui/src/assets/styles/element-ui.scss
@@ -69,7 +69,7 @@
// dropdown
.el-dropdown-menu {
a {
- display: block
+ display: block;
}
}
@@ -89,4 +89,12 @@
> .el-submenu__title
.el-submenu__icon-arrow {
display: none;
-}
\ No newline at end of file
+}
+
+.el-table-border {
+ border: 1px solid #c9c9c9;
+}
+
+.el-select {
+ width: 100%;
+}
diff --git a/ruoyi-ui/src/utils/request-mock.js b/ruoyi-ui/src/utils/request-mock.js
new file mode 100644
index 0000000000..8e6e4054c5
--- /dev/null
+++ b/ruoyi-ui/src/utils/request-mock.js
@@ -0,0 +1,12 @@
+// 该js只作为mock使用,实际使用request.js
+import axios from "axios";
+
+const service = axios.create({
+ baseURL: "https://yeahai.usemock.com",
+ timeout: 10000,
+});
+
+service.interceptors.response.use((res) => {
+ return res.data;
+});
+export default service;
diff --git a/ruoyi-ui/src/views/app/app/index.vue b/ruoyi-ui/src/views/app/app/index.vue
new file mode 100644
index 0000000000..9772d063f3
--- /dev/null
+++ b/ruoyi-ui/src/views/app/app/index.vue
@@ -0,0 +1,241 @@
+
+
+
+
+
+
+
+ 添加
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/app/product/category.vue b/ruoyi-ui/src/views/app/product/category.vue
new file mode 100644
index 0000000000..850f3be1a4
--- /dev/null
+++ b/ruoyi-ui/src/views/app/product/category.vue
@@ -0,0 +1,317 @@
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+ 添加一级分类
+
+
+
+
+ 添加二级分类
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/app/product/list.vue b/ruoyi-ui/src/views/app/product/list.vue
new file mode 100644
index 0000000000..c521728ede
--- /dev/null
+++ b/ruoyi-ui/src/views/app/product/list.vue
@@ -0,0 +1,419 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+ 添加商品
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
+
+
+
From 2689ccb7d57ad83f7e8dc63fe804701ee92b0070 Mon Sep 17 00:00:00 2001
From: Yeah <350105149@qq.com>
Date: Tue, 23 Apr 2024 10:26:41 +0800
Subject: [PATCH 4/5] =?UTF-8?q?=E5=95=86=E5=93=81=E7=AE=A1=E7=90=86?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=86=E9=A1=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ruoyi-ui/src/views/app/product/list.vue | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/ruoyi-ui/src/views/app/product/list.vue b/ruoyi-ui/src/views/app/product/list.vue
index c521728ede..bb7cafd02d 100644
--- a/ruoyi-ui/src/views/app/product/list.vue
+++ b/ruoyi-ui/src/views/app/product/list.vue
@@ -112,6 +112,7 @@
key="stock"
prop="stock"
width="100"
+ :formatter="stockFormatter"
/>
+
+
@@ -248,12 +257,16 @@ export default {
return {
// 遮罩层
loading: false,
+ // 总条数
+ total: 0,
// 表格数据
list: [],
// 显示搜索条件
showSearch: true,
// 查询参数
queryParams: {
+ pageNum: 1,
+ pageSize: 10,
name: undefined,
status: undefined,
appId: undefined,
@@ -294,6 +307,7 @@ export default {
this.loading = true;
listProduct(this.queryParams).then((response) => {
this.list = response.data;
+ this.total = response.total;
this.loading = false;
});
},
@@ -400,6 +414,11 @@ export default {
priceFormatter(row) {
return row.price.toFixed(1);
},
+ /** 库存格式化 保留1位小数 */
+ stockFormatter(row) {
+ if (!row.stock) return "-";
+ return row.stock;
+ },
/** 状态格式化 */
statusFormatter(row) {
return row.status == "1" ? "上架" : "下架";
From f7315f9b6c6fe333d92941c72046076fb2cdbc0e Mon Sep 17 00:00:00 2001
From: Yeah <350105149@qq.com>
Date: Wed, 24 Apr 2024 13:40:32 +0800
Subject: [PATCH 5/5] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86?=
=?UTF-8?q?=E3=80=81=E4=BF=AE=E6=94=B9=E6=A0=B7=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ruoyi-ui/src/api/app/user.js | 70 +++
ruoyi-ui/src/assets/styles/custom.scss | 65 +++
ruoyi-ui/src/assets/styles/element-ui.scss | 8 -
.../src/assets/styles/element-variables.scss | 9 +-
ruoyi-ui/src/main.js | 107 ++--
ruoyi-ui/src/views/app/product/list.vue | 17 +-
ruoyi-ui/src/views/app/user/index.vue | 462 ++++++++++++++++++
ruoyi-ui/src/views/app/user/userEdit.vue | 170 +++++++
8 files changed, 840 insertions(+), 68 deletions(-)
create mode 100644 ruoyi-ui/src/api/app/user.js
create mode 100644 ruoyi-ui/src/assets/styles/custom.scss
create mode 100644 ruoyi-ui/src/views/app/user/index.vue
create mode 100644 ruoyi-ui/src/views/app/user/userEdit.vue
diff --git a/ruoyi-ui/src/api/app/user.js b/ruoyi-ui/src/api/app/user.js
new file mode 100644
index 0000000000..ea9621971a
--- /dev/null
+++ b/ruoyi-ui/src/api/app/user.js
@@ -0,0 +1,70 @@
+/**
+ * app用户管理 调用后台接口api
+ */
+// import request from "@/utils/request";
+import request from "@/utils/request-mock";
+import { parseStrEmpty } from "@/utils/ruoyi";
+
+// 查询用户列表
+export function listUser(query) {
+ return request({
+ url: "/https/github.com/app/user/list",
+ method: "get",
+ params: query,
+ });
+}
+
+// 查询用户详细
+export function getUser(id) {
+ return request({
+ url: "/https/github.com/app/user/" + parseStrEmpty(id),
+ method: "get",
+ });
+}
+
+// 新增用户
+export function addUser(data) {
+ return request({
+ url: "/https/github.com/app/user",
+ method: "post",
+ data: data,
+ });
+}
+
+// 修改用户
+export function updateUser(data) {
+ return request({
+ url: "/https/github.com/app/user",
+ method: "put",
+ data: data,
+ });
+}
+
+// 删除用户
+export function delUser(ids) {
+ return request({
+ url: "/https/github.com/app/user/" + ids,
+ method: "delete",
+ });
+}
+
+// 重置密码
+export function resetUserPwd(ids) {
+ return request({
+ url: "/https/github.com/app/user/resetPwd/" + ids,
+ method: "put",
+ });
+}
+
+// 用户状态修改
+export function changeUserStatus(id, status) {
+ const data = {
+ id,
+ status,
+ };
+ return request({
+ url: "/https/github.com/app/user/changeStatus",
+ method: "put",
+ data: data,
+ });
+}
diff --git a/ruoyi-ui/src/assets/styles/custom.scss b/ruoyi-ui/src/assets/styles/custom.scss
new file mode 100644
index 0000000000..a96e53a5c9
--- /dev/null
+++ b/ruoyi-ui/src/assets/styles/custom.scss
@@ -0,0 +1,65 @@
+/** 自定义样式 */
+body {
+ font-family: "Source Han Sans";
+}
+.app-main {
+ background: #f9f9f9;
+}
+
+.el-input {
+ width: 180px;
+}
+
+.el-select .el-input {
+ width: 122px;
+}
+
+.el-range-editor.el-input__inner {
+ width: 278px;
+}
+
+.search-container,
+.table-container {
+ background: #ffffff;
+ padding: 20px;
+ border-radius: 4px;
+}
+
+.search-container {
+ margin-bottom: 20px;
+ padding-bottom: 2px;
+}
+
+.table-container .toolbar {
+ margin-bottom: 10px;
+ display: flex;
+}
+
+.table-container .toolbar .top-right-btn {
+ flex: 1;
+ text-align: right;
+ align-self: center;
+}
+
+.table-container .el-table tbody tr {
+ height: 80px;
+}
+
+.table-container .el-table {
+ border: 1px solid #c9c9c9;
+ border-radius: 4px;
+}
+
+.table-container .danger-button {
+ color: #d20a0a;
+}
+
+.el-dialog .el-form {
+ padding-left: 30px;
+ padding-right: 30px;
+}
+
+.el-dialog .el-form .el-input,
+.el-dialog .el-form .el-select {
+ width: 100%;
+}
diff --git a/ruoyi-ui/src/assets/styles/element-ui.scss b/ruoyi-ui/src/assets/styles/element-ui.scss
index 39fe331b4e..feb26c6ed6 100644
--- a/ruoyi-ui/src/assets/styles/element-ui.scss
+++ b/ruoyi-ui/src/assets/styles/element-ui.scss
@@ -90,11 +90,3 @@
.el-submenu__icon-arrow {
display: none;
}
-
-.el-table-border {
- border: 1px solid #c9c9c9;
-}
-
-.el-select {
- width: 100%;
-}
diff --git a/ruoyi-ui/src/assets/styles/element-variables.scss b/ruoyi-ui/src/assets/styles/element-variables.scss
index 5bf2fbb10c..952022978a 100644
--- a/ruoyi-ui/src/assets/styles/element-variables.scss
+++ b/ruoyi-ui/src/assets/styles/element-variables.scss
@@ -4,11 +4,16 @@
**/
/* theme color */
-$--color-primary: #1890ff;
+$--color-primary: #3670f8;
$--color-success: #13ce66;
$--color-warning: #ffba00;
$--color-danger: #ff4949;
// $--color-info: #1E1E1E;
+$--color-text-placeholder: #c6c6c6;
+
+// border
+$--border-color-base: #979797;
+$--border-color-hover: #696969;
$--button-font-weight: 400;
@@ -20,7 +25,7 @@ $--border-color-lighter: #e6ebf5;
$--table-border: 1px solid #dfe6ec;
/* icon font path, required */
-$--font-path: '~element-ui/lib/theme-chalk/fonts';
+$--font-path: "~element-ui/lib/theme-chalk/fonts";
@import "~element-ui/packages/theme-chalk/src/index";
diff --git a/ruoyi-ui/src/main.js b/ruoyi-ui/src/main.js
index ebd94b9d8e..8cb912382a 100644
--- a/ruoyi-ui/src/main.js
+++ b/ruoyi-ui/src/main.js
@@ -1,67 +1,76 @@
-import Vue from 'vue'
+import Vue from "vue";
-import Cookies from 'js-cookie'
+import Cookies from "js-cookie";
-import Element from 'element-ui'
-import './assets/styles/element-variables.scss'
+import Element from "element-ui";
+import "./assets/styles/element-variables.scss";
-import '@/assets/styles/index.scss' // global css
-import '@/assets/styles/ruoyi.scss' // ruoyi css
-import App from './App'
-import store from './store'
-import router from './router'
-import directive from './directive' // directive
-import plugins from './plugins' // plugins
-import { download } from '@/utils/request'
+import "@/assets/styles/index.scss"; // global css
+import "@/assets/styles/ruoyi.scss"; // ruoyi css
+import "@/assets/styles/custom.scss"; // 自定义 css
-import './assets/icons' // icon
-import './permission' // permission control
+import App from "./App";
+import store from "./store";
+import router from "./router";
+import directive from "./directive"; // directive
+import plugins from "./plugins"; // plugins
+import { download } from "@/utils/request";
+
+import "./assets/icons"; // icon
+import "./permission"; // permission control
import { getDicts } from "@/api/system/dict/data";
import { getConfigKey } from "@/api/system/config";
-import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi";
+import {
+ parseTime,
+ resetForm,
+ addDateRange,
+ selectDictLabel,
+ selectDictLabels,
+ handleTree,
+} from "@/utils/ruoyi";
// 分页组件
import Pagination from "@/components/Pagination";
// 自定义表格工具组件
-import RightToolbar from "@/components/RightToolbar"
+import RightToolbar from "@/components/RightToolbar";
// 富文本组件
-import Editor from "@/components/Editor"
+import Editor from "@/components/Editor";
// 文件上传组件
-import FileUpload from "@/components/FileUpload"
+import FileUpload from "@/components/FileUpload";
// 图片上传组件
-import ImageUpload from "@/components/ImageUpload"
+import ImageUpload from "@/components/ImageUpload";
// 图片预览组件
-import ImagePreview from "@/components/ImagePreview"
+import ImagePreview from "@/components/ImagePreview";
// 字典标签组件
-import DictTag from '@/components/DictTag'
+import DictTag from "@/components/DictTag";
// 头部标签组件
-import VueMeta from 'vue-meta'
+import VueMeta from "vue-meta";
// 字典数据组件
-import DictData from '@/components/DictData'
+import DictData from "@/components/DictData";
// 全局方法挂载
-Vue.prototype.getDicts = getDicts
-Vue.prototype.getConfigKey = getConfigKey
-Vue.prototype.parseTime = parseTime
-Vue.prototype.resetForm = resetForm
-Vue.prototype.addDateRange = addDateRange
-Vue.prototype.selectDictLabel = selectDictLabel
-Vue.prototype.selectDictLabels = selectDictLabels
-Vue.prototype.download = download
-Vue.prototype.handleTree = handleTree
+Vue.prototype.getDicts = getDicts;
+Vue.prototype.getConfigKey = getConfigKey;
+Vue.prototype.parseTime = parseTime;
+Vue.prototype.resetForm = resetForm;
+Vue.prototype.addDateRange = addDateRange;
+Vue.prototype.selectDictLabel = selectDictLabel;
+Vue.prototype.selectDictLabels = selectDictLabels;
+Vue.prototype.download = download;
+Vue.prototype.handleTree = handleTree;
// 全局组件挂载
-Vue.component('DictTag', DictTag)
-Vue.component('Pagination', Pagination)
-Vue.component('RightToolbar', RightToolbar)
-Vue.component('Editor', Editor)
-Vue.component('FileUpload', FileUpload)
-Vue.component('ImageUpload', ImageUpload)
-Vue.component('ImagePreview', ImagePreview)
+Vue.component("DictTag", DictTag);
+Vue.component("Pagination", Pagination);
+Vue.component("RightToolbar", RightToolbar);
+Vue.component("Editor", Editor);
+Vue.component("FileUpload", FileUpload);
+Vue.component("ImageUpload", ImageUpload);
+Vue.component("ImagePreview", ImagePreview);
-Vue.use(directive)
-Vue.use(plugins)
-Vue.use(VueMeta)
-DictData.install()
+Vue.use(directive);
+Vue.use(plugins);
+Vue.use(VueMeta);
+DictData.install();
/**
* If you don't want to use mock-server
@@ -73,14 +82,14 @@ DictData.install()
*/
Vue.use(Element, {
- size: Cookies.get('size') || 'medium' // set element-ui default size
-})
+ size: Cookies.get("size") || "medium", // set element-ui default size
+});
-Vue.config.productionTip = false
+Vue.config.productionTip = false;
new Vue({
- el: '#app',
+ el: "#app",
router,
store,
- render: h => h(App)
-})
+ render: (h) => h(App),
+});
diff --git a/ruoyi-ui/src/views/app/product/list.vue b/ruoyi-ui/src/views/app/product/list.vue
index bb7cafd02d..de14acd408 100644
--- a/ruoyi-ui/src/views/app/product/list.vue
+++ b/ruoyi-ui/src/views/app/product/list.vue
@@ -154,14 +154,14 @@
+
-
+ v-show="total > 0"
+ :total="total"
+ :page.sync="queryParams.pageNum"
+ :limit.sync="queryParams.pageSize"
+ @pagination="getList"
+ />
@@ -293,7 +293,6 @@ export default {
},
appList: [],
categoryList: [],
- showParent: false,
};
},
created() {
@@ -352,7 +351,7 @@ export default {
},
/** 修改 */
handleUpdate(row) {
- this.title = "修改分类";
+ this.title = "修改商品";
this.reset();
getProduct(row.id).then((response) => {
this.form = response.data;
diff --git a/ruoyi-ui/src/views/app/user/index.vue b/ruoyi-ui/src/views/app/user/index.vue
new file mode 100644
index 0000000000..0a1831ee90
--- /dev/null
+++ b/ruoyi-ui/src/views/app/user/index.vue
@@ -0,0 +1,462 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+
+ 添加用户
+
+
+
+
+ 批量删除
+
+
+
+
+ 批量重置密码
+
+
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 详情
+ 登录日志
+ 修改
+
+
+
+
+ 禁用
+ 启用
+ 重置密码
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/app/user/userEdit.vue b/ruoyi-ui/src/views/app/user/userEdit.vue
new file mode 100644
index 0000000000..b1f3eb4f99
--- /dev/null
+++ b/ruoyi-ui/src/views/app/user/userEdit.vue
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
+
+