Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
project_progress
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit f891557f
authored
Nov 11, 2024
by
liangzhen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
暂存
1 parent
c37ff517
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
490 additions
and
273 deletions
src/views/assessChecks/assistedViewing.vue
src/views/assessChecks/auxiliaryInspection.vue
src/views/assessChecks/auxiliarySelection.vue
src/views/assessChecks/confirmRelease.vue
src/views/assessChecks/materialAcquisition.vue
src/views/assessZC/assistedViewing.vue
src/views/assessZC/auxiliaryInspection.vue
src/views/assessZC/auxiliarySelection.vue
src/views/assessZC/confirmRelease.vue
src/views/assessZC/materialAcquisition.vue
src/views/assessZC/projectView.vue
src/views/layout/mainLayout.vue
src/views/assessChecks/assistedViewing.vue
View file @
f891557
...
...
@@ -293,6 +293,7 @@ export default {
mixins
:
[
tableMixin
],
data
()
{
return
{
openBar
:
true
,
yearsList
:
generateYearOptions
(),
listData
:
{},
qdtableData
:
[],
...
...
@@ -329,6 +330,20 @@ export default {
lctableData
:
[],
}
},
watch
:
{
openBar
(
n
,
o
)
{
let
elements
=
document
.
querySelectorAll
(
".fromItem"
);
if
(
o
)
{
elements
.
forEach
(
function
(
el
)
{
el
.
style
.
display
=
"none"
;
});
}
else
{
elements
.
forEach
(
function
(
el
)
{
el
.
style
.
display
=
"block"
;
});
}
},
},
mounted
()
{
this
.
ruleForm
.
batchName
=
this
.
$route
.
query
.
batchName
this
.
ruleForm
.
projectId
=
this
.
$route
.
query
.
projCode
...
...
src/views/assessChecks/auxiliaryInspection.vue
View file @
f891557
...
...
@@ -436,6 +436,7 @@ export default {
mixins
:
[
tableMixin
],
data
()
{
return
{
openBar
:
true
,
quesoptions
:
[],
form
:
{
projectStage
:
''
,
...
...
@@ -488,6 +489,20 @@ export default {
projectStageOptions
:
[
null
,
'可研'
,
'计划'
,
'采购'
,
'合同'
,
'执行'
,
'结决算及转资'
],
}
},
watch
:
{
openBar
(
n
,
o
)
{
let
elements
=
document
.
querySelectorAll
(
".fromItem"
);
if
(
o
)
{
elements
.
forEach
(
function
(
el
)
{
el
.
style
.
display
=
"none"
;
});
}
else
{
elements
.
forEach
(
function
(
el
)
{
el
.
style
.
display
=
"block"
;
});
}
},
},
mounted
()
{
console
.
log
(
this
.
$route
.
query
,
'this.$route.query'
)
this
.
ruleForm
.
batchName
=
this
.
$route
.
query
.
batchName
...
...
src/views/assessChecks/auxiliarySelection.vue
View file @
f891557
...
...
@@ -669,6 +669,7 @@ export default {
addcurrentPage
:
1
,
addtableData
:
[],
message
:
{},
openBar
:
true
,
}
},
mounted
()
{
...
...
@@ -717,6 +718,20 @@ export default {
}
},
},
watch
:
{
openBar
(
n
,
o
)
{
let
elements
=
document
.
querySelectorAll
(
".fromItem"
);
if
(
o
)
{
elements
.
forEach
(
function
(
el
)
{
el
.
style
.
display
=
"none"
;
});
}
else
{
elements
.
forEach
(
function
(
el
)
{
el
.
style
.
display
=
"block"
;
});
}
},
},
methods
:
{
timeChange
(
time
)
{
...
...
src/views/assessChecks/confirmRelease.vue
View file @
f891557
...
...
@@ -2,6 +2,9 @@
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
ref=
"formName"
>
<div
class=
"upicon"
:class=
"openBar?'upicon':'downicon'"
@
click=
"openBar=!openBar"
>
<i
class=
"el-icon-bottom"
></i>
</div>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchYear"
placeholder=
"请选择"
clearable
>
<el-option
...
...
@@ -545,6 +548,7 @@ export default {
addcurrentPage
:
1
,
addtableData
:
[],
message
:
{},
openBar
:
true
,
}
},
filters
:
{
...
...
@@ -571,6 +575,18 @@ export default {
this
.
submitForm
()
},
},
openBar
(
n
,
o
)
{
let
elements
=
document
.
querySelectorAll
(
".fromItem"
);
if
(
o
)
{
elements
.
forEach
(
function
(
el
)
{
el
.
style
.
display
=
"none"
;
});
}
else
{
elements
.
forEach
(
function
(
el
)
{
el
.
style
.
display
=
"block"
;
});
}
},
},
mounted
()
{
// this.submitForm();
...
...
src/views/assessChecks/materialAcquisition.vue
View file @
f891557
...
...
@@ -2,7 +2,10 @@
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
ref=
"formName"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<div
class=
"upicon"
:class=
"openBar?'upicon':'downicon'"
@
click=
"openBar=!openBar"
>
<i
class=
"el-icon-bottom"
></i>
</div>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem fromItemShow "
>
<el-select
v-model=
"ruleForm.batchYear"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"(item, index) in yearsList"
...
...
@@ -12,7 +15,7 @@
/>
</el-select>
</el-form-item>
<el-form-item
label=
"后评估批次名称:"
prop=
"batchName"
class=
"fromItem"
>
<el-form-item
label=
"后评估批次名称:"
prop=
"batchName"
class=
"fromItem
fromItemShow
"
>
<el-input
v-model=
"ruleForm.batchName"
placeholder=
"请输入"
clearable
></el-input>
</el-form-item>
<!--
<el-form-item
label=
"后评估批次状态:"
prop=
"batchState"
class=
"fromItem"
>
...
...
@@ -22,13 +25,13 @@
</el-select>
</el-form-item>
-->
<el-form-item
label=
"项目编码:"
prop=
"projectId"
class=
"fromItem"
>
<el-form-item
label=
"项目编码:"
prop=
"projectId"
class=
"fromItem
fromItemShow
"
>
<el-input
v-model=
"ruleForm.projectId"
placeholder=
"请输入"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"项目名称:"
prop=
"projectName"
class=
"fromItem"
show-overflow-tooltip
>
<el-form-item
label=
"项目名称:"
prop=
"projectName"
class=
"fromItem
fromItemShow
"
show-overflow-tooltip
>
<el-input
v-model=
"ruleForm.projectName"
placeholder=
"请输入"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"项目年度:"
prop=
"projectYear"
class=
"fromItem"
>
<el-form-item
label=
"项目年度:"
prop=
"projectYear"
class=
"fromItem
fromItemShow
"
>
<el-select
v-model=
"ruleForm.projectYear"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"(item, index) in yearsList"
...
...
@@ -38,7 +41,7 @@
/>
</el-select>
</el-form-item>
<el-form-item
label=
"项目审核状态:"
prop=
"postEvalState"
class=
"fromItem"
>
<el-form-item
label=
"项目审核状态:"
prop=
"postEvalState"
class=
"fromItem
fromItemShow
"
>
<el-select
v-model=
"ruleForm.postEvalState"
placeholder=
"请选择"
clearable
>
<!--
<el-option
label=
"材料未上传"
value=
"0"
></el-option>
-->
<el-option
label=
"待评估"
value=
"1"
></el-option>
...
...
@@ -48,7 +51,7 @@
</el-select>
</el-form-item>
<el-form-item
label=
"计划评估日期:"
prop=
"planTime"
class=
"fromItem"
>
<el-form-item
label=
"计划评估日期:"
prop=
"planTime"
class=
"fromItem
fromItemShow
"
>
<el-date-picker
@
change=
"timeChange"
v-model=
"ruleForm.dates"
...
...
@@ -483,6 +486,7 @@ export default {
fileList
:
[],
subdisabled
:
false
,
confirmdisabled
:
false
,
openBar
:
true
,
}
},
filters
:
{
...
...
@@ -508,6 +512,18 @@ export default {
this
.
submitForm
()
},
},
openBar
(
n
,
o
)
{
let
elements
=
document
.
querySelectorAll
(
".fromItemShow"
);
if
(
o
)
{
elements
.
forEach
(
function
(
el
)
{
el
.
style
.
display
=
"none"
;
});
}
else
{
elements
.
forEach
(
function
(
el
)
{
el
.
style
.
display
=
"block"
;
});
}
},
},
mounted
()
{
// this.submitForm();
...
...
@@ -1039,7 +1055,7 @@ export default {
}
.el-form
{
display
:
flex
;
width
:
100
%
;
width
:
99
%
;
flex-wrap
:
wrap
;
border-top
:
2px
solid
#23c6c8
;
border-left
:
1px
solid
#dee5e7
;
...
...
src/views/assessZC/assistedViewing.vue
View file @
f891557
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
ref=
"formName"
label-width=
"100px"
class=
"demo-ruleForm"
>
<div
:class=
"openBar?'upicon':'downicon'"
@
click=
"openBar=!openBar"
>
<i
class=
"el-icon-bottom"
></i>
</div>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchYear"
placeholder=
"请选择"
clearable
>
<el-option
...
...
src/views/assessZC/auxiliaryInspection.vue
View file @
f891557
...
...
@@ -2,6 +2,9 @@
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
ref=
"formName"
label-width=
"100px"
class=
"demo-ruleForm"
>
<div
:class=
"openBar?'upicon':'downicon'"
@
click=
"openBar=!openBar"
>
<i
class=
"el-icon-bottom"
></i>
</div>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchYear"
placeholder=
"请选择"
clearable
>
<el-option
...
...
src/views/assessZC/auxiliarySelection.vue
View file @
f891557
...
...
@@ -2,6 +2,9 @@
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
ref=
"formName"
>
<div
:class=
"openBar?'upicon':'downicon'"
@
click=
"openBar=!openBar"
>
<i
class=
"el-icon-bottom"
></i>
</div>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchYear"
placeholder=
"请选择"
clearable
>
<el-option
...
...
src/views/assessZC/confirmRelease.vue
View file @
f891557
...
...
@@ -2,6 +2,9 @@
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
label-width=
"100px"
class=
"demo-ruleForm"
ref=
"formName"
>
<div
class=
"upicon"
:class=
"openBar?'upicon':'downicon'"
@
click=
"openBar=!openBar"
>
<i
class=
"el-icon-bottom"
></i>
</div>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchYear"
placeholder=
"请选择"
clearable
>
<el-option
...
...
@@ -469,6 +472,7 @@ export default {
mixins
:
[
tableMixin
],
data
()
{
return
{
openBar
:
false
,
yearsList
:
generateYearOptions
(),
oldid
:
''
,
ruleForm
:
{
...
...
src/views/assessZC/materialAcquisition.vue
View file @
f891557
...
...
@@ -2,6 +2,9 @@
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
ref=
"formName"
label-width=
"100px"
class=
"demo-ruleForm"
>
<div
:class=
"openBar?'upicon':'downicon'"
@
click=
"openBar=!openBar"
>
<i
class=
"el-icon-bottom"
></i>
</div>
<el-form-item
label=
"批次年度:"
prop=
"batchYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.batchYear"
placeholder=
"请选择"
clearable
>
<el-option
...
...
@@ -482,6 +485,7 @@ export default {
fileList
:
[],
subdisabled
:
false
,
confirmdisabled
:
false
,
openBar
:
false
,
}
},
filters
:
{
...
...
@@ -1037,7 +1041,7 @@ export default {
}
.el-form
{
display
:
flex
;
width
:
100
%
;
width
:
99
%
;
flex-wrap
:
wrap
;
border-top
:
2px
solid
#23c6c8
;
border-left
:
1px
solid
#dee5e7
;
...
...
src/views/assessZC/projectView.vue
View file @
f891557
<
template
>
<div
class=
"main"
>
<el-form
:model=
"ruleForm"
ref=
"formName"
label-width=
"100px"
class=
"demo-ruleForm"
>
<div
class=
"upicon"
:class=
"openBar?'upicon':'downicon'"
@
click=
"openBar=!openBar"
>
<el-form
:model=
"ruleForm"
ref=
"formName"
label-width=
"100px"
class=
"demo-ruleForm"
>
<div
:class=
"openBar ? 'upicon' : 'downicon'"
@
click=
"openBar = !openBar"
>
<i
class=
"el-icon-bottom"
></i>
</div>
<el-form-item
label=
"项目编码:"
prop=
"projectCode"
class=
"fromItem"
>
...
...
@@ -13,7 +21,11 @@
></el-input>
</el-form-item>
<el-form-item
label=
"项目名称:"
prop=
"projectName"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.projectName"
placeholder=
"请输入"
clearable
></el-input>
<el-input
v-model=
"ruleForm.projectName"
placeholder=
"请输入"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"计划年度:"
prop=
"issueYear"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.issueYear"
placeholder=
"请选择"
clearable
>
...
...
@@ -26,17 +38,29 @@
</el-select>
</el-form-item>
<el-form-item
label=
"建设形式:"
prop=
"constructionForm"
class=
"fromItem"
>
<el-select
v-model=
"ruleForm.constructionForm"
placeholder=
"请选择"
clearable
>
<el-select
v-model=
"ruleForm.constructionForm"
placeholder=
"请选择"
clearable
>
<el-option
label=
"独立建设"
value=
"1"
></el-option>
<el-option
label=
"统推"
value=
"2"
></el-option>
<el-option
label=
"自建"
value=
"3"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"合同编码:"
prop=
"contractNumber"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.contractNumber"
placeholder=
"请输入"
clearable
></el-input>
<el-input
v-model=
"ruleForm.contractNumber"
placeholder=
"请输入"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"合同名称:"
prop=
"contractName"
class=
"fromItem"
>
<el-input
v-model=
"ruleForm.contractName"
placeholder=
"请输入"
clearable
></el-input>
<el-input
v-model=
"ruleForm.contractName"
placeholder=
"请输入"
clearable
></el-input>
</el-form-item>
<!--
<el-form-item
label=
"部门:"
prop=
"department"
class=
"fromItem"
>
<el-input
...
...
@@ -66,7 +90,10 @@
<div
class=
"setscroll"
>
<el-table
@
selection-change=
"handleSelectionChange"
@
row-click=
"(row, column, event) => handleRowClick(row, column, event, 'multipleTable')"
@
row-click=
"
(row, column, event) =>
handleRowClick(row, column, event, 'multipleTable')
"
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark myTooltips"
...
...
@@ -76,16 +103,22 @@
:row-class-name=
"tableRowClassName"
border
>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
type=
"selection"
>
</el-table-column>
<el-table-column
prop=
"projectCode"
label=
"项目编码"
width=
"140"
>
</el-table-column>
<el-table-column
prop=
"projectCode"
label=
"项目编码"
width=
"140"
>
</el-table-column>
<el-table-column
prop=
"projectName"
label=
"项目名称"
show-overflow-tooltip
>
<el-table-column
prop=
"projectName"
label=
"项目名称"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"issueYear"
label=
"计划年度"
width=
"90"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
issueYear
?
scope
.
row
.
issueYear
+
'年'
:
''
}}
{{
scope
.
row
.
issueYear
?
scope
.
row
.
issueYear
+
"年"
:
""
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"projectType"
label=
"项目类型"
width=
"120"
>
...
...
@@ -93,23 +126,50 @@
<span
v-show=
"scope.row.type"
>
{{
scope
.
row
.
type
|
proType
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"constructionFormText"
label=
"建设形式"
width=
"90"
>
</el-table-column>
<el-table-column
prop=
"startupStatus"
label=
"启动日期"
width=
"90"
>
</el-table-column>
<el-table-column
prop=
"accountingStatus"
label=
"入账状态"
width=
"90"
>
</el-table-column>
<el-table-column
prop=
"accountingProportion"
label=
"累计入账占比"
width=
"90"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
accountingProportion
}}
%
</
template
>
<el-table-column
prop=
"constructionFormText"
label=
"建设形式"
width=
"90"
>
</el-table-column>
<el-table-column
prop=
"startupStatus"
label=
"启动日期"
width=
"90"
>
</el-table-column>
<el-table-column
prop=
"accountingStatus"
label=
"入账状态"
width=
"90"
>
</el-table-column>
<el-table-column
prop=
"accountingProportion"
label=
"累计入账占比"
width=
"90"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
accountingProportion
}}
%
</
template
>
</el-table-column>
<el-table-column
prop=
"entryAmount"
label=
"入账金额(万)"
width=
"120"
>
</el-table-column>
<el-table-column
prop=
"currentProgress"
label=
"当前进度"
width=
"120"
>
</el-table-column>
<el-table-column
prop=
"contractNumber"
label=
"合同编码"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"entryAmount"
label=
"入账金额(万)"
width=
"120"
>
</el-table-column>
<el-table-column
prop=
"currentProgress"
label=
"当前进度"
width=
"120"
>
</el-table-column>
<el-table-column
prop=
"contractNumber"
label=
"合同编码"
show-overflow-tooltip
>
<el-table-column
prop=
"contractName"
label=
"合同名称"
width=
"auto"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"
contractName"
label=
"合同名称"
width=
"auto"
show-overflow-tooltip
>
<el-table-column
prop=
"
projectLeader"
label=
"项目负责人"
width=
"120"
>
</el-table-column>
<el-table-column
prop=
"projectLeader"
label=
"项目负责人"
width=
"120"
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click=
"upload(scope.row)"
type=
"text"
size=
"small"
>
操作
</el-button>
<el-button
@
click=
"upload(scope.row)"
type=
"text"
size=
"small"
>
操作
</el-button
>
<!--
<el-button
@
click=
"changeLX(scope.row)"
type=
"text"
size=
"small"
v-if=
"scope.row.projectType"
>
更换项目类型
</el-button
>
-->
...
...
@@ -138,7 +198,10 @@
<
template
slot=
"title"
>
<div
class=
"custom_dialog_header"
>
<span
class=
"el_dialog_title"
>
项目文档
</span>
<div
class=
"custom_dialog_menu"
@
click=
"dialogFullScreen = !dialogFullScreen"
>
<div
class=
"custom_dialog_menu"
@
click=
"dialogFullScreen = !dialogFullScreen"
>
<i
class=
"el-icon-full-screen"
></i>
</div>
</div>
...
...
@@ -156,12 +219,22 @@
:span-method=
"arraySpanMethod"
border
>
<el-table-column
label=
"材料类别"
prop=
"projectStagetext"
width=
"100"
>
<el-table-column
label=
"材料类别"
prop=
"projectStagetext"
width=
"100"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
label=
"资料类型"
prop=
"materialName"
width=
"300"
>
</el-table-column>
<el-table-column
prop=
"fullName"
label=
"资料名称"
show-overflow-tooltip
>
<el-table-column
label=
"资料类型"
prop=
"materialName"
width=
"300"
>
</el-table-column>
<el-table-column
prop=
"fullName"
label=
"资料名称"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"caozuo"
label=
"操作"
width=
"350"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -171,7 +244,7 @@
:multiple="true"
:http-request="
(res) => {
return fileupdate(scope.row, res)
return fileupdate(scope.row, res)
;
}
"
:on-change="uploadChange"
...
...
@@ -249,8 +322,10 @@
:row-class-name=
"tableRowClassName"
border
>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
prop=
"fullTime"
label=
"上传日期"
width=
"200"
>
</el-table-column>
<el-table-column
label=
"序号"
width=
"55"
type=
"index"
>
</el-table-column>
<el-table-column
prop=
"fullTime"
label=
"上传日期"
width=
"200"
>
</el-table-column>
<!-- <el-table-column
prop="materialName"
label="资料类型"
...
...
@@ -258,7 +333,12 @@
show-overflow-tooltip
>
</el-table-column> -->
<el-table-column
prop=
"fullName"
label=
"文件名称"
width=
"auto"
show-overflow-tooltip
>
<el-table-column
prop=
"fullName"
label=
"文件名称"
width=
"auto"
show-overflow-tooltip
>
</el-table-column>
</el-table>
</el-dialog>
...
...
@@ -293,7 +373,12 @@
</el-tabs>
</el-dialog>
</el-dialog>
<el-dialog
title=
"请选择您要操作的项目类型"
class=
"tips"
:visible
.
sync=
"showType"
width=
"40%"
>
<el-dialog
title=
"请选择您要操作的项目类型"
class=
"tips"
:visible
.
sync=
"showType"
width=
"40%"
>
<el-form
:model=
"form"
class=
"projectType"
>
<el-form-item
label=
"项目类型"
prop=
"projectType"
>
<el-select
v-model=
"form.projectType"
placeholder=
"请选择项目类型"
>
...
...
@@ -306,7 +391,10 @@
</el-form-item>
<el-form-item
class=
"rightBtn"
>
<el-button
@
click=
"showType = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"projectType()"
:disabled=
"!form.projectType"
<el-button
type=
"primary"
@
click=
"projectType()"
:disabled=
"!form.projectType"
>
确 定
</el-button
>
</el-form-item>
...
...
@@ -316,7 +404,11 @@
</template>
<
script
>
import
{
generateYearOptions
,
constructionFormText
,
MaterialsList
}
from
'@/utils/cache'
import
{
generateYearOptions
,
constructionFormText
,
MaterialsList
,
}
from
"@/utils/cache"
;
import
{
pmProInitiation
,
MaterialWarehous
,
...
...
@@ -328,29 +420,29 @@ import {
HistoryVersion
,
presignedUrl
,
postExist
,
}
from
'@/api/index'
import
{
Loading
}
from
'element-ui'
import
tableMixin
from
'@/mixins/table.mixin.js'
}
from
"@/api/index"
;
import
{
Loading
}
from
"element-ui"
;
import
tableMixin
from
"@/mixins/table.mixin.js"
;
export
default
{
mixins
:
[
tableMixin
],
data
()
{
return
{
openBar
:
fals
e
,
openBar
:
tru
e
,
dialogFullScreen
:
false
,
tableHistory
:
[],
processen
:
''
,
processen
:
""
,
fileList
:
[],
tableDataNew
:
MaterialsList
(),
checkedList
:
[],
yearsList
:
generateYearOptions
(),
ruleForm
:
{
projectCode
:
''
,
projectName
:
""
,
issueYear
:
""
,
constructionForm
:
""
,
contractNumber
:
""
,
contractName
:
""
,
projectCode
:
""
,
projectName
:
""
,
issueYear
:
""
,
constructionForm
:
""
,
contractNumber
:
""
,
contractName
:
""
,
},
tableData
:
[],
currentPage
:
1
,
...
...
@@ -363,101 +455,121 @@ export default {
form
:
{},
rowdata
:
{},
rules
:
{
projectType
:
[{
required
:
true
,
message
:
'请选择项目类型'
,
trigger
:
'change'
}],
projectType
:
[
{
required
:
true
,
message
:
"请选择项目类型"
,
trigger
:
"change"
},
],
},
innerVisible
:
false
,
upprojectType
:
''
,
upprojectType
:
""
,
dialogVisible
:
false
,
activeName
:
'0'
,
activeName
:
"0"
,
tabListYL
:
[],
iframeUrl
:
''
,
blobType
:
''
,
iframeUrl
:
""
,
blobType
:
""
,
inspectdisabled
:
true
,
mergingPos
:
0
,
mergingRows
:
[],
};
},
watch
:
{
openBar
(
n
,
o
)
{
let
elements
=
document
.
querySelectorAll
(
".fromItem"
);
if
(
o
)
{
elements
.
forEach
(
function
(
el
)
{
el
.
style
.
display
=
"none"
;
});
}
else
{
elements
.
forEach
(
function
(
el
)
{
el
.
style
.
display
=
"block"
;
});
}
},
},
filters
:
{
proType
(
val
)
{
if
(
val
==
1
)
{
return
'咨询设计类'
return
"咨询设计类"
;
}
else
if
(
val
==
2
)
{
return
'开发实施类'
return
"开发实施类"
;
}
else
if
(
val
==
3
)
{
return
'业务运营类'
return
"业务运营类"
;
}
else
if
(
val
==
4
)
{
return
'数据工程类'
return
"数据工程类"
;
}
else
if
(
val
==
5
)
{
return
'产品购置类'
return
"产品购置类"
;
}
},
},
mounted
()
{
if
(
this
.
$route
.
query
.
projectId
)
{
this
.
ruleForm
.
projectCode
=
this
.
$route
.
query
.
projectId
this
.
ruleForm
.
projectCode
=
this
.
$route
.
query
.
projectId
;
}
if
(
this
.
$route
.
query
.
contractNumber
)
{
this
.
ruleForm
.
contractNumber
=
this
.
$route
.
query
.
contractNumber
this
.
ruleForm
.
contractNumber
=
this
.
$route
.
query
.
contractNumber
;
}
this
.
submitForm
()
this
.
processenv
=
SystemConfig
.
VUE_APP_BASE_URL
this
.
submitForm
()
;
this
.
processenv
=
SystemConfig
.
VUE_APP_BASE_URL
;
},
methods
:
{
numberVal
(
val
)
{
this
.
$forceUpdate
()
this
.
$forceUpdate
()
;
},
noFullScreen
()
{
console
.
log
(
'关闭了'
)
this
.
dialogFullScreen
=
false
console
.
log
(
"关闭了"
);
this
.
dialogFullScreen
=
false
;
},
upload
(
row
)
{
this
.
ruleFormdialog
=
row
this
.
ruleFormdialog
=
row
;
if
(
!
row
.
type
)
{
this
.
form
=
{}
this
.
showType
=
true
this
.
form
=
{}
;
this
.
showType
=
true
;
}
else
{
this
.
upprojectType
=
row
.
type
this
.
MaterialWarehous
(
row
.
type
)
this
.
upprojectType
=
row
.
type
;
this
.
MaterialWarehous
(
row
.
type
)
;
}
},
changeLX
()
{
this
.
$confirm
(
'切换项目类型将删除历史上传文件, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
this
.
$confirm
(
"切换项目类型将删除历史上传文件, 是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
((
res
)
=>
{
this
.
form
=
{}
this
.
showType
=
true
this
.
form
=
{}
;
this
.
showType
=
true
;
})
.
catch
()
.
catch
()
;
},
dataPretreatment
()
{
for
(
let
i
=
0
;
i
<
this
.
tableDataQR
.
length
;
i
++
)
{
// tabledata 表格数据源
if
(
i
===
0
)
{
this
.
mergingRows
.
push
(
1
)
this
.
mergingPos
=
0
this
.
mergingRows
.
push
(
1
)
;
this
.
mergingPos
=
0
;
}
else
{
if
(
this
.
tableDataQR
[
i
].
projectStage
===
this
.
tableDataQR
[
i
-
1
].
projectStage
)
{
if
(
this
.
tableDataQR
[
i
].
projectStage
===
this
.
tableDataQR
[
i
-
1
].
projectStage
)
{
//哪些数据是要合并的 合并的条件是什么
this
.
mergingRows
[
this
.
mergingPos
]
+=
1
this
.
mergingRows
.
push
(
0
)
this
.
mergingRows
[
this
.
mergingPos
]
+=
1
;
this
.
mergingRows
.
push
(
0
)
;
}
else
{
this
.
mergingRows
.
push
(
1
)
this
.
mergingPos
=
i
this
.
mergingRows
.
push
(
1
)
;
this
.
mergingPos
=
i
;
}
}
}
},
projectType
()
{
console
.
log
(
this
.
form
.
projectType
,
'2222'
)
this
.
chpmProInitiation
(
this
.
form
.
projectType
)
this
.
MaterialWarehous
(
this
.
form
.
projectType
)
this
.
showType
=
false
this
.
upprojectType
=
this
.
form
.
projectType
console
.
log
(
this
.
form
.
projectType
,
"2222"
);
this
.
chpmProInitiation
(
this
.
form
.
projectType
)
;
this
.
MaterialWarehous
(
this
.
form
.
projectType
)
;
this
.
showType
=
false
;
this
.
upprojectType
=
this
.
form
.
projectType
;
},
async
downloadObjectStr
(
row
)
{
let
params
=
{
...
...
@@ -465,178 +577,182 @@ export default {
fullNameStr
:
row
.
fullName
,
fullUrlStr
:
row
.
fullUrl
,
materialName
:
row
.
materialName
,
}
let
response
=
await
downloadObjectStr
(
params
)
let
blob
=
new
Blob
([
response
],
{
type
:
'application/zip'
})
let
url
=
window
.
URL
.
createObjectURL
(
blob
)
const
link
=
document
.
createElement
(
'a'
)
// 创建a标签
link
.
href
=
url
link
.
download
=
row
.
materialName
+
'压缩文件'
// 重命名文件
link
.
click
()
URL
.
revokeObjectURL
(
url
)
// 释放内存
}
;
let
response
=
await
downloadObjectStr
(
params
)
;
let
blob
=
new
Blob
([
response
],
{
type
:
"application/zip"
});
let
url
=
window
.
URL
.
createObjectURL
(
blob
)
;
const
link
=
document
.
createElement
(
"a"
);
// 创建a标签
link
.
href
=
url
;
link
.
download
=
row
.
materialName
+
"压缩文件"
;
// 重命名文件
link
.
click
()
;
URL
.
revokeObjectURL
(
url
)
;
// 释放内存
},
async
delAll
(
row
)
{
console
.
log
(
row
,
'6666666666666'
)
this
.
$confirm
(
'此操作将删除该文件, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
console
.
log
(
row
,
"6666666666666"
);
this
.
$confirm
(
"此操作将删除该文件, 是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(
async
()
=>
{
let
params
=
{
fileIdStr
:
row
.
fullId
,
}
let
response
=
await
delAll
(
params
)
}
;
let
response
=
await
delAll
(
params
)
;
if
(
response
.
code
==
200
)
{
this
.
$message
({
type
:
'success'
,
message
:
'删除成功!'
,
})
this
.
MaterialWarehous
(
this
.
upprojectType
)
type
:
"success"
,
message
:
"删除成功!"
,
})
;
this
.
MaterialWarehous
(
this
.
upprojectType
)
;
}
else
{
this
.
$message
({
type
:
'info'
,
message
:
'删除失败!'
,
})
type
:
"info"
,
message
:
"删除失败!"
,
})
;
}
})
.
catch
(()
=>
{})
.
catch
(()
=>
{})
;
},
async
chpmProInitiation
(
projectType
)
{
let
params
=
{
...
this
.
ruleFormdialog
,
}
params
.
projectType
=
projectType
let
res
=
await
chpmProInitiation
(
params
)
this
.
submitForm
()
}
;
params
.
projectType
=
projectType
;
let
res
=
await
chpmProInitiation
(
params
)
;
this
.
submitForm
()
;
},
async
MaterialWarehous
(
projectType
)
{
this
.
mergingPos
=
0
this
.
mergingRows
=
[]
this
.
tableDataQR
=
[]
console
.
log
(
'不调接口了'
)
this
.
dialog
=
true
this
.
mergingPos
=
0
;
this
.
mergingRows
=
[]
;
this
.
tableDataQR
=
[]
;
console
.
log
(
"不调接口了"
);
this
.
dialog
=
true
;
let
params
=
{
proType
:
projectType
,
contractNumber
:
this
.
ruleFormdialog
.
contractNumber
,
prjId
:
this
.
ruleFormdialog
.
projectCode
,
}
let
res
=
await
MaterialWarehous
(
params
)
this
.
tableDataQR
=
res
.
data
.
records
console
.
log
(
this
.
tableDataQR
,
'this.tableDataQR'
)
}
;
let
res
=
await
MaterialWarehous
(
params
)
;
this
.
tableDataQR
=
res
.
data
.
records
;
console
.
log
(
this
.
tableDataQR
,
"this.tableDataQR"
);
this
.
tableDataQR
.
forEach
((
item
)
=>
{
switch
(
item
.
projectStage
)
{
case
'1'
:
this
.
$set
(
item
,
'projectStagetext'
,
'可研'
)
break
case
'2'
:
this
.
$set
(
item
,
'projectStagetext'
,
'计划'
)
break
case
'3'
:
this
.
$set
(
item
,
'projectStagetext'
,
'采购'
)
break
case
'4'
:
this
.
$set
(
item
,
'projectStagetext'
,
'合同'
)
break
case
'5'
:
this
.
$set
(
item
,
'projectStagetext'
,
'执行'
)
break
case
'6'
:
this
.
$set
(
item
,
'projectStagetext'
,
'结决算及转资'
)
break
case
"1"
:
this
.
$set
(
item
,
"projectStagetext"
,
"可研"
);
break
;
case
"2"
:
this
.
$set
(
item
,
"projectStagetext"
,
"计划"
);
break
;
case
"3"
:
this
.
$set
(
item
,
"projectStagetext"
,
"采购"
);
break
;
case
"4"
:
this
.
$set
(
item
,
"projectStagetext"
,
"合同"
);
break
;
case
"5"
:
this
.
$set
(
item
,
"projectStagetext"
,
"执行"
);
break
;
case
"6"
:
this
.
$set
(
item
,
"projectStagetext"
,
"结决算及转资"
);
break
;
}
})
this
.
dataPretreatment
()
})
;
this
.
dataPretreatment
()
;
},
resetForm
()
{
this
.
$refs
.
formName
.
resetFields
()
this
.
currentPage
=
1
this
.
pageSize
=
10
this
.
submitForm
()
this
.
$refs
.
formName
.
resetFields
()
;
this
.
currentPage
=
1
;
this
.
pageSize
=
10
;
this
.
submitForm
()
;
},
async
submitForm
(
info
)
{
if
(
info
==
999
)
{
this
.
currentPage
=
1
if
(
info
==
999
)
{
this
.
currentPage
=
1
;
}
let
params
=
{
current
:
this
.
currentPage
,
pageSize
:
this
.
pageSize
,
}
Object
.
assign
(
params
,
this
.
ruleForm
)
let
res
=
await
pmProInitiation
(
params
)
if
(
res
.
code
==
'200'
)
{
this
.
tableData
=
res
.
data
.
records
}
;
Object
.
assign
(
params
,
this
.
ruleForm
)
;
let
res
=
await
pmProInitiation
(
params
)
;
if
(
res
.
code
==
"200"
)
{
this
.
tableData
=
res
.
data
.
records
;
this
.
$nextTick
(()
=>
{
if
(
this
.
$refs
.
multipleTable
&&
this
.
$refs
.
multipleTable
.
doLayout
)
{
this
.
$refs
.
multipleTable
.
doLayout
()
// 解决表格错位
this
.
$refs
.
multipleTable
.
doLayout
()
;
// 解决表格错位
}
})
})
;
this
.
tableData
.
forEach
((
item
)
=>
{
this
.
$set
(
item
,
'constructionFormText'
,
constructionFormText
(
item
.
constructionForm
))
})
this
.
total
=
res
.
data
.
total
*
1
this
.
dialogXQ
=
true
this
.
$set
(
item
,
"constructionFormText"
,
constructionFormText
(
item
.
constructionForm
)
);
});
this
.
total
=
res
.
data
.
total
*
1
;
this
.
dialogXQ
=
true
;
}
},
//主列表选中行信息
handleSelectionChange
(
selection
)
{
if
(
selection
.
length
>
0
)
{
this
.
inspectdisabled
=
false
this
.
inspectdisabled
=
false
;
if
(
Array
.
isArray
(
selection
)
&&
selection
.
length
>
1
)
{
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
0
],
false
)
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
1
],
true
)
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
0
],
false
)
;
this
.
$refs
.
multipleTable
.
toggleRowSelection
(
selection
[
1
],
true
)
;
}
this
.
ruleFormdialog
=
this
.
$refs
.
multipleTable
.
selection
[
0
]
this
.
ruleFormdialog
=
this
.
$refs
.
multipleTable
.
selection
[
0
]
;
if
(
!
this
.
ruleFormdialog
.
type
)
{
this
.
inspectdisabled
=
true
this
.
inspectdisabled
=
true
;
}
}
else
{
this
.
inspectdisabled
=
true
this
.
inspectdisabled
=
true
;
}
},
handleSizeChange
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
)
this
.
pageSize
=
val
this
.
submitForm
()
console
.
log
(
`每页
${
val
}
条`
)
;
this
.
pageSize
=
val
;
this
.
submitForm
()
;
},
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
)
this
.
currentPage
=
val
this
.
submitForm
()
console
.
log
(
`当前页:
${
val
}
`
)
;
this
.
currentPage
=
val
;
this
.
submitForm
()
;
},
//表格颜色
tableRowClassName
({
row
,
rowIndex
})
{
if
(
rowIndex
%
2
==
1
)
{
return
'warning-row'
return
"warning-row"
;
}
return
''
return
""
;
},
cancel
()
{
this
.
dialog
=
false
this
.
dialog
=
false
;
},
preserve
()
{
this
.
dialog
=
false
this
.
dialog
=
false
;
},
handleSizeChange
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
)
this
.
pageSize
=
val
this
.
submitForm
()
console
.
log
(
`每页
${
val
}
条`
)
;
this
.
pageSize
=
val
;
this
.
submitForm
()
;
},
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
)
this
.
currentPage
=
val
this
.
submitForm
()
console
.
log
(
`当前页:
${
val
}
`
)
;
this
.
currentPage
=
val
;
this
.
submitForm
()
;
},
async
history
(
msg
)
{
let
res
=
await
HistoryVersion
({
...
msg
,
contractNumber
:
this
.
ruleFormdialog
.
contractNumber
,
prjId
:
this
.
ruleFormdialog
.
projectCode
,
})
this
.
tableHistory
=
res
.
data
.
records
this
.
innerVisible
=
true
})
;
this
.
tableHistory
=
res
.
data
.
records
;
this
.
innerVisible
=
true
;
},
// handleRemove(file, fileList) {
// //文件移出
...
...
@@ -664,164 +780,169 @@ export default {
// this.fileList = fileList;
},
fileupdate
(
items
,
list
)
{
console
.
log
(
items
,
'list'
)
this
.
fileList
.
push
(
list
.
file
)
this
.
debounce
(
this
.
submitFile
,
500
,
items
)
console
.
log
(
items
,
"list"
);
this
.
fileList
.
push
(
list
.
file
)
;
this
.
debounce
(
this
.
submitFile
,
500
,
items
)
;
},
debounce
(
fn
,
waits
,
items
)
{
if
(
this
.
timer
)
{
clearTimeout
(
this
.
timer
)
this
.
timer
=
null
clearTimeout
(
this
.
timer
)
;
this
.
timer
=
null
;
}
this
.
timer
=
setTimeout
(()
=>
{
fn
.
apply
(
this
,
arguments
)
// 把参数传进去
},
waits
)
fn
.
apply
(
this
,
arguments
)
;
// 把参数传进去
},
waits
)
;
},
submitFile
(
items
)
{
console
.
log
(
arguments
[
2
],
'arguments'
)
console
.
log
(
arguments
[
2
],
"arguments"
);
if
(
this
.
fileList
.
length
===
0
)
{
this
.
$message
.
success
(
'请上传文件'
)
return
this
.
$message
.
success
(
"请上传文件"
);
return
;
}
this
.
uploadLoading
=
true
let
formData
=
new
FormData
()
// 用FormData存放上传文件
this
.
uploadLoading
=
true
;
let
formData
=
new
FormData
()
;
// 用FormData存放上传文件
this
.
fileList
.
forEach
((
file
)
=>
{
formData
.
append
(
'file'
,
file
)
// file.raw
})
formData
.
append
(
'typeCode'
,
arguments
[
2
].
mid
)
formData
.
append
(
'prjId'
,
this
.
ruleFormdialog
.
projectCode
)
formData
.
append
(
'bathId'
,
this
.
ruleFormdialog
.
contractNumber
)
formData
.
append
(
"file"
,
file
);
// file.raw
})
;
formData
.
append
(
"typeCode"
,
arguments
[
2
].
mid
);
formData
.
append
(
"prjId"
,
this
.
ruleFormdialog
.
projectCode
);
formData
.
append
(
"bathId"
,
this
.
ruleFormdialog
.
contractNumber
);
ossuploadStr
(
formData
)
.
then
((
response
)
=>
{
if
(
response
.
code
==
'200'
)
{
this
.
fileList
=
[]
this
.
MaterialWarehous
(
this
.
upprojectType
)
this
.
$refs
[
'upload'
+
arguments
[
2
].
mid
].
clearFiles
()
this
.
$message
(
'上传成功'
)
if
(
response
.
code
==
"200"
)
{
this
.
fileList
=
[]
;
this
.
MaterialWarehous
(
this
.
upprojectType
)
;
this
.
$refs
[
"upload"
+
arguments
[
2
].
mid
].
clearFiles
();
this
.
$message
(
"上传成功"
);
}
else
{
this
.
$message
(
'上传失败'
)
this
.
$message
(
"上传失败"
);
}
})
.
catch
((
error
)
=>
{
// console.error(error);
// this.$message("上传失败");
})
})
;
},
handleSuccess
(
response
,
file
,
fileList
)
{
// 提交保存成功后清空已上传的文件
// this.$refs.upload.clearFiles();
},
async
preview
(
row
)
{
this
.
tabListYL
=
[]
console
.
log
(
row
.
fullName
,
'33333'
)
let
array
=
row
.
fullName
.
split
(
','
)
this
.
tabListYL
=
[]
;
console
.
log
(
row
.
fullName
,
"33333"
);
let
array
=
row
.
fullName
.
split
(
","
);
array
.
forEach
((
item
,
index
)
=>
{
this
.
tabListYL
.
push
({
name
:
item
,
id
:
row
.
fullId
.
split
(
','
)[
index
],
url
:
row
.
fullUrl
.
split
(
','
)[
index
],
})
})
console
.
log
(
this
.
tabListYL
,
'this.tabListYL'
)
this
.
downloadObject
(
'0'
)
id
:
row
.
fullId
.
split
(
","
)[
index
],
url
:
row
.
fullUrl
.
split
(
","
)[
index
],
})
;
})
;
console
.
log
(
this
.
tabListYL
,
"this.tabListYL"
);
this
.
downloadObject
(
"0"
);
},
handleClick
(
tab
)
{
console
.
log
(
'切换'
,
tab
.
name
,
this
.
tabListYL
[
tab
.
name
].
iframeUrl
)
console
.
log
(
"切换"
,
tab
.
name
,
this
.
tabListYL
[
tab
.
name
].
iframeUrl
);
if
(
!
this
.
tabListYL
[
tab
.
name
].
iframeUrl
)
{
this
.
downloadObject
(
tab
.
name
+
''
)
this
.
downloadObject
(
tab
.
name
+
""
);
}
},
async
downloadObject
(
index
)
{
let
loadingInstance
let
loadingInstance
;
loadingInstance
=
Loading
.
service
({
lock
:
true
,
text
:
'文件加载中,请耐心等待...'
,
})
this
.
blobType
=
''
console
.
log
(
this
.
tabListYL
,
'this.tabListYL'
)
let
resUrl
=
await
downloadObject
({
fileId
:
this
.
tabListYL
[
index
].
id
})
loadingInstance
.
close
()
text
:
"文件加载中,请耐心等待..."
,
})
;
this
.
blobType
=
""
;
console
.
log
(
this
.
tabListYL
,
"this.tabListYL"
);
let
resUrl
=
await
downloadObject
({
fileId
:
this
.
tabListYL
[
index
].
id
})
;
loadingInstance
.
close
()
;
if
(
this
.
tabListYL
[
index
].
url
.
slice
(
-
3
)
==
'pdf'
||
this
.
tabListYL
[
index
].
url
.
slice
(
-
3
)
==
'doc'
this
.
tabListYL
[
index
].
url
.
slice
(
-
3
)
==
"pdf"
||
this
.
tabListYL
[
index
].
url
.
slice
(
-
3
)
==
"doc"
)
{
this
.
blobType
=
'pdf'
const
binaryData
=
[]
binaryData
.
push
(
resUrl
)
let
URL
=
window
.
URL
.
createObjectURL
(
new
Blob
(
binaryData
,
{
type
:
'application/pdf'
}))
this
.
blobType
=
"pdf"
;
const
binaryData
=
[];
binaryData
.
push
(
resUrl
);
let
URL
=
window
.
URL
.
createObjectURL
(
new
Blob
(
binaryData
,
{
type
:
"application/pdf"
})
);
this
.
$nextTick
(()
=>
{
this
.
$set
(
this
.
tabListYL
[
index
],
'iframeUrl'
,
URL
+
'#view=FitH,top'
)
})
}
else
if
(
this
.
tabListYL
[
index
].
url
.
slice
(
-
4
)
==
'docx'
)
{
this
.
blobType
=
'docx'
let
docx
=
require
(
'docx-preview'
)
this
.
$set
(
this
.
tabListYL
[
index
],
"iframeUrl"
,
URL
+
"#view=FitH,top"
);
})
;
}
else
if
(
this
.
tabListYL
[
index
].
url
.
slice
(
-
4
)
==
"docx"
)
{
this
.
blobType
=
"docx"
;
let
docx
=
require
(
"docx-preview"
);
this
.
$nextTick
(()
=>
{
docx
.
renderAsync
(
resUrl
,
document
.
getElementById
(
`word
${
this
.
tabListYL
[
index
].
url
}
`
))
// 渲染到页面预览
})
docx
.
renderAsync
(
resUrl
,
document
.
getElementById
(
`word
${
this
.
tabListYL
[
index
].
url
}
`
)
);
// 渲染到页面预览
});
}
else
{
let
paramsImg
=
{
fileId
:
this
.
tabListYL
[
index
].
id
,
url
:
this
.
tabListYL
[
index
].
url
,
}
let
resUrl
=
await
presignedUrl
(
paramsImg
)
}
;
let
resUrl
=
await
presignedUrl
(
paramsImg
)
;
// this.iframeUrl="http://view.officeapps.live.com/op/view.aspx?src=http://arch-file.oss-cn-beijing.aliyuncs.com/66a83f6f4386f71e7b950b87.doc?Expires=1722907981&OSSAccessKeyId=LTAI5tGjidtvVSCvwGxTp8FH&Signature=4p2boWzux%2FscZHWQz2E4gVRF94w%3D"
}
console
.
log
(
this
.
blobType
)
console
.
log
(
this
.
blobType
)
;
this
.
dialogVisible
=
true
this
.
dialogVisible
=
true
;
},
arraySpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
columnIndex
===
0
||
columnIndex
===
8
)
{
//第一列
const
_row
=
this
.
mergingRows
[
rowIndex
]
const
_col
=
_row
>
0
?
1
:
0
const
_row
=
this
.
mergingRows
[
rowIndex
]
;
const
_col
=
_row
>
0
?
1
:
0
;
return
{
rowspan
:
_row
,
colspan
:
_col
,
}
}
;
}
},
postExist
(
row
)
{
let
params
=
{
contractNumber
:
this
.
ruleFormdialog
.
contractNumber
,
projectCode
:
this
.
ruleFormdialog
.
projectCode
,
}
}
;
postExist
(
params
).
then
((
res
)
=>
{
if
(
res
.
data
.
exist
)
{
this
.
$alert
(
'项目流程审批中,请勿上传新的文件'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
this
.
$alert
(
"项目流程审批中,请勿上传新的文件"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
callback
:
(
action
)
=>
{
// this.$message({
// type: "info",
// message: `action: ${action}`,
// });
},
})
return
})
;
return
;
}
else
{
this
.
uploadFiles
(
row
)
this
.
uploadFiles
(
row
)
;
}
})
})
;
},
uploadFiles
(
row
)
{
if
(
row
.
fullId
)
{
this
.
$confirm
(
'已有文件,本次上传将覆盖历史上传文件,是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
this
.
$confirm
(
"已有文件,本次上传将覆盖历史上传文件,是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
((
res
)
=>
{
this
.
$refs
[
'upload'
+
row
.
mid
].
$refs
[
'upload-inner'
].
handleClick
()
this
.
$refs
[
"upload"
+
row
.
mid
].
$refs
[
"upload-inner"
].
handleClick
();
})
.
catch
()
.
catch
()
;
}
else
{
this
.
$refs
[
'upload'
+
row
.
mid
].
$refs
[
'upload-inner'
].
handleClick
()
this
.
$refs
[
"upload"
+
row
.
mid
].
$refs
[
"upload-inner"
].
handleClick
();
}
},
},
}
}
;
</
script
>
<
style
scoped
lang=
"scss"
>
.main
{
...
...
src/views/layout/mainLayout.vue
View file @
f891557
...
...
@@ -272,13 +272,15 @@ export default {
.el-form
{
margin
:
0
!important
;
position
:
relative
;
box-sizing
:
border-box
;
padding-right
:
20px
!important
;
.upicon{
position
:
absolute
;
width
:
30px
;
height
:
30px
;
border-radius
:
50%
;
background
:
#23c6c8
;
right
:
15px
;
right
:
0
;
.
el-icon-bottom
:
before
{
content
:
"\e6eb"
;
color
:
#fff
;
...
...
@@ -294,7 +296,7 @@ export default {
height
:
30px
;
border-radius
:
50%
;
background
:
#23c6c8
;
right
:
15px
;
right
:
0
;
transform
:
rotate
(
180deg
);
.
el-icon-bottom
:
before
{
content
:
"\e6eb"
;
...
...
Write
Preview
Markdown
is supported
Attach a file
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 post a comment