Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
T
TF-MOM-WEB
Project
Project
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
TFMOM
TF-MOM-WEB
Commits
90003798
Commit
90003798
authored
Jul 23, 2023
by
xioln
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
入库流程
parent
4fe426a9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
568 additions
and
70 deletions
+568
-70
index.vue
...rivateComponents/components/ChemicalTestProcess/index.vue
+44
-0
UploadFiles.vue
...onents/JobResponseInTestProcess/component/UploadFiles.vue
+1
-1
equipmenCheckNo.vue
...ts/JobResponseInTestProcess/component/equipmenCheckNo.vue
+29
-16
materialCheckNo.vue
...ts/JobResponseInTestProcess/component/materialCheckNo.vue
+31
-17
outSourceCheckNo.vue
...s/JobResponseInTestProcess/component/outSourceCheckNo.vue
+17
-8
index.vue
...eComponents/components/JobResponseInTestProcess/index.vue
+23
-19
index.vue
...ponents/components/PurchasingWarehousingProcess/index.vue
+20
-9
index.vue
...rc/privateComponents/components/WarehouseSelect/index.vue
+125
-0
index.vue
...nents/components/WarehousingConfirmationConfirm/index.vue
+278
-0
No files found.
applications/dee-mes/src/privateComponents/components/ChemicalTestProcess/index.vue
0 → 100644
View file @
90003798
/**
* @Description: 理化检验流程
* @author xioln
* @date 2023-07-20
* @FilePath: applications/dee-mes/src/privateComponents/components/ChemicalTestProcess/index.vue
*/
<
template
>
<div
class=
"Chemical-test-process"
>
<dee-as-com
refs=
"outerCasing"
:lay-config=
"
{
typeName: 'InStorageRequestItem',
layKey: '1c4983a2-6f51-49e4-95ee-2f5506b8e217'
}"
:basic-data="basicData.businessObject"
/>
</div>
</
template
>
<
script
>
export
default
{
componentName
:
'理化检验流程'
,
name
:
'ChemicalTestProcess'
,
components
:
{},
// name写在组件的最前方,自定义组件为必填
props
:
{
basicData
:
{
type
:
Object
,
default
:
()
=>
null
}
},
data
()
{
return
{
}
},
computed
:
{},
created
()
{
// 初始化数据
console
.
log
(
'basicData'
,
this
.
basicData
)
},
methods
:
{
}
}
</
script
>
<
style
lang=
'scss'
>
</
style
>
applications/dee-mes/src/privateComponents/components/JobResponseInTestProcess/component/UploadFiles.vue
View file @
90003798
<
template
>
<div
class=
"upload-files"
>
<dee-form
label-position=
"top"
:form=
"form"
:form-data=
"formData1"
/>
<dee-form
app-name=
"tf-mom"
label-position=
"top"
:form=
"form"
:form-data=
"formData1"
/>
</div>
</
template
>
<
script
>
...
...
applications/dee-mes/src/privateComponents/components/JobResponseInTestProcess/component/equipmenCheckNo.vue
View file @
90003798
...
...
@@ -6,10 +6,7 @@
*/
<
template
>
<div
class=
"equipmen-checkNo"
>
<div
class=
"dee-form-header-box"
>
<dee-tools
:tools=
"tools"
mode=
"normal"
style=
"flex-direction: row-reverse;"
/>
</div>
<div
class=
"sub-title"
style=
"padding-bottom: 8px; font-size: 16px;"
>
物料检验详情
</div>
<dee-tools
:tools=
"tools"
mode=
"normal"
style=
"flex-direction: row-reverse;margin-bottom: 12px;"
/>
<el-form
ref=
"form"
:model=
"form"
...
...
@@ -32,7 +29,7 @@
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label-width=
"1
0
0px"
label=
"保质期/贮存期"
>
<el-form-item
label-width=
"1
2
0px"
label=
"保质期/贮存期"
>
<el-date-picker
v-model=
"form.qualityPeriod"
clearable
...
...
@@ -154,12 +151,12 @@
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label-width=
"1
2
0px"
label=
"不合格品审理单号"
>
<el-form-item
label-width=
"1
3
0px"
label=
"不合格品审理单号"
>
<el-input
v-model=
"form.noPassReviewNo"
clearable
placeholder=
"请输入不合格品审理单号"
/>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"入场验收问题描述"
label-width=
"1
2
0px"
>
<el-form-item
label=
"入场验收问题描述"
label-width=
"1
3
0px"
>
<el-input
v-model=
"form.acceptanceProblem"
type=
"textarea"
...
...
@@ -171,7 +168,7 @@
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"相关单位意见"
label-width=
"1
2
0px"
>
<el-form-item
label=
"相关单位意见"
label-width=
"1
3
0px"
>
<el-input
v-model=
"form.relevantOpinions"
type=
"textarea"
...
...
@@ -183,7 +180,7 @@
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label-width=
"1
0
0px"
label=
"检验备注"
style=
"margin-bottom:10px"
>
<el-form-item
label-width=
"1
3
0px"
label=
"检验备注"
style=
"margin-bottom:10px"
>
<el-input
v-model=
"form.checkRemark"
type=
"textarea"
...
...
@@ -194,9 +191,9 @@
/>
</el-form-item>
</el-col>
<el-col
:span=
"
8
"
>
<el-form-item
label-width=
"100px"
>
<upload-files
v-
if=
"uploadVisble"
v-
model=
"form.objFileLinks"
/>
<el-col
:span=
"
24
"
>
<el-form-item>
<upload-files
v-model=
"form.objFileLinks"
/>
</el-form-item>
</el-col>
</el-form>
...
...
@@ -318,16 +315,27 @@ export default {
created
()
{
// 初始化数据
this
.
form
=
this
.
basicData
this
.
form
.
operator
=
'MODIFY'
},
methods
:
{
onSubmit
()
{
const
params
=
{
...
this
.
form
,
operator
:
'MODIFY'
'jobTestCheckItems'
:
this
.
jobTestCheckItems
}
this
.
$api
.
recursion
(
'JobResponseInTest'
,
params
).
then
(
res
=>
{
this
.
$utils
.
showMessageSuccess
(
'保存成功'
)
params
.
operator
=
'MODIFY'
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$refs
.
form
.
validate
((
isok
)
=>
{
if
(
isok
)
{
this
.
$api
.
recursion
(
'JobResponseInTest'
,
params
).
then
(
res
=>
{
resolve
(
true
)
}).
catch
(()
=>
{
resolve
(
false
)
})
}
else
{
this
.
$utils
.
showMessageWarning
(
'请填写必填项'
)
resolve
(
false
)
}
})
})
},
savePDF
()
{}
...
...
@@ -335,4 +343,9 @@ export default {
}
</
script
>
<
style
lang=
'scss'
>
.equipmen-checkNo
{
.el-select
{
width
:
100%
;
}
}
</
style
>
applications/dee-mes/src/privateComponents/components/JobResponseInTestProcess/component/materialCheckNo.vue
View file @
90003798
...
...
@@ -6,10 +6,7 @@
*/
<
template
>
<div
class=
"check-no"
>
<div
class=
"dee-form-header-box"
>
<dee-tools
:tools=
"tools"
mode=
"normal"
style=
"flex-direction: row-reverse;"
/>
</div>
<div
class=
"sub-title"
style=
"padding-bottom: 8px; font-size: 16px;"
>
物料检验详情
</div>
<dee-tools
:tools=
"tools"
mode=
"normal"
style=
"flex-direction: row-reverse;margin-bottom: 12px;"
/>
<el-form
ref=
"form"
:model=
"form"
...
...
@@ -900,26 +897,43 @@ export default {
}
},
methods
:
{
// onSubmit() {
// console.log('this', this)
// const params = {
// ...this.form,
// 'jobTestCheckItems': this.jobTestCheckItems
// }
// params.operator = 'MODIFY'
// this.$api.recursion('JobResponseInTest', params).then(res => {
// this.$utils.showMessageSuccess('保存成功')
// })
// },
savePDF
()
{
console
.
log
(
'this'
,
this
.
$store
.
state
.
globalUploader
.
openUploader
)
console
.
log
(
'this'
,
this
.
$store
.
state
.
globalUploader
.
activeLoad
)
},
viewDialog
()
{},
onSubmit
()
{
console
.
log
(
'this'
,
this
)
const
params
=
{
...
this
.
form
,
'jobTestCheckItems'
:
this
.
jobTestCheckItems
}
params
.
operator
=
'MODIFY'
if
(
this
.
$store
.
state
.
globalUploader
.
openUploader
.
list
)
{
console
.
log
(
'2131231'
,
this
.
$store
.
state
.
globalUploader
.
openUploader
.
list
.
map
(
item
=>
({
target
:
{
...
item
,
operator
:
'ADD'
},
operator
:
'ADD'
})))
params
.
objFileLinks
=
this
.
$store
.
state
.
globalUploader
.
openUploader
.
list
.
map
(
item
=>
({
target
:
{
...
item
,
operator
:
'ADD'
},
operator
:
'ADD'
}))
}
this
.
$api
.
recursion
(
'JobResponseInTest'
,
params
).
then
(
res
=>
{
this
.
$utils
.
showMessageSuccess
(
'保存成功'
)
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$refs
.
form
.
validate
((
isok
)
=>
{
if
(
isok
)
{
this
.
$api
.
recursion
(
'JobResponseInTest'
,
params
).
then
(
res
=>
{
resolve
(
true
)
}).
catch
(()
=>
{
resolve
(
false
)
})
}
else
{
this
.
$utils
.
showMessageWarning
(
'请填写必填项'
)
resolve
(
false
)
}
})
})
},
savePDF
()
{
console
.
log
(
'this'
,
this
.
$store
.
state
.
globalUploader
.
openUploader
)
console
.
log
(
'this'
,
this
.
$store
.
state
.
globalUploader
.
activeLoad
)
},
viewDialog
()
{}
}
}
}
</
script
>
...
...
applications/dee-mes/src/privateComponents/components/JobResponseInTestProcess/component/outSourceCheckNo.vue
View file @
90003798
...
...
@@ -6,10 +6,7 @@
*/
<
template
>
<div
class=
"outSource-checkNo"
>
<div
class=
"dee-form-header-box"
>
<dee-tools
:tools=
"tools"
mode=
"normal"
style=
"flex-direction: row-reverse;"
/>
</div>
<div
class=
"sub-title"
style=
"padding-bottom: 8px; font-size: 16px;"
>
物料检验详情
</div>
<dee-tools
:tools=
"tools"
mode=
"normal"
style=
"flex-direction: row-reverse;margin-bottom: 12px;"
/>
<el-form
ref=
"form"
:model=
"form"
class=
"checkNo-container"
:rules=
"formRules"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"验收单号"
label-width=
"100px"
prop=
"testNo"
>
...
...
@@ -166,7 +163,7 @@
</el-col>
<el-col
:span=
"24"
>
<el-form-item>
<upload-files
v-
if=
"uploadVisble"
v-
model=
"form.objFileLinks"
/>
<upload-files
v-model=
"form.objFileLinks"
/>
</el-form-item>
</el-col>
</el-form>
...
...
@@ -292,10 +289,22 @@ export default {
onSubmit
()
{
const
params
=
{
...
this
.
form
,
operator
:
'MODIFY'
'jobTestCheckItems'
:
this
.
jobTestCheckItems
}
this
.
$api
.
recursion
(
'JobResponseInTest'
,
params
).
then
(
res
=>
{
this
.
$utils
.
showMessageSuccess
(
'保存成功'
)
params
.
operator
=
'MODIFY'
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$refs
.
form
.
validate
((
isok
)
=>
{
if
(
isok
)
{
this
.
$api
.
recursion
(
'JobResponseInTest'
,
params
).
then
(
res
=>
{
resolve
(
true
)
}).
catch
(()
=>
{
resolve
(
false
)
})
}
else
{
this
.
$utils
.
showMessageWarning
(
'请填写必填项'
)
resolve
(
false
)
}
})
})
},
savePDF
()
{}
...
...
applications/dee-mes/src/privateComponents/components/JobResponseInTestProcess/index.vue
View file @
90003798
...
...
@@ -6,9 +6,12 @@
*/
<
template
>
<div
class=
"jobResponseInTest-process"
>
<equipmen-check-no
v-if=
"type==='AirEquipment'"
:basic-data=
"basicData"
:job-response-in-test-data=
"data"
/>
<outSource-check-no
v-if=
"type==='OutSource'"
:basic-data=
"basicData"
:job-response-in-test-data=
"data"
/>
<material-check-no
v-if=
"type==='Material'"
:basic-data=
"basicData"
:job-response-in-test-data=
"data"
/>
<div
class=
"sub-title"
style=
"padding-bottom: 12px;"
>
物料检验详情
</div>
<equipmen-check-no
v-if=
"type==='AirEquipment'"
ref=
"AirEquipment"
:basic-data=
"basicData"
:job-response-in-test-data=
"data"
/>
<outSource-check-no
v-if=
"type==='OutSource'"
ref=
"OutSource"
:basic-data=
"basicData"
:job-response-in-test-data=
"data"
/>
<material-check-no
v-if=
"type==='Material'"
ref=
"Material"
:basic-data=
"basicData"
:job-response-in-test-data=
"data"
/>
</div>
</
template
>
<
script
>
...
...
@@ -20,7 +23,6 @@ import { get, post } from '@/utils/http'
export
default
{
componentName
:
'检验响应流程'
,
name
:
'JobResponseInTestProcess'
,
// name写在组件的最前方,自定义组件为必填
// components: { EquipmenCheckNo, OutSourceCheckNo },
components
:
{
EquipmenCheckNo
,
OutSourceCheckNo
,
MaterialCheckNo
},
props
:
{
basicData
:
{
...
...
@@ -31,7 +33,9 @@ export default {
data
()
{
return
{
type
:
''
,
data
:
null
data
:
null
,
basicDataId
:
null
,
inventoryReqId
:
null
}
},
computed
:
{},
...
...
@@ -41,25 +45,21 @@ export default {
// deep: true,
// handler: function(val) {
// if (val.inventoryReqId) {
// console.log('val', val)
// // this.getInventoryRequest(val.inventoryReqId)
// this.basicDataId = val.id
// this.inventoryReqId = val.inventoryReqId
// this.getInventoryRequest(val.inventoryReqId)
// }
// }
// },
'basicData.inventoryReqId'
:
{
immediate
:
true
,
deep
:
true
,
handler
:
function
(
val
)
{
console
.
log
(
'inventoryReqId'
,
val
)
this
.
getInventoryRequest
(
val
)
}
}
// }
},
created
()
{
// 初始化数据
},
mounted
()
{
console
.
log
(
'basicData'
,
this
)
console
.
log
(
'this.basicData'
,
this
.
basicData
)
this
.
basicDataId
=
this
.
basicData
.
id
this
.
inventoryReqId
=
this
.
basicData
.
inventoryReqId
this
.
getInventoryRequest
(
this
.
basicData
.
inventoryReqId
)
},
methods
:
{
getInventoryRequest
(
id
)
{
...
...
@@ -96,7 +96,7 @@ export default {
{
'fieldName'
:
'jobOrderId'
,
'operator'
:
'EQ'
,
'value'
:
this
.
basicData
.
i
d
'value'
:
this
.
basicData
I
d
}
],
'operator'
:
'AND'
...
...
@@ -124,12 +124,16 @@ export default {
}
post
(
'JobResponseInTest/search'
,
param
).
then
(
res
=>
{
const
data
=
res
.
items
.
content
[
0
]
console
.
log
(
'JobResponseInTest'
,
{
...
data
})
this
.
data
=
data
this
.
type
=
type
}).
catch
((
err
)
=>
{
console
.
log
(
err
)
})
},
// 完成任务同时校验保存
validate
()
{
console
.
log
(
'this.$refs[this.type]'
,
this
.
$refs
[
this
.
type
])
return
this
.
$refs
[
this
.
type
].
onSubmit
()
}
}
}
...
...
applications/dee-mes/src/privateComponents/components/PurchasingWarehousingProcess/index.vue
View file @
90003798
...
...
@@ -7,6 +7,7 @@
<
template
>
<div
class=
"purchasingwarehousing-process"
>
<dee-table
v-if=
"basicData.id"
ref=
"treeTable"
:data=
"tableData"
:columns=
"columns"
...
...
@@ -97,22 +98,32 @@ export default {
optionsTree
:
{
rowKey
:
'id'
,
'tree-props'
:
{
children
:
'children'
}
}
},
timerId
:
null
}
},
computed
:
{},
watch
:
{
'basicData.businessObject
.id'
:
{
immediate
:
true
,
deep
:
true
,
handler
:
function
(
val
)
{
this
.
searchInStorageRequestItem
(
val
)
}
}
// 'basicData
.id': {
//
immediate: true,
//
deep: true,
//
handler: function(val) {
//
this.searchInStorageRequestItem(val)
//
}
//
}
},
created
()
{
// 初始化数据
// this.searchInStorageRequestItem(this.basicData.businessObject.id)
},
mounted
()
{
console
.
log
(
'this.basicData'
,
this
.
basicData
)
this
.
timerId
=
setInterval
(()
=>
{
if
(
this
.
basicData
.
id
)
{
clearInterval
(
this
.
timerId
)
this
.
timerId
=
null
this
.
searchInStorageRequestItem
(
this
.
basicData
.
id
)
}
},
200
)
},
methods
:
{
// 编辑采购入库明细查询InStorageRequestItem/search
...
...
applications/dee-mes/src/privateComponents/components/WarehouseSelect/index.vue
0 → 100644
View file @
90003798
/**
* @Description: 库位选择组件
* @author xioln
* @date 2023-07-21
* @FilePath: applications/dee-mes/src/privateComponents/components/WarehouseSelect/index.vue
*/
<
template
>
<div
class=
"warehouse-select"
>
<el-select
v-if=
"basicData"
v-model=
"selectVal"
:loading=
"tableColumnSelect"
size=
"small"
placeholder=
"请选择库位"
filterable
remote
loading-text=
"数据正在加载中..."
:remote-method=
"(query) => remoteMethod(query, storageZoneId)"
@
focus=
"locationList = []"
@
change=
"save"
>
<el-option
v-for=
"item in locationList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</div>
</
template
>
<
script
>
export
default
{
name
:
'WarehouseSelect'
,
// name写在组件的最前方,自定义组件为必填
componentName
:
'库位选择组件'
,
components
:
{},
props
:
{
basicData
:
{
type
:
Object
,
default
:
()
=>
null
},
backVal
:
{
type
:
Object
,
default
:
()
=>
null
}
},
data
()
{
return
{
storageZoneId
:
''
,
selectVal
:
''
,
tableColumnSelect
:
false
,
locationList
:
[],
// 库位搜索节流
remoteFlag
:
true
}
},
computed
:
{},
watch
:
{
basicData
:
{
immediate
:
true
,
deep
:
true
,
handler
:
function
(
val
)
{
this
.
storageZoneId
=
val
.
storageZoneId
}
}
},
created
()
{
// 初始化数据
this
.
selectVal
=
this
.
backVal
},
methods
:
{
// 搜索库位
remoteMethod
(
query
)
{
if
(
!
this
.
storageZoneId
)
return
if
(
query
.
length
<
3
)
return
if
(
this
.
remoteFlag
)
{
this
.
remoteFlag
=
false
this
.
tableColumnSelect
=
true
const
params
=
{
'pageFrom'
:
1
,
'pageSize'
:
10
,
'searchItems'
:
{
'children'
:
[
{
'items'
:
[
{
'fieldName'
:
'extCenterId'
,
'operator'
:
'EQ'
,
'value'
:
this
.
storageZoneId
},
{
'fieldName'
:
'extcode'
,
'operator'
:
'LIKE'
,
'value'
:
query
}
],
'operator'
:
'AND'
}
],
'items'
:
[],
'operator'
:
'AND'
},
'openProps'
:
[]
}
this
.
$api
.
searchApi
(
'ExtDxProductWorkUnit'
,
params
).
then
(
res
=>
{
if
(
res
.
items
&&
res
.
items
.
content
.
length
)
{
this
.
locationList
=
res
.
items
.
content
.
map
((
item
)
=>
{
return
{
label
:
item
.
extcode
,
value
:
item
.
id
}
})
}
else
{
this
.
locationList
=
[]
}
})
.
catch
((
err
)
=>
console
.
log
(
err
))
.
finally
(()
=>
{
this
.
loading
=
false
this
.
remoteFlag
=
true
this
.
tableColumnSelect
=
false
})
}
else
{
this
.
$utils
.
showMessageWarning
(
'上一步请求正在查询中,请稍后'
)
}
},
save
(
v
)
{
if
(
!
this
.
selectVal
)
this
.
$utils
.
showMessageWarning
(
'请选择库位'
)
console
.
log
(
'selectVal'
,
v
)
this
.
$emit
(
'save'
,
this
.
selectVal
)
}
}
}
</
script
>
<
style
lang=
'scss'
></
style
>
applications/dee-mes/src/privateComponents/components/WarehousingConfirmationConfirm/index.vue
0 → 100644
View file @
90003798
/**
* @Description: 验收入库确认签审对象
* @author xioln
* @date 2023-07-21
* @FilePath: applications/dee-mes/src/privateComponents/components/WarehousingConfirmationConfirm/index.vue
*/
<
template
>
<div
class=
"warehousing-confirmation-confirm"
>
<dee-table
v-if=
"basicData.id"
ref=
"treeTable"
:data=
"tableData"
:columns=
"columns"
:options=
"optionsTree"
/>
</div>
</
template
>
<
script
>
import
{
post
}
from
'@/utils/http'
import
WarehouseSelect
from
'/Users/xioln/project/tf-mom-web/applications/dee-mes/src/privateComponents/components/WarehouseSelect/index.vue'
export
default
{
componentName
:
'验收入库申请流程详情'
,
name
:
'PurchasingWarehousingProcess'
,
// name写在组件的最前方,自定义组件为必填
props
:
{
basicData
:
{
type
:
Object
,
default
:
()
=>
null
}
},
data
()
{
return
{
tableData
:
[],
columns
:
[
{
title
:
'序号'
,
key
:
'parentIndex'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'单据编号'
,
key
:
'inventoryReq.reqNo'
,
width
:
'120'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'库位'
,
key
:
'storageZoneId'
,
width
:
'150'
,
component
:
{
name
:
WarehouseSelect
,
show
:
true
,
props
:
{
basicData
:
this
.
basicData
,
backVal
:
'2'
},
handler
:
{
save
:
(
extWorkUnitId
)
=>
{
const
params
=
{
id
:
this
.
inventoryJobResponses
.
id
,
operator
:
'MODIFY'
,
extWorkUnitId
:
extWorkUnitId
,
extWorkUnitIdType
:
'ExtDxProductWorkUnit'
}
this
.
$api
.
recursion
(
'JobResponseInStorage'
,
params
).
then
(
res
=>
{
this
.
$utils
.
showMessageSuccess
(
'保存成功'
)
})
}
}
}
},
{
title
:
'所属设备'
,
key
:
'subEquipment'
,
headerAlign
:
'center'
,
align
:
'center'
},
{
title
:
'物料类型'
,
key
:
'typeName'
,
align
:
'center'
,
headerAlign
:
'center'
,
formatter
:
(
row
,
column
,
cellValue
,
index
)
=>
{
const
value
=
row
.
extMaterial
?
row
.
extMaterial
.
resType2
.
typeName
:
row
.
materialTypeName
return
value
}
},
{
title
:
'编码'
,
key
:
'typeCode'
,
align
:
'center'
,
headerAlign
:
'center'
,
width
:
'100'
,
formatter
:
(
row
,
column
,
cellValue
,
index
)
=>
{
const
value
=
row
.
resCode
?
row
.
resCode
:
row
.
extMaterial
?
row
.
extMaterial
.
resCode
:
''
return
value
}
},
{
title
:
'机型'
,
key
:
'airModel'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'架次'
,
key
:
'sorties'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'计量单位'
,
key
:
'unitName'
,
align
:
'center'
,
headerAlign
:
'center'
,
formatter
:
(
row
,
column
,
cellValue
,
index
)
=>
{
const
value
=
row
.
reqUnit
?
row
.
reqUnit
:
row
.
extMaterial
?
row
.
extMaterial
.
extUnit
.
unitName
:
''
return
value
}
},
{
title
:
'入库数量'
,
key
:
'reqAmount'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'供应商'
,
key
:
'supplierFullName'
,
align
:
'center'
,
headerAlign
:
'center'
,
formatter
:
(
row
,
column
,
cellValue
,
index
)
=>
{
const
value
=
row
.
extDxSipplier
?
row
.
extDxSipplier
.
supplierFullName
:
row
.
supplier
return
value
}
},
// { title: '是否合格供应商', key: 'extDxSipplier.isValid', headerAlign: 'center' },
{
title
:
'制造商'
,
key
:
'manufacturer'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'到货日期'
,
key
:
'arrivalDate'
,
align
:
'center'
,
headerAlign
:
'center'
,
width
:
'120'
,
formatter
:
(
row
,
column
,
cellValue
,
index
)
=>
{
return
row
.
arrivalDate
.
split
(
' '
)[
0
]
}
},
{
title
:
'生产日期'
,
key
:
'producedTime'
,
align
:
'center'
,
headerAlign
:
'center'
,
width
:
'120'
,
formatter
:
(
row
,
column
,
cellValue
,
index
)
=>
{
return
row
.
arrivalDate
.
split
(
' '
)[
0
]
}
},
{
title
:
'随产品资料'
,
key
:
'withProductMaterial'
,
align
:
'center'
,
headerAlign
:
'center'
,
width
:
'120'
,
formatter
:
(
row
,
column
,
cellValue
,
index
)
=>
{
return
Array
.
isArray
(
row
.
withProductMaterial
)
?
row
.
withProductMaterial
.
join
(
';'
)
:
row
.
withProductMaterial
}
},
{
title
:
'紧急程度'
,
key
:
'urgency'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'入库单价'
,
key
:
'stockUnitPrice'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'入库金额'
,
key
:
'stockPrice'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'含税单价'
,
key
:
'taxUnitPrice'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'含税金额'
,
key
:
'taxPrice'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'税率'
,
key
:
'taxRate'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'报检人'
,
key
:
'applyUserName'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'接受仓库'
,
key
:
'extname'
,
align
:
'center'
,
headerAlign
:
'center'
,
formatter
:
(
row
,
column
,
cellValue
,
index
)
=>
{
const
value
=
row
.
storageZone
?
row
.
storageZone
.
extname
:
row
.
storageZoneName
return
value
}
},
{
title
:
'合同号'
,
key
:
'contractNo'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'备注'
,
key
:
'remark'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'状态'
,
key
:
'state'
,
align
:
'center'
,
headerAlign
:
'center'
},
{
title
:
'创建时间'
,
key
:
'createTime'
,
align
:
'center'
,
headerAlign
:
'center'
,
width
:
'120'
,
formatter
:
(
row
,
column
,
cellValue
,
index
)
=>
{
return
row
.
arrivalDate
.
split
(
' '
)[
0
]
}
}
],
optionsTree
:
{
rowKey
:
'id'
,
'tree-props'
:
{
children
:
'children'
}
},
inventoryJobResponses
:
null
}
},
computed
:
{
},
watch
:
{
'basicData.id'
:
{
immediate
:
true
,
deep
:
true
,
handler
:
function
(
val
)
{
this
.
searchInStorageRequestItem
(
val
)
}
}
},
created
()
{
// 初始化数据
// this.searchInStorageRequestItem(this.basicData.businessObject.id)
},
methods
:
{
// 编辑采购入库明细查询InStorageRequestItem/search
searchInStorageRequestItem
(
id
)
{
const
param
=
{
'rootCondition'
:
{
'pageFrom'
:
1
,
'pageSize'
:
10
,
'searchItems'
:
{
'children'
:
[
{
'items'
:
[
{
'fieldName'
:
'id'
,
'operator'
:
'EQ'
,
'value'
:
1626783143996
},
{
'fieldName'
:
'parentId'
,
'operator'
:
'ISNULL'
}
],
'operator'
:
'AND'
}
],
'items'
:
[]
},
'openProps'
:
[
{
'name'
:
'extMaterial'
,
'openProps'
:
[
{
'name'
:
'resType2'
},
{
'name'
:
'extUnit'
}
]
},
{
'name'
:
'extDxSipplier'
},
{
'name'
:
'storageZone'
},
{
'name'
:
'inventoryReq'
},
{
'name'
:
'inventoryJobResponses'
,
'searchItems'
:
{
'items'
:
[
{
'fieldName'
:
'subTypeName'
,
'operator'
:
'EQ'
,
'value'
:
'JobResponseInEntry'
}
]
},
'openProps'
:
[
{
'name'
:
'extWorkUnit'
}
]
}
],
'sortItem'
:
[
{
'fieldName'
:
'modifyTime'
,
'sortOrder'
:
'desc'
}
]
},
'childCondition'
:
{
'pageFrom'
:
1
,
'pageSize'
:
9999
,
'searchItems'
:
{
'children'
:
[],
'items'
:
[]
},
'openProps'
:
[
{
'name'
:
'extMaterial'
,
'openProps'
:
[
{
'name'
:
'resType2'
},
{
'name'
:
'extUnit'
}
]
},
{
'name'
:
'extDxSipplier'
},
{
'name'
:
'storageZone'
},
{
'name'
:
'inventoryReq'
}
],
'sortItem'
:
[
{
'fieldName'
:
'modifyTime'
,
'sortOrder'
:
'desc'
}
]
}
}
post
(
'InStorageRequestItem/treeSearch'
,
param
).
then
(
res
=>
{
const
data
=
res
.
items
this
.
treeTableNoArrange
(
data
)
this
.
inventoryJobResponses
=
data
[
0
].
inventoryJobResponses
[
0
]
}).
catch
((
err
)
=>
{
console
.
log
(
err
)
})
},
treeTableNoArrange
(
tableData
)
{
tableData
.
forEach
((
item
,
i
)
=>
{
item
.
parentIndex
=
i
+
1
if
(
item
.
children
)
{
item
.
children
.
forEach
((
child
,
j
)
=>
{
child
.
parentIndex
=
item
.
parentIndex
+
'.'
+
(
j
+
1
)
})
}
})
this
.
tableData
=
tableData
}
}
}
</
script
>
<
style
lang=
'scss'
></
style
>
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