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
81faf490
Commit
81faf490
authored
Mar 26, 2024
by
qhr
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
退库单相应组件
parent
b59a723f
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
590 additions
and
2 deletions
+590
-2
AddTkdInStorageBackItemDialog.vue
...rageBackItem/components/AddTkdInStorageBackItemDialog.vue
+143
-0
index.vue
...teComponents/components/AddTkdInStorageBackItem/index.vue
+206
-0
index.vue
...ow/task-center/myPlanTask/InStorageTkdBackApply/index.vue
+47
-0
index.vue
.../task-center/myPlanTask/InStorageTkdBackConfirm/index.vue
+47
-0
index.vue
...nter/myPlanTask/InStorageTkdBackCraftsmenExamin/index.vue
+47
-0
index.vue
...enter/myPlanTask/InStorageTkdBackDesignerExamin/index.vue
+47
-0
index.vue
...w/task-center/myPlanTask/InStorageTkdBackInTest/index.vue
+47
-0
taskList.vue
...er/src/views/workflow/task-center/myPlanTask/taskList.vue
+6
-2
No files found.
applications/dee-mes/src/privateComponents/components/AddTkdInStorageBackItem/components/AddTkdInStorageBackItemDialog.vue
0 → 100644
View file @
81faf490
<
template
>
<div
class=
"addTkdInStorageBackItemDialog"
>
<dee-as-com
v-if=
"subTypeName==='InStorageMatchBack'"
ref=
"topTable"
:lay-config=
"
{ typeName: 'OutStorageMatchItem', layKey: 'addInStorageBackMatchItem_top' }"
:basic-data="basicData"
table-height="400px"
@row-click="handleRowClickTop"
/>
<dee-as-com
ref=
"bottomTable"
:table-height=
"subTypeName==='InStorageMatchBack'?'300px':'500px'"
:lay-config=
"cmpOptions"
:basic-data=
"basicData"
@
row-click=
"handleRowClickBottom"
/>
<el-form
ref=
"applyForm"
:rules=
"rules"
:model=
"applyForm"
class=
"applyForm"
>
<el-form-item
:label=
"amountItemLabel"
prop=
"reqAmount"
label-width=
"100px"
>
<el-input-number
v-model=
"applyForm.reqAmount"
:placeholder=
"amountItemLabel"
:min=
"0"
size=
"small"
/>
</el-form-item>
<el-form-item
class=
"foot-btn-box"
>
<el-button
type=
"primary"
@
click=
"submitEvent(true)"
>
添加
</el-button>
<el-button
type=
"primary"
@
click=
"submitEvent(false)"
>
确认
</el-button>
<el-button
@
click=
"cancelEvent"
>
取消
</el-button>
</el-form-item>
</el-form>
</div>
</
template
>
<
script
>
export
default
{
// componentName: '退库入库添加明细',
name
:
'AddTkdInStorageBackItemDialog'
,
components
:
{},
props
:
{
basicData
:
{
type
:
Object
,
default
:
()
=>
{}
},
selectDatas
:
{
type
:
Array
,
default
:
()
=>
[]
}
},
data
()
{
return
{
selection
:
null
,
defaultData
:
{},
applyForm
:
{},
amountItemLabel
:
'退库数量'
,
rules
:
{
reqAmount
:
[
{
required
:
true
,
message
:
'该项必填'
,
trigger
:
'blur'
}
]
},
cmpOptions
:
{
typeName
:
'JobResponseOutStorageMatch'
,
layKey
:
'83978022-409f-463d-ad67-dc0c49e9eb77'
}
}
},
computed
:
{},
// watch: {
// 'subTypeName': {
// immediate: true,
// handler(val) {
// if (val === 'InStorageMatchBack') {
// this.$set(this.cmpOptions, 'layKey', 'add_InStorageBackMatchItem_bottom')
// } else if (val === 'InStorageOutBack' || val === 'InStorageUseBack') {
// this.$set(this.cmpOptions, 'layKey', 'add_InStorageBackItem_Use&Out')
// } else if (val === 'InStorageTestFlyBack') {
// this.$set(this.cmpOptions, 'layKey', 'add_InStorageBackItem_testFlight')
// } else {
// this.$set(this.cmpOptions, 'layKey', '')
// }
// }
// }
// },
created
()
{
},
methods
:
{
handleRowClickTop
({
row
})
{
if
(
row
.
id
)
{
this
.
$refs
.
bottomTable
.
$refs
.
asCom
.
getData
(
row
.
id
)
}
},
handleRowClickBottom
(
val
)
{
this
.
selection
=
val
.
row
},
submitEvent
(
addContinue
)
{
this
.
$refs
[
'applyForm'
].
validate
((
valid
)
=>
{
if
(
valid
&&
this
.
selection
)
{
const
maxAmount
=
this
.
$utils
.
subNum
(
this
.
selection
.
outsideAmount
,
-
this
.
selection
.
backedAmount
,
-
this
.
selection
.
backAmount
,
-
this
.
selection
.
scrapCount
)
if
(
this
.
applyForm
.
reqAmount
>
maxAmount
)
return
this
.
$utils
.
showMessageWarning
(
`当前选中物料的退库数量不足!`
)
const
inventoryData
=
this
.
selection
.
inventory
const
data
=
[{
'subTypeName'
:
`InStorageTkdBackItem`
,
'extMaterial'
:
inventoryData
.
extMaterial
,
'extMaterialId'
:
inventoryData
.
extMaterialId
,
'testNo'
:
inventoryData
.
testNo
,
'suppname'
:
inventoryData
.
suppname
,
'serialNo'
:
inventoryData
.
serno
,
'outStorageId'
:
this
.
selection
.
id
,
'outStorageIdType'
:
this
.
selection
.
subTypeName
,
'backAmount'
:
this
.
selection
.
backAmount
||
0
,
'backedAmount'
:
this
.
selection
.
backedAmount
||
0
,
'scrapCount'
:
this
.
selection
.
scrapCount
||
0
,
'outsideAmount'
:
this
.
selection
.
outsideAmount
||
0
,
'reqAmount'
:
this
.
applyForm
.
reqAmount
,
'reqNo'
:
this
.
selection
.
jobOrder
&&
this
.
selection
.
jobOrder
.
outStorageRequest
&&
this
.
selection
.
jobOrder
.
outStorageRequest
.
reqNo
||
''
}]
this
.
$emit
(
'submitEvent'
,
{
formData
:
data
,
addContinue
})
addContinue
&&
this
.
cleanAddForm
()
}
else
{
this
.
$utils
.
showMessageWarning
(
`至少选择一条物料并且
${
this
.
amountItemLabel
}
必填!`
)
return
false
}
})
},
cleanAddForm
()
{
this
.
$refs
.
bottomTable
.
$refs
.
asCom
.
getData
()
this
.
applyForm
=
{}
},
cancelEvent
()
{
this
.
$emit
(
'cancel'
)
}
}
}
</
script
>
<
style
lang=
'scss'
>
.addTkdInStorageBackItemDialog
{
.applyForm
{
margin-top
:
30px
;
.el-input-number
{
width
:
180px
;
}
}
.foot-btn-box
{
display
:
flex
;
margin-top
:
10px
;
justify-content
:
center
;
align-content
:
center
;
}
}
</
style
>
applications/dee-mes/src/privateComponents/components/AddTkdInStorageBackItem/index.vue
0 → 100644
View file @
81faf490
<!--
* @Author: gjn
* @Date: 2023-09-09 153:07:44
* @Description:退库入库申请明细
-->
<
template
>
<div
:style=
"layoutStyle"
class=
"addTkdInStorageBackItem"
>
<dee-as-com
ref=
"table"
:im-show-table-data=
"imShowTableData"
:basic-data=
"
{...form,...basicData}"
:lay-config="cmpOptions"
table-height="auto"
:dis-business="true"
:result-data="tableData"
@tableToolHandler="tableToolHandler"
@selectionChange="selectionChange"
/>
<dee-dialog
:title=
"dialogTitle"
width=
"84%"
:dialog-visible=
"dialogShow"
@
handleClose=
"dialogShow = false"
>
<component
:is=
"componentName"
:basic-data=
"
{...form,...basicData}"
:select-datas="selectionRows"
:form="form"
@submitEvent="submitEvent"
@cancel="dialogShow = false"
/>
</dee-dialog>
</div>
</
template
>
<
script
>
import
AddTkdInStorageBackItemDialog
from
'./components/AddTkdInStorageBackItemDialog'
import
{
post
}
from
'@/utils/http'
export
default
{
componentName
:
'退库单退库入库添加明细'
,
name
:
'AddTkdInStorageBackItem'
,
components
:
{
AddTkdInStorageBackItemDialog
},
props
:
{
basicData
:
{
type
:
Object
,
default
:
()
=>
{}
},
form
:
{
type
:
Object
,
default
:
()
=>
{
return
{}
}
},
imShowTableData
:
{
type
:
Array
,
default
:
()
=>
{
return
[]
}
},
layoutStyle
:
{
type
:
Object
,
default
:
()
=>
{
return
{}
}
},
showBtn
:
{
type
:
Boolean
,
default
:
true
}
},
data
()
{
return
{
dialogShow
:
false
,
selectionRows
:
[],
tableData
:
[],
dialogTitle
:
''
,
componentName
:
''
,
cmpOptions
:
{
typeName
:
'InStorageBackItem'
,
layKey
:
'InStorageMatchBack_details'
}
}
},
computed
:
{
},
watch
:
{
tableData
:
{
immediate
:
true
,
deep
:
true
,
handler
(
data
)
{
this
.
$emit
(
'input'
,
data
)
}
},
'form.billType'
:
{
immediate
:
true
,
deep
:
true
,
handler
(
val
)
{
if
(
val
&&
!
this
.
basicData
.
id
)
{
this
.
tableData
=
[]
}
}
},
basicData
:
{
immediate
:
true
,
deep
:
true
,
handler
(
val
)
{
if
(
val
&&
val
.
id
)
{
if
(
this
.
basicData
.
inStorageRequestItems
)
{
this
.
tableData
=
this
.
basicData
.
inStorageRequestItems
.
map
(
item
=>
{
if
(
item
.
outStorage
)
{
item
.
backAmount
=
item
.
outStorage
.
backAmount
item
.
backedAmount
=
item
.
outStorage
.
backedAmount
item
.
outsideAmount
=
item
.
outStorage
.
outsideAmount
item
.
scrapCount
=
item
.
outStorage
.
scrapCount
if
(
item
.
outStorage
.
inventory
)
{
item
.
testNo
=
item
.
outStorage
.
inventory
.
testNo
item
.
suppname
=
item
.
outStorage
.
inventory
.
suppname
}
if
(
item
.
outStorage
.
jobOrder
&&
item
.
outStorage
.
jobOrder
.
outStorageRequest
)
{
item
.
reqNo
=
item
.
outStorage
.
jobOrder
.
outStorageRequest
.
reqNo
||
''
}
}
return
item
})
}
}
}
}
},
created
()
{
},
provide
()
{
return
{
parentType_Inject
:
'退库入库'
}
},
methods
:
{
tableToolHandler
(
val
)
{
const
btnValue
=
val
.
key
.
btnValue
switch
(
btnValue
)
{
case
'add'
:
this
.
addHandle
()
break
case
'remove'
:
this
.
remove
()
break
default
:
break
}
},
selectionChange
(
val
)
{
this
.
selectionRows
=
val
},
addHandle
()
{
this
.
$utils
.
findForm
(
this
).
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
openDialog
(
'添加退库明细'
,
'AddTkdInStorageBackItemDialog'
)
}
else
{
this
.
$utils
.
showMessageWarning
(
'请填写基本信息!'
)
}
})
},
openDialog
(
dialogTitle
,
componentName
)
{
this
.
dialogTitle
=
dialogTitle
this
.
componentName
=
componentName
this
.
dialogShow
=
true
},
remove
()
{
this
.
$confirm
(
'此操作将永久删除该文件, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
post
(
`/InStorageRequestItem/inStorageBackItem/delete?itemIds=
${
this
.
selectionRows
.
map
(
item
=>
item
.
id
).
join
(
','
)}
`
).
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'删除成功!'
})
this
.
tableData
=
this
.
tableData
.
filter
(
item
=>
!
this
.
selectionRows
.
map
(
item
=>
item
.
outStorageId
).
includes
(
item
.
outStorageId
))
}).
catch
((
err
)
=>
{
console
.
log
(
err
)
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消删除'
})
})
},
submitEvent
({
formData
,
addContinue
})
{
const
onlyFlag
=
this
.
tableData
.
find
(
item
=>
item
.
reqNo
!==
formData
[
0
].
reqNo
)
if
(
onlyFlag
)
return
this
.
$utils
.
showMessageWarning
(
'只能添加同一单据下的数据,请重新选择!'
)
const
extMaterialIds
=
this
.
tableData
.
map
(
item
=>
item
.
outStorageId
).
includes
(
formData
[
0
].
outStorageId
)
if
(
extMaterialIds
)
return
this
.
$utils
.
showMessageWarning
(
'相同数据不能重复添加,请重新选择!'
)
this
.
tableData
.
push
(...
formData
)
this
.
dialogShow
=
addContinue
||
false
}
}
}
</
script
>
<
style
>
</
style
>
applications/dee-task-center/src/views/workflow/task-center/myPlanTask/InStorageTkdBackApply/index.vue
0 → 100644
View file @
81faf490
<!--
* @Author: gjn
* @Date: 2023-11-02 09:29:39
* @Description:配套退库入库申请
-->
<
template
>
<div
class=
"inStorageTkdBackApply"
>
<dee-as-com
ref=
"applyTable"
class=
"list-table"
:basic-data=
"
{ selectData: selectData }"
:lay-config="{ typeName: 'InStorageBackItem', layKey: 'batchSign_InStorageMatchBackApply'}"
/>
</div>
</
template
>
<
script
>
export
default
{
name
:
'inStorageTkdBackApply'
,
components
:
{},
props
:
{
selectData
:
{
type
:
Object
,
default
:
()
=>
{}
}
},
data
()
{
return
{}
},
computed
:
{},
watch
:
{},
created
()
{},
mounted
()
{},
// 组件方法
methods
:
{}
}
</
script
>
<
style
lang=
'scss'
>
.inStorageMatchBackApply
{
width
:
100%
;
height
:
100%
;
box-sizing
:
border-box
;
padding
:
0
4px
;
}
</
style
>
applications/dee-task-center/src/views/workflow/task-center/myPlanTask/InStorageTkdBackConfirm/index.vue
0 → 100644
View file @
81faf490
<!--
* @Author: gjn
* @Date: 2023-11-02 09:29:39
* @Description:配套退库入库申请
-->
<
template
>
<div
class=
"InStorageTkdBackConfirm"
>
<dee-as-com
ref=
"applyTable"
class=
"list-table"
:basic-data=
"
{ selectData: selectData }"
:lay-config="{ typeName: 'InStorageBackItem', layKey: 'batchSign_InStorageMatchBackConfirm'}"
/>
</div>
</
template
>
<
script
>
export
default
{
name
:
'InStorageTkdBackConfirm'
,
components
:
{},
props
:
{
selectData
:
{
type
:
Object
,
default
:
()
=>
{}
}
},
data
()
{
return
{}
},
computed
:
{},
watch
:
{},
created
()
{},
mounted
()
{},
// 组件方法
methods
:
{}
}
</
script
>
<
style
lang=
'scss'
>
.inStorageMatchBackApply
{
width
:
100%
;
height
:
100%
;
box-sizing
:
border-box
;
padding
:
0
4px
;
}
</
style
>
applications/dee-task-center/src/views/workflow/task-center/myPlanTask/InStorageTkdBackCraftsmenExamin/index.vue
0 → 100644
View file @
81faf490
<!--
* @Author: gjn
* @Date: 2023-11-02 09:29:39
* @Description:配套退库入库申请
-->
<
template
>
<div
class=
"InStorageTkdBackCraftsmenExamin"
>
<dee-as-com
ref=
"applyTable"
class=
"list-table"
:basic-data=
"
{ selectData: selectData }"
:lay-config="{ typeName: 'InStorageBackItem', layKey: 'e6e40243-8be1-4d38-a978-ed1ce3a6ceda'}"
/>
</div>
</
template
>
<
script
>
export
default
{
name
:
'InStorageTkdBackCraftsmenExamin'
,
components
:
{},
props
:
{
selectData
:
{
type
:
Object
,
default
:
()
=>
{}
}
},
data
()
{
return
{}
},
computed
:
{},
watch
:
{},
created
()
{},
mounted
()
{},
// 组件方法
methods
:
{}
}
</
script
>
<
style
lang=
'scss'
>
.inStorageMatchBackApply
{
width
:
100%
;
height
:
100%
;
box-sizing
:
border-box
;
padding
:
0
4px
;
}
</
style
>
applications/dee-task-center/src/views/workflow/task-center/myPlanTask/InStorageTkdBackDesignerExamin/index.vue
0 → 100644
View file @
81faf490
<!--
* @Author: gjn
* @Date: 2023-11-02 09:29:39
* @Description:配套退库入库申请
-->
<
template
>
<div
class=
"InStorageTkdBackDesignerExamin"
>
<dee-as-com
ref=
"applyTable"
class=
"list-table"
:basic-data=
"
{ selectData: selectData }"
:lay-config="{ typeName: 'InStorageBackItem', layKey: '8ef52f63-266c-4d66-9ee7-a6be91d9d610'}"
/>
</div>
</
template
>
<
script
>
export
default
{
name
:
'InStorageTkdBackDesignerExamin'
,
components
:
{},
props
:
{
selectData
:
{
type
:
Object
,
default
:
()
=>
{}
}
},
data
()
{
return
{}
},
computed
:
{},
watch
:
{},
created
()
{},
mounted
()
{},
// 组件方法
methods
:
{}
}
</
script
>
<
style
lang=
'scss'
>
.inStorageMatchBackApply
{
width
:
100%
;
height
:
100%
;
box-sizing
:
border-box
;
padding
:
0
4px
;
}
</
style
>
applications/dee-task-center/src/views/workflow/task-center/myPlanTask/InStorageTkdBackInTest/index.vue
0 → 100644
View file @
81faf490
<!--
* @Author: gjn
* @Date: 2023-11-02 09:29:39
* @Description:配套退库入库申请
-->
<
template
>
<div
class=
"InStorageTkdBackInTest"
>
<dee-as-com
ref=
"applyTable"
class=
"list-table"
:basic-data=
"
{ selectData: selectData }"
:lay-config="{ typeName: 'InStorageBackItem', layKey: 'batchSign_InStorageMatchBackInTest'}"
/>
</div>
</
template
>
<
script
>
export
default
{
name
:
'InStorageTkdBackInTest'
,
components
:
{},
props
:
{
selectData
:
{
type
:
Object
,
default
:
()
=>
{}
}
},
data
()
{
return
{}
},
computed
:
{},
watch
:
{},
created
()
{},
mounted
()
{},
// 组件方法
methods
:
{}
}
</
script
>
<
style
lang=
'scss'
>
.inStorageMatchBackApply
{
width
:
100%
;
height
:
100%
;
box-sizing
:
border-box
;
padding
:
0
4px
;
}
</
style
>
applications/dee-task-center/src/views/workflow/task-center/myPlanTask/taskList.vue
View file @
81faf490
...
...
@@ -44,8 +44,12 @@ export default {
InstructionIdentificationBatch
:
()
=>
import
(
'./instructionIdentificationBatch'
),
// 指令标识
InstructionIdentificationBatchInfo
:
()
=>
import
(
'./instructionIdentificationBatch'
),
// 指令标识不编辑
ReturnToFactoryBatch
:
()
=>
import
(
'./returnToFactoryBatch'
),
// 返厂处理
InStorageMoveExamine
:
()
=>
import
(
'./inStorageMoveExamine'
)
// 移库入库库房审核
InStorageMoveExamine
:
()
=>
import
(
'./inStorageMoveExamine'
),
// 移库入库库房审核
InStorageTkdBackApply
:
()
=>
import
(
'./InStorageTkdBackApply'
),
//退库单退库申请
InStorageTkdBackCraftsmenExamin
:
()
=>
import
(
'./InStorageTkdBackCraftsmenExamin'
),
// 退库单退库工艺审核
InStorageTkdBackDesignerExamin
:
()
=>
import
(
'./InStorageTkdBackDesignerExamin'
),
// 退库单退库设计审核
InStorageTkdBackInTest
:
()
=>
import
(
'./InStorageTkdBackInTest'
),
// 退库单退库检验
InStorageTkdBackConfirm
:
()
=>
import
(
'./InStorageTkdBackConfirm'
)
// 退库单退库确认
},
props
:
{
selectData
:
{
...
...
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