Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
patzn-cloud-web-back-soil
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangweidong
patzn-cloud-web-back-soil
Commits
c1a0b9fc
Commit
c1a0b9fc
authored
Apr 22, 2021
by
lichengming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改了报告模块按钮显示
修改了报告档案按样品查看原始记录 修改了分项报告审核复核驳回功能
parent
33986546
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
687 additions
and
30 deletions
+687
-30
soil-report.js
api/soil/soil-report.js
+19
-1
SoilGroupExpReportCheck.vue
.../soil-exp-report/report-check/SoilGroupExpReportCheck.vue
+41
-7
SoilGroupExpReportIssue.vue
.../soil-exp-report/report-issue/SoilGroupExpReportIssue.vue
+42
-7
reportAudit.vue
pages/soil-report-manage/report-audit/tabs/reportAudit.vue
+2
-2
reportIssue.vue
pages/soil-report-manage/report-issue/tabs/reportIssue.vue
+2
-2
ReportMakeByEntrust.vue
...il-report-manage/report-make/tabs/ReportMakeByEntrust.vue
+10
-10
ItemLeftList.vue
pages/soil-report-manage/report-manage/ItemLeftList.vue
+173
-0
ItemRightList.vue
pages/soil-report-manage/report-manage/ItemRightList.vue
+258
-0
ItemTabs.vue
pages/soil-report-manage/report-manage/ItemTabs.vue
+60
-0
SampleManage.vue
pages/soil-report-manage/report-manage/SampleManage.vue
+56
-0
ReportByContract.vue
...soil-report-manage/report-manage/tab/ReportByContract.vue
+24
-1
No files found.
api/soil/soil-report.js
View file @
c1a0b9fc
...
@@ -36,5 +36,23 @@ export default {
...
@@ -36,5 +36,23 @@ export default {
generateAppendix
:
data
=>
generateAppendix
:
data
=>
http
.
post
(
'soil/v1/exp_report/generate_appendix'
,
data
).
then
(
res
=>
res
),
http
.
post
(
'soil/v1/exp_report/generate_appendix'
,
data
).
then
(
res
=>
res
),
itemReportMerge
:
data
=>
itemReportMerge
:
data
=>
http
.
post
(
'soil/v1/exp_report/item_report_merge'
,
data
).
then
(
res
=>
res
)
http
.
post
(
'soil/v1/exp_report/item_report_merge'
,
data
).
then
(
res
=>
res
),
backExpReportCheckBack
:
data
=>
http
.
post
(
'soil/v1/exp_report/back_exp_report_check?ids='
+
data
.
ids
+
'&remark='
+
data
.
remark
)
.
then
(
res
=>
res
),
backExpReportIssueBack
:
data
=>
http
.
post
(
'soil/v1/exp_report/back_exp_report_issue?ids='
+
data
.
ids
+
'&remark='
+
data
.
remark
)
.
then
(
res
=>
res
)
}
}
pages/soil-exp-report/report-check/SoilGroupExpReportCheck.vue
View file @
c1a0b9fc
...
@@ -9,21 +9,21 @@
...
@@ -9,21 +9,21 @@
<Form
id=
"search-contract-record"
:label-width=
"70"
inline
onsubmit=
"return false"
>
<Form
id=
"search-contract-record"
:label-width=
"70"
inline
onsubmit=
"return false"
>
<label
class=
"label-sign"
></label>
<label
class=
"label-sign"
></label>
<Form-item
label=
"项目名称:"
>
<Form-item
label=
"项目名称:"
>
<Input
v-model=
"formObj.expName"
name=
"expName"
placeholder=
"请输入项目名称"
style=
"width: 200px
"
<Input
v-model=
"formObj.expName"
@
on-enter=
"_search"
name=
"expName"
placeholder=
"请输入项目名称
"
clearable
@
on-enter=
"_search"
/>
style=
"width: 200px"
clearable
/>
</Form-item>
</Form-item>
<Form-item
class=
"search-btn"
>
<Form-item
class=
"search-btn"
>
<Button
type=
"primary"
@
click=
"_search
"
>
搜索
</Button>
<Button
@
click=
"_search"
type=
"primary
"
>
搜索
</Button>
</Form-item>
</Form-item>
</Form>
</Form>
</Col>
</Col>
<Col
span=
"24"
>
<Col
span=
"24"
>
<btn-list
:msg=
"btn"
:open=
"searchOpen"
show-search-btn=
"true"
@
on-result-change=
"_btnClick
"
/>
<btn-list
:msg=
"btn"
:open=
"searchOpen"
@
on-result-change=
"_btnClick"
show-search-btn=
"true
"
/>
</Col>
</Col>
<!-- 表格 -->
<!-- 表格 -->
<Col
span=
"24"
>
<Col
span=
"24"
>
<PTVXETable
ref=
"pageTable"
:table-height=
"tableHeight"
<PTVXETable
ref=
"pageTable"
:table-height=
"tableHeight"
:get-page=
"getPage"
:icon-msg=
"iconMsg"
show-check-box
@
on-result-change=
"_tableResultChange"
>
:get-page=
"getPage"
:icon-msg=
"iconMsg"
@
on-result-change=
"_tableResultChange"
show-check-box
>
<vxe-table-column
<vxe-table-column
v-for=
"item in pageColumns"
v-for=
"item in pageColumns"
:key=
"item.key"
:key=
"item.key"
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
</Row>
</Row>
</div>
</div>
</Modal>
</Modal>
<Reason
ref=
"reasonModal"
@
on-result-change=
"_reasonResult"
></Reason>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
...
@@ -53,7 +53,9 @@
...
@@ -53,7 +53,9 @@
*/
*/
import
{
meterEntrust
,
soilReport
,
soilStatistics
}
from
'../../../api'
import
{
meterEntrust
,
soilReport
,
soilStatistics
}
from
'../../../api'
import
Global
from
'../../../api/config'
import
Global
from
'../../../api/config'
import
Reason
from
'../../../components/base/Reason'
export
default
{
export
default
{
components
:
{
Reason
},
data
()
{
data
()
{
return
{
return
{
showModal
:
false
,
showModal
:
false
,
...
@@ -68,7 +70,10 @@ export default {
...
@@ -68,7 +70,10 @@ export default {
{
title
:
'创建人'
,
key
:
'uname'
},
{
title
:
'创建人'
,
key
:
'uname'
},
{
title
:
'创建时间'
,
key
:
'ctime'
,
dateTime
:
true
}
{
title
:
'创建时间'
,
key
:
'ctime'
,
dateTime
:
true
}
],
],
btn
:
[{
id
:
'item-check-submit'
,
type
:
'primary'
,
name
:
'提交至复核'
}],
btn
:
[
{
id
:
'item-check-submit'
,
type
:
'primary'
,
name
:
'提交至复核'
},
{
id
:
''
,
type
:
'primary'
,
name
:
'驳回'
}
],
iconMsg
:
[
iconMsg
:
[
{
{
type
:
'ios-book'
,
type
:
'ios-book'
,
...
@@ -105,12 +110,41 @@ export default {
...
@@ -105,12 +110,41 @@ export default {
case
'提交至复核'
:
case
'提交至复核'
:
this
.
_submitExpReportCheck
()
this
.
_submitExpReportCheck
()
break
break
case
'驳回'
:
this
.
_goBack
()
break
case
'search'
:
case
'search'
:
this
.
searchOpen
=
!
this
.
searchOpen
this
.
searchOpen
=
!
this
.
searchOpen
break
break
}
}
},
},
_goBack
()
{
// 退回
if
(
this
.
selectIds
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请至少选择一条委托!'
)
}
else
{
this
.
$refs
.
reasonModal
.
_open
(
'退回原因'
)
}
},
_reasonResult
(
data
)
{
this
.
$refs
.
pageTable
.
_showLoading
()
if
(
undefined
!==
data
&&
data
!==
''
)
{
this
.
_reportCheckBack
(
data
)
}
},
_reportCheckBack
:
async
function
(
data
)
{
const
result
=
await
soilReport
.
backExpReportCheckBack
({
ids
:
this
.
selectIds
.
join
(
','
),
remark
:
data
})
if
(
result
)
{
this
.
$Message
.
success
(
'退回成功!'
)
await
this
.
_page
()
this
.
$emit
(
'on-result-change'
)
this
.
$refs
.
pageTable
.
_hideLoading
()
}
},
_iconClick
(
res
,
data
)
{
_iconClick
(
res
,
data
)
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
switch
(
res
)
{
switch
(
res
)
{
...
...
pages/soil-exp-report/report-issue/SoilGroupExpReportIssue.vue
View file @
c1a0b9fc
...
@@ -9,21 +9,21 @@
...
@@ -9,21 +9,21 @@
<Form
id=
"search-contract-record"
:label-width=
"70"
inline
onsubmit=
"return false"
>
<Form
id=
"search-contract-record"
:label-width=
"70"
inline
onsubmit=
"return false"
>
<label
class=
"label-sign"
></label>
<label
class=
"label-sign"
></label>
<Form-item
label=
"项目名称:"
>
<Form-item
label=
"项目名称:"
>
<Input
v-model=
"formObj.expName"
name=
"expName"
placeholder=
"请输入项目名称"
style=
"width: 200px
"
<Input
v-model=
"formObj.expName"
@
on-enter=
"_search"
name=
"expName"
placeholder=
"请输入项目名称
"
clearable
@
on-enter=
"_search"
/>
style=
"width: 200px"
clearable
/>
</Form-item>
</Form-item>
<Form-item
class=
"search-btn"
>
<Form-item
class=
"search-btn"
>
<Button
type=
"primary"
@
click=
"_search
"
>
搜索
</Button>
<Button
@
click=
"_search"
type=
"primary
"
>
搜索
</Button>
</Form-item>
</Form-item>
</Form>
</Form>
</Col>
</Col>
<Col
span=
"24"
>
<Col
span=
"24"
>
<btn-list
:msg=
"btn"
:open=
"searchOpen"
show-search-btn=
"true"
@
on-result-change=
"_btnClick
"
/>
<btn-list
:msg=
"btn"
:open=
"searchOpen"
@
on-result-change=
"_btnClick"
show-search-btn=
"true
"
/>
</Col>
</Col>
<!-- 表格 -->
<!-- 表格 -->
<Col
span=
"24"
>
<Col
span=
"24"
>
<PTVXETable
ref=
"pageTable"
:table-height=
"tableHeight"
<PTVXETable
ref=
"pageTable"
:table-height=
"tableHeight"
:get-page=
"getPage"
:icon-msg=
"iconMsg"
show-check-box
@
on-result-change=
"_tableResultChange"
>
:get-page=
"getPage"
:icon-msg=
"iconMsg"
@
on-result-change=
"_tableResultChange"
show-check-box
>
<vxe-table-column
<vxe-table-column
v-for=
"item in pageColumns"
v-for=
"item in pageColumns"
:key=
"item.key"
:key=
"item.key"
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
</Row>
</Row>
</div>
</div>
</Modal>
</Modal>
<Reason
ref=
"reasonModal"
@
on-result-change=
"_reasonResult"
></Reason>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
...
@@ -53,7 +53,9 @@
...
@@ -53,7 +53,9 @@
*/
*/
import
{
meterEntrust
,
soilReport
,
soilStatistics
}
from
'../../../api'
import
{
meterEntrust
,
soilReport
,
soilStatistics
}
from
'../../../api'
import
Global
from
'../../../api/config'
import
Global
from
'../../../api/config'
import
Reason
from
'../../../components/base/Reason'
export
default
{
export
default
{
components
:
{
Reason
},
data
()
{
data
()
{
return
{
return
{
showModal
:
false
,
showModal
:
false
,
...
@@ -68,7 +70,10 @@ export default {
...
@@ -68,7 +70,10 @@ export default {
{
title
:
'创建人'
,
key
:
'uname'
},
{
title
:
'创建人'
,
key
:
'uname'
},
{
title
:
'创建时间'
,
key
:
'ctime'
,
dateTime
:
true
}
{
title
:
'创建时间'
,
key
:
'ctime'
,
dateTime
:
true
}
],
],
btn
:
[{
id
:
'issue-pass'
,
type
:
'primary'
,
name
:
'通过'
}],
btn
:
[
{
id
:
'issue-pass'
,
type
:
'primary'
,
name
:
'通过'
},
{
id
:
''
,
type
:
'primary'
,
name
:
'驳回'
}
],
iconMsg
:
[
iconMsg
:
[
{
{
type
:
'ios-book'
,
type
:
'ios-book'
,
...
@@ -105,11 +110,41 @@ export default {
...
@@ -105,11 +110,41 @@ export default {
case
'通过'
:
case
'通过'
:
this
.
_submitExpReportIssue
()
this
.
_submitExpReportIssue
()
break
break
case
'驳回'
:
this
.
_goBack
()
break
case
'search'
:
case
'search'
:
this
.
searchOpen
=
!
this
.
searchOpen
this
.
searchOpen
=
!
this
.
searchOpen
break
break
}
}
},
},
_goBack
()
{
// 退回
if
(
this
.
selectIds
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请至少选择一条委托!'
)
}
else
{
this
.
$refs
.
reasonModal
.
_open
(
'退回原因'
)
}
},
_reasonResult
(
data
)
{
this
.
$refs
.
pageTable
.
_showLoading
()
if
(
undefined
!==
data
&&
data
!==
''
)
{
this
.
_reportCheckBack
(
data
)
}
},
_reportCheckBack
:
async
function
(
data
)
{
const
result
=
await
soilReport
.
backExpReportIssueBack
({
ids
:
this
.
selectIds
.
join
(
','
),
remark
:
data
})
if
(
result
)
{
this
.
$Message
.
success
(
'退回成功!'
)
await
this
.
_page
()
this
.
$emit
(
'on-result-change'
)
this
.
$refs
.
pageTable
.
_hideLoading
()
}
},
_iconClick
(
res
,
data
)
{
_iconClick
(
res
,
data
)
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
...
...
pages/soil-report-manage/report-audit/tabs/reportAudit.vue
View file @
c1a0b9fc
...
@@ -111,11 +111,11 @@ export default {
...
@@ -111,11 +111,11 @@ export default {
selectIds
:
[],
selectIds
:
[],
selectData
:
[],
selectData
:
[],
iconMsg
:
[
iconMsg
:
[
{
id
:
'report-audit-view'
,
type
:
'md-image'
,
name
:
'预览报告'
},
//
{ id: 'report-audit-view', type: 'md-image', name: '预览报告' },
{
{
id
:
'report-audit-view-report'
,
id
:
'report-audit-view-report'
,
type
:
'ios-book'
,
type
:
'ios-book'
,
name
:
'
查看
汇总报告'
name
:
'
管理
汇总报告'
},
},
{
id
:
'report-audit-upload'
,
type
:
'ios-cloud'
,
name
:
'附件'
},
{
id
:
'report-audit-upload'
,
type
:
'ios-cloud'
,
name
:
'附件'
},
{
id
:
'report-audit-record'
,
type
:
'ios-clock'
,
name
:
'操作日志'
}
{
id
:
'report-audit-record'
,
type
:
'ios-clock'
,
name
:
'操作日志'
}
...
...
pages/soil-report-manage/report-issue/tabs/reportIssue.vue
View file @
c1a0b9fc
...
@@ -135,11 +135,11 @@ export default {
...
@@ -135,11 +135,11 @@ export default {
selectIds
:
[],
selectIds
:
[],
selectData
:
[],
selectData
:
[],
iconMsg
:
[
iconMsg
:
[
{
id
:
'report-issue-view'
,
type
:
'md-image'
,
name
:
'预览报告'
},
//
{ id: 'report-issue-view', type: 'md-image', name: '预览报告' },
{
{
id
:
'report-issue-view-report'
,
id
:
'report-issue-view-report'
,
type
:
'ios-book'
,
type
:
'ios-book'
,
name
:
'
查看
汇总报告'
name
:
'
管理
汇总报告'
},
},
{
id
:
'report-issue-upload'
,
type
:
'ios-cloud'
,
name
:
'附件'
},
{
id
:
'report-issue-upload'
,
type
:
'ios-cloud'
,
name
:
'附件'
},
{
id
:
'report-issue-record'
,
type
:
'ios-clock'
,
name
:
'操作日志'
}
{
id
:
'report-issue-record'
,
type
:
'ios-clock'
,
name
:
'操作日志'
}
...
...
pages/soil-report-manage/report-make/tabs/ReportMakeByEntrust.vue
View file @
c1a0b9fc
...
@@ -139,16 +139,16 @@ export default {
...
@@ -139,16 +139,16 @@ export default {
id
:
'make-report-upload-report'
,
id
:
'make-report-upload-report'
,
name
:
'上传报告'
name
:
'上传报告'
},
},
{
//
{
type
:
'md-image'
,
//
type: 'md-image',
id
:
'make-report-view-report'
,
//
id: 'make-report-view-report',
name
:
'预览报告'
//
name: '预览报告'
},
//
},
{
//
{
type
:
'ios-book'
,
//
type: 'ios-book',
id
:
'make-report-edit-report'
,
//
id: 'make-report-edit-report',
name
:
'编辑报告'
//
name: '编辑报告'
},
//
},
// {
// {
// type: 'ios-document-outline',
// type: 'ios-document-outline',
// id: '',
// id: '',
...
...
pages/soil-report-manage/report-manage/ItemLeftList.vue
0 → 100644
View file @
c1a0b9fc
<
template
>
<div>
<Row>
<!--查询-->
<Col
span=
"24"
>
<Form
id=
"task-assign-item-left"
:label-width=
"70"
inline
onsubmit=
"return false"
>
<label
class=
"label-sign"
></label>
<Form-item
class=
"search-item"
label=
"检测项目:"
>
<Input
v-model=
"formObj.name"
@
on-enter=
"_formSearch"
placeholder=
"请输入检测项目"
clearable
></Input>
</Form-item>
<Form-item
class=
"search-btn"
>
<Button
@
click=
"_formSearch"
type=
"primary"
>
搜索
</Button>
</Form-item>
</Form>
</Col>
<Col
span=
"24"
>
<btn-list
@
on-result-change=
"_btnClick"
:msg=
"btn"
class=
"contHide"
style=
"margin-bottom: 6px;"
></btn-list>
</Col>
<!-- 表格 -->
<Col
span=
"24"
>
<PTVXETable
ref=
"pageTable"
:page-columns=
"pageColumns"
:table-name=
"tableName"
:table-height=
"tableHeight"
:get-page=
"getPage"
@
on-result-change=
"_tableResultChange"
select-data
>
<vxe-table-column
v-for=
"item in userColumns.length > 0 ?userColumns:pageColumns"
:key=
"item.key"
:field=
"item.key"
:title=
"item.title"
:min-width=
"item.width"
:fixed=
"item.fixed?item.fixed:undefined"
sortable
>
<template
slot-scope=
"scope"
>
<a
v-if=
"item.detail"
@
click
.
stop=
"_detailModal(scope.row)"
>
{{
scope
.
row
[
item
.
key
]
}}
</a>
<span
v-else-if=
"item.date"
>
{{
scope
.
row
[
item
.
key
]?
$dateformat
(
scope
.
row
[
item
.
key
],
'yyyy-mm-dd'
):
''
}}
</span>
<span
v-else
>
{{
scope
.
row
[
item
.
key
]
}}
</span>
</
template
>
</vxe-table-column>
</PTVXETable>
</Col>
</Row>
</div>
</template>
<
script
>
import
{
soilTest
}
from
'../../../api'
export
default
{
components
:
{},
props
:
{
rightSelectData
:
null
},
data
()
{
return
{
currentComponent
:
''
,
formObj
:
{
name
:
undefined
},
formObjSample
:
{
name
:
undefined
,
entrustId
:
undefined
},
formObjBatchSample
:
{
obj
:
{
entrustId
:
''
,
nameList
:
[]
}
},
sampleIds
:
[],
batchSampleIds
:
[],
itemName
:
''
,
tableName
:
'food-task-assign-item-left'
,
// 用户自己选中的列
userColumns
:
[],
selectDataName
:
[],
optionList
:
[
{
key
:
'name'
,
name
:
'检测项目'
,
placeholder
:
'请输入检测项目'
},
{
key
:
'testBasis'
,
name
:
'检测依据'
,
placeholder
:
'请输入检测依据'
}
],
getPage
:
{},
iconMsg
:
[],
btn
:
[],
id
:
''
,
selectId
:
''
,
pageColumns
:
[{
title
:
'检测项目'
,
key
:
'name'
,
width
:
120
}]
}
},
computed
:
{
tableHeight
:
function
()
{
return
this
.
$tableHeight
(
'tabSearch'
)
}
},
methods
:
{
// 重置column
_resetColumn
(
colList
)
{
this
.
userColumns
=
colList
this
.
$refs
.
pageTable
.
_loadColumn
(
colList
)
},
_modalResult
()
{
if
(
this
.
currentComponent
===
'AutoAssignModal'
)
{
this
.
_formSearch
()
}
},
_selInputResult1
(
msg
,
data
)
{
switch
(
msg
)
{
case
'search'
:
this
.
_formSearch
()
break
}
},
_open
(
id
)
{
this
.
id
=
id
this
.
selectId
=
''
this
.
_page
()
},
_searchParams
()
{
const
obj
=
{}
const
obj1
=
this
.
$refs
.
selInput1
.
_getFormObj
()
Object
.
assign
(
obj
,
obj1
)
return
obj
},
_page
:
async
function
()
{
Object
.
assign
(
this
.
formObj
,
this
.
$refs
.
pageTable
.
_searchParams
())
this
.
formObj
.
entrustId
=
this
.
id
const
result
=
await
soilTest
.
pageTestByExp
(
this
.
$serializeForm
(
this
.
formObj
)
)
if
(
result
)
{
this
.
$refs
.
pageTable
.
_hideLoading
()
this
.
getPage
=
result
}
},
_tableResultChange
(
msg
,
data
)
{
switch
(
msg
)
{
case
'page'
:
this
.
_page
()
break
case
'selectData'
:
this
.
selectDataName
=
[]
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
this
.
selectDataName
.
push
(
data
[
i
].
name
)
}
this
.
$emit
(
'on-result-change'
,
this
.
selectDataName
)
break
case
'changeSize'
:
this
.
_page
()
break
}
},
_formSearch
()
{
this
.
$refs
.
pageTable
.
_pageChange
(
1
)
},
_btnClick
(
msg
)
{
switch
(
msg
)
{
case
'生成项目报告'
:
// this.$emit('on-result-change', data)
this
.
_itemReportMakeBatch
()
break
case
'自动分配'
:
this
.
_autoAssign
()
break
}
},
_iconClick
(
res
,
data
,
currentComponent
)
{
this
.
$nextTick
(()
=>
{
switch
(
res
)
{
case
'生成项目报告'
:
// this.$emit('on-result-change', data)
this
.
_itemReportMake
(
data
)
break
}
})
}
}
}
</
script
>
pages/soil-report-manage/report-manage/ItemRightList.vue
0 → 100644
View file @
c1a0b9fc
<
template
>
<div>
<Row>
<!--查询-->
<Col
span=
"24"
>
<Form
id=
"task-assign-item-right"
:label-width=
"70"
inline
onsubmit=
"return false"
>
<label
class=
"label-sign"
></label>
<Form-item
class=
"search-item"
label=
"试样编号:"
>
<Input
v-model=
"formObj.sampleCode"
@
on-enter=
"_formSearch"
name=
"sampleCode"
placeholder=
"请输入试样编号"
clearable
></Input>
</Form-item>
<Form-item
class=
"search-btn"
>
<Button
@
click=
"_formSearch"
type=
"primary"
>
搜索
</Button>
</Form-item>
</Form>
</Col>
<!--操作-->
<Col
span=
"24"
>
<btn-list
:msg=
"btn"
@
on-result-change=
"_btnClick"
class=
"contHide"
></btn-list>
</Col>
<!-- 表格 -->
<Col
span=
"24"
>
<PTVXETable
ref=
"pageTable"
:page-columns=
"pageColumns"
:table-height=
"tableHeight"
:get-page=
"getPage"
:icon-msg=
"iconMsg"
:table-name=
"tableName"
@
on-result-change=
"_tableResultChange"
is-task
select-data
>
<vxe-table-column
v-for=
"item in userColumns.length > 0 ?userColumns:pageColumns"
:key=
"item.key"
:field=
"item.key"
:title=
"item.title"
:min-width=
"item.width"
:fixed=
"item.fixed?item.fixed:undefined"
sortable
>
<template
slot-scope=
"scope"
>
<div
v-if=
"item.key === 'name'"
:style=
"
{color:colorComputed(scope.row.planEndDate)}">
{{
scope
.
row
[
item
.
key
]
}}
</div>
<a
v-else-if=
"item.key==='code'"
@
click
.
stop=
"_detailModal(scope.row)"
>
{{
scope
.
row
[
item
.
key
]
}}
</a>
<a
v-else-if=
"item.key==='num'"
@
click
.
stop=
"_sampleDetail(scope.row)"
>
{{
scope
.
row
[
item
.
key
]
}}
</a>
<span
v-else-if=
"item.date"
>
{{
scope
.
row
[
item
.
key
]?
$dateformat
(
scope
.
row
[
item
.
key
],
'yyyy-mm-dd'
):
''
}}
</span>
<span
v-else-if=
"item.datetime"
>
{{
scope
.
row
[
item
.
key
]?
$dateformat
(
scope
.
row
[
item
.
key
],
'yyyy-mm-dd HH:MM'
):
''
}}
</span>
<span
v-else-if=
"item.key==='progress'"
>
{{
scope
.
row
[
item
.
key
].
display
}}
</span>
<span
v-else
>
{{
scope
.
row
[
item
.
key
]
}}
</span>
</
template
>
</vxe-table-column>
</PTVXETable>
</Col>
</Row>
</div>
</template>
<
script
>
import
{
soilReport
,
soilTest
}
from
'../../../api'
export
default
{
components
:
{},
data
()
{
return
{
// 定义表格名称----英文
tableName
:
'food-task-assign-item-right'
,
formObj
:
{
entrustId
:
''
,
name
:
''
,
testMethod
:
''
,
testBasis
:
''
,
obj
:
{
entrustId
:
''
,
nameList
:
[]
}
},
entrustId
:
''
,
envPro
:
false
,
// 用户自己选中的列
userColumns
:
[],
currentComponent
:
''
,
btn
:
[],
iconMsg
:
[
{
type
:
'ios-book'
,
id
:
''
,
name
:
'查看原始记录'
}
],
getPage
:
{},
pageColumns
:
[
{
title
:
'试验项目'
,
key
:
'name'
,
width
:
120
,
fixed
:
'left'
},
{
title
:
'缩写'
,
key
:
'shortName'
,
width
:
90
},
{
title
:
'钻孔编号'
,
key
:
'boreholeName'
,
width
:
120
},
{
title
:
'现场编号'
,
key
:
'siteNo'
,
width
:
110
},
{
title
:
'试样编号'
,
key
:
'sampleCode'
,
width
:
140
},
{
title
:
'原始记录填写'
,
key
:
'recorded'
,
width
:
120
},
{
title
:
'试样深度'
,
key
:
'sampleDepth'
,
width
:
110
},
{
title
:
'土质描述'
,
key
:
'describeDetail'
,
width
:
110
},
{
title
:
'含水率'
,
key
:
'haveWater'
,
width
:
110
},
{
title
:
'密度'
,
key
:
'density'
,
width
:
110
},
{
title
:
'土粒比重'
,
key
:
'bulkDensity'
,
width
:
110
},
{
title
:
'检测方法'
,
key
:
'testMethod'
,
width
:
140
},
{
title
:
'检测依据'
,
key
:
'testBasis'
,
width
:
140
},
{
title
:
'试样包装类型'
,
key
:
'samplePack'
,
width
:
160
},
{
title
:
'检测科室'
,
key
:
'groupName'
,
width
:
150
},
{
title
:
'状态'
,
key
:
'progress'
,
width
:
180
},
{
title
:
'大类'
,
key
:
'mainType'
,
width
:
140
},
{
title
:
'小类'
,
key
:
'smallType'
,
width
:
140
}
],
leftSelectData
:
[],
selectIds
:
[],
// 检测项目id
selectData
:
[],
// 检测项目data
selectSampleIds
:
[],
// 样品ids
result
:
[],
sampleNames
:
''
,
// 没有计划完成时间的样品名
defaultPlanDate
:
null
,
// 是否有字典
warningValue
:
''
}
},
computed
:
{
tableHeight
:
function
()
{
return
this
.
$tableHeight
(
'tabSearch'
)
},
colorComputed
()
{
return
function
(
val
)
{
return
val
-
new
Date
().
getTime
()
>
this
.
warningValue
*
86400000
?
'#606266'
:
val
-
new
Date
().
getTime
()
<=
0
?
'#eb6877'
:
'#f90'
}
}
},
mounted
()
{
// this._dicSearch()
if
(
process
.
env
.
NODE_ENV
===
'production'
)
{
this
.
envPro
=
true
}
},
methods
:
{
_iconClick
(
res
,
data
,
currentComponent
)
{
this
.
$nextTick
(()
=>
{
switch
(
res
)
{
case
'查看原始记录'
:
this
.
_reportView
(
data
)
break
}
})
},
_reportView
(
data
)
{
if
(
data
.
recorded
===
'是'
)
{
if
(
data
.
objectKey
)
{
this
.
_reportMakeLook
(
data
)
}
else
{
this
.
$refs
.
editModal
.
_openWithType
(
data
.
recordId
,
'ENVTESTMAKEEDIT'
)
}
}
else
{
this
.
$Message
.
warning
(
'未填写原始记录'
)
}
},
_reportMakeLook
:
async
function
(
data
)
{
const
result
=
await
soilReport
.
getExcelOriginalRecord
(
data
.
id
)
if
(
result
)
{
this
.
_viewReport
(
result
)
}
},
_viewReport
(
data
)
{
this
.
$refs
.
pageTable
.
_hideLoading
()
if
(
data
)
{
this
.
$openWindowModeless
({
objectKey
:
data
.
objectKey
,
idType
:
10
,
id
:
data
.
id
,
isReport
:
4
})
}
},
_btnClick
(
msg
)
{
switch
(
msg
)
{
case
'填写原始记录'
:
this
.
_addRecord
()
break
}
},
_getEntrustId
(
id
)
{
this
.
entrustId
=
id
},
_open
(
id
,
data
)
{
this
.
leftSelectData
=
data
this
.
entrustId
=
id
if
(
data
.
length
===
0
)
{
this
.
$set
(
this
.
getPage
,
'records'
,
[])
this
.
$set
(
this
.
getPage
,
'total'
,
0
)
this
.
$set
(
this
.
getPage
,
'current'
,
1
)
this
.
selectSampleIds
=
[]
this
.
selectIds
=
[]
this
.
selectData
=
[]
this
.
result
=
[]
}
else
{
this
.
_formSearch
()
}
},
_refresh
()
{
this
.
$emit
(
'on-result-change'
)
},
_formSearch
()
{
this
.
$refs
.
pageTable
.
_pageChange
(
1
)
},
_searchParams
()
{
const
obj
=
{}
const
obj1
=
this
.
$refs
.
selInput1
.
_getFormObj
()
const
obj2
=
this
.
$refs
.
selInput2
.
_getFormObj
()
const
obj3
=
{
foodItemList
:
this
.
leftSelectData
}
Object
.
assign
(
obj
,
obj1
,
obj2
,
obj3
)
return
obj
},
_page
:
async
function
()
{
this
.
formObj
.
obj
.
nameList
=
[]
Object
.
assign
(
this
.
formObj
,
this
.
$refs
.
pageTable
.
_searchParams
())
this
.
formObj
.
obj
.
entrustId
=
this
.
entrustId
this
.
formObj
.
obj
.
nameList
=
this
.
leftSelectData
// this.formObj.entrustId = this.entrustId
// this.formObj.nameList = this.leftSelectData.join(',')
const
result
=
await
soilTest
.
pageExperimentTestBath
(
this
.
$serializeForm
(
this
.
formObj
)
)
if
(
result
)
{
this
.
$refs
.
pageTable
.
_hideLoading
()
this
.
$refs
.
pageTable
.
_checkAll
()
this
.
getPage
=
result
}
},
_tableResultChange
(
msg
,
data
)
{
const
selectIds
=
[]
switch
(
msg
)
{
case
'page'
:
this
.
_page
()
break
case
'iconClick'
:
this
.
_iconClick
(
data
.
name
,
data
.
rowData
,
data
.
currentComponent
)
break
case
'selectData'
:
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
selectIds
.
push
(
data
[
i
].
id
)
}
this
.
selectIds
=
selectIds
this
.
selectData
=
data
this
.
$emit
(
'child-data'
,
data
)
break
case
'table-col'
:
// 用户选中的表格列
this
.
userColumns
=
data
break
case
'changeSize'
:
this
.
_page
()
// this.$refs.pageTable._checkAll()
break
}
},
_clearAll
()
{
this
.
getPage
.
records
=
[]
this
.
selectIds
=
[]
}
}
}
</
script
>
pages/soil-report-manage/report-manage/ItemTabs.vue
0 → 100644
View file @
c1a0b9fc
<
template
>
<div>
<TwoColumnPage>
<template
slot=
"left"
>
<ItemLeftList
ref=
"leftModal"
:rightSelectData =
rightSelectData
@
on-result-change=
"_leftResult"
></ItemLeftList>
</
template
>
<
template
slot=
"right"
>
<ItemRightList
ref=
"rightModal"
:entrustIds =
id
@
child-data=
"_rightSelectData"
@
on-result-change=
"_rightResult"
></ItemRightList>
</
template
>
</TwoColumnPage>
</div>
</template>
<
script
>
import
TwoColumnPage
from
'../../../components/base/TwoColumnPage'
import
ItemLeftList
from
'./ItemLeftList'
import
ItemRightList
from
'./ItemRightList'
export
default
{
components
:
{
TwoColumnPage
,
ItemLeftList
,
ItemRightList
},
data
()
{
return
{
id
:
''
,
rightSelectData
:
[]
}
},
methods
:
{
_leftResult
(
data
)
{
console
.
log
(
'ItemTabs'
,
data
)
this
.
$refs
.
rightModal
.
_open
(
this
.
id
,
data
)
},
_rightResult
()
{
this
.
$refs
.
leftModal
.
_page
()
},
_rightSelectData
(
data
)
{
this
.
rightSelectData
=
[]
if
(
data
.
length
>
0
)
{
const
rightSelectId
=
[]
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
rightSelectId
.
push
(
data
[
i
].
id
)
}
this
.
rightSelectData
=
rightSelectId
}
},
_open
(
id
)
{
this
.
id
=
id
this
.
$refs
.
leftModal
.
_open
(
this
.
id
)
this
.
$refs
.
rightModal
.
_getEntrustId
(
this
.
id
)
// this.$refs.rightModal._getColumn()
},
_clearTable
()
{
this
.
$refs
.
rightModal
.
_clearAll
()
}
}
}
</
script
>
pages/soil-report-manage/report-manage/SampleManage.vue
0 → 100644
View file @
c1a0b9fc
<
template
>
<div>
<Modal
v-model=
"showSampleModal"
v-drag
@
on-visible-change=
"_visibleChange"
width=
"1330"
class=
"zIndex-900 modal-footer-none"
>
<p
slot=
"header"
>
按样品查看原始记录
</p>
<div>
<WaitReceive
ref=
"waitReceiveModal"
></WaitReceive>
</div>
</Modal>
</div>
</
template
>
<
script
>
import
WaitReceive
from
'./ItemTabs'
export
default
{
components
:
{
WaitReceive
},
data
()
{
return
{
contractId
:
''
,
// 合同id
entrustId
:
''
,
showSampleModal
:
false
,
modalTitle
:
''
,
selectIds
:
[],
name
:
''
,
currentComponent
:
''
}
},
mounted
()
{
// this.currentComponent = 'waitScan'
},
methods
:
{
_open
(
entrustId
)
{
this
.
showSampleModal
=
true
this
.
entrustId
=
entrustId
// 委托id
// this.currentComponent = 'waitScan'
this
.
selectIds
=
[]
this
.
_waitPage
()
},
// 待接收
_waitPage
()
{
this
.
$refs
.
waitReceiveModal
.
_open
(
this
.
entrustId
)
},
_search
()
{
this
.
$emit
(
'on-result-change'
)
},
// 关闭弹框的时候刷新上个界面
_visibleChange
(
data
)
{
if
(
data
===
false
)
{
this
.
_search
()
}
}
}
}
</
script
>
pages/soil-report-manage/report-manage/tab/ReportByContract.vue
View file @
c1a0b9fc
...
@@ -83,9 +83,18 @@ import { soilReport } from '../../../../api'
...
@@ -83,9 +83,18 @@ import { soilReport } from '../../../../api'
import
Operation
from
'../../../../components/operation/Operation'
import
Operation
from
'../../../../components/operation/Operation'
import
SampleByMakeModal
from
'../../report-manage/SampleByMakeModal'
import
SampleByMakeModal
from
'../../report-manage/SampleByMakeModal'
import
OriginalRecordView
from
'../OriginalRecordView'
import
OriginalRecordView
from
'../OriginalRecordView'
import
SampleManage
from
'../SampleManage'
export
default
{
export
default
{
// eslint-disable-next-line vue/no-unused-components
// eslint-disable-next-line vue/no-unused-components
components
:
{
Operation
,
SampleByMakeModal
,
OriginalRecordView
},
components
:
{
Operation
,
// eslint-disable-next-line vue/no-unused-components
SampleByMakeModal
,
// eslint-disable-next-line vue/no-unused-components
OriginalRecordView
,
// eslint-disable-next-line vue/no-unused-components
SampleManage
},
props
:
{
props
:
{
reportStatus
:
null
reportStatus
:
null
},
},
...
@@ -124,6 +133,11 @@ export default {
...
@@ -124,6 +133,11 @@ export default {
id
:
'report-manage-view-record'
,
id
:
'report-manage-view-record'
,
name
:
'查看原始记录'
name
:
'查看原始记录'
},
},
{
type
:
'ios-list-box'
,
id
:
''
,
name
:
'按样品查看原始记录'
},
{
type
:
'ios-cloud'
,
id
:
'report-manage-upload'
,
name
:
'附件'
},
{
type
:
'ios-cloud'
,
id
:
'report-manage-upload'
,
name
:
'附件'
},
{
{
type
:
'ios-clock'
,
type
:
'ios-clock'
,
...
@@ -182,6 +196,9 @@ export default {
...
@@ -182,6 +196,9 @@ export default {
case
'查看原始记录'
:
case
'查看原始记录'
:
this
.
_viewRecord
(
data
.
id
)
this
.
_viewRecord
(
data
.
id
)
break
break
case
'按样品查看原始记录'
:
this
.
_viewRecordBySample
(
data
.
id
)
break
case
'附件'
:
case
'附件'
:
this
.
_upload
(
data
.
id
)
this
.
_upload
(
data
.
id
)
break
break
...
@@ -191,6 +208,12 @@ export default {
...
@@ -191,6 +208,12 @@ export default {
}
}
})
})
},
},
_viewRecordBySample
(
id
)
{
this
.
currentComponent
=
'SampleManage'
this
.
$nextTick
(()
=>
{
this
.
$refs
.
refModal
.
_open
(
id
)
})
},
_upload
(
id
)
{
_upload
(
id
)
{
this
.
currentComponent
=
'FileManage'
this
.
currentComponent
=
'FileManage'
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment