Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
school-paper-admin-front
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
school-paper
school-paper-admin-front
Commits
7c5063c1
Commit
7c5063c1
authored
Jul 26, 2023
by
H.wb.wang.peixun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
接口对接
parent
fbd877c9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
401 additions
and
180 deletions
+401
-180
src/api/school-paper/dict.js
+5
-5
src/api/school-paper/questionBank.js
+4
-3
src/api/school-paper/testPaper.js
+10
-2
src/components/ImageUpload/index.vue
+84
-35
src/config/index.js
+12
-0
src/views/school-paper/banner/index.vue
+1
-1
src/views/school-paper/dict/index.vue
+14
-40
src/views/school-paper/questionBank/index.vue
+9
-16
src/views/school-paper/testPaper/components/treeselect.vue
+111
-0
src/views/school-paper/testPaper/index.vue
+56
-42
src/views/system/role/index.vue
+2
-2
src/views/system/user/index.vue
+90
-32
vue.config.js
+3
-2
No files found.
src/api/school-paper/dict.js
View file @
7c5063c1
...
@@ -3,7 +3,7 @@ import request from '@/utils/request'
...
@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询字典列表
// 查询字典列表
export
function
listDict
(
query
)
{
export
function
listDict
(
query
)
{
return
request
({
return
request
({
url
:
'/school-paper/
dict
/list'
,
url
:
'/school-paper/
question-type
/list'
,
method
:
'get'
,
method
:
'get'
,
params
:
query
params
:
query
})
})
...
@@ -12,7 +12,7 @@ export function listDict(query) {
...
@@ -12,7 +12,7 @@ export function listDict(query) {
// 查询字典详细
// 查询字典详细
export
function
getDict
(
id
)
{
export
function
getDict
(
id
)
{
return
request
({
return
request
({
url
:
'/school-paper/
dict
/'
+
id
,
url
:
'/school-paper/
question-type
/'
+
id
,
method
:
'get'
method
:
'get'
})
})
}
}
...
@@ -20,7 +20,7 @@ export function getDict(id) {
...
@@ -20,7 +20,7 @@ export function getDict(id) {
// 新增字典
// 新增字典
export
function
addDict
(
data
)
{
export
function
addDict
(
data
)
{
return
request
({
return
request
({
url
:
'/school-paper/
dict
'
,
url
:
'/school-paper/
question-type
'
,
method
:
'post'
,
method
:
'post'
,
data
:
data
data
:
data
})
})
...
@@ -29,7 +29,7 @@ export function addDict(data) {
...
@@ -29,7 +29,7 @@ export function addDict(data) {
// 修改字典
// 修改字典
export
function
updateDict
(
data
)
{
export
function
updateDict
(
data
)
{
return
request
({
return
request
({
url
:
'/school-paper/
dict
'
,
url
:
'/school-paper/
question-type
'
,
method
:
'put'
,
method
:
'put'
,
data
:
data
data
:
data
})
})
...
@@ -38,7 +38,7 @@ export function updateDict(data) {
...
@@ -38,7 +38,7 @@ export function updateDict(data) {
// 删除字典
// 删除字典
export
function
delDict
(
id
)
{
export
function
delDict
(
id
)
{
return
request
({
return
request
({
url
:
'/school-paper/
dict
/'
+
id
,
url
:
'/school-paper/
question-type
/'
+
id
,
method
:
'delete'
method
:
'delete'
})
})
}
}
src/api/school-paper/questionBank.js
View file @
7c5063c1
...
@@ -43,9 +43,9 @@ export function updateQuestionBank(data) {
...
@@ -43,9 +43,9 @@ export function updateQuestionBank(data) {
}
}
// 删除题库主
// 删除题库主
export
function
delQuestionBank
(
id
)
{
export
function
delQuestionBank
(
id
s
)
{
return
request
({
return
request
({
url
:
'/school-paper/questionBank/'
+
id
,
url
:
'/school-paper/questionBank/'
+
id
s
,
method
:
'delete'
method
:
'delete'
})
})
}
}
\ No newline at end of file
src/api/school-paper/testPaper.js
View file @
7c5063c1
...
@@ -16,11 +16,10 @@ export function getTestPaper(id) {
...
@@ -16,11 +16,10 @@ export function getTestPaper(id) {
method
:
'get'
method
:
'get'
})
})
}
}
// 新增试卷
// 新增试卷
export
function
addTestPaper
(
data
)
{
export
function
addTestPaper
(
data
)
{
return
request
({
return
request
({
url
:
'/school-paper/testPaper'
,
url
:
'/school-paper/testPaper
/randomGeneration
'
,
method
:
'post'
,
method
:
'post'
,
data
:
data
data
:
data
})
})
...
@@ -42,3 +41,12 @@ export function delTestPaper(id) {
...
@@ -42,3 +41,12 @@ export function delTestPaper(id) {
method
:
'delete'
method
:
'delete'
})
})
}
}
// 查询题库主列表
export
function
questionType
(
query
)
{
return
request
({
url
:
'/school-paper/question-type/list'
,
method
:
'get'
,
params
:
query
})
}
src/components/ImageUpload/index.vue
View file @
7c5063c1
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
:headers=
"headers"
:headers=
"headers"
:file-list=
"fileList"
:file-list=
"fileList"
:on-preview=
"handlePictureCardPreview"
:on-preview=
"handlePictureCardPreview"
:class=
"
{
hide: this.fileList.length >= this.limit
}"
:class=
"
{
hide: this.fileList.length >= this.limit
}"
>
>
<i
class=
"el-icon-plus"
></i>
<i
class=
"el-icon-plus"
></i>
</el-upload>
</el-upload>
...
@@ -23,8 +23,12 @@
...
@@ -23,8 +23,12 @@
<!-- 上传提示 -->
<!-- 上传提示 -->
<div
class=
"el-upload__tip"
slot=
"tip"
v-if=
"showTip"
>
<div
class=
"el-upload__tip"
slot=
"tip"
v-if=
"showTip"
>
请上传
请上传
<template
v-if=
"fileSize"
>
大小不超过
<b
style=
"color: #f56c6c"
>
{{
fileSize
}}
MB
</b>
</
template
>
<template
v-if=
"fileSize"
>
<
template
v-if=
"fileType"
>
格式为
<b
style=
"color: #f56c6c"
>
{{
fileType
.
join
(
"/"
)
}}
</b>
</
template
>
大小不超过
<b
style=
"color: #f56c6c"
>
{{
fileSize
}}
MB
</b>
</
template
>
<
template
v-if=
"fileType"
>
格式为
<b
style=
"color: #f56c6c"
>
{{
fileType
.
join
(
"/"
)
}}
</b>
</
template
>
的文件
的文件
</div>
</div>
...
@@ -56,7 +60,7 @@ export default {
...
@@ -56,7 +60,7 @@ export default {
},
},
// 大小限制(MB)
// 大小限制(MB)
fileSize
:
{
fileSize
:
{
type
:
Number
,
type
:
Number
,
default
:
5
,
default
:
5
,
},
},
// 文件类型, 例如['png', 'jpg', 'jpeg']
// 文件类型, 例如['png', 'jpg', 'jpeg']
...
@@ -67,8 +71,8 @@ export default {
...
@@ -67,8 +71,8 @@ export default {
// 是否显示提示
// 是否显示提示
isShowTip
:
{
isShowTip
:
{
type
:
Boolean
,
type
:
Boolean
,
default
:
true
default
:
true
,
}
}
,
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -78,40 +82,68 @@ export default {
...
@@ -78,40 +82,68 @@ export default {
dialogVisible
:
false
,
dialogVisible
:
false
,
hideUpload
:
false
,
hideUpload
:
false
,
baseUrl
:
process
.
env
.
VUE_APP_BASE_API
,
baseUrl
:
process
.
env
.
VUE_APP_BASE_API
,
uploadImgUrl
:
process
.
env
.
VUE_APP_BASE_API
+
"/school-paper/banner/uploadFile"
,
// 上传的图片服务器地址
// uploadImgUrl: "https://farming.nyinhong.com/api/admin/bicycle/maintenance/upload", // 上传的图片服务器地址
// uploadImgUrl: process.env.VUE_APP_BASE_API + "/admin/bicycle/maintenance/uploadFile", // 上传的图片服务器地址
// headers: {
// Authorization: "Bearer " + getToken(),
// },
uploadImgUrl
:
process
.
env
.
VUE_APP_BASE_API
+
'/admin/bicycle/maintenance/uploadFile'
,
headers
:
{
headers
:
{
Authorization
:
"Bearer "
+
getToken
(),
Authorization
:
"Bearer "
+
getToken
(),
},
},
fileList
:
[]
fileList
:
[]
,
};
};
},
},
watch
:
{
watch
:
{
value
:
{
value
:
{
async
handler
(
val
)
{
async
handler
(
val
)
{
if
(
val
)
{
if
(
val
)
{
// 首先将值转为数组
let
list
=
[];
let
list
;
// 用于确定传递的值是否是一个
if
(
Array
.
isArray
(
val
))
{
if
(
Array
.
isArray
(
val
))
{
list
=
val
;
list
=
val
;
}
else
{
}
else
{
await
listByIds
(
val
).
then
(
res
=>
{
list
.
push
(
val
);
list
=
res
.
data
;
// await listByIds(val).then(res => {
})
// list = res.data;
// })
}
}
// 然后将数组转为对象数组
this
.
fileList
=
list
.
map
((
item
)
=>
{
this
.
fileList
=
list
.
map
(
item
=>
{
// 此处name使用ossId 防止删除出现重名
// 此处name使用ossId 防止删除出现重名
item
=
{
name
:
item
.
ossId
,
url
:
item
.
url
,
ossId
:
item
.
ossId
};
if
(
item
.
hasOwnProperty
(
"url"
))
{
item
=
{
url
:
item
.
url
};
}
else
{
item
=
{
url
:
item
};
}
return
item
;
return
item
;
});
});
console
.
log
(
this
.
fileList
,
"土地你"
);
// this.uploadList = this.fileList
// 然后将数组转为对象数组
// 首先将值转为数组
// let list;
// if (Array.isArray(val)) {
// list = val;
// } else {
// await listByIds(val).then(res => {
// list = res.data;
// })
// }
// // 然后将数组转为对象数组
// this.fileList = list.map(item => {
// // 此处name使用ossId 防止删除出现重名
// item = { name: item.ossId, url: item.url, ossId: item.ossId };
// return item;
// });
}
else
{
}
else
{
this
.
fileList
=
[];
this
.
fileList
=
[];
return
[];
return
[];
}
}
},
},
deep
:
true
,
deep
:
true
,
immediate
:
true
immediate
:
true
,
}
}
,
},
},
computed
:
{
computed
:
{
// 是否显示提示
// 是否显示提示
...
@@ -138,7 +170,9 @@ export default {
...
@@ -138,7 +170,9 @@ export default {
}
}
if
(
!
isImg
)
{
if
(
!
isImg
)
{
this
.
$modal
.
msgError
(
`文件格式不正确, 请上传
${
this
.
fileType
.
join
(
"/"
)}
图片格式文件!`
);
this
.
$modal
.
msgError
(
`文件格式不正确, 请上传
${
this
.
fileType
.
join
(
"/"
)}
图片格式文件!`
);
return
false
;
return
false
;
}
}
if
(
this
.
fileSize
)
{
if
(
this
.
fileSize
)
{
...
@@ -157,8 +191,10 @@ export default {
...
@@ -157,8 +191,10 @@ export default {
},
},
// 上传成功回调
// 上传成功回调
handleUploadSuccess
(
res
,
file
)
{
handleUploadSuccess
(
res
,
file
)
{
console
.
log
(
res
,
"上传成功回调"
);
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
this
.
uploadList
.
push
({
name
:
res
.
data
.
fileName
,
url
:
res
.
data
.
url
,
ossId
:
res
.
data
.
ossId
});
// this.uploadList.push({ name: res.data.fileName, url: res.data.url, ossId: res.data.ossId });
this
.
uploadList
.
push
({
url
:
res
.
data
.
url
});
this
.
uploadedSuccessfully
();
this
.
uploadedSuccessfully
();
}
else
{
}
else
{
this
.
number
--
;
this
.
number
--
;
...
@@ -170,13 +206,19 @@ export default {
...
@@ -170,13 +206,19 @@ export default {
},
},
// 删除图片
// 删除图片
handleDelete
(
file
)
{
handleDelete
(
file
)
{
const
findex
=
this
.
fileList
.
map
(
f
=>
f
.
name
).
indexOf
(
file
.
name
);
console
.
log
(
file
,
'文件'
)
if
(
findex
>
-
1
)
{
const
findex
=
this
.
fileList
.
map
((
f
)
=>
f
.
url
).
indexOf
(
file
.
url
);
let
ossId
=
this
.
fileList
[
findex
].
ossId
;
if
(
findex
>
-
1
)
{
delOss
(
ossId
);
this
.
fileList
.
splice
(
findex
,
1
);
this
.
fileList
.
splice
(
findex
,
1
);
this
.
$emit
(
"input"
,
this
.
listToString
(
this
.
fileList
)
);
this
.
$emit
(
"input"
,
this
.
fileList
);
}
}
// const findex = this.fileList.map((f) => f.name).indexOf(file.name);
// if (findex > -1) {
// let ossId = this.fileList[findex].ossId;
// delOss(ossId);
// this.fileList.splice(findex, 1);
// this.$emit("input", this.listToString(this.fileList));
// }
},
},
// 上传失败
// 上传失败
handleUploadError
(
res
)
{
handleUploadError
(
res
)
{
...
@@ -185,11 +227,13 @@ export default {
...
@@ -185,11 +227,13 @@ export default {
},
},
// 上传结束处理
// 上传结束处理
uploadedSuccessfully
()
{
uploadedSuccessfully
()
{
if
(
this
.
number
>
0
&&
this
.
uploadList
.
length
===
this
.
number
)
{
// && this.uploadList.length === this.number
if
(
this
.
number
>
0
)
{
this
.
fileList
=
this
.
fileList
.
concat
(
this
.
uploadList
);
this
.
fileList
=
this
.
fileList
.
concat
(
this
.
uploadList
);
this
.
uploadList
=
[];
this
.
uploadList
=
[];
this
.
number
=
0
;
this
.
number
=
0
;
this
.
$emit
(
"input"
,
this
.
listToString
(
this
.
fileList
));
this
.
$emit
(
"input"
,
this
.
fileList
);
// this.$emit("input", this.listToString(this.fileList));
this
.
$modal
.
closeLoading
();
this
.
$modal
.
closeLoading
();
}
}
},
},
...
@@ -203,29 +247,34 @@ export default {
...
@@ -203,29 +247,34 @@ export default {
let
strs
=
""
;
let
strs
=
""
;
separator
=
separator
||
","
;
separator
=
separator
||
","
;
for
(
let
i
in
list
)
{
for
(
let
i
in
list
)
{
if
(
list
[
i
].
ossId
)
{
if
(
list
[
i
].
url
)
{
strs
+=
list
[
i
].
ossId
+
separator
;
strs
+=
list
[
i
].
url
+
separator
;
}
}
}
}
// for (let i in list) {
// if (list[i].ossId) {
// strs += list[i].ossId + separator;
// }
// }
return
strs
!=
""
?
strs
.
substr
(
0
,
strs
.
length
-
1
)
:
""
;
return
strs
!=
""
?
strs
.
substr
(
0
,
strs
.
length
-
1
)
:
""
;
}
}
,
}
}
,
};
};
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
//
.el-upload--picture-card
控制加号部分
//
.el-upload--picture-card
控制加号部分
::v-deep
.hide
.el-upload--picture-card
{
::v-deep
.hide
.el-upload--picture-card
{
display
:
none
;
display
:
none
;
}
}
//
去掉动画效果
//
去掉动画效果
::v-deep
.el-list-enter-active
,
::v-deep
.el-list-enter-active
,
::v-deep
.el-list-leave-active
{
::v-deep
.el-list-leave-active
{
transition
:
all
0s
;
transition
:
all
0s
;
}
}
::v-deep
.el-list-enter
,
.el-list-leave-active
{
::v-deep
.el-list-enter
,
.el-list-leave-active
{
opacity
:
0
;
opacity
:
0
;
transform
:
translateY
(
0
);
transform
:
translateY
(
0
);
}
}
</
style
>
</
style
>
src/config/index.js
0 → 100644
View file @
7c5063c1
// 图片上传地址
let
hostUrl
=
'http://farming.nyinhong.com/api'
// 基础配置
const
apiBaseConfig
=
{
// 图片上传地址
domain
:
hostUrl
,
//后端请求路径
}
export
default
apiBaseConfig
\ No newline at end of file
src/views/school-paper/banner/index.vue
View file @
7c5063c1
...
@@ -100,7 +100,7 @@
...
@@ -100,7 +100,7 @@
<el-input
v-model=
"form.bannerTitle"
placeholder=
"请输入标题"
/>
<el-input
v-model=
"form.bannerTitle"
placeholder=
"请输入标题"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"上传"
prop=
"url"
>
<el-form-item
label=
"上传"
prop=
"url"
>
<imageUpload
:limit=
"1"
v-model=
"form.url"
/>
<imageUpload
:limit=
"1"
v-model=
"form.url"
ref=
"refUpload"
placeholder=
"请上传图片"
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
style=
"text-align: center;"
>
<div
slot=
"footer"
class=
"dialog-footer"
style=
"text-align: center;"
>
...
...
src/views/school-paper/dict/index.vue
View file @
7c5063c1
...
@@ -71,7 +71,7 @@
...
@@ -71,7 +71,7 @@
<el-table
v-loading=
"loading"
:data=
"dictList"
@
selection-change=
"handleSelectionChange"
>
<el-table
v-loading=
"loading"
:data=
"dictList"
@
selection-change=
"handleSelectionChange"
>
<!--
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
-->
<!--
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
-->
<el-table-column
label=
"类别名称"
prop=
"
nam
e"
/>
<el-table-column
label=
"类别名称"
prop=
"
typeValu
e"
/>
<!--
<el-table-column
label=
"父级id"
align=
"center"
prop=
"parentId"
/>
<!--
<el-table-column
label=
"父级id"
align=
"center"
prop=
"parentId"
/>
<el-table-column
label=
"类型:1 类别,2 阶段,3 班级"
align=
"center"
prop=
"type"
/>
<el-table-column
label=
"类型:1 类别,2 阶段,3 班级"
align=
"center"
prop=
"type"
/>
<el-table-column
label=
"名称"
align=
"center"
prop=
"typeValue"
/>
<el-table-column
label=
"名称"
align=
"center"
prop=
"typeValue"
/>
...
@@ -107,18 +107,18 @@
...
@@ -107,18 +107,18 @@
<!-- 添加或修改字典对话框 -->
<!-- 添加或修改字典对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"500px"
append-to-body
>
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"500px"
append-to-body
>
<
!-- <
el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item label="父级id" prop="parentId">
<
!-- <
el-form-item label="父级id" prop="parentId">
<el-input v-model="form.parentId" placeholder="请输入父级id" />
<el-input v-model="form.parentId" placeholder="请输入父级id" />
</el-form-item>
</el-form-item>
<el-form-item label="名称" prop="typeValue">
<el-form-item label="名称" prop="typeValue">
<el-input v-model="form.typeValue" placeholder="请输入名称" />
<el-input v-model="form.typeValue" placeholder="请输入名称" />
</el-form-item> -->
<el-form-item
label=
"类别名称"
prop=
"typeValue"
>
<el-input
v-model=
"form.typeValue"
placeholder=
"请输入类别名称"
/>
</el-form-item>
</el-form-item>
<el-form-item label="备注" prop="remark">
</el-form>
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form> -->
<el-input
v-model=
"form.remark"
placeholder=
"请输入类别名称"
/>
<div
slot=
"footer"
class=
"dialog-footer"
style=
"text-align: center;"
>
<div
slot=
"footer"
class=
"dialog-footer"
style=
"text-align: center;"
>
<el-button
:loading=
"buttonLoading"
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
:loading=
"buttonLoading"
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
...
@@ -129,7 +129,7 @@
...
@@ -129,7 +129,7 @@
</template>
</template>
<
script
>
<
script
>
//
import { listDict, getDict, delDict, addDict, updateDict } from "@/api/school-paper/dict";
import
{
listDict
,
getDict
,
delDict
,
addDict
,
updateDict
}
from
"@/api/school-paper/dict"
;
export
default
{
export
default
{
name
:
"Dict"
,
name
:
"Dict"
,
...
@@ -150,9 +150,7 @@ export default {
...
@@ -150,9 +150,7 @@ export default {
// 总条数
// 总条数
total
:
0
,
total
:
0
,
// 字典表格数据
// 字典表格数据
dictList
:
[{
dictList
:
[],
name
:
'1'
}],
// 弹出层标题
// 弹出层标题
title
:
""
,
title
:
""
,
// 是否显示弹出层
// 是否显示弹出层
...
@@ -170,29 +168,14 @@ export default {
...
@@ -170,29 +168,14 @@ export default {
form
:
{},
form
:
{},
// 表单校验
// 表单校验
rules
:
{
rules
:
{
id
:
[
{
required
:
true
,
message
:
"主键id不能为空"
,
trigger
:
"blur"
}
],
parentId
:
[
{
required
:
true
,
message
:
"父级id不能为空"
,
trigger
:
"blur"
}
],
type
:
[
{
required
:
true
,
message
:
"类型:1 类别,2 阶段,3 班级不能为空"
,
trigger
:
"change"
}
],
typeValue
:
[
typeValue
:
[
{
required
:
true
,
message
:
"名称不能为空"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"请输入类别名称"
,
trigger
:
"blur"
}
],
remark
:
[
{
required
:
true
,
message
:
"备注不能为空"
,
trigger
:
"blur"
}
],
typeStatus
:
[
{
required
:
true
,
message
:
"状态:0正常,1删除不能为空"
,
trigger
:
"change"
}
],
],
}
}
};
};
},
},
created
()
{
created
()
{
//
this.getList();
this
.
getList
();
},
},
methods
:
{
methods
:
{
/** 查询字典列表 */
/** 查询字典列表 */
...
@@ -212,16 +195,7 @@ export default {
...
@@ -212,16 +195,7 @@ export default {
// 表单重置
// 表单重置
reset
()
{
reset
()
{
this
.
form
=
{
this
.
form
=
{
id
:
undefined
,
parentId
:
undefined
,
type
:
undefined
,
typeValue
:
undefined
,
typeValue
:
undefined
,
remark
:
undefined
,
typeStatus
:
undefined
,
createTime
:
undefined
,
updateTime
:
undefined
,
createBy
:
undefined
,
updateBy
:
undefined
};
};
this
.
resetForm
(
"form"
);
this
.
resetForm
(
"form"
);
},
},
...
@@ -245,7 +219,7 @@ export default {
...
@@ -245,7 +219,7 @@ export default {
handleAdd
()
{
handleAdd
()
{
this
.
reset
();
this
.
reset
();
this
.
open
=
true
;
this
.
open
=
true
;
this
.
title
=
"
请输入类别名称
"
;
this
.
title
=
"
新增类别
"
;
},
},
/** 修改按钮操作 */
/** 修改按钮操作 */
handleUpdate
(
row
)
{
handleUpdate
(
row
)
{
...
@@ -256,7 +230,7 @@ export default {
...
@@ -256,7 +230,7 @@ export default {
this
.
loading
=
false
;
this
.
loading
=
false
;
this
.
form
=
response
.
data
;
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
open
=
true
;
this
.
title
=
"修改
字典
"
;
this
.
title
=
"修改
类别
"
;
});
});
},
},
/** 提交按钮 */
/** 提交按钮 */
...
...
src/views/school-paper/questionBank/index.vue
View file @
7c5063c1
...
@@ -2,21 +2,14 @@
...
@@ -2,21 +2,14 @@
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"100px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"100px"
>
<el-form-item
label=
"题库类别"
prop=
"categoryId"
>
<el-form-item
label=
"题库类别"
prop=
"categoryId"
>
<el-select
clearable
v-model=
"queryParams.categoryId"
placeholder=
"请选择题库类别"
@
change=
"handleQuery"
>
<el-select
clearable
v-model=
"queryParams.categoryId"
placeholder=
"请选择题库类别"
>
<el-option
v-for=
"item in [
<el-option
v-for=
"item in category"
:key=
"item.id"
:label=
"item.typeValue"
:value=
"item.id"
>
{ label: '全部', value: '' },
{ label: '集合', value: '1' },
{ label: '不等式', value: '2' },
{ label: '函数', value: '3' },
{ label: '数列', value: '4' },
{ label: '立体几何', value: '5' },
]" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"习题种类:"
prop=
"species"
>
<el-form-item
label=
"习题种类:"
prop=
"species"
>
<!-- 1填空,2选择,3解答 -->
<!-- 1填空,2选择,3解答 -->
<el-select
clearable
v-model=
"queryParams.species"
placeholder=
"请选择习题种类"
@
change=
"handleQuery"
>
<el-select
clearable
v-model=
"queryParams.species"
placeholder=
"请选择习题种类"
>
<el-option
v-for=
"item in [
<el-option
v-for=
"item in [
{ label: '全部', value: '' },
{ label: '全部', value: '' },
{ label: '填空', value: '1' },
{ label: '填空', value: '1' },
...
@@ -27,7 +20,7 @@
...
@@ -27,7 +20,7 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"阶段"
prop=
"phaseId"
>
<el-form-item
label=
"阶段"
prop=
"phaseId"
>
<el-select
clearable
v-model=
"queryParams.phaseId"
placeholder=
"请选择阶段"
@
change=
"handleQuery"
>
<el-select
clearable
v-model=
"queryParams.phaseId"
placeholder=
"请选择阶段"
>
<el-option
v-for=
"item in [
<el-option
v-for=
"item in [
{ label: '全部', value: '' },
{ label: '全部', value: '' },
{ label: '高一', value: '1' },
{ label: '高一', value: '1' },
...
@@ -38,7 +31,7 @@
...
@@ -38,7 +31,7 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"类型"
prop=
"type"
>
<el-form-item
label=
"类型"
prop=
"type"
>
<el-select
clearable
v-model=
"queryParams.type"
placeholder=
"请选择类型"
@
change=
"handleQuery"
>
<el-select
clearable
v-model=
"queryParams.type"
placeholder=
"请选择类型"
>
<el-option
v-for=
"item in [
<el-option
v-for=
"item in [
{ label: '全部', value: '' },
{ label: '全部', value: '' },
{ label: '典例精讲', value: '1' },
{ label: '典例精讲', value: '1' },
...
@@ -48,7 +41,7 @@
...
@@ -48,7 +41,7 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"强度分类:"
prop=
"intensity"
>
<el-form-item
label=
"强度分类:"
prop=
"intensity"
>
<!-- 1基础,2中等,3提高 -->
<!-- 1基础,2中等,3提高 -->
<el-select
clearable
v-model=
"queryParams.intensity"
placeholder=
"请选择强度"
@
change=
"handleQuery"
>
<el-select
clearable
v-model=
"queryParams.intensity"
placeholder=
"请选择强度"
>
<el-option
v-for=
"item in [
<el-option
v-for=
"item in [
{ label: '全部', value: '' },
{ label: '全部', value: '' },
{ label: '基础', value: '1' },
{ label: '基础', value: '1' },
...
@@ -153,7 +146,7 @@
...
@@ -153,7 +146,7 @@
<div
class=
"app-container-list-item-html"
v-html=
"item.topic"
></div>
<div
class=
"app-container-list-item-html"
v-html=
"item.topic"
></div>
<div
class=
"app-container-list-item-footer"
>
<div
class=
"app-container-list-item-footer"
>
<el-button
icon=
"el-icon-edit-outline"
@
click=
"handleUpdate(item)"
>
编辑
</el-button>
<el-button
icon=
"el-icon-edit-outline"
@
click=
"handleUpdate(item)"
>
编辑
</el-button>
<el-button
icon=
"el-icon-delete"
>
删除
</el-button>
<el-button
icon=
"el-icon-delete"
@
click=
"handleDelete(item)"
>
删除
</el-button>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -230,7 +223,7 @@
...
@@ -230,7 +223,7 @@
<el-col
:span=
"6"
>
<el-col
:span=
"6"
>
<el-form-item
label=
"题库类别:"
prop=
"categoryId"
>
<el-form-item
label=
"题库类别:"
prop=
"categoryId"
>
<el-select
clearable
v-model=
"form.categoryId"
placeholder=
"请选择题库类别"
>
<el-select
clearable
v-model=
"form.categoryId"
placeholder=
"请选择题库类别"
>
<el-option
v-for=
"item in category"
:key=
"item.id"
:label=
"item.
remark
"
:value=
"item.id"
>
<el-option
v-for=
"item in category"
:key=
"item.id"
:label=
"item.
typeValue
"
:value=
"item.id"
>
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -297,7 +290,7 @@
...
@@ -297,7 +290,7 @@
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"标准答案"
prop=
"rightAnswers"
v-if=
"form.options && form.options.length"
>
<el-form-item
label=
"标准答案"
prop=
"rightAnswers"
v-if=
"form.options && form.options.length"
>
<el-radio-group
v-model=
"form.rightAnswers"
@
change=
'changeRadio'
>
<el-radio-group
v-model=
"form.rightAnswers"
>
<el-radio
:label=
"index"
v-for=
"(item, index) in form.options"
:key=
"index"
>
{{
index
|
<el-radio
:label=
"index"
v-for=
"(item, index) in form.options"
:key=
"index"
>
{{
index
|
filterType
(
form
.
options
)
}}
</el-radio>
filterType
(
form
.
options
)
}}
</el-radio>
</el-radio-group>
</el-radio-group>
...
...
src/views/school-paper/testPaper/components/treeselect.vue
0 → 100644
View file @
7c5063c1
<
template
>
<!--
<div
class=
"main"
>
<div
class=
"tree"
>
-->
<Treeselect
v-model=
"value"
:options=
"options"
:placeholder=
"'请选择人员'"
:multiple=
"multiple"
@
input=
"treeSelectInput"
@
select=
"treeSelectChange"
@
deselect=
"treeSelectDeselect"
@
search-change=
"treeSelectSearch"
@
open=
"treeSelectOpen"
@
close=
"treeSelectClose"
/>
<!--
</div>
</div>
-->
</
template
>
<
script
>
import
Treeselect
from
"@riophae/vue-treeselect"
;
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
import
{
listUser
,
getUser
,
delUser
,
addUser
,
updateUser
,
resetUserPwd
,
changeUserStatus
,
deptTreeSelect
}
from
"@/api/system/user"
;
// import treeData from './data/tree'
export
default
{
data
()
{
return
{
value
:
null
,
options
:
[]
}
},
props
:{
multiple
:{
type
:
false
}
},
components
:
{
Treeselect
},
mounted
(){
// 延迟模拟请求数据
setTimeout
(()
=>
{
// this.options = treeData
// this.value = [ "1682295245318119426", "1682295184152584194"] // 测试回显操作
},
300
)
this
.
getDeptTree
()
},
methods
:{
/** 查询部门下拉树结构 */
getDeptTree
()
{
deptTreeSelect
().
then
(
response
=>
{
this
.
options
=
response
.
data
;
});
},
// 选中触发(第一次回显的时候会触发,清除值的时候会触发, value值为undefined) input事件用于v-model双向绑定组件更新父组件值
treeSelectInput
(
value
,
instanceId
)
{
console
.
log
(
value
,
'input事件'
)
console
.
log
(
this
.
value
,
'this.value -- input'
)
// 这个不需要 延迟
},
// 选中触发(清除值的时候不会触发)
treeSelectChange
(
raw
,
instanceId
)
{
console
.
log
(
raw
,
'当前的对象'
)
setTimeout
(()
=>
{
// 如果用到this.value 需要setTimeout延迟一下拿到最新的值
console
.
log
(
this
.
value
,
'this.value -- select'
)
})
},
// 移除选项时触发 当设置multiple为true时生效 raw为当前移除的对象
treeSelectDeselect
(
raw
,
instanceId
)
{
console
.
log
(
raw
,
'deselect-->>'
)
},
// 搜索
treeSelectSearch
(
searchQuery
,
instanceId
)
{
console
.
log
(
searchQuery
,
'当前搜索的值'
)
},
// 展开触发
treeSelectOpen
(
instanceId
)
{
console
.
log
(
'展开了'
)
},
// 关闭触发
treeSelectClose
(
value
,
instanceId
)
{
console
.
log
(
value
,
'当前的value值'
)
},
// 字段默认 id label 用于规范化数据源
tenantIdnormalizer
(
node
,
instanceId
)
{
if
(
node
.
children
&&
!
node
.
children
.
length
)
{
delete
node
.
children
}
return
{
id
:
node
.
id
,
label
:
node
.
title
,
children
:
node
.
children
}
}
}
}
</
script
>
<
style
scoped
>
.main
{
width
:
100%
;
height
:
100%
;
padding
:
60px
0
0
200px
;
}
.main
.tree
{
width
:
240px
;
height
:
40px
;
}
::v-deep
.vue-treeselect__label
{
color
:
#606266
;
}
</
style
>
\ No newline at end of file
src/views/school-paper/testPaper/index.vue
View file @
7c5063c1
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"审批阅卷"
prop=
"testName"
>
<el-form-item
label=
"审批阅卷"
prop=
"testName"
>
<el-input
v-model=
"queryParams.testName"
placeholder=
"请输入试卷名称搜索"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.testName"
placeholder=
"请输入试卷名称搜索"
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"阶段"
prop=
"categoryId"
>
<el-form-item
label=
"阶段"
prop=
"categoryId"
>
<el-select
v-model=
"value"
placeholder=
"请选择"
>
<el-select
v-model=
"value"
placeholder=
"请选择"
>
...
@@ -91,7 +91,7 @@
...
@@ -91,7 +91,7 @@
<el-table-column
label=
"状态:0正常,1删除"
align=
"center"
prop=
"status"
/>
-->
<el-table-column
label=
"状态:0正常,1删除"
align=
"center"
prop=
"status"
/>
-->
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"medium "
@
click=
"handle
Query
"
>
查看试题
</el-button>
<el-button
type=
"primary"
size=
"medium "
@
click=
"handle
Update(scope.row)
"
>
查看试题
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -105,23 +105,24 @@
...
@@ -105,23 +105,24 @@
<el-form-item
label=
"试卷名称"
prop=
"testName"
>
<el-form-item
label=
"试卷名称"
prop=
"testName"
>
<el-input
v-model=
"form.testName"
placeholder=
"请输入试卷名称"
/>
<el-input
v-model=
"form.testName"
placeholder=
"请输入试卷名称"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
试卷类型
"
prop=
"categoryId"
>
<el-form-item
label=
"
题库类别
"
prop=
"categoryId"
>
<el-select
v-model=
"
value"
placeholder=
"请选择试卷类型"
>
<el-select
v-model=
"
form.categoryId"
placeholder=
"请选择题库类别"
>
<el-option
v-for=
"item in
options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value
"
>
<el-option
v-for=
"item in
category"
:key=
"item.id"
:label=
"item.typeValue"
:value=
"item.id
"
>
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"阶段"
prop=
"phaseId"
>
<el-form-item
label=
"强度"
prop=
"intensitys"
>
<el-select
v-model=
"value"
placeholder=
"请选择阶段"
>
<el-select
v-model=
"form.intensitys"
placeholder=
"请选择强度"
multiple
collapse-tags
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
<el-option
v-for=
"item in [
{ label: '基础', id: 1 },
{ label: '中等', id: 2 },
{ label: '提高', id: 3 },
]"
:key=
"item.id"
:label=
"item.label"
:value=
"item.id"
>
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"班级"
prop=
"classId"
>
<el-form-item
label=
"班级"
prop=
"classId"
>
<el-select
v-model=
"value"
placeholder=
"请选择班级"
>
<treeselect
ref=
"refSelect"
:multiple=
"multiple"
/>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
class=
"mark"
>
<div
class=
"mark"
>
...
@@ -140,7 +141,7 @@
...
@@ -140,7 +141,7 @@
</el-dialog>
</el-dialog>
<!-- 详情对话框 -->
<!-- 详情对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"opens"
append-to-body
>
<el-dialog
:title=
"title"
:visible
.
sync=
"opens"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules
t
"
label-width=
"80px"
>
<el-form-item
label=
"题目"
prop=
"userId"
>
<el-form-item
label=
"题目"
prop=
"userId"
>
<editor
v-model=
"form.optionContent"
:min-height=
"192"
:iconType=
"['image']"
/>
<editor
v-model=
"form.optionContent"
:min-height=
"192"
:iconType=
"['image']"
/>
</el-form-item>
</el-form-item>
...
@@ -167,13 +168,21 @@
...
@@ -167,13 +168,21 @@
</template>
</template>
<
script
>
<
script
>
import
{
listTestPaper
,
getTestPaper
,
delTestPaper
,
addTestPaper
,
updateTestPaper
}
from
"@/api/school-paper/testPaper"
;
import
{
listTestPaper
,
getTestPaper
,
delTestPaper
,
addTestPaper
,
updateTestPaper
,
questionType
}
from
"@/api/school-paper/testPaper"
;
import
Treeselect
from
"./components/treeselect.vue"
export
default
{
export
default
{
name
:
"TestPaper"
,
name
:
"TestPaper"
,
components
:
{
Treeselect
},
data
()
{
data
()
{
return
{
return
{
markSiz
:
0
,
rightAnswers
:
''
,
srcList
:
[],
url
:
''
,
category
:
[],
// 题库类别
options
:
[],
textarea
:
''
,
markSiz
:
1
,
value
:
''
,
value
:
''
,
// 按钮loading
// 按钮loading
buttonLoading
:
false
,
buttonLoading
:
false
,
...
@@ -184,7 +193,7 @@ export default {
...
@@ -184,7 +193,7 @@ export default {
// 非单个禁用
// 非单个禁用
single
:
true
,
single
:
true
,
// 非多个禁用
// 非多个禁用
multiple
:
tru
e
,
multiple
:
fals
e
,
// 显示搜索条件
// 显示搜索条件
showSearch
:
true
,
showSearch
:
true
,
// 总条数
// 总条数
...
@@ -195,7 +204,7 @@ export default {
...
@@ -195,7 +204,7 @@ export default {
title
:
""
,
title
:
""
,
// 是否显示弹出层
// 是否显示弹出层
open
:
false
,
open
:
false
,
opens
:
tru
e
,
opens
:
fals
e
,
// 查询参数
// 查询参数
queryParams
:
{
queryParams
:
{
pageNum
:
1
,
pageNum
:
1
,
...
@@ -207,34 +216,23 @@ export default {
...
@@ -207,34 +216,23 @@ export default {
totalPoints
:
undefined
,
totalPoints
:
undefined
,
status
:
undefined
,
status
:
undefined
,
},
},
rulest
:{},
// 表单参数
// 表单参数
form
:
{},
form
:
{},
// 表单校验
// 表单校验
rules
:
{
rules
:
{
id
:
[
{
required
:
true
,
message
:
"主键id不能为空"
,
trigger
:
"blur"
}
],
testName
:
[
testName
:
[
{
required
:
true
,
message
:
"试卷名称不能为空"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"试卷名称不能为空"
,
trigger
:
"blur"
}
],
],
categoryId
:
[
categoryId
:
[
{
required
:
true
,
message
:
"
类别id不能为空
"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"
请选择题库类别
"
,
trigger
:
"blur"
}
],
],
phaseId
:
[
intensitys
:
[
{
required
:
true
,
message
:
"
阶段id不能为空
"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"
请选择强度
"
,
trigger
:
"blur"
}
],
],
classId
:
[
classId
:
[
{
required
:
true
,
message
:
"班级id不能为空"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"班级id不能为空"
,
trigger
:
"blur"
}
],
],
totalPoints
:
[
{
required
:
true
,
message
:
"总分:100,150不能为空"
,
trigger
:
"blur"
}
],
remark
:
[
{
required
:
true
,
message
:
"备注不能为空"
,
trigger
:
"blur"
}
],
status
:
[
{
required
:
true
,
message
:
"状态:0正常,1删除不能为空"
,
trigger
:
"change"
}
],
},
},
checkList
:
[{
checkList
:
[{
html
:
""
,
html
:
""
,
...
@@ -281,8 +279,17 @@ export default {
...
@@ -281,8 +279,17 @@ export default {
},
},
created
()
{
created
()
{
this
.
getList
();
this
.
getList
();
this
.
questionType
()
},
},
methods
:
{
methods
:
{
//题库类别
questionType
()
{
questionType
({
pageSize
:
9999
,
pageNum
:
1
}).
then
((
res
)
=>
{
this
.
category
=
res
.
rows
// console.log(res,'this.questionBankList======')
})
},
clickMark
(
val
)
{
clickMark
(
val
)
{
// if(val == 1){
// if(val == 1){
this
.
markSiz
=
val
this
.
markSiz
=
val
...
@@ -305,18 +312,10 @@ export default {
...
@@ -305,18 +312,10 @@ export default {
// 表单重置
// 表单重置
reset
()
{
reset
()
{
this
.
form
=
{
this
.
form
=
{
id
:
undefined
,
testName
:
undefined
,
testName
:
undefined
,
categoryId
:
undefined
,
categoryId
:
undefined
,
phaseId
:
undefined
,
intensitys
:
undefined
,
classId
:
undefined
,
classId
:
undefined
,
totalPoints
:
undefined
,
remark
:
undefined
,
status
:
undefined
,
createTime
:
undefined
,
createBy
:
undefined
,
updateTime
:
undefined
,
updateBy
:
undefined
};
};
this
.
resetForm
(
"form"
);
this
.
resetForm
(
"form"
);
},
},
...
@@ -325,6 +324,10 @@ export default {
...
@@ -325,6 +324,10 @@ export default {
this
.
queryParams
.
pageNum
=
1
;
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
this
.
getList
();
},
},
// 查看试卷
clickView
(){
this
.
opens
=
true
},
/** 重置按钮操作 */
/** 重置按钮操作 */
resetQuery
()
{
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
resetForm
(
"queryForm"
);
...
@@ -334,13 +337,16 @@ export default {
...
@@ -334,13 +337,16 @@ export default {
handleSelectionChange
(
selection
)
{
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
single
=
selection
.
length
!==
1
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
//
this.multiple = !selection.length
},
},
/** 新增按钮操作 */
/** 新增按钮操作 */
handleAdd
()
{
handleAdd
()
{
this
.
reset
();
this
.
reset
();
this
.
open
=
true
;
this
.
open
=
true
;
this
.
title
=
"添加试卷"
;
this
.
title
=
"添加试卷"
;
setTimeout
(()
=>
{
this
.
$refs
[
'refSelect'
].
value
=
null
},
300
)
},
},
/** 修改按钮操作 */
/** 修改按钮操作 */
handleUpdate
(
row
)
{
handleUpdate
(
row
)
{
...
@@ -356,6 +362,14 @@ export default {
...
@@ -356,6 +362,14 @@ export default {
},
},
/** 提交按钮 */
/** 提交按钮 */
submitForm
()
{
submitForm
()
{
// this.form.lassId = this.$refs['refSelect'].value
this
.
$set
(
this
.
form
,
'classId'
,
this
.
$refs
[
'refSelect'
].
value
)
console
.
log
(
this
.
form
,
'this.form========'
)
if
(
this
.
markSiz
==
1
)
{
this
.
form
.
totalPoints
=
100
}
else
{
this
.
form
.
totalPoints
=
150
}
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
this
.
buttonLoading
=
true
;
this
.
buttonLoading
=
true
;
...
...
src/views/system/role/index.vue
View file @
7c5063c1
...
@@ -127,13 +127,13 @@
...
@@ -127,13 +127,13 @@
@
click=
"handleUpdate(scope.row)"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:role:edit']"
v-hasPermi=
"['system:role:edit']"
>
修改
</el-button>
>
修改
</el-button>
<el-button
<
!--
<
el-button
size=
"mini"
size=
"mini"
type=
"text"
type=
"text"
icon=
"el-icon-delete"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['system:role:remove']"
v-hasPermi=
"['system:role:remove']"
>
删除
</el-button>
>
删除
</el-button>
-->
<el-dropdown
size=
"mini"
@
command=
"(command) => handleCommand(command, scope.row)"
v-hasPermi=
"['system:role:edit']"
>
<el-dropdown
size=
"mini"
@
command=
"(command) => handleCommand(command, scope.row)"
v-hasPermi=
"['system:role:edit']"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-d-arrow-right"
>
更多
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-d-arrow-right"
>
更多
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-menu
slot=
"dropdown"
>
...
...
src/views/system/user/index.vue
View file @
7c5063c1
This diff is collapsed.
Click to expand it.
vue.config.js
View file @
7c5063c1
...
@@ -35,8 +35,9 @@ module.exports = {
...
@@ -35,8 +35,9 @@ 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: `https://farming.nyinhong.com/api`,
target
:
`http://farming.nyinhong.com/api`
,
target
:
`http://192.168.0.195:8111/`
,
// target: `http://192.168.0.195:8111/`,
// target: `http://192.168.0.165:8111/`,
changeOrigin
:
true
,
changeOrigin
:
true
,
pathRewrite
:
{
pathRewrite
:
{
[
'^'
+
process
.
env
.
VUE_APP_BASE_API
]:
''
[
'^'
+
process
.
env
.
VUE_APP_BASE_API
]:
''
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment