From bff519972678555e4afa55b5d3c6a93d24deb5f9 Mon Sep 17 00:00:00 2001 From: zcxee <495141071@qq.com> Date: Mon, 20 Mar 2023 17:28:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 21 +- src/api/sch/classType.js | 43 ++ src/api/sch/place.js | 27 + src/api/sch/school.js | 36 + src/api/system/dept.js | 9 +- src/api/system/employee.js | 42 ++ src/api/system/role.js | 9 + src/api/system/user.js | 12 +- src/api/tool/common.js | 0 src/api/tool/map.js | 0 src/api/zs/clue.js | 186 +++++ src/api/zs/sign.js | 89 +++ src/assets/images/place/flag_black.png | Bin 0 -> 341 bytes src/assets/images/place/flag_blue.png | Bin 0 -> 357 bytes src/assets/images/place/flag_green.png | Bin 0 -> 353 bytes src/assets/images/place/flag_purple.png | Bin 0 -> 350 bytes src/assets/images/place/flag_red.png | Bin 0 -> 358 bytes src/assets/images/place/flag_yellow.png | Bin 0 -> 355 bytes src/components/CustomColumnTable/index.vue | 278 +++++++ src/global/components.js | 4 + src/layout/components/AppMain.vue | 2 +- src/main.js | 29 + src/router/index.js | 159 ++-- src/store/modules/permission.js | 23 +- src/utils/auth.js | 2 +- src/utils/ruoyi.js | 13 + src/views/sch/classType.vue | 491 ++++++++++++ src/views/sch/components/schoolForm.vue | 130 ++++ src/views/sch/place.vue | 772 +++++++++++++++++++ src/views/sch/school.vue | 121 +++ src/views/system/employee/index.vue | 491 ++++++++++++ src/views/system/role/index.vue | 227 ++---- src/views/system/user/index.vue | 239 ++---- src/views/zs/clue.vue | 784 ++++++++++++++++++++ src/views/zs/components/batchUpdateForm.vue | 73 ++ src/views/zs/components/clueForm.vue | 650 ++++++++++++++++ src/views/zs/components/distributeForm.vue | 95 +++ src/views/zs/components/filterForm.vue | 73 ++ src/views/zs/components/publicTable.vue | 84 +++ src/views/zs/components/signForm.vue | 416 +++++++++++ src/views/zs/sign.vue | 0 vue.config.js | 39 +- 42 files changed, 5202 insertions(+), 467 deletions(-) create mode 100644 src/api/sch/classType.js create mode 100644 src/api/sch/place.js create mode 100644 src/api/sch/school.js create mode 100644 src/api/system/employee.js create mode 100644 src/api/tool/common.js create mode 100644 src/api/tool/map.js create mode 100644 src/api/zs/clue.js create mode 100644 src/api/zs/sign.js create mode 100644 src/assets/images/place/flag_black.png create mode 100644 src/assets/images/place/flag_blue.png create mode 100644 src/assets/images/place/flag_green.png create mode 100644 src/assets/images/place/flag_purple.png create mode 100644 src/assets/images/place/flag_red.png create mode 100644 src/assets/images/place/flag_yellow.png create mode 100644 src/components/CustomColumnTable/index.vue create mode 100644 src/views/sch/classType.vue create mode 100644 src/views/sch/components/schoolForm.vue create mode 100644 src/views/sch/place.vue create mode 100644 src/views/sch/school.vue create mode 100644 src/views/system/employee/index.vue create mode 100644 src/views/zs/clue.vue create mode 100644 src/views/zs/components/batchUpdateForm.vue create mode 100644 src/views/zs/components/clueForm.vue create mode 100644 src/views/zs/components/distributeForm.vue create mode 100644 src/views/zs/components/filterForm.vue create mode 100644 src/views/zs/components/publicTable.vue create mode 100644 src/views/zs/components/signForm.vue create mode 100644 src/views/zs/sign.vue diff --git a/package.json b/package.json index 7b29f02..470f7e0 100644 --- a/package.json +++ b/package.json @@ -17,9 +17,20 @@ } }, "lint-staged": { - "src/**/*.{js,vue}": ["eslint --fix", "git add"] + "src/**/*.{js,vue}": [ + "eslint --fix", + "git add" + ] }, - "keywords": ["vue", "admin", "dashboard", "element-ui", "boilerplate", "admin-template", "management-system"], + "keywords": [ + "vue", + "admin", + "dashboard", + "element-ui", + "boilerplate", + "admin-template", + "management-system" + ], "repository": { "type": "git", "url": "https://gitee.com/y_project/RuoYi-Vue.git" @@ -42,6 +53,7 @@ "screenfull": "5.0.2", "sortablejs": "1.10.2", "vue": "2.6.12", + "vue-amap": "^0.5.10", "vue-count-to": "1.0.13", "vue-cropper": "0.5.5", "vue-meta": "2.4.0", @@ -72,5 +84,8 @@ "node": ">=8.9", "npm": ">= 3.0.0" }, - "browserslist": ["> 1%", "last 2 versions"] + "browserslist": [ + "> 1%", + "last 2 versions" + ] } diff --git a/src/api/sch/classType.js b/src/api/sch/classType.js new file mode 100644 index 0000000..e83037c --- /dev/null +++ b/src/api/sch/classType.js @@ -0,0 +1,43 @@ +import request from '@/utils/request' + +// 查询班型列表 +export function getClassTypeTableList(query) { + return request({ + url: '/sch/classType/list', + method: 'get', + params: query + }) +} + +// 新增班型 +export function insertClassType(params) { + return request({ + url: '/sch/classType', + method: 'post', + data: params + }) +} +// 修改班型 +export function updateClassType(params) { + return request({ + url: '/sch/classType', + method: 'put', + data: params + }) +} +// 删除班型 +export function deleteClassType(ids) { + return request({ + url: '/sch/classType/' + ids, + method: 'delete' + }) +} + +//克隆班型 +export function cloneClassType(data) { + return request({ + url: '/sch/classType/clone', + method: 'post', + data: data + }) +} diff --git a/src/api/sch/place.js b/src/api/sch/place.js new file mode 100644 index 0000000..ea59c8b --- /dev/null +++ b/src/api/sch/place.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + +// 获取地图数据 +export function getMapData() { + return request({ + url: '/sch/place/list', + method: 'get' + }) +} + +// 更新驾校状态 +export async function updateSchoolStatus(data) { + return await request({ + url: '/sch/place/updateSchool', + method: 'put', + data: data + }) +} + +// 保存场地状态 +export function savePlace(data) { + return request({ + url: '/sch/place', + method: 'post', + data: data + }) +} diff --git a/src/api/sch/school.js b/src/api/sch/school.js new file mode 100644 index 0000000..2fda293 --- /dev/null +++ b/src/api/sch/school.js @@ -0,0 +1,36 @@ +import request from '@/utils/request' +export default { + pageList(data = {}) { + return request({ + url: "/sch/school/list", + method: "get", + params: data, + }); + }, + getById(id) { + return request({ + url: `/sch/school/${id}`, + method: "get", + }); + }, + add(data = {}) { + return request({ + url: "/sch/school", + method: "post", + data, + }); + }, + update(data = {}) { + return request({ + url: "/sch/school", + method: "put", + data, + }); + }, + delete(id) { + return request({ + url: `/sch/school/${id}`, + method: "delete", + }); + } +} diff --git a/src/api/system/dept.js b/src/api/system/dept.js index fc943cd..494b284 100644 --- a/src/api/system/dept.js +++ b/src/api/system/dept.js @@ -49,4 +49,11 @@ export function delDept(deptId) { url: '/system/dept/' + deptId, method: 'delete' }) -} \ No newline at end of file +} +// 查询部门下拉树结构 +export function deptTreeSelect() { + return request({ + url: '/system/dept/deptTree', + method: 'get' + }) +} diff --git a/src/api/system/employee.js b/src/api/system/employee.js new file mode 100644 index 0000000..c07e3fa --- /dev/null +++ b/src/api/system/employee.js @@ -0,0 +1,42 @@ +import request from '@/utils/request' +export default { + pageList(data = {}) { + return request({ + url: "/system/employee/list", + method: "get", + params: data, + }); + }, + getById(id) { + return request({ + url: `/system/employee/${id}`, + method: "get", + }); + }, + add(data = {}) { + return request({ + url: "/system/employee", + method: "post", + data, + }); + }, + update(data = {}) { + return request({ + url: "/system/employee", + method: "put", + data, + }); + }, + delete(id) { + return request({ + url: `/system/employee/${id}`, + method: "delete", + }); + }, + getEmployee() { + return request({ + url: "/system/employee/getEmployees", + method: "get" + }); + } +} diff --git a/src/api/system/role.js b/src/api/system/role.js index f13e6f4..cc74ed8 100644 --- a/src/api/system/role.js +++ b/src/api/system/role.js @@ -117,3 +117,12 @@ export function deptTreeSelect(roleId) { method: 'get' }) } + + + +export function getRoleOptions() { + return request({ + url: '/system/role/getRoles', + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js index f2f76ef..1801bfa 100644 --- a/src/api/system/user.js +++ b/src/api/system/user.js @@ -1,5 +1,7 @@ import request from '@/utils/request' -import { parseStrEmpty } from "@/utils/ruoyi"; +import { + parseStrEmpty +} from "@/utils/ruoyi"; // 查询用户列表 export function listUser(query) { @@ -125,11 +127,3 @@ export function updateAuthRole(data) { params: data }) } - -// 查询部门下拉树结构 -export function deptTreeSelect() { - return request({ - url: '/system/user/deptTree', - method: 'get' - }) -} diff --git a/src/api/tool/common.js b/src/api/tool/common.js new file mode 100644 index 0000000..e69de29 diff --git a/src/api/tool/map.js b/src/api/tool/map.js new file mode 100644 index 0000000..e69de29 diff --git a/src/api/zs/clue.js b/src/api/zs/clue.js new file mode 100644 index 0000000..8ec3dd1 --- /dev/null +++ b/src/api/zs/clue.js @@ -0,0 +1,186 @@ +import request from '@/utils/request' + +// 查询线索列表 +export function getClueList(query) { + return request({ + url: '/zs/clue/list', + method: 'get', + params: query + }) +} + +// 新增线索 +export function addClue(data) { + return request({ + url: '/zs/clue', + method: 'post', + data: data + }) +} + +// 修改线索 +export function updateClue(data) { + return request({ + url: '/zs/clue', + method: 'put', + data: data + }) +} + +//删除 +export function deleteClue(data) { + return request({ + url: '/zs/clue', + method: 'delete', + params: data + }) +} +// 导出 +export function exportData(query) { + return request({ + url: '/zs/clue/export', + method: 'get', + params: query + }) +} + +// 导入模板 +export function importTemplate(param) { + return request({ + url: '/zs/clue/importTemplate', + method: 'get', + params: param + }) +} +// 导入 +export function importData(data) { + return request({ + url: '/zs/clue/importData', + method: 'post', + data: data + }) +} + +//查询登记getSign +export function getSign(query) { + return request({ + url: '/zs/clue/sign', + method: 'get', + params: query + }) +} +//保存登记 +export function saveSign(data) { + return request({ + url: '/zs/clue/sign', + method: 'post', + data: data + }) +} + +//甩单 +export function saveDistribute(data) { + return request({ + url: '/zs/clue/distribute', + method: 'put', + data: data + }) +} + +//驳回 +export function refuse(data) { + return request({ + url: '/zs/clue/refuse', + method: 'put', + data: data + }) +} + +//查询甩单记录 +export function getDistributeRecord(param) { + return request({ + url: '/zs/clue/distributerecord', + method: 'get', + params: param + }) +} + +//查询跟踪记录 +export function getFollowRecord(param) { + return request({ + url: '/zs/clue/followrecord', + method: 'get', + params: param + }) + +} + +// + +export function getConsultRecord(param) { + return request({ + url: '/zs/clue/consultrecord', + method: 'get', + params: param + }) +} +// 获取已过期 +export function getClueCountBadge() { + return request({ + url: `/zs/clue/badgeCount`, + method: 'get' + }) +} + +// 批量更新 +export function batchUpdate(data) { + return request({ + url: `/zs/clue/batchUpdate`, + method: 'put', + data: data + }) +} + +//公海线索 getPublicList +export function getPublicList(param) { + return request({ + url: `/zs/clue/public/list`, + method: 'get', + params: param + }) +} + +//拾取线索 +export function pickupClue(data) { + return request({ + url: `/zs/clue/public/pickup`, + method: 'put', + data: data + }) +} + +//丢弃线索 +export function discardClue(data) { + return request({ + url: `/zs/clue/public/discard`, + method: 'put', + data: data + }) +} + +//查询接收 +export function getAccept() { + return request({ + url: `/zs/clue/accept`, + method: 'get' + }) +} + +//丢弃线索 +export function updateAccept(data) { + return request({ + url: `/zs/clue/accept`, + method: 'put', + data: data + }) +} diff --git a/src/api/zs/sign.js b/src/api/zs/sign.js new file mode 100644 index 0000000..32dae0b --- /dev/null +++ b/src/api/zs/sign.js @@ -0,0 +1,89 @@ +import request from '@/utils/request' + +// 查询线索列表 +export function getSignList(query) { + return request({ + url: '/zs/sign/list', + method: 'get', + params: query + }) +} + +// 导出 +export function exportData(query) { + return request({ + url: '/zs/sign/export', + method: 'get', + params: query + }) +} + +// 导入模板 +export function importTemplate() { + return request({ + url: '/zs/sign/importTemplate', + method: 'get' + }) +} +// 导入 +export function importData(data) { + return request({ + url: '/zs/sign/importData', + method: 'post', + data: data + }) +} + + +export function addSign(data) { + return request({ + url: '/zs/sign', + method: 'post', + data: data + }) +} + +export function updateSign(data) { + return request({ + url: '/zs/sign', + method: 'put', + data: data + }) +} + +export function getClues(param) { + return request({ + url: '/zs/sign/clue', + method: 'get', + params: param + }) +} + + + +export function deleteSign(data) { + return request({ + url: '/zs/sign', + method: 'delete', + params: data + }) +} + +//审核登记 +export function checkSign(data) { + return request({ + url: '/zs/sign/check', + method: 'put', + data: data + }) +} + + +//审核记录 +export function getCheckRecord(data) { + return request({ + url: '/zs/sign/check', + method: 'get', + params: data + }) +} diff --git a/src/assets/images/place/flag_black.png b/src/assets/images/place/flag_black.png new file mode 100644 index 0000000000000000000000000000000000000000..07910628e3afdf23e646db97ce3fb8e5c0c7a281 GIT binary patch literal 341 zcmV-b0jmCqP){2wRQ#IQAEZVV`#|yrz>?&02mJwH1K>G?@UpK> zEu_7?_x--^7(iwXo}61%-HY=2v~YlS@^oc@a{@yV8M-wRB?JqS z_b}auChI$pn^mTRtjTQyOmnsah}(4T|ulTUi{vCi1D<%db*&2N0Thg(}-rwaa;R9B9~YF+0m+pi}tZ{|q1$ zTmiHJZ9p6N`DsQx({y6rEf#v&?8^PG$LVjJXx|wh4s$Fp8GYCE00000NkvXXu0mjf D<#wFM literal 0 HcmV?d00001 diff --git a/src/assets/images/place/flag_green.png b/src/assets/images/place/flag_green.png new file mode 100644 index 0000000000000000000000000000000000000000..e5b98ba1d2b7dbb5c374ace295749dbcc06c7871 GIT binary patch literal 353 zcmV-n0iOPeP)jxn4MFEUca{s@$&pzKO9-kYV{SdZ?4R$; zWE}^c#$0b~V{*Jz0R)1p&r;kDAPeu&?W;QEqB>4A?3b9a^Dw20!T%XRD!2k@1KNN# w@XgZ>vjI@Vt-in=P^vN4$s1)2Se%Eq0bHrj1L-ZHb%ruTcu-S4 zHd)(1^;*fa%A4E*(%ql?#S*yM{-IuagT3PGkq z1`>5AX0@*az&Df?!ZF|hd;`7#-+*txH?V&Lsw0G4KXqlfg?B_cKq^bi*^OCCT=glL zR;ja&Yn|F${~Qs$x5G@34B=)=iuC}>AW-skRWD{(5AV7UI2v{gzCfaw6FX%`mFm1QQeER literal 0 HcmV?d00001 diff --git a/src/assets/images/place/flag_yellow.png b/src/assets/images/place/flag_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..dd2887d341c507fa6132f4ce5a506cf891728ae0 GIT binary patch literal 355 zcmV-p0i6DcP)ZbG<;j{r9yH^7ZaX-Z6yNDiVvWYA(9CE{ln z1PaA_k}HpPznx+~tzg3=8{Qvl0QKE)B!V-LrQhZ8_U@!Kfb%Lo1-v5whi@MU%mlm! zaN%$9vd!8KWY!A8N!I4p0Or+@?GF;?{k>vTSNk)8?AR6tcm*&6ygUdC1NJ(P(>Pi@ zdk0(~C6Ed*2*P5yuN7bw$`0X{PylT}8_)){0d3$X4df7JZ1lSvAtFGM#&Ryk1PG4% z;Z5SKW1~}>>p6`E4^O?6^imO=eBi{q(Y0i&sx~>Rj@<gzPW0V1UI4MoK`=I~A`bun002ovPDHLkV1iY4 BlSTjl literal 0 HcmV?d00001 diff --git a/src/components/CustomColumnTable/index.vue b/src/components/CustomColumnTable/index.vue new file mode 100644 index 0000000..91c6959 --- /dev/null +++ b/src/components/CustomColumnTable/index.vue @@ -0,0 +1,278 @@ + + + + + + + diff --git a/src/global/components.js b/src/global/components.js index 179c074..59606dc 100644 --- a/src/global/components.js +++ b/src/global/components.js @@ -13,6 +13,8 @@ import ImageUpload from "@/components/ImageUpload"; import ImagePreview from "@/components/ImagePreview"; // 字典标签组件 import DictTag from "@/components/DictTag"; +// 字典数据组件 +import DictData from '@/components/DictData' // 全局组件挂载 Vue.component("DictTag", DictTag); @@ -22,3 +24,5 @@ Vue.component("Editor", Editor); Vue.component("FileUpload", FileUpload); Vue.component("ImageUpload", ImageUpload); Vue.component("ImagePreview", ImagePreview); + +DictData.install() diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue index 667aafd..c6f2e57 100644 --- a/src/layout/components/AppMain.vue +++ b/src/layout/components/AppMain.vue @@ -1,5 +1,5 @@ - - + - + @@ -238,7 +125,7 @@ - + @@ -246,51 +133,34 @@ - + - {{dict.label}} + {{dict.label}} - - - - + + + + + + - + @@ -311,18 +181,7 @@ - +
将文件拖到此处,或点击上传
@@ -342,7 +201,8 @@ + + + \ No newline at end of file diff --git a/src/views/zs/components/batchUpdateForm.vue b/src/views/zs/components/batchUpdateForm.vue new file mode 100644 index 0000000..90a46f7 --- /dev/null +++ b/src/views/zs/components/batchUpdateForm.vue @@ -0,0 +1,73 @@ + + + diff --git a/src/views/zs/components/clueForm.vue b/src/views/zs/components/clueForm.vue new file mode 100644 index 0000000..9fa2a19 --- /dev/null +++ b/src/views/zs/components/clueForm.vue @@ -0,0 +1,650 @@ + + + + + diff --git a/src/views/zs/components/distributeForm.vue b/src/views/zs/components/distributeForm.vue new file mode 100644 index 0000000..3d4fde8 --- /dev/null +++ b/src/views/zs/components/distributeForm.vue @@ -0,0 +1,95 @@ + + + diff --git a/src/views/zs/components/filterForm.vue b/src/views/zs/components/filterForm.vue new file mode 100644 index 0000000..9932e4d --- /dev/null +++ b/src/views/zs/components/filterForm.vue @@ -0,0 +1,73 @@ + + + + diff --git a/src/views/zs/components/publicTable.vue b/src/views/zs/components/publicTable.vue new file mode 100644 index 0000000..74481b8 --- /dev/null +++ b/src/views/zs/components/publicTable.vue @@ -0,0 +1,84 @@ + + + + \ No newline at end of file diff --git a/src/views/zs/components/signForm.vue b/src/views/zs/components/signForm.vue new file mode 100644 index 0000000..f650aaf --- /dev/null +++ b/src/views/zs/components/signForm.vue @@ -0,0 +1,416 @@ + + + + + diff --git a/src/views/zs/sign.vue b/src/views/zs/sign.vue new file mode 100644 index 0000000..e69de29 diff --git a/vue.config.js b/vue.config.js index 8334c83..4160661 100644 --- a/vue.config.js +++ b/vue.config.js @@ -35,20 +35,31 @@ module.exports = { proxy: { // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VUE_APP_BASE_API]: { - // target: `http://localhost:8080`, - target: `http://vue.ruoyi.vip/prod-api/`, + target: `http://localhost:8086`, + // target: `http://vue.ruoyi.vip/prod-api/`, changeOrigin: true, pathRewrite: { ['^' + process.env.VUE_APP_BASE_API]: '' } + }, + "/amap": { + target: "https://restapi.amap.com", + changeOrigin: true, + ws: true, + pathRewrite: { + "^/amap": "" + } } + }, disableHostCheck: true }, css: { loaderOptions: { sass: { - sassOptions: { outputStyle: 'expanded' } + sassOptions: { + outputStyle: 'expanded' + } } } }, @@ -59,6 +70,9 @@ module.exports = { '@': resolve('src') } }, + externals: { + AMap: "AMap" + }, plugins: [ // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件 new CompressionPlugin({ @@ -92,12 +106,10 @@ module.exports = { config .plugin('ScriptExtHtmlWebpackPlugin') .after('html') - .use('script-ext-html-webpack-plugin', [ - { - // `runtime` must same as runtimeChunk name. default is `runtime` - inline: /runtime\..*\.js$/ - } - ]) + .use('script-ext-html-webpack-plugin', [{ + // `runtime` must same as runtimeChunk name. default is `runtime` + inline: /runtime\..*\.js$/ + }]) .end(); config.optimization.splitChunks({ chunks: 'all', @@ -122,11 +134,10 @@ module.exports = { } } }); - config.optimization.runtimeChunk('single'), - { - from: path.resolve(__dirname, './public/robots.txt'), // 防爬虫文件 - to: './' // 到根目录下 - }; + config.optimization.runtimeChunk('single'), { + from: path.resolve(__dirname, './public/robots.txt'), // 防爬虫文件 + to: './' // 到根目录下 + }; }); } };