Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
X
xxx_phase2_web
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
夏敏伟
xxx_phase2_web
Commits
a2163b05
Commit
a2163b05
authored
Jul 04, 2024
by
高飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改信息ZP评审新增功能,左侧tree拖拽问题,头部展示一级标签
parent
2809615b
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
478 additions
and
31 deletions
+478
-31
src/constant/user.js
src/constant/user.js
+11
-2
src/view/fzjc/wjfx.vue
src/view/fzjc/wjfx.vue
+11
-7
src/view/sjgl/rwk_data_public.vue
src/view/sjgl/rwk_data_public.vue
+1
-1
src/view/sjgl/wx_data_public.vue
src/view/sjgl/wx_data_public.vue
+14
-4
src/view/sjgl/wxk_public.vue
src/view/sjgl/wxk_public.vue
+441
-17
No files found.
src/constant/user.js
View file @
a2163b05
...
@@ -9,10 +9,19 @@ export const HTTP_STATUS = { message: "服务请求失败", code: 9004 };
...
@@ -9,10 +9,19 @@ export const HTTP_STATUS = { message: "服务请求失败", code: 9004 };
/**
/**
* 邮件系统
* 邮件系统
*/
*/
export
const
MAIL_ADDRESS
=
"
http://6.1.22.93:8000
"
;
export
const
MAIL_MANAGER_ADDRESS
=
"
http://6.1.22.93:8010
"
;
//移机前内网地址
// export const MAIL_ADDRESS = "http://6.1.22.93:8000";
// export const MAIL_MANAGER_ADDRESS = "http://6.1.22.93:8010";
// export const MAIL_DOMAIN = "zyyt.com"
//内网地址
export
const
MAIL_ADDRESS
=
"
http://192.168.23.93:8000
"
;
export
const
MAIL_MANAGER_ADDRESS
=
"
http://192.168.23.93:8010
"
;
export
const
MAIL_DOMAIN
=
"
zyyt.com
"
export
const
MAIL_DOMAIN
=
"
zyyt.com
"
//开发环境地址
// export const MAIL_ADDRESS = "http://192.168.168.100:8000";
// export const MAIL_ADDRESS = "http://192.168.168.100:8000";
// export const MAIL_MANAGER_ADDRESS = "http://192.168.168.100:8010";
// export const MAIL_MANAGER_ADDRESS = "http://192.168.168.100:8010";
// export const MAIL_DOMAIN = "zyyt.com"
// export const MAIL_DOMAIN = "zyyt.com"
...
...
src/view/fzjc/wjfx.vue
View file @
a2163b05
<
template
>
<
template
>
<div
id=
"wjfx_fzjc"
>
<div
id=
"wjfx_fzjc"
>
<div
style=
"width: 100%;float: left;"
>
<div
style=
"width: 100%;float: left;"
>
<
!--
<
ul
class=
"uls"
>
<ul
class=
"uls"
>
<li
@
click=
"clickButtomTop()"
>
文档列表>
</li>
<li
@
click=
"clickButtomTop()"
>
文档列表>
</li>
<li
v-for=
"(item) in trees"
@
click=
"clickButtom(item)"
>
{{
item
.
label
+
'
>
'
}}
</li>
<li
v-for=
"(item) in trees"
@
click=
"clickButtom(item)"
>
{{
item
.
label
+
'
>
'
}}
</li>
</ul>
-->
</ul>
<
!--
<
ul
class=
"uls uls1"
>
<ul
class=
"uls uls1"
>
<li
v-for=
"(item) in treesChildren"
@
click=
"clickButtom(item)"
:class=
"[expandedArr[0]==item.id?'active':'']"
>
{{
item
.
label
}}
</li>
<li
v-for=
"(item) in treesChildren"
@
click=
"clickButtom(item)"
:class=
"[expandedArr[0]==item.id?'active':'']"
>
{{
item
.
label
}}
</li>
</ul>
-->
</ul>
<!--
<div
v-for=
"(item, index) in modules"
style=
"width: 200px;float: left;"
>
<!--
<div
v-for=
"(item, index) in modules"
style=
"width: 200px;float: left;"
>
<el-menu
background-color=
"red"
text-color=
"#fff"
active-text-color=
"#010008"
>
<el-menu
background-color=
"red"
text-color=
"#fff"
active-text-color=
"#010008"
>
<NavMenu
:navMenus=
"item"
></NavMenu>
<NavMenu
:navMenus=
"item"
></NavMenu>
...
@@ -166,8 +166,10 @@ export default {
...
@@ -166,8 +166,10 @@ export default {
this
.
$refs
.
tree
.
setCurrentKey
(
4
);
this
.
$refs
.
tree
.
setCurrentKey
(
4
);
});
});
this
.
currentRole
=
"
navs
"
;
this
.
currentRole
=
"
navs
"
;
this
.
clientDetails
=
{
type
:
4
};
this
.
clientDetails
=
{
type
:
[
4
]
};
this
.
expandedArr
=
[
4
]
this
.
expandedArr
=
[
4
];
this
.
checkList
=
[];
this
.
$refs
.
tree
.
setCheckedKeys
([]);
},
},
clickButtom
(
item
)
{
clickButtom
(
item
)
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
...
@@ -175,7 +177,9 @@ export default {
...
@@ -175,7 +177,9 @@ export default {
});
});
// this.$refs.tree.setCurrentKey([item.id]);
// this.$refs.tree.setCurrentKey([item.id]);
this
.
currentRole
=
"
navs
"
;
this
.
currentRole
=
"
navs
"
;
this
.
clientDetails
=
{
type
:
item
.
id
};
this
.
clientDetails
=
{
type
:
[
item
.
id
]
};
this
.
checkList
=
[
item
];
this
.
$refs
.
tree
.
setCheckedKeys
(
this
.
checkList
.
map
((
item
)
=>
{
return
item
.
id
}));
this
.
expandedArr
=
[
item
.
id
];
this
.
expandedArr
=
[
item
.
id
];
// let arr = this.getPathById(this.tree, item.id);
// let arr = this.getPathById(this.tree, item.id);
// if (arr != undefined) {
// if (arr != undefined) {
...
...
src/view/sjgl/rwk_data_public.vue
View file @
a2163b05
...
@@ -345,7 +345,7 @@
...
@@ -345,7 +345,7 @@
v-model=
"option_value_rwmb_pl"
v-model=
"option_value_rwmb_pl"
@
change=
"fun_change"
@
change=
"fun_change"
placeholder=
"请选择对应模板"
placeholder=
"请选择对应模板"
style=
"mar
ing-top=10px;
"
style=
"mar
gin-top:10px
"
>
>
<el-option
<el-option
v-for=
"item in option_rwmb_pl"
v-for=
"item in option_rwmb_pl"
...
...
src/view/sjgl/wx_data_public.vue
View file @
a2163b05
...
@@ -54,7 +54,7 @@
...
@@ -54,7 +54,7 @@
</div>
</div>
</div>
</div>
<div
class=
"right-div"
>
<div
class=
"right-div"
>
<component
:is=
"currentRole"
:clientDetails=
"clientDetails_s"
:treeData=
"tree_data"
ref=
"mychild"
/>
<component
:is=
"currentRole"
:clientDetails=
"clientDetails_s"
:treeData=
"tree_data"
:psxzTreeData=
"psxz_tree_data"
ref=
"mychild"
/>
</div>
</div>
<el-dialog
title=
"新增文件夹"
:visible.sync=
"dialogVisible"
>
<el-dialog
title=
"新增文件夹"
:visible.sync=
"dialogVisible"
>
<span
class=
"dialogContent"
><span><span
style=
"color:red"
>
*
</span>
名称:
</span>
<span
class=
"dialogContent"
><span><span
style=
"color:red"
>
*
</span>
名称:
</span>
...
@@ -89,6 +89,7 @@ export default {
...
@@ -89,6 +89,7 @@ export default {
clientDetails_s
:
{
type
:
[
this
.
fl_type
],
module_name
:
this
.
module_name
,
type_folder
:
this
.
type_folder
,
fl_type
:
this
.
fl_type
},
clientDetails_s
:
{
type
:
[
this
.
fl_type
],
module_name
:
this
.
module_name
,
type_folder
:
this
.
type_folder
,
fl_type
:
this
.
fl_type
},
currentRole
:
"
navs
"
,
currentRole
:
"
navs
"
,
tree_data
:
[],
//左侧树结构的数据
tree_data
:
[],
//左侧树结构的数据
psxz_tree_data
:[],
//特殊结构--评审库
dialogVisible
:
false
,
//新增子节点弹出框
dialogVisible
:
false
,
//新增子节点弹出框
dialogVisible_edit
:
false
,
dialogVisible_edit
:
false
,
name_edit
:
''
,
name_edit
:
''
,
...
@@ -121,11 +122,18 @@ export default {
...
@@ -121,11 +122,18 @@ export default {
}
}
},
},
nodeDragEnd
(
sNode
,
eNode
,
position
,
evt
){
nodeDragEnd
(
sNode
,
eNode
,
position
,
evt
){
console
.
log
(
eNode
)
if
(
eNode
==
null
||
sNode
.
id
==
eNode
.
id
){
if
(
eNode
==
null
||
sNode
.
id
==
eNode
.
id
){
return
;
return
;
}
}
let
str
=
''
if
(
position
==
'
inner
'
){
//内部
str
=
"
此操作永久将
"
+
sNode
.
data
.
label
+
"
及其下所有文件夹转移到
"
+
eNode
.
data
.
label
+
"
中, 是否继续?
"
;
}
else
{
str
=
"
此操作永久将
"
+
sNode
.
data
.
label
+
"
及其下所有文件夹转移到和
"
+
eNode
.
data
.
label
+
"
同级中, 是否继续?
"
;
}
this
.
$confirm
(
this
.
$confirm
(
"
此操作永久将
"
+
sNode
.
data
.
label
+
"
及其下所有文件夹到
"
+
eNode
.
data
.
label
+
"
中, 是否继续?
"
,
str
,
"
提示
"
,
"
提示
"
,
{
{
confirmButtonText
:
"
确定
"
,
confirmButtonText
:
"
确定
"
,
...
@@ -135,8 +143,8 @@ export default {
...
@@ -135,8 +143,8 @@ export default {
).
then
(
res
=>
{
).
then
(
res
=>
{
return
post
(
"
api/rest/3z/document/moveDocumentTreeItem
"
,
{
return
post
(
"
api/rest/3z/document/moveDocumentTreeItem
"
,
{
id
:
sNode
.
data
.
id
,
//当前节点
id
:
sNode
.
data
.
id
,
//当前节点
destCode
:
eNode
.
data
.
parentCode
,
//目标节点
destCode
:
position
==
'
inner
'
?
eNode
.
data
.
code
:
eNode
.
data
.
level
==
1
?
null
:
eNode
.
data
.
parentCode
,
//目标节点
level
:
eNode
.
data
.
level
//目标节点id
level
:
position
==
'
inner
'
?
eNode
.
data
.
level
+
1
:
eNode
.
data
.
level
//目标节点
});
});
}).
then
(
res
=>
{
}).
then
(
res
=>
{
this
.
$message
.
success
(
"
转移成功
"
);
this
.
$message
.
success
(
"
转移成功
"
);
...
@@ -293,6 +301,8 @@ export default {
...
@@ -293,6 +301,8 @@ export default {
level
:
0
,
level
:
0
,
children
:
res
children
:
res
}];
}];
this
.
psxz_tree_data
=
res
.
filter
(
item
=>
item
.
label
==
'
评审库
'
);
this
.
currentRole
=
"
navs
"
;
this
.
currentRole
=
"
navs
"
;
// let arr = [this.fl_type];
// let arr = [this.fl_type];
// if (res.length > 0) {
// if (res.length > 0) {
...
...
src/view/sjgl/wxk_public.vue
View file @
a2163b05
...
@@ -25,6 +25,7 @@
...
@@ -25,6 +25,7 @@
</el-tooltip>
-->
</el-tooltip>
-->
<div
class=
"button-discuss1"
@
click=
"handleAdd()"
>
新增
</div>
<div
class=
"button-discuss1"
@
click=
"handleAdd()"
>
新增
</div>
<div
class=
"button-discuss1"
@
click=
"bigFileUploadAdd()"
>
大文件新增
</div>
<div
class=
"button-discuss1"
@
click=
"bigFileUploadAdd()"
>
大文件新增
</div>
<div
class=
"button-discuss1"
@
click=
"handleAddPsxz()"
>
评审新增
</div>
</div>
</div>
<div
class=
"bottom-div"
>
<div
class=
"bottom-div"
>
<transition
name=
"el-zoom-in-top"
v-on:after-leave=
"afterLeave_lb"
>
<transition
name=
"el-zoom-in-top"
v-on:after-leave=
"afterLeave_lb"
>
...
@@ -230,7 +231,7 @@
...
@@ -230,7 +231,7 @@
show-word-limit
:rows=
"4"
>
show-word-limit
:rows=
"4"
>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"选择文件"
style=
"margin-bottom: 0px"
prop=
"fileList"
>
<el-form-item
label=
"选择文件"
prop=
"fileList"
>
<el-upload
class=
"upload-demo"
ref=
"upload"
action=
"uploadUrl"
:file-list=
"form_add.fileList"
<el-upload
class=
"upload-demo"
ref=
"upload"
action=
"uploadUrl"
:file-list=
"form_add.fileList"
:on-change=
"handleChange"
:show-file-list=
"true"
:auto-upload=
"false"
:multiple=
"false"
:on-change=
"handleChange"
:show-file-list=
"true"
:auto-upload=
"false"
:multiple=
"false"
:on-remove=
"handleRemove"
:accept=
"format_files"
>
:on-remove=
"handleRemove"
:accept=
"format_files"
>
...
@@ -253,6 +254,63 @@
...
@@ -253,6 +254,63 @@
</span>
</span>
</el-dialog>
</el-dialog>
<el-dialog
v-if=
"Visible_PsxzAdd"
title=
"评审新增"
:visible.sync=
"Visible_PsxzAdd"
width=
"30%"
center
class=
"xzwd psxz"
>
<el-form
:model=
"form_PsxzAdd"
label-width=
"80px"
style=
"margin-bottom: 0px"
ref=
"formsPsxz"
:rules=
"rulesPsxz"
>
<el-form-item
label=
"文档名称"
prop=
"name"
>
<el-input
v-model=
"form_PsxzAdd.name"
maxlength=
"20"
show-word-limit
placeholder=
"请输入文档名称"
></el-input>
</el-form-item>
<!-- <el-form-item label="文档类别">
<el-select v-model="form_add.region" placeholder="请选择文档类别">
<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
label=
"关键词"
>
<el-input
v-model=
"form_PsxzAdd.gjc"
show-word-limit
placeholder=
"请输入关键词,多个关键词使用英文逗号,隔开"
></el-input>
</el-form-item>
<el-form-item
label=
"文档描述"
>
<el-input
type=
"textarea"
placeholder=
"请输入文档描述"
v-model=
"form_PsxzAdd.ms"
maxlength=
"100"
show-word-limit
:rows=
"4"
>
</el-input>
</el-form-item>
<el-form-item
label=
"选择文件"
prop=
"fileList"
>
<el-upload
class=
"upload-demo"
ref=
"upload"
action=
"uploadUrl"
:file-list=
"form_PsxzAdd.fileList"
:on-change=
"handleChangePsxz"
:show-file-list=
"true"
:auto-upload=
"false"
:multiple=
"false"
:on-remove=
"handleRemovePsxz"
:accept=
"format_files"
>
<el-button
slot=
"trigger"
size=
"small"
type=
"primary"
>
选取文件
</el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
>
允许上传DOC、PPT、JPG、PNG、MP4等等 ,且不超过500M
</div>
</el-upload>
</el-form-item>
<el-form-item
label=
"预选节点"
prop=
"fileList1"
>
<el-upload
class=
"upload-demo"
ref=
"upload"
action=
"uploadUrl"
:file-list=
"form_PsxzAdd.fileList1"
:on-change=
"handleChangePsxzExcel"
:show-file-list=
"true"
:auto-upload=
"false"
:multiple=
"false"
:on-remove=
"handleRemovePsxzExcel"
accept=
"['.XLS','.XLSX']"
>
<el-button
slot=
"trigger"
size=
"small"
type=
"primary"
>
选取文件
</el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
>
只允许上传XLSX文件
</div>
</el-upload>
</el-form-item>
<el-form-item
label=
"选择目录"
>
<el-tree
class=
"myTree"
:data=
"psxz_tree_data"
node-key=
"id"
show-checkbox
:expand-on-click-node=
"false"
highlight-current
:props=
"defaultProps"
:check-strictly=
"true"
ref=
"treePsxz"
:default-expanded-keys=
"psxzIds"
@
check-change=
"handleCheckChangePsxz"
:indent=
1
>
</el-tree>
</el-form-item>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"Visible_PsxzAdd = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"submitPsxz"
>
确 定
</el-button>
</span>
</el-dialog>
<el-dialog
title=
"编辑文档"
:visible.sync=
"centerDialogVisible_edit"
width=
"30%"
center
>
<el-dialog
title=
"编辑文档"
:visible.sync=
"centerDialogVisible_edit"
width=
"30%"
center
>
<el-form
:model=
"form_edit"
label-width=
"80px"
ref=
"forms1"
:rules=
"rules"
>
<el-form
:model=
"form_edit"
label-width=
"80px"
ref=
"forms1"
:rules=
"rules"
>
<el-form-item
label=
"文档名称"
prop=
"name"
>
<el-form-item
label=
"文档名称"
prop=
"name"
>
...
@@ -337,6 +395,7 @@ import FileCopy from "../../components/common/filecopy.vue";
...
@@ -337,6 +395,7 @@ import FileCopy from "../../components/common/filecopy.vue";
import
{
fileMd5Sum
,
getFileMD5Progress
}
from
'
../../util/file_md5.js
'
;
import
{
fileMd5Sum
,
getFileMD5Progress
}
from
'
../../util/file_md5.js
'
;
import
VideoPlayer
from
"
../../components/common/video_player.vue
"
;
import
VideoPlayer
from
"
../../components/common/video_player.vue
"
;
import
{
downloadFile
,
downloadDocument
}
from
"
../../api/xxxl/llxx
"
;
import
{
downloadFile
,
downloadDocument
}
from
"
../../api/xxxl/llxx
"
;
import
XLSX
from
"
xlsx
"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -345,6 +404,7 @@ export default {
...
@@ -345,6 +404,7 @@ export default {
centerDialogVisible_edit
:
false
,
centerDialogVisible_edit
:
false
,
centerDialogVisible_video
:
false
,
centerDialogVisible_video
:
false
,
centerDialogVisible_sound
:
false
,
centerDialogVisible_sound
:
false
,
Visible_PsxzAdd
:
false
,
title
:
""
,
//视频播放页面的titile
title
:
""
,
//视频播放页面的titile
title_sound
:
""
,
//音频播放页面的titile
title_sound
:
""
,
//音频播放页面的titile
title_txt
:
""
,
title_txt
:
""
,
...
@@ -364,6 +424,14 @@ export default {
...
@@ -364,6 +424,14 @@ export default {
ms
:
""
,
ms
:
""
,
gjc
:
""
,
gjc
:
""
,
},
},
form_PsxzAdd
:{
name
:
""
,
region
:
""
,
fileList
:
[],
fileList1
:[],
ms
:
""
,
gjc
:
""
,
},
form_edit
:
{
form_edit
:
{
name
:
""
,
name
:
""
,
region
:
""
,
region
:
""
,
...
@@ -393,6 +461,7 @@ export default {
...
@@ -393,6 +461,7 @@ export default {
znjsfx_name
:
""
,
znjsfx_name
:
""
,
clientDetails_type
:
[],
//默认查询id为21的方案预案
clientDetails_type
:
[],
//默认查询id为21的方案预案
clientDetails_check_type
:
[],
clientDetails_check_type
:
[],
clientDetails_check_typePsxz
:[],
ids
:
""
,
ids
:
""
,
module_name
:
''
,
module_name
:
''
,
fl_type
:
''
,
fl_type
:
''
,
...
@@ -404,7 +473,21 @@ export default {
...
@@ -404,7 +473,21 @@ export default {
{
required
:
true
,
message
:
'
请选择文件
'
,
trigger
:
'
change
'
}
{
required
:
true
,
message
:
'
请选择文件
'
,
trigger
:
'
change
'
}
]
]
},
},
rulesPsxz
:
{
name
:
[
{
required
:
true
,
message
:
'
请输入文档
'
,
trigger
:
'
blur
'
},
],
fileList
:
[
{
required
:
true
,
message
:
'
请选择文件
'
,
trigger
:
'
change
'
}
],
fileList1
:
[
{
required
:
true
,
message
:
'
请选择文件
'
,
trigger
:
'
change
'
}
]
},
tree_data
:
[],
tree_data
:
[],
psxz_tree_data
:[],
psxz_tree_dataCopy
:[],
psxzIds
:[],
defaultProps
:
{
defaultProps
:
{
children
:
'
children
'
,
children
:
'
children
'
,
label
:
'
label
'
label
:
'
label
'
...
@@ -412,6 +495,7 @@ export default {
...
@@ -412,6 +495,7 @@ export default {
centerDialogVisible_fileCopy
:
false
,
centerDialogVisible_fileCopy
:
false
,
copyfileId
:
''
,
copyfileId
:
''
,
defaultTreeId
:
''
,
defaultTreeId
:
''
,
parameterArr
:[],
};
};
},
},
components
:
{
components
:
{
...
@@ -427,6 +511,10 @@ export default {
...
@@ -427,6 +511,10 @@ export default {
treeData
:
{
treeData
:
{
type
:
Array
,
type
:
Array
,
default
:
[]
default
:
[]
},
psxzTreeData
:
{
type
:
Array
,
default
:
[]
}
}
},
},
methods
:
{
methods
:
{
...
@@ -444,7 +532,6 @@ export default {
...
@@ -444,7 +532,6 @@ export default {
"
&treeIds=
"
+
"
&treeIds=
"
+
data
.
data
.
join
(
'
,
'
),
data
.
data
.
join
(
'
,
'
),
).
then
((
data
)
=>
{
).
then
((
data
)
=>
{
// console.log();
if
(
data
==
1
){
if
(
data
==
1
){
this
.
$message
({
this
.
$message
({
type
:
"
success
"
,
type
:
"
success
"
,
...
@@ -818,13 +905,6 @@ export default {
...
@@ -818,13 +905,6 @@ export default {
//新增弹出框弹出
//新增弹出框弹出
handleAdd
()
{
handleAdd
()
{
// if (this.clientDetails_check_type.length == 0 || this.clientDetails_check_type.includes(1) || this.clientDetails_check_type.includes(2) || this.clientDetails_check_type.includes(3) || this.clientDetails_check_type.includes(4)) {
// this.$message({
// type: "warning",
// message: "请选择文档列表子节点",
// });
// return;
// }
let
_this
=
this
;
let
_this
=
this
;
//设置下拉框默认选择第一条
//设置下拉框默认选择第一条
// _this.form_add.region = _this.options[0].value;
// _this.form_add.region = _this.options[0].value;
...
@@ -834,14 +914,17 @@ export default {
...
@@ -834,14 +914,17 @@ export default {
},
200
)
},
200
)
},
},
//评审新增弹出框弹出
handleAddPsxz
()
{
let
_this
=
this
;
//设置下拉框默认选择第一条
// _this.form_add.region = _this.options[0].value;
_this
.
Visible_PsxzAdd
=
true
;
setTimeout
(
function
()
{
_this
.
$refs
.
formsPsxz
.
resetFields
();
},
200
)
},
bigFileUploadAdd
()
{
//弹出
bigFileUploadAdd
()
{
//弹出
// if (this.clientDetails_check_type.length == 0 || this.clientDetails_check_type.includes(1) || this.clientDetails_check_type.includes(2) || this.clientDetails_check_type.includes(3) || this.clientDetails_check_type.includes(4)) {
// this.$message({
// type: "warning",
// message: "请选择文档列表子节点",
// });
// return;
// }
let
_this
=
this
;
let
_this
=
this
;
_this
.
centerDialogVisible_bigFile
=
true
;
_this
.
centerDialogVisible_bigFile
=
true
;
},
},
...
@@ -1002,7 +1085,117 @@ export default {
...
@@ -1002,7 +1085,117 @@ export default {
}
}
});
});
},
},
//评审弹出框确定(文件上传)
submitPsxz
()
{
this
.
$refs
[
'
formsPsxz
'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
//此处是获取选择的下拉框(文件类别)的laber,如:国际法
if
(
this
.
form_PsxzAdd
.
name
==
""
)
{
this
.
$message
({
type
:
"
warning
"
,
message
:
"
文件名称不能为空!
"
,
});
return
;
}
if
(
this
.
form_PsxzAdd
.
fileList
.
length
==
0
)
{
this
.
$message
({
type
:
"
warning
"
,
message
:
"
未选择文件!
"
,
});
return
;
}
if
(
this
.
form_PsxzAdd
.
fileList1
.
length
==
0
)
{
this
.
$message
({
type
:
"
warning
"
,
message
:
"
未选择文件!
"
,
});
return
;
}
else
{
let
file_ext
=
this
.
form_PsxzAdd
.
fileList
[
0
].
name
.
substring
(
lastIndexOf
(
this
.
form_PsxzAdd
.
fileList
[
0
].
name
,
"
.
"
)
+
1
,
this
.
form_PsxzAdd
.
fileList
[
0
].
name
.
length
);
let
fileInfo
=
{
createId
:
this
.
$store
.
getters
.
userInfo
.
account
,
description
:
this
.
form_PsxzAdd
.
ms
,
file
:
{
name
:
this
.
form_PsxzAdd
.
fileList
[
0
].
name
,
size
:
this
.
form_PsxzAdd
.
fileList
[
0
].
size
,
type
:
file_ext
,
uuid
:
uuid
()
+
"
.
"
+
file_ext
,
},
treeId
:
this
.
clientDetails_check_typePsxz
.
join
(
'
,
'
),
name
:
this
.
form_PsxzAdd
.
name
,
keyword
:
this
.
form_PsxzAdd
.
gjc
.
trim
(),
module
:
this
.
module_name
};
//单个文件上传
let
load
=
startLoadingProgress
(
"
0%
"
);
let
self
=
this
;
this
.
centerDialogVisible_add
=
false
;
load
.
text
=
""
;
let
md5
=
""
;
let
file
=
null
;
//获取md5
getFileMD5Progress
(
this
.
form_PsxzAdd
.
fileList
[
0
].
raw
,
(
progress
)
=>
{
load
.
text
=
"
解析中:
"
+
progress
;
}).
then
(
res
=>
{
md5
=
res
.
md5
;
file
=
res
.
file
;
return
this
.
checkFileExist
(
md5
);
//检查文件是否存在
}).
then
(
result
=>
{
if
(
!
result
)
{
// let fd = new FormData();
// fd.append("file", file);
// fd.append("filename", md5);
// fd.append("bucket", "MERGE");
// return fileUploadProgress("api/rest/file/upload", fd, res => {//文件上传
// load.text = "上传中:" + res;
// });
return
uploadOSSProgress
(
md5
,
"
MERGE
"
,
file
,
res
=>
{
//文件上传
load
.
text
=
"
上传中:
"
+
res
;
});
}
else
{
return
Promise
.
reject
({
message
:
"
文件已存在
"
});
}
})
.
then
(
res
=>
{
let
fd1
=
new
FormData
();
fd1
.
append
(
"
info
"
,
JSON
.
stringify
(
fileInfo
));
fd1
.
append
(
"
md5
"
,
md5
);
fd1
.
append
(
"
destFilename
"
,
fileInfo
.
file
.
uuid
);
load
.
text
=
"
完成中
"
;
return
fileUpload_PUT
(
"
api/rest/3z/document/upload
"
,
fd1
);
//文件信息上传
}).
then
(
res
=>
{
this
.
parameterArr
.
map
(
i
=>
{
i
.
documentId
=
res
;
})
console
.
log
(
this
.
parameterArr
)
return
post
(
"
api/rest/3z/document/addAttachment
"
,
this
.
parameterArr
)
}).
then
(
res
=>
{
this
.
$message
.
success
(
'
上传成功
'
);
endLoading
();
this
.
Visible_PsxzAdd
=
false
;
console
.
log
(
"
loaded
"
);
self
.
handleCurrentChange_lb
(
1
);
this
.
clientDetails_check_typePsxz
=
[];
}).
catch
(
err
=>
{
endLoading
();
console
.
log
(
"
error
"
);
this
.
$message
.
warning
(
err
.
message
);
});
}
}
});
},
haveSameElements
(
arr1
,
arr2
)
{
const
set1
=
new
Set
(
arr1
);
return
arr2
.
some
(
item
=>
set1
.
has
(
item
));
},
//上传文件中的删除
//上传文件中的删除
handleRemove
(
index
,
row
)
{
handleRemove
(
index
,
row
)
{
this
.
form_add
.
fileList
=
[];
this
.
form_add
.
fileList
=
[];
...
@@ -1028,6 +1221,148 @@ export default {
...
@@ -1028,6 +1221,148 @@ export default {
}
}
}
}
},
},
//上传文件中的删除
handleRemovePsxz
(
index
,
row
)
{
this
.
form_PsxzAdd
.
fileList
=
[];
},
//选择文件
handleChangePsxz
(
file
,
fileList
)
{
if
(
fileList
.
length
>
0
)
{
if
(
fileList
[
fileList
.
length
-
1
].
size
>
500
*
1024
*
1024
)
{
this
.
$message
({
type
:
"
warning
"
,
message
:
"
文件只能小于500M!
"
,
});
this
.
form_PsxzAdd
.
fileList
=
[];
return
;
}
else
{
this
.
form_PsxzAdd
.
fileList
=
[
fileList
[
fileList
.
length
-
1
]];
// 这一步,是展示最后一次选择的文件
this
.
$refs
.
formsPsxz
.
validateField
(
'
fileList
'
)
//选中文件,将文件名绑定到文档名称中
this
.
form_PsxzAdd
.
name
||
(
this
.
form_PsxzAdd
.
name
=
file
.
name
);
// if (lastIndexOf(file.name, ".") != -1) {
// this.form_add.name = file.name.substring(0, lastIndexOf(file.name, "."));
// }
}
}
},
//上传文件中的删除
handleRemovePsxzExcel
(
index
,
row
)
{
this
.
form_PsxzAdd
.
fileList1
=
[];
},
//选择文件
handleChangePsxzExcel
(
file
,
fileList
)
{
this
.
psxz_tree_data
=
this
.
deepClone
(
this
.
psxz_tree_dataCopy
);
this
.
psxzIds
=
[];
if
(
fileList
.
length
>
0
)
{
this
.
form_PsxzAdd
.
fileList1
=
[
fileList
[
fileList
.
length
-
1
]];
// 这一步,是展示最后一次选择的文件
this
.
$refs
.
formsPsxz
.
validateField
(
'
fileList1
'
);
this
.
file2Xce
(
file
).
then
((
tabJson
)
=>
{
if
(
tabJson
&&
tabJson
.
length
>
0
)
{
let
obj_tab
=
[];
//Excel表格的基础数据集合
this
.
arr_table
=
[];
tabJson
.
forEach
((
item
,
index
)
=>
{
if
(
index
==
0
)
{
obj_tab
=
item
.
sheet
;
}
});
let
obj
=
[];
obj_tab
.
forEach
((
item
,
index
)
=>
{
if
(
index
<=
3
){
let
arr
=
Object
.
values
(
item
);
obj
.
push
(
arr
);
}
});
let
idsArr
=
[];
this
.
parameterArr
=
[];
obj
.
forEach
(
item1
=>
{
let
arr
=
this
.
psxz_tree_data
[
0
].
children
.
filter
(
item
=>
item
.
label
==
item1
[
0
]);
if
(
arr
.
length
>
0
){
if
(
item1
[
1
]
!=
''
&&
item1
[
1
]
!=
undefined
){
item1
[
1
]
=
item1
[
1
]
+
''
;
// let arrItem = item1[1].split(',');
// arrItem.forEach(i=>{
// })
let
arrChildren
=
arr
[
0
].
children
.
filter
(
item
=>
item
.
label
==
item1
[
1
]);
if
(
arrChildren
.
length
>
0
){
idsArr
.
push
(
arrChildren
[
0
].
id
);
this
.
parameterArr
.
push
({
name
:
arr
[
0
].
label
,
value
:
arrChildren
[
0
].
label
})
}
}
}
else
{
//当前4大类没找到其中对应的某一个如:没找到“产品类别代码”等
}
})
this
.
clientDetails_check_typePsxz
=
idsArr
;
this
.
$refs
.
treePsxz
.
setCheckedKeys
(
idsArr
);
let
str
=
''
;
this
.
psxzIds
=
[
this
.
psxz_tree_data
[
0
].
id
];
if
(
this
.
psxz_tree_data
.
length
>
0
){
if
(
this
.
psxz_tree_data
[
0
].
children
.
length
>
0
){
str
=
str
+
this
.
zjdsfxz
(
'
产品类别代码
'
);
str
=
str
+
this
.
zjdsfxz
(
'
年份代码
'
);
str
=
str
+
this
.
zjdsfxz
(
'
单位名称代码
'
);
str
=
str
+
this
.
zjdsfxz
(
'
产品类型代码
'
);
}
}
if
(
str
!=
''
){
let
mesg
=
str
.
replace
(
/
\n
/g
,
'
<br />
'
);
this
.
$message
({
type
:
'
warning
'
,
dangerouslyUseHTMLString
:
true
,
message
:
mesg
});
}
}
});
}
},
zjdsfxz
(
name
){
let
str
=
''
;
let
zjArr
=
this
.
psxz_tree_data
[
0
].
children
.
filter
(
item
=>
{
return
item
.
label
==
name
});
//获取当前类别对象
this
.
psxz_tree_data
[
0
].
id
;
if
(
zjArr
.
length
>
0
){
if
(
zjArr
[
0
].
children
.
length
>
0
){
let
arrId
=
[];
zjArr
[
0
].
children
.
forEach
(
i
=>
{
arrId
.
push
(
i
.
id
);
})
if
(
!
this
.
haveSameElements
(
this
.
clientDetails_check_typePsxz
,
arrId
)){
str
=
str
+
'
“
'
+
name
+
'
”子节点没有选中
\n
'
;
this
.
psxzIds
.
push
(
zjArr
[
0
].
id
);
}
}
}
return
str
},
//读取Excel数据
file2Xce
(
file
)
{
return
new
Promise
(
function
(
resolve
)
{
const
reader
=
new
FileReader
();
reader
.
onload
=
function
(
e
)
{
const
data
=
e
.
target
.
result
;
this
.
wb
=
XLSX
.
read
(
data
,
{
type
:
"
binary
"
,
});
const
result
=
[];
this
.
wb
.
SheetNames
.
forEach
((
sheetName
)
=>
{
result
.
push
({
sheetName
:
sheetName
,
sheet
:
XLSX
.
utils
.
sheet_to_json
(
this
.
wb
.
Sheets
[
sheetName
]),
});
});
resolve
(
result
);
};
reader
.
readAsBinaryString
(
file
.
raw
);
// reader.readAsBinaryString(file) // 传统input方法
});
},
//智能检索分析
//智能检索分析
onSubmit
()
{
onSubmit
()
{
if
(
this
.
gjc_input
!=
""
)
{
if
(
this
.
gjc_input
!=
""
)
{
...
@@ -1104,6 +1439,56 @@ export default {
...
@@ -1104,6 +1439,56 @@ export default {
return
item
!=
node
.
id
return
item
!=
node
.
id
})
})
}
}
},
handleCheckChangePsxz
(
node
,
isSelected
)
{
if
(
isSelected
)
{
this
.
clientDetails_check_typePsxz
.
push
(
node
.
id
);
}
else
{
this
.
clientDetails_check_typePsxz
=
this
.
clientDetails_check_typePsxz
.
filter
(
item
=>
{
return
item
!=
node
.
id
})
}
},
initData
(
orgList
)
{
// 第一种
if
(
orgList
.
length
)
{
for
(
var
i
=
0
;
i
<
orgList
.
length
;
i
++
)
{
orgList
[
i
].
disabled
=
true
;
if
(
orgList
[
i
].
children
.
length
)
{
// 如果有 children 则继续递归遍历
this
.
initData
(
orgList
[
i
].
children
);
}
}
}
return
orgList
;
},
/**
* 深拷贝
* @param obj 传入对象
* @returns
*/
deepClone
(
obj
)
{
if
(
obj
===
null
||
typeof
obj
!==
'
object
'
)
{
return
obj
;
}
if
(
obj
instanceof
Date
)
{
return
new
Date
(
obj
.
getTime
());
}
if
(
obj
instanceof
Array
)
{
return
obj
.
reduce
((
arr
,
item
,
i
)
=>
{
arr
[
i
]
=
this
.
deepClone
(
item
);
return
arr
;
},
[]);
}
if
(
obj
instanceof
Object
)
{
return
Object
.
keys
(
obj
).
reduce
((
newObj
,
key
)
=>
{
newObj
[
key
]
=
this
.
deepClone
(
obj
[
key
]);
return
newObj
;
},
{});
}
}
}
},
},
mounted
()
{
mounted
()
{
...
@@ -1141,6 +1526,19 @@ export default {
...
@@ -1141,6 +1526,19 @@ export default {
};
};
}
}
},
},
//评审新增弹出框隐藏事件
Visible_PsxzAdd
:
function
(
s
)
{
if
(
!
s
)
{
this
.
form_PsxzAdd
=
{
name
:
""
,
region
:
""
,
fileList
:
[],
fileList1
:[],
ms
:
""
,
gjc
:
""
,
};
}
},
//视频预览弹出框隐藏事件
//视频预览弹出框隐藏事件
// centerDialogVisible_video: function (s) {
// centerDialogVisible_video: function (s) {
// if (!s) {
// if (!s) {
...
@@ -1173,6 +1571,22 @@ export default {
...
@@ -1173,6 +1571,22 @@ export default {
},
},
treeData
:
function
(
val
)
{
treeData
:
function
(
val
)
{
this
.
tree_data
=
val
;
this
.
tree_data
=
val
;
},
psxzTreeData
:
function
(
val
)
{
this
.
psxz_tree_data
=
this
.
deepClone
(
val
);
this
.
psxz_tree_dataCopy
=
this
.
deepClone
(
val
);
this
.
psxzIds
=
[];
if
(
this
.
psxz_tree_data
.
length
>
0
){
this
.
psxzIds
.
push
(
this
.
psxz_tree_data
[
0
].
id
);
// if(this.psxz_tree_data[0].children.length>0){
// this.psxz_tree_data[0].children.map(item=>{
// this.psxzIds.push(item.id);
// })
// }
let
arr
=
this
.
initData
(
this
.
psxz_tree_data
);
this
.
psxz_tree_data
=
arr
;
}
}
}
},
},
};
};
...
@@ -1248,7 +1662,7 @@ export default {
...
@@ -1248,7 +1662,7 @@ export default {
}
}
.sjxz
{
.sjxz
{
width
:
3
5
0px
;
width
:
3
0
0px
;
float
:
left
;
float
:
left
;
.el-date-editor
{
.el-date-editor
{
...
@@ -1265,6 +1679,7 @@ export default {
...
@@ -1265,6 +1679,7 @@ export default {
}
}
.el-input__inner
{
.el-input__inner
{
width
:
300px
;
border
:
1px
solid
#146a80
!
important
;
border
:
1px
solid
#146a80
!
important
;
}
}
}
}
...
@@ -1594,6 +2009,15 @@ export default {
...
@@ -1594,6 +2009,15 @@ export default {
margin-left
:
75px
;
margin-left
:
75px
;
}
}
}
}
.psxz
{
.el-checkbox__input.is-disabled.is-checked
.el-checkbox__inner
{
background-color
:
#409EFF
;
border-color
:
#409EFF
;
}
.
el-checkbox__input
.
is-disabled
.
is-checked
.
el-checkbox__inner
:
:
after
{
border-color
:
#ffffff
;
}
}
/
deep
/
.el-list-enter-active
,
/
deep
/
.el-list-enter-active
,
/
deep
/
.el-list-leave-active
{
/
deep
/
.el-list-leave-active
{
...
...
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