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