From 04b8755d0cd115b88437686c373b57b3b84c99ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=88=B1=7E=E6=B5=B7=7E=E7=88=B1=E6=B5=B7=E7=88=B1?= =?UTF-8?q?=E6=B5=B7=7E=E5=8F=B3?= <1828712314@qq.com> Date: Fri, 17 Jan 2025 16:06:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 5 + src/BusinessCom/ChooseCompany/index.vue | 4 + src/BusinessCom/ChoosePersonnel/index.vue | 32 +- src/api/system/user.js | 148 ++- src/api/task/index.js | 27 + src/assets/styles/index.scss | 11 + src/assets/styles/ruoyi.scss | 243 ++-- src/components/Editor/index.vue | 7 +- src/router/index.js | 2 +- src/views/enterprises/component/form.vue | 171 +++ src/views/enterprises/component/introduce.vue | 53 + src/views/enterprises/index.vue | 319 +++++ src/views/home/index.vue | 1102 +++++++++++++++++ src/views/index.vue | 1102 ----------------- .../component/enterpriseInsert.vue | 92 -- src/views/system/enterprises/index.vue | 589 --------- src/views/system/notice/index.vue | 424 ++++--- src/views/system/user/enterprisesDetail.vue | 43 + src/views/system/user/examine.vue | 197 +++ src/views/system/user/examineform.vue | 58 + src/views/system/user/index.vue | 645 +++++++--- src/views/task/index.vue | 5 +- 22 files changed, 2988 insertions(+), 2291 deletions(-) create mode 100644 src/api/task/index.js create mode 100644 src/views/enterprises/component/form.vue create mode 100644 src/views/enterprises/component/introduce.vue create mode 100644 src/views/enterprises/index.vue create mode 100644 src/views/home/index.vue delete mode 100644 src/views/index.vue delete mode 100644 src/views/system/enterprises/component/enterpriseInsert.vue delete mode 100644 src/views/system/enterprises/index.vue create mode 100644 src/views/system/user/enterprisesDetail.vue create mode 100644 src/views/system/user/examine.vue create mode 100644 src/views/system/user/examineform.vue diff --git a/package.json b/package.json index 256e446..5abe49a 100644 --- a/package.json +++ b/package.json @@ -44,5 +44,10 @@ "vite": "5.3.2", "vite-plugin-compression": "0.5.1", "vite-plugin-svg-icons": "2.0.1" + }, + "pnpm": { + "overrides": { + "quill": "2.0.2" + } } } diff --git a/src/BusinessCom/ChooseCompany/index.vue b/src/BusinessCom/ChooseCompany/index.vue index 2d149d1..5e3606a 100644 --- a/src/BusinessCom/ChooseCompany/index.vue +++ b/src/BusinessCom/ChooseCompany/index.vue @@ -123,6 +123,10 @@ function tableSelect(ids){ console.log(isSelect.value) } +function submit(){ + +} + defineExpose({ open }); diff --git a/src/BusinessCom/ChoosePersonnel/index.vue b/src/BusinessCom/ChoosePersonnel/index.vue index 17fd4aa..63d1bd0 100644 --- a/src/BusinessCom/ChoosePersonnel/index.vue +++ b/src/BusinessCom/ChoosePersonnel/index.vue @@ -1,7 +1,6 @@ diff --git a/src/api/system/user.js b/src/api/system/user.js index 4529644..d4fcd65 100644 --- a/src/api/system/user.js +++ b/src/api/system/user.js @@ -1,145 +1,167 @@ -import request from '@/utils/request' +import request from "@/utils/request"; import { parseStrEmpty } from "@/utils/ruoyi"; // 查询用户列表 export function listUser(query) { return request({ - url: '/system/user/list', - method: 'get', - params: query - }) + url: "/system/user/list", + method: "get", + params: query, + }); } // 查询用户列表 export function listDeptUser(query) { return request({ - url: '/system/user/listDeptUser', - method: 'get', - params: query - }) + url: "/system/user/listDeptUser", + method: "get", + params: query, + }); } // 查询用户详细 export function getUser(userId) { return request({ - url: '/system/user/' + parseStrEmpty(userId), - method: 'get' - }) + url: "/system/user/" + parseStrEmpty(userId), + method: "get", + }); } // 新增用户 export function addUser(data) { return request({ - url: '/system/user', - method: 'post', - data: data - }) + url: "/system/user", + method: "post", + data: data, + }); } // 修改用户 export function updateUser(data) { return request({ - url: '/system/user', - method: 'put', - data: data - }) + url: "/system/user", + method: "put", + data: data, + }); } // 删除用户 export function delUser(userId) { return request({ - url: '/system/user/' + userId, - method: 'delete' - }) + url: "/system/user/" + userId, + method: "delete", + }); } // 用户密码重置 export function resetUserPwd(userId, password) { const data = { userId, - password - } + password, + }; return request({ - url: '/system/user/resetPwd', - method: 'put', - data: data - }) + url: "/system/user/resetPwd", + method: "put", + data: data, + }); } // 用户状态修改 export function changeUserStatus(userId, status) { const data = { userId, - status - } + status, + }; return request({ - url: '/system/user/changeStatus', - method: 'put', - data: data - }) + url: "/system/user/changeStatus", + method: "put", + data: data, + }); } // 查询用户个人信息 export function getUserProfile() { return request({ - url: '/system/user/profile', - method: 'get' - }) + url: "/system/user/profile", + method: "get", + }); } // 修改用户个人信息 export function updateUserProfile(data) { return request({ - url: '/system/user/profile', - method: 'put', - data: data - }) + url: "/system/user/profile", + method: "put", + data: data, + }); } // 用户密码重置 export function updateUserPwd(oldPassword, newPassword) { const data = { oldPassword, - newPassword - } + newPassword, + }; return request({ - url: '/system/user/profile/updatePwd', - method: 'put', - data: data - }) + url: "/system/user/profile/updatePwd", + method: "put", + data: data, + }); } // 用户头像上传 export function uploadAvatar(data) { return request({ - url: '/system/user/profile/avatar', - method: 'post', - headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, - data: data - }) + url: "/system/user/profile/avatar", + method: "post", + headers: { "Content-Type": "application/x-www-form-urlencoded" }, + data: data, + }); } // 查询授权角色 export function getAuthRole(userId) { return request({ - url: '/system/user/authRole/' + userId, - method: 'get' - }) + url: "/system/user/authRole/" + userId, + method: "get", + }); } // 保存授权角色 export function updateAuthRole(data) { return request({ - url: '/system/user/authRole', - method: 'put', - params: data - }) + url: "/system/user/authRole", + method: "put", + params: data, + }); } // 查询部门下拉树结构 export function deptTreeSelect() { return request({ - url: '/system/user/deptTree', - method: 'get' - }) + url: "/system/user/deptTree", + method: "get", + }); } + +/** + * 查询审核列表 + */ +export function getExamieList(query) { + return request({ + url: "/system/user/auditList", + method: "get", + params: query, + }); +} + +/** + * 审核用户 + */ +export function examineUser(data) { + return request({ + url: "/system/user/auditUser", + method: "put", + data, + }); +} \ No newline at end of file diff --git a/src/api/task/index.js b/src/api/task/index.js new file mode 100644 index 0000000..f998846 --- /dev/null +++ b/src/api/task/index.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +/** + * 查询任务列表 + * @param query + * @returns {*} + */ +export function getTaskList(query) { + return request({ + url: '/system/enterprises/list', + method: 'get', + params: query + }) +} + +/** + * 创建任务 + * @param id + * @returns {*} + */ +export function createTask(id) { + return request({ + url: '/system/enterprises/' + id, + method: 'post' + }) +} + diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss index 2b8dca5..b0511fb 100644 --- a/src/assets/styles/index.scss +++ b/src/assets/styles/index.scss @@ -182,3 +182,14 @@ aside { margin-bottom: 10px; } } + +// 自定义弹窗动画 +.wind-enter-active, +.wind-leave-active { + transition: opacity 0.5s ease-in-out; +} + +.wind-enter-from, +.wind-leave-to { + opacity: 0; +} \ No newline at end of file diff --git a/src/assets/styles/ruoyi.scss b/src/assets/styles/ruoyi.scss index 252be35..34b140b 100644 --- a/src/assets/styles/ruoyi.scss +++ b/src/assets/styles/ruoyi.scss @@ -3,101 +3,113 @@ * Copyright (c) 2019 ruoyi */ - /** 基础通用 **/ +/** 基础通用 **/ .pt5 { - padding-top: 5px; + padding-top: 5px; } .pr5 { - padding-right: 5px; + padding-right: 5px; } .pb5 { - padding-bottom: 5px; + padding-bottom: 5px; } .mt5 { - margin-top: 5px; + margin-top: 5px; } .mr5 { - margin-right: 5px; + margin-right: 5px; } .mb5 { - margin-bottom: 5px; + margin-bottom: 5px; } .mb8 { - margin-bottom: 8px; + margin-bottom: 8px; } .ml5 { - margin-left: 5px; + margin-left: 5px; } .mt10 { - margin-top: 10px; + margin-top: 10px; } .mr10 { - margin-right: 10px; + margin-right: 10px; } .mb10 { - margin-bottom: 10px; + margin-bottom: 10px; } .ml10 { - margin-left: 10px; + margin-left: 10px; } .mt20 { - margin-top: 20px; + margin-top: 20px; } .mr20 { - margin-right: 20px; + margin-right: 20px; } .mb20 { - margin-bottom: 20px; + margin-bottom: 20px; } .ml20 { - margin-left: 20px; -} - -.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { - font-family: inherit; - font-weight: 500; - line-height: 1.1; - color: inherit; + margin-left: 20px; +} + +.h1, +.h2, +.h3, +.h4, +.h5, +.h6, +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; } .el-form .el-form-item__label { - font-weight: 700; + font-weight: 700; } .el-dialog:not(.is-fullscreen) { - margin-top: 6vh !important; + margin-top: 6vh ; } .el-dialog.scrollbar .el-dialog__body { - overflow: auto; - overflow-x: hidden; - max-height: 70vh; - padding: 10px 20px 0; + overflow: auto; + overflow-x: hidden; + max-height: 70vh; + padding: 10px 20px 0; } .el-table { - .el-table__header-wrapper, .el-table__fixed-header-wrapper { - th { - word-break: break-word; - background-color: #f8f8f9 !important; - color: #515a6e; - height: 40px !important; - font-size: 13px; - } - } - .el-table__body-wrapper { - .el-button [class*="el-icon-"] + span { - margin-left: 1px; - } - } + .el-table__header-wrapper, + .el-table__fixed-header-wrapper { + th { + word-break: break-word; + background-color: #f8f8f9 !important; + color: #515a6e; + height: 40px !important; + font-size: 13px; + } + } + .el-table__body-wrapper { + .el-button [class*="el-icon-"] + span { + margin-left: 1px; + } + } } /** 表单布局 **/ .form-header { - font-size:15px; - color:#6379bb; - border-bottom:1px solid #ddd; - margin:8px 10px 25px 10px; - padding-bottom:5px + font-size: 15px; + color: #6379bb; + border-bottom: 1px solid #ddd; + margin: 8px 10px 25px 10px; + padding-bottom: 5px; } /** 表格布局 **/ @@ -122,7 +134,7 @@ position: static !important; margin: 10px 0 0 0; padding: 0 !important; - + .el-pagination { position: static; } @@ -144,155 +156,156 @@ /* tree border */ .tree-border { - margin-top: 5px; - border: 1px solid var(--el-border-color-light, #e5e6e7); - background: var(--el-bg-color, #FFFFFF) none; - border-radius:4px; - width: 100%; + margin-top: 5px; + border: 1px solid var(--el-border-color-light, #e5e6e7); + background: var(--el-bg-color, #ffffff) none; + border-radius: 4px; + width: 100%; } .el-table .fixed-width .el-button--small { - padding-left: 0; - padding-right: 0; - width: inherit; + padding-left: 0; + padding-right: 0; + width: inherit; } /** 表格更多操作下拉样式 */ .el-table .el-dropdown-link { - cursor: pointer; - color: #409EFF; - margin-left: 10px; + cursor: pointer; + color: #409eff; + margin-left: 10px; } -.el-table .el-dropdown, .el-icon-arrow-down { - font-size: 12px; +.el-table .el-dropdown, +.el-icon-arrow-down { + font-size: 12px; } .el-tree-node__content > .el-checkbox { - margin-right: 8px; + margin-right: 8px; } .list-group-striped > .list-group-item { - border-left: 0; - border-right: 0; - border-radius: 0; - padding-left: 0; - padding-right: 0; + border-left: 0; + border-right: 0; + border-radius: 0; + padding-left: 0; + padding-right: 0; } .list-group { - padding-left: 0px; - list-style: none; + padding-left: 0px; + list-style: none; } .list-group-item { - border-bottom: 1px solid #e7eaec; - border-top: 1px solid #e7eaec; - margin-bottom: -1px; - padding: 11px 0px; - font-size: 13px; + border-bottom: 1px solid #e7eaec; + border-top: 1px solid #e7eaec; + margin-bottom: -1px; + padding: 11px 0px; + font-size: 13px; } .pull-right { - float: right !important; + float: right !important; } .el-card__header { - padding: 14px 15px 7px !important; - min-height: 40px; + padding: 14px 15px 7px !important; + min-height: 40px; } .el-card__body { - padding: 15px 20px 20px 20px !important; + padding: 15px 20px 20px 20px !important; } .card-box { - padding-right: 15px; - padding-left: 15px; - margin-bottom: 10px; + padding-right: 15px; + padding-left: 15px; + margin-bottom: 10px; } /* button color */ .el-button--cyan.is-active, .el-button--cyan:active { - background: #20B2AA; - border-color: #20B2AA; - color: #FFFFFF; + background: #20b2aa; + border-color: #20b2aa; + color: #ffffff; } .el-button--cyan:focus, .el-button--cyan:hover { - background: #48D1CC; - border-color: #48D1CC; - color: #FFFFFF; + background: #48d1cc; + border-color: #48d1cc; + color: #ffffff; } .el-button--cyan { - background-color: #20B2AA; - border-color: #20B2AA; - color: #FFFFFF; + background-color: #20b2aa; + border-color: #20b2aa; + color: #ffffff; } /* text color */ .text-navy { - color: #1ab394; + color: #1ab394; } .text-primary { - color: inherit; + color: inherit; } .text-success { - color: #1c84c6; + color: #1c84c6; } .text-info { - color: #23c6c8; + color: #23c6c8; } .text-warning { - color: #f8ac59; + color: #f8ac59; } .text-danger { - color: #ed5565; + color: #ed5565; } .text-muted { - color: #888888; + color: #888888; } /* image */ .img-circle { - border-radius: 50%; + border-radius: 50%; } .img-lg { - width: 120px; - height: 120px; + width: 120px; + height: 120px; } .avatar-upload-preview { - position: absolute; - top: 50%; - transform: translate(50%, -50%); - width: 200px; - height: 200px; - border-radius: 50%; - box-shadow: 0 0 4px #ccc; - overflow: hidden; + position: absolute; + top: 50%; + transform: translate(50%, -50%); + width: 200px; + height: 200px; + border-radius: 50%; + box-shadow: 0 0 4px #ccc; + overflow: hidden; } /* 拖拽列样式 */ -.sortable-ghost{ - opacity: .8; - color: #fff!important; - background: #42b983!important; +.sortable-ghost { + opacity: 0.8; + color: #fff !important; + background: #42b983 !important; } /* 表格右侧工具栏样式 */ .top-right-btn { - margin-left: auto; + margin-left: auto; } /* 分割面板样式 */ diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue index 1bd01ed..6af9a34 100644 --- a/src/components/Editor/index.vue +++ b/src/components/Editor/index.vue @@ -9,7 +9,7 @@ :show-file-list="false" :headers="headers" class="editor-img-uploader" - v-if="type == 'url'" + v-if="type === 'url'" > @@ -34,7 +34,7 @@ import { getToken } from "@/utils/auth"; const { proxy } = getCurrentInstance(); const quillEditorRef = ref(); -const uploadUrl = ref(import.meta.env.VITE_APP_BASE_API + "/common/upload"); // 上传的图片服务器地址 +const uploadUrl = ref(import.meta.env.VITE_APP_BASE_API + "/common_file/upload"); // 上传的图片服务器地址 const headers = ref({ Authorization: "Bearer " + getToken() }); @@ -151,12 +151,13 @@ function handleBeforeUpload(file) { function handleUploadSuccess(res, file) { // 如果上传成功 if (res.code == 200) { + console.log(res) // 获取富文本实例 let quill = toRaw(quillEditorRef.value).getQuill(); // 获取光标位置 let length = quill.selection.savedRange.index; // 插入图片,res.url为服务器返回的图片链接地址 - quill.insertEmbed(length, "image", import.meta.env.VITE_APP_BASE_API + res.fileName); + quill.insertEmbed(length, "image", res.data); // 调整光标到最后 quill.setSelection(length + 1); } else { diff --git a/src/router/index.js b/src/router/index.js index 2c7c3de..bbbc532 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -64,7 +64,7 @@ export const constantRoutes = [ children: [ { path: '/index', - component: () => import('@/views/index'), + component: () => import('@/views/home/index.vue'), name: 'Index', meta: { title: '首页', icon: 'dashboard', affix: true } } diff --git a/src/views/enterprises/component/form.vue b/src/views/enterprises/component/form.vue new file mode 100644 index 0000000..28ec009 --- /dev/null +++ b/src/views/enterprises/component/form.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/src/views/enterprises/component/introduce.vue b/src/views/enterprises/component/introduce.vue new file mode 100644 index 0000000..a80e7e4 --- /dev/null +++ b/src/views/enterprises/component/introduce.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/src/views/enterprises/index.vue b/src/views/enterprises/index.vue new file mode 100644 index 0000000..9098dce --- /dev/null +++ b/src/views/enterprises/index.vue @@ -0,0 +1,319 @@ + + + + + diff --git a/src/views/home/index.vue b/src/views/home/index.vue new file mode 100644 index 0000000..b4044c5 --- /dev/null +++ b/src/views/home/index.vue @@ -0,0 +1,1102 @@ + + + + + + diff --git a/src/views/index.vue b/src/views/index.vue deleted file mode 100644 index 3fdf6f9..0000000 --- a/src/views/index.vue +++ /dev/null @@ -1,1102 +0,0 @@ - - - - - - diff --git a/src/views/system/enterprises/component/enterpriseInsert.vue b/src/views/system/enterprises/component/enterpriseInsert.vue deleted file mode 100644 index 65c768a..0000000 --- a/src/views/system/enterprises/component/enterpriseInsert.vue +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/views/system/enterprises/index.vue b/src/views/system/enterprises/index.vue deleted file mode 100644 index ae53aad..0000000 --- a/src/views/system/enterprises/index.vue +++ /dev/null @@ -1,589 +0,0 @@ - - - diff --git a/src/views/system/notice/index.vue b/src/views/system/notice/index.vue index b009d7c..29d2563 100644 --- a/src/views/system/notice/index.vue +++ b/src/views/system/notice/index.vue @@ -1,168 +1,242 @@ + + diff --git a/src/views/system/user/examine.vue b/src/views/system/user/examine.vue new file mode 100644 index 0000000..d0abe2d --- /dev/null +++ b/src/views/system/user/examine.vue @@ -0,0 +1,197 @@ + + + + diff --git a/src/views/system/user/examineform.vue b/src/views/system/user/examineform.vue new file mode 100644 index 0000000..9ea3bcd --- /dev/null +++ b/src/views/system/user/examineform.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index c663898..22147ec 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -1,69 +1,209 @@