Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mes-ui
Project
Project
Details
Activity
Releases
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
周远喜
mes-ui
Commits
cded697f
Commit
cded697f
authored
May 15, 2020
by
仇晓婷
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'product' of
http://git.mes123.com/zhouyx/mes-ui
into ting-p
parents
589d5870
e3f1c251
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
1154 additions
and
534 deletions
+1154
-534
base.less
assets/css/base.less
+1
-0
orderSend.vue
components/orderOperator/orderSend.vue
+3
-0
dataGrid.vue
components/page/dataGrid.vue
+28
-18
departmentSelect.vue
components/page/departmentSelect.vue
+1
-1
dictionary.vue
components/page/dictionary.vue
+17
-0
filed.vue
components/page/filed.vue
+9
-7
files.vue
components/page/files.vue
+2
-1
inputFile.vue
components/page/inputFile.vue
+48
-38
outputTime.vue
components/page/outputTime.vue
+80
-0
workShop.vue
components/page/workShop.vue
+1
-0
zh-CN.js
i18n/locale/zh-CN.js
+2
-2
api.js
pages/aps/results/api.js
+3
-0
compare.vue
pages/aps/results/compare.vue
+44
-33
index.vue
pages/aps/results/index.vue
+18
-46
results.less
pages/aps/results/results.less
+2
-2
api.js
pages/order/monitoring/api.js
+3
-0
index.vue
pages/order/monitoring/index.vue
+141
-26
record.vue
pages/order/monitoring/record.vue
+20
-17
speed.vue
pages/order/monitoring/speed.vue
+1
-0
index.vue
pages/produce/execute/MaterialCollec/index.vue
+1
-39
index.vue
pages/produce/execute/ProcessCase/index.vue
+239
-53
index.vue
pages/produce/execute/ProcessCheck/index.vue
+4
-44
execute.less
pages/produce/execute/execute.less
+122
-2
index.vue
pages/produce/execute/index.vue
+17
-38
index.vue
pages/produce/execute/starOrder/index.vue
+26
-5
add.vue
pages/produce/execute/taskTime/add.vue
+76
-9
index.vue
pages/produce/execute/taskTime/index.vue
+5
-5
orderlist.vue
pages/produce/orderlist.vue
+28
-0
detail.vue
pages/technology/details/detail.vue
+5
-5
index.vue
pages/technology/details/index.vue
+24
-11
index.vue
pages/technology/details/routinghcorder/index.vue
+1
-1
add.vue
pages/technology/details/routingqccard/add.vue
+33
-76
edit.vue
pages/technology/details/routingqccard/edit.vue
+135
-53
index.vue
pages/technology/details/routingqccard/index.vue
+1
-0
index.vue
pages/technology/details/routingsupporting/index.vue
+1
-0
u.vue
pages/test/u.vue
+8
-0
iview.js
plugins/iview.js
+4
-2
No files found.
assets/css/base.less
View file @
cded697f
...
@@ -977,6 +977,7 @@ html [type=button] {
...
@@ -977,6 +977,7 @@ html [type=button] {
background: #1890FF;
background: #1890FF;
color: #fff;
color: #fff;
}
}
background: transparent;
}
}
a.detail{
a.detail{
...
...
components/orderOperator/orderSend.vue
View file @
cded697f
...
@@ -304,6 +304,9 @@ export default {
...
@@ -304,6 +304,9 @@ export default {
},
},
getTimeQuotationFD
(
value
)
{
getTimeQuotationFD
(
value
)
{
this
.
orderForm
.
QuotationFinishDate
=
value
;
this
.
orderForm
.
QuotationFinishDate
=
value
;
},
p
(
s
)
{
return
s
<
10
?
"0"
+
s
:
s
;
}
}
},
},
created
()
{
created
()
{
...
...
components/page/dataGrid.vue
View file @
cded697f
...
@@ -53,23 +53,23 @@
...
@@ -53,23 +53,23 @@
:loading=
"loading"
:loading=
"loading"
></Table>
></Table>
<div
class=
"table-footer"
ref=
"footer"
>
<div
class=
"table-footer"
ref=
"footer"
>
<div>
<div>
<slot
name=
"footer"
></slot>
<slot
name=
"footer"
></slot>
</div>
</div>
<Page
<Page
v-if=
"page"
v-if=
"page"
:total=
"search.total"
:total=
"search.total"
:current=
"search.page"
:current=
"search.page"
class=
"mr15 mt15 fr"
class=
"mr15 mt15 fr"
show-total
show-total
size=
"small"
size=
"small"
show-elevator
show-elevator
show-sizer
show-sizer
:page-size=
"search.pageSize"
:page-size=
"search.pageSize"
:page-size-opts=
"pageSizeOpts"
:page-size-opts=
"pageSizeOpts"
@
on-change=
"pageChange"
@
on-change=
"pageChange"
@
on-page-size-change=
"pageSizeChange"
@
on-page-size-change=
"pageSizeChange"
/>
/>
</div>
</div>
</div>
</div>
<Modal
v-if=
"high"
v-model=
"modalSearch"
title=
"高级搜索"
draggable
width=
"800"
ref=
"search"
>
<Modal
v-if=
"high"
v-model=
"modalSearch"
title=
"高级搜索"
draggable
width=
"800"
ref=
"search"
>
...
@@ -130,7 +130,7 @@ export default {
...
@@ -130,7 +130,7 @@ export default {
search
:
{
search
:
{
pageIndex
:
1
,
pageIndex
:
1
,
pageSize
:
20
,
pageSize
:
20
,
conditions
:
[]
,
conditions
:
[]
},
},
pageSizeOpts
:
[
20
,
50
,
100
],
pageSizeOpts
:
[
20
,
50
,
100
],
tableHeight
:
0
,
tableHeight
:
0
,
...
@@ -529,6 +529,16 @@ export default {
...
@@ -529,6 +529,16 @@ export default {
});
});
};
};
}
}
if
(
u
.
type
==
"outputTime"
)
{
u
.
render
=
(
h
,
params
)
=>
{
let
values
=
u
.
key
;
return
h
(
"OutputTime"
,
{
props
:
{
value
:
params
.
row
[
values
]
}
});
};
}
return
!
u
.
hide
;
return
!
u
.
hide
;
});
});
return
cols
;
return
cols
;
...
...
components/page/departmentSelect.vue
View file @
cded697f
<
template
>
<
template
>
<TreeSelect
v-model=
"dep"
:data=
"data"
@
on-change=
"change"
:disabled=
"disabled"
:multiple=
"multiple"
/>
<TreeSelect
v-model=
"dep"
:data=
"data"
@
on-change=
"change"
:disabled=
"disabled"
:multiple=
"multiple"
:transfer=
"true"
/>
</
template
>
</
template
>
<
script
>
<
script
>
...
...
components/page/dictionary.vue
View file @
cded697f
...
@@ -17,6 +17,23 @@
...
@@ -17,6 +17,23 @@
<span
:title=
"item.value"
>
{{
item
.
label
}}
</span>
<span
:title=
"item.value"
>
{{
item
.
label
}}
</span>
</Radio>
</Radio>
</RadioGroup>
</RadioGroup>
<CheckboxGroup
v-else-if=
"type === 'checkbox'"
ref=
"dicradio"
v-model=
"name"
@
on-change=
"change"
:vertical=
"vertical"
>
<Checkbox
v-for=
"(item, index) in dic"
:disabled=
"item.disabled"
:label=
"item.value"
:key=
"index"
:border=
"border"
>
<span
:title=
"item.value"
>
{{
item
.
label
}}
</span>
</Checkbox>
</CheckboxGroup>
<Select
<Select
v-else
v-else
:placeholder=
"placeholder"
:placeholder=
"placeholder"
...
...
components/page/filed.vue
View file @
cded697f
<
template
>
<
template
>
<Col
:span=
"span"
class=
"filed-col"
>
<Col
:span=
"span"
class=
"filed-col"
>
<div
class=
"label"
>
<div
class=
"label"
>
<label
v-text=
"name"
></label>
<label
v-text=
"name"
></label>
</div>
</div>
<div
class=
"value"
>
<div
class=
"value"
>
<slot></slot>
<slot></slot>
...
@@ -40,7 +40,7 @@ export default {
...
@@ -40,7 +40,7 @@ export default {
display: flex;
display: flex;
flex-direction: row;
flex-direction: row;
line-height: 40px;
line-height: 40px;
>.label {
>
.label {
background: #f7f7f7;
background: #f7f7f7;
flex-grow: 0;
flex-grow: 0;
width: 120px;
width: 120px;
...
@@ -49,25 +49,27 @@ export default {
...
@@ -49,25 +49,27 @@ export default {
border-right: 1px solid #ddd;
border-right: 1px solid #ddd;
flex-shrink: 0;
flex-shrink: 0;
}
}
>.value {
>
.value {
word-break: break-all;
word-break: break-all;
word-wrap: break-word;
word-wrap: break-word;
flex-grow: 1;
flex-grow: 1;
padding-left: 10px;
padding-left: 10px;
>
div
{
>
div
{
line-height: 30px;
line-height: 30px;
}
}
}
}
}
}
}
}
}
}
.new
_
detail {
.new
-
detail {
.ivu-row {
.ivu-row {
width: 100% !important;
width: 100% !important;
.filed-col {
.filed-col {
box-sizing: border-box;
box-sizing: border-box;
line-height: 70px;
line-height: 70px;
>.label {
display: flex;
flex-direction: row;
> .label {
display: inline-block;
display: inline-block;
width: 100px;
width: 100px;
text-align: right;
text-align: right;
...
@@ -75,7 +77,7 @@ export default {
...
@@ -75,7 +77,7 @@ export default {
height: 100%;
height: 100%;
font-weight: bold;
font-weight: bold;
}
}
>
p
{
>
.value
{
text-align: left;
text-align: left;
height: 100%;
height: 100%;
word-break: break-all;
word-break: break-all;
...
...
components/page/files.vue
View file @
cded697f
...
@@ -36,6 +36,7 @@
...
@@ -36,6 +36,7 @@
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
util
from
'@/libs/util'
;
export
default
{
export
default
{
name
:
"files"
,
name
:
"files"
,
model
:
{
model
:
{
...
@@ -185,7 +186,7 @@ export default {
...
@@ -185,7 +186,7 @@ export default {
this
.
postUrl
=
this
.
postUrl
=
fileUrl
+
fileUrl
+
"/upload/?token=Bearer "
+
"/upload/?token=Bearer "
+
window
.
sessionStorage
.
getItem
(
"token"
)
+
util
.
cookies
.
get
(
'token'
)
+
"&"
+
"&"
+
this
.
convertObj
(
this
.
parms
);
this
.
convertObj
(
this
.
parms
);
//是否显示上传按钮
//是否显示上传按钮
...
...
components/page/inputFile.vue
View file @
cded697f
<!--一次只能上传一个文件 -->
<
template
>
<
template
>
<div>
<div>
<div>
<Input
v-model=
"newName"
placeholder=
"请选择上传文件"
>
<Input
<Button
v-if=
"view"
icon=
"ios-eye"
slot=
"prepend"
@
click=
"downFile(newName)"
>
</Button>
v-model=
"newName"
<Button
type=
"primary"
icon=
"ios-cloud-upload-outline"
slot=
"append"
@
click=
"handler"
>
上传
</Button>
style=
"height:30px;width:240px;float:left;"
</Input>
placeholder=
"请选择上传文件"
<Upload
disabled
v-model=
"name"
/>
:action=
"postUrl"
<Upload
:on-success=
"uploadSuccess"
v-model=
"name"
:on-error=
"uploadError"
:action=
"postUrl"
:on-remove=
"removeFile"
:on-success=
"uploadSuccess"
:format=
"formatList"
:on-error=
"uploadError"
:max-size=
"maxSize"
:on-remove=
"removeFile"
:on-exceeded-size=
"onExceededSize"
:format=
"formatList"
:on-format-error=
"onFormatError"
:max-size=
"maxSize"
:show-upload-list=
"false"
:on-exceeded-size=
"onExceededSize"
:files=
"files"
:on-format-error=
"onFormatError"
:on-progress=
"onProgress"
:show-upload-list=
"false"
>
:files=
"files"
<Button
v-show=
"1==2"
type=
"primary"
ref=
"upload"
>
上传
</Button>
:on-progress=
"onProgress"
</Upload>
style=
"width:120px;float:left"
>
<Button
icon=
"ios-cloud-upload-outline"
>
上传文件
</Button>
</Upload>
<a
v-show=
"newName.length>2&&showButton"
:href=
"fileUrlPath"
@
click=
"downFile(newPath)"
target=
"_blank"
style=
"float:left"
>
查看
</a>
</div>
<Progress
:percent=
"per"
:stroke-width=
"5"
v-show=
"vshowPro"
/>
<Progress
:percent=
"per"
:stroke-width=
"5"
v-show=
"vshowPro"
/>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
util
from
"@/libs/util"
;
export
default
{
export
default
{
name
:
"inputFile"
,
name
:
"inputFile"
,
model
:
{
model
:
{
...
@@ -47,12 +41,12 @@ export default {
...
@@ -47,12 +41,12 @@ export default {
postUrl
:
postUrl
:
fileUrl
+
fileUrl
+
"/upload/?token=Bearer "
+
"/upload/?token=Bearer "
+
window
.
sessionStorage
.
getItem
(
"token"
)
+
util
.
cookies
.
get
(
"token"
)
+
"&"
+
"&"
+
this
.
parms
,
this
.
parms
,
formatList
:
[
"png"
,
"jpg"
,
"gif"
],
formatList
:
[
"png"
,
"jpg"
,
"gif"
],
newName
:
""
,
newName
:
""
,
newPath
:
''
,
newPath
:
""
,
per
:
0
,
per
:
0
,
vshowPro
:
false
vshowPro
:
false
};
};
...
@@ -72,9 +66,9 @@ export default {
...
@@ -72,9 +66,9 @@ export default {
type
:
String
,
type
:
String
,
default
:
""
default
:
""
},
},
showButton
:{
showButton
:
{
type
:
Boolean
,
type
:
Boolean
,
default
:
true
,
default
:
true
}
}
},
},
methods
:
{
methods
:
{
...
@@ -82,6 +76,9 @@ export default {
...
@@ -82,6 +76,9 @@ export default {
this
.
per
=
0
;
this
.
per
=
0
;
this
.
vshowPro
=
true
;
this
.
vshowPro
=
true
;
},
},
handler
()
{
this
.
$refs
.
upload
.
$el
.
click
();
},
// change(event) {
// change(event) {
// this.$emit('on-change', event.target.value)
// this.$emit('on-change', event.target.value)
// },
// },
...
@@ -96,8 +93,8 @@ export default {
...
@@ -96,8 +93,8 @@ export default {
objImag
.
fileName
=
file
.
response
.
data
.
fileName
;
objImag
.
fileName
=
file
.
response
.
data
.
fileName
;
objImag
.
filePath
=
file
.
response
.
data
.
downloadPath
;
objImag
.
filePath
=
file
.
response
.
data
.
downloadPath
;
filesList
.
push
(
objImag
);
filesList
.
push
(
objImag
);
this
.
newName
=
file
.
response
.
data
.
fileName
;
this
.
newName
=
file
.
response
.
data
.
downloadPath
;
this
.
newPath
=
file
.
response
.
data
.
downloadPath
this
.
newPath
=
file
.
response
.
data
.
downloadPath
;
this
.
$emit
(
"on-change"
,
JSON
.
stringify
(
filesList
));
this
.
$emit
(
"on-change"
,
JSON
.
stringify
(
filesList
));
this
.
per
=
100
;
this
.
per
=
100
;
setTimeout
(()
=>
{
setTimeout
(()
=>
{
...
@@ -146,9 +143,20 @@ export default {
...
@@ -146,9 +143,20 @@ export default {
}
}
return
this
.
formatList
;
return
this
.
formatList
;
},
},
downFile
(
path
)
{
downFile
(
path
)
{
this
.
fileUrlPath
=
this
.
downUrl
+
path
;
let
truePath
=
path
.
trim
();
},
if
(
truePath
.
length
>
2
)
{
if
(
truePath
.
substring
(
0
,
7
).
toLowerCase
()
==
"http://"
||
truePath
.
substring
(
0
,
8
).
toLowerCase
()
==
"https://"
)
{
window
.
open
(
truePath
,
"_blank"
);
}
else
{
this
.
fileUrlPath
=
this
.
downUrl
+
path
;
window
.
open
(
this
.
fileUrlPath
,
"_blank"
);
}
}
}
},
},
mounted
()
{
mounted
()
{
this
.
formatL
();
this
.
formatL
();
...
@@ -156,6 +164,9 @@ export default {
...
@@ -156,6 +164,9 @@ export default {
computed
:
{
computed
:
{
nativeInputValue
()
{
nativeInputValue
()
{
return
this
.
value
===
null
||
this
.
value
===
undefined
?
""
:
this
.
value
;
return
this
.
value
===
null
||
this
.
value
===
undefined
?
""
:
this
.
value
;
},
view
(){
return
true
}
}
},
},
watch
:
{
watch
:
{
...
@@ -166,5 +177,4 @@ export default {
...
@@ -166,5 +177,4 @@ export default {
};
};
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
</
style
>
</
style
>
\ No newline at end of file
components/page/outputTime.vue
0 → 100644
View file @
cded697f
<
template
>
<div
style=
"padding-top:5px"
>
{{
name
}}
</div>
</
template
>
<
script
>
export
default
{
name
:
"outputTime"
,
data
()
{
return
{
name
:
""
,
item
:
{},
items
:
[],
data
:
[]
};
},
props
:
{
value
:
{
type
:
[
String
,
Number
],
required
:
false
}
},
created
()
{},
mounted
()
{
this
.
setName
();
},
methods
:
{
setName
()
{
this
.
name
=
this
.
secondsFormat
(
this
.
value
);
},
secondsFormat
(
s
)
{
var
day
=
Math
.
floor
(
s
/
(
24
*
3600
));
// Math.floor()向下取整
var
hour
=
Math
.
floor
((
s
-
day
*
24
*
3600
)
/
3600
);
var
minute
=
Math
.
floor
((
s
-
day
*
24
*
3600
-
hour
*
3600
)
/
60
);
var
second
=
s
-
day
*
24
*
3600
-
hour
*
3600
-
minute
*
60
;
let
outStr
=
""
;
if
(
day
)
{
if
(
second
==
0
&&
minute
>
0
&&
hour
>
0
)
{
outStr
=
day
+
"天"
+
hour
+
"小时"
+
minute
+
"分"
;
}
else
if
(
second
==
0
&&
minute
==
0
&&
hour
>
0
)
{
outStr
=
day
+
"天"
+
hour
+
"小时"
;
}
else
if
(
second
==
0
&&
minute
==
0
&&
hour
==
0
)
{
outStr
=
day
+
"天"
;
}
else
{
outStr
=
day
+
"天"
+
hour
+
"小时"
+
minute
+
"分"
+
second
+
"秒"
;
}
return
outStr
;
}
else
{
if
(
hour
)
{
if
(
second
==
0
&&
minute
>
0
)
{
outStr
=
hour
+
"小时"
+
minute
+
"分"
;
}
else
if
(
second
==
0
&&
minute
==
0
)
{
outStr
=
hour
+
"小时"
;
}
else
{
outStr
=
hour
+
"小时"
+
minute
+
"分"
+
second
+
"秒"
;
}
return
outStr
;
}
else
{
if
(
minute
)
{
if
(
second
==
0
)
{
outStr
=
minute
+
"分"
;
}
else
{
outStr
=
minute
+
"分"
+
second
+
"秒"
;
}
return
outStr
;
}
else
{
if
(
second
)
{
return
second
+
"秒"
;
}
}
}
}
}
},
computed
:
{},
watch
:
{
value
(
v
)
{
if
(
v
>
0
)
this
.
setName
();
}
}
};
</
script
>
\ No newline at end of file
components/page/workShop.vue
View file @
cded697f
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
@
on-change=
"change"
@
on-change=
"change"
:multiple=
"multiple"
:multiple=
"multiple"
clearable
clearable
transfer
>
>
<Option
v-for=
"item in dic"
:value=
"item.value"
:key=
"item.value"
:label=
"item.label"
>
<Option
v-for=
"item in dic"
:value=
"item.value"
:key=
"item.value"
:label=
"item.label"
>
<div>
<div>
...
...
i18n/locale/zh-CN.js
View file @
cded697f
...
@@ -1329,12 +1329,12 @@ export default {
...
@@ -1329,12 +1329,12 @@ export default {
routingHeaderId
:
'工艺ID'
,
routingHeaderId
:
'工艺ID'
,
routingHeaderName
:
'工艺'
,
routingHeaderName
:
'工艺'
,
routingDetailId
:
'工序ID'
,
routingDetailId
:
'工序ID'
,
routingDetailName
:
'工序
名称
'
,
routingDetailName
:
'工序'
,
routingDetailNo
:
'工序号'
,
routingDetailNo
:
'工序号'
,
routingStepId
:
'工步ID'
,
routingStepId
:
'工步ID'
,
checkContent
:
'检测内容'
,
checkContent
:
'检测内容'
,
checkType
:
'检测类型'
,
checkType
:
'检测类型'
,
checkParams
:
'检测
要求
'
,
checkParams
:
'检测
参数
'
,
measurementUnit
:
'测量单位'
,
measurementUnit
:
'测量单位'
,
fillintype
:
'填报类型'
,
fillintype
:
'填报类型'
,
isphotograph
:
'是否拍照'
,
isphotograph
:
'是否拍照'
,
...
...
pages/aps/results/api.js
View file @
cded697f
...
@@ -23,4 +23,7 @@ export default {
...
@@ -23,4 +23,7 @@ export default {
processschemedispatchinsert
(
params
)
{
//排产方案下发--普通+干扰;如果result.retcode=0,调用:
processschemedispatchinsert
(
params
)
{
//排产方案下发--普通+干扰;如果result.retcode=0,调用:
return
Api
.
post
(
`
${
apsUrl
}
/apspoolappservices/processschemedispatch_insert`
,
params
);
return
Api
.
post
(
`
${
apsUrl
}
/apspoolappservices/processschemedispatch_insert`
,
params
);
},
},
getResults
(){
return
Api
.
post
(
`
${
apsUrl
}
/apspoolappservices/messehemacensorgetall`
)
}
}
}
pages/aps/results/compare.vue
View file @
cded697f
<
template
>
<
template
>
<div
class=
"compare"
>
<div
class=
"compare"
>
<div
class=
"compare_box"
:style=
"
{height:treeHeight+'px'}"
>
<div
class=
"compare_box"
>
<div
class=
"left_list"
>
<div
class=
"left_list"
>
<ul
class=
"left_ul"
>
<ul
class=
"left_ul"
>
<li
class=
"left_ul_title"
>
<li
class=
"left_ul_title"
>
隐藏相同
<!--
隐藏相同
<i-switch
size=
"small"
v-model=
"switch1"
@
on-change=
"change"
/>
<i-switch
size=
"small"
v-model=
"switch1"
@
on-change=
"change"
/>
-->
</li>
</li>
<li>
延期交付批次数
</li>
<li>
延期交付批次数
</li>
<li>
延期交付天数
</li>
<li>
延期交付天数
</li>
...
@@ -20,31 +20,32 @@
...
@@ -20,31 +20,32 @@
<li>
离散值平均值
</li>
<li>
离散值平均值
</li>
<li>
任务平衡工序数
</li>
<li>
任务平衡工序数
</li>
<li>
效率系数
</li>
<li>
效率系数
</li>
<li>
加工设备数
</li>
<li>
设备工作天数
</li>
</ul>
</ul>
</div>
</div>
<div
class=
"right_add flex"
>
<div
class=
"right_add flex"
>
<div
class=
"fg list_box"
v-for=
"a of 5
"
:class=
"a%2 == 1?'dip_bg':''"
:key=
"a"
>
<div
v-if=
"items.length>0"
class=
"fg list_box"
v-for=
"(li,a) in items
"
:class=
"a%2 == 1?'dip_bg':''"
:key=
"a"
>
<ul
class=
"right_ul"
>
<ul
class=
"right_ul"
>
<li
class=
"right_ul_title"
>
<li
class=
"right_ul_title"
>
<a
class=
"del_case"
>
<Icon
type=
"md-close"
size=
"16"
@
click=
"delitedCase"
title=
"删除"
/>
</a>
<span
class=
"case"
>
方案一
{{
a
}}
</span>
<span
class=
"case"
>
方案一
{{
a
}}
</span>
<span
class=
"case_time"
>
2020-03-22 13:26:35
</span>
<span
class=
"case_time"
>
2020-03-22 13:26:35
</span>
</li>
</li>
<li>
延期交付批次数
</li>
<li>
{{
li
.
deferNum
}}
</li>
<li>
延期交付天数
</li>
<li>
{{
li
.
deferTime
}}
</li>
<li>
提前交付批次数
</li>
<li>
{{
li
.
aheadNum
}}
</li>
<li>
提前交付天数
</li>
<li>
{{
li
.
aheadTime
}}
</li>
<li>
周日加班设备数
</li>
<li>
{{
li
.
weekdayEquip
}}
</li>
<li>
周日设备工作小时数
</li>
<li>
{{
li
.
weekdayTime
}}
</li>
<li>
周六加班设备数
</li>
<li>
{{
li
.
saturdayEquip
}}
</li>
<li>
周六设备工作小时数
</li>
<li>
{{
li
.
saturdayTime
}}
</li>
<li>
重叠法工序数
</li>
<li>
{{
li
.
superposeTask
}}
</li>
<li>
离散法工序数
</li>
<li>
{{
li
.
disperseTask
}}
</li>
<li>
离散值平均值
</li>
<li>
{{
li
.
disvalueAvg
}}
</li>
<li>
任务平衡工序数
</li>
<li>
{{
li
.
poiseTask
}}
</li>
<li>
效率系数
</li>
<li>
{{
li
.
efficiencyAvg
}}
</li>
<li>
{{
li
.
runEquip
}}
</li>
<li>
{{
li
.
runEquipTime
}}
</li>
</ul>
</ul>
</div>
</div>
</div>
</div>
...
@@ -60,33 +61,33 @@ export default {
...
@@ -60,33 +61,33 @@ export default {
name
:
"添加"
,
name
:
"添加"
,
tree
:
[],
tree
:
[],
switch1
:
true
,
switch1
:
true
,
treeHeight
:
""
list
:[],
};
};
},
},
async
fetch
({
store
,
params
})
{
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
},
props
:{
schemas
:{
//方案集合
type
:
Array
}
},
components
:
{},
components
:
{},
created
()
{
created
()
{
this
.
treeHeight
=
window
.
innerHeight
-
170
;
this
.
load
()
},
},
mounted
()
{
mounted
()
{
window
.
onresize
=
()
=>
{
///浏览器窗口大小变化
return
(()
=>
{
window
.
screenHeight
=
window
.
innerHeight
;
this
.
treeHeight
=
window
.
screenHeight
-
170
;
})();
};
},
},
methods
:
{
methods
:
{
async
load
(){
let
{
result
}
=
await
Api
.
getResults
();
console
.
log
(
result
)
this
.
list
=
result
;
},
change
(
status
)
{
change
(
status
)
{
this
.
$Message
.
info
(
"开关状态:"
+
status
);
this
.
$Message
.
info
(
"开关状态:"
+
status
);
},
},
// 删除方案
delitedCase
()
{
this
.
$Message
.
info
(
"删除方案"
);
},
tabChange
(
name
)
{
tabChange
(
name
)
{
if
(
name
==
"technicalcoordination"
)
{
if
(
name
==
"technicalcoordination"
)
{
this
.
$refs
.
technicalcoordination
.
loadchangelist
();
this
.
$refs
.
technicalcoordination
.
loadchangelist
();
...
@@ -95,6 +96,16 @@ export default {
...
@@ -95,6 +96,16 @@ export default {
this
.
$refs
.
unqualifiedorder
.
loadchangelist
();
this
.
$refs
.
unqualifiedorder
.
loadchangelist
();
}
}
}
}
},
computed
:{
items
(){
var
items
=
[];
this
.
schemas
.
map
(
p
=>
{
var
info
=
this
.
list
.
filter
(
u
=>
u
.
schedule_Id
==
p
.
scheduleId
)[
0
];
items
.
push
(
info
);
})
return
items
;
}
}
}
};
};
</
script
>
</
script
>
pages/aps/results/index.vue
View file @
cded697f
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
:key=
"index"
:key=
"index"
:class=
"isactive == index ? 'addclass' : '' "
:class=
"isactive == index ? 'addclass' : '' "
>
>
<Checkbox
v-model=
"li.checked"
class=
"i-checkbox"
@
on-change=
"changeCheck(li)"
></Checkbox>
<Checkbox
v-model=
"li.checked"
class=
"i-checkbox"
@
on-change=
"changeCheck(li
,index
)"
></Checkbox>
<div
class=
"title-t"
@
click=
"listData(li.schedule_Id,index)"
>
排产方案:
{{
li
.
schedule_Id
}}
</div>
<div
class=
"title-t"
@
click=
"listData(li.schedule_Id,index)"
>
排产方案:
{{
li
.
schedule_Id
}}
</div>
<div
class=
"fa"
>
排产时间:
{{
li
.
plan_Date
}}
</div>
<div
class=
"fa"
>
排产时间:
{{
li
.
plan_Date
}}
</div>
<div
class=
"fa"
>
<div
class=
"fa"
>
...
@@ -34,18 +34,18 @@
...
@@ -34,18 +34,18 @@
<h4
:text=
"title"
>
{{
title
}}
</h4>
<h4
:text=
"title"
>
{{
title
}}
</h4>
</Col>
</Col>
<Col
span=
"10"
>
<Col
span=
"10"
>
<a
href=
"#"
@
click=
"comeBlck"
class=
"black"
>
返回
</a>
<a
href=
"#"
@
click=
"comeBlck"
class=
"black"
>
APS排产
</a>
</Col>
</Col>
<Col
span=
"10"
style=
"text-align: right;"
v-if=
"gant"
>
<Col
span=
"10"
style=
"text-align: right;"
v-if=
"gant"
>
<a
href=
"#"
@
click=
"gantChart"
class=
"gant"
>
甘特图
</a>
<a
href=
"#"
@
click=
"gantChart"
class=
"gant"
>
甘特图
</a>
</Col>
</Col>
</Row>
</Row>
<component
:is=
"detail"
:eid=
"id"
/>
<component
:is=
"detail"
:eid=
"id"
:schemas=
"schemas"
/>
</Content>
</Content>
</Layout>
</Layout>
<div
class=
"footer"
v-if=
"showFooter"
>
<div
class=
"footer"
v-if=
"showFooter"
>
<span>
已选:
{{
total
}}
项
</span>
<span>
已选:
{{
schemas
.
length
}}
项
</span>
<Button
type=
"primary"
@
click=
"submit"
>
方案对比
</Button>
<Button
type=
"primary"
@
click=
"submit"
>
方案对比
</Button>
<Button
type=
"default"
@
click=
"cancel"
>
取消
</Button>
<Button
type=
"default"
@
click=
"cancel"
>
取消
</Button>
</div>
</div>
...
@@ -78,6 +78,7 @@ export default {
...
@@ -78,6 +78,7 @@ export default {
blacks
:
false
,
blacks
:
false
,
gant
:
false
,
gant
:
false
,
gantt
:
null
,
gantt
:
null
,
curPage
:
null
};
};
},
},
async
fetch
({
store
,
params
})
{
async
fetch
({
store
,
params
})
{
...
@@ -109,12 +110,6 @@ export default {
...
@@ -109,12 +110,6 @@ export default {
this
.
isactive
=
index
;
this
.
isactive
=
index
;
this
.
id
=
id
;
this
.
id
=
id
;
this
.
title
=
"排产方案结果"
;
this
.
title
=
"排产方案结果"
;
this
.
list
.
map
(
u
=>
{
if
((
u
.
checked
=
true
))
{
u
.
checked
=
false
;
}
});
this
.
contrastList
=
[];
},
},
clear
()
{
clear
()
{
if
(
this
.
list
.
length
>
0
)
{
if
(
this
.
list
.
length
>
0
)
{
...
@@ -156,49 +151,26 @@ export default {
...
@@ -156,49 +151,26 @@ export default {
this
.
modal1Gant
=
true
;
this
.
modal1Gant
=
true
;
this
.
gantt
=
()
=>
import
(
"./gantt"
);
this
.
gantt
=
()
=>
import
(
"./gantt"
);
},
},
changeCheck
(
item
)
{
changeCheck
(
item
,
i
)
{
this
.
isactive
=
null
;
this
.
$set
(
this
.
list
,
i
,
item
);
(
this
.
id
=
null
),
(
this
.
blacks
=
true
);
if
(
this
.
title
!=
'排产方案对比'
){
if
(
item
.
checked
==
true
)
{
this
.
showFooter
=
true
;
this
.
contrastList
.
push
(
item
.
schedule_Id
);
}
else
if
(
item
.
checked
==
false
)
{
let
index
=
this
.
contrastList
.
indexOf
(
item
.
schedule_Id
);
if
(
index
>
-
1
)
{
this
.
contrastList
.
splice
(
index
,
1
);
}
}
if
(
this
.
contrastList
.
length
>
1
)
{
this
.
showFooter
=
true
;
}
this
.
total
=
this
.
contrastList
.
length
;
if
(
this
.
total
==
0
)
{
this
.
showFooter
=
false
;
}
}
},
},
submit
()
{
submit
()
{
if
(
this
.
total
>=
2
)
{
this
.
detail
=
()
=>
import
(
"./compare"
);
this
.
detail
=
()
=>
import
(
"./compare"
);
this
.
title
=
"排产方案比对"
;
this
.
title
=
"排产方案对比"
;
this
.
list
.
map
(
u
=>
{
this
.
showFooter
=
false
;
if
((
u
.
checked
=
true
))
{
u
.
checked
=
false
;
}
});
this
.
contrastList
=
[];
this
.
showFooter
=
false
;
this
.
gant
=
false
;
}
else
{
this
.
$Message
.
error
(
"请选择大于等于2项方案进去比对"
);
}
},
},
cancel
()
{
cancel
()
{
this
.
showFooter
=
false
;
this
.
showFooter
=
false
;
this
.
list
.
map
(
u
=>
{
}
if
((
u
.
checked
=
true
))
{
},
u
.
checked
=
false
;
computed
:{
}
schemas
(){
});
return
this
.
list
.
filter
(
u
=>
{
this
.
contrastList
=
[];
return
u
.
checked
==
true
;
})
}
}
}
}
};
};
...
...
pages/aps/results/results.less
View file @
cded697f
...
@@ -136,7 +136,7 @@
...
@@ -136,7 +136,7 @@
}
}
li {
li {
line-height:
5
0px;
line-height:
4
0px;
text-align: center;
text-align: center;
border-bottom: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}
}
...
@@ -181,7 +181,7 @@
...
@@ -181,7 +181,7 @@
}
}
li {
li {
line-height:
5
0px;
line-height:
4
0px;
text-align: center;
text-align: center;
border-bottom: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}
}
...
...
pages/order/monitoring/api.js
View file @
cded697f
...
@@ -35,6 +35,9 @@ export default {
...
@@ -35,6 +35,9 @@ export default {
pauseCauseGetpaged
(
params
){
//获取工单暂停记录
pauseCauseGetpaged
(
params
){
//获取工单暂停记录
return
Api
.
get
(
`
${
PlanUrl
}
/orderexecutepausecause/getpaged`
,
params
);
return
Api
.
get
(
`
${
PlanUrl
}
/orderexecutepausecause/getpaged`
,
params
);
},
},
orderrecovery
(
params
)
{
//订单回收
return
Api
.
post
(
`
${
PlanUrl
}
/mesorders/orderrecovery`
,
params
);
},
// getplantdepartments(params) {// 组织为”车间“的部门
// getplantdepartments(params) {// 组织为”车间“的部门
// return Api.get(`${systemUrl}/department/getplantdepartments`, params);
// return Api.get(`${systemUrl}/department/getplantdepartments`, params);
...
...
pages/order/monitoring/index.vue
View file @
cded697f
...
@@ -4,10 +4,8 @@
...
@@ -4,10 +4,8 @@
<template
slot=
"easySearch"
>
<template
slot=
"easySearch"
>
<Form
ref=
"formInline"
:model=
"easySearch"
inline
style=
"margin-top:5px;"
>
<Form
ref=
"formInline"
:model=
"easySearch"
inline
style=
"margin-top:5px;"
>
<FormItem
prop=
"productingpreparationpeople"
style=
"width:200px"
>
<FormItem
prop=
"productingpreparationpeople"
style=
"width:200px"
>
<WorkShopSelect
<!--
<departmentSelect
v-model=
"easySearch.productingpreparationpeople.value"
></departmentSelect>
-->
ref=
"userSelected"
<workShop
v-model=
"easySearch.productingpreparationpeople.value"
></workShop>
v-model=
"easySearch.productingpreparationpeople.value"
/>
</FormItem>
</FormItem>
<FormItem
prop=
"keys"
>
<FormItem
prop=
"keys"
>
<Input
placeholder=
"请输入订单编号"
v-model=
"easySearch.keys.value"
/>
<Input
placeholder=
"请输入订单编号"
v-model=
"easySearch.keys.value"
/>
...
@@ -28,7 +26,30 @@
...
@@ -28,7 +26,30 @@
<Record
:eid=
"recordId"
/>
<Record
:eid=
"recordId"
/>
</Modal>
</Modal>
<Modal
v-model=
"SpeedModal"
title=
"工单信息"
fullscreen
footer-hide
class=
"recordM"
>
<Modal
v-model=
"SpeedModal"
title=
"工单信息"
fullscreen
footer-hide
class=
"recordM"
>
<Speed
:result=
"result"
:load=
"loading"
:executeId=
"dispatchExecuteId"
:orderId=
"orderId"
/>
<Speed
:result=
"result"
:load=
"loading"
@
on-close=
"clsoeSpeedModal"
:executeId=
"dispatchExecuteId"
:orderId=
"orderId"
/>
</Modal>
<Modal
v-model=
"recycleModal"
title=
"确定回收订单"
width=
"600"
class=
"suspend"
>
<Form
ref=
"form"
:model=
"recovery"
:rules=
"rulesRecycle"
:label-width=
"120"
>
<Row>
<Col
:span=
"24"
>
<FormItem
:label=
"l('mesCode')"
>
{{mesCode}}
</FormItem>
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('demandFinishDate')"
prop=
"demandFinishDate"
>
<DatePicker
type=
"date"
placeholder=
"请选择日期"
style=
"width:240px"
v-model=
"recovery.demandFinishDate"
></DatePicker>
</FormItem>
</Col>
</Row>
</Form>
<div
slot=
"footer"
>
<Button
@
click=
"cancelRecycle"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"changeFinishiDate"
>
确定
</Button>
</div>
</Modal>
</Modal>
</div>
</div>
</template>
</template>
...
@@ -50,8 +71,8 @@ export default {
...
@@ -50,8 +71,8 @@ export default {
data
()
{
data
()
{
return
{
return
{
result
:
[],
result
:
[],
dispatchExecuteId
:
null
,
//任务id
dispatchExecuteId
:
null
,
//任务id
orderId
:
null
,
//订单id
orderId
:
null
,
//订单id
SpeedModal
:
false
,
SpeedModal
:
false
,
rowSuspend
:
{},
rowSuspend
:
{},
recordId
:
0
,
recordId
:
0
,
...
@@ -64,6 +85,7 @@ export default {
...
@@ -64,6 +85,7 @@ export default {
suspendModal
:
false
,
suspendModal
:
false
,
recordModal
:
false
,
recordModal
:
false
,
deletelModal
:
false
,
deletelModal
:
false
,
recycleModal
:
false
,
curId
:
0
,
curId
:
0
,
columns
:
[
columns
:
[
{
key
:
"id"
,
title
:
this
.
l
(
"id"
),
hide
:
true
,
align
:
"left"
},
{
key
:
"id"
,
title
:
this
.
l
(
"id"
),
hide
:
true
,
align
:
"left"
},
...
@@ -175,7 +197,7 @@ export default {
...
@@ -175,7 +197,7 @@ export default {
title
:
this
.
l
(
"productName"
),
title
:
this
.
l
(
"productName"
),
align
:
"left"
,
align
:
"left"
,
easy
:
true
,
easy
:
true
,
high
:
true
,
high
:
true
},
},
{
{
...
@@ -245,7 +267,7 @@ export default {
...
@@ -245,7 +267,7 @@ export default {
code
:
"mes_xingchi_plan.order_material.routingType"
,
code
:
"mes_xingchi_plan.order_material.routingType"
,
easy
:
true
,
easy
:
true
,
high
:
true
,
high
:
true
,
width
:
100
,
width
:
100
},
},
{
{
title
:
this
.
l
(
"jindu"
),
title
:
this
.
l
(
"jindu"
),
...
@@ -334,7 +356,7 @@ export default {
...
@@ -334,7 +356,7 @@ export default {
key
:
"remark"
,
key
:
"remark"
,
title
:
this
.
l
(
"remark"
),
title
:
this
.
l
(
"remark"
),
align
:
"center"
,
align
:
"center"
,
hide
:
true
hide
:
true
},
},
{
{
title
:
"暂停记录"
,
title
:
"暂停记录"
,
...
@@ -346,7 +368,7 @@ export default {
...
@@ -346,7 +368,7 @@ export default {
h
(
h
(
"op"
,
"op"
,
{
{
attrs
:
{
oprate
:
"record"
,
class
:
"edit"
,
title
:
'暂停记录'
},
attrs
:
{
oprate
:
"record"
,
class
:
"edit"
},
on
:
{
click
:
()
=>
this
.
record
(
params
.
row
.
id
)
}
on
:
{
click
:
()
=>
this
.
record
(
params
.
row
.
id
)
}
},
},
"暂停记录"
"暂停记录"
...
@@ -362,7 +384,9 @@ export default {
...
@@ -362,7 +384,9 @@ export default {
render
:
(
h
,
params
)
=>
{
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
class
:
"action"
},
[
return
h
(
"div"
,
{
class
:
"action"
},
[
h
(
h
(
params
.
row
.
status
==
5
&&
params
.
row
.
upSplitId
==
0
?
"Button"
:
""
,
//订单状态暂停,启动
params
.
row
.
status
==
5
&&
params
.
row
.
upSplitId
==
0
?
"Button"
:
""
,
//订单状态暂停,启动
{
{
props
:
{
props
:
{
type
:
"error"
,
type
:
"error"
,
...
@@ -385,13 +409,16 @@ export default {
...
@@ -385,13 +409,16 @@ export default {
""
""
),
),
h
(
h
(
params
.
row
.
status
==
6
&&
params
.
row
.
upSplitId
==
0
?
"Button"
:
""
,
//订单状态执行中,暂停
params
.
row
.
status
==
6
&&
params
.
row
.
upSplitId
==
0
?
"Button"
:
""
,
//订单状态执行中,暂停
{
{
props
:
{
props
:
{
type
:
"success"
,
type
:
"success"
,
size
:
"small"
,
size
:
"small"
,
icon
:
"ios-pause"
,
icon
:
"ios-pause"
,
ghost
:
true
ghost
:
true
,
tooltip
:
"暂停"
},
},
style
:
{
style
:
{
fontSize
:
"18px"
,
fontSize
:
"18px"
,
...
@@ -406,12 +433,44 @@ export default {
...
@@ -406,12 +433,44 @@ export default {
}
}
},
},
""
""
),
h
(
params
.
row
.
status
==
5
&&
params
.
row
.
upSplitId
>
0
?
"op"
:
""
,
//订单状态执行中,暂停
{
attrs
:
{
icon
:
"md-sync"
,
type
:
"icon"
,
title
:
"回收订单"
,
oprate
:
"edit"
,
msg
:
"确认要恢复工序吗?"
},
on
:
{
click
:
()
=>
{
this
.
recycle
(
params
.
row
);
}
}
}
)
)
]);
]);
}
}
}
}
],
],
loading
:
false
loading
:
false
,
recovery
:
{
orderId
:
null
,
demandFinishDate
:
""
//计划完成时间
},
mesCode
:
""
,
rulesRecycle
:
{
demandFinishDate
:
[
{
required
:
true
,
message
:
"请选择计划完成时间"
,
trigger
:
"change"
,
type
:
"date"
}
]
}
};
};
},
},
mounted
()
{},
mounted
()
{},
...
@@ -438,19 +497,21 @@ export default {
...
@@ -438,19 +497,21 @@ export default {
this
.
result
=
[];
this
.
result
=
[];
this
.
loading
=
true
;
this
.
loading
=
true
;
this
.
SpeedModal
=
true
;
this
.
SpeedModal
=
true
;
this
.
dispatchExecuteId
=
row
.
dispatchExecuteId
this
.
dispatchExecuteId
=
row
.
dispatchExecuteId
;
this
.
orderId
=
row
.
id
this
.
orderId
=
row
.
id
;
Api
.
info
({
Api
.
info
({
routingHeaderId
:
row
.
routingHeaderId
,
routingHeaderId
:
row
.
routingHeaderId
,
dispatchExecuteId
:
row
.
dispatchExecuteId
dispatchExecuteId
:
row
.
dispatchExecuteId
}).
then
(
r
=>
{
})
if
(
r
.
success
)
{
.
then
(
r
=>
{
this
.
result
=
r
.
result
;
if
(
r
.
success
)
{
this
.
loading
=
false
;
this
.
result
=
r
.
result
;
}
this
.
loading
=
false
;
}).
catch
(
err
=>
{
}
this
.
$Message
.
error
(
"连接错误"
);
})
});
.
catch
(
err
=>
{
this
.
$Message
.
error
(
"连接错误"
);
});
}
}
},
},
suspendOk
()
{
suspendOk
()
{
...
@@ -482,7 +543,10 @@ export default {
...
@@ -482,7 +543,10 @@ export default {
}
}
});
});
},
},
clsoeSpeedModal
()
{
this
.
SpeedModal
=
false
;
},
suspend
(
row
)
{
suspend
(
row
)
{
console
.
log
(
row
);
console
.
log
(
row
);
this
.
suspendModal
=
true
;
this
.
suspendModal
=
true
;
...
@@ -499,6 +563,53 @@ export default {
...
@@ -499,6 +563,53 @@ export default {
}
}
});
});
},
},
recycle
(
row
)
{
//回收订单
this
.
recycleModal
=
true
;
this
.
mesCode
=
row
.
mesCode
;
this
.
recovery
=
{
orderId
:
row
.
id
,
demandFinishDate
:
row
.
demandFinishDate
};
},
changeFinishiDate
()
{
let
temTime
=
this
.
recovery
.
demandFinishDate
;
this
.
recovery
.
demandFinishDate
=
""
;
this
.
recovery
.
demandFinishDate
=
this
.
getFormatDateEnd
(
temTime
);
Api
.
orderrecovery
(
this
.
recovery
)
.
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$Message
.
success
(
"回收成功"
);
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
this
.
recycleModal
=
false
;
}
})
.
catch
(
err
=>
{
this
.
$Message
.
error
(
"数据连接错误"
);
});
},
cancelRecycle
()
{
this
.
mesCode
=
""
;
this
.
recovery
=
{
orderId
:
null
,
demandFinishDate
:
""
//计划完成时间
};
this
.
recycleModal
=
false
;
},
getFinishedDate
(
value
)
{
this
.
recovery
.
demandFinishDate
=
value
;
},
getFormatDateEnd
(
dates
)
{
const
d
=
new
Date
(
dates
);
const
resDate
=
d
.
getFullYear
()
+
"-"
+
this
.
p
(
d
.
getMonth
()
+
1
)
+
"-"
+
this
.
p
(
d
.
getDate
())
+
" 23:59:59"
;
return
resDate
;
},
//截取字符串
//截取字符串
sliceStr
(
str
,
lenS
,
lenE
)
{
sliceStr
(
str
,
lenS
,
lenE
)
{
return
str
.
slice
(
lenS
,
lenE
);
return
str
.
slice
(
lenS
,
lenE
);
...
@@ -507,6 +618,9 @@ export default {
...
@@ -507,6 +618,9 @@ export default {
this
.
curId
=
0
;
this
.
curId
=
0
;
this
.
suspendModal
=
false
;
this
.
suspendModal
=
false
;
},
},
p
(
s
)
{
return
Number
(
s
)
<
10
?
"0"
+
s
:
s
;
},
l
(
key
)
{
l
(
key
)
{
let
vkey
=
"mes_order_watch"
+
"."
+
key
;
let
vkey
=
"mes_order_watch"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
;
return
this
.
$t
(
vkey
)
||
key
;
...
@@ -521,4 +635,5 @@ export default {
...
@@ -521,4 +635,5 @@ export default {
.ivu-btn-group {
.ivu-btn-group {
height: 21px !important;
height: 21px !important;
}
}
</
style
>
</
style
>
\ No newline at end of file
pages/order/monitoring/record.vue
View file @
cded697f
...
@@ -127,29 +127,38 @@ export default {
...
@@ -127,29 +127,38 @@ export default {
}
}
],
],
columnsProcess
:
[
columnsProcess
:
[
{
{
key
:
"
dispatch_id
"
,
key
:
"
processcode
"
,
title
:
"工
序Id
"
,
title
:
"工
艺文件编号
"
,
align
:
"left"
,
align
:
"left"
,
width
:
90
width
:
200
,
tooltip
:
true
,
},
{
key
:
"processname"
,
title
:
"工艺名称"
,
align
:
"left"
,
tooltip
:
true
,
},
},
{
{
key
:
"
dispatch_id
"
,
key
:
"
taskSeq
"
,
title
:
"工序号"
,
title
:
"工序号"
,
align
:
"left"
,
align
:
"left"
,
width
:
90
width
:
90
},
},
{
{
key
:
"d
ispatch_id
"
,
key
:
"d
etailName
"
,
title
:
"工序名称"
,
title
:
"工序名称"
,
align
:
"left"
,
align
:
"left"
,
width
:
350
width
:
350
,
tooltip
:
true
,
},
},
{
{
key
:
"desc"
,
key
:
"desc"
,
title
:
"暂停原因"
,
title
:
"暂停原因"
,
align
:
"left"
align
:
"left"
,
tooltip
:
true
,
},
},
{
{
key
:
"creatorUserId"
,
key
:
"creatorUserId"
,
...
@@ -162,7 +171,7 @@ export default {
...
@@ -162,7 +171,7 @@ export default {
{
{
key
:
"creationTime"
,
key
:
"creationTime"
,
title
:
"暂停时间"
,
title
:
"暂停时间"
,
align
:
"
left
"
,
align
:
"
center
"
,
width
:
180
width
:
180
}
}
],
],
...
@@ -190,16 +199,9 @@ export default {
...
@@ -190,16 +199,9 @@ export default {
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
},
methods
:
{
methods
:
{
// tabClick(tabIndex) {
// if (tabIndex == 2) {
// this.loadList();
// } else {
// this.$refs.grid.reload(this.easySearch);
// }
// },
loadList
()
{
loadList
()
{
let
params
=
{
let
params
=
{
FilterText
:
"dispatch_id=104"
FilterText
:
'order_id="'
+
this
.
eid
+
'"'
};
};
Api
.
pauseCauseGetpaged
(
params
)
Api
.
pauseCauseGetpaged
(
params
)
.
then
(
res
=>
{
.
then
(
res
=>
{
...
@@ -229,6 +231,7 @@ export default {
...
@@ -229,6 +231,7 @@ export default {
eid
(
v
)
{
eid
(
v
)
{
this
.
condition
.
orderId
.
value
=
v
;
this
.
condition
.
orderId
.
value
=
v
;
this
.
$refs
.
grid
.
reload
(
this
.
condition
);
this
.
$refs
.
grid
.
reload
(
this
.
condition
);
this
.
loadList
()
}
}
}
}
};
};
...
...
pages/order/monitoring/speed.vue
View file @
cded697f
...
@@ -353,6 +353,7 @@ export default {
...
@@ -353,6 +353,7 @@ export default {
.
then
(
res
=>
{
.
then
(
res
=>
{
if
(
res
.
success
)
{
if
(
res
.
success
)
{
this
.
$Message
.
success
(
"分卡成功"
);
this
.
$Message
.
success
(
"分卡成功"
);
this
.
$emit
(
"on-close"
)
}
else
{
}
else
{
this
.
$Message
.
error
(
"分卡失败"
);
this
.
$Message
.
error
(
"分卡失败"
);
}
}
...
...
pages/produce/execute/MaterialCollec/index.vue
View file @
cded697f
<
template
>
<
template
>
<div
class=
""
>
<div
class=
"
wu_bg
"
>
<div
class=
"star"
v-if=
"!starmodal"
>
<div
class=
"star"
v-if=
"!starmodal"
>
<a
class=
"start"
@
click=
"starFun"
>
<a
class=
"start"
@
click=
"starFun"
>
<Icon
type=
"md-play"
/>
物料领用
</a>
物料领用
</a>
</div>
</div>
<div
class=
"star flex fc-b"
v-else-if=
"starmodal"
>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"ios-pause"
/>
暂停
</Button>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"logo-angular"
/>
交检
</Button>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"ios-checkmark-circle-outline"
/>
完工
</Button>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"md-swap"
/>
转序交接
</Button>
</div>
<div
class=
"footer_box"
>
<div
class=
"ul_box fl"
>
<ul>
<li>
名称:名称1
</li>
<li>
图号:UIGT-763245
</li>
<li>
状态:未开工
</li>
<li>
订单编号:097543346
</li>
<li>
订单属性1:
</li>
<li>
订单属性2:
</li>
<li>
订单属性3:
</li>
<li>
计划数量:10
</li>
<li>
节点日期:2020-02-25
</li>
</ul>
</div>
<div
class=
"ul_box fl"
>
<ul>
<li>
工序名称:名称1
</li>
<li>
工序序号:UIGT-763245
</li>
<li>
派工数量:66
</li>
<li>
资源名称:23366
</li>
<li>
资源编号:986732038
</li>
<li>
人员信息:
</li>
<li>
开始时间:
</li>
<li>
结束时间:
</li>
<li>
单件工时:10
</li>
<li>
准备工时:2020-02-25
</li>
</ul>
</div>
<div
class=
"img_box fl"
>
图片区
</div>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
...
...
pages/produce/execute/ProcessCase/index.vue
View file @
cded697f
This diff is collapsed.
Click to expand it.
pages/produce/execute/ProcessCheck/index.vue
View file @
cded697f
<
template
>
<
template
>
<div
class=
""
>
<div
class=
"wu_bg"
>
<div
class=
"star"
v-if=
"!starmodal"
>
<div
class=
"wu_top"
>
<a
class=
"start"
@
click=
"starFun"
>
工艺查看
<Icon
type=
"md-play"
/>
</div>
工艺查看
</a>
</div>
<div
class=
"star flex fc-b"
v-else-if=
"starmodal"
>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"ios-pause"
/>
暂停
</Button>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"logo-angular"
/>
交检
</Button>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"ios-checkmark-circle-outline"
/>
完工
</Button>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"md-swap"
/>
转序交接
</Button>
</div>
<div
class=
"footer_box"
>
<div
class=
"ul_box fl"
>
<ul>
<li>
名称:名称1
</li>
<li>
图号:UIGT-763245
</li>
<li>
状态:未开工
</li>
<li>
订单编号:097543346
</li>
<li>
订单属性1:
</li>
<li>
订单属性2:
</li>
<li>
订单属性3:
</li>
<li>
计划数量:10
</li>
<li>
节点日期:2020-02-25
</li>
</ul>
</div>
<div
class=
"ul_box fl"
>
<ul>
<li>
工序名称:名称1
</li>
<li>
工序序号:UIGT-763245
</li>
<li>
派工数量:66
</li>
<li>
资源名称:23366
</li>
<li>
资源编号:986732038
</li>
<li>
人员信息:
</li>
<li>
开始时间:
</li>
<li>
结束时间:
</li>
<li>
单件工时:10
</li>
<li>
准备工时:2020-02-25
</li>
</ul>
</div>
<div
class=
"img_box fl"
>
图片区
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
...
...
pages/produce/execute/execute.less
View file @
cded697f
.execute_box{
.execute_box{
position: relative;
position: relative;
margin: 0px -10px;
.top_title{
.top_title{
height: 50px;
height: 50px;
line-height: 49px;
line-height: 49px;
text-align: center;
text-align: center;
font-weight: 600;
font-weight: 600;
padding: 0 15px;
border-bottom: 1px solid #CACBD0;
border-bottom: 1px solid #CACBD0;
}
}
.star{
.star{
...
@@ -24,10 +25,25 @@
...
@@ -24,10 +25,25 @@
line-height: 176px;
line-height: 176px;
font-size: 22px;
font-size: 22px;
color: #fff;
color: #fff;
}
}
.button{
.button{
margin: 0 9%;
margin: 0 9%;
}
}
.star_step{
padding: 24px;
.step_item{
display: inline-block;
width: 200px;
.icon_B{
i{
font-size: 40px;
}
}
ul,li{
list-style: disc;
}
}
}
}
}
.gd_list{
.gd_list{
position: absolute;
position: absolute;
...
@@ -217,6 +233,7 @@
...
@@ -217,6 +233,7 @@
margin: 20px 72px;
margin: 20px 72px;
width: 300px;
width: 300px;
height: 240px;
height: 240px;
border-color: #2680EB;
.ivu-card-head{
.ivu-card-head{
background: #d3e6fb;
background: #d3e6fb;
border-radius: 4px 4px 0px 0px;
border-radius: 4px 4px 0px 0px;
...
@@ -259,6 +276,7 @@
...
@@ -259,6 +276,7 @@
}
}
.gs_card:hover {
.gs_card:hover {
border-color: #2680EB;
border-color: #2680EB;
box-shadow: 0px 6px 9px #484040b5;
}
}
.gs_add{
.gs_add{
border: 1px dashed #2680EB;
border: 1px dashed #2680EB;
...
@@ -271,4 +289,106 @@
...
@@ -271,4 +289,106 @@
}
}
}
}
}
}
}
.add_user{
.gd_userB{
border: 1px solid #ccc;
padding: 10px;
height: 440px;
overflow-x: auto;
.user_item {
max-width: 160px;
display: inline-block;
width: 160px;
height: 56px;
border-radius: 28px 4px 4px 28px;
border: 1px solid #2d8cf0;
margin: 15px 23px;
i {
font-size: 56px;
float: left;
color: #2680EB;
}
.gd_user {
padding: 6px;
color: #707070;
}
.user_bg {
// border: 3px solid #ceb0b0;
border-radius: 25px 4px 4px 25px;
height: 54px;
background: #2680eb;
color: #fff;
i {
font-size: 56px;
color: #ffffff;
}
.gd_user {
padding: 6px;
color: #fff;
}
}
}
}
}
.wu_bg{
height: calc(100vh - 165px);
}
.case_top{
padding: 15px 70px 10px;
.sear_btn{
width: calc(100% - 80px);
display: inline-block;
.search_box{
width: 200px;
float: left;
}
a{
display: inline-block;
width: 65px;
height: 33px;
line-height: 40px;
text-align: center;
i{
font-size: 24px;
}
}
}
.slip{
margin-right: 20px;
i.ivu-icon{
font-size: 32px;
transform:rotate(90deg);
-ms-transform:rotate(90deg); /* Internet Explorer */
-moz-transform:rotate(90deg); /* Firefox */
-webkit-transform:rotate(90deg); /* Safari 和 Chrome */
-o-transform:rotate(90deg); /* Opera */
}
}
}
.case_box{
padding: 10px 20px;
height: calc(100vh - 210px);
overflow-y: auto;
.file_card{
background: #F5F6FA;
margin: 10px 50px;
width: 360px;
padding: 18px;
height: 110px;
line-height: 24px;
.ivu-checkbox {
display: none;
}
.file {
display: block;
width: 60px;
height: 64px;
float: left;
margin: 0 8px 0 0;
i{
font-size: 58px;
}
}
}
}
}
\ No newline at end of file
pages/produce/execute/index.vue
View file @
cded697f
...
@@ -4,21 +4,10 @@
...
@@ -4,21 +4,10 @@
<
template
>
<
template
>
<div
class=
"execute_box"
>
<div
class=
"execute_box"
>
<div
class=
"top_title"
>
<div
class=
"top_title"
>
<span
class=
"fl"
>
{{
orderTitle
}}
--
{{
orderindex
}}
</span>
<span
class=
"fl"
>
{{
orderTitle
}}
</span>
<div>
工单编号: 12001011
</div>
<div>
工单编号: 12001011
</div>
</div>
</div>
<component
:is=
"detail"
:gdid=
"gdId"
/>
<starOrder
v-if=
"orderindex==0"
ref=
"starOrder"
/>
<MaterialCollec
v-else-if=
"orderindex==1"
ref=
"MaterialCollec"
/>
<productSet
v-else-if=
"orderindex==2"
ref=
"productSet"
/>
<taskTime
v-else-if=
"orderindex==3"
ref=
"taskTime"
/>
<preparation
v-else-if=
"orderindex==4"
ref=
"preparation"
/>
<ProcessCheck
v-else-if=
"orderindex==5"
ref=
"ProcessCheck"
/>
<ProcessCase
v-else-if=
"orderindex==6"
ref=
"ProcessCase"
/>
<judgment
v-else-if=
"orderindex==7"
ref=
"judgment"
/>
<datafilling
v-else-if=
"orderindex==8"
ref=
"datafilling"
/>
<testdata
v-else-if=
"orderindex==9"
ref=
"testdata"
/>
<a
class=
"gd_list"
@
click=
"orderlistMode = true"
>
工单列表
</a>
<a
class=
"gd_list"
@
click=
"orderlistMode = true"
>
工单列表
</a>
<a
class=
"gn_area"
@
click=
"functionalMode = true"
>
功能区
</a>
<a
class=
"gn_area"
@
click=
"functionalMode = true"
>
功能区
</a>
<!-- 工单列表 -->
<!-- 工单列表 -->
...
@@ -47,29 +36,17 @@
...
@@ -47,29 +36,17 @@
<
script
>
<
script
>
import
functional
from
"./components/functional"
;
import
functional
from
"./components/functional"
;
import
orderlist
from
"./components/orderlist"
;
import
orderlist
from
"./components/orderlist"
;
import
starOrder
from
"./starOrder/index"
;
import
MaterialCollec
from
"./MaterialCollec/index"
;
import
productSet
from
"./productSet/index"
;
import
taskTime
from
"./taskTime/index"
;
import
preparation
from
"./preparation/index"
;
import
ProcessCheck
from
"./ProcessCheck/index"
;
import
ProcessCase
from
"./ProcessCase/index"
;
import
judgment
from
"./judgment/index"
;
import
datafilling
from
"./datafilling/index"
;
import
testdata
from
"./testdata/index"
;
export
default
{
export
default
{
components
:
{
functional
,
orderlist
,
components
:
{
functional
,
orderlist
,},
starOrder
,
MaterialCollec
,
productSet
,
taskTime
,
preparation
,
ProcessCheck
,
ProcessCase
,
judgment
,
datafilling
,
testdata
},
data
(){
data
(){
return
{
return
{
orderTitle
:
'进度汇报'
,
orderTitle
:
'进度汇报'
,
orderindex
:
0
,
orderindex
:
0
,
gdId
:
0
,
starmodal
:
true
,
starmodal
:
true
,
orderlistMode
:
false
,
orderlistMode
:
false
,
functionalMode
:
false
,
functionalMode
:
false
,
detail
:
null
,
odermodel
:
'全部'
,
odermodel
:
'全部'
,
oderList
:[
oderList
:[
{
{
...
@@ -98,19 +75,12 @@ export default {
...
@@ -98,19 +75,12 @@ export default {
}
}
},
},
created
()
{
created
()
{
// this.treeHeight = window.innerHeight - 120
;
this
.
detail
=
()
=>
import
(
"./starOrder/index"
)
;
},
},
async
fetch
({
store
,
params
})
{
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
},
mounted
()
{
mounted
()
{},
window
.
onresize
=
()
=>
{
///浏览器窗口大小变化
return
(()
=>
{
this
.
treeHeight
=
window
.
innerHeight
-
120
;
})();
};
},
methods
:
{
methods
:
{
starFun
(){
starFun
(){
this
.
$Message
.
success
(
"开工..."
)
this
.
$Message
.
success
(
"开工..."
)
...
@@ -122,7 +92,6 @@ export default {
...
@@ -122,7 +92,6 @@ export default {
this
.
$refs
.
orderlist
.
loadTree
();
this
.
$refs
.
orderlist
.
loadTree
();
}
else
{
}
else
{
allList
.
map
((
u
,
i
)
=>
{
allList
.
map
((
u
,
i
)
=>
{
// console.log(i,":",u)
if
(
u
.
status
==
value
){
if
(
u
.
status
==
value
){
newitems
.
push
(
u
)
newitems
.
push
(
u
)
}
}
...
@@ -133,6 +102,16 @@ export default {
...
@@ -133,6 +102,16 @@ export default {
changeTitle
(
number
,
type
){
changeTitle
(
number
,
type
){
this
.
orderTitle
=
type
this
.
orderTitle
=
type
this
.
orderindex
=
number
this
.
orderindex
=
number
if
(
number
==
0
){
this
.
detail
=
()
=>
import
(
"./starOrder/index"
);}
//进度汇报
if
(
number
==
1
){
this
.
detail
=
()
=>
import
(
"./MaterialCollec/index"
);}
//物料领用
if
(
number
==
2
){
this
.
detail
=
()
=>
import
(
"./productSet/index"
);}
//产品装配
if
(
number
==
3
){
this
.
detail
=
()
=>
import
(
"./taskTime/index"
);}
//工时分配
if
(
number
==
4
){
this
.
detail
=
()
=>
import
(
"./preparation/index"
);}
//生产准备
if
(
number
==
5
){
this
.
detail
=
()
=>
import
(
"./ProcessCheck/index"
);}
//工艺查看
if
(
number
==
6
){
this
.
detail
=
()
=>
import
(
"./ProcessCase/index"
);}
//工艺案例
if
(
number
==
7
){
this
.
detail
=
()
=>
import
(
"./judgment/index"
);}
//质量判定
if
(
number
==
8
){
this
.
detail
=
()
=>
import
(
"./datafilling/index"
);}
//数据填报
if
(
number
==
9
){
this
.
detail
=
()
=>
import
(
"./testdata/index"
);}
//测试数据
},
},
},
},
}
}
...
...
pages/produce/execute/starOrder/index.vue
View file @
cded697f
...
@@ -6,11 +6,31 @@
...
@@ -6,11 +6,31 @@
<Icon
type=
"md-play"
/>
<Icon
type=
"md-play"
/>
开工
</a>
开工
</a>
</div>
</div>
<div
class=
"star flex fc-b"
v-else-if=
"starmodal"
>
<div
class=
"star"
v-else-if=
"starmodal"
>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"ios-pause"
/>
暂停
</Button>
<div
class=
" flex fc-b"
>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"logo-angular"
/>
交检
</Button>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"ios-pause"
/>
暂停
</Button>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"ios-checkmark-circle-outline"
/>
完工
</Button>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"logo-angular"
/>
交检
</Button>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"md-swap"
/>
转序交接
</Button>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"ios-checkmark-circle-outline"
/>
完工
</Button>
<Button
class=
"button"
size=
'large'
type=
"primary"
><Icon
type=
"md-swap"
/>
转序交接
</Button>
</div>
<div
class=
"star_step"
>
<div
class=
"step_item"
v-for=
"i of 6"
:key=
"i"
>
<p
class=
"icon_B"
>
<Icon
type=
"md-arrow-dropright-circle"
/>
</p>
<p><a>
开工
</a></p>
<ul>
<li>
暂停 2020-02-06 15:35
</li>
<li>
继续 2020-02-06 15:35
</li>
</ul>
</div>
<!--
<p><span></span>
2020-02-06 15:35
</p>
-->
<!--
<Steps
:current=
"6"
>
<Step
icon=
"md-arrow-dropright-circle"
v-for=
"i of 6"
:key=
"i"
:content=
"contentMsge"
></Step>
</Steps>
-->
</div>
</div>
</div>
<div
class=
"footer_box"
>
<div
class=
"footer_box"
>
<div
class=
"ul_box fl"
>
<div
class=
"ul_box fl"
>
...
@@ -52,6 +72,7 @@ export default {
...
@@ -52,6 +72,7 @@ export default {
data
(){
data
(){
return
{
return
{
starmodal
:
true
,
starmodal
:
true
,
contentMsge
:
"<ul><li>暂停 2020-02-06 15:35</li><li>继续 2020-02-06 15:35</li></ul>"
,
}
}
},
},
created
()
{
created
()
{
...
...
pages/produce/execute/taskTime/add.vue
View file @
cded697f
<
template
>
<
template
>
<div>
<div
class=
"add_user"
>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"100"
>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"100"
>
<Row>
<Row>
<Col
span=
"
12
"
>
<Col
span=
"
8
"
>
<FormItem
label=
"所属车间"
>
<FormItem
label=
"所属车间"
>
<Input
v-model=
"entity.projectNo"
disabled
></Input>
<Select
v-model=
"entity.che"
style=
"width:200px"
>
<Option
v-for=
"item in cityList"
:value=
"item.value"
:key=
"item.value"
>
{{
item
.
label
}}
</Option>
</Select>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
span=
"
12
"
>
<Col
span=
"
8
"
>
<FormItem
label=
"所属班组"
>
<FormItem
label=
"所属班组"
>
<Input
v-model=
"entity.productName"
disabled
></Input>
<Select
v-model=
"entity.productName"
style=
"width:200px"
>
<Option
v-for=
"item in cityList"
:value=
"item.value"
:key=
"item.value"
>
{{
item
.
label
}}
</Option>
</Select>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
span=
"
12
"
>
<Col
span=
"
8
"
>
<FormItem
label=
"
数字
"
>
<FormItem
label=
""
>
<Input
Number
v-model=
"entity.outSideTime"
style=
"width:150px;"
:min=
"0"
></InputNumber
>
<Input
search
enter-button
placeholder=
"请输入编号"
/
>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
span=
"24"
class=
"mb20"
>
<div
class=
"gd_userB"
>
<a
class=
"user_item"
@
click=
"checkItem(index)"
v-for=
"(item,index) in listMan"
:key=
"index"
>
<div
:class=
"
{user_bg:item.checked}" >
<Icon
type=
"md-contact"
/>
<div
class=
"gd_user"
>
<span
class=
"user_name"
>
{{
item
.
userName
}}
</span>
<span
class=
"user_number"
>
{{
item
.
userCode
}}
</span>
</div>
</div>
</a>
</div>
</Col>
<Col
span=
"24"
>
<FormItem
label=
"分配工时"
>
<InputNumber
:max=
"30"
:min=
"0"
v-model=
"value1"
></InputNumber>
天
<InputNumber
:max=
"23"
:min=
"0"
v-model=
"value1"
></InputNumber>
小时
<InputNumber
:max=
"59"
:min=
"1"
v-model=
"value1"
></InputNumber>
分钟
</FormItem>
</Col>
</Row>
</Row>
</Form>
</Form>
<Row>
<Row>
...
@@ -33,13 +59,51 @@ export default {
...
@@ -33,13 +59,51 @@ export default {
data
(){
data
(){
return
{
return
{
admor
:
1
,
admor
:
1
,
value1
:
1
,
u_bgFlag
:
false
,
entity
:
{
entity
:
{
},
},
rules
:
{
rules
:
{
outSideTime
:
[
outSideTime
:
[
{
required
:
true
,
message
:
"必填"
,
type
:
"number"
,
trigger
:
"change"
}
{
required
:
true
,
message
:
"必填"
,
type
:
"number"
,
trigger
:
"change"
}
]
]
}
},
cityList
:[
{
value
:
'车间A1'
,
label
:
'车间A1'
},{
value
:
'车间A2'
,
label
:
'车间A2'
},{
value
:
'车间A3'
,
label
:
'车间A3'
},{
value
:
'车间A4'
,
label
:
'车间A4'
},{
value
:
'车间A5'
,
label
:
'车间A5'
},
],
listMan
:[
{
checked
:
false
,
userName
:
'张珊珊1'
,
userCode
:
'08965481'
,
id
:
1
},{
checked
:
false
,
userName
:
'张珊珊2'
,
userCode
:
'08965482'
,
id
:
2
},{
checked
:
false
,
userName
:
'张珊珊3'
,
userCode
:
'08965483'
,
id
:
3
}
],
}
}
},
},
methods
:
{
methods
:
{
...
@@ -49,6 +113,9 @@ export default {
...
@@ -49,6 +113,9 @@ export default {
handleClose
(){
handleClose
(){
this
.
$emit
(
"on-close"
);
this
.
$emit
(
"on-close"
);
},
},
checkItem
(
i
){
this
.
listMan
[
i
].
checked
=
!
this
.
listMan
[
i
].
checked
;
},
},
},
}
}
</
script
>
</
script
>
\ No newline at end of file
pages/produce/execute/taskTime/index.vue
View file @
cded697f
...
@@ -87,11 +87,11 @@ export default {
...
@@ -87,11 +87,11 @@ export default {
},
},
delItem
(){
delItem
(){
this
.
$Modal
.
confirm
({
this
.
$Modal
.
confirm
({
title
:
this
.
title
,
title
:
this
.
title
,
content
:
"<p>"
+
this
.
msg
+
"</p>"
,
content
:
"<p>"
+
this
.
msg
+
"</p>"
,
onOk
:
()
=>
{
onOk
:
()
=>
{
this
.
$Message
.
success
(
"删除工时..."
)
this
.
$Message
.
success
(
"删除工时..."
)
}
}
});
});
},
},
cancel
(){
cancel
(){
...
...
pages/produce/orderlist.vue
0 → 100644
View file @
cded697f
<
template
>
<div
class=
""
>
<div
class=
""
>
<Button
@
click=
"toExecute"
>
工单执行
</Button>
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
'starOrder'
,
data
(){
return
{
starmodal
:
false
,
}
},
created
()
{
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
mounted
()
{
},
methods
:
{
toExecute
(){
this
.
$router
.
push
(
"/produce/execute"
);
},
},
}
</
script
>
pages/technology/details/detail.vue
View file @
cded697f
...
@@ -13,14 +13,14 @@
...
@@ -13,14 +13,14 @@
<Filed
:span=
"12"
:name=
"l('isImportantResources')"
>
<Filed
:span=
"12"
:name=
"l('isImportantResources')"
>
<state
code=
"Process.state"
:value=
"entity.isImportantResources"
type=
"text"
></state>
<state
code=
"Process.state"
:value=
"entity.isImportantResources"
type=
"text"
></state>
</Filed>
</Filed>
<Filed
:span=
"12"
:name=
"l('schedulingWorkingHours')"
>
{{
entity
.
schedulingWorkingHours
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('schedulingWorkingHours')"
>
<OutputTime
:value=
"entity.schedulingWorkingHours"
></OutputTime>
</Filed>
<Filed
:span=
"12"
:name=
"l('runtime')"
>
{{
entity
.
runtime
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('runtime')"
>
<OutputTime
:value=
"entity.runtime"
></OutputTime>
</Filed>
<Filed
:span=
"12"
:name=
"l('realRuntime')"
>
{{
entity
.
realRuntime
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('realRuntime')"
>
<OutputTime
:value=
"entity.realRuntime"
></OutputTime>
</Filed>
<Filed
:span=
"12"
:name=
"l('realWorkingHours')"
>
{{
entity
.
realWorkingHours
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('realWorkingHours')"
>
<OutputTime
:value=
"entity.realWorkingHours"
></OutputTime>
</Filed>
<Filed
:span=
"12"
:name=
"l('isOutside')"
>
<Filed
:span=
"12"
:name=
"l('isOutside')"
>
<state
code=
"Process.state"
:value=
"entity.isOutside"
type=
"text"
></state>
<state
code=
"Process.state"
:value=
"entity.isOutside"
type=
"text"
></state>
</Filed>
</Filed>
<Filed
:span=
"12"
:name=
"l('outsideTime')"
>
{{
entity
.
outsideTime
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('outsideTime')"
>
<OutputTime
:value=
"entity.outsideTime"
></OutputTime>
</Filed>
<Filed
:span=
"12"
:name=
"l('isParticipateIntime')"
>
<Filed
:span=
"12"
:name=
"l('isParticipateIntime')"
>
<state
code=
"Process.state"
:value=
"entity.isParticipateIntime"
type=
"text"
></state>
<state
code=
"Process.state"
:value=
"entity.isParticipateIntime"
type=
"text"
></state>
</Filed>
</Filed>
...
...
pages/technology/details/index.vue
View file @
cded697f
...
@@ -94,7 +94,7 @@ export default {
...
@@ -94,7 +94,7 @@ export default {
key
:
"resourceCode"
,
key
:
"resourceCode"
,
title
:
this
.
l
(
"resourceCode"
),
title
:
this
.
l
(
"resourceCode"
),
align
:
"left"
,
align
:
"left"
,
easy
:
true
,
easy
:
true
},
},
{
{
key
:
"isImportantResources"
,
key
:
"isImportantResources"
,
...
@@ -106,19 +106,27 @@ export default {
...
@@ -106,19 +106,27 @@ export default {
{
{
key
:
"schedulingWorkingHours"
,
key
:
"schedulingWorkingHours"
,
title
:
this
.
l
(
"schedulingWorkingHours"
),
title
:
this
.
l
(
"schedulingWorkingHours"
),
align
:
"right"
align
:
"right"
,
type
:
"outputTime"
,
},
},
{
key
:
"runtime"
,
title
:
this
.
l
(
"runtime"
),
align
:
"right"
},
{
key
:
"runtime"
,
title
:
this
.
l
(
"runtime"
),
align
:
"right"
,
type
:
"outputTime"
,
},
{
{
key
:
"realRuntime"
,
key
:
"realRuntime"
,
title
:
this
.
l
(
"realRuntime"
),
title
:
this
.
l
(
"realRuntime"
),
align
:
"right"
align
:
"right"
,
type
:
"outputTime"
,
},
},
{
{
key
:
"outsideTime"
,
key
:
"outsideTime"
,
title
:
this
.
l
(
"outsideTime"
),
title
:
this
.
l
(
"outsideTime"
),
align
:
"right"
align
:
"right"
,
type
:
"outputTime"
,
},
},
{
{
...
@@ -277,7 +285,12 @@ export default {
...
@@ -277,7 +285,12 @@ export default {
{
{
attrs
:
{
oprate
:
"detail"
},
attrs
:
{
oprate
:
"detail"
},
on
:
{
on
:
{
click
:
()
=>
this
.
addStep
(
params
.
row
.
id
,
params
.
row
.
name
,
params
.
row
.
maxNumStep
)
click
:
()
=>
this
.
addStep
(
params
.
row
.
id
,
params
.
row
.
name
,
params
.
row
.
maxNumStep
)
}
}
},
},
"新增"
"新增"
...
@@ -313,7 +326,7 @@ export default {
...
@@ -313,7 +326,7 @@ export default {
],
],
list
:
[],
list
:
[],
maxNum
:
0
,
maxNum
:
0
,
maxNumTemp
:
0
,
maxNumTemp
:
0
};
};
},
},
created
()
{
created
()
{
...
@@ -322,7 +335,7 @@ export default {
...
@@ -322,7 +335,7 @@ export default {
}
else
{
}
else
{
this
.
easySearch
.
routingHeaderId
.
value
=
this
.
$route
.
query
.
id
;
this
.
easySearch
.
routingHeaderId
.
value
=
this
.
$route
.
query
.
id
;
}
}
this
.
hid
=
Number
(
this
.
easySearch
.
routingHeaderId
.
value
);
this
.
hid
=
Number
(
this
.
easySearch
.
routingHeaderId
.
value
);
},
},
mounted
()
{
mounted
()
{
this
.
load
();
this
.
load
();
...
@@ -385,7 +398,7 @@ export default {
...
@@ -385,7 +398,7 @@ export default {
},
},
add
()
{
add
()
{
this
.
curId
=
0
;
this
.
curId
=
0
;
this
.
maxNum
=
this
.
maxNumTemp
this
.
maxNum
=
this
.
maxNumTemp
;
this
.
title
=
"新增"
;
this
.
title
=
"新增"
;
this
.
detail
=
()
=>
import
(
"./add"
);
this
.
detail
=
()
=>
import
(
"./add"
);
this
.
modal
=
true
;
this
.
modal
=
true
;
...
@@ -420,10 +433,10 @@ export default {
...
@@ -420,10 +433,10 @@ export default {
this
.
curId
=
0
;
this
.
curId
=
0
;
this
.
modal
=
false
;
this
.
modal
=
false
;
},
},
addStep
(
detailId
,
detailName
,
detailMaxNumStep
)
{
addStep
(
detailId
,
detailName
,
detailMaxNumStep
)
{
this
.
curId
=
detailId
;
this
.
curId
=
detailId
;
this
.
curName
=
detailName
;
this
.
curName
=
detailName
;
this
.
maxNum
=
detailMaxNumStep
;
this
.
maxNum
=
detailMaxNumStep
;
this
.
title
=
"新增工步"
;
this
.
title
=
"新增工步"
;
this
.
detail
=
()
=>
import
(
"./routingStep/add"
);
this
.
detail
=
()
=>
import
(
"./routingStep/add"
);
this
.
modal
=
true
;
this
.
modal
=
true
;
...
...
pages/technology/details/routinghcorder/index.vue
View file @
cded697f
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<template
slot=
"easySearch"
>
<template
slot=
"easySearch"
>
<Form
ref=
"formInline"
:model=
"easySearch"
inline
>
<Form
ref=
"formInline"
:model=
"easySearch"
inline
>
<FormItem
prop=
"keys"
>
<FormItem
prop=
"keys"
>
<Input
placeholder=
"请输入关键字更改单编号"
v-model=
"easySearch.keys.value"
/>
<Input
placeholder=
"请输入关键字更改单编号"
v-model=
"easySearch.keys.value"
v-width=
"260"
/>
</FormItem>
</FormItem>
<FormItem>
<FormItem>
<Button
type=
"primary"
@
click=
"search"
>
查询
</Button>
<Button
type=
"primary"
@
click=
"search"
>
查询
</Button>
...
...
pages/technology/details/routingqccard/add.vue
View file @
cded697f
...
@@ -70,6 +70,11 @@
...
@@ -70,6 +70,11 @@
</Select>
</Select>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('checkType')"
prop=
"checkType"
>
<Dictionary
code=
"QC.checktype"
v-model=
"entity.checkType"
type=
"checkbox"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"12"
>
<Col
:span=
"12"
>
<FormItem
:label=
"l('checkParams')"
prop=
"checkParams"
>
<FormItem
:label=
"l('checkParams')"
prop=
"checkParams"
>
<Input
v-model=
"entity.checkParams"
></Input>
<Input
v-model=
"entity.checkParams"
></Input>
...
@@ -80,24 +85,15 @@
...
@@ -80,24 +85,15 @@
<Input
v-model=
"entity.standard"
></Input>
<Input
v-model=
"entity.standard"
></Input>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
>
<Col
:span=
"12"
>
<FormItem
:label=
"l('checkType')"
prop=
"checkType"
>
<Dictionary
code=
"QC.checktype"
v-model=
"entity.checkType"
@
on-change=
"checkChange"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"12"
v-if=
"raidoDis"
>
<FormItem
:label=
"l('isphotograph')"
prop=
"isphotograph"
>
<FormItem
:label=
"l('isphotograph')"
prop=
"isphotograph"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.isphotograph"
type=
"radio"
></Dictionary>
<Dictionary
code=
"Process.state"
v-model=
"entity.isphotograph"
type=
"radio"
></Dictionary>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
>
<Col
:span=
"12"
>
<FormItem
:label=
"l('fillintype')"
prop=
"fillintype"
>
<FormItem
:label=
"l('fillintype')"
prop=
"fillintype"
>
<Dictionary
code=
"QC.fillintype"
v-model=
"entity.fillintype"
></Dictionary>
<Dictionary
code=
"QC.fillintype"
v-model=
"entity.fillintype"
type=
"radio"
></Dictionary>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"24"
>
<Col
:span=
"24"
>
...
@@ -111,8 +107,13 @@
...
@@ -111,8 +107,13 @@
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"24"
>
<Col
:span=
"24"
>
<FormItem
:label=
"l('qualityTemplateName')"
prop=
"qualityTemplateName"
>
<FormItem
:label=
"l('qualityTemplate')"
prop=
"qualityTemplate"
>
<inputFile
v-model=
"tempFile"
:parms=
"parms"
/>
<InputFile
v-model=
"entity.qualityTemplate"
:parms=
"parms"
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('status')"
prop=
"status"
>
<Dictionary
code=
"QC.status"
v-model=
"entity.status"
type=
"radio"
></Dictionary>
</FormItem>
</FormItem>
</Col>
</Col>
<!--
<!--
...
@@ -154,11 +155,7 @@
...
@@ -154,11 +155,7 @@
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"8"
>
<FormItem
:label=
"l('status')"
prop=
"status"
>
<Dictionary
code=
"Process.Status"
v-model=
"entity.status"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"24"
>
<Col
:span=
"24"
>
...
@@ -188,13 +185,13 @@ export default {
...
@@ -188,13 +185,13 @@ export default {
routingDetailId
:
null
,
routingDetailId
:
null
,
routingStepId
:
0
,
routingStepId
:
0
,
checkContent
:
""
,
checkContent
:
""
,
checkType
:
null
,
checkType
:
[
1
]
,
checkParams
:
""
,
checkParams
:
""
,
measurementUnit
:
""
,
measurementUnit
:
""
,
fillintype
:
null
,
fillintype
:
2
,
qualityTemplate
:
""
,
qualityTemplate
:
""
,
isphotograph
:
null
,
isphotograph
:
0
,
status
:
null
,
status
:
1
,
extend
:
""
,
extend
:
""
,
remark
:
""
,
remark
:
""
,
productionRequirement
:
""
,
productionRequirement
:
""
,
...
@@ -210,12 +207,21 @@ export default {
...
@@ -210,12 +207,21 @@ export default {
tempFile
:
""
,
tempFile
:
""
,
rules
:
{
rules
:
{
routingDetailId
:
[
routingDetailId
:
[
{
required
:
true
,
message
:
"请选择工序
名称
"
,
type
:
"number"
}
{
required
:
true
,
message
:
"请选择工序"
,
type
:
"number"
}
],
],
checkContent
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}]
checkContent
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
checkType
:
[
{
required
:
true
,
message
:
"检测类型至少选择一项"
,
type
:
"array"
,
min
:
1
,
trigger
:
"change"
}
]
},
},
routingDetailList
:
[],
routingDetailList
:
[],
parms
:
"app=qccard&eid="
+
this
.
$u
.
guid
()
+
"&name=
''
"
parms
:
"app=qccard&eid="
+
this
.
$u
.
guid
()
+
"&name=
qualityTemplateName
"
// parms: {
// parms: {
// app: "qccard",
// app: "qccard",
// eid: null,
// eid: null,
...
@@ -231,8 +237,6 @@ export default {
...
@@ -231,8 +237,6 @@ export default {
},
},
mounted
()
{
mounted
()
{
this
.
loadDetails
();
this
.
loadDetails
();
this
.
parms
.
eid
=
this
.
$u
.
guid
();
this
.
$refs
.
refFile
.
intFiles
();
},
},
methods
:
{
methods
:
{
handleSubmit
()
{
handleSubmit
()
{
...
@@ -247,23 +251,7 @@ export default {
...
@@ -247,23 +251,7 @@ export default {
this
.
entity
.
qualityTemplateName
=
""
;
this
.
entity
.
qualityTemplateName
=
""
;
this
.
entity
.
qualityTemplate
=
""
;
this
.
entity
.
qualityTemplate
=
""
;
}
}
// if (this.$refs.refFile.nameList.length > 0) {
// let nameList = this.$refs.refFile.nameList;
// let names = [];
// let url = [];
// nameList.forEach(e => {
// names.push(e.fileName);
// url.push(e.filePath);
// });
// this.entity.qualityTemplateName = JSON.stringify(names)
// .replace("[", "")
// .replace("]", "")
// .replace(/\"/g, ""); //附件本地库暂存文件名称
// this.entity.qualityTemplate = JSON.stringify(url)
// .replace("[", "")
// .replace("]", "")
// .replace(/\"/g, "");
// }
this
.
entity
.
routingHeaderId
=
this
.
headid
;
this
.
entity
.
routingHeaderId
=
this
.
headid
;
Api
.
create
(
this
.
entity
)
Api
.
create
(
this
.
entity
)
...
@@ -272,8 +260,6 @@ export default {
...
@@ -272,8 +260,6 @@ export default {
if
(
r
.
success
)
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"保存成功"
);
this
.
$Message
.
success
(
"保存成功"
);
this
.
$emit
(
"on-ok"
);
this
.
$emit
(
"on-ok"
);
//let newId = r.result
//this.updateEid(newId) //更新服务器上的id
}
else
{
}
else
{
this
.
$Message
.
error
(
"保存失败"
);
this
.
$Message
.
error
(
"保存失败"
);
}
}
...
@@ -306,41 +292,12 @@ export default {
...
@@ -306,41 +292,12 @@ export default {
tempDetails
.
forEach
(
data
=>
{
tempDetails
.
forEach
(
data
=>
{
let
tempObj
=
{};
let
tempObj
=
{};
tempObj
.
value
=
data
.
id
;
tempObj
.
value
=
data
.
id
;
tempObj
.
label
=
data
.
name
;
tempObj
.
label
=
data
.
taskSeq
+
" "
+
data
.
name
;
tempD
.
push
(
tempObj
);
tempD
.
push
(
tempObj
);
});
});
this
.
routingDetailList
=
tempD
;
this
.
routingDetailList
=
tempD
;
});
});
},
},
//新增时将uid转为eid
updateEid
(
newId
)
{
let
parms
=
{
eid
:
this
.
parms
.
eid
,
id
:
newId
+
""
};
this
.
$http
.
sysUser
.
updateEid
(
parms
).
then
(
res
=>
{
if
(
res
.
status
)
{
// this.$Message.success('修改成功!')
}
else
{
//this.$Message.error('修改失败!')
}
});
},
checkChange
(
v
)
{
if
(
v
==
1
||
v
==
2
)
{
this
.
raidoDis
=
false
;
this
.
entity
.
isphotograph
=
null
;
}
else
{
this
.
raidoDis
=
true
;
if
(
this
.
entity
.
isphotograph
==
null
)
{
this
.
entity
.
isphotograph
=
1
;
}
}
},
clearCheck
()
{
this
.
raidoDis
=
false
;
this
.
entity
.
isphotograph
=
null
;
},
l
(
key
)
{
l
(
key
)
{
key
=
"routing_qc_card"
+
"."
+
key
;
key
=
"routing_qc_card"
+
"."
+
key
;
return
this
.
$t
(
key
);
return
this
.
$t
(
key
);
...
...
pages/technology/details/routingqccard/edit.vue
View file @
cded697f
<
template
>
<
template
>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"100"
>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"100"
>
<Row>
<Row>
<!--
<Col
:span=
"12"
>
<FormItem
:label=
"l('creationTime')"
prop=
"creationTime"
>
<DatePicker
type=
"date"
v-model=
"entity.creationTime"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('creatorUserId')"
prop=
"creatorUserId"
>
<InputNumber
v-model=
"entity.creatorUserId"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('lastModificationTime')"
prop=
"lastModificationTime"
>
<DatePicker
type=
"date"
v-model=
"entity.lastModificationTime"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('lastModifierUserId')"
prop=
"lastModifierUserId"
>
<InputNumber
v-model=
"entity.lastModifierUserId"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('isDeleted')"
prop=
"isDeleted"
>
<Input
v-model=
"entity.isDeleted"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('deleterUserId')"
prop=
"deleterUserId"
>
<InputNumber
v-model=
"entity.deleterUserId"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('deletionTime')"
prop=
"deletionTime"
>
<DatePicker
type=
"date"
v-model=
"entity.deletionTime"
></DatePicker>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('extend')"
prop=
"extend"
>
<Input
v-model=
"entity.extend"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('routingStepId')"
prop=
"routingStepId"
>
<InputNumber
v-model=
"entity.routingStepId"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('routingHeaderName')"
prop=
"routingHeaderId"
>
<InputNumber
v-model=
"entity.routingHeaderId"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('qualityTemplate')"
prop=
"qualityTemplate"
>
<Input
v-model=
"entity.qualityTemplate"
type=
"textarea"
:rows=
"2"
></Input>
</FormItem>
</Col>
-->
<Col
:span=
"12"
>
<Col
:span=
"12"
>
<FormItem
:label=
"l('routingDetailName')"
prop=
"routingDetailId"
>
<FormItem
:label=
"l('routingDetailName')"
prop=
"routingDetailId"
>
<Select
v-model=
"entity.routingDetailId"
>
<Select
v-model=
"entity.routingDetailId"
>
...
@@ -12,6 +70,11 @@
...
@@ -12,6 +70,11 @@
</Select>
</Select>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('checkType')"
prop=
"checkType"
>
<Dictionary
code=
"QC.checktype"
v-model=
"entity.checkType"
type=
"checkbox"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"12"
>
<Col
:span=
"12"
>
<FormItem
:label=
"l('checkParams')"
prop=
"checkParams"
>
<FormItem
:label=
"l('checkParams')"
prop=
"checkParams"
>
<Input
v-model=
"entity.checkParams"
></Input>
<Input
v-model=
"entity.checkParams"
></Input>
...
@@ -22,24 +85,15 @@
...
@@ -22,24 +85,15 @@
<Input
v-model=
"entity.standard"
></Input>
<Input
v-model=
"entity.standard"
></Input>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
>
<Col
:span=
"12"
>
<FormItem
:label=
"l('checkType')"
prop=
"checkType"
>
<Dictionary
code=
"QC.checktype"
v-model=
"entity.checkType"
@
on-change=
"checkChange"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"12"
v-if=
"raidoDis"
>
<FormItem
:label=
"l('isphotograph')"
prop=
"isphotograph"
>
<FormItem
:label=
"l('isphotograph')"
prop=
"isphotograph"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.isphotograph"
type=
"radio"
></Dictionary>
<Dictionary
code=
"Process.state"
v-model=
"entity.isphotograph"
type=
"radio"
></Dictionary>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
>
<Col
:span=
"12"
>
<FormItem
:label=
"l('fillintype')"
prop=
"fillintype"
>
<FormItem
:label=
"l('fillintype')"
prop=
"fillintype"
>
<Dictionary
code=
"QC.fillintype"
v-model=
"entity.fillintype"
></Dictionary>
<Dictionary
code=
"QC.fillintype"
v-model=
"entity.fillintype"
type=
"radio"
></Dictionary>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"24"
>
<Col
:span=
"24"
>
...
@@ -53,18 +107,64 @@
...
@@ -53,18 +107,64 @@
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"24"
>
<Col
:span=
"24"
>
<FormItem
:label=
"l('qualityTemplateName')"
prop=
"qualityTemplateName"
>
<FormItem
:label=
"l('qualityTemplate')"
prop=
"qualityTemplate"
>
<inputFile
ref=
"inputfile"
v-model=
"tempFile"
:parms=
"parms"
/>
<InputFile
v-model=
"entity.qualityTemplate"
:parms=
"parms"
/>
<!--
</FormItem>
<files
ref=
"refFile"
:parms=
"parms"
files
singleFile
/>
</Col>
<a
<Col
:span=
"12"
>
:href=
"fileUrlPath"
<FormItem
:label=
"l('status')"
prop=
"status"
>
@
click=
"downFile(entity.qualityTemplate)"
<Dictionary
code=
"QC.status"
v-model=
"entity.status"
type=
"radio"
></Dictionary>
target=
"_blank"
</FormItem>
>
{{
entity
.
qualityTemplateName
}}
</a>
</Col>
-->
<!--
<files
ref=
"refFile"
:parms=
"parms"
files
singleFile
/>
<Col
:span=
"12"
>
<FormItem
:label=
"l('isImportant')"
prop=
"isImportant"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.isImportant"
type=
"radio"
></Dictionary>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('firstCheck')"
prop=
"firstCheck"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.firstCheck"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"6"
>
<FormItem
:label=
"l('inspection')"
prop=
"inspection"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.inspection"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"6"
>
<FormItem
:label=
"l('inspectionTime')"
prop=
"inspectionTime"
>
<InputNumber
v-model=
"entity.inspectionTime"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"6"
>
<FormItem
:label=
"l('sampling')"
prop=
"sampling"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.sampling"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"6"
>
<FormItem
:label=
"l('samplingBatch')"
prop=
"samplingBatch"
>
<Input
v-model=
"entity.samplingBatch"
></Input>
</FormItem>
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('measurementUnit')"
prop=
"measurementUnit"
>
<Input
v-model=
"entity.measurementUnit"
></Input>
</FormItem>
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('remark')"
prop=
"remark"
>
<Input
v-model=
"entity.remark"
type=
"textarea"
:rows=
"2"
></Input>
</FormItem>
</Col>
-->
</Row>
</Row>
<FormItem>
<FormItem>
<Button
type=
"primary"
@
click=
"handleSubmit"
:disabled=
"disabled"
>
保存
</Button>
<Button
type=
"primary"
@
click=
"handleSubmit"
:disabled=
"disabled"
>
保存
</Button>
...
@@ -86,16 +186,22 @@ export default {
...
@@ -86,16 +186,22 @@ export default {
tempFile
:
""
,
tempFile
:
""
,
tempFileName
:
""
,
tempFileName
:
""
,
tempFilePath
:
""
,
tempFilePath
:
""
,
entity
:
{
entity
:
{},
qualityTemplateName
:
""
,
qualityTemplate
:
""
},
rules
:
{
rules
:
{
routingDetailId
:
[
routingDetailId
:
[
{
required
:
true
,
message
:
"请选择工序
名称
"
,
type
:
"number"
}
{
required
:
true
,
message
:
"请选择工序"
,
type
:
"number"
}
],
],
checkContent
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}]
checkContent
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
checkType
:
[
{
required
:
true
,
message
:
"检测类型至少选择一项"
,
type
:
"array"
,
min
:
1
,
trigger
:
"change"
}
]
},
},
routingDetailList
:
[],
routingDetailList
:
[],
parms
:
"app=qccard&eid="
+
this
.
$u
.
guid
()
+
"&name=''"
parms
:
"app=qccard&eid="
+
this
.
$u
.
guid
()
+
"&name=''"
...
@@ -120,16 +226,8 @@ export default {
...
@@ -120,16 +226,8 @@ export default {
},
},
methods
:
{
methods
:
{
load
(
v
)
{
load
(
v
)
{
Api
.
get
({
id
:
v
}).
then
(
r
=>
{
Api
.
get
({
id
:
v
}).
then
(
r
=>
{
this
.
entity
=
r
.
result
;
this
.
entity
=
r
.
result
;
this
.
$refs
.
inputfile
.
newName
=
this
.
entity
.
qualityTemplateName
;
this
.
$refs
.
inputfile
.
newPath
=
this
.
entity
.
qualityTemplate
;
if
(
r
.
result
.
checkType
==
1
||
r
.
result
.
checkType
==
2
)
{
this
.
raidoDis
=
false
;
this
.
entity
.
isphotograph
=
null
;
}
else
{
this
.
raidoDis
=
true
;
}
});
});
},
},
downFile
(
path
)
{
downFile
(
path
)
{
...
@@ -139,11 +237,6 @@ export default {
...
@@ -139,11 +237,6 @@ export default {
this
.
$refs
.
form
.
validate
(
v
=>
{
this
.
$refs
.
form
.
validate
(
v
=>
{
if
(
v
)
{
if
(
v
)
{
this
.
disabled
=
true
;
this
.
disabled
=
true
;
if
(
this
.
tempFile
!=
""
)
{
let
tempName
=
JSON
.
parse
(
this
.
$u
.
clone
(
this
.
tempFile
));
this
.
entity
.
qualityTemplateName
=
tempName
[
0
].
fileName
;
this
.
entity
.
qualityTemplate
=
tempName
[
0
].
filePath
;
}
Api
.
update
(
this
.
entity
)
Api
.
update
(
this
.
entity
)
.
then
(
r
=>
{
.
then
(
r
=>
{
this
.
disabled
=
false
;
this
.
disabled
=
false
;
...
@@ -176,23 +269,12 @@ export default {
...
@@ -176,23 +269,12 @@ export default {
tempDetails
.
forEach
(
data
=>
{
tempDetails
.
forEach
(
data
=>
{
let
tempObj
=
{};
let
tempObj
=
{};
tempObj
.
value
=
data
.
id
;
tempObj
.
value
=
data
.
id
;
tempObj
.
label
=
data
.
name
;
tempObj
.
label
=
data
.
taskSeq
+
" "
+
data
.
name
;
tempD
.
push
(
tempObj
);
tempD
.
push
(
tempObj
);
});
});
this
.
routingDetailList
=
tempD
;
this
.
routingDetailList
=
tempD
;
});
});
},
},
checkChange
(
v
)
{
if
(
v
==
1
||
v
==
2
)
{
this
.
raidoDis
=
false
;
this
.
entity
.
isphotograph
=
null
;
}
else
{
this
.
raidoDis
=
true
;
if
(
this
.
entity
.
isphotograph
==
null
)
{
this
.
entity
.
isphotograph
=
1
;
}
}
},
l
(
key
)
{
l
(
key
)
{
key
=
"routing_qc_card"
+
"."
+
key
;
key
=
"routing_qc_card"
+
"."
+
key
;
return
this
.
$t
(
key
);
return
this
.
$t
(
key
);
...
...
pages/technology/details/routingqccard/index.vue
View file @
cded697f
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
<Input
<Input
placeholder=
"请输入检测要求/标准指标"
placeholder=
"请输入检测要求/标准指标"
v-model=
"easySearch.keys.value"
v-model=
"easySearch.keys.value"
v-width=
"260"
/>
/>
</FormItem>
</FormItem>
<FormItem>
<FormItem>
...
...
pages/technology/details/routingsupporting/index.vue
View file @
cded697f
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
<Input
<Input
placeholder=
"请输入关键字物料名称"
placeholder=
"请输入关键字物料名称"
v-model=
"easySearch.keys.value"
v-model=
"easySearch.keys.value"
v-width=
"260"
/>
/>
</FormItem>
</FormItem>
<FormItem>
<FormItem>
...
...
pages/test/u.vue
View file @
cded697f
...
@@ -28,6 +28,14 @@
...
@@ -28,6 +28,14 @@
<div>
<div>
<i-switch
v-model=
"sitch"
/>
<i-switch
v-model=
"sitch"
/>
</div>
</div>
<div
style=
"text-align:center"
>
<User
value=
"46"
/>
<User
value=
"43"
/>
<User
value=
"44"
/>
<User
value=
"115"
/>
<User
value=
"37"
/>
</div>
<User
value=
"46"
/>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
...
...
plugins/iview.js
View file @
cded697f
...
@@ -32,7 +32,7 @@ import clipboard from 'clipboard';
...
@@ -32,7 +32,7 @@ import clipboard from 'clipboard';
import
radioButton
from
'@/components/page/radioButton.vue'
import
radioButton
from
'@/components/page/radioButton.vue'
import
InputIcon
from
'@/components/page/inputIcon.vue'
import
InputIcon
from
'@/components/page/inputIcon.vue'
import
checkBoxButton
from
'@/components/page/checkBoxButton.vue'
import
checkBoxButton
from
'@/components/page/checkBoxButton.vue'
import
i
nputFile
from
'@/components/page/inputFile.vue'
import
I
nputFile
from
'@/components/page/inputFile.vue'
import
imgUploadFile
from
'@/components/page/imgUploadFile.vue'
import
imgUploadFile
from
'@/components/page/imgUploadFile.vue'
import
files
from
'@/components/page/files.vue'
import
files
from
'@/components/page/files.vue'
import
FilesList
from
'@/components/page/filesList.vue'
import
FilesList
from
'@/components/page/filesList.vue'
...
@@ -46,6 +46,7 @@ import ProductSelect from '@/components/page/productSelect.vue'
...
@@ -46,6 +46,7 @@ import ProductSelect from '@/components/page/productSelect.vue'
import
DTSpan
from
'@/components/page/dtSpan.vue'
import
DTSpan
from
'@/components/page/dtSpan.vue'
import
DTSearch
from
'@/components/page/dtSearch.vue'
import
DTSearch
from
'@/components/page/dtSearch.vue'
import
InputTime
from
'@/components/page/inputTime.vue'
import
InputTime
from
'@/components/page/inputTime.vue'
import
OutputTime
from
'@/components/page/outputTime.vue'
// import FormMaking from 'form-making'
// import FormMaking from 'form-making'
// import 'form-making/dist/FormMaking.css'
// import 'form-making/dist/FormMaking.css'
...
@@ -74,7 +75,7 @@ Vue.component("State", State)
...
@@ -74,7 +75,7 @@ Vue.component("State", State)
Vue
.
component
(
"Dictionary"
,
Dictionary
)
Vue
.
component
(
"Dictionary"
,
Dictionary
)
Vue
.
component
(
"radioButton"
,
radioButton
)
Vue
.
component
(
"radioButton"
,
radioButton
)
Vue
.
component
(
"checkBoxButton"
,
checkBoxButton
)
Vue
.
component
(
"checkBoxButton"
,
checkBoxButton
)
Vue
.
component
(
"
inputFile"
,
i
nputFile
)
Vue
.
component
(
"
InputFile"
,
I
nputFile
)
Vue
.
component
(
"imgUploadFile"
,
imgUploadFile
)
Vue
.
component
(
"imgUploadFile"
,
imgUploadFile
)
Vue
.
component
(
"InputIcon"
,
InputIcon
)
Vue
.
component
(
"InputIcon"
,
InputIcon
)
Vue
.
component
(
"files"
,
files
)
Vue
.
component
(
"files"
,
files
)
...
@@ -98,6 +99,7 @@ Vue.component("ProductSelect", ProductSelect)
...
@@ -98,6 +99,7 @@ Vue.component("ProductSelect", ProductSelect)
Vue
.
component
(
"DTSpan"
,
DTSpan
)
Vue
.
component
(
"DTSpan"
,
DTSpan
)
Vue
.
component
(
"DTSearch"
,
DTSearch
)
Vue
.
component
(
"DTSearch"
,
DTSearch
)
Vue
.
component
(
"InputTime"
,
InputTime
)
Vue
.
component
(
"InputTime"
,
InputTime
)
Vue
.
component
(
"OutputTime"
,
OutputTime
)
//注入mock
//注入mock
// require("../mock")
// require("../mock")
...
...
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