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
bd5e313c
Commit
bd5e313c
authored
Jun 14, 2020
by
lichengming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改了分包样品管理分包信息登记
parent
fc6730f3
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
307 additions
and
14 deletions
+307
-14
AutoCompletes.vue
components/base/AutoCompletes.vue
+6
-5
MeterSubcontractor.vue
pages/meter-subcontract/subcontractor/MeterSubcontractor.vue
+11
-9
EditLabSelect.vue
pages/meter-subcontract/subpackage-task/EditLabSelect.vue
+110
-0
MeterSubSampleEdit.vue
.../meter-subcontract/subpackage-task/MeterSubSampleEdit.vue
+167
-0
MeterSubSampleManage.vue
...eter-subcontract/subpackage-task/MeterSubSampleManage.vue
+13
-0
No files found.
components/base/AutoCompletes.vue
View file @
bd5e313c
...
@@ -17,22 +17,22 @@
...
@@ -17,22 +17,22 @@
<!--
</Dropdown>
-->
<!--
</Dropdown>
-->
<el-dropdown
<el-dropdown
@
command=
"_dropDown"
trigger=
"click"
trigger=
"click"
size=
"small"
size=
"small"
placement=
"bottom-start"
placement=
"bottom-start"
style=
"width:100%;"
style=
"width:100%;"
@
command=
"_dropDown"
>
>
<Input
<Input
v-model=
"value"
v-model=
"value"
:name=
"name"
:name=
"name"
:placeholder=
"placeholder"
:placeholder=
"placeholder"
icon=
"ios-search"
style=
"width:100%"
:class=
"
{'iview-input-error':showError === ''}"
:class=
"
{'iview-input-error':showError === ''}"
@on-change="_query"
@on-change="_query"
@on-blur="_inputBlur"
@on-blur="_inputBlur"
@on-focus="_inputFocus"
@on-focus="_inputFocus"
icon="ios-search"
style="width:100%"
/>
/>
<el-dropdown-menu
slot=
"dropdown"
style=
"max-height: 200px;overflow: auto;"
>
<el-dropdown-menu
slot=
"dropdown"
style=
"max-height: 200px;overflow: auto;"
>
<el-dropdown-item
v-for=
"(item,index) in downData"
:key=
"index"
:command=
"item"
>
<el-dropdown-item
v-for=
"(item,index) in downData"
:key=
"index"
:command=
"item"
>
...
@@ -50,6 +50,7 @@ export default {
...
@@ -50,6 +50,7 @@ export default {
showKey
:
null
,
showKey
:
null
,
placeholder
:
null
,
placeholder
:
null
,
downData
:
null
,
downData
:
null
,
value
:
null
,
// 当此值为空时,显示红框
// 当此值为空时,显示红框
showError
:
null
,
showError
:
null
,
blur
:
null
,
blur
:
null
,
...
@@ -58,8 +59,8 @@ export default {
...
@@ -58,8 +59,8 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
selectObj
:
{}
,
selectObj
:
{}
value
:
null
//
value: null
// isFocus: false
// isFocus: false
}
}
},
},
...
...
pages/meter-subcontract/subcontractor/MeterSubcontractor.vue
View file @
bd5e313c
...
@@ -6,36 +6,36 @@
...
@@ -6,36 +6,36 @@
<Row>
<Row>
<!--查询-->
<!--查询-->
<Col
span=
"24"
style=
"margin-top: 10px"
>
<Col
span=
"24"
style=
"margin-top: 10px"
>
<Form
v-show=
"searchOpen"
id=
"formId"
inline
onsubmit=
"return false"
:label-width=
"90
"
>
<Form
id=
"formId"
v-show=
"searchOpen"
:label-width=
"90"
inline
onsubmit=
"return false
"
>
<label
class=
"label-sign"
></label>
<label
class=
"label-sign"
></label>
<Form-item
class=
"search-item"
label=
"实验室名称:"
>
<Form-item
class=
"search-item"
label=
"实验室名称:"
>
<Input
v-model=
"formObj.name"
name=
"name"
placeholder=
"请输入实验室名称"
clearable
@
on-enter=
"_formSearch"
/>
<Input
v-model=
"formObj.name"
@
on-enter=
"_formSearch"
name=
"name"
placeholder=
"请输入实验室名称"
clearable
/>
</Form-item>
</Form-item>
<Form-item
class=
"search-item"
label=
"资质:"
>
<Form-item
class=
"search-item"
label=
"资质:"
>
<Input
v-model=
"formObj.aptitude"
name=
"aptitude"
placeholder=
"请输入资质"
clearable
@
on-enter=
"_formSearch"
/>
<Input
v-model=
"formObj.aptitude"
@
on-enter=
"_formSearch"
name=
"aptitude"
placeholder=
"请输入资质"
clearable
/>
</Form-item>
</Form-item>
<Form-item
class=
"search-btn"
>
<Form-item
class=
"search-btn"
>
<Button
type=
"primary"
@
click=
"_formSearch
"
>
搜索
</Button>
<Button
@
click=
"_formSearch"
type=
"primary
"
>
搜索
</Button>
</Form-item>
</Form-item>
</Form>
</Form>
</Col>
</Col>
<!--操作-->
<!--操作-->
<Col
span=
"24"
>
<Col
span=
"24"
>
<btn-list
:msg=
"btn"
class=
"contHide"
:open=
"searchOpen"
:show-search-btn=
"true
"
<btn-list
:msg=
"btn"
:open=
"searchOpen"
:show-search-btn=
"true"
@
on-result-change=
"_btnClick
"
@
on-result-change=
"_btnClick
"
></btn-list>
class=
"contHide
"
></btn-list>
</Col>
</Col>
<!--表格-->
<!--表格-->
<Col
span=
"24"
>
<Col
span=
"24"
>
<PTVXETable
ref=
"pageTable"
:table-height=
"tableHeight"
:form-id=
"formId"
<PTVXETable
ref=
"pageTable"
:table-height=
"tableHeight"
:form-id=
"formId"
:get-page=
"getPage"
:icon-msg=
"iconMsg"
hide-checkbox
@
on-result-change=
"_tableResultChange"
>
:get-page=
"getPage"
:icon-msg=
"iconMsg"
@
on-result-change=
"_tableResultChange"
hide-checkbox
>
<vxe-table-column
<vxe-table-column
v-for=
"item in pageColumns"
v-for=
"item in pageColumns"
:key=
"item.key"
:key=
"item.key"
sortable
:field=
"item.key"
:field=
"item.key"
:title=
"item.title"
:title=
"item.title"
:min-width=
"item.width?item.width:200"
:fixed=
"item.fixed?item.fixed:undefined"
>
:min-width=
"item.width?item.width:200"
:fixed=
"item.fixed?item.fixed:undefined"
sortable
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
[
item
.
key
]
}}
</span>
<span>
{{
scope
.
row
[
item
.
key
]
}}
</span>
</
template
>
</
template
>
...
@@ -176,8 +176,10 @@ export default {
...
@@ -176,8 +176,10 @@ export default {
Object
.
assign
(
this
.
formObj
,
this
.
$refs
.
pageTable
.
_searchParams
())
Object
.
assign
(
this
.
formObj
,
this
.
$refs
.
pageTable
.
_searchParams
())
console
.
log
(
'this.formObj'
,
this
.
formObj
)
console
.
log
(
'this.formObj'
,
this
.
formObj
)
const
result
=
await
meterSubcontractor
.
page
(
this
.
formObj
)
const
result
=
await
meterSubcontractor
.
page
(
this
.
formObj
)
console
.
log
(
'分包请求结果'
,
result
)
if
(
result
)
{
if
(
result
)
{
this
.
getPage
=
result
this
.
getPage
=
result
this
.
$refs
.
pageTable
.
_hideLoading
()
}
}
},
},
_formSearch
()
{
_formSearch
()
{
...
...
pages/meter-subcontract/subpackage-task/EditLabSelect.vue
0 → 100644
View file @
bd5e313c
<
template
>
<!--仓库-->
<Modal
v-model=
"showModal"
width=
"1000"
class=
"modal-footer-none"
>
<p
slot=
"header"
>
实验室列表
</p>
<Row>
<Col
span=
"24"
>
<Form
:id=
"formId"
:label-width=
"90"
inline
onsubmit=
"return false"
>
<label
class=
"label-sign"
></label>
<Form-item
label=
"实验室名称:"
>
<Input
@
on-enter=
"_formSearch"
v-model=
"subcontractorName"
name=
"subcontractorName"
placeholder=
"请输入实验室名称"
style=
"width: 200px;"
clearable
/>
</Form-item>
<Form-item
class=
"search-btn"
>
<Button
@
click=
"_formSearch"
type=
"primary"
>
搜索
</Button>
</Form-item>
</Form>
</Col>
<Col
span=
"24"
>
<PTVXETable
ref=
"pageTable"
:tableHeight=
"400"
@
on-result-change=
"_tableResultChange"
:getPage=
"getPage"
hide-checkbox
>
<vxe-table-column
:field=
"item.key"
:title=
"item.title"
:min-width=
"item.width?item.width:200"
:fixed=
"item.fixed?item.fixed:undefined"
v-for=
"item in pageColumns"
:key=
"item.key"
sortable
>
<template
slot-scope=
"scope"
>
<div
v-if=
"item.datetime"
>
{{
$dateformat
(
scope
.
row
[
item
.
key
],
'yyyy-mm-dd HH:MM'
)
}}
</div>
<div
v-else
>
{{
scope
.
row
[
item
.
key
]
}}
</div>
</
template
>
</vxe-table-column>
</PTVXETable>
</Col>
</Row>
</Modal>
</template>
<
script
>
/**
* 选择实验室
*/
import
{
meterSubcontractor
}
from
'../../../api'
export
default
{
data
()
{
return
{
showModal
:
false
,
formId
:
''
,
selectNames
:
''
,
selectIds
:
''
,
getPage
:
{},
pageColumns
:
[
{
title
:
'实验室名称'
,
key
:
'name'
,
width
:
160
},
{
title
:
'资质'
,
key
:
'aptitude'
,
width
:
160
},
{
title
:
'检测项目'
,
key
:
'itemName'
},
{
title
:
'报价'
,
key
:
'price'
,
width
:
160
}
],
voList
:
[],
subcontractorName
:
''
}
},
methods
:
{
_open
(
voList
,
formId
)
{
this
.
formId
=
formId
this
.
voList
=
voList
this
.
showModal
=
true
this
.
subcontractorName
=
''
this
.
$nextTick
(()
=>
{
this
.
_page
()
})
},
_formSearch
()
{
this
.
$refs
.
pageTable
.
_pageChange
(
1
)
},
_page
:
async
function
()
{
const
data
=
{}
if
(
this
.
voList
&&
this
.
voList
.
length
)
{
data
.
voList
=
this
.
voList
}
// this.$refs.pageTable._page(
// this.formId,
// 'FoodSubcontracter/getLabByAptitude',
// data
// )
const
result
=
await
meterSubcontractor
.
page
(
data
)
console
.
log
(
'实验室名称'
,
result
)
if
(
result
)
{
this
.
getPage
=
result
// console.log(result.records)
// this.labList = result.records
// console.log(this.labList)
}
},
_tableResultChange
(
msg
,
data
)
{
switch
(
msg
)
{
case
'page'
:
this
.
getPage
=
this
.
$store
.
state
.
FoodSubcontracter
.
page
break
case
'dbSelect'
:
this
.
$emit
(
'on-result-change'
,
data
)
this
.
showModal
=
false
break
case
'changeSize'
:
this
.
_page
()
break
}
}
}
}
</
script
>
pages/meter-subcontract/subpackage-task/MeterSubSampleEdit.vue
0 → 100644
View file @
bd5e313c
<
template
>
<div>
<Modal
v-model=
"showModal"
:mask-closable=
"false"
width=
"700"
>
<p
slot=
"header"
>
分包信息
</p>
<div>
<Form
id=
"batch-edit-form"
ref=
"formObj"
:model=
"formObj"
:rules=
"ruleValidate"
:label-width=
"90"
>
<Form-item
label=
"分包价格:"
prop=
"price"
>
<InputNumber
:min=
"0"
:step=
"1"
v-model
.
number=
"formObj.price"
name=
"price"
style=
"width:100%"
placeholder=
"留白默认所选分包商对应的检测项目报价"
>
</InputNumber>
</Form-item>
<Form-item
label=
"分包实验室:"
prop=
"subcontractorName"
>
<div
style=
"display: flex"
>
<AutoCompletes
:value=
"formObj.subcontractorName"
:downData=
"labList"
@
on-result-change=
"_labChange"
name=
"subcontractorName"
show-key=
"name"
placeholder=
"请输入或选择分包实验室"
style=
"width: 94%"
></AutoCompletes>
<Icon
@
click=
"_labSel"
type=
"ios-arrow-forward"
size=
"24"
color=
"#00a0e9"
style=
"margin-top: 5px;margin-left: 5px"
/>
</div>
<input
v-model=
"formObj.subcontractorId"
type=
"hidden"
name=
"subcontractorId"
/>
</Form-item>
<Form-item
label=
"分包原因"
prop=
"epibolyReason"
>
<Input
:rows=
"3"
v-model=
"formObj.epibolyReason"
type=
"textarea"
name=
"epibolyReason"
placeholder=
"请输入分包原因"
/>
</Form-item>
</Form>
</div>
<div
slot=
"footer"
>
<ModalFooter
ref=
"footerModal"
@
on-result-change=
"_footerResult"
:footer=
"footerList"
></ModalFooter>
</div>
</Modal>
<!--选择实验室-->
<EditLabSelect
ref=
"labModal"
@
on-result-change=
"_labResult"
></EditLabSelect>
</div>
</
template
>
<
script
>
import
ModalFooter
from
'../../../components/base/modalFooter'
import
AutoCompletes
from
'../../../components/base/AutoCompletes'
import
{
meterSubcontractor
}
from
'../../../api'
import
EditLabSelect
from
'./EditLabSelect'
/**
* 添加编辑分包信息
*/
const
defVal
=
{
price
:
''
,
subcontractorId
:
0
,
subcontractorName
:
''
,
epibolyReason
:
''
// page: 1,
// rows: 50
}
export
default
{
components
:
{
EditLabSelect
,
ModalFooter
,
AutoCompletes
},
data
()
{
return
{
ids
:
[],
selectData
:
[],
formObj
:
defVal
,
ruleValidate
:
{
// price: [{required: true, message: '分包价不能为空', trigger: 'blur', type: 'number'}],
},
showModal
:
false
,
footerList
:
[
{
id
:
''
,
name
:
'取消'
,
type
:
''
},
{
id
:
''
,
name
:
'保存'
,
type
:
'primary'
}
],
labList
:
[]
}
},
methods
:
{
_footerResult
(
name
)
{
switch
(
name
)
{
case
'取消'
:
this
.
_cancel
()
break
case
'保存'
:
this
.
_ok
()
break
}
},
_hideLoading
()
{
this
.
$refs
.
footerModal
.
_hideLoading
()
},
_ok
()
{
console
.
log
(
this
.
formObj
)
this
.
_hideLoading
()
// this.$refs.formObj.validate(valid => {
// if (valid) {
// const data = this.$serialize('batch-edit-form')
// Object.assign(data, { ids: this.ids.join(',') })
// this.$store.dispatch('FoodItem/batchEpiboly', data).then(() => {
// if (this.$store.state.FoodItem.success) {
// this.showModal = false
// this.$Message.success('保存成功!')
// this.$emit('on-result-change')
// }
// this._hideLoading()
// })
// } else {
// this._hideLoading()
// this.$Message.error('表单验证失败!')
// }
// })
},
_cancel
()
{
this
.
showModal
=
false
},
_open
(
ids
,
selectData
)
{
this
.
_getLab
()
this
.
_hideLoading
()
this
.
$refs
.
formObj
.
resetFields
()
this
.
formObj
.
subcontractorId
=
''
this
.
showModal
=
true
this
.
ids
=
ids
this
.
selectData
=
selectData
},
_labChange
(
msg
,
data
)
{
switch
(
msg
)
{
case
'select'
:
this
.
formObj
.
subcontractorName
=
data
.
name
this
.
formObj
.
subcontractorId
=
data
.
id
break
case
'query'
:
this
.
formObj
.
subcontractorName
=
data
.
name
this
.
_getLab
(
data
.
name
)
break
}
},
_getLab
:
async
function
(
name
)
{
const
data
=
{}
if
(
name
)
{
data
.
name
=
name
}
// this.$store.dispatch('FoodSubcontracter/getLab', data).then(() => {
// this.labList = this.$store.state.FoodSubcontracter.list
// })
// Object.assign(this.formObj, this.$refs.pageTable._searchParams())
// console.log('this.formObj', this.formObj)
const
result
=
await
meterSubcontractor
.
page
(
data
)
console
.
log
(
'实验室名称'
,
result
)
if
(
result
)
{
console
.
log
(
result
.
records
)
this
.
labList
=
result
.
records
console
.
log
(
this
.
labList
)
}
},
_labSel
()
{
const
voList
=
[]
for
(
let
i
=
0
;
i
<
this
.
selectData
.
length
;
i
++
)
{
voList
.
push
({
itemName
:
this
.
selectData
[
i
].
itemName
,
testBasis
:
this
.
selectData
[
i
].
testBasis
})
}
this
.
$refs
.
labModal
.
_open
(
voList
,
'batch-lab-form'
)
},
_labResult
(
result
)
{
this
.
formObj
.
subcontractorId
=
result
.
id
this
.
formObj
.
subcontractorName
=
result
.
name
}
}
}
</
script
>
pages/meter-subcontract/subpackage-task/MeterSubSampleManage.vue
View file @
bd5e313c
...
@@ -57,12 +57,15 @@
...
@@ -57,12 +57,15 @@
</Row>
</Row>
</div>
</div>
</Modal>
</Modal>
<MeterSubSampleEdit
ref=
"batchEditModal"
@
on-result-change=
"_page"
></MeterSubSampleEdit>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
meterSample
}
from
'../../../api'
import
{
meterSample
}
from
'../../../api'
import
MeterSubSampleEdit
from
'./MeterSubSampleEdit'
export
default
{
export
default
{
components
:
{
components
:
{
MeterSubSampleEdit
// FoodSampleGovernDetail,
// FoodSampleGovernDetail,
// CopyModal,
// CopyModal,
// FoodSampleGovernLYEdits
// FoodSampleGovernLYEdits
...
@@ -161,6 +164,9 @@ export default {
...
@@ -161,6 +164,9 @@ export default {
this
.
currentComponent
=
componentName
this
.
currentComponent
=
componentName
this
.
$nextTick
(
function
()
{
this
.
$nextTick
(
function
()
{
switch
(
msg
)
{
switch
(
msg
)
{
case
'分包信息登记'
:
this
.
_batchEpiboly
()
break
case
'添加'
:
case
'添加'
:
this
.
_editModal
(
false
)
this
.
_editModal
(
false
)
break
break
...
@@ -179,6 +185,13 @@ export default {
...
@@ -179,6 +185,13 @@ export default {
}
}
})
})
},
},
_batchEpiboly
()
{
if
(
this
.
selectIds
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请选择一条或多条数据!'
)
}
else
{
this
.
$refs
.
batchEditModal
.
_open
(
this
.
selectIds
,
this
.
selectData
)
}
},
_iconClick
(
res
,
data
,
componentName
)
{
_iconClick
(
res
,
data
,
componentName
)
{
this
.
currentComponent
=
componentName
this
.
currentComponent
=
componentName
this
.
$nextTick
(
function
()
{
this
.
$nextTick
(
function
()
{
...
...
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