Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica.cloud.web-education-admin
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
提交
打开侧边栏
com.pica.cloud.education.frontend
pica.cloud.web-education-admin
提交
c9c14ef6
提交
c9c14ef6
编写于
9月 15, 2020
作者:
bo.dang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增圈子类型和审核管理
上级
dc72255e
变更
11
展开全部
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
1244 行增加
和
21 行删除
+1244
-21
baseinfo.vue
src/components/yqrange/baseinfo.vue
+7
-4
org.vue
src/components/yqrange/member-management/org.vue
+82
-2
renyuan.vue
src/components/yqrange/member-management/renyuan.vue
+70
-5
router.js
src/router/router.js
+5
-0
qiniu-chunk-util.js
src/utils/qiniu-chunk-util.js
+451
-0
yqrangeApi.js
src/utils/yqrange/yqrangeApi.js
+30
-0
create-live.vue
src/views/yqrange/create-live.vue
+92
-3
create-range.vue
src/views/yqrange/create-range.vue
+1
-1
live-manage.vue
src/views/yqrange/live-manage.vue
+0
-3
range-notice.vue
src/views/yqrange/range-notice.vue
+484
-0
yq-range.vue
src/views/yqrange/yq-range.vue
+22
-3
未找到文件。
src/components/yqrange/baseinfo.vue
浏览文件 @
c9c14ef6
...
...
@@ -90,11 +90,11 @@
</el-form-item>
<el-form-item
label=
"圈子类型"
prop=
"
sco
pe"
>
<el-form-item
label=
"圈子类型"
prop=
"
ty
pe"
>
<el-radio-group
v-model=
"formData.type"
size=
"small"
@
change=
"changeType"
>
<el-radio
label=
"1
"
class=
"label-type"
>
封闭 - 只对圈子成员可见,成员只能由管理员添加、删除
</el-radio>
<el-radio
label=
"2
"
class=
"label-type"
>
半开放 - 对任何人可见,用户请求加入后需管理员同意,成员可自行退出
</el-radio>
<el-radio
label=
"3
"
class=
"label-type"
>
开放 - 对任何人可见,用户请求加入后无需管理员同意,成员可自行退出
</el-radio>
<el-radio
:label=
"0
"
class=
"label-type"
>
封闭 - 只对圈子成员可见,成员只能由管理员添加、删除
</el-radio>
<el-radio
:label=
"1
"
class=
"label-type"
>
半开放 - 对任何人可见,用户请求加入后需管理员同意,成员可自行退出
</el-radio>
<el-radio
:label=
"2
"
class=
"label-type"
>
开放 - 对任何人可见,用户请求加入后无需管理员同意,成员可自行退出
</el-radio>
</el-radio-group>
</el-form-item>
...
...
@@ -199,6 +199,9 @@
],
dynamicFlag: [
{ required: true, message: "
请选择内容发布权限
", trigger: "
blur
" },
],
type: [
{ required: true, message: "
请选择圈子类型
", trigger: "
blur
" },
]
},
imgMouseOver1: false,
...
...
src/components/yqrange/member-management/org.vue
浏览文件 @
c9c14ef6
...
...
@@ -5,6 +5,16 @@
<i
class=
"el-icon-circle-plus-outline"
@
click=
"dialogOrgFn()"
></i>
<i
class=
"text"
@
click=
"dialogOrgFn()"
>
添加机构
</i>
</el-col>
<el-col
class=
"add-organization"
>
<el-upload
class=
"bg-uploader"
action=
"#"
:show-file-list=
"false"
:before-upload=
"beforeUploadOrg"
>
<i
class=
"el-icon-document-add"
></i>
<i
class=
"text"
>
批量导入
</i>
</el-upload>
</el-col>
<el-col
class=
"organization-search"
>
<el-form
:inline=
"true"
:model=
"formOrganization"
class=
"demo-form-inline"
>
<el-form-item
label
>
...
...
@@ -96,6 +106,7 @@ import { doUpload, getFilePath } from "@/utils/qiniu-util";
import
*
as
operationData
from
"@/utils/operation"
;
import
{
moRelSearch
,
morDeleteOrg
}
from
'@/utils/yqrange/memberApi'
;
import
{
getOrgProvincesReq
}
from
'@/utils/yqrange/rangeApi'
;
import
{
uploadOrg
}
from
'@/utils/yqrange/yqrangeApi'
;
import
checkOrg
from
'./checkOrg'
let
vm
=
null
;
export
default
{
...
...
@@ -408,7 +419,76 @@ export default {
this
.
dialogOrg
=
false
this
.
searchOrganization
()
this
.
$emit
(
'refreshRenYuan'
)
}
},
// 批量导入
beforeUploadOrg
(
file
)
{
//
// console.log(file);
// let arr = file.type.split("/");
// let ext = "." + arr[1];
// let name = file.name;
//
//
// let reader = new FileReader();
// reader.onload = function(e) {
// let fileJson = {
// fileName: file.name,
// file: e.target.result.substr(e.target.result.indexOf("base64,") + 7),
// ext: ext
// };
// let fileArray = [
// {
// type: "",
// base64: fileJson
// }
// ];
// let req = {
// fileArray: fileArray,
// // scopeOfAdministrative: vm.getScope("administrative")
// scopeOfAdministrative: vm.regio
// };
// console.log("req", req);
openLoading
(
vm
);
// let params = {
// // id: vm.circleId,
// id: 50,
// file: fileArray
// };
let
formData
=
new
FormData
();
formData
.
append
(
"circleId"
,
50
);
formData
.
append
(
"file"
,
file
);
// let files = new window.File();
uploadOrg
(
formData
).
then
(
res
=>
{
closeLoading
(
vm
);
if
(
res
.
code
==
"000000"
)
{
this
.
$message
({
type
:
'success'
,
message
:
'导入成功!'
});
}
else
{
this
.
$message
({
type
:
'error'
,
message
:
'导入失败!'
});
}
// vm.setDialog(res);
});
// };
// reader.readAsDataURL(file);
},
}
}
</
script
>
...
...
@@ -430,7 +510,7 @@ export default {
font-size
:
18px
;
margin-right
:
2px
;
}
}
.organization-search
{
margin-right
:
20px
;
...
...
src/components/yqrange/member-management/renyuan.vue
浏览文件 @
c9c14ef6
...
...
@@ -5,6 +5,16 @@
<i
class=
"el-icon-circle-plus-outline"
@
click=
"dialogMemberFn()"
></i>
<i
class=
"text"
@
click=
"dialogMemberFn()"
>
添加人员
</i>
</el-col>
<el-col
class=
"add-organization"
>
<el-upload
class=
"bg-uploader"
action=
"#"
:show-file-list=
"false"
:before-upload=
"beforeUploadDoc"
>
<i
class=
"el-icon-document-add"
></i>
<i
class=
"text"
>
批量导入
</i>
</el-upload>
</el-col>
<el-col
class=
"organization-search"
>
<el-form
:inline=
"true"
:model=
"formOrganization"
class=
"demo-form-inline"
>
<el-form-item
label=
"机构:"
>
...
...
@@ -19,7 +29,7 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
size=
"small"
type=
"primary"
@
click=
"serch()"
>
搜索
</el-button>
</el-form-item>
...
...
@@ -96,6 +106,7 @@ import * as operationData from "@/utils/operation";
import
{
openLoading
,
closeLoading
}
from
"@/utils/utils"
;
import
{
doUpload
,
getFilePath
}
from
"@/utils/qiniu-util"
;
import
{
mpRelSearch
,
mprDeleteOrg
}
from
'@/utils/yqrange/memberApi'
;
import
{
uploadDoc
}
from
'@/utils/yqrange/yqrangeApi'
;
import
addMember
from
'./addMember.vue'
let
vm
=
null
;
export
default
{
...
...
@@ -183,8 +194,8 @@ export default {
this
.
initRange
();
},
mounted
()
{
},
methods
:
{
initRange
()
{
...
...
@@ -297,7 +308,61 @@ export default {
addPeople
()
{
this
.
dialogOrg
=
false
this
.
initRange
()
}
},
// 批量导入
beforeUploadDoc
(
file
)
{
console
.
log
(
file
);
let
arr
=
file
.
type
.
split
(
"/"
);
let
ext
=
"."
+
arr
[
1
];
let
name
=
file
.
name
;
let
reader
=
new
FileReader
();
reader
.
onload
=
function
(
e
)
{
let
fileJson
=
{
fileName
:
file
.
name
,
file
:
e
.
target
.
result
.
substr
(
e
.
target
.
result
.
indexOf
(
"base64,"
)
+
7
),
ext
:
ext
};
let
fileArray
=
[
{
type
:
""
,
base64
:
fileJson
}
];
// let req = {
// fileArray: fileArray,
// // scopeOfAdministrative: vm.getScope("administrative")
// scopeOfAdministrative: vm.regio
// };
console
.
log
(
"req"
,
req
);
openLoading
(
vm
);
let
params
=
{
id
:
vm
.
circleId
,
file
:
fileJson
};
uploadDoc
(
params
).
then
(
res
=>
{
closeLoading
(
vm
);
if
(
res
.
code
==
"000000"
)
{
this
.
$message
({
type
:
'success'
,
message
:
'导入成功!'
});
}
else
{
this
.
$message
({
type
:
'error'
,
message
:
'导入失败!'
});
}
// vm.setDialog(res);
});
};
reader
.
readAsDataURL
(
file
);
},
}
}
</
script
>
...
...
@@ -314,7 +379,7 @@ export default {
font-size
:
18px
;
margin-right
:
2px
;
}
}
.organization-search
{
flex
:
1
;
...
...
src/router/router.js
浏览文件 @
c9c14ef6
...
...
@@ -63,6 +63,7 @@ const editRange = r => require.ensure([], () => r(require('../views/yqrange/edit
const
createLive
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/yqrange/create-live.vue'
)),
'create-live'
)
const
blackListManage
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/yqrange/blacklist-manage.vue'
)),
'blacklist-manage'
)
const
adminManage
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/yqrange/admin-manage.vue'
)),
'admin-manage'
)
const
rangeNotice
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/yqrange/range-notice.vue'
)),
'rangeNotice'
)
const
shopList
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/shop/shop-list.vue'
)),
'shop-list'
)
const
createShop
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/shop/create-shop.vue'
)),
'create-shop'
)
...
...
@@ -249,6 +250,10 @@ export default [{
path
:
'/range-manage'
,
component
:
rangeManage
},
{
path
:
'/range-notice'
,
component
:
rangeNotice
},
{
path
:
'/create-live'
,
component
:
createLive
...
...
src/utils/qiniu-chunk-util.js
0 → 100644
浏览文件 @
c9c14ef6
此差异已折叠。
点击以展开。
src/utils/yqrange/yqrangeApi.js
浏览文件 @
c9c14ef6
...
...
@@ -111,3 +111,33 @@ export const getImages = (params) => {
})
};
export
const
uploadOrg
=
(
params
)
=>
{
return
fetch
({
headers
,
url
:
getBaseUrl
(
`circle/import/hospitals`
),
method
:
'post'
,
data
:
params
,
description
:
'批量导入机构'
,
})
};
export
const
uploadDoc
=
(
params
)
=>
{
return
fetch
({
headers
,
url
:
getBaseUrl
(
`circle/circle/import/
${
params
.
id
}
/doctors`
),
method
:
'post'
,
data
:
params
,
description
:
'批量导入人员'
,
})
};
export
const
searchDoc
=
(
params
)
=>
{
return
fetch
({
headers
,
url
:
getBaseUrl
(
`circle/circle/doctor/search?circleId=
${
params
.
id
}
&name=
${
params
.
name
}
`
),
method
:
'get'
,
description
:
'直播搜索主播或者嘉宾'
,
})
};
src/views/yqrange/create-live.vue
浏览文件 @
c9c14ef6
...
...
@@ -416,6 +416,8 @@
placeholder=
"请输入姓名"
style=
"width:85%;"
:disabled=
"liveEditFlag"
@
input=
"handleInputSearch(formData.lecturesUserName)"
@
blur=
"handleSearchListBlur"
></el-input>
</el-form-item>
</el-col>
...
...
@@ -448,6 +450,8 @@
placeholder=
"请输入姓名"
style=
"width:85%;"
:disabled=
"guestEditFlag"
@
input=
"handleInputSearch(item.username)"
@
blur=
"handleSearchListBlur"
></el-input>
</el-form-item>
</el-col>
...
...
@@ -489,6 +493,39 @@
</div>
</div>
<div
class=
"main-content"
>
<div
class=
"left-box left"
>
<!-- 搜索列表 有搜索结果时-->
<div
v-if=
"searchList && searchList.length > 0"
class=
"search-list-wrap"
v-infinite-scroll=
"loadMore"
:infinite-scroll-disabled=
"busy"
infinite-scroll-distance=
"5"
infinite-scroll-immediate-check=
"false"
>
<ul
class=
"search-list"
>
<li
v-for=
"(searchLi, index) in searchList"
@
mousedown=
"handleSearchLiClick(searchLi)"
>
<div
class=
"left"
>
<p
class=
"disease-name"
v-html=
"searchLi.diseaseName"
></p>
<div
class=
"one-line"
>
<p
class=
"alias"
v-html=
"searchLi.alias"
></p>
<p
class=
"sign"
v-if=
"searchLi.alias"
>
|
</p>
<p
class=
"code"
>
{{searchLi.icdCode}}
</p>
</div>
</div>
<div
class=
"right"
v-if=
"isSearchLiSelected(searchLi)"
><i
class=
"el-icon-check"
></i></div>
</li>
<p
v-if=
"busy"
class=
"loading"
>
加载中...
</p>
<p
v-if=
"noMore"
class=
"loading"
>
没有更多了...
</p>
</ul>
</div>
</div>
</div>
<el-dialog
class=
"dialog-title-border-old"
title=
"图片裁剪"
...
...
@@ -564,7 +601,7 @@
import
{
isEmptyUtils
,
openLoading
,
closeLoading
}
from
"../../utils/utils"
;
import
{
doUpload
,
getFilePath
,
unsubscribe
}
from
"../../utils/qiniu-util"
;
import
{
checkMobile
}
from
'../../utils/patients/checkValid'
;
import
{
getRtcInfo
,
getImages
}
from
"../../utils/yqrange/yqrangeApi"
;
import
{
getRtcInfo
,
getImages
,
searchDoc
}
from
"../../utils/yqrange/yqrangeApi"
;
import
Cropper
from
'@/components/common/cropper.vue'
// import { ossUpload, getFilePathForOSS } from "@/utils/oss/ossUtil";
// import { checkPhone } from "../login.vue";
...
...
@@ -709,7 +746,8 @@
// 一天是24*60*60*1000 = 86400000 = 8.64e7
// console.log('this.maxDate',this.maxDate)
return time.getTime() < Date.now() - 8.64e7
}
},
searchList: null
},
rules: {
name: [
...
...
@@ -1914,7 +1952,58 @@
else if(this.formData.signMinute > 1000){
this.formData.signMinute = 1000;
}
}
},
// 搜索框中输入文字 时 page=1 pageSize=30
handleInputSearch(name) {
// debugger;
clearTimeout(this.searchFlagTimer);
let that = this;
that.page = 1;
that.isInputResponse = false;
if( that.searchInput == ''){
that.searchList = [];
return;
}
that.searchList = [];
let params = {
id: this.circleId,
name: name
};
this.searchFlagTimer = setTimeout(() => {
searchDoc(params).then(res => {
// console.log('>>>>>>*********** search: ', res)
if(res.code == '000000'){
that.isInputResponse = true;
that.totalPageNum = Math.ceil(res.data.total/that.pageSize); // 总页数
let list = res.data.icdContentsList || [];
if(list.length > 0){
if(that.searchInput == ''){
that.searchList = [];
return;
}
that.searchList = list;
that.hasNoResult = false;
}else{
that.searchList = [];
that.hasNoResult = true;
}
}else{
that.isInputResponse = false;
that.searchList = [];
that.$message({
message: data.message,
type: 'warning'
});
}
})
}, 300)
},
handleSearchListBlur() {
this.searchList = [];
clearTimeout(this.searchFlagTimer);
// console.log('blur.....')
},
},
...
...
src/views/yqrange/create-range.vue
浏览文件 @
c9c14ef6
...
...
@@ -61,7 +61,7 @@
dynamicFlag
:
''
,
idType
:
localStorage
.
getItem
(
"storageIdType"
),
roleType
:
null
,
type
:
null
type
:
0
}
}
},
...
...
src/views/yqrange/live-manage.vue
浏览文件 @
c9c14ef6
...
...
@@ -1003,9 +1003,6 @@ export default {
})
.
then
(()
=>
{
// confirm
let
req
=
{
rtcId
:
row
.
id
};
vm
.
DELETE
(
"rtc/liveAdmin/"
+
row
.
id
,
{}).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
vm
.
$message
({
...
...
src/views/yqrange/range-notice.vue
0 → 100644
浏览文件 @
c9c14ef6
此差异已折叠。
点击以展开。
src/views/yqrange/yq-range.vue
浏览文件 @
c9c14ef6
<
template
>
<div
class=
"yqrange-index-wrapper"
>
<bread-crumb
:curmbFirst=
"curmbFirst"
></bread-crumb>
<div
class=
"yqrange-index-content screenSet"
id=
"screenSet"
>
<div
class=
"header-title"
>
云鹊小圈
</div>
<div
class=
"yqrange-index-content screenSet"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"tabChangeHandler"
>
<el-tab-pane
label=
"云鹊小圈"
name=
"first"
>
<el-form
ref=
"searchForm"
:model=
"searchForm"
label-width=
"75px"
label-suffix=
":"
:inline=
"true"
>
<el-row
:gutter=
"30"
type=
"flex"
style=
"margin-top: 10px"
>
<el-col
:span=
"8"
>
...
...
@@ -114,8 +115,17 @@
</el-dialog>
</el-tab-pane>
<el-tab-pane
label=
"审核管理"
name=
"second"
>
<range-notice></range-notice>
</el-tab-pane>
</el-tabs>
</div>
</div>
...
...
@@ -124,13 +134,18 @@
import
{
openLoading
,
closeLoading
}
from
"../../utils/utils"
;
import
BreadCrumb
from
"@/components/breadcrumb.vue"
;
import
{
getRangeList
,
updateRangeStatus
,
getCircleSettingList
,
saveCircleSetting
}
from
"../../utils/yqrange/yqrangeApi"
;
import
ElTabPane
from
"element-ui/packages/tabs/src/tab-pane"
;
import
RangeNotice
from
"./range-notice"
;
export
default
{
components
:
{
RangeNotice
,
ElTabPane
,
BreadCrumb
},
data
(){
return
{
curmbFirst
:
'云鹊小圈'
,
activeName
:
'first'
,
showAllFlag
:
false
,
showNewFlag
:
false
,
searchForm
:
{
...
...
@@ -455,9 +470,13 @@ export default {
this
.
$message
.
error
(
"请重试"
);
})
},
getRangeNotice
(){
this
.
$router
.
push
({
path
:
'/range-notice'
})
}
},
}
</
script
>
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录