Commit 2e27ff21 authored by 裴文涛's avatar 裴文涛

解决WebStorm控制台报错问题

parent fc547f83
......@@ -43,7 +43,7 @@ export function updateBusStudentInfo(data) {
const businessId = data.businessId
data = Qs.stringify(data)
return request({
url: '/busstudentinfo/update/' + businessId ,
url: '/busstudentinfo/update/' + businessId,
method: 'put',
data
})
......
......@@ -155,4 +155,3 @@ export function transformDept(data) {
})
}
......@@ -5,9 +5,9 @@
<i slot="suffix" class="el-icon-search el-input__icon" />
</el-input>
<div class="icon-list">
<div class="icon__single" v-for="(item, index) in iconList" :key="index" @click="selectedIcon(item)">
<div v-for="(item, index) in iconList" :key="index" class="icon__single" @click="selectedIcon(item)">
<svg-icon :icon-class="item" style="height: 30px;width: 16px;display: block;margin-right: 5px" />
<div :title="item" class="icon__single__text" style="width: calc(100% - 30px)">{{item}}</div>
<div :title="item" class="icon__single__text" style="width: calc(100% - 30px)">{{ item }}</div>
</div>
</div>
</div>
......@@ -23,6 +23,8 @@ export default {
iconList: icons
}
},
mounted() {
},
methods: {
filterIcons() {
this.iconList = icons
......@@ -38,8 +40,6 @@ export default {
this.name = ''
this.iconList = icons
}
},
mounted() {
}
}
</script>
......
......@@ -43,6 +43,7 @@
* */
import VerifySlide from './Verify/VerifySlide'
import VerifyPoints from './Verify/VerifyPoints'
import { NULL } from 'node-sass'
export default {
name: 'Vue2Verify',
......@@ -68,23 +69,28 @@ export default {
},
captchaType: {
type: String,
required: true
required: true,
default: NULL
},
figure: {
type: Number
type: Number,
default: NULL
},
arith: {
type: Number
type: Number,
default: NULL
},
mode: {
type: String,
default: 'pop'
},
vSpace: {
type: Number
type: Number,
default: NULL
},
explain: {
type: String
type: String,
default: NULL
},
imgSize: {
type: Object,
......@@ -96,10 +102,12 @@ export default {
}
},
blockSize: {
type: Object
type: Object,
default: NULL
},
barSize: {
type: Object
type: Object,
default: NULL
}
},
data() {
......
......@@ -187,7 +187,7 @@ export default {
showRefresh: true,
transitionLeft: '',
transitionWidth: '',
isFlag: false,
isFlag: false
}
},
computed: {
......
......@@ -3,9 +3,9 @@ import CryptoJS from 'crypto-js'
* @word 要加密的内容
* @keyWord String 服务器随机返回的关键字
* */
export function aesEncrypt(word, keyWord = "XwKsGlMcdPMEhR1B") {
var key = CryptoJS.enc.Utf8.parse(keyWord);
var srcs = CryptoJS.enc.Utf8.parse(word);
var encrypted = CryptoJS.AES.encrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 });
return encrypted.toString();
export function aesEncrypt(word, keyWord = 'XwKsGlMcdPMEhR1B') {
var key = CryptoJS.enc.Utf8.parse(keyWord)
var srcs = CryptoJS.enc.Utf8.parse(word)
var encrypted = CryptoJS.AES.encrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })
return encrypted.toString()
}
export function resetSize(vm) {
var img_width, img_height, bar_width, bar_height; //图片的宽度、高度,移动条的宽度、高度
var img_width, img_height, bar_width, bar_height // 图片的宽度、高度,移动条的宽度、高度
var parentWidth = vm.$el.parentNode.offsetWidth || window.offsetWidth
var parentHeight = vm.$el.parentNode.offsetHeight || window.offsetHeight
var parentWidth = vm.$el.parentNode.offsetWidth || window.offsetWidth
var parentHeight = vm.$el.parentNode.offsetHeight || window.offsetHeight
if (vm.imgSize.width.indexOf('%') != -1) {
img_width = parseInt(this.imgSize.width) / 100 * parentWidth + 'px'
} else {
img_width = this.imgSize.width;
}
if (vm.imgSize.width.indexOf('%') !== -1) {
img_width = parseInt(this.imgSize.width) / 100 * parentWidth + 'px'
} else {
img_width = this.imgSize.width
}
if (vm.imgSize.height.indexOf('%') != -1) {
img_height = parseInt(this.imgSize.height) / 100 * parentHeight + 'px'
} else {
img_height = this.imgSize.height
}
if (vm.imgSize.height.indexOf('%') !== -1) {
img_height = parseInt(this.imgSize.height) / 100 * parentHeight + 'px'
} else {
img_height = this.imgSize.height
}
if (vm.barSize.width.indexOf('%') != -1) {
bar_width = parseInt(this.barSize.width) / 100 * parentWidth + 'px'
} else {
bar_width = this.barSize.width
}
if (vm.barSize.width.indexOf('%') !== -1) {
bar_width = parseInt(this.barSize.width) / 100 * parentWidth + 'px'
} else {
bar_width = this.barSize.width
}
if (vm.barSize.height.indexOf('%') != -1) {
bar_height = parseInt(this.barSize.height) / 100 * parentHeight + 'px'
} else {
bar_height = this.barSize.height
}
if (vm.barSize.height.indexOf('%') !== -1) {
bar_height = parseInt(this.barSize.height) / 100 * parentHeight + 'px'
} else {
bar_height = this.barSize.height
}
return { imgWidth: img_width, imgHeight: img_height, barWidth: bar_width, barHeight: bar_height }
return { imgWidth: img_width, imgHeight: img_height, barWidth: bar_width, barHeight: bar_height }
}
export const _code_chars = [1, 2, 3, 4, 5, 6, 7, 8, 9, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
export const _code_color1 = ['#fffff0', '#f0ffff', '#f0fff0', '#fff0f0']
export const _code_color2 = ['#FF0033', '#006699', '#993366', '#FF9900', '#66CC66', '#FF33CC']
\ No newline at end of file
export const _code_color2 = ['#FF0033', '#006699', '#993366', '#FF9900', '#66CC66', '#FF33CC']
......@@ -63,7 +63,7 @@ export default {
deleteCommentAuthorOnly: true,
editCommentAuthorOnly: true,
protect: true,
review: option.isEdit,
review: option.isEdit
}
},
......
......@@ -7,13 +7,13 @@
class="sidebar-logo-link"
to="/"
>
<img :src="logo" class="sidebar-logo" />
<img :src="logo" class="sidebar-logo">
<!-- <div class="sidebar-title">{{ title }} </div>-->
</router-link>
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
<div class="sidebar-logoTitle">
<div class="sidebar-logoRow">
<img :src="logo" class="sidebar-logo" />
<img :src="logo" class="sidebar-logo">
</div>
<div class="sidebar-title">{{ title }}</div>
</div>
......@@ -23,7 +23,6 @@
</template>
<script>
import { isExternal } from '@/utils/validate'
export default {
name: 'SidebarLogo',
......
......@@ -151,7 +151,7 @@ export default {
},
closeSelectedTag(view) {
// 关闭标签页清除存储的筛选条件数据
this.$store.dispatch('searchSave/clearOneParams',this.$route.path)
this.$store.dispatch('searchSave/clearOneParams', this.$route.path)
this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {
if (this.isActive(view)) {
this.toLastView(visitedViews, view)
......
......@@ -2,9 +2,9 @@
<div
v-if="
currentPath === '' ||
currentPath === null ||
currentPath === 'R' ||
currentPath === 'G'
currentPath === null ||
currentPath === 'R' ||
currentPath === 'G'
"
:class="classObj"
class="app-wrapper"
......@@ -21,7 +21,7 @@
</div>
<div class="nav-container-two">
<div class="placeholder" />
<tags-view v-if="themeType && themeType !== '8'" />
<tags-view v-if="themeType && themeType !== '8'" />
<navbar v-if="themeType && themeType !== '8'" />
</div>
<el-card v-if="themeType && themeType === '8'" style="margin:.75rem">
......@@ -44,7 +44,6 @@ import RightPanel from '@/components/RightPanel'
import settings from '@/layout/components/Settings/index.vue'
import { Navbar, Sidebar, AppMain, TagsView, Header } from './components'
import ResizeMixin from './mixin/ResizeHandler'
import { Card } from 'element-ui'
export default {
name: 'Layout',
......
......@@ -59,11 +59,21 @@ import '@/permission' // permission control
import { includePermission } from '@/utils/common'
import { getDict } from '@/api/system/dict/data'
import { getConfigKey } from '@/api/system/config'
import { parseTime, resetForm, addDateRange, selectDictLabel, download, handleTree, addDateRangeMothon, addDateLoginMothon } from '@/utils/common'
import {
parseTime,
resetForm,
addDateRange,
selectDictLabel,
download,
handleTree,
addDateRangeMothon,
addDateLoginMothon
} from '@/utils/common'
import Pagination from '@/components/Pagination'
import { uploadPublic } from '@/api/fileUploadPublic'
import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css'
Vue.use(Viewer)
Viewer.setDefaults({
Options: {
......
This diff is collapsed.
export function getFileType(fileType) {
let docType = ''
let fileTypesDoc = [
'doc', 'docm', 'docx', 'dot', 'dotm', 'dotx', 'epub', 'fodt', 'htm', 'html', 'mht', 'odt', 'ott', 'pdf', 'rtf', 'txt', 'djvu', 'xps',
const fileTypesDoc = [
'doc', 'docm', 'docx', 'dot', 'dotm', 'dotx', 'epub', 'fodt', 'htm', 'html', 'mht', 'odt', 'ott', 'pdf', 'rtf', 'txt', 'djvu', 'xps'
]
let fileTypesCsv = [
'csv', 'fods', 'ods', 'ots', 'xls', 'xlsm', 'xlsx', 'xlt', 'xltm', 'xltx',
const fileTypesCsv = [
'csv', 'fods', 'ods', 'ots', 'xls', 'xlsm', 'xlsx', 'xlt', 'xltm', 'xltx'
]
let fileTypesPPt = [
'fodp', 'odp', 'otp', 'pot', 'potm', 'potx', 'pps', 'ppsm', 'ppsx', 'ppt', 'pptm', 'pptx',
const fileTypesPPt = [
'fodp', 'odp', 'otp', 'pot', 'potm', 'potx', 'pps', 'ppsm', 'ppsx', 'ppt', 'pptm', 'pptx'
]
if (fileTypesDoc.includes(fileType)) {
docType = 'text'
......
......@@ -2,91 +2,95 @@
<div class="app-container">
<div v-if="themeType == '8'" class="tableTitle">班级管理列表</div>
<div class="search">
<el-form ref="queryForm" style="padding: 0 0 0 10px" :model="queryParams" :inline="true">
<el-form-item label="编号" prop="classesCode">
<el-input
v-model="queryParams.classesCode"
placeholder="请输入编号"
clearable
:maxlength="32"
size="small"
style="width: 150px"
/>
</el-form-item>
<el-form-item label="班级名称" prop="classesName">
<el-input
v-model="queryParams.classesName"
placeholder="请输入班级名称"
clearable
:maxlength="32"
size="small"
style="width: 150px"
/>
</el-form-item>
<el-form-item label="班级负责人" prop="classesTeaUser">
<el-input
v-model="queryParams.classesTeaUser"
placeholder="请输入班级负责人"
clearable
:maxlength="32"
size="small"
style="width: 150px"
/>
</el-form-item>
<el-form-item label="负责人联系方式" prop="classesTeaPhone">
<el-input
v-model="queryParams.classesTeaPhone"
placeholder="请输入负责人联系方式"
clearable
:maxlength="32"
size="small"
style="width: 150px"
/>
</el-form-item>
<el-form-item label="状态" prop="flag">
<el-select v-model="queryParams.flag" placeholder="请选择状态" clearable size="small">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
<el-form ref="queryForm" style="padding: 0 0 0 10px" :model="queryParams" :inline="true">
<el-form-item label="编号" prop="classesCode">
<el-input
v-model="queryParams.classesCode"
placeholder="请输入编号"
clearable
:maxlength="32"
size="small"
style="width: 150px"
/>
</el-select>
</el-form-item>
<div style="float: right">
<el-form-item>
<el-button
:class="commonField.queryClass"
:type="commonField.typePrimary"
:icon="commonField.queryIcon"
:size="commonField.smallSize"
@click="handleQuery">查询</el-button>
<el-button
:class="commonField.resetClass"
:icon="commonField.resetIcon"
:size="commonField.smallSize"
@click="resetQuery">重置</el-button>
</el-form-item>
<el-form-item>
<el-button
:class="commonField.addClass"
:type="commonField.typePrimary"
:icon="commonField.addIcon"
:size="commonField.smallSize"
@click="handleAdd">新增</el-button>
<el-button
:class="commonField.exportClass"
:type="commonField.typeSuccess"
:icon="commonField.exportIcon"
:size="commonField.smallSize"
@click="handleExport">导出</el-button>
</el-form-item>
</div>
</el-form>
</div>
<el-form-item label="班级名称" prop="classesName">
<el-input
v-model="queryParams.classesName"
placeholder="请输入班级名称"
clearable
:maxlength="32"
size="small"
style="width: 150px"
/>
</el-form-item>
<el-form-item label="班级负责人" prop="classesTeaUser">
<el-input
v-model="queryParams.classesTeaUser"
placeholder="请输入班级负责人"
clearable
:maxlength="32"
size="small"
style="width: 150px"
/>
</el-form-item>
<el-form-item label="负责人联系方式" prop="classesTeaPhone">
<el-input
v-model="queryParams.classesTeaPhone"
placeholder="请输入负责人联系方式"
clearable
:maxlength="32"
size="small"
style="width: 150px"
/>
</el-form-item>
<el-form-item label="状态" prop="flag">
<el-select v-model="queryParams.flag" placeholder="请选择状态" clearable size="small">
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<div style="float: right">
<el-form-item>
<el-button
:class="commonField.queryClass"
:type="commonField.typePrimary"
:icon="commonField.queryIcon"
:size="commonField.smallSize"
@click="handleQuery"
>查询</el-button>
<el-button
:class="commonField.resetClass"
:icon="commonField.resetIcon"
:size="commonField.smallSize"
@click="resetQuery"
>重置</el-button>
</el-form-item>
<el-form-item>
<el-button
:class="commonField.addClass"
:type="commonField.typePrimary"
:icon="commonField.addIcon"
:size="commonField.smallSize"
@click="handleAdd"
>新增</el-button>
<el-button
:class="commonField.exportClass"
:type="commonField.typeSuccess"
:icon="commonField.exportIcon"
:size="commonField.smallSize"
@click="handleExport"
>导出</el-button>
</el-form-item>
</div>
</el-form>
</div>
<div style="padding:5px 10px">
<div v-if="themeType !== '8'" class="tableTitle">班级管理列表</div>
<el-table v-loading="loading" border :data="busClassesInfoList" >
<el-table v-loading="loading" border :data="busClassesInfoList">
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="编号" prop="classesCode" :show-overflow-tooltip="true">
<template slot-scope="scope">
......@@ -148,11 +152,11 @@
</el-table>
</div>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.rows"
@pagination="getList"
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.rows"
@pagination="getList"
/>
<!-- 添加或修改班级信息配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
......@@ -169,12 +173,12 @@
<el-form-item label="负责人联系方式" prop="classesTeaPhone">
<el-input v-model.trim="form.classesTeaPhone" show-word-limit :maxlength="11" placeholder="请输入负责人联系方式" />
</el-form-item>
<el-form-item label="状态">
<el-radio-group v-model="form.flag">
<el-radio label="1">启用</el-radio>
<el-radio label="0">停用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="状态">
<el-radio-group v-model="form.flag">
<el-radio label="1">启用</el-radio>
<el-radio label="0">停用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input v-model.trim="form.remarks" maxlength="250" show-word-limit type="textarea" placeholder="请输入内容" />
</el-form-item>
......@@ -236,11 +240,11 @@ export default {
form: {},
// 表单校验
rules: {
classesCode:[{type: 'string',required: true,message: "班级编号必填", trigger: 'blur'}],
classesName:[{type: 'string',required: true,message: "班级名称必填", trigger: 'blur'}],
classesTeaUser:[{type: 'string',required: true,message: "负责人名称必填", trigger: 'blur'}],
classesTeaPhone:[{type: 'string',required: true,message: "负责人联系方式必填", trigger: 'blur'}]
},
classesCode: [{ type: 'string', required: true, message: '班级编号必填', trigger: 'blur' }],
classesName: [{ type: 'string', required: true, message: '班级名称必填', trigger: 'blur' }],
classesTeaUser: [{ type: 'string', required: true, message: '负责人名称必填', trigger: 'blur' }],
classesTeaPhone: [{ type: 'string', required: true, message: '负责人联系方式必填', trigger: 'blur' }]
}
}
},
computed: {
......@@ -251,8 +255,8 @@ export default {
return commonField
}
},
/** 路由离开前存储筛选条件*/
beforeRouteLeave(to, from, next) {
/** 路由离开前存储筛选条件*/
beforeRouteLeave(to, from, next) {
setDataCache(this.$route.path, this.queryParams)
next()
},
......@@ -265,11 +269,11 @@ export default {
getList() {
this.loading = true
listBusClassesInfo(this.queryParams).then(
response => {
this.busClassesInfoList = response.rows
this.total = response.total
this.loading = false
}
response => {
this.busClassesInfoList = response.rows
this.total = response.total
this.loading = false
}
)
},
// 取消按钮
......
......@@ -2,7 +2,7 @@
<div class="app-container">
<div v-if="themeType !== '8'" class="tableTitle">学生信息列表</div>
<div class="search">
<el-form ref="queryForm" style="padding: 0 0 0 10px" :model="queryParams" :inline="true" >
<el-form ref="queryForm" style="padding: 0 0 0 10px" :model="queryParams" :inline="true">
<el-form-item label="学号" prop="userCode">
<el-input
v-model="queryParams.userCode"
......@@ -53,41 +53,45 @@
/>
</el-select>
</el-form-item>
<div style="float: right">
<el-form-item>
<el-button
:class="commonField.queryClass"
:type="commonField.typePrimary"
:icon="commonField.queryIcon"
:size="commonField.smallSize"
@click="handleQuery">查询</el-button>
<el-button
:class="commonField.resetClass"
:type="commonField.typePrimary"
:icon="commonField.resetIcon"
:size="commonField.smallSize"
@click="resetQuery">重置</el-button>
</el-form-item>
<el-button
:class="commonField.queryClass"
:type="commonField.typePrimary"
:icon="commonField.queryIcon"
:size="commonField.smallSize"
@click="handleQuery"
>查询</el-button>
<el-button
:class="commonField.resetClass"
:type="commonField.typePrimary"
:icon="commonField.resetIcon"
:size="commonField.smallSize"
@click="resetQuery"
>重置</el-button>
</el-form-item>
<el-form-item>
<el-button
:class="commonField.addClass"
:type="commonField.typePrimary"
:icon="commonField.addIcon"
:size="commonField.smallSize"
@click="handleAdd">新增</el-button>
@click="handleAdd"
>新增</el-button>
<el-button
:class="commonField.exportClass"
:type="commonField.typePrimary"
:icon="commonField.exportIcon"
:size="commonField.smallSize"
@click="handleExport">导出</el-button>
@click="handleExport"
>导出</el-button>
</el-form-item>
</div>
</el-form>
</div>
<div style="padding:5px 10px">
<el-table v-loading="loading" border :data="busStudentInfoList" >
<el-table v-loading="loading" border :data="busStudentInfoList">
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="学号" prop="userCode" :show-overflow-tooltip="true">
<template slot-scope="scope">
......@@ -149,11 +153,11 @@
</el-table>
</div>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.rows"
@pagination="getList"
v-show="total>0"
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.rows"
@pagination="getList"
/>
<!-- 添加或修改学生信息配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
......@@ -186,12 +190,12 @@
/>
</el-select>
</el-form-item>
<el-form-item label="状态">
<el-radio-group v-model="form.flag">
<el-radio label="1">启用</el-radio>
<el-radio label="0">停用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="状态">
<el-radio-group v-model="form.flag">
<el-radio label="1">启用</el-radio>
<el-radio label="0">停用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input v-model.trim="form.remarks" maxlength="200" show-word-limit type="textarea" placeholder="请输入内容" />
</el-form-item>
......@@ -212,9 +216,8 @@ import {
addBusStudentInfo,
updateBusStudentInfo,
exportBusStudentInfo } from '@/api/busStudentInfo'
import {listBusClassesInfo} from '@/api/busClassesInfo'
import { listBusClassesInfo } from '@/api/busClassesInfo'
import commonField from '@/utils/commonField'
import { get } from 'js-cookie';
export default {
name: 'BusStudentInfo',
data() {
......@@ -300,7 +303,7 @@ export default {
this.getClassList()// 班级列表
},
methods: {
//查询班级列表
// 查询班级列表
getClassList() {
listBusClassesInfo().then(
response => {
......
......@@ -53,41 +53,45 @@
/>
</el-select>
</el-form-item>
<div style="float: right">
<el-form-item>
<el-button
:class="commonField.queryClass"
:type="commonField.typePrimary"
:icon="commonField.queryIcon"
:size="commonField.smallSize"
@click="handleQuery">查询</el-button>
<el-button
:class="commonField.resetClass"
:type="commonField.typePrimary"
:icon="commonField.resetIcon"
:size="commonField.smallSize"
@click="resetQuery">重置</el-button>
</el-form-item>
<el-button
:class="commonField.queryClass"
:type="commonField.typePrimary"
:icon="commonField.queryIcon"
:size="commonField.smallSize"
@click="handleQuery"
>查询</el-button>
<el-button
:class="commonField.resetClass"
:type="commonField.typePrimary"
:icon="commonField.resetIcon"
:size="commonField.smallSize"
@click="resetQuery"
>重置</el-button>
</el-form-item>
<el-form-item>
<el-button
:class="commonField.addClass"
:type="commonField.typePrimary"
:icon="commonField.addIcon"
:size="commonField.smallSize"
@click="handleAdd">新增</el-button>
@click="handleAdd"
>新增</el-button>
<el-button
:class="commonField.exportClass"
:type="commonField.typeSuccess"
:icon="commonField.exportIcon"
:size="commonField.smallSize"
@click="handleExport">导出</el-button>
@click="handleExport"
>导出</el-button>
</el-form-item>
</div>
</el-form>
</div>
<div style="padding:5px 10px">
<el-table v-loading="loading" border :data="busTeacherInfoList" >
<el-table v-loading="loading" border :data="busTeacherInfoList">
<el-table-column type="index" label="序号" width="55" align="center" />
<el-table-column label="工号" prop="userCode" :show-overflow-tooltip="true">
<template slot-scope="scope">
......
......@@ -2,7 +2,7 @@
<div class="login">
<!-- v-loading="vLoading"-->
<div v-if="themeType && themeType === '7'" class="loginTitle">
<img class="login-logo" src="../../assets/themeGImage/login_logo.png" />
<img class="login-logo" src="../../assets/themeGImage/login_logo.png">
<span class="loginTitle_text">Square</span>
</div>
<el-form
......@@ -22,7 +22,7 @@
<div v-if="themeType && themeType === '8'" class="sub_title">
欢迎登录
</div>
信息化 <br v-if="themeType && themeType === '8'" />
信息化 <br v-if="themeType && themeType === '8'">
管理系统
</div>
</div>
......@@ -75,7 +75,7 @@
</el-input>
</el-form-item>
<div class="login-code">
<img class="login-codeImg" :src="codeUrl" @click="getCode" />
<img class="login-codeImg" :src="codeUrl" @click="getCode">
</div>
</div>
<el-form-item
......@@ -149,11 +149,12 @@
v-if="themeType && themeType === '8'"
v-model="loginForm.rememberMe"
class="rem-code"
>保持登录</el-checkbox
>
<el-checkbox v-else v-model="loginForm.rememberMe" class="rem-code"
>记住密码</el-checkbox
>
>保持登录</el-checkbox>
<el-checkbox
v-else
v-model="loginForm.rememberMe"
class="rem-code"
>记住密码</el-checkbox>
<!-- <el-link-->
<!-- :underline="false"-->
......@@ -170,7 +171,7 @@
</template>
<script>
import { getCodeImg, captchaImage, getBwCaptcha } from '@/api/login'
import { captchaImage} from '@/api/login'
import Cookies from 'js-cookie'
import { passwordEncrypt, passwordDecrypt } from '@/utils/jsencrypt'
import Verify from '@/components/Verifition/Verify'
......
<template>
<router-view></router-view>
<router-view />
</template>
<script>
export default {
......
<template>
<section class="forget-pwd-content">
<!-- <page-divider />-->
<!-- <page-divider />-->
<div class="title">修改密码</div>
<el-form
ref="pwdForm"
......
This diff is collapsed.
......@@ -36,19 +36,19 @@
<div style="float: right">
<el-form-item>
<el-button
:class="commonField.queryClass"
:type="commonField.typePrimary"
:icon="commonField.queryIcon"
:size="commonField.smallSize"
@click="handleQuery"
>查询</el-button>
<el-button
:class="commonField.resetClass"
:type="commonField.typePrimary"
:icon="commonField.resetIcon"
:size="commonField.smallSize"
@click="resetQuery"
>重置</el-button>
:class="commonField.queryClass"
:type="commonField.typePrimary"
:icon="commonField.queryIcon"
:size="commonField.smallSize"
@click="handleQuery"
>查询</el-button>
<el-button
:class="commonField.resetClass"
:type="commonField.typePrimary"
:icon="commonField.resetIcon"
:size="commonField.smallSize"
@click="resetQuery"
>重置</el-button>
<el-button
:class="commonField.addClass"
:type="commonField.typePrimary"
......@@ -541,7 +541,7 @@ export default {
this.$message.error(res.message)
this.importLoading = false
}
}).catch(err => {
}).catch(() => {
// this.$message.error(err.message)
that.importLoading = false
})
......
......@@ -4,7 +4,7 @@
<div class="search">
<el-form v-show="showSearch" ref="queryForm" style="padding: 0 0 0 10px" :model="queryParams" :inline="true">
<el-form-item label="字典名称" prop="dictType">
<el-select disabled v-model="queryParams.dictType" placeholder="请选择字典名称" clearable size="small">
<el-select v-model="queryParams.dictType" disabled placeholder="请选择字典名称" clearable size="small">
<el-option
v-for="item in typeOptions"
:key="item.businessId"
......@@ -38,7 +38,7 @@
<el-button class="resetBtn" type="primary" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
</el-form-item>
<div style="padding-bottom: 15px" class="dictBtnRow">
<coolbutton :class-name="commonField.addClass" :type="commonField.typePrimary" :name="commonField.addName" :icon="commonField.addIcon" :size="commonField.size" :haspermi="hasDataAddPerm" @btn-click="handleAdd" />
<coolbutton :class-name="commonField.addClass" :type="commonField.typePrimary" :name="commonField.addName" :icon="commonField.addIcon" :size="commonField.size" :haspermi="hasDataAddPerm" @btn-click="handleAdd" />
<el-button
class="importBtn"
type="warning"
......@@ -175,7 +175,7 @@
</el-upload>
<div slot="footer" class="dialog-footer">
<el-button @click="upload.open = false">取 消</el-button>
<el-button :loading="importLoading" type="primary" @click.one="submitFileForm">确 定</el-button>
<el-button :loading="importLoading" type="primary" @click="submitFileForm">确 定</el-button>
</div>
</el-dialog>
</div>
......@@ -184,7 +184,6 @@
<script>
import { listData, getData, delData, addData, updateData, exportData, importExcel, importTemplate } from '@/api/system/dict/data'
import { listType, getType } from '@/api/system/dict/type'
import dictCons from '@/utils/dictCons'
import Coolbutton from '@/components/coolbutton'
import { getToken } from '@/utils/auth'
import { uploadFalseFile } from '@/api/system/user'
......
......@@ -72,10 +72,11 @@
>{{ commonField.resetName }}</el-button>
</el-form-item>
<div style="padding-bottom: 15px" class="dictBtnRow">
<!-- //新增按钮-->
<!-- //新增按钮-->
<el-button
v-hasPermi="hasDictAddPerm"
:class="commonField.addClass"FR
:class="commonField.addClass"
f-r
:type="commonField.typePrimary"
:icon="commonField.addIcon"
:size="commonField.smallSize"
......@@ -222,12 +223,10 @@ import { listType,
clearCache,
selectDictType
} from '@/api/system/dict/type'
import Coolbutton from '@/components/coolbutton'
import { getDataCache, setDataCache } from '@/assets/js/filterData'
import commonField from '@/utils/commonField'
export default {
name: 'Dict',
components: { Coolbutton },
data() {
return {
options: [],
......
This diff is collapsed.
......@@ -157,7 +157,7 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.menuType === 'C'">
<el-col v-if="form.menuType === 'C'" :span="24">
<el-form-item label="跳转类型" prop="jumpType">
<el-radio-group v-model="form.jumpType">
<el-radio label="R">正常路由跳转</el-radio>
......@@ -252,7 +252,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col style="width: 100%;" v-if="form.menuType === 'C'" :span="12">
<el-col v-if="form.menuType === 'C'" style="width: 100%;" :span="12">
<el-form-item label="组件路径" prop="component">
<el-input v-model.trim="form.component" style="width: 95%" show-word-limit maxlength="100" placeholder="请输入组件路径" />
</el-form-item>
......@@ -272,12 +272,11 @@ import { addMenu, delMenu, getMenu, listMenu, statusChange, updateMenu } from '@
import TreeSelect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import IconSelect from '@/components/IconSelect'
import Coolbutton from '@/components/coolbutton'
import { getDataCache, setDataCache } from '@/assets/js/filterData'
import commonField from '@/utils/commonField'
export default {
name: 'Menu',
components: { TreeSelect, IconSelect, Coolbutton },
components: { TreeSelect, IconSelect },
data() {
const trueGroupName = (rule, value, callback) => {
if (!value.trim()) {
......
......@@ -113,8 +113,7 @@
inactive-value="0"
active-value="1"
@click.native="handleStatusChange(scope.row)"
>
</el-switch>
/>
</template>
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.flag || '-' }}-->
......@@ -227,64 +226,63 @@ import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import dictCons from '@/utils/dictCons'
import { listDept } from '@/api/system/dept'
import { listRole } from '@/api/system/role'
import {updateType} from "@/api/system/dict/type";
import { getDataCache, setDataCache } from '@/assets/js/filterData'
export default {
name: 'Post',
components: { Treeselect },
data() {
const verifyIDProp = (rule, value, callback) => {
if (value === '' || value === undefined || value === null) {
callback()
} else if (!this.form.postCodeOne || this.form.postCodeOne !== this.form.postCode) {
// 验证编码是否重复
checkpostIdUnique(this.form.postCode).then(
(res) => {
if (res.code === 200) {
if (res.msg === '0') {
callback()
} else if (res.msg === '1') {
callback(new Error('职务编码已存在'))
} else {
callback()
}
} else {
callback()
}
}
).catch(err => {
callback()
})
} else {
callback()
}
}
const verifyNameProp = (rule, value, callback) => {
if (value === '' || value === undefined || value === null) {
callback()
} else if (!this.form.postNameOne || this.form.postNameOne !== this.form.postName) {
// 验证编码是否重复
checkpostNameUnique(this.form.postName).then(
(res) => {
if (res.code === 200) {
if (res.msg === '0') {
callback()
} else if (res.msg === '1') {
callback(new Error('职务名称已存在'))
} else {
callback()
}
} else {
callback()
}
}
).catch(err => {
callback()
})
} else {
callback()
}
}
// const verifyIDProp = (rule, value, callback) => {
// if (value === '' || value === undefined || value === null) {
// callback()
// } else if (!this.form.postCodeOne || this.form.postCodeOne !== this.form.postCode) {
// // 验证编码是否重复
// checkpostIdUnique(this.form.postCode).then(
// (res) => {
// if (res.code === 200) {
// if (res.msg === '0') {
// callback()
// } else if (res.msg === '1') {
// callback(new Error('职务编码已存在'))
// } else {
// callback()
// }
// } else {
// callback()
// }
// }
// ).catch(err => {
// callback()
// })
// } else {
// callback()
// }
// }
// const verifyNameProp = (rule, value, callback) => {
// if (value === '' || value === undefined || value === null) {
// callback()
// } else if (!this.form.postNameOne || this.form.postNameOne !== this.form.postName) {
// // 验证编码是否重复
// checkpostNameUnique(this.form.postName).then(
// (res) => {
// if (res.code === 200) {
// if (res.msg === '0') {
// callback()
// } else if (res.msg === '1') {
// callback(new Error('职务名称已存在'))
// } else {
// callback()
// }
// } else {
// callback()
// }
// }
// ).catch(err => {
// callback()
// })
// } else {
// callback()
// }
// }
return {
// 选中数组
ids: [],
......
<template>
<div class="container">
<div class="header">
<div v-if="themeType == '8'" class="tableTitle">系统设置信息</div>
</div>
<div class="header">
<div v-if="themeType == '8'" class="tableTitle">系统设置信息</div>
</div>
<el-main class="main-content">
<div class="input-field">
<div class="system-name">
......@@ -15,11 +15,12 @@
clearable
:maxlength="32"
size="middle"
@blur="validateSystemName"/>
@blur="validateSystemName"
/>
</div>
</div>
<div class="input-field" >
<div class="system-background-image" >
<div class="input-field">
<div class="system-background-image">
<label for="systemBg" class="input-label">系统背景图:</label>
<el-upload
ref="upload"
......@@ -33,9 +34,10 @@
:file-list="fileList"
:before-upload="handleBefore"
accept="image/png"
:on-remove="handleFileRemove">
:on-remove="handleFileRemove"
>
<i v-if="!sysSettingsList.systemBg" class="el-icon-plus" />
</el-upload>
</el-upload>
</div>
</div>
<hr style="border: #889ba9 solid 5px">
......@@ -48,7 +50,8 @@
clearable
:maxlength="50"
size="middle"
readonly/>
readonly
/>
</div>
</div>
<div class="input-field">
......@@ -60,12 +63,13 @@
clearable
:maxlength="32"
size="middle"
readonly/>
readonly
/>
</div>
</div>
<div class="input-field">
<div class="expiration-date">
<label for="systemExpire"class="input-label">过期时间:</label>
<label for="systemExpire" class="input-label">过期时间:</label>
<el-date-picker
v-model="dateRange"
size="middle"
......@@ -73,7 +77,8 @@
value-format="yyyy-MM-dd"
type="dateRange"
placeholder="2025-08-01"
readonly/>
readonly
/>
</div>
</div>
<div class="input-field">
......@@ -85,7 +90,8 @@
clearable
:maxlength="50"
size="middle"
readonly/>
readonly
/>
</div>
</div>
<div class="input-field">
......@@ -97,7 +103,8 @@
clearable
:maxlength="50"
size="middle"
readonly/>
readonly
/>
</div>
</div>
<div class="input-field">
......@@ -113,7 +120,7 @@
</div>
</div>
<div class="input-field">
<div style="width: 500px">
<div style="width: 500px">
<label for="systemLicense" class="input-label">系统license:</label>
<el-input
v-model="sysSettingsList.systemLicense"
......@@ -121,7 +128,7 @@
clearable
:maxlength="50"
:rows="5"
/>
/>
</div>
</div>
</el-main>
......@@ -130,17 +137,18 @@
<script lang="ts">
import {
getSysSettings,
updateSysSettings,
updateSysSettings
} from '@/api/sysSettings'
import commonField from '@/utils/commonField'
import {getDataCache, setDataCache} from "@/assets/js/filterData";
import { getDataCache, setDataCache } from '@/assets/js/filterData'
import { uploadPublic } from '@/api/system/ossInfo'
export default {
name: 'SysSettings',
data() {
return {
sysSettingsList: {
systemBg: '', // 存储系统背景图的 URL
systemBg: '' // 存储系统背景图的 URL
},
fileList: [], // 文件列表
oss: true, // 控制图标显示
......@@ -150,7 +158,6 @@ export default {
// 总条数
total: 0,
// 系统设置表格数据
sysSettingsList: [],
// 弹出层标题
title: '',
// 是否显示弹出层
......@@ -187,7 +194,7 @@ export default {
form: {},
// 表单校验
rules: {
systemName: [{type: 'string', required: true, message: "系统名称必填", trigger: 'blur'}],
systemName: [{ type: 'string', required: true, message: '系统名称必填', trigger: 'blur' }]
}
}
},
......@@ -207,7 +214,7 @@ export default {
created() {
this.sysSettingsList = JSON.parse(getDataCache(this.$route.path)) // 获取存储的筛选项
this.getList() // 列表查询
this.loadCachedImage();
this.loadCachedImage()
},
methods: {
/**
......@@ -226,13 +233,13 @@ export default {
})
},
loadCachedImage() {
const cachedUrl = localStorage.getItem('systemBg');
const cachedUrl = localStorage.getItem('systemBg')
if (cachedUrl) {
this.sysSettingsList.systemBg = cachedUrl;
this.sysSettingsList.systemBg = cachedUrl
}
},
saveImageToCache(url) {
localStorage.setItem('systemBg', url);
localStorage.setItem('systemBg', url)
},
handleFileRemove(file, fileList) {
// 从 fileList 中移除已删除的文件
......@@ -251,8 +258,10 @@ export default {
}
},
/** 查询系统设置列表 */
// 无listSysSettings接口,尚不清楚其逻辑,暂置
getList() {
this.loading = true
// eslint-disable-next-line no-undef
listSysSettings(this.addDateRange(this.queryParams, this.dateRange)).then(
response => {
this.sysSettingsList = response.rows[3]
......@@ -321,19 +330,19 @@ export default {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(function () {
}).then(function() {
return updateSysSettings(row)
}).then(() => {
this.$message({
message: text + '成功',
type: 'success'
})
}).catch(function () {
}).catch(function() {
row.flag = row.flag === '0' ? '1' : '0'
})
},
/** 提交按钮 */
submitForm: function () {
submitForm: function() {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.businessId !== undefined) {
......@@ -343,6 +352,8 @@ export default {
this.getList()
})
} else {
// 无addSysSettings接口,尚不清楚其逻辑,暂置
// eslint-disable-next-line no-undef
addSysSettings(this.form).then(response => {
this.msgSuccess('新增成功')
this.open = false
......@@ -359,7 +370,8 @@ export default {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(function () {
}).then(function() {
// eslint-disable-next-line no-undef
return delSysSettings(id)
}).then(() => {
this.getList()
......@@ -367,7 +379,7 @@ export default {
message: '删除成功',
type: 'success'
})
}).catch(function () {
}).catch(function() {
})
},
/** 导出按钮操作 */
......@@ -377,7 +389,8 @@ export default {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(function () {
}).then(function() {
// eslint-disable-next-line no-undef
return exportSysSettings(queryParams).then(response => {
const blob = new Blob([response])
const downloadElement = document.createElement('a')
......@@ -427,8 +440,6 @@ export default {
flex-shrink: 0;
}
.container{
flex-direction: column;
height: 100%;
......@@ -442,7 +453,6 @@ export default {
justify-content: center;
}
.system-name {
display: flex;
align-items: center;
......@@ -464,7 +474,6 @@ export default {
align-items: center;
}
.expiration-date {
display: flex;
align-items: center;
......@@ -480,7 +489,6 @@ export default {
align-items: center;
}
.system-auth-host {
display: flex;
align-items: center;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment