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
5f625cb4
Commit
5f625cb4
authored
Oct 23, 2020
by
wangweidong
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
92134eb4
de871286
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1006 additions
and
1 deletions
+1006
-1
FoodReportManageIndex.vue
...oil-report-manage/report-manage/FoodReportManageIndex.vue
+54
-0
ReportByContract.vue
...soil-report-manage/report-manage/tab/ReportByContract.vue
+358
-0
ReportByReport.vue
...s/soil-report-manage/report-manage/tab/ReportByReport.vue
+582
-0
SoilSampleManage.vue
pages/soil-sample-manage/SoilSampleManage.vue
+6
-1
soil-routes.js
router/soil-routes.js
+6
-0
No files found.
pages/soil-report-manage/report-manage/FoodReportManageIndex.vue
0 → 100644
View file @
5f625cb4
<
template
>
<div>
<div
class=
"layout-content-padding"
>
<div
class=
"layout-content-main"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"_changeTabs"
>
<el-tab-pane
label=
"报告档案"
name=
"contract"
/>
<el-tab-pane
label=
"报告台账"
name=
"report"
/>
</el-tabs>
<!--组件加载,缓存-->
<keep-alive>
<!-- eslint-disable-next-line vue/require-component-is -->
<component
:is=
"currentComponent"
></component>
</keep-alive>
</div>
</div>
</div>
</
template
>
<
script
>
import
ReportByContract
from
'./tab/ReportByContract'
import
ReportByReport
from
'./tab/ReportByReport'
/**
* 报告档案
*/
export
default
{
components
:
{
// eslint-disable-next-line vue/no-unused-components
ReportByContract
,
// eslint-disable-next-line vue/no-unused-components
ReportByReport
},
data
()
{
return
{
activeName
:
''
,
// 结束
reportStatus
:
'FLOW_END'
,
currentComponent
:
''
}
},
mounted
()
{
this
.
activeName
=
'contract'
this
.
currentComponent
=
'ReportByContract'
},
methods
:
{
_changeTabs
(
tab
,
event
)
{
if
(
tab
.
name
===
'contract'
)
{
this
.
currentComponent
=
'ReportByContract'
}
else
if
(
tab
.
name
===
'report'
)
{
this
.
currentComponent
=
'ReportByReport'
}
}
}
}
</
script
>
pages/soil-report-manage/report-manage/tab/ReportByContract.vue
0 → 100644
View file @
5f625cb4
<
template
>
<div>
<!--内容-->
<div
class=
"layout-content-padding"
>
<div
class=
"layout-content-main"
>
<Row>
<!--查询-->
<Col
span=
"24"
>
<Form
id=
"search-form-report-tab"
:label-width=
"70"
v-show=
"searchOpen"
inline
onsubmit=
"return false"
>
<label
class=
"label-sign"
></label>
<Form-item
class=
"search-item"
label=
"报告编号:"
>
<Input
@
on-enter=
"_formSearch"
v-model=
"formObj.reportSn"
name=
"reportSn"
placeholder=
"请输入报告编号"
clearable
/>
</Form-item>
<Form-item
class=
"search-item"
label=
"委托单位:"
>
<Input
@
on-enter=
"_formSearch"
name=
"cname"
placeholder=
"请输入委托单位"
clearable
/>
</Form-item>
<Form-item
class=
"search-item"
label=
"委托编号:"
>
<Input
@
on-enter=
"_formSearch"
name=
"code"
placeholder=
"请输入委托编号"
clearable
/>
</Form-item>
<Form-item
class=
"search-btn"
>
<Button
@
click=
"_formSearch"
type=
"primary"
>
搜索
</Button>
</Form-item>
</Form>
</Col>
<Col
span=
"24"
>
<btn-list
:msg=
"btn"
:open=
"searchOpen"
:showSearchBtn=
"true"
@
on-result-change=
"_btnClick"
class=
"contHide"
>
</btn-list>
</Col>
<!-- 表格 -->
<Col
span=
"24"
>
<PTVXETable
ref=
"pageTable"
:getPage=
"getPage"
:iconMsg=
"iconMsg"
@
on-result-change=
"_tableResultChange"
:rows=
"100"
>
<vxe-table-column
v-for=
"item in pageColumns"
:key=
"item.key"
:field=
"item.key"
:title=
"item.title"
:width=
"item.width"
:min-width=
"200"
:fixed=
"item.fixed?item.fixed:undefined"
sortable
>
<template
slot-scope=
"scope"
>
<div
v-if=
"item.detail"
>
</div>
<div
v-else-if=
"item.key==='reportDueDate'"
>
<div
v-if=
"scope.row.progress === '结束'"
>
{{
scope
.
row
[
item
.
key
]?
$dateformat
(
scope
.
row
[
item
.
key
],
'yyyy-mm-dd'
):
''
}}
</div>
</div>
<div
v-else-if=
"item.status"
>
{{
scope
.
row
[
item
.
key
]
===
undefined
?
''
:
scope
.
row
[
item
.
key
].
display
}}
</div>
<div
v-else-if=
"item.date"
>
{{
scope
.
row
[
item
.
key
]?
$dateformat
(
scope
.
row
[
item
.
key
],
'yyyy-mm-dd'
):
''
}}
</div>
<div
v-else-if=
"item.type"
>
{{
scope
.
row
[
item
.
key
]
===
0
?
'企业'
:
scope
.
row
[
item
.
key
]
===
1
?
'政府'
:
scope
.
row
[
item
.
key
]
===
2
?
'食品类抽样单'
:
''
}}
</div>
<div
v-else
>
{{
scope
.
row
[
item
.
key
]
}}
</div>
</
template
>
</vxe-table-column>
</PTVXETable>
</Col>
</Row>
</div>
</div>
<!--组件加载-->
<Operation
ref=
"recordModal"
></Operation>
<keep-alive>
<!-- eslint-disable-next-line vue/require-component-is -->
<component
ref=
"refModal"
:is=
"currentComponent"
:exportSendRecords=
"exportSendRecords"
:reportStatus=
"reportStatus"
:formObj=
"formObj"
@
on-result-change=
"_modalChange"
></component>
</keep-alive>
</div>
</template>
<
script
>
import
{
soilReport
}
from
'../../../../api'
import
Operation
from
'../../../../components/operation/Operation'
export
default
{
components
:
{
Operation
},
props
:
{
reportStatus
:
null
},
data
()
{
return
{
currentComponent
:
''
,
typeList
:
[{
name
:
'企业'
,
value
:
0
},
{
name
:
'政府'
,
value
:
1
}],
getPage
:
{},
pageColumns
:
[
{
title
:
'委托商'
,
key
:
'client'
,
width
:
100
,
fixed
:
'left'
},
{
title
:
'委托编号'
,
key
:
'entrustCode'
,
width
:
100
},
{
title
:
'报告编号'
,
key
:
'reportCode'
,
width
:
100
},
{
title
:
'进度'
,
key
:
'progress'
,
width
:
110
,
status
:
true
},
{
title
:
'状态'
,
key
:
'status'
,
width
:
100
,
status
:
true
},
{
title
:
'委托日期'
,
key
:
'entrustDate'
,
width
:
100
,
date
:
true
},
{
title
:
'钻孔位置'
,
key
:
'boreholeLocation'
,
width
:
100
},
{
title
:
'钻孔名称'
,
key
:
'boreholeName'
,
width
:
100
},
{
title
:
'水深'
,
key
:
'waterDepth'
,
width
:
100
},
{
title
:
'制表人'
,
key
:
'tabulater'
,
width
:
110
},
{
title
:
'制表日期'
,
key
:
'tabulateDate'
,
width
:
110
,
date
:
true
}
],
iconMsg
:
[
// {
// type: 'ios-list',
// id: '',
// name: '资料管理',
// componentName: 'ErecordIndex'
// },
{
type
:
'ios-clock'
,
id
:
''
,
name
:
'操作记录'
}
],
btn
:
[
{
type
:
'primary'
,
id
:
'food-report-manage-contract-push-to-gc'
,
name
:
'推送至国抽平台'
},
{
type
:
''
,
id
:
'food-report-manage-export-send-record'
,
name
:
'导出发放记录'
},
{
type
:
''
,
id
:
'food-report-manage-export-send-form'
,
name
:
'导出发放记录表'
},
{
type
:
''
,
id
:
'food-report-manage-export-report-collect'
,
name
:
'导出报告汇总统计表'
}
],
searchOpen
:
false
,
selectIds
:
[],
formObj
:
{
reportSn
:
''
,
num
:
''
},
// 导出发放记录与统计表区分,false--统计表,true--统计表
exportSendRecords
:
false
}
},
computed
:
{
tableHeight
:
function
()
{
if
(
this
.
searchOpen
)
{
return
this
.
$tableHeight
(
''
,
150
)
}
else
{
return
this
.
$tableHeight
(
'noSearch'
)
}
}
},
mounted
()
{
this
.
_page
()
},
methods
:
{
_modalChange
(
data
)
{
switch
(
this
.
currentComponent
)
{
case
'SelectReportExportModal'
:
if
(
this
.
exportSendRecords
)
{
// 导出发放记录
this
.
_exportSendRecordsForm
(
data
)
}
else
{
// 导出报告汇总统计表
this
.
_exportReportCollect
(
data
)
}
break
}
},
_reportDateChange
(
data
)
{
$
(
'input[name="reportDueDateBegin"]'
).
val
(
data
[
0
])
$
(
'input[name="reportDueDateEnd"]'
).
val
(
data
[
1
])
},
// 制单日期
_ctimeChange
(
data
)
{
$
(
'input[name="ctimeBegin"]'
).
val
(
data
[
0
])
$
(
'input[name="ctimeEnd"]'
).
val
(
data
[
1
])
},
_dateChange
(
data
)
{
$
(
'input[name=auditDateBegin]'
).
val
(
data
[
0
])
$
(
'input[name=auditDateEnd]'
).
val
(
data
[
1
])
},
_issueDateChange
(
data
)
{
$
(
'input[name=issueDateBegin]'
).
val
(
data
[
0
])
$
(
'input[name=issueDateEnd]'
).
val
(
data
[
1
])
},
_btnClick
(
msg
)
{
switch
(
msg
)
{
case
'导出发放记录'
:
this
.
currentComponent
=
'GrantRecordModal'
this
.
$nextTick
(()
=>
{
this
.
$refs
.
refModal
.
_open
()
})
break
case
'推送至国抽平台'
:
this
.
_pushToGC
()
break
case
'导出发放记录表'
:
this
.
exportSendRecords
=
true
this
.
currentComponent
=
'SelectReportExportModal'
this
.
_exportSendForm
()
break
case
'导出报告汇总统计表'
:
this
.
exportSendRecords
=
false
this
.
currentComponent
=
'SelectReportExportModal'
this
.
_selectTempExport
()
break
case
'search'
:
this
.
searchOpen
=
!
this
.
searchOpen
break
}
},
// 导出发放记录表
_exportSendForm
()
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
refModal
.
_open
(
'food-report-manage-export-send-form'
)
})
},
// 导出发放记录表
_exportSendRecordsForm
(
result
)
{
const
obj
=
{
param
:
'ids'
,
ids
:
this
.
selectIds
,
url
:
''
,
queryObj
:
this
.
$serialize
(
'search-form-report-tab'
)
}
obj
.
url
=
this
.
$judgeUrlChar
(
result
)
+
'_n='
+
'导出发放记录表'
// position,标识当前导出菜单位置用
this
.
$exportByQuery
(
obj
,
{
position
:
3
})
},
// 一个按钮对应多个报表
_selectTempExport
()
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
refModal
.
_open
(
'food-report-manage-export-report-collect'
)
})
},
// 导出报告汇总统计表
_exportReportCollect
(
url
)
{
const
obj
=
{
param
:
'ids'
,
ids
:
this
.
selectIds
,
url
:
url
,
queryObj
:
this
.
$serialize
(
'search-form-report-tab'
)
}
this
.
$exportByQuery
(
obj
)
},
// 推送至国抽平台
_pushToGC
()
{
const
ids
=
this
.
selectIds
if
(
ids
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请至少选择一条数据'
)
}
else
{
this
.
$Modal
.
confirm
({
title
:
'提示'
,
content
:
'确定要推送这'
+
ids
.
length
+
'条数据至国抽平台?'
,
onOk
:
()
=>
{
this
.
$store
.
dispatch
(
'FoodSample/pushDataToGCContract'
,
ids
)
.
then
(()
=>
{
this
.
_resultChange
(
'信息推送成功'
)
})
}
})
}
},
_resultChange
(
msg
)
{
if
(
this
.
$store
.
state
.
FoodSample
.
success
)
{
this
.
$Message
.
success
(
msg
)
this
.
_page
()
this
.
selectIds
=
[]
}
},
_iconClick
(
res
,
data
,
componentName
)
{
this
.
currentComponent
=
componentName
this
.
$nextTick
(()
=>
{
switch
(
res
)
{
case
'资料管理'
:
this
.
_resManage
(
data
)
break
case
'操作记录'
:
this
.
_record
(
data
.
id
)
break
}
})
},
_record
(
id
)
{
this
.
$refs
.
recordModal
.
_open
(
id
)
},
_resManage
(
id
)
{
this
.
$refs
.
refModal
.
_open
(
id
)
},
_tableResultChange
(
msg
,
data
)
{
switch
(
msg
)
{
case
'page'
:
this
.
getPage
=
this
.
$store
.
state
.
FoodContract
.
page
break
case
'iconClick'
:
this
.
_iconClick
(
data
.
name
,
data
.
rowData
,
data
.
componentName
)
break
case
'selectIds'
:
this
.
selectIds
=
data
break
case
'changeSize'
:
this
.
_page
()
break
}
},
// FoodContract/page
async
_page
()
{
const
data
=
this
.
$serialize
(
'search-form-report-tab'
)
Object
.
assign
(
data
,
this
.
$refs
.
pageTable
.
_searchParams
())
const
result
=
await
soilReport
.
pageReportIssueHis
(
data
)
if
(
result
)
{
this
.
getPage
=
result
this
.
$refs
.
pageTable
.
_hideLoading
()
}
},
_formSearch
()
{
this
.
$refs
.
pageTable
.
_pageChange
(
1
)
},
_detailModal
(
id
,
type
)
{
// 查看
this
.
$store
.
dispatch
(
'FoodContract/getById'
,
id
).
then
(()
=>
{
if
(
type
===
0
)
{
// 企业委托 ’0‘
this
.
currentComponent
=
'FoodContractCompanyDetail'
}
else
{
// 政府委托 ’1‘
this
.
currentComponent
=
'FoodContractGovernDetail'
}
this
.
$nextTick
(()
=>
{
this
.
$refs
.
refModal
.
_open
(
this
.
$store
.
state
.
FoodContract
.
model
)
})
})
},
_search
()
{
this
.
_page
()
}
}
}
</
script
>
pages/soil-report-manage/report-manage/tab/ReportByReport.vue
0 → 100644
View file @
5f625cb4
<
template
>
<div>
<Row>
<Col
span=
"24"
>
<Form
id=
"res-reports-form"
:label-width=
"88"
v-show=
"searchOpen"
inline
onsubmit=
"return false"
>
<label
class=
"label-sign"
></label>
<Form-item
class=
"search-item"
label=
"报告编号:"
>
<Input
@
on-enter=
"_formSearch"
v-model=
"formObj.reportSn"
placeholder=
"请输入报告编号"
clearable
/>
</Form-item>
<Form-item
class=
"search-btn"
>
<Button
@
click=
"_formSearch"
type=
"primary"
>
搜索
</Button>
</Form-item>
</Form>
</Col>
<Col
span=
"24"
>
<btn-list
:msg=
"btn"
:open=
"searchOpen"
:showSearchBtn=
"true"
@
on-result-change=
"_btnClick"
class=
"contHide"
>
</btn-list>
</Col>
<!-- 表格 -->
<Col
span=
"24"
>
<PTVXETable
ref=
"pageTable"
:getPage=
"getPage"
:iconMsg=
"iconMsg"
@
on-result-change=
"_tableResultChange"
:rows=
"100"
>
<vxe-table-column
v-for=
"item in pageColumns"
:key=
"item.key"
:field=
"item.key"
:title=
"item.title"
:width=
"item.width"
:min-width=
"200"
:fixed=
"item.fixed?item.fixed:undefined"
sortable
>
<template
slot-scope=
"scope"
>
<div
v-if=
"item.status"
>
{{
scope
.
row
[
item
.
key
]
===
undefined
?
''
:
scope
.
row
[
item
.
key
].
display
}}
</div>
<div
v-else-if=
"item.date"
>
{{
scope
.
row
[
item
.
key
]?
$dateformat
(
scope
.
row
[
item
.
key
],
'yyyy-mm-dd'
):
''
}}
</div>
<div
v-else
>
{{
scope
.
row
[
item
.
key
]
}}
</div>
</
template
>
</vxe-table-column>
</PTVXETable>
</Col>
</Row>
<keep-alive>
<!-- eslint-disable-next-line vue/require-component-is -->
<component
ref=
"refModal"
:is=
"currentComponent"
@
on-result-change=
"_componentResult"
></component>
</keep-alive>
</div>
</template>
<
script
>
import
{
soilReport
}
from
'../../../../api'
/**
* 报告档案的报告台账tab
*/
export
default
{
components
:
{},
props
:
{
reportStatus
:
null
},
data
()
{
return
{
notOkCountList
:
[
{
value
:
0
,
name
:
'合格'
},
{
value
:
1
,
name
:
'不合格'
}
],
// typeList: [
// {name: '企业', value: 0},
// {name: '政府', value: 1},
// ],
currentComponent
:
''
,
searchOpen
:
false
,
selectIds
:
[],
selectData
:
[],
btn
:
[
{
type
:
'error'
,
id
:
'ZBC'
,
name
:
'退回'
,
componentName
:
'ReasonBack'
}
],
getPage
:
{},
pageColumns
:
[
{
title
:
'委托商'
,
key
:
'client'
,
width
:
100
,
fixed
:
'left'
},
{
title
:
'委托编号'
,
key
:
'entrustCode'
,
width
:
100
},
{
title
:
'报告编号'
,
key
:
'reportCode'
,
width
:
100
},
{
title
:
'进度'
,
key
:
'progress'
,
width
:
110
,
status
:
true
},
{
title
:
'状态'
,
key
:
'status'
,
width
:
100
,
status
:
true
},
{
title
:
'委托日期'
,
key
:
'entrustDate'
,
width
:
100
,
date
:
true
},
{
title
:
'钻孔位置'
,
key
:
'boreholeLocation'
,
width
:
100
},
{
title
:
'钻孔名称'
,
key
:
'boreholeName'
,
width
:
100
},
{
title
:
'水深'
,
key
:
'waterDepth'
,
width
:
100
},
{
title
:
'制表人'
,
key
:
'tabulater'
,
width
:
110
},
{
title
:
'制表日期'
,
key
:
'tabulateDate'
,
width
:
110
,
date
:
true
}
],
iconMsg
:
[],
// 操作列
grantRecord
:
{
type
:
'ios-navigate'
,
id
:
'food-report-manage-res-grant-record'
,
name
:
'发放记录'
,
componentName
:
'GrantRecordView'
},
editReport
:
{
type
:
'android-image'
,
id
:
''
,
name
:
'预览/编辑报告'
},
viewPDF
:
{
type
:
'document'
,
id
:
''
,
name
:
'预览PDF'
},
uploadReport
:
{
type
:
'ios-upload'
,
id
:
'food-report-manage-res-report-upload'
,
name
:
'上传'
,
componentName
:
'UploadByReport'
},
itemByReport
:
{
type
:
'document-text'
,
id
:
''
,
name
:
'项目台账'
,
componentName
:
'ItemModalByReport'
},
hisVersion
:
{
type
:
'information-circled'
,
id
:
''
,
name
:
'历史版本'
,
componentName
:
'HisRevision'
},
fileByReport
:
{
type
:
'cloud'
,
id
:
''
,
name
:
'附件'
,
componentName
:
'ReportFileManage'
},
viewFiles
:
{
type
:
'android-document'
,
id
:
'food-report-manage-view-files'
,
name
:
'档案查看'
},
recordByReport
:
{
type
:
'ios-clock'
,
id
:
''
,
name
:
'操作记录'
,
componentName
:
'FoodReportRecord'
},
formObj
:
{
reportSn
:
''
,
sampleName
:
''
,
sampleNum
:
''
,
taskSource
:
''
,
detectType
:
''
,
standard
:
''
,
auditor
:
''
,
issuer
:
''
,
reportDateBegin
:
''
,
reportDateEnd
:
''
,
notOkCount
:
''
,
contractCtimeBegin
:
''
,
contractCtimeEnd
:
''
,
statusList
:
''
,
signStatusList
:
''
,
makeDateBegin
:
''
,
makeDateEnd
:
''
,
maker
:
''
,
contractType
:
''
},
stdList
:
[],
statusList
:
[],
contractTypeList
:
[
{
key
:
'1'
,
value
:
'政府'
},
{
key
:
'0'
,
value
:
'企业'
}
],
// 盖章状态
signStatusList
:
[],
sealList
:
[
{
name
:
'是'
,
value
:
3
},
{
name
:
'失败'
,
value
:
2
},
{
name
:
'否'
,
value
:
0
},
{
name
:
'进行中'
,
value
:
1
}
],
reportType
:
'FOOD_REPORT_MANAGE'
,
selectStatuss
:
[]
}
},
computed
:
{
tableHeight
:
function
()
{
if
(
this
.
searchOpen
)
{
return
this
.
$tableHeight
(
''
,
420
)
}
else
{
return
this
.
$tableHeight
(
'tabNoSearch'
)
}
}
},
created
()
{},
mounted
()
{
this
.
_page
()
},
methods
:
{
_makeDateChange
(
data
)
{
this
.
formObj
.
makeDateBegin
=
data
[
0
]
this
.
formObj
.
makeDateEnd
=
data
[
1
]
},
// 状态多选
_statusChange
(
data
)
{
if
(
data
.
length
!==
0
)
{
this
.
formObj
.
statusList
=
data
.
join
(
','
)
}
else
{
this
.
formObj
.
statusList
=
''
}
},
_getStatus
()
{
this
.
$store
.
dispatch
(
'LmsEnum/getByType'
,
'ReportStatusEnum'
).
then
(()
=>
{
this
.
statusList
=
this
.
$store
.
state
.
LmsEnum
.
model
})
},
_reportDateChange
(
data
)
{
this
.
formObj
.
reportDueDateBegin
=
data
[
0
]
this
.
formObj
.
reportDueDateEnd
=
data
[
1
]
},
_ctimeChange
(
data
)
{
this
.
formObj
.
contractCtimeBegin
=
data
[
0
]
this
.
formObj
.
contractCtimeEnd
=
data
[
1
]
},
_dateChange
(
data
)
{
$
(
'input[name=auditDateBegin]'
).
val
(
data
[
0
])
$
(
'input[name=auditDateEnd]'
).
val
(
data
[
1
])
},
_issueDateChange
(
data
)
{
$
(
'input[name=issueDateBegin]'
).
val
(
data
[
0
])
$
(
'input[name=issueDateEnd]'
).
val
(
data
[
1
])
},
_stdResult
(
msg
,
data
)
{
switch
(
msg
)
{
case
'select'
:
this
.
formObj
.
standard
=
data
.
stdNum
+
'【'
+
data
.
name
+
'】'
break
case
'query'
:
this
.
formObj
.
standard
=
data
.
name
this
.
_getStdList
(
data
)
break
}
},
// 查询执行标准
_getStdList
(
data
)
{
const
obj
=
{
classify
:
0
,
page
:
1
,
row
:
20
}
if
(
data
)
{
obj
.
name
=
data
.
name
}
this
.
$store
.
dispatch
(
'StandardInfo/pageListByName'
,
obj
).
then
(()
=>
{
this
.
stdList
=
this
.
$store
.
state
.
StandardInfo
.
page
.
records
})
},
// 盖完章以后刷新已选择的数据
_refreshData
()
{
if
(
this
.
selectIds
.
length
>
0
)
{
this
.
_refreshPage
()
}
else
{
this
.
_page
()
}
},
// 根据ids 请求
_refreshPage
()
{
const
obj
=
{}
obj
.
ids
=
this
.
selectIds
.
join
(
','
)
obj
.
page
=
1
obj
.
rows
=
1000
this
.
$store
.
dispatch
(
'FoodSampleReport/pageTableReport'
,
obj
).
then
(()
=>
{
const
resRows
=
this
.
$store
.
state
.
FoodSampleReport
.
page
.
records
this
.
$refs
.
pageTable
.
_refreshRows
(
resRows
)
})
},
async
_page
()
{
const
data
=
this
.
$serialize
(
'res-reports-form'
)
Object
.
assign
(
data
,
this
.
$refs
.
pageTable
.
_searchParams
())
const
result
=
await
soilReport
.
pageReportIssueHis
(
data
)
if
(
result
)
{
this
.
getPage
=
result
this
.
$refs
.
pageTable
.
_hideLoading
()
}
},
_tableResultChange
(
msg
,
data
)
{
switch
(
msg
)
{
case
'selectData'
:
this
.
selectData
=
data
this
.
selectIds
=
[]
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
this
.
selectIds
.
push
(
data
[
i
].
id
)
}
break
case
'iconClick'
:
this
.
_iconClick
(
data
.
name
,
data
.
rowData
,
data
.
componentName
)
break
case
'changeSize'
:
this
.
_page
()
break
}
},
_iconClick
(
res
,
data
,
componentName
)
{
this
.
currentComponent
=
componentName
this
.
$nextTick
(
function
()
{
switch
(
res
)
{
case
'预览/编辑报告'
:
this
.
_viewReport
(
data
.
id
)
break
case
'上传'
:
this
.
_upload
(
data
.
id
)
break
case
'项目台账'
:
this
.
$refs
.
refModal
.
_open
(
data
.
id
)
break
case
'历史版本'
:
this
.
$refs
.
refModal
.
_open
(
data
.
id
,
this
.
reportType
)
break
case
'操作记录'
:
this
.
_record
(
data
.
id
)
break
case
'预览PDF'
:
this
.
_viewPDF
(
data
)
break
case
'发放记录'
:
this
.
$refs
.
refModal
.
_open
(
data
)
break
case
'附件'
:
this
.
$refs
.
refModal
.
_open
(
data
.
id
,
'reportId'
)
break
case
'档案查看'
:
this
.
reportViewFiles
(
data
,
{
location
:
'report'
,
archivesType
:
'reportManage'
})
break
}
})
},
_viewPDF
(
data
)
{
this
.
$store
.
dispatch
(
'FoodSampleReport/viewReportPDF'
,
data
.
id
)
.
then
(()
=>
{
const
res
=
this
.
$store
.
state
.
FoodSampleReport
.
model
if
(
res
)
{
this
.
$pdfView
(
res
)
}
else
{
this
.
autoPdf
(
data
)
}
})
},
_record
(
id
)
{
this
.
$refs
.
refModal
.
_open
(
id
)
},
_btnClick
(
msg
,
componentName
)
{
this
.
currentComponent
=
componentName
this
.
$nextTick
(
function
()
{
switch
(
msg
)
{
case
'退回'
:
this
.
_return
()
break
case
'盖章'
:
this
.
_toPDF
()
break
case
'下载'
:
if
(
this
.
selectIds
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请至少选择一条数据!'
)
}
else
{
this
.
$refs
.
refModal
.
_open
(
this
.
selectIds
)
}
break
case
'下载报告二维码'
:
if
(
this
.
selectIds
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请至少选择一条数据!'
)
}
else
{
this
.
_downloadCode
(
this
.
selectIds
)
}
break
case
'打印'
:
const
ids
=
this
.
selectIds
if
(
ids
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请至少选择一条样品数据!'
)
}
else
{
this
.
$refs
.
refModal
.
_open
(
this
.
selectIds
)
}
break
case
'导出'
:
if
(
this
.
getPage
.
records
.
length
===
0
)
{
this
.
$Message
.
warning
(
'暂无数据,不可导出'
)
}
else
{
this
.
_export
()
}
break
case
'批量填写发放记录'
:
if
(
this
.
selectData
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请至少选择一条数据!'
)
}
else
{
this
.
$refs
.
refModal
.
_open
(
this
.
selectData
[
0
].
contractId
,
this
.
selectIds
)
}
break
case
'更新PDF版报告'
:
this
.
_updatePdfReport
()
break
case
'search'
:
this
.
searchOpen
=
!
this
.
searchOpen
break
}
})
},
// 下载报告二维码
_downloadCode
(
selectIds
)
{
this
.
$Modal
.
confirm
({
title
:
'提示'
,
content
:
'确定要下载这 '
+
selectIds
.
length
+
' 个报告二维码?'
,
onOk
:
()
=>
{
// eslint-disable-next-line no-undef
http
.
open
(
global
.
baseURL
+
'/food/v1/sample_report/download_qrcode_batch'
,
{
reportIds
:
this
.
selectIds
.
join
(
','
)
},
'_blank'
)
}
})
},
// 更新PDF版报告
_updatePdfReport
()
{
if
(
this
.
selectIds
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请至少选择一条数据!'
)
}
else
{
this
.
$refs
.
refModal
.
_open
(
this
.
selectIds
)
}
},
// 打印word
_printWord
()
{
const
ids
=
this
.
selectIds
if
(
ids
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请至少选择一条样品数据!'
)
}
else
{
for
(
let
i
=
0
;
i
<
ids
.
length
;
i
++
)
{
this
.
$pageofficePrint
({
ids
:
ids
})
}
}
},
// 盖章
_toPDF
()
{
if
(
this
.
selectIds
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请至少选择一条数据!'
)
}
else
{
this
.
$refs
.
refModal
.
_open
(
this
.
selectIds
)
}
},
_return
()
{
if
(
this
.
selectIds
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请至少选择一条数据!'
)
}
else
{
this
.
$refs
.
refModal
.
_openIssue
(
this
.
selectIds
)
}
},
_upload
(
id
)
{
this
.
$refs
.
refModal
.
_open
(
id
)
},
_viewReport
(
id
)
{
this
.
$store
.
dispatch
(
'FoodSampleReport/viewReport'
,
id
).
then
(()
=>
{
const
data
=
this
.
$store
.
state
.
FoodSampleReport
.
page
if
(
data
!==
undefined
)
{
// 查询token,后台使用pageoffice调接口查询数据,需要token,否则提示未登录
this
.
$openWindowModeless
({
objectKey
:
data
.
objectKey
,
id
:
id
,
isReport
:
1
})
}
})
},
// 下载
_batchDown
(
Type
)
{
if
(
Type
===
'2'
)
{
const
ids
=
this
.
selectIds
this
.
$Modal
.
confirm
({
title
:
'提示'
,
content
:
'确定要下载这 '
+
ids
.
length
+
' 个报告?'
,
onOk
:
()
=>
{
// eslint-disable-next-line no-undef
http
.
open
(
global
.
baseURL
+
'/food/v1/sample_report/download_batch_by_sampleIds'
,
{
ids
:
ids
.
join
(
','
),
flag
:
1
},
'_blank'
)
}
})
}
else
{
// eslint-disable-next-line no-undef
http
.
open
(
'/food/v1/sample_report/downloadSignature_batch?ids='
+
this
.
selectIds
+
'&flag=1'
+
'&pdfType='
+
Type
)
}
},
_formSearch
()
{
this
.
$refs
.
pageTable
.
_pageChange
(
1
)
},
/** *********************************************导出*****************************************/
_export
()
{
if
(
this
.
selectData
.
length
===
0
)
{
// 导出全部数据
this
.
_exportOk
(
this
.
getPage
.
total
)
}
else
{
// 只导出选中的数据
this
.
_exportOk
(
this
.
selectData
.
length
)
}
},
_exportOk
(
length
)
{
this
.
$Message
.
destroy
()
this
.
$Modal
.
confirm
({
title
:
'提示'
,
content
:
'确定导出这'
+
length
+
'条数据?'
,
onOk
:
()
=>
{
if
(
this
.
selectData
.
length
>
0
)
{
this
.
$exportExcel
(
'resReportTable'
,
'报告台账'
,
this
.
pageColumns
,
this
.
selectData
)
}
else
{
this
.
$Message
.
loading
({
content
:
'正在处理,请稍后...'
,
duration
:
0
})
this
.
$store
.
dispatch
(
'FoodSampleReport/pageTableReport'
,
this
.
_searchParams
()
)
.
then
(()
=>
{
const
result
=
this
.
$store
.
state
.
FoodSampleReport
.
page
.
records
this
.
$exportExcel
(
'resReportTable'
,
'报告台账'
,
this
.
pageColumns
,
result
)
})
}
}
})
},
// 参数
_searchParams
()
{
const
data
=
this
.
$serializeFormSearch
(
this
.
formObj
)
return
this
.
$extend
(
data
,
{
page
:
1
,
rows
:
this
.
$exportRows
()
})
},
/** *********************************************导出*****************************************/
_componentResult
(
data
)
{
switch
(
this
.
currentComponent
)
{
case
'SignatureToPDF'
:
case
'UpdatePDFReport'
:
this
.
_refreshData
()
break
case
'SelectDownLoadType'
:
this
.
_batchDown
(
data
)
break
case
'HisRevision'
:
case
'ReasonBack'
:
this
.
_page
()
break
}
}
}
}
</
script
>
pages/soil-sample-manage/SoilSampleManage.vue
View file @
5f625cb4
<
template
>
<div>
<Modal
v-model=
"showModal"
width=
"1200"
class=
"modal-footer-none"
>
<Modal
v-model=
"showModal"
@
on-visible-change=
"_visibleChange"
width=
"1200"
class=
"modal-footer-none"
>
<p
slot=
"header"
>
{{
modalTitle
}}
</p>
...
...
@@ -177,6 +177,11 @@ export default {
break
}
},
_visibleChange
(
data
)
{
if
(
data
===
false
)
{
this
.
$emit
(
'on-result-change'
)
}
},
_cancel
()
{
this
.
showModal
=
false
},
...
...
router/soil-routes.js
View file @
5f625cb4
...
...
@@ -28,6 +28,7 @@ import ReportIssueIndex from '../pages/soil-report-manage/report-issue/ReportIss
import
SampleDisposeIndex
from
'../pages/soil-sample-manage/sample-dispose/SampleDisposeIndex'
import
SurplusDisposeIndex
from
'../pages/soil-sample-manage/sample-surplus-dispose/SurplusDisposeIndex'
import
ClientLocationSearch
from
'../pages/soil-statistics/client_location/ClientLocationIndex'
import
FoodReportManageIndex
from
'../pages/soil-report-manage/report-manage/FoodReportManageIndex'
import
Blank
from
'~/pages/blank'
export
default
[
{
...
...
@@ -141,6 +142,11 @@ export default [
path
:
'report_issue'
,
component
:
ReportIssueIndex
,
meta
:
{
title
:
'报告签发'
}
},
{
path
:
'report_manage'
,
component
:
FoodReportManageIndex
,
meta
:
{
title
:
'报告档案'
}
}
]
},
...
...
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