Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Mediation-Frontend into hhl
This commit is contained in:
@@ -1,3 +1,30 @@
|
|||||||
# Mediation-Frontend
|
## 开发
|
||||||
|
|
||||||
调解系统PC端服务
|
```bash
|
||||||
|
# 克隆项目
|
||||||
|
git clone https://gitee.com/y_project/RuoYi-Vue
|
||||||
|
|
||||||
|
# 进入项目目录
|
||||||
|
cd ruoyi-ui
|
||||||
|
|
||||||
|
# 安装依赖
|
||||||
|
npm install
|
||||||
|
|
||||||
|
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
|
||||||
|
npm install --registry=https://registry.npmmirror.com
|
||||||
|
|
||||||
|
# 启动服务
|
||||||
|
npm run dev
|
||||||
|
```
|
||||||
|
|
||||||
|
浏览器访问 http://localhost:80
|
||||||
|
|
||||||
|
## 发布
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 构建测试环境
|
||||||
|
npm run build:stage
|
||||||
|
|
||||||
|
# 构建生产环境
|
||||||
|
npm run build:prod
|
||||||
|
```
|
||||||
+4
-1
@@ -2,7 +2,7 @@
|
|||||||
"name": "ruoyi",
|
"name": "ruoyi",
|
||||||
"version": "3.8.6",
|
"version": "3.8.6",
|
||||||
"description": "调解系统",
|
"description": "调解系统",
|
||||||
"author": "若依",
|
"author": "智慧仲裁",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vue-cli-service serve",
|
"dev": "vue-cli-service serve",
|
||||||
@@ -48,13 +48,16 @@
|
|||||||
"js-beautify": "1.13.0",
|
"js-beautify": "1.13.0",
|
||||||
"js-cookie": "3.0.1",
|
"js-cookie": "3.0.1",
|
||||||
"jsencrypt": "3.0.0-rc.1",
|
"jsencrypt": "3.0.0-rc.1",
|
||||||
|
"moment": "^2.29.4",
|
||||||
"nprogress": "0.2.0",
|
"nprogress": "0.2.0",
|
||||||
|
"qrcodejs2": "0.0.2",
|
||||||
"quill": "1.3.7",
|
"quill": "1.3.7",
|
||||||
"screenfull": "5.0.2",
|
"screenfull": "5.0.2",
|
||||||
"sortablejs": "1.10.2",
|
"sortablejs": "1.10.2",
|
||||||
"vue": "2.6.12",
|
"vue": "2.6.12",
|
||||||
"vue-count-to": "1.0.13",
|
"vue-count-to": "1.0.13",
|
||||||
"vue-cropper": "0.5.5",
|
"vue-cropper": "0.5.5",
|
||||||
|
"vue-esign": "^1.1.4",
|
||||||
"vue-meta": "2.4.0",
|
"vue-meta": "2.4.0",
|
||||||
"vue-router": "3.4.9",
|
"vue-router": "3.4.9",
|
||||||
"vuedraggable": "2.24.3",
|
"vuedraggable": "2.24.3",
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 394 KiB |
@@ -51,12 +51,12 @@ export default {
|
|||||||
// 图片数量限制
|
// 图片数量限制
|
||||||
limit: {
|
limit: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 5,
|
default: 1,
|
||||||
},
|
},
|
||||||
// 大小限制(MB)
|
// 大小限制(MB)
|
||||||
fileSize: {
|
fileSize: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 5,
|
// default: 5,
|
||||||
},
|
},
|
||||||
// 文件类型, 例如['png', 'jpg', 'jpeg']
|
// 文件类型, 例如['png', 'jpg', 'jpeg']
|
||||||
fileType: {
|
fileType: {
|
||||||
|
|||||||
@@ -9,7 +9,8 @@ export default {
|
|||||||
name: 'RuoYiDoc',
|
name: 'RuoYiDoc',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
url: 'http://doc.ruoyi.vip/ruoyi-vue'
|
// url: 'http://doc.ruoyi.vip/ruoyi-vue'
|
||||||
|
url: '#'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
@@ -7,15 +7,10 @@
|
|||||||
|
|
||||||
<div class="right-menu">
|
<div class="right-menu">
|
||||||
<template v-if="device!=='mobile'">
|
<template v-if="device!=='mobile'">
|
||||||
<!-- <search id="header-search" class="right-menu-item" />
|
<!-- <search id="header-search" class="right-menu-item" /> -->
|
||||||
|
|
||||||
<el-tooltip content="源码地址" effect="dark" placement="bottom">
|
|
||||||
<ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
|
|
||||||
</el-tooltip>
|
|
||||||
|
|
||||||
<el-tooltip content="文档地址" effect="dark" placement="bottom">
|
<el-tooltip content="文档地址" effect="dark" placement="bottom">
|
||||||
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
|
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
|
||||||
</el-tooltip> -->
|
</el-tooltip>
|
||||||
|
|
||||||
<screenfull id="screenfull" class="right-menu-item hover-effect" />
|
<screenfull id="screenfull" class="right-menu-item hover-effect" />
|
||||||
|
|
||||||
|
|||||||
+6
-3
@@ -4,7 +4,7 @@ import Cookies from 'js-cookie'
|
|||||||
|
|
||||||
import Element from 'element-ui'
|
import Element from 'element-ui'
|
||||||
import './assets/styles/element-variables.scss'
|
import './assets/styles/element-variables.scss'
|
||||||
import './assets/icons' // icon
|
|
||||||
import '@/assets/styles/index.scss' // global css
|
import '@/assets/styles/index.scss' // global css
|
||||||
import '@/assets/styles/ruoyi.scss' // ruoyi css
|
import '@/assets/styles/ruoyi.scss' // ruoyi css
|
||||||
import App from './App'
|
import App from './App'
|
||||||
@@ -14,6 +14,8 @@ import directive from './directive' // directive
|
|||||||
import plugins from './plugins' // plugins
|
import plugins from './plugins' // plugins
|
||||||
import { download } from '@/utils/request'
|
import { download } from '@/utils/request'
|
||||||
|
|
||||||
|
import './assets/icons' // icon
|
||||||
|
// 引入Iconfont 矢量图标库
|
||||||
import './assets/icon/iconfont.css'
|
import './assets/icon/iconfont.css'
|
||||||
import './permission' // permission control
|
import './permission' // permission control
|
||||||
import { getDicts } from "@/api/system/dict/data";
|
import { getDicts } from "@/api/system/dict/data";
|
||||||
@@ -37,8 +39,9 @@ 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'
|
||||||
|
//画布组件
|
||||||
|
import vueEsign from 'vue-esign'
|
||||||
import {checkPermi} from '@/utils/permission'
|
import {checkPermi} from '@/utils/permission'
|
||||||
import { statusRole } from '@/utils/permission'
|
|
||||||
|
|
||||||
// 全局方法挂载
|
// 全局方法挂载
|
||||||
Vue.prototype.getDicts = getDicts
|
Vue.prototype.getDicts = getDicts
|
||||||
@@ -51,7 +54,6 @@ Vue.prototype.selectDictLabels = selectDictLabels
|
|||||||
Vue.prototype.download = download
|
Vue.prototype.download = download
|
||||||
Vue.prototype.handleTree = handleTree
|
Vue.prototype.handleTree = handleTree
|
||||||
Vue.prototype.checkPermi = checkPermi
|
Vue.prototype.checkPermi = checkPermi
|
||||||
Vue.prototype.statusRole = statusRole
|
|
||||||
|
|
||||||
// 全局组件挂载
|
// 全局组件挂载
|
||||||
Vue.component('DictTag', DictTag)
|
Vue.component('DictTag', DictTag)
|
||||||
@@ -65,6 +67,7 @@ Vue.component('ImagePreview', ImagePreview)
|
|||||||
Vue.use(directive)
|
Vue.use(directive)
|
||||||
Vue.use(plugins)
|
Vue.use(plugins)
|
||||||
Vue.use(VueMeta)
|
Vue.use(VueMeta)
|
||||||
|
Vue.use(vueEsign)
|
||||||
DictData.install()
|
DictData.install()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+4
-2
@@ -100,7 +100,8 @@ export const dynamicRoutes = [
|
|||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: 'role/:userId(\\d+)',
|
path: 'role/:userId(\\d+)',
|
||||||
component: () => import('@/views/system/user/authRole'),
|
// component: () => import('@/views/system/user/authRole'),
|
||||||
|
component: (resolve) => require(['@/views/system/user/authRole'],resolve),
|
||||||
name: 'AuthRole',
|
name: 'AuthRole',
|
||||||
meta: { title: '分配角色', activeMenu: '/system/user' }
|
meta: { title: '分配角色', activeMenu: '/system/user' }
|
||||||
}
|
}
|
||||||
@@ -114,7 +115,8 @@ export const dynamicRoutes = [
|
|||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: 'user/:roleId(\\d+)',
|
path: 'user/:roleId(\\d+)',
|
||||||
component: () => import('@/views/system/role/authUser'),
|
// component: () => import('@/views/system/role/authUser'),
|
||||||
|
component: (resolve) => require(['@/views/system/role/authUser'],resolve),
|
||||||
name: 'AuthUser',
|
name: 'AuthUser',
|
||||||
meta: { title: '分配用户', activeMenu: '/system/role' }
|
meta: { title: '分配用户', activeMenu: '/system/role' }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -126,6 +126,7 @@ export const loadView = (view) => {
|
|||||||
return (resolve) => require([`@/views/${view}`], resolve)
|
return (resolve) => require([`@/views/${view}`], resolve)
|
||||||
} else {
|
} else {
|
||||||
// 使用 import 实现生产环境的路由懒加载
|
// 使用 import 实现生产环境的路由懒加载
|
||||||
|
// return () => import(`@/views/${view}`)
|
||||||
return (resolve) => require([`@/views/${view}`], resolve)
|
return (resolve) => require([`@/views/${view}`], resolve)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,7 +50,6 @@ const user = {
|
|||||||
GetInfo({ commit, state }) {
|
GetInfo({ commit, state }) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
getInfo().then(res => {
|
getInfo().then(res => {
|
||||||
sessionStorage.setItem('caseStatus', JSON.stringify(res.caseStatus))
|
|
||||||
const user = res.user
|
const user = res.user
|
||||||
const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
|
const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
|
||||||
if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
|
if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ export function checkPermi(value) {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 角色权限校验
|
* 角色权限校验
|
||||||
* @param {Array} value 校验值
|
* @param {Array} value 校验值
|
||||||
@@ -49,42 +48,3 @@ export function checkRole(value) {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 状态权限校验
|
|
||||||
* @param {Number} value 校验值
|
|
||||||
* @returns {Boolean}
|
|
||||||
*/
|
|
||||||
export function statusRole(value) {
|
|
||||||
let caseStatusStr = sessionStorage.getItem('caseStatus');
|
|
||||||
let caseStatus = [];
|
|
||||||
caseStatus = JSON.parse(caseStatusStr);
|
|
||||||
if (caseStatus.length == 0) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
// if (caseStatus.includes(value)) {
|
|
||||||
// // caseStatus.forEach(item => {
|
|
||||||
// // if (item == value) {
|
|
||||||
// // return true
|
|
||||||
// // }
|
|
||||||
// // });
|
|
||||||
// for(let i = 0;i < caseStatus.length;i++){
|
|
||||||
// if(caseStatus[i] == value){
|
|
||||||
// return true
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// return false
|
|
||||||
// }
|
|
||||||
let flag = null;
|
|
||||||
for (let i = 0; i < caseStatus.length; i++) {
|
|
||||||
if (caseStatus[i] == value) {
|
|
||||||
flag = caseStatus[i]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (flag == value) {
|
|
||||||
return true
|
|
||||||
} else {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -17,7 +17,8 @@ const service = axios.create({
|
|||||||
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
||||||
baseURL: process.env.VUE_APP_BASE_API,
|
baseURL: process.env.VUE_APP_BASE_API,
|
||||||
// 超时
|
// 超时
|
||||||
timeout: 10000
|
// timeout: 10000
|
||||||
|
timeout: 15000
|
||||||
})
|
})
|
||||||
|
|
||||||
// request拦截器
|
// request拦截器
|
||||||
@@ -36,10 +37,6 @@ service.interceptors.request.use(config => {
|
|||||||
config.params = {};
|
config.params = {};
|
||||||
config.url = url;
|
config.url = url;
|
||||||
}
|
}
|
||||||
if (config.url === '/caseApplication/mediation') {
|
|
||||||
// 调解时对于特定的请求设置超时时间为20秒
|
|
||||||
config.timeout = 20000; // 20秒
|
|
||||||
}
|
|
||||||
if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) {
|
if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) {
|
||||||
const requestObj = {
|
const requestObj = {
|
||||||
url: config.url,
|
url: config.url,
|
||||||
|
|||||||
@@ -200,9 +200,9 @@ export default {
|
|||||||
userId: this.userId
|
userId: this.userId
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
this.isSecretaryRole = res.data.isSecretaryRole;
|
this.isSecretaryRole = res.data.isSecretaryRole;
|
||||||
if(this.recordArrMediate){
|
// if(this.recordArrMediate){
|
||||||
this.isSecretaryRole = false
|
// this.isSecretaryRole = false
|
||||||
}
|
// }
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
/**上传地址*/
|
/**上传地址*/
|
||||||
|
|||||||
@@ -14,13 +14,13 @@
|
|||||||
<el-form-item label="缴费金额:" prop="feePayable">
|
<el-form-item label="缴费金额:" prop="feePayable">
|
||||||
<el-input v-model="form.feePayable" :disabled="true"/>
|
<el-input v-model="form.feePayable" :disabled="true"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="申请人缴费凭证:" v-if="form.caseAttachList && form.caseAttachList.length > 0">
|
<el-form-item label="申请人缴费凭证:" v-if="form.caseAttachList">
|
||||||
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.caseAttachList" :key="index"
|
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.caseAttachList" :key="index"
|
||||||
@click="preview(item.annexPath)">
|
@click="preview(item.annexPath)">
|
||||||
{{ item.annexName }}
|
{{ item.annexName }}
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="被申请人缴费凭证:" v-if="form.resCaseAttachList && form.resCaseAttachList.length > 0">
|
<el-form-item label="被申请人缴费凭证:" v-if="form.resCaseAttachList">
|
||||||
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.resCaseAttachList" :key="index"
|
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.resCaseAttachList" :key="index"
|
||||||
@click="preview(item.annexPath)">
|
@click="preview(item.annexPath)">
|
||||||
{{ item.annexName }}
|
{{ item.annexName }}
|
||||||
|
|||||||
+2
-1
@@ -41,6 +41,8 @@ module.exports = {
|
|||||||
proxy: {
|
proxy: {
|
||||||
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
||||||
[process.env.VUE_APP_BASE_API]: {
|
[process.env.VUE_APP_BASE_API]: {
|
||||||
|
// target: `http://192.168.3.77:8080`,
|
||||||
|
// target: `http://121.40.189.20:9001`,
|
||||||
target: API,
|
target: API,
|
||||||
changeOrigin: true,
|
changeOrigin: true,
|
||||||
pathRewrite: {
|
pathRewrite: {
|
||||||
@@ -59,7 +61,6 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
configureWebpack: {
|
configureWebpack: {
|
||||||
name: name,
|
name: name,
|
||||||
devtool: '#eval-source-map',
|
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
'@': resolve('src')
|
'@': resolve('src')
|
||||||
|
|||||||
Reference in New Issue
Block a user