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
37d40670
Commit
37d40670
authored
Jul 14, 2020
by
wangweidong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化修改
parent
a4fee9fd
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1117 additions
and
46 deletions
+1117
-46
meter-manage.js
api/meter/meter-manage.js
+7
-0
meter-sample.js
api/meter/meter-sample.js
+4
-1
EditModal.vue
pages/meter-aptitude/beyond/EditModal.vue
+176
-0
MeterBeyondAptitudeManage.vue
pages/meter-aptitude/beyond/MeterBeyondAptitudeManage.vue
+296
-0
MeterBeyondAptitudeManageEdit.vue
...s/meter-aptitude/beyond/MeterBeyondAptitudeManageEdit.vue
+0
-0
SampleItemList.vue
pages/meter-aptitude/beyond/SampleItemList.vue
+237
-0
MeterCertificateIssue.vue
pages/meter-certificate/issue/MeterCertificateIssue.vue
+10
-1
MeterCertificateMake.vue
pages/meter-certificate/make/MeterCertificateMake.vue
+10
-0
MeterContractRegisterEdit.vue
...-contract/contract-register/MeterContractRegisterEdit.vue
+21
-12
MeterClientOnlineEntrust.vue
.../meter-entrust/client-online/MeterClientOnlineEntrust.vue
+1
-1
MeterGoOutTestEdit.vue
pages/meter-entrust/client-online/MeterGoOutTestEdit.vue
+15
-15
MeterOutSampleProgress.vue
...r-progress/out-progress-sample/MeterOutSampleProgress.vue
+283
-0
MeterSampleProgress.vue
pages/meter-progress/progress-sample/MeterSampleProgress.vue
+7
-2
MeterReceiveEntrustHis.vue
pages/meter-send/receive-sample/MeterReceiveEntrustHis.vue
+27
-12
MeterWarehouseIn.vue
pages/meter-warehouse/warehouse-in/MeterWarehouseIn.vue
+11
-2
meter-routes.js
router/meter-routes.js
+12
-0
No files found.
api/meter/meter-manage.js
View file @
37d40670
...
...
@@ -8,6 +8,8 @@ import { https } from '../https'
export
default
{
// page
page
:
data
=>
http
.
post
(
'meter/v1/aptitude/page'
,
data
).
then
(
res
=>
res
),
pageBeyond
:
data
=>
http
.
post
(
'meter/v1/aptitude/page_beyond'
,
data
).
then
(
res
=>
res
),
getById
:
data
=>
http
.
get
(
'meter/v1/aptitude/'
+
data
).
then
(
res
=>
res
),
// 删除
deleteById
:
data
=>
...
...
@@ -17,6 +19,11 @@ export default {
https
.
post
(
'meter/v1/aptitude/add_aptitude'
,
JSON
.
stringify
(
data
))
.
then
(
res
=>
res
),
// 保存
saveBeyond
:
data
=>
https
.
post
(
'meter/v1/aptitude/add_beyond_aptitude'
,
JSON
.
stringify
(
data
))
.
then
(
res
=>
res
),
// 编辑
edit
:
data
=>
http
.
put
(
'meter/v1/aptitude/'
+
data
.
id
,
data
.
obj
).
then
(
res
=>
res
)
...
...
api/meter/meter-sample.js
View file @
37d40670
...
...
@@ -12,7 +12,10 @@ export default {
http
.
post
(
'/meter/v1/sub_sample/page'
,
data
).
then
(
res
=>
res
),
pageSampleProgress
:
data
=>
http
.
post
(
'meter/v1/sample/page_sample_progress'
,
data
).
then
(
res
=>
res
),
pageOutSampleProgress
:
data
=>
http
.
post
(
'meter/v1/sample/page_out_sample_progress'
,
data
)
.
then
(
res
=>
res
),
pageSampleReceive
:
data
=>
http
.
post
(
'meter/v1/sample/page_sample_receive'
,
data
).
then
(
res
=>
res
),
pageSampleReceiveHis
:
data
=>
...
...
pages/meter-aptitude/beyond/EditModal.vue
0 → 100644
View file @
37d40670
<
template
>
<div>
<Modal
v-model=
"showUserGroupModal"
>
<p
slot=
"header"
>
{{
modalTitle
}}
</p>
<Row>
<!--查询条件-->
<Col
span=
"24"
>
<Form
id=
"test-item-form"
:label-width=
"90"
inline
onsubmit=
"return false"
>
<label
class=
"label-sign"
/>
<Form-item
:label-width=
"70"
label=
"检测依据"
>
<Input
v-model=
"code"
@
on-enter=
"_pageChange(1)"
placeholder=
"请输入检测依据"
style=
"width: 100%"
/>
</Form-item>
<Form-item
label=
"检测依据名称"
>
<Input
v-model=
"name"
@
on-enter=
"_pageChange(1)"
placeholder=
"请输入检测依据名称"
style=
"width: 100%"
/>
</Form-item>
</Form>
</Col>
<Col
span=
"24"
style=
"margin-bottom: 10px"
>
<el-table
:height=
"300"
@
row-click=
"_rowChange"
@
row-dblclick=
"_dbClick"
:data=
"getPage"
border
size=
"small"
highlight-current-row
style=
"width: 100%"
>
<el-table-column
v-for=
"item in pageColumns"
:key=
"item.key"
:prop=
"item.key"
:label=
"item.title"
:min-width=
"item.width"
show-overflow-tooltip
>
<template
slot-scope=
"scope"
>
<span
v-if=
"item.key==='status'"
>
{{
scope
.
row
[
item
.
key
]?
scope
.
row
[
item
.
key
].
display
:
''
}}
</span>
<span
v-else
>
{{
scope
.
row
[
item
.
key
]
}}
</span>
</
template
>
</el-table-column>
</el-table>
</Col>
<Col
span=
"24"
>
<Page
:total=
"getPage.total"
:page-size=
"getPage.size"
@
on-change=
"_pageChange"
@
on-page-size-change=
"_pageRows"
placement=
"top"
show-total
show-elevator
show-sizer
/>
<div
style=
"clear: both"
/>
</Col>
</Row>
<div
slot=
"footer"
class=
"btn-width"
>
<Button
@
click=
"_cancel"
style=
"margin-left: 8px"
>
取消
</Button>
<Button
@
click=
"_ok"
type=
"primary"
>
确定
</Button>
</div>
</Modal>
</div>
</template>
<
script
>
import
{
meterAptitude
}
from
'../../../api'
export
default
{
name
:
'EditModal'
,
data
()
{
return
{
loading
:
true
,
pageParams
:
{
rows
:
20
},
pageColumns
:
[
{
title
:
'检测依据'
,
key
:
'code'
},
{
title
:
'检测依据名称'
,
key
:
'name'
}
],
getPage
:
[],
showUserGroupModal
:
false
,
modalTitle
:
''
,
currentRowData
:
{},
name
:
''
,
code
:
''
}
},
methods
:
{
_open
()
{
this
.
modalTitle
=
'选择检测依据'
this
.
name
=
''
this
.
code
=
''
this
.
_judge
()
},
_judge
()
{
this
.
showUserGroupModal
=
true
this
.
currentRowData
=
{}
this
.
_page
()
},
_page
:
async
function
()
{
const
result
=
await
meterAptitude
.
page
(
this
.
_searchParams
())
if
(
result
)
{
console
.
log
(
'查询结果'
)
console
.
log
(
result
)
this
.
getPage
=
result
.
records
this
.
loading
=
false
console
.
log
(
this
.
getPage
)
}
},
_pageChange
(
page
)
{
this
.
pageParams
.
page
=
page
this
.
_page
()
},
_pageRows
(
rows
)
{
this
.
pageParams
.
rows
=
rows
this
.
_page
()
},
_searchParams
()
{
const
data
=
this
.
$serialize
(
'test-item-form'
)
if
(
this
.
name
)
{
data
.
name
=
this
.
name
}
if
(
this
.
code
)
{
data
.
code
=
this
.
code
}
return
this
.
$extend
(
data
,
this
.
pageParams
)
},
_search
()
{
this
.
_page
()
},
_rowChange
(
data
)
{
this
.
currentRowData
=
data
// 选中的行数据;
},
_cancel
()
{
this
.
showUserGroupModal
=
false
},
_ok
()
{
if
(
JSON
.
stringify
(
this
.
currentRowData
)
===
'{}'
)
{
switch
(
this
.
modalTitle
)
{
case
'选择检测依据'
:
this
.
$Message
.
warning
(
'请选择一条检测依据!'
)
break
}
}
else
{
this
.
$emit
(
'on-result-change'
,
this
.
currentRowData
)
this
.
showUserGroupModal
=
false
}
},
// 双击
_dbClick
(
data
,
event
)
{
this
.
currentRowData
=
data
// 选中的行数据;
this
.
_ok
()
}
}
}
</
script
>
<
style
scoped
>
</
style
>
pages/meter-aptitude/beyond/MeterBeyondAptitudeManage.vue
0 → 100644
View file @
37d40670
<
template
>
<div>
<!--内容-->
<div
class=
"layout-content-padding"
>
<div
class=
"layout-content-main"
>
<Row>
<!--查询-->
<Col
span=
"24"
style=
"margin-top:10px"
>
<Form
v-show=
"searchOpen"
:d=
"formId"
:label-width=
"90"
inline
onsubmit=
"return false"
>
<label
class=
"label-sign"
></label>
<Form-item
class=
"search-item"
label=
"检定依据:"
style=
"margin-left: -20px"
>
<Input
v-model=
"formObj.code"
name=
"judgeBasis"
placeholder=
"请输入检定依据"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-item"
label=
"检定依据名称:"
>
<Input
v-model=
"formObj.basis"
name=
"judgeBasisName"
placeholder=
"请输入检定依据名称"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-btn"
>
<Button
type=
"primary"
@
click=
"_formSearch"
>
搜索
</Button>
</Form-item>
</Form>
</Col>
<!--操作-->
<Col
span=
"24"
>
<btn-list
:msg=
"btn"
:open=
"searchOpen"
:show-search-btn=
"true"
class=
"contHide"
@
on-result-change=
"_btnClick"
></btn-list>
</Col>
<!-- 表格 -->
<Col
span=
"24"
>
<PTVXETable
ref=
"pageTable"
:form-id=
"formId"
:table-height=
"tableHeight"
:get-page=
"getPage"
:icon-msg=
"iconMsg"
@
on-result-change=
"_tableResultChange"
>
<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"
>
<span
v-if=
"item.dateTime"
>
{{
scope
.
row
[
item
.
key
]?
$dateformat
(
scope
.
row
[
item
.
key
],
'yyyy-mm-dd HH:MM:ss'
):
''
}}
</span>
<span
v-else-if=
"item.image"
>
{{
scope
.
row
.
picUri
!==
undefined
?
'是'
:
'否'
}}
</span>
<span
v-else
>
{{
scope
.
row
[
item
.
key
]
}}
</span>
</
template
>
</vxe-table-column>
</PTVXETable>
</Col>
</Row>
</div>
</div>
<!-- 导入-->
<!-- 添加、编辑 -->
<importModal
ref=
"importModal"
@
on-result-change=
"_page"
></importModal>
<MeterAptitudeManageEdit
ref=
"editModal"
@
on-result-change=
"_page"
></MeterAptitudeManageEdit>
<sampleItemList
ref=
"testItemModal"
@
on-result-change=
"_formSearch"
/>
<imageTemplateImport
ref=
"imageTemplateImport"
@
on-result-change=
"_page"
></imageTemplateImport>
</div>
</template>
<
script
>
import
{
meterManage
}
from
'../../../api'
import
importModal
from
'../../../components/import/DownloadTemplateImport'
import
imageTemplateImport
from
'../../../components/import/ImageTemplateImport'
import
MeterAptitudeManageEdit
from
'./MeterBeyondAptitudeManageEdit.vue'
import
sampleItemList
from
'./SampleItemList'
export
default
{
name
:
'MeterAptitudeManage'
,
components
:
{
MeterAptitudeManageEdit
,
sampleItemList
,
imageTemplateImport
,
importModal
},
data
()
{
return
{
formId
:
'meterAptitudeManageFormId'
,
pageColumns
:
[
{
title
:
'授权仪器名称'
,
key
:
'name'
},
{
title
:
'检定依据'
,
key
:
'code'
,
width
:
160
},
{
title
:
'检定依据名称'
,
key
:
'basis'
},
{
title
:
'检定周期'
,
key
:
'cycle'
},
// {title: '限制范围或说明', key: 'limitDescription'},
{
title
:
'价格'
,
key
:
'price'
},
{
title
:
'图片是否上传'
,
key
:
'picUri'
,
image
:
true
}
],
btn
:
[
{
type
:
'success'
,
id
:
''
,
name
:
'添加'
},
{
type
:
'error'
,
id
:
''
,
name
:
'删除'
},
{
type
:
''
,
id
:
''
,
name
:
'导入'
}
],
iconMsg
:
[
{
type
:
'md-create'
,
id
:
''
,
name
:
'编辑'
},
{
type
:
'md-add'
,
id
:
''
,
name
:
'上传仪器图片'
},
{
type
:
'md-image'
,
id
:
''
,
name
:
'图片预览'
},
{
type
:
'md-trash'
,
id
:
''
,
name
:
'删除'
},
{
type
:
'md-apps'
,
id
:
''
,
name
:
'管理检测项目'
}
],
formObj
:
{
basis
:
undefined
,
code
:
undefined
},
searchOpen
:
true
,
selectIds
:
[],
getPage
:
{},
typeData
:
[]
}
},
computed
:
{
tableHeight
:
function
()
{
if
(
this
.
searchOpen
)
{
return
this
.
$tableHeight
(
'search'
)
}
else
{
return
this
.
$tableHeight
(
'noSearch'
)
}
}
},
mounted
()
{
this
.
_page
()
},
methods
:
{
_btnClick
(
msg
)
{
switch
(
msg
)
{
case
'添加'
:
this
.
_editModal
(
false
)
break
case
'删除'
:
this
.
_deleteSelected
()
break
case
'导入'
:
this
.
_import
()
break
case
'导出'
:
this
.
_export
()
break
case
'search'
:
this
.
searchOpen
=
!
this
.
searchOpen
break
}
},
_iconClick
(
res
,
data
)
{
switch
(
res
)
{
case
'编辑'
:
this
.
_editModal
(
true
,
data
.
id
)
break
case
'删除'
:
this
.
_deleteById
(
data
.
id
)
break
case
'管理检测项目'
:
this
.
$refs
.
testItemModal
.
_open
(
data
.
id
)
break
case
'上传仪器图片'
:
this
.
_uploadPic
(
data
.
id
)
break
case
'图片预览'
:
this
.
_lookPic
(
data
)
break
case
'操作日志'
:
this
.
_record
(
data
.
id
)
break
}
},
_lookPic
(
data
)
{
if
(
data
.
picUri
)
{
window
.
open
(
data
.
picUri
)
}
else
{
this
.
$Message
.
warning
(
'暂无图片!'
)
}
},
_uploadPic
(
id
)
{
const
action
=
'/meter/v1/aptitude/upload_?aptitudeId='
+
id
const
data
=
{
importUrl
:
action
,
downloadUrl
:
''
,
title
:
'上传'
}
this
.
$refs
.
imageTemplateImport
.
_open
(
data
,
'上传图片'
)
},
_page
:
async
function
()
{
Object
.
assign
(
this
.
formObj
,
this
.
$refs
.
pageTable
.
_searchParams
())
const
result
=
await
meterManage
.
pageBeyond
(
this
.
formObj
)
if
(
result
)
{
this
.
getPage
=
result
this
.
$refs
.
pageTable
.
_hideLoading
()
}
},
_formSearch
()
{
this
.
$refs
.
pageTable
.
_pageChange
(
1
)
},
_tableResultChange
(
msg
,
data
)
{
switch
(
msg
)
{
case
'selectIds'
:
this
.
selectIds
=
data
break
case
'iconClick'
:
this
.
_iconClick
(
data
.
name
,
data
.
rowData
)
break
case
'changeSize'
:
this
.
_page
()
break
}
},
// 删除
_deleteByIds
(
ids
,
content
)
{
this
.
$Modal
.
confirm
({
title
:
'提示'
,
content
:
content
||
'确定删除该记录?'
,
onOk
:
()
=>
{
this
.
_delete
(
ids
)
}
})
},
_delete
:
async
function
(
ids
)
{
const
result
=
await
meterManage
.
deleteById
(
ids
)
if
(
result
)
{
this
.
_formSearch
()
this
.
$Message
.
success
(
'删除成功!'
)
}
},
_deleteById
(
id
)
{
// 删除一条记录
this
.
_deleteByIds
([
id
])
},
_deleteSelected
()
{
// 批量删除
const
ids
=
this
.
selectIds
if
(
ids
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请选择一条或多条数据!'
)
}
else
{
this
.
_deleteByIds
(
ids
,
'确定删除这 '
+
ids
.
length
+
' 条记录?'
)
}
},
// 编辑&添加
_editModal
(
edit
,
id
)
{
if
(
edit
)
{
this
.
_getById
(
id
)
// 编辑
// this.$store.dispatch('FoodJudgeBasis/getById', id).then(() => {
// this.$refs.editModal._open(this.$store.state.FoodJudgeBasis.model)
// })
}
else
{
// 添加
this
.
$refs
.
editModal
.
_open
()
}
},
_getById
:
async
function
(
id
)
{
const
result
=
await
meterManage
.
getById
(
id
)
if
(
result
)
{
this
.
$refs
.
editModal
.
_open
(
result
)
}
},
// 导入
_import
()
{
const
data
=
{
importUrl
:
'/meter/v1/aptitude/import_beyond_aptitude'
,
downloadUrl
:
'/meter/v1/excel/template/MeterAptitudeImport'
,
title
:
'授权资质导入'
}
this
.
$refs
.
importModal
.
_open
(
data
,
'授权资质导入'
)
},
// 导出
_export
()
{
console
.
log
(
'.this.selectIds'
,
this
.
selectIds
)
if
(
this
.
selectIds
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请选择需要导出的数据'
)
}
else
{
const
content
=
'确定导出 '
+
this
.
selectIds
.
length
+
' 条记录?'
this
.
$Modal
.
confirm
({
title
:
'提示'
,
content
:
content
,
onOk
:
()
=>
{
// eslint-disable-next-line no-undef
http
.
open
(
'/food/v1/food_aptitude_judge_basis/food_aptitude_judge_export?ids='
+
this
.
selectIds
)
}
})
}
}
}
}
</
script
>
<
style
scoped
>
</
style
>
pages/meter-aptitude/beyond/MeterBeyondAptitudeManageEdit.vue
0 → 100644
View file @
37d40670
This diff is collapsed.
Click to expand it.
pages/meter-aptitude/beyond/SampleItemList.vue
0 → 100644
View file @
37d40670
<!--检测项目编辑列表(添加、导入检测项目)-->
<
template
>
<div>
<Modal
v-model=
"showModal"
v-drag
:mask-closable=
"false"
:width=
"1200"
title=
"检测项目管理"
>
<Row>
<Col
span=
"24"
/>
<Form
v-model=
"formObj"
:label-width=
"90"
inline
onsubmit=
"return false"
>
<Form-item
class=
"search-item"
label=
"检测项目:"
style=
"margin-left: -25px"
>
<Input
v-model=
"formObj.name"
placeholder=
"请输入检测项目"
clearable
@
on-enter=
"_formSearch"
/>
<input
v-model=
"formObj.catalogueId"
type=
"hidden"
>
</Form-item>
<Form-item
class=
"search-item"
label=
"检测依据:"
>
<Input
v-model=
"formObj.code"
placeholder=
"请输入检测依据"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-item"
label=
"检测依据名称:"
>
<Input
v-model=
"formObj.standardName"
placeholder=
"请输入检测依据名称"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-btn"
>
<Button
type=
"primary"
@
click=
"_formSearch"
>
搜索
</Button>
</Form-item>
</Form>
</Col>
<!--正常界面-->
<Col
span=
"24"
/>
<Button
type=
"primary"
style=
"margin-bottom: 5px"
@
click=
"_importItem"
>
导入检测项目
</Button>
</Col>
<!-- 表格 -->
<Col
span=
"24"
>
<PTVXETable
ref=
"pageTable"
:form-id=
"formId"
:table-height=
"500"
:get-page=
"getPage"
:icon-msg=
"iconMsg"
@
on-result-change=
"_tableResultChange"
>
<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"
>
<span
v-if=
"item.dateTime"
>
{{
scope
.
row
[
item
.
key
]?
$dateformat
(
scope
.
row
[
item
.
key
],
'yyyy-mm-dd HH:MM:ss'
):
''
}}
</span>
<span
v-else-if=
"item.judged"
>
{{
scope
.
row
[
item
.
key
]
===
1
?
'是'
:
'否'
}}
</span>
<span
v-else
>
{{
scope
.
row
[
item
.
key
]
}}
</span>
</
template
>
</vxe-table-column>
</PTVXETable>
</Col>
<div
slot=
"footer"
>
<ModalFooter
ref=
"footerModal"
:footer=
"footerList"
@
on-result-change=
"_footerResult"
></ModalFooter>
</div>
</Row>
</Modal>
<DownloadTemplateImport
ref=
"importModal"
@
on-result-change=
"_page"
/>
</div>
</template>
<
script
>
// import { drugCatalogueItem } from '../../api'
// import SampleItemSelect from './SampleItemSelect'
import
DownloadTemplateImport
from
'../../../components/import/DownloadTemplateImport'
import
ModalFooter
from
'../../../components/base/modalFooter'
import
{
meterManageItem
}
from
'../../../api'
export
default
{
components
:
{
ModalFooter
,
DownloadTemplateImport
// SampleItemSelect
},
data
()
{
return
{
formId
:
'SampleItemListFormId'
,
formObj
:
{
aptitudeId
:
''
,
name
:
''
,
code
:
''
,
standardName
:
''
},
showModal
:
false
,
searchOpen
:
false
,
btn
:
[{
type
:
'primary'
,
id
:
''
,
name
:
'导入检测项目'
}],
iconMsg
:
[{
type
:
'md-trash'
,
id
:
''
,
name
:
'删除'
}],
footerList
:
[
{
id
:
''
,
name
:
'取消'
,
type
:
''
},
{
id
:
''
,
name
:
'保存'
,
type
:
'primary'
}
],
pageColumns
:
[
{
title
:
'检测项目'
,
key
:
'name'
,
width
:
140
},
{
title
:
'比较符'
,
key
:
'compare'
,
width
:
140
},
{
title
:
'限量值'
,
key
:
'limitValue'
,
width
:
160
},
{
title
:
'单位'
,
key
:
'unit'
,
width
:
220
},
{
title
:
'是否判定'
,
key
:
'judged'
,
width
:
110
,
judged
:
true
},
{
title
:
'备注'
,
key
:
'remark'
}
],
catalogueId
:
''
,
getPage
:
{},
selectData
:
[]
}
},
methods
:
{
_open
(
aptitudeId
)
{
this
.
formObj
=
this
.
$resetFields
(
this
.
formObj
)
this
.
showModal
=
true
this
.
formObj
.
aptitudeId
=
aptitudeId
this
.
_page
()
},
_page
:
async
function
()
{
Object
.
assign
(
this
.
formObj
,
this
.
$refs
.
pageTable
.
_searchParams
())
console
.
log
(
'this.formObj'
,
this
.
formObj
)
const
result
=
await
meterManageItem
.
page
(
this
.
formObj
)
if
(
result
)
{
this
.
getPage
=
result
this
.
$refs
.
pageTable
.
_hideLoading
()
}
},
_footerResult
(
name
)
{
switch
(
name
)
{
case
'取消'
:
this
.
_cancel
()
break
case
'保存'
:
this
.
_ok
()
break
}
},
_cancel
()
{
this
.
showModal
=
false
},
// 操作的序号
_handleRow
(
data
)
{
this
.
currentRow
=
data
.
row
},
_formSearch
()
{
this
.
$refs
.
pageTable
.
_pageChange
(
1
)
},
// _page: async function() {
// Object.assign(this.formObj, this.$refs.pageTable._searchParams())
// const result = await drugCatalogueItem.pageCatalogueItem(
// this.$serializeForm(this.formObj)
// )
// if (result) {
// this.getPage = result
// this.$refs.pageTable._initTable()
// }
// },
_btnClick
(
msg
)
{
switch
(
msg
)
{
case
'导入检测项目'
:
this
.
$refs
.
relItemModal
.
_open
(
this
.
catalogueId
)
break
}
},
_importItem
()
{
const
data
=
{
importUrl
:
'/meter/v1/aptitude_item/import_aptitude_item?aptitudeId='
+
this
.
formObj
.
aptitudeId
,
downloadUrl
:
'/meter/v1/excel/template/MeterAptitudeItemImport'
,
title
:
'导入'
}
this
.
$refs
.
importModal
.
_open
(
data
,
'授权资质项目导入'
)
},
// 操作列操作
_iconClick
(
res
,
data
)
{
switch
(
res
)
{
case
'删除'
:
this
.
_deleteById
(
data
.
id
)
break
}
},
// 删除
_deleteById
(
id
)
{
this
.
$Modal
.
confirm
({
title
:
'提示'
,
content
:
'确定删除该数据?'
,
onOk
:
()
=>
{
this
.
_deleteOk
(
id
)
}
})
},
_deleteOk
:
async
function
(
id
)
{
const
result
=
await
meterManageItem
.
deleteItemById
(
id
)
if
(
result
)
{
await
this
.
_page
()
this
.
$Message
.
success
(
'删除成功'
)
}
},
_handleOrderValueEdit
(
id
,
value
)
{
this
.
_edit
({
id
:
id
,
obj
:
{
orderBy
:
value
}
})
},
// _edit: async function(data) {
// const result = await drugCatalogueItem.edit(data)
// if (result) {
// this._page()
// }
// },
// _deleteOk: async function(id) {
// const result = await drugCatalogueItem.deleteById(id)
// if (result) {
// this.$Message.success('删除成功')
// this._page()
// }
// },
// table结果 返回整行
_tableResultChange
(
msg
,
data
)
{
switch
(
msg
)
{
case
'page'
:
this
.
_page
()
break
case
'selectData'
:
this
.
selectData
=
data
break
case
'iconClick'
:
this
.
_iconClick
(
data
.
name
,
data
.
rowData
)
break
}
}
}
}
</
script
>
pages/meter-certificate/issue/MeterCertificateIssue.vue
View file @
37d40670
...
...
@@ -14,6 +14,13 @@
<Form-item
class=
"search-item"
label=
"委托编号:"
>
<Input
v-model=
"formObj.entrustCode"
name=
"entrustCode"
placeholder=
"请输入委托编号"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-item"
label=
"样品名称:"
>
<Input
v-model=
"formObj.name"
name=
"name"
placeholder=
"请输入样品名称"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-item"
label=
"样品编号:"
>
<Input
v-model=
"formObj.code"
name=
"code"
placeholder=
"请输入样品编号"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-btn"
>
<Button
type=
"primary"
@
click=
"_formSearch"
>
搜索
</Button>
</Form-item>
...
...
@@ -100,7 +107,9 @@ export default {
],
formObj
:
{
client
:
undefined
,
entrustCode
:
undefined
entrustCode
:
undefined
,
code
:
undefined
,
name
:
undefined
},
selectIds
:
[],
selectData
:
[],
...
...
pages/meter-certificate/make/MeterCertificateMake.vue
View file @
37d40670
...
...
@@ -14,6 +14,14 @@
<Form-item
class=
"search-item"
label=
"委托编号:"
>
<Input
v-model=
"formObj.entrustCode"
name=
"entrustCode"
placeholder=
"请输入委托编号"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-item"
label=
"样品名称:"
>
<Input
v-model=
"formObj.name"
name=
"name"
placeholder=
"请输入样品名称"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-item"
label=
"样品编号:"
>
<Input
v-model=
"formObj.code"
name=
"code"
placeholder=
"请输入样品编号"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-btn"
>
<Button
@
click=
"_formSearch"
type=
"primary"
>
搜索
</Button>
</Form-item>
...
...
@@ -128,6 +136,8 @@ export default {
],
formObj
:
{
client
:
undefined
,
code
:
undefined
,
name
:
undefined
,
entrustCode
:
undefined
},
selectIds
:
[],
...
...
pages/meter-contract/contract-register/MeterContractRegisterEdit.vue
View file @
37d40670
...
...
@@ -74,22 +74,30 @@
<el-input
v-model=
"scope.row.name"
@
on-result-change=
"_judgeBasisChange"
@
click
.
native=
"_selectjudgeBasis(scope.$rowIndex)"
blur
placeholder=
"请输入或选择样品名称"
></el-input>
</div>
<div
v-if=
"item.key==='spec'"
@
click
.
stop=
"_handleRow(scope)"
>
<div
v-
else-
if=
"item.key==='spec'"
@
click
.
stop=
"_handleRow(scope)"
>
<el-input
v-model=
"scope.row.spec"
blur
placeholder=
"请输入或选择型号规格"
></el-input>
</div>
<div
v-if=
"item.key==='factoryNumber'"
@
click
.
stop=
"_handleRow(scope)"
>
<div
v-
else-
if=
"item.key==='factoryNumber'"
@
click
.
stop=
"_handleRow(scope)"
>
<el-input
v-model=
"scope.row.factoryNumber"
blur
placeholder=
"请输入或选择出厂编号"
></el-input>
</div>
<div
v-if=
"item.key==='type'"
@
click
.
stop=
"_handleRow(scope)"
>
<div
v-else-if=
"item.key==='technicalParameter'"
@
click
.
stop=
"_handleRow(scope)"
>
<el-input
v-model=
"scope.row.technicalParameter"
blur
placeholder=
"请输入技术参数"
></el-input>
</div>
<div
v-else-if=
"item.key==='manufacturer'"
@
click
.
stop=
"_handleRow(scope)"
>
<el-input
v-model=
"scope.row.manufacturer"
blur
placeholder=
"请输入生产厂家"
></el-input>
</div>
<div
v-else-if=
"item.key==='type'"
@
click
.
stop=
"_handleRow(scope)"
>
<Select
v-model=
"scope.row.type"
>
<Option
v-for=
"(item,index) in options"
:key=
"item.name"
:value=
"index"
>
{{
item
.
name
}}
</Option>
</Select>
</div>
<div
v-if=
"item.key==='quantity'"
@
click
.
stop=
"_handleRow(scope)"
>
<div
v-
else-
if=
"item.key==='quantity'"
@
click
.
stop=
"_handleRow(scope)"
>
<el-input
v-model=
"scope.row.quantity"
@
keydown
.
native=
"channelInputLimit"
...
...
@@ -154,13 +162,14 @@ export default {
testedCityData
:
[],
judgeType
:
[{
value
:
1
,
name
:
'是'
},
{
value
:
0
,
name
:
'否'
}],
iconMsg
:
[
{
type
:
'ios-clock'
,
id
:
''
,
name
:
'编辑'
},
{
type
:
'
ios-clock
'
,
id
:
''
,
name
:
'删除'
}
//
{ type: 'ios-clock', id: '', name: '编辑' },
{
type
:
'
md-trash
'
,
id
:
''
,
name
:
'删除'
}
],
pageColumns
:
[
{
title
:
'名称'
,
key
:
'name'
,
width
:
160
},
{
title
:
'型号'
,
key
:
'spec'
},
{
title
:
'数量'
,
key
:
'quantity'
},
{
title
:
'是否资质内可检'
,
key
:
'aptituded'
,
width
:
130
},
{
title
:
'数量'
,
key
:
'quantity'
,
width
:
130
},
{
title
:
'技术参数'
,
key
:
'technicalParameter'
},
{
title
:
'生产厂家'
,
key
:
'manufacturer'
},
{
title
:
'出厂编号'
,
key
:
'factoryNumber'
},
...
...
@@ -390,10 +399,10 @@ export default {
_import
()
{
const
data
=
{
importUrl
:
'/meter/v1/sample_quote/import'
,
downloadUrl
:
'/
food/v1/excel/template/FoodAptitudeItem
'
,
downloadUrl
:
'/
meter/v1/excel/template/QuotationList
'
,
title
:
'导入'
}
this
.
$refs
.
importModal
.
_open
(
data
,
'
资质项目管理
导入'
)
this
.
$refs
.
importModal
.
_open
(
data
,
'
所检器具
导入'
)
},
// 省 市 区
_cascaderResult
(
name
,
data
,
msg
)
{
...
...
@@ -549,11 +558,11 @@ export default {
if
(
this
.
$string
(
formObj
).
isEmpty
())
{
this
.
getPage
.
records
=
[]
this
.
id
=
''
this
.
modalTitle
=
'
报价单
新增'
this
.
modalTitle
=
'
合同
新增'
}
else
{
this
.
id
=
formObj
.
id
this
.
formObj
=
formObj
this
.
modalTitle
=
'
报价单
编辑'
this
.
modalTitle
=
'
合同
编辑'
this
.
_showTime
(
formObj
)
}
},
...
...
@@ -564,7 +573,7 @@ export default {
this
.
$refs
.
formObj
.
resetFields
()
this
.
_hideLoading
()
this
.
id
=
''
this
.
modalTitle
=
'
报价单
编辑'
this
.
modalTitle
=
'
合同
编辑'
this
.
id
=
formObj
.
id
this
.
formObj
.
client
=
formObj
.
client
this
.
formObj
=
formObj
...
...
pages/meter-entrust/client-online/MeterClientOnlineEntrust.vue
View file @
37d40670
...
...
@@ -115,7 +115,7 @@ export default {
{
title
:
'下单号'
,
key
:
'orderNum'
,
width
:
130
},
{
title
:
'联系电话'
,
key
:
'tel'
,
width
:
120
},
{
title
:
'进度'
,
key
:
'progress'
,
width
:
120
,
status
:
true
},
{
title
:
'委托类型'
,
key
:
'type'
,
width
:
120
},
//
{ title: '委托类型', key: 'type', width: 120 },
{
title
:
'传真'
,
key
:
'fax'
,
width
:
120
},
{
title
:
'详细地址'
,
key
:
'address'
,
width
:
250
},
{
title
:
'邮编'
,
key
:
'postcode'
},
...
...
pages/meter-entrust/client-online/MeterGoOutTestEdit.vue
View file @
37d40670
...
...
@@ -10,8 +10,8 @@
</Radio-group>
</Form-item>
<Form-item
label=
"委托单位"
prop=
"client"
class=
"width-48"
>
<AutoComplete
:value=
"formObj.client"
:down-data=
"customerData"
@
on-result-change=
"_cusNameChange
"
name=
"client"
placeholder=
"请输入或选择委托单位
"
<AutoComplete
:value=
"formObj.client"
:down-data=
"customerData"
name=
"client
"
placeholder=
"请输入或选择委托单位"
@
on-result-change=
"_cusNameChange
"
></AutoComplete>
</Form-item>
<Form-item
label=
"联系人"
prop=
"operation.person"
class=
"width-48"
>
...
...
@@ -24,7 +24,7 @@
<Input
v-model=
"formObj.operation.fax"
name=
"operation.fax"
placeholder=
"请输入传真"
/>
</Form-item>
<Form-item
label=
"省、市、区"
prop=
"testedCityData"
class=
"width-48"
>
<CityNameCascader
:value=
"testedCityData.join(',')"
@
on-result-change=
"_cascaderResult"
name=
"tested
"
>
<CityNameCascader
:value=
"testedCityData.join(',')"
name=
"tested"
@
on-result-change=
"_cascaderResult
"
>
</CityNameCascader>
</Form-item>
<Form-item
label=
"街道"
prop=
"street"
class=
"width-48"
>
...
...
@@ -38,14 +38,14 @@
<Input
v-model=
"formObj.operation.email"
name=
"operation.email"
placeholder=
"请输入E-mail"
/>
</Form-item>
<Form-item
label=
"委托日期:"
prop=
"edate"
class=
"width-48"
>
<Date-picker
v-model=
"formObj.edate"
@
on-change=
"_ctimeChange"
type=
"date"
split-panels
style=
"width:100%;
"
placeholder=
"请选择委托日期
"
></Date-picker>
<Date-picker
v-model=
"formObj.edate"
type=
"date"
split-panels
style=
"width:100%;"
placeholder=
"请选择委托日期
"
@
on-change=
"_ctimeChange
"
></Date-picker>
</Form-item>
<Form-item
label=
"合同号:"
prop=
"contractCode"
class=
"width-48"
>
<Input
v-model=
"formObj.contractCode"
name=
"contractCode"
placeholder=
"请输入合同号"
/>
</Form-item>
<Form-item
label=
"委托费用:"
prop=
"operation.fee"
class=
"width-48"
>
<Input
@
keydown
.
native=
"channelInputLimit"
v-model=
"formObj.operation.fee"
type=
"number"
name=
"operation.fee"
placeholder=
"请输入委托费用
"
/>
<Input
v-model=
"formObj.operation.fee"
type=
"number"
name=
"operation.fee"
placeholder=
"请输入委托费用"
@
keydown
.
native=
"channelInputLimit
"
/>
</Form-item>
<Form-item
label=
"备注:"
prop=
"remark"
style=
"width: 99.8%"
>
<Input
v-model=
"formObj.remark"
:rows=
"3"
name=
"remark"
type=
"textarea"
...
...
@@ -55,7 +55,7 @@
<Col
span=
"24"
>
<!--
<btn-list
:msg=
"btn"
:open=
"searchOpen"
:showSearchBtn=
"false"
@
on-result-change=
"_btnClick"
--
>
<!-- class="contHide">
</btn-list>
-->
<Button
@
click=
"_add()"
type=
"success
"
>
添加
</Button>
<Button
type=
"success"
@
click=
"_add()
"
>
添加
</Button>
</Col>
<Col
span=
"24"
>
<PTVXETable
...
...
@@ -77,7 +77,7 @@
>
<template
slot-scope=
"scope"
>
<div
v-if=
"item.key==='name'"
@
click
.
stop=
"_handleRow(scope)"
>
<el-input
v-model=
"scope.row.name"
@
on-result-change=
"_judgeBasisChange"
@
click
.
native=
"_selectjudgeBasis(scope.$rowIndex)"
blur
placeholder=
"请输入或选择样品名称
"
<el-input
v-model=
"scope.row.name"
blur
placeholder=
"请输入或选择样品名称"
@
on-result-change=
"_judgeBasisChange"
@
click
.
native=
"_selectjudgeBasis(scope.$rowIndex)
"
></el-input>
</div>
<div
v-if=
"item.key==='spec'"
@
click
.
stop=
"_handleRow(scope)"
>
...
...
@@ -98,25 +98,25 @@
<div
v-if=
"item.key==='quantity'"
@
click
.
stop=
"_handleRow(scope)"
>
<el-input
v-model=
"scope.row.quantity"
@
keydown
.
native=
"channelInputLimit"
type=
"number"
placeholder=
"请输入或选择数量"
@
keydown
.
native=
"channelInputLimit"
/>
</div>
<div
v-if=
"item.key==='price'"
@
click
.
stop=
"_handleRow(scope)"
>
<el-input
v-model=
"scope.row.price"
@
keydown
.
native=
"channelInputLimit"
type=
"number"
placeholder=
"请输入单价"
@
keydown
.
native=
"channelInputLimit"
/>
</div>
<div
v-if=
"item.key==='totalPrice'"
@
click
.
stop=
"_handleRow(scope)"
>
<el-input
v-model=
"scope.row.totalPrice"
@
keydown
.
native=
"channelInputLimit"
type=
"number"
placeholder=
"请输入总价"
@
keydown
.
native=
"channelInputLimit"
/>
</div>
</
template
>
...
...
@@ -127,7 +127,7 @@
<div
slot=
"footer"
>
<modal-footer
ref=
"footerModal"
:footer=
"footerList"
@
on-result-change=
"_footerResult"
></modal-footer>
</div>
<EditModal
ref=
"EditModal"
@
on-result-change=
"_backData"
is-change
/>
<EditModal
ref=
"EditModal"
is-change
@
on-result-change=
"_backData"
/>
</Modal>
</div>
</template>
...
...
@@ -176,12 +176,12 @@ export default {
pageColumns
:
[
{
title
:
'样品名称'
,
key
:
'name'
,
width
:
160
},
{
title
:
'型号规格'
,
key
:
'spec'
},
{
title
:
'送检/出检'
,
key
:
'sampleType'
,
width
:
130
},
{
title
:
'出厂编号'
,
key
:
'factoryNumber'
},
{
title
:
'检测类型'
,
key
:
'type'
},
{
title
:
'数量'
,
key
:
'quantity'
},
{
title
:
'单价/元'
,
key
:
'price'
},
{
title
:
'总价/元'
,
key
:
'totalPrice'
}
// {title: '限制范围或说明', key: 'limitDescription'},
],
options
:
[
{
...
...
@@ -544,7 +544,7 @@ export default {
this
.
_hideLoading
()
this
.
getPage
.
records
=
[]
this
.
id
=
''
this
.
modalTitle
=
'
出检
委托单登记'
this
.
modalTitle
=
'
客户在线
委托单登记'
this
.
testedCityData
=
[]
},
...
...
@@ -555,7 +555,7 @@ export default {
this
.
$refs
.
formObj
.
resetFields
()
this
.
_hideLoading
()
this
.
id
=
''
this
.
modalTitle
=
'
出检
委托单编辑'
this
.
modalTitle
=
'
客户在线
委托单编辑'
this
.
id
=
formObj
.
id
this
.
formObj
=
formObj
this
.
_showAddress
(
formObj
)
...
...
pages/meter-progress/out-progress-sample/MeterOutSampleProgress.vue
0 → 100644
View file @
37d40670
<
template
>
<div>
<!--内容-->
<div
class=
"layout-content-padding"
>
<div
class=
"layout-content-main"
>
<Row>
<!--查询-->
<Col
span=
"24"
style=
"margin-top:10px"
>
<Form
v-show=
"searchOpen"
:d=
"formId"
:label-width=
"90"
inline
onsubmit=
"return false"
>
<label
class=
"label-sign"
></label>
<Form-item
class=
"search-item"
label=
"委托单位:"
style=
"margin-left: -20px"
>
<Input
v-model=
"formObj.client"
name=
"client"
placeholder=
"请输入委托单位"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-item"
label=
"委托编号:"
>
<Input
v-model=
"formObj.entrustCode"
name=
"entrustCode"
placeholder=
"请输入委托编号"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-item"
label=
"样品名称:"
>
<Input
v-model=
"formObj.name"
name=
"name"
placeholder=
"请输入样品名称"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-item"
label=
"样品编号:"
>
<Input
v-model=
"formObj.code"
name=
"code"
placeholder=
"请输入样品编号"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-item"
label=
"出厂编号:"
>
<Input
v-model=
"formObj.factoryNumber"
name=
"factoryNumber"
placeholder=
"请输入出厂编号"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-btn"
>
<Button
type=
"primary"
@
click=
"_formSearch"
>
搜索
</Button>
</Form-item>
</Form>
</Col>
<!--操作-->
<Col
span=
"24"
>
<btn-list
:msg=
"btn"
:open=
"searchOpen"
:show-search-btn=
"true"
class=
"contHide"
@
on-result-change=
"_btnClick"
></btn-list>
</Col>
<!-- 表格 -->
<Col
span=
"24"
>
<PTVXETable
ref=
"pageTable"
:form-id=
"formId"
:table-height=
"tableHeight"
:get-page=
"getPage"
:icon-msg=
"iconMsg"
@
on-result-change=
"_tableResultChange"
>
<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"
>
<span
v-if=
"item.dateTime"
>
{{
scope
.
row
[
item
.
key
]?
$dateformat
(
scope
.
row
[
item
.
key
],
'yyyy-mm-dd HH:MM:ss'
):
''
}}
</span>
<span
v-else-if=
"item.status"
>
{{
scope
.
row
[
item
.
key
].
display
}}
</span>
<span
v-else-if=
"item.entrustType"
>
{{
scope
.
row
[
item
.
key
]
===
1
?
'出检'
:
'送检'
}}
</span>
<span
v-else
>
{{
scope
.
row
[
item
.
key
]
}}
</span>
</
template
>
</vxe-table-column>
</PTVXETable>
</Col>
</Row>
</div>
</div>
<!-- 添加、编辑 -->
<!-- <MeterAptitudeStandardEdit ref="editModal" @on-result-change="_page"></MeterAptitudeStandardEdit>-->
<!--导入资质项目-->
<!-- <DownloadTemplateImport ref="sampleModal" @on-result-change="_page"></DownloadTemplateImport>-->
</div>
</template>
<
script
>
import
{
meterAptitude
,
meterSample
}
from
'../../../api'
export
default
{
name
:
'MeterSampleProgress'
,
components
:
{},
data
()
{
return
{
formId
:
'meterAptitudeFormId'
,
pageColumns
:
[
{
title
:
'委托单位'
,
key
:
'client'
,
width
:
140
},
{
title
:
'委托单号'
,
key
:
'entrustCode'
,
width
:
130
},
{
title
:
'委托类型'
,
key
:
'entrustType'
,
width
:
110
,
entrustType
:
true
},
{
title
:
'样品名称'
,
key
:
'name'
,
width
:
140
},
{
title
:
'样品编号'
,
key
:
'code'
,
width
:
130
},
{
title
:
'出厂编号'
,
key
:
'factoryNumber'
,
width
:
130
},
{
title
:
'处理进度'
,
key
:
'status'
,
status
:
true
,
width
:
120
},
{
title
:
'收样人'
,
key
:
'receiver'
,
width
:
120
},
{
title
:
'收样人时间'
,
key
:
'receiveTime'
,
width
:
120
},
{
title
:
'任务分配人'
,
key
:
'assignor'
,
width
:
120
},
{
title
:
'任务分配时间'
,
key
:
'allocateTime'
,
width
:
120
},
{
title
:
'领用人'
,
key
:
'flower'
,
width
:
120
},
{
title
:
'领用时间'
,
key
:
'flowTime'
,
width
:
120
},
{
title
:
'入库人'
,
key
:
'sampleInner'
,
width
:
120
},
{
title
:
'入库时间'
,
key
:
'sampleInnerTime'
,
width
:
120
},
{
title
:
'出库人'
,
key
:
'sampleOuter'
,
width
:
120
},
{
title
:
'出库时间'
,
key
:
'outTime'
,
width
:
120
}
],
btn
:
[],
iconMsg
:
[
// { type: 'ios-clock', id: '', name: '编辑' },
// { type: 'ios-clock', id: '', name: '删除' }
],
formObj
:
{
entrustCode
:
undefined
,
client
:
undefined
,
name
:
undefined
,
factoryNumber
:
undefined
,
code
:
undefined
},
searchOpen
:
true
,
selectIds
:
[],
getPage
:
{},
typeData
:
[]
}
},
computed
:
{
tableHeight
:
function
()
{
if
(
this
.
searchOpen
)
{
return
this
.
$tableHeight
(
'search'
)
}
else
{
return
this
.
$tableHeight
(
'noSearch'
)
}
}
},
mounted
()
{
this
.
_page
()
},
methods
:
{
_btnClick
(
msg
)
{
switch
(
msg
)
{
case
'添加'
:
this
.
_editModal
(
false
)
break
case
'删除'
:
this
.
_deleteSelected
()
break
case
'导入'
:
this
.
_import
()
break
case
'导出'
:
this
.
_export
()
break
case
'search'
:
this
.
searchOpen
=
!
this
.
searchOpen
break
}
},
_iconClick
(
res
,
data
)
{
switch
(
res
)
{
case
'编辑'
:
this
.
_editModal
(
true
,
data
.
id
)
break
case
'删除'
:
this
.
_deleteById
(
data
.
id
)
break
case
'操作日志'
:
this
.
_record
(
data
.
id
)
break
}
},
_page
:
async
function
()
{
Object
.
assign
(
this
.
formObj
,
this
.
$refs
.
pageTable
.
_searchParams
())
const
result
=
await
meterSample
.
pageOutSampleProgress
(
this
.
formObj
)
if
(
result
)
{
this
.
getPage
=
result
this
.
$refs
.
pageTable
.
_hideLoading
()
}
},
_formSearch
()
{
this
.
$refs
.
pageTable
.
_pageChange
(
1
)
},
_tableResultChange
(
msg
,
data
)
{
switch
(
msg
)
{
case
'page'
:
this
.
getPage
=
this
.
$store
.
state
.
FoodJudgeBasis
.
page
break
case
'selectIds'
:
this
.
selectIds
=
data
break
case
'iconClick'
:
this
.
_iconClick
(
data
.
name
,
data
.
rowData
)
break
case
'changeSize'
:
this
.
_page
()
break
}
},
// 删除
_deleteByIds
(
ids
,
content
)
{
this
.
$Modal
.
confirm
({
title
:
'提示'
,
content
:
content
||
'确定删除该记录?'
,
onOk
:
()
=>
{
this
.
_delete
(
ids
)
}
})
},
_delete
:
async
function
(
ids
)
{
const
result
=
await
meterAptitude
.
deleteById
(
ids
)
if
(
result
)
{
this
.
_formSearch
()
this
.
$Message
.
success
(
'删除成功!'
)
}
},
_deleteById
(
id
)
{
// 删除一条记录
this
.
_deleteByIds
([
id
])
},
_deleteSelected
()
{
// 批量删除
const
ids
=
this
.
selectIds
if
(
ids
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请选择一条或多条数据!'
)
}
else
{
this
.
_deleteByIds
(
ids
,
'确定删除这 '
+
ids
.
length
+
' 条记录?'
)
}
},
// 编辑&添加
_editModal
(
edit
,
id
)
{
if
(
edit
)
{
this
.
_getById
(
id
)
// 编辑
// this.$store.dispatch('FoodJudgeBasis/getById', id).then(() => {
// this.$refs.editModal._open(this.$store.state.FoodJudgeBasis.model)
// })
}
else
{
// 添加
this
.
$refs
.
editModal
.
_open
()
}
},
_getById
:
async
function
(
id
)
{
const
result
=
await
meterAptitude
.
getById
(
id
)
if
(
result
)
{
this
.
$refs
.
editModal
.
_open
(
result
)
}
},
// 导入
_import
()
{
const
data
=
{
importUrl
:
'/food/v1/food_aptitude_judge_basis/food_aptitude_judge_import'
,
downloadUrl
:
'/food/v1/excel/template/FoodAptitudeJudgeBasis'
,
title
:
'导入检验方法管理'
}
this
.
$refs
.
sampleModal
.
_open
(
data
)
},
// 导出
_export
()
{
console
.
log
(
'.this.selectIds'
,
this
.
selectIds
)
if
(
this
.
selectIds
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请选择需要导出的数据'
)
}
else
{
const
content
=
'确定导出 '
+
this
.
selectIds
.
length
+
' 条记录?'
this
.
$Modal
.
confirm
({
title
:
'提示'
,
content
:
content
,
onOk
:
()
=>
{
// eslint-disable-next-line no-undef
http
.
open
(
'/food/v1/food_aptitude_judge_basis/food_aptitude_judge_export?ids='
+
this
.
selectIds
)
}
})
}
}
}
}
</
script
>
<
style
scoped
>
</
style
>
pages/meter-progress/progress-sample/MeterSampleProgress.vue
View file @
37d40670
...
...
@@ -56,7 +56,7 @@
<template
slot-scope=
"scope"
>
<span
v-if=
"item.dateTime"
>
{{
scope
.
row
[
item
.
key
]?
$dateformat
(
scope
.
row
[
item
.
key
],
'yyyy-mm-dd HH:MM:ss'
):
''
}}
</span>
<span
v-else-if=
"item.status"
>
{{
scope
.
row
[
item
.
key
].
display
}}
</span>
<span
v-else-if=
"item.
t
ype"
>
<span
v-else-if=
"item.
entrustT
ype"
>
{{
scope
.
row
[
item
.
key
]
===
1
?
'出检'
:
'送检'
}}
</span>
<span
v-else
>
{{
scope
.
row
[
item
.
key
]
}}
</span>
...
...
@@ -84,7 +84,12 @@ export default {
pageColumns
:
[
{
title
:
'委托单位'
,
key
:
'client'
,
width
:
140
},
{
title
:
'委托单号'
,
key
:
'entrustCode'
,
width
:
130
},
{
title
:
'委托类型'
,
key
:
'type'
,
width
:
110
,
type
:
true
},
{
title
:
'委托类型'
,
key
:
'entrustType'
,
width
:
110
,
entrustType
:
true
},
{
title
:
'样品名称'
,
key
:
'name'
,
width
:
140
},
{
title
:
'样品编号'
,
key
:
'code'
,
width
:
130
},
{
title
:
'出厂编号'
,
key
:
'factoryNumber'
,
width
:
130
},
...
...
pages/meter-send/receive-sample/MeterReceiveEntrustHis.vue
View file @
37d40670
...
...
@@ -56,6 +56,7 @@
<
script
>
import
{
meterEntrust
,
meterSubcontractor
}
from
'../../../api'
import
MeterEntrustRecord
from
'../../../components/operation/Operation'
import
http
from
'../../../api/http'
import
MeterSampleManage
from
'./MeterSampleReceiveHis'
import
MeterEntrustDetail
from
'./MeterEntrustDetail'
export
default
{
...
...
@@ -66,18 +67,11 @@ export default {
formId
:
'meterReviewEntrustFormId'
,
searchOpen
:
true
,
btn
:
[
// {
// // meter-review-entrust-pass-btn
// type: 'success',
// id: '',
// name: '通过'
// },
// // meter-review-entrust-back-btn
// {
// type: 'success',
// id: '',
// name: '驳回'
// }
{
type
:
'success'
,
id
:
''
,
name
:
'样品交接发放登记表'
}
],
iconMsg
:
[
{
...
...
@@ -146,6 +140,9 @@ export default {
case
'通过'
:
this
.
_passReview
()
break
case
'样品交接发放登记表'
:
this
.
_exportSampleHis
()
break
case
'search'
:
this
.
searchOpen
=
!
this
.
searchOpen
break
...
...
@@ -262,6 +259,24 @@ export default {
})
},
_exportSampleHis
()
{
if
(
this
.
selectIds
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请选择要导出的委托单!'
)
return
false
}
this
.
$Modal
.
confirm
({
title
:
'提示'
,
content
:
'确定导出样品交接发放登记表?'
,
onOk
:
()
=>
{
this
.
_exportSampleSendReceive
(
this
.
selectIds
)
}
})
},
_exportSampleSendReceive
(
data
)
{
http
.
open
(
'/meter/v1/sample/export_sample_receive_send/?entrustIds='
+
data
)
},
_passEntrustReview
:
async
function
(
ids
)
{
const
result
=
await
meterEntrust
.
passReview
(
ids
)
if
(
result
)
{
...
...
pages/meter-warehouse/warehouse-in/MeterWarehouseIn.vue
View file @
37d40670
...
...
@@ -11,8 +11,16 @@
<Form-item
class=
"search-item"
label=
"样品名称:"
>
<Input
v-model=
"formObj.name"
name=
"name"
placeholder=
"请输入样品名称"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-item"
label=
"样品编号:"
>
<Input
v-model=
"formObj.code"
name=
"code"
placeholder=
"请输入样品编号"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-item"
label=
"委托编号:"
>
<Input
v-model=
"formObj.entrustCode"
name=
"entrustCode"
placeholder=
"请输入委托编号"
clearable
@
on-enter=
"_formSearch"
/>
</Form-item>
<Form-item
class=
"search-btn"
>
<Button
type=
"primary"
@
click=
"_
formSearch
"
>
搜索
</Button>
<Button
type=
"primary"
@
click=
"_
page
"
>
搜索
</Button>
</Form-item>
</Form>
</Col>
...
...
@@ -78,7 +86,8 @@ export default {
iconMsg
:
[{
type
:
'md-cloud'
,
id
:
''
,
name
:
'附件'
}],
formObj
:
{
name
:
undefined
,
aptitude
:
undefined
code
:
undefined
,
entrustCode
:
undefined
},
selectIds
:
[],
getPage
:
{},
...
...
router/meter-routes.js
View file @
37d40670
...
...
@@ -8,6 +8,7 @@ import workbench from '../pages/workbench/workbench'
*计量检定平台路由
*/
import
MeterAptitudeManage
from
'../pages/meter-aptitude/manage/MeterAptitudeManage'
import
MeterBeyondAptitudeManage
from
'../pages/meter-aptitude/beyond/MeterBeyondAptitudeManage'
import
MeterAptitudeStandard
from
'../pages/meter-aptitude/standard/MeterAptitudeStandard'
import
MeterSubcontractor
from
'../pages/meter-subcontract/subcontractor/MeterSubcontractor'
import
MeterSendEntrustIndex
from
'../pages/meter-entrust/send-test/MeterSendEntrustIndex'
...
...
@@ -33,6 +34,7 @@ import MeterContractRegisterIndex from '../pages/meter-contract/contract-registe
import
MeterContractReviewIndex
from
'../pages/meter-contract/contract-review/MeterContractReviewIndex'
import
MeterContractFileIndex
from
'../pages/meter-contract/contract-file/MeterContractFileIndex'
import
MeterSampleProgress
from
'../pages/meter-progress/progress-sample/MeterSampleProgress'
import
MeterOutSampleProgress
from
'../pages/meter-progress/out-progress-sample/MeterOutSampleProgress'
import
MeterClientOnlineEntrustIndex
from
'../pages/meter-entrust/client-online/MeterClientOnlineEntrustIndex'
import
MeterMeterWarehouseInIndex
from
'../pages/meter-warehouse/warehouse-in/MeterMeterWarehouseInIndex'
import
MeterMeterWarehouseOutIndex
from
'../pages/meter-warehouse/warehouse-out/MeterMeterWarehouseOutIndex'
...
...
@@ -60,6 +62,11 @@ export default [
meta
:
{
title
:
'授权资质管理'
}
},
{
path
:
'beyond_aptitude'
,
component
:
MeterBeyondAptitudeManage
,
meta
:
{
title
:
'资质外检测器具'
}
},
{
path
:
'standard'
,
component
:
MeterAptitudeStandard
,
meta
:
{
title
:
'检测依据管理'
}
...
...
@@ -240,6 +247,11 @@ export default [
path
:
'sample_progress'
,
component
:
MeterSampleProgress
,
meta
:
{
title
:
'样品进度查询'
}
},
{
path
:
'out_sample_progress'
,
component
:
MeterOutSampleProgress
,
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