Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica.cloud.web-education-admin
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
提交
打开侧边栏
com.pica.cloud.education.frontend
pica.cloud.web-education-admin
提交
6b0a5cdc
提交
6b0a5cdc
编写于
4月 14, 2020
作者:
haochangdi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加模板项目预览和上架后的禁止选择
上级
a920a302
变更
4
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
154 行增加
和
83 行删除
+154
-83
selectRegion.vue
src/components/education/template/selectRegion.vue
+26
-5
setOrganization.vue
src/components/education/template/setOrganization.vue
+48
-38
templateMessage.vue
src/components/education/template/templateMessage.vue
+30
-18
template-open.vue
src/views/education/template-open.vue
+50
-22
未找到文件。
src/components/education/template/selectRegion.vue
浏览文件 @
6b0a5cdc
...
...
@@ -62,6 +62,10 @@ export default {
projectId
:
{
type
:
String
|
Number
,
default
:
''
},
status4Flag
:
{
type
:
String
|
Number
,
default
:
0
}
},
data
()
{
...
...
@@ -75,12 +79,14 @@ export default {
isLeaf
:
"isLeaf"
},
treeData
:
[],
tagsRegion
:
[]
tagsRegion
:
[],
isPreview
:
1
// 是否预览
}
},
created
()
{
vm
=
this
;
vm
.
initRange
();
vm
.
isPreview
=
vm
.
$route
.
query
.
isPreview
?
vm
.
$route
.
query
.
isPreview
:
0
;
},
methods
:
{
//选择范围 初始化
...
...
@@ -108,7 +114,13 @@ export default {
let
administrativeAll
=
res
.
data
.
administrativeAll
;
let
administrative
=
res
.
data
.
administrative
;
vm
.
treeData
=
[];
if
(
vm
.
isPreview
==
1
){
vm
.
setDisable
(
administrativeAll
)
}
vm
.
treeData
[
0
]
=
administrativeAll
;
console
.
log
(
'================== administrativeAll=================='
);
console
.
log
(
administrativeAll
);
console
.
log
(
'===================================='
);
vm
.
setTreeData
(
administrative
);
// vm.getCheckedTree();
}
...
...
@@ -198,8 +210,6 @@ export default {
//添加子节点
append
(
data
,
node
)
{
console
.
log
(
'=========================append'
)
console
.
log
(
"data:"
,
data
);
console
.
log
(
"node:"
,
node
);
if
(
data
.
children
.
length
==
0
)
{
//let id = data.id + "add";
let
statusValue
=
0
;
...
...
@@ -239,8 +249,10 @@ export default {
},
//删除label节点 同步树结构
handleCloseTree
(
tag
)
{
console
.
log
(
'=========================handleCloseTree'
)
if
(
vm
.
status4Flag
!=
1
)
{
console
.
log
(
'===============status4Flag====================='
);
console
.
log
(
vm
.
status4Flag
);
console
.
log
(
'===================================='
);
if
(
vm
.
status4Flag
!=
1
||
vm
.
isPreview
==
1
)
{
vm
.
tagsRegion
.
splice
(
vm
.
tagsRegion
.
indexOf
(
tag
),
1
);
vm
.
setCheckedKeys
(
vm
.
tagsRegion
);
}
...
...
@@ -315,6 +327,15 @@ export default {
//重构内容
return
allSelectedKeys
;
},
// 预览时设置全部不可以选
setDisable
(
r
)
{
r
.
disabled
=
true
;
if
(
r
.
children
.
length
)
{
for
(
let
i
=
0
;
i
<
r
.
children
.
length
;
i
++
)
{
vm
.
setDisable
(
r
.
children
[
i
])
}
}
}
}
}
</
script
>
...
...
src/components/education/template/setOrganization.vue
浏览文件 @
6b0a5cdc
...
...
@@ -36,7 +36,7 @@
</el-form-item>
<el-form-item
style=
"float:right;"
>
<el-upload
v-if=
"
idType == 1 &&
status4Flag != 1"
v-if=
"status4Flag != 1"
class=
"upload-excel"
action=
"#"
accept=
".xlsx"
...
...
@@ -44,11 +44,11 @@
:limit=
"1"
:before-upload=
"uploadOrganization"
>
<el-button
size=
"small"
>
导入机构名单
</el-button>
<el-button
size=
"small"
:disabled=
"isPreview==1"
>
导入机构名单
</el-button>
<el-button
class=
"down-button"
slot=
"tip"
size=
"small"
@
click=
"download('organization')"
>
下载导入模板
</el-button>
</el-upload>
<div
v-if=
"
idType == 1 &&
status4Flag == 1"
>
<el-button
size=
"small"
@
click=
"dialogUpload = true"
>
导入机构名单
</el-button>
<div
v-if=
"status4Flag == 1"
>
<el-button
size=
"small"
@
click=
"dialogUpload = true"
:disabled=
"isPreview==1"
>
导入机构名单
</el-button>
<el-button
class=
"down-button"
slot=
"tip"
size=
"small"
@
click=
"download('organization')"
>
下载导入模板
</el-button>
</div>
</el-form-item>
...
...
@@ -94,8 +94,37 @@
:total=
"totalOrganization"
></el-pagination>
</div>
<el-dialog
title=
"导入失败"
:visible
.
sync=
"dialogFail"
width=
"30%"
class=
"dialog-fail"
center
>
<el-dialog
title=
"提醒"
:visible
.
sync=
"dialogUpload"
width=
"30%"
center
>
<p
style=
"text-align:center"
>
该项目为上架状态,确定要导入机构名单吗?
</p>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-upload
class=
"upload-excel"
action=
"#"
accept=
".xlsx"
:limit=
"1"
:before-upload=
"uploadOrganization"
>
<el-button
class=
"down-button-close"
slot=
"tip"
size=
"small"
@
click=
"dialogUpload = false"
>
取消
</el-button>
<el-button
@
click=
"closeUpload()"
type=
"primary"
size=
"small"
>
继续导入
</el-button>
</el-upload>
</span>
</el-dialog>
<el-dialog
title=
"导入成功"
:visible
.
sync=
"dialogSuccess"
width=
"30%"
class=
"dialog-success"
center
>
<p>
本次成功导入
<span
class=
"upload-text"
>
{{
updateNum
}}
条
</span>
数据
</p>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"dialogSuccess = false"
>
关闭
</el-button>
</span>
</el-dialog>
<el-dialog
title=
"导入失败"
:visible
.
sync=
"dialogFail"
width=
"30%"
class=
"dialog-fail"
center
>
<div
class=
"fail-type"
v-if=
"failType == 1"
>
<p>
导入数据量已超限额,请修正后再次导入
</p>
<p
class=
"fail-notice"
>
仅支持一次导入5000条数据
</p>
...
...
@@ -126,23 +155,6 @@
@
click=
"closeFail()"
>
重新导入
</el-button>
</el-upload>
<el-upload
v-if=
"uploadType == 'person'"
class=
"upload-button"
action=
"#"
accept=
".xlsx"
multiple
:limit=
"1"
:before-upload=
"uploadPerson"
>
<el-button
slot=
"tip"
class=
"down-button-close"
size=
"small"
@
click=
"dialogFail = false"
>
取消
</el-button>
<el-button
stype=
"position: absolute;top: -14px;"
type=
"primary"
size=
"small"
@
click=
"closeFail()"
>
重新导入
</el-button>
</el-upload>
</span>
</el-dialog>
</div>
...
...
@@ -167,6 +179,10 @@ export default {
projectId
:{
type
:
String
|
Number
,
default
:
''
},
status4Flag
:
{
type
:
String
|
Number
,
default
:
0
}
},
data
()
{
...
...
@@ -174,7 +190,6 @@ export default {
getRowKeys
(
row
)
{
return
row
.
id
;
},
status4Flag
:
''
,
checkTableState
:
{
multipleOrganization
:
""
,
multipleDepartment
:
""
,
...
...
@@ -240,11 +255,14 @@ export default {
}
}
},
regio
:
''
//设定行政范围选择的范围
regio
:
''
,
//设定行政范围选择的范围
dialogUpload
:
false
,
isPreview
:
1
// 是否预览
}
},
created
()
{
vm
=
this
;
vm
.
isPreview
=
vm
.
$route
.
query
.
isPreview
?
vm
.
$route
.
query
.
isPreview
:
0
;
vm
.
idType
=
localStorage
.
getItem
(
"storageIdType"
);
// vm.getOrganization();
vm
.
getRegionOption
();
...
...
@@ -278,7 +296,6 @@ export default {
if
(
res
.
code
==
"000000"
)
{
vm
.
tableOrganization
=
res
.
data
.
organizationList
;
vm
.
totalOrganization
=
res
.
data
.
total
;
vm
.
initOrganizationStatus
();
}
else
{
vm
.
$message
(
res
.
message
);
...
...
@@ -335,7 +352,7 @@ export default {
selectableTableList
(
row
,
index
)
{
console
.
log
(
'=========================selectableTableList'
)
// if (vm.status4Flag == 1) {
if
(
row
.
modifyFlag
==
1
)
{
if
(
row
.
modifyFlag
==
1
||
vm
.
isPreview
==
1
)
{
return
false
;
}
return
true
;
...
...
@@ -356,7 +373,7 @@ export default {
searchForm
.
name
==
""
)
{
vm
.
searchOrganizationType
=
""
;
vm
.
getOrganization
();
vm
.
getOrganization
(
vm
.
regio
);
}
else
{
vm
.
searchOrganizationType
=
"choose"
;
vm
.
getOrganizationChoose
();
...
...
@@ -431,7 +448,7 @@ export default {
if
(
vm
.
searchOrganizationType
==
"choose"
)
{
vm
.
getOrganizationChoose
();
}
else
{
vm
.
getOrganization
();
vm
.
getOrganization
(
vm
.
regio
);
}
},
//机构table中勾选一个
...
...
@@ -456,7 +473,7 @@ export default {
},
// 导入机构名单
uploadOrganization
(
file
)
{
console
.
log
(
'=========================uploadOrganization'
)
console
.
log
(
'=========================uploadOrganization'
)
vm
.
dialogFail
=
false
;
vm
.
uploadType
=
"org"
;
console
.
log
(
file
);
...
...
@@ -500,10 +517,6 @@ export default {
downloadUrl
=
getExeclUrl
(
"%E6%95%99%E5%9F%B9%E9%A1%B9%E7%9B%AE%E8%AE%BE%E7%BD%AE%E6%9C%BA%E6%9E%84%E5%AF%BC%E5%85%A5%E6%A8%A1%E6%9D%BF.xlsx"
);
}
else
if
(
type
==
"person"
)
{
downloadUrl
=
getExeclUrl
(
"%E6%95%99%E5%9F%B9%E9%A1%B9%E7%9B%AE%E8%AE%BE%E7%BD%AE%E4%BA%BA%E5%91%98%E5%AF%BC%E5%85%A5%E6%A8%A1%E6%9D%BF.xlsx"
);
}
else
if
(
type
==
"fail"
)
{
downloadUrl
=
vm
.
failExcelUrl
;
}
...
...
@@ -558,12 +571,9 @@ export default {
let
administrativeIdItem
=
operationData
.
setAdministrativeId
(
vm
.
formOrganization
.
administrativeIdList
);
console
.
log
(
'====================administrativeIdItem ================'
);
console
.
log
(
administrativeIdItem
);
console
.
log
(
'===================================='
);
let
req
=
{
projectId
:
vm
.
projectId
,
administrativeId
:
administrativeIdItem
,
administrativeId
:
administrativeIdItem
==
'000_0'
?
'000'
:
administrativeIdItem
,
hospitalLevel
:
vm
.
formOrganization
.
level
,
hospitalName
:
vm
.
formOrganization
.
name
,
pageNum
:
vm
.
formOrganization
.
pageNum
,
...
...
src/components/education/template/templateMessage.vue
浏览文件 @
6b0a5cdc
...
...
@@ -16,6 +16,7 @@
placeholder=
"请输入项目名称"
style=
"width:70%;"
ref=
"projectName"
:disabled=
"isPreview==1"
></el-input>
<span
class=
"word-num"
>
{{
(
formData
.
projectName
).
replace
(
/
\s
+/g
,
""
).
length
}}
/24
</span>
</el-col>
...
...
@@ -32,9 +33,10 @@
@
input=
"changeOrganizationName"
@
blur =
"blurName"
@
focus =
"focusName(index)"
:disabled=
"isPreview==1"
></el-input>
<span
class=
"word-num"
>
{{
(
formData
.
organizationNameList
[
index
]).
replace
(
/
\s
+/g
,
""
).
length
}}
/16
</span>
<img
@
click=
"plusOrg(index)"
class=
"edit-img"
src=
"../../../assets/image/plus.png"
/>
<img
@
click=
"plusOrg(index)"
class=
"edit-img"
src=
"../../../assets/image/plus.png"
v-if=
"isPreview!=1"
/>
<img
@
click=
"deleteOrg(index)"
v-if=
"index >= 1"
class=
"edit-img"
src=
"../../../assets/image/trash.png"
/>
</el-col>
<el-popover
...
...
@@ -59,7 +61,7 @@
value-format=
"yyyy-MM-dd HH:mm:ss"
:picker-options=
"pickerOptions0"
style=
"width: 100%;"
:disabled=
"formData.status4Flag == 1"
:disabled=
"formData.status4Flag == 1
|| isPreview==1
"
></el-date-picker>
</el-form-item>
</el-col>
...
...
@@ -75,6 +77,7 @@
:picker-options=
"pickerOptions1"
default-time=
"23:59:59"
style=
"width: 100%;"
:disabled=
"isPreview==1"
></el-date-picker>
</el-form-item>
</el-col>
...
...
@@ -178,6 +181,7 @@
placeholder="请输入项目简介"
v-model="formData.projectIntro"
style="width:83%;"
:disabled="isPreview==1"
>
</el-input>
<span
class=
"word-num"
>
{{
(
formData
.
projectIntro
).
replace
(
/
\s
+/g
,
""
).
length
}}
/200
</span>
</el-col>
...
...
@@ -340,6 +344,7 @@ export default {
confirmMsg: '取消',
hideMsg: '重新选择'
},
isPreview: 0
}
},
components: {
...
...
@@ -347,6 +352,7 @@ export default {
},
created() {
vm = this;
vm.isPreview = vm.$route.query.isPreview ? vm.$route.query.isPreview : 0;
if (vm.editor) {
// 编辑时
vm.disabled = false;
...
...
@@ -368,12 +374,11 @@ export default {
vm.formData.projectBegintime = vm.formData.projectBegintime ? new Date(vm.formData.projectBegintime) : '';
vm.formData.projectEndtime = vm.formData.projectBegintime ? new Date(vm.formData.projectEndtime) : '';
if (data.attachmentData[1]) {
// vm.formData.attachmentUrl2 = data.attachmentData[1].attachmentType == 1 ? data.attachmentData[1].attachmentUrl : '';
// vm.formData.attachmentUrl3 = data.attachmentData[1].attachmentType == 2 ? data.attachmentData[1].attachmentUrl : '';
vm.formData.attachmentUrl2 = data.attachmentData[1].attachmentUrl;
vm.formData.attachmentUrl2 = data.attachmentData[1].attachmentUrl;
vm.formData.type = data.attachmentData[1].attachmentType;
vm.formData.attachmentMore2 = Object.assign(vm.formData.attachmentMore2, data.attachmentData[1]);
}
vm.$emit('setStatus4Flag',data.projectData.status4Flag)
},
// 获取选择模板后的基本信息
getMessage() {
...
...
@@ -382,7 +387,7 @@ export default {
.then(res => {
closeLoading(vm);
if (res.code == "
000000
") {
this.$emit('hideSave',res.data.projectData.projectStatus
< 2
)
this.$emit('hideSave',res.data.projectData.projectStatus)
vm.setBaseMessage(res.data);
} else {
vm.$message.info(res.message);
...
...
@@ -400,7 +405,7 @@ export default {
.then(res => {
closeLoading(vm);
if (res.code == "
000000
") {
this.$emit('hideSave',res.data.projectData.projectStatus
< 2
)
this.$emit('hideSave',res.data.projectData.projectStatus)
vm.setBaseMessage(res.data)
} else {
vm.$message.info(res.message);
...
...
@@ -623,17 +628,24 @@ export default {
baseobj.attachmentPDFModel= null;
baseobj.notifyData= null;
openLoading(vm);
vm.POST("
portal
/
portalInfo
/
insertOrUpdate
", baseobj).then(res => {
closeLoading(vm);
if (res.code == "
000000
") {
// 下一步,并将项目id传递
vm.$emit('next',res.data.id);
} else if (res.code == "
213061
") {
vm.dialogObj.visible = true;
} else {
vm.$message.info(res.message);
}
});
vm.POST("
portal
/
portalInfo
/
insertOrUpdate
", baseobj)
.then(res => {
closeLoading(vm);
if (res.code == "
000000
") {
// 下一步,并将项目id传递给父组件
vm.$emit('next',res.data.id);
} else if (res.code == "
213061
") {
vm.dialogObj.visible = true;
} else {
vm.$message.warning(res.message);
}
})
.catch((err) => {
vm.$message({
type: "
warning
",
message: res.message
});
})
},
//表单校验
submitForm(formName) {
...
...
src/views/education/template-open.vue
浏览文件 @
6b0a5cdc
...
...
@@ -17,7 +17,7 @@
</el-col>
<el-col
:span=
"5"
:offset=
"5"
>
<div
v-if=
"!canNext"
class=
"dis-btn"
>
下一步
</div>
<el-button
v-if=
"active!=0 &&
showSave
"
size=
"small"
@
click=
"save"
>
暂存
</el-button>
<el-button
v-if=
"active!=0 &&
projectStatus==1
"
size=
"small"
@
click=
"save"
>
暂存
</el-button>
<el-button
v-if=
"active!==2 && canNext"
size=
"small"
type=
"primary"
@
click=
"nextStep"
>
下一步
</el-button>
<el-button
v-if=
"active==2"
size=
"small"
type=
"primary"
@
click=
"complete"
>
完成
</el-button>
</el-col>
...
...
@@ -37,16 +37,17 @@
@
next=
"next"
@
backSelectVue=
"backSelectVue"
@
hideSave=
"hideSave"
@
setStatus4Flag=
"setStatus4Flag"
/>
<!-- 选择学员 -->
<div
class=
"three-step"
v-if=
"active === 2"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClickTabs"
>
<el-tab-pane
label=
"设定行政范围"
name=
"first"
>
<select-region
ref=
"selectRegion"
:projectId=
"projectId"
></select-region>
<select-region
ref=
"selectRegion"
:projectId=
"projectId"
:status4Flag=
"status4Flag"
></select-region>
</el-tab-pane>
<el-tab-pane
label=
"设定机构"
name=
"second"
>
<set-organization
ref=
"setOrganization"
:projectId=
"projectId"
></set-organization>
<set-organization
ref=
"setOrganization"
:projectId=
"projectId"
:status4Flag=
"status4Flag"
></set-organization>
</el-tab-pane>
</el-tabs>
</div>
...
...
@@ -126,7 +127,8 @@ export default {
confirmMsg
:
'取消'
,
hideMsg
:
'确定发布'
},
showSave
:
false
projectStatus
:
1
,
//1.草稿 2.未上架 3.审核中/待审核 4.已上架 5.已下架 6.已拒绝/未上架
status4Flag
:
0
//0表示没有上过架,1表示上过架
}
},
components
:
{
...
...
@@ -146,6 +148,7 @@ export default {
commonUtil
.
resizeHeight
();
},
methods
:
{
// 判断是否为编辑状态
isEditorFn
(){
if
(
vm
.
$route
.
query
.
projectId
)
{
vm
.
projectId
=
vm
.
$route
.
query
.
projectId
;
...
...
@@ -154,18 +157,19 @@ export default {
vm
.
canNext
=
true
;
}
},
// 下一步
//
按钮点击
下一步
nextStep
()
{
if
(
vm
.
active
==
0
)
{
vm
.
checkSelectTemplate
()
return
;
}
if
(
vm
.
active
==
1
)
{
// 调用项目信息中的下一步操作
vm
.
$refs
.
templateMessage
.
nextStep
();
return
;
}
},
// 填写项目信息组件的下一步回调
// 填写项目信息组件的下一步回调
(获取项目id)
next
(
id
)
{
vm
.
projectId
=
id
;
vm
.
active
=
2
;
...
...
@@ -183,8 +187,14 @@ export default {
},
// 完成
complete
()
{
vm
.
sendObj
.
visible
=
true
;
// 4不弹框
if
(
vm
.
projectStatus
!=
4
)
{
vm
.
sendObj
.
visible
=
true
;
}
else
{
vm
.
hidefn
();
}
},
// 完成触发的接口
hidefn
()
{
vm
.
regionComplete
(
vm
.
changeStatus
());
},
...
...
@@ -197,18 +207,25 @@ export default {
flag
:
fishFn
?
3
:
1
,
//0:下一步 1:暂存
};
openLoading
(
vm
);
vm
.
POST
(
"portal/new/scope"
,
req
).
then
(
res
=>
{
closeLoading
(
vm
);
if
(
res
.
code
==
'000000'
&&
fishFn
)
{
fishFn
();
}
if
(
!
fishFn
)
{
vm
.
POST
(
"portal/new/scope"
,
req
)
.
then
(
res
=>
{
closeLoading
(
vm
);
if
(
res
.
code
==
'000000'
&&
fishFn
)
{
fishFn
();
}
if
(
!
fishFn
)
{
vm
.
$message
({
type
:
"info"
,
message
:
res
.
message
});
}
})
.
catch
(()
=>
{
vm
.
$message
({
type
:
"
info
"
,
type
:
"
warning
"
,
message
:
res
.
message
});
}
});
})
},
// 完成后更改状态
changeStatus
()
{
...
...
@@ -219,11 +236,18 @@ export default {
vm
.
POST
(
"portal/portalInfo/changeStatus"
,
req
)
.
then
(
res
=>
{
vm
.
sendObj
.
visible
=
false
;
let
query
=
{};
if
(
vm
.
$route
.
query
.
pageNum
)
{
query
=
{
pageNum
:
vm
.
$route
.
query
.
pageNum
};
if
(
res
.
code
==
'000000'
)
{
let
query
=
{};
if
(
vm
.
$route
.
query
.
pageNum
)
{
query
=
{
pageNum
:
vm
.
$route
.
query
.
pageNum
};
}
vm
.
$router
.
push
({
path
:
"item-manager"
,
query
:
query
});
}
else
{
vm
.
$message
({
type
:
"warning"
,
message
:
res
.
message
});
}
vm
.
$router
.
push
({
path
:
"item-manager"
,
query
:
query
});
})
.
catch
(()
=>
{
vm
.
$message
({
...
...
@@ -285,8 +309,12 @@ export default {
vm
.
active
=
0
;
},
// 是否隐藏暂存按钮
hideSave
(
flag
)
{
this
.
showSave
=
flag
;
hideSave
(
num
)
{
this
.
projectStatus
=
num
;
},
// 从子组件(项目信息)获取项目状态是否为上架
setStatus4Flag
(
s
)
{
vm
.
status4Flag
=
s
;
}
}
}
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录