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
841daf1d
Commit
841daf1d
authored
Dec 18, 2023
by
jingnan
👀
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
批量签审_ 配套出库确认代码暂存
parent
125cf765
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
685 additions
and
1 deletion
+685
-1
left.vue
...ter/myPlanTask/outStorageMatchConfirm/components/left.vue
+465
-0
right.vue
...er/myPlanTask/outStorageMatchConfirm/components/right.vue
+88
-0
index.vue
...w/task-center/myPlanTask/outStorageMatchConfirm/index.vue
+75
-0
index.vue
...task-center/myPlanTask/proPreparatWorkerConfirm/index.vue
+55
-0
taskList.vue
...er/src/views/workflow/task-center/myPlanTask/taskList.vue
+2
-1
No files found.
applications/dee-task-center/src/views/workflow/task-center/myPlanTask/outStorageMatchConfirm/components/left.vue
0 → 100644
View file @
841daf1d
<
template
>
<div
class=
"matchConfirmLeft"
style=
"padding-right: 15px; height: 100%; overflow: scroll;"
>
<!-- 搜索 -->
<el-form
ref=
"form"
:model=
"form"
size=
"small"
label-width=
"68px"
>
<el-form-item
label=
"架次"
>
<el-input
v-model=
"form.reqNo"
clearable
type=
"input"
placeholder=
"请输入"
/>
</el-form-item>
<el-form-item
label=
"AO号"
>
<el-input
v-model=
"form.reqBill"
clearable
type=
"input"
placeholder=
"请输入"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"submitForm()"
>
查询
</el-button>
<el-button
@
click=
"resetForm()"
>
重置
</el-button>
</el-form-item>
</el-form>
<!-- 分类展示 -->
<el-collapse
v-model=
"collapse.active"
v-loading=
"loading"
accordion
@
change=
"collapseChange"
>
<el-collapse-item
v-for=
"(request, index) in requests"
:key=
"index"
:name=
"(index + 1).toString()"
>
<template
slot=
"title"
>
<section
class=
"collapse-title"
>
|
{{
request
.
name
}}
(
{{
request
.
lists
.
length
}}
)
</section>
</
template
>
<ul
v-if=
"request.lists.length"
>
<!-- 带复选框 -->
<
template
v-for=
"(item, subIndex) in request.lists"
>
<li
v-if=
"item.pbo"
:key=
"item.id"
class=
"blue"
:class=
"
{active: subIndex === active,'active-background':item.activeBackground}"
:style="{ color: item.pbo.hasLostItem?'blue':'red' }"
@click="checkClick(item)"
>
<el-checkbox
v-model=
"item.checked"
style=
"margin-right: 6px;"
@
click
.
native=
"stopDefault($event)"
@
change=
"v => checkboxChange(v, index, subIndex,item)"
/>
<i
class=
"el-icon-document"
/>
{{
item
.
pbo
.
ao
.
sorties
}}
,
{{
item
.
pbo
.
ao
.
serialNumber
||
'暂无'
}}
,
{{
item
.
pbo
&&
item
.
pbo
.
commitName
}}
,
{{
item
.
pbo
&&
item
.
pbo
.
commitTime
.
split
(
' '
)[
0
]
}}
</li>
</
template
>
</ul>
<span
v-else
class=
"empty"
>
暂无数据
</span>
</el-collapse-item>
</el-collapse>
</div>
</template>
<
script
>
export
default
{
name
:
'MatchConfirmLeft'
,
components
:
{
},
data
()
{
return
{
loading
:
false
,
// 搜索表单
form
:
{
reqNo
:
''
,
reqBill
:
''
,
ao
:
''
,
resCode
:
''
,
modelNo
:
''
},
// 手风琴默认高亮
active
:
''
,
// 手风琴组件
collapse
:
{
active
:
[
'1'
]
},
// 申请列表
requests
:
[
{
name
:
'配套出库'
,
lists
:
[
{
'processTask'
:
null
,
'pbo'
:
{
'dxClassname'
:
'com.tf.mes.vo.storage.OutStorageRequestVo'
,
'id'
:
214793230327000
,
'createTime'
:
'2021-10-22 00:47:10'
,
'modifyTime'
:
null
,
'creatorId'
:
null
,
'creator'
:
null
,
'modifierId'
:
null
,
'modifier'
:
null
,
'subTypeName'
:
'RequestOutStorageMatch'
,
'subTypeDisplayName'
:
null
,
'operator'
:
null
,
'contextId'
:
null
,
'dxContextId'
:
null
,
'dxContextIdType'
:
null
,
'dxContext'
:
null
,
'sandboxId'
:
null
,
'lifecycleTemplateId'
:
null
,
'state'
:
'Outside'
,
'sourceInventoryRequestProductUnitLink'
:
null
,
'remark'
:
null
,
'scheduleRequestLinks'
:
null
,
'reqNo'
:
'AO-CAS-CA-31-D2303001-0200'
,
'seqNo'
:
null
,
'billTypeCode'
:
null
,
'billType'
:
null
,
'sourceInventoryRequestUsageLink'
:
null
,
'targetInventoryRequestUsageLink'
:
null
,
'dynamicAttrs'
:
null
,
'needTime'
:
null
,
'reqStatusCode'
:
null
,
'isRejectCode'
:
null
,
'isReject'
:
null
,
'ao'
:
{
'dxClassname'
:
'com.tf.mes.vo.gy.DxProcessPlanVo'
,
'id'
:
null
,
'createTime'
:
null
,
'modifyTime'
:
null
,
'creatorId'
:
null
,
'creator'
:
null
,
'modifierId'
:
null
,
'modifier'
:
null
,
'subTypeName'
:
null
,
'subTypeDisplayName'
:
null
,
'operator'
:
null
,
'contextId'
:
null
,
'dxContextId'
:
null
,
'dxContextIdType'
:
null
,
'dxContext'
:
null
,
'sandboxId'
:
null
,
'lifecycleTemplateId'
:
null
,
'state'
:
null
,
'masterId'
:
null
,
'master'
:
null
,
'versionId'
:
null
,
'version'
:
null
,
'versionKey'
:
null
,
'latest'
:
null
,
'iterationId'
:
null
,
'note'
:
null
,
'predecessorId'
:
null
,
'originId'
:
null
,
'origin'
:
null
,
'predecessor'
:
null
,
'displayVersion'
:
'null.null'
,
'checkOuted'
:
null
,
'lockerId'
:
null
,
'locker'
:
null
,
'lockNote'
:
null
,
'lockDate'
:
null
,
'sourceDxProcessUsageLink'
:
null
,
'targetDxProcessUsageLink'
:
null
,
'description'
:
null
,
'longDescription'
:
null
,
'views'
:
null
,
'objFileLinks'
:
null
,
'dxProcessExecutorRoutes'
:
null
,
'dxProcessExecutorRoutes1'
:
null
,
'dxProcessExecutorRoutes2'
:
null
,
'sourceDxProcessPartLink'
:
null
,
'serialNumber'
:
'AO-CAS-CA-31-D2303001-0200'
,
'dynamicAttrs'
:
null
,
'targetDxPartProcessPlanLink'
:
null
,
'gaceVersion'
:
null
,
'versionChangeDesc'
:
null
,
'keyOperation'
:
null
,
'firstCheckFlag'
:
null
,
'workHour'
:
null
,
'carryCount'
:
null
,
'undoneCount'
:
null
,
'completeCount'
:
null
,
'fitRatesCount'
:
null
,
'notFitRatesCount'
:
null
,
'fitRates'
:
null
,
'countWorkHour'
:
null
,
'planeType'
:
null
,
'sorties'
:
'1003'
,
'serialNo'
:
null
,
'stateDisplayName'
:
null
,
'materName'
:
null
,
'materNo'
:
null
,
'executorVoList'
:
null
,
'dxProcessOperationVos'
:
null
,
'parenId'
:
null
,
'dxProcessPlanVos'
:
null
,
'wrProductionVo'
:
null
,
'sandboxPlanWrVo'
:
null
,
'joExecutePlanVo'
:
null
,
'sandboxPlanExecPlanVo'
:
null
,
'workDescription'
:
null
,
'businessNo'
:
null
,
'needTime'
:
null
,
'prepareDescription'
:
null
,
'itemFitRates'
:
0
,
'itemState'
:
0
,
'changeBasis'
:
null
,
'dictSeq'
:
null
,
'isRenew'
:
null
,
'dxProcessPlanChanges'
:
null
,
'ppId'
:
null
,
'problemStatus'
:
null
,
'receiveTime'
:
null
,
'jdName'
:
null
,
'shName'
:
null
,
'zsName'
:
null
,
'pzName'
:
null
,
'scheduledEnd'
:
null
,
'scheduledStart'
:
null
,
'requestVo'
:
null
,
'progress'
:
null
,
'startCount'
:
null
,
'zuofei'
:
null
,
'isRunning'
:
null
,
'number'
:
null
,
'name'
:
null
,
'dxViewId'
:
null
},
'reqBill'
:
null
,
'aoNumber'
:
null
,
'reqDept'
:
null
,
'reqStatus'
:
null
,
'aoId'
:
null
,
'aoIdType'
:
null
,
'reqDeptId'
:
null
,
'reqDeptIdType'
:
null
,
'aircraftType'
:
null
,
'receiveUser'
:
null
,
'phone'
:
null
,
'deliveryTime'
:
null
,
'gaceVer'
:
null
,
'receiveAddress'
:
null
,
'stateDisplayName'
:
null
,
'orProduction'
:
null
,
'orProductionId'
:
null
,
'orProductionIdType'
:
null
,
'dxProductArea'
:
null
,
'dxProductAreaId'
:
null
,
'dxProductAreaIdType'
:
null
,
'keyID'
:
null
,
'dxProductWorkCenter'
:
null
,
'materialType'
:
null
,
'materialTypeId'
:
null
,
'materialTypeIdType'
:
null
,
'dxProductWorkCenterId'
:
null
,
'dxProductWorkCenterIdType'
:
null
,
'scheduledStart'
:
null
,
'scheduledEnd'
:
null
,
'dxProcessPlanPositionId'
:
null
,
'fitRates'
:
null
,
'withdrawal'
:
null
,
'hasItem'
:
null
,
'hasLostItem'
:
true
,
'outFitRates'
:
null
,
'componentsFitRates'
:
null
,
'standardComponentFitRates'
:
null
,
'isOk'
:
null
,
'commitName'
:
'齐鑫思'
,
'commitTime'
:
'2021-12-25 12:05:21'
,
'taskId'
:
'e0ddc711-6537-11ec-9f21-0cda411d949c'
,
'note'
:
null
,
'isOpen'
:
null
,
'typeName'
:
null
,
'objFileLinks'
:
null
}
}]
}
]
}
},
mounted
()
{
// this.init()
},
methods
:
{
// 加载左侧申请表
init
()
{
this
.
loading
=
true
Promise
.
all
([
// 配套出库
this
.
match
()
]).
then
(
result
=>
{
const
[
match
]
=
result
this
.
requests
.
find
(
item
=>
item
.
name
===
'配套出库'
).
lists
=
match
}).
catch
(
error
=>
error
).
finally
(()
=>
{
this
.
loading
=
false
})
},
// 配套出库
match
()
{
const
params
=
{
'searchQueryCondition'
:
{
'indices'
:
[
'RequestOutStorageMatch'
],
'pageFrom'
:
1
,
'pageSize'
:
999
,
'searchItems'
:
{
'items'
:
[
{
'fieldName'
:
'state'
,
'operator'
:
'EQ'
,
'value'
:
'Outside'
},
{
'fieldName'
:
'subTypeName'
,
'operator'
:
'EQ'
,
'value'
:
'RequestOutStorageMatch'
}
],
'operator'
:
'AND'
},
'openProps'
:
[
{
'pageFrom'
:
1
,
'pageSize'
:
1
,
'name'
:
'ao'
,
'openProps'
:
[
{
'pageFrom'
:
1
,
'pageSize'
:
1
,
'name'
:
'master'
,
'searchItems'
:
{
'items'
:
[
{
'fieldName'
:
'number'
,
'operator'
:
'LIKE'
,
'value'
:
this
.
form
.
ao
},
{
'fieldName'
:
'sorties'
,
'operator'
:
'LIKE'
,
'value'
:
this
.
form
.
sorties
}
],
'operator'
:
'OR'
},
'parentFilter'
:
true
}
],
'parentFilter'
:
true
}
],
'sortItem'
:
[
{
'fieldName'
:
'modifyTime'
,
'sortOrder'
:
'desc'
}
]
},
'taskSearchVO'
:
{
'assignee'
:
localStorage
.
getItem
(
'userId'
)
}
}
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
HttpRequest
(
'/DxWorkflowTask/outStorageTaskList/match/confirm'
,
params
,
'post'
).
then
(
res
=>
{
resolve
(
res
.
items
.
content
.
map
(
item
=>
{
return
{
...
item
,
checked
:
false
}
}))
}).
catch
(
err
=>
console
.
log
(
err
)).
finally
(()
=>
{})
})
},
// 提交表单
submitForm
()
{
this
.
init
()
},
// 重置表单
resetForm
()
{
this
.
form
=
{
reqNo
:
''
,
reqBill
:
''
,
ao
:
''
}
this
.
init
()
},
// 手风琴切换
collapseChange
(
active
)
{
// 三期出库
active
===
'4'
&&
this
.
$emit
(
'type2:init'
,
'RequestOutStorageExpire'
)
// 召回出库
active
===
'5'
&&
this
.
$emit
(
'type2:init'
,
'RequestOutStorageRecall'
)
},
// 切换复选框
checkboxChange
(
v
,
index
,
subIndex
,
item
)
{
this
.
$set
(
item
,
'activeBackground'
,
v
)
this
.
requests
[
index
].
lists
[
subIndex
].
checked
=
v
const
checkList
=
this
.
requests
.
find
(
item
=>
item
.
name
===
'配套出库'
).
lists
.
filter
(
item
=>
item
.
checked
)
this
.
$emit
(
'checkbox:change'
,
checkList
)
},
checkClick
(
item
)
{
this
.
$set
(
item
,
'activeBackground'
,
true
)
item
.
checked
=
!
item
.
checked
const
checkList
=
this
.
requests
.
find
(
item
=>
item
.
name
===
'配套出库'
).
lists
.
filter
(
item
=>
item
.
checked
)
this
.
$emit
(
'checkbox:change'
,
checkList
)
},
// 阻止事件冒泡
stopDefault
(
e
)
{
e
.
stopPropagation
()
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
ul
{
margin
:
-10px
0
;
padding
:
5px
0
0
0
;
li
{
margin-top
:
5px
;
padding
:
0
5px
0
8px
;
height
:
25px
;
line-height
:
25px
;
list-style
:
none
;
cursor
:
pointer
;
font-size
:
14px
;
color
:
#606266
;
opacity
:
.85
;
white-space
:
nowrap
;
&
.black
{
color
:
black
;
}
&
.active-background
{
background-color
:
#67C23A
;}
&
.blue
{
color
:
blue
;
}
&
.red
{
color
:
red
;
}
i
{
font-size
:
14px
;
}
&
:hover
,
&
.active
{
opacity
:
1
;
font-weight
:
500
;
background-color
:
#edf0f5
;
}
}
}
.empty
{
margin-left
:
10px
;
color
:
#666
;
}
.el-date-editor
{
width
:
100%
;
}
.collapse-title
{
font-size
:
14px
;
color
:
#666
;
}
.is-active
.collapse-title
{
font-size
:
15px
;
font-weight
:
600
;
color
:
#222
;
}
</
style
>
applications/dee-task-center/src/views/workflow/task-center/myPlanTask/outStorageMatchConfirm/components/right.vue
0 → 100644
View file @
841daf1d
<
template
>
<div
class=
"matchConfirmRight"
>
<dee-as-com
ref=
"outStorageMatch"
table-height=
"auto"
:lay-config=
"
{ typeName: 'OutStorageMatch', layKey: 'batchSign_OutStorageMatch'}"
@selectionChange="selectionChange"
/>
<dee-as-com
ref=
"outStorageMatchItem"
:lay-config=
"
{ typeName: 'OutStorageMatchItem', layKey: 'batchSign_OutStorageMatchItem'}"
table-height="auto"
@selectionChange="selectionChange_item"
/>
<dee-as-com
ref=
"jobResponseOutStorageMatch"
table-height=
"auto"
:lay-config=
"
{ typeName: 'JobResponseOutStorageMatch', layKey: 'batchSign_JobResOutStorageMatch'}"
@selectionChange="selectionChange_jobRes"
/>
</div>
</
template
>
<
script
>
export
default
{
name
:
'MatchConfirmRight'
,
components
:
{},
props
:
{
selectData
:
{
type
:
Object
,
default
:
()
=>
{}
}
},
data
()
{
return
{
selectionRows
:
[],
selectionItemRows
:
[],
selectionJobResRows
:
[]
}
},
computed
:
{},
watch
:
{},
created
()
{},
mounted
()
{
},
// 组件方法
methods
:
{
selectionChange
(
val
)
{
this
.
selectionRows
=
val
},
selectionChange_item
(
val
)
{
this
.
selectionItemRows
=
val
},
selectionChange_jobRes
(
val
)
{
this
.
selectionJobResRows
=
val
},
init
()
{
this
.
$refs
.
outStorageMatch
.
$refs
.
asCom
.
getData
()
}
}
}
</
script
>
<
style
lang=
'scss'
>
.matchConfirmRight
{
overflow
:
auto
;
width
:
100%
;
height
:
100%
;
box-sizing
:
border-box
;
padding-left
:
8px
;
.sub-title
{
padding-top
:
0px
!
important
;
}
.dee-table
{
.dee-tools
{
margin
:
2px
0
!
important
;
}
.dee-table-config-bar
{
margin
:
2px
0
!
important
;
}
.dee-table-pagination
{
margin-top
:
12px
!
important
;
}
}
}
</
style
>
applications/dee-task-center/src/views/workflow/task-center/myPlanTask/outStorageMatchConfirm/index.vue
0 → 100644
View file @
841daf1d
<!--
* @Author: gjn
* @Date: 2023-12-18 16:34:39
* @Description:批量签审_ 配套出库确认
-->
<
template
>
<div
class=
"outStorageMatchConfirm"
>
<dee-fold-pane
:min-percent=
"18"
:default-percent=
"18"
split=
"vertical"
class=
"detail-pane"
>
<template
slot=
"paneL"
>
<Left
ref=
"left"
@
checkbox:change=
"checkboxChange"
/>
</
template
>
<
template
slot=
"paneR"
>
<Right
v-show=
"subTypeName === '1'"
ref=
"right"
@
left:init=
"() => this.$refs.left.init()"
/>
<!-- empty -->
<section
v-if=
"!subTypeName"
style=
"padding-left: 15px;"
>
请先选择左侧请求单
</section>
</
template
>
</dee-fold-pane>
</div>
</template>
<
script
>
import
Left
from
'./components/left.vue'
import
Right
from
'./components/right.vue'
export
default
{
name
:
'OutStorageMatchConfirm'
,
components
:
{
Left
,
Right
},
props
:
{
selectData
:
{
type
:
Object
,
default
:
()
=>
{}
}
},
data
()
{
return
{
subTypeName
:
''
}
},
computed
:
{},
watch
:
{},
created
()
{},
mounted
()
{
},
// 组件方法
methods
:
{
checkboxChange
(
checkList
)
{
this
.
subTypeName
=
'1'
this
.
$refs
.
right
.
init
(
checkList
)
}
}
}
</
script
>
<
style
lang=
'scss'
>
.outStorageMatchConfirm
{
width
:
100%
;
height
:
100%
;
box-sizing
:
border-box
;
padding
:
0
4px
;
}
</
style
>
applications/dee-task-center/src/views/workflow/task-center/myPlanTask/proPreparatWorkerConfirm/index.vue
0 → 100644
View file @
841daf1d
<!--
* @Author: gjn
* @Date: 2023-12-18 16:34:39
* @Description:批量签审_ 生产准备工确认
-->
<
template
>
<div
class=
"proPreparatWorkerConfirm"
>
<dee-as-com
ref=
"applyTable"
class=
"list-table"
:basic-data=
"
{ selectData,selectionRows }"
:lay-config="{ typeName: 'ProdTask', layKey: 'batchSign_workerConfirm'}"
@selectionChange="selectionChange"
/>
</div>
</
template
>
<
script
>
export
default
{
name
:
'ProPreparatWorkerConfirm'
,
components
:
{},
props
:
{
selectData
:
{
type
:
Object
,
default
:
()
=>
{}
}
},
data
()
{
return
{
selectionRows
:
[]
}
},
computed
:
{},
watch
:
{},
created
()
{},
mounted
()
{
},
// 组件方法
methods
:
{
selectionChange
(
val
)
{
this
.
selectionRows
=
val
}
}
}
</
script
>
<
style
lang=
'scss'
>
.proPreparatWorkerConfirm
{
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 @
841daf1d
...
...
@@ -32,7 +32,8 @@ export default {
WorkHourConfirm
:
()
=>
import
(
'./workHourConfirm'
),
// 工时确认
StationMasteConfirm
:
()
=>
import
(
'./stationMasteConfirm'
),
// 站位长确认
PlannerConfirm
:
()
=>
import
(
'./plannerConfirm'
),
// 计划员确认
WorkHourExamine
:
()
=>
import
(
'./workHourExamine'
)
// 工时审核
OutStorageMatchConfirm
:
()
=>
import
(
'./outStorageMatchConfirm'
),
// 配套出库确认
ProPreparateWorkerConfirm
:
()
=>
import
(
'./proPreparatWorkerConfirm'
)
// 生产准备工确认
},
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