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
fe1902fd
Commit
fe1902fd
authored
May 14, 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
8c008653
9bb6b8cf
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
943 additions
and
469 deletions
+943
-469
filed.vue
components/page/filed.vue
+15
-18
inputFile.vue
components/page/inputFile.vue
+87
-68
package-lock.json
package-lock.json
+36
-14
userInfo.vue
pages/basicData/userManagent/userInfo.vue
+24
-14
api.js
pages/order/monitoring/api.js
+16
-0
entryPause.vue
pages/order/monitoring/entryPause.vue
+129
-0
index.vue
pages/order/monitoring/index.vue
+7
-3
record.vue
pages/order/monitoring/record.vue
+43
-28
speed.vue
pages/order/monitoring/speed.vue
+102
-63
index.vue
pages/produce/execute/MaterialCollec/index.vue
+1
-3
index.vue
pages/produce/execute/ProcessCase/index.vue
+1
-3
index.vue
pages/produce/execute/ProcessCheck/index.vue
+1
-3
functional.vue
pages/produce/execute/components/functional.vue
+1
-3
orderlist.vue
pages/produce/execute/components/orderlist.vue
+1
-3
index.vue
pages/produce/execute/datafilling/index.vue
+1
-3
execute.less
pages/produce/execute/execute.less
+93
-2
index.vue
pages/produce/execute/judgment/index.vue
+1
-3
index.vue
pages/produce/execute/preparation/index.vue
+1
-3
index.vue
pages/produce/execute/productSet/index.vue
+1
-3
index.vue
pages/produce/execute/starOrder/index.vue
+1
-3
add.vue
pages/produce/execute/taskTime/add.vue
+54
-0
index.vue
pages/produce/execute/taskTime/index.vue
+69
-10
index.vue
pages/produce/execute/testdata/index.vue
+1
-3
add.vue
pages/technology/details/routinghcorder/add.vue
+39
-18
detail.vue
pages/technology/details/routinghcorder/detail.vue
+14
-8
edit.vue
pages/technology/details/routinghcorder/edit.vue
+144
-131
add.vue
pages/technology/details/routingqccard/add.vue
+34
-26
edit.vue
pages/technology/details/routingqccard/edit.vue
+20
-30
edit.vue
pages/technology/edit.vue
+6
-3
No files found.
components/page/filed.vue
View file @
fe1902fd
<
template
>
<
template
>
<Col
:span=
"span"
class=
"filed-col"
>
<Col
:span=
"span"
class=
"filed-col"
>
<div
v-text=
"name"
class=
"label"
></div>
<div
class=
"label"
>
<p>
<label
v-text=
"name"
></label>
</div>
<div
class=
"value"
>
<slot></slot>
<slot></slot>
</
p
>
</
div
>
</Col>
</Col>
</
template
>
</
template
>
<
script
>
<
script
>
...
@@ -34,32 +36,27 @@ export default {
...
@@ -34,32 +36,27 @@ export default {
border: 1px solid #ddd;
border: 1px solid #ddd;
border-right: none;
border-right: none;
margin: 0 -1px -1px -1px;
margin: 0 -1px -1px -1px;
box-sizing: border-box;
//
box-sizing: border-box;
display: flex;
display: flex;
flex-direction: row;
flex-direction: row;
line-height: 40px;
line-height: 40px;
.label {
>
.label {
background: #f7f7f7;
background: #f7f7f7;
display: inline-block
;
flex-grow: 0
;
width: 1
1
0px;
width: 1
2
0px;
text-align: right;
text-align: right;
padding: 0
10px 0 0
;
padding: 0
8px
;
border-right: 1px solid #ddd;
border-right: 1px solid #ddd;
flex-shrink: 0;
}
}
p
{
>.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{
}
line-height: 30px;
.ivu-col-span-24 {
}
.label {
height: 100%;
padding: 0.5% 5px;
}
p {
padding-top: 1%;
}
}
}
}
}
}
...
...
components/page/inputFile.vue
View file @
fe1902fd
<!--一次只能上传一个文件 -->
<!--一次只能上传一个文件 -->
<
template
>
<
template
>
<div>
<div>
<Input
v-model=
"newName"
style=
"height:30px;width:240px;float:left"
placeholder=
"请选择上传文件"
disabled
/>
<div>
<Upload
<Input
v-model=
"name"
v-model=
"newName"
:action=
"postUrl"
style=
"height:30px;width:240px;float:left;"
:on-success=
"uploadSuccess"
placeholder=
"请选择上传文件"
:on-error=
"uploadError"
disabled
:on-remove=
"removeFile"
/>
:format=
"formatList"
<Upload
:max-size=
"maxSize"
v-model=
"name"
:on-exceeded-size=
"onExceededSize"
:action=
"postUrl"
:on-format-error=
"onFormatError"
:on-success=
"uploadSuccess"
:show-upload-list=
"false"
:on-error=
"uploadError"
:files=
"files"
:on-remove=
"removeFile"
:on-progress=
"onProgress"
:format=
"formatList"
>
:max-size=
"maxSize"
<Button
icon=
"ios-cloud-upload-outline"
>
上传文件
</Button>
:on-exceeded-size=
"onExceededSize"
</Upload>
:on-format-error=
"onFormatError"
<Progress
:percent=
"per"
:stroke-width=
"5"
v-show=
"vshowPro"
/>
:show-upload-list=
"false"
:files=
"files"
:on-progress=
"onProgress"
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"
/>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
export
default
{
name
:
'inputFile'
,
name
:
"inputFile"
,
model
:
{
model
:
{
prop
:
'value'
,
prop
:
"value"
,
event
:
'on-change'
event
:
"on-change"
},
},
data
()
{
data
()
{
return
{
return
{
file
:
null
,
file
:
null
,
name
:
this
.
value
,
name
:
this
.
value
,
downUrl
:
fileUrlDown
,
downUrl
:
fileUrlDown
,
fileUrlPath
:
''
,
fileUrlPath
:
""
,
nameList
:
[],
nameList
:
[],
postUrl
:
postUrl
:
fileUrl
+
fileUrl
+
'/upload/?token=Bearer '
+
"/upload/?token=Bearer "
+
window
.
sessionStorage
.
getItem
(
'token'
)
+
window
.
sessionStorage
.
getItem
(
"token"
)
+
'&'
+
"&"
+
this
.
parms
,
this
.
parms
,
formatList
:
[
'png'
,
'jpg'
,
'gif'
],
formatList
:
[
"png"
,
"jpg"
,
"gif"
],
newName
:
''
,
newName
:
""
,
newPath
:
''
,
per
:
0
,
per
:
0
,
vshowPro
:
false
vshowPro
:
false
}
}
;
},
},
created
()
{},
created
()
{},
props
:
{
props
:
{
...
@@ -60,55 +70,60 @@ export default {
...
@@ -60,55 +70,60 @@ export default {
},
},
parms
:
{
parms
:
{
type
:
String
,
type
:
String
,
default
:
''
default
:
""
},
showButton
:{
type
:
Boolean
,
default
:
true
,
}
}
},
},
methods
:
{
methods
:
{
onProgress
(
event
,
file
,
fileList
)
{
onProgress
(
event
,
file
,
fileList
)
{
this
.
per
=
0
this
.
per
=
0
;
this
.
vshowPro
=
true
this
.
vshowPro
=
true
;
},
},
// change(event) {
// change(event) {
// this.$emit('on-change', event.target.value)
// this.$emit('on-change', event.target.value)
// },
// },
//上传成功文件
//上传成功文件
uploadSuccess
(
response
,
file
,
fileList
)
{
uploadSuccess
(
response
,
file
,
fileList
)
{
this
.
per
=
60
this
.
per
=
60
;
this
.
vshowPro
=
true
this
.
vshowPro
=
true
;
const
hbaseFileList
=
[]
const
hbaseFileList
=
[]
;
const
filesList
=
[]
const
filesList
=
[]
;
if
(
file
.
response
.
status
==
0
)
{
if
(
file
.
response
.
status
==
0
)
{
let
objImag
=
{}
let
objImag
=
{};
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
.
fileName
;
this
.
$emit
(
'on-change'
,
JSON
.
stringify
(
filesList
))
this
.
newPath
=
file
.
response
.
data
.
downloadPath
this
.
per
=
100
this
.
$emit
(
"on-change"
,
JSON
.
stringify
(
filesList
));
this
.
per
=
100
;
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
per
=
0
this
.
per
=
0
;
this
.
vshowPro
=
false
this
.
vshowPro
=
false
;
},
2000
)
},
2000
)
;
}
else
{
}
else
{
this
.
$Message
.
error
(
'上传失败,请重新上传!'
)
this
.
$Message
.
error
(
"上传失败,请重新上传!"
);
}
}
},
},
//上传文件失败
//上传文件失败
uploadError
(
response
,
file
,
fileList
)
{
uploadError
(
response
,
file
,
fileList
)
{
this
.
$Message
.
error
(
'上传失败,请重新上传!'
)
this
.
$Message
.
error
(
"上传失败,请重新上传!"
);
},
},
//文件大小验证返回
//文件大小验证返回
onExceededSize
(
file
,
fileList
)
{
onExceededSize
(
file
,
fileList
)
{
if
(
Object
.
keys
(
file
).
length
==
0
)
{
if
(
Object
.
keys
(
file
).
length
==
0
)
{
this
.
$Message
.
error
(
this
.
$Message
.
error
(
'上传文件不能大于'
+
this
.
maxSize
+
'k,请重新上传!'
"上传文件不能大于"
+
this
.
maxSize
+
"k,请重新上传!"
)
)
;
}
}
},
},
//文件格式验证
//文件格式验证
onFormatError
(
file
,
fileList
)
{
onFormatError
(
file
,
fileList
)
{
if
(
Object
.
keys
(
file
).
length
==
0
)
{
if
(
Object
.
keys
(
file
).
length
==
0
)
{
this
.
$Message
.
error
(
'上传文件格式不正确,请重新上传!'
)
this
.
$Message
.
error
(
"上传文件格式不正确,请重新上传!"
);
}
}
},
},
//删除上传
//删除上传
...
@@ -116,36 +131,40 @@ export default {
...
@@ -116,36 +131,40 @@ export default {
formatL
()
{
formatL
()
{
if
(
this
.
files
)
{
if
(
this
.
files
)
{
this
.
formatList
=
[
this
.
formatList
=
[
'pdf'
,
"pdf"
,
'docx'
,
"docx"
,
'doc'
,
"doc"
,
'xls'
,
"xls"
,
'xlsx'
,
"xlsx"
,
'txt'
,
"txt"
,
'png'
,
"png"
,
'jpg'
,
"jpg"
,
'gif'
,
"gif"
,
'zip'
,
"zip"
,
'rar'
"rar"
]
]
;
}
}
return
this
.
formatList
return
this
.
formatList
;
}
},
downFile
(
path
)
{
this
.
fileUrlPath
=
this
.
downUrl
+
path
;
},
},
},
mounted
()
{
mounted
()
{
this
.
formatL
()
this
.
formatL
()
;
},
},
computed
:
{
computed
:
{
nativeInputValue
()
{
nativeInputValue
()
{
return
this
.
value
===
null
||
this
.
value
===
undefined
?
''
:
this
.
value
return
this
.
value
===
null
||
this
.
value
===
undefined
?
""
:
this
.
value
;
}
}
},
},
watch
:
{
watch
:
{
value
(
v
)
{
value
(
v
)
{
this
.
name
=
v
this
.
name
=
v
;
}
}
}
}
}
}
;
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
</
style
>
</
style
>
\ No newline at end of file
package-lock.json
View file @
fe1902fd
...
@@ -7665,7 +7665,8 @@
...
@@ -7665,7 +7665,8 @@
},
},
"ansi-regex"
:
{
"ansi-regex"
:
{
"version"
:
"2.1.1"
,
"version"
:
"2.1.1"
,
"bundled"
:
true
"bundled"
:
true
,
"optional"
:
true
},
},
"aproba"
:
{
"aproba"
:
{
"version"
:
"1.2.0"
,
"version"
:
"1.2.0"
,
...
@@ -7683,11 +7684,13 @@
...
@@ -7683,11 +7684,13 @@
},
},
"balanced-match"
:
{
"balanced-match"
:
{
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"bundled"
:
true
"bundled"
:
true
,
"optional"
:
true
},
},
"brace-expansion"
:
{
"brace-expansion"
:
{
"version"
:
"1.1.11"
,
"version"
:
"1.1.11"
,
"bundled"
:
true
,
"bundled"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"balanced-match"
:
"^1.0.0"
,
"balanced-match"
:
"^1.0.0"
,
"concat-map"
:
"0.0.1"
"concat-map"
:
"0.0.1"
...
@@ -7700,15 +7703,18 @@
...
@@ -7700,15 +7703,18 @@
},
},
"code-point-at"
:
{
"code-point-at"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"bundled"
:
true
"bundled"
:
true
,
"optional"
:
true
},
},
"concat-map"
:
{
"concat-map"
:
{
"version"
:
"0.0.1"
,
"version"
:
"0.0.1"
,
"bundled"
:
true
"bundled"
:
true
,
"optional"
:
true
},
},
"console-control-strings"
:
{
"console-control-strings"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"bundled"
:
true
"bundled"
:
true
,
"optional"
:
true
},
},
"core-util-is"
:
{
"core-util-is"
:
{
"version"
:
"1.0.2"
,
"version"
:
"1.0.2"
,
...
@@ -7811,7 +7817,8 @@
...
@@ -7811,7 +7817,8 @@
},
},
"inherits"
:
{
"inherits"
:
{
"version"
:
"2.0.4"
,
"version"
:
"2.0.4"
,
"bundled"
:
true
"bundled"
:
true
,
"optional"
:
true
},
},
"ini"
:
{
"ini"
:
{
"version"
:
"1.3.5"
,
"version"
:
"1.3.5"
,
...
@@ -7821,6 +7828,7 @@
...
@@ -7821,6 +7828,7 @@
"is-fullwidth-code-point"
:
{
"is-fullwidth-code-point"
:
{
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"number-is-nan"
:
"^1.0.0"
"number-is-nan"
:
"^1.0.0"
}
}
...
@@ -7833,17 +7841,20 @@
...
@@ -7833,17 +7841,20 @@
"minimatch"
:
{
"minimatch"
:
{
"version"
:
"3.0.4"
,
"version"
:
"3.0.4"
,
"bundled"
:
true
,
"bundled"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"brace-expansion"
:
"^1.1.7"
"brace-expansion"
:
"^1.1.7"
}
}
},
},
"minimist"
:
{
"minimist"
:
{
"version"
:
"1.2.5"
,
"version"
:
"1.2.5"
,
"bundled"
:
true
"bundled"
:
true
,
"optional"
:
true
},
},
"minipass"
:
{
"minipass"
:
{
"version"
:
"2.9.0"
,
"version"
:
"2.9.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"safe-buffer"
:
"^5.1.2"
,
"safe-buffer"
:
"^5.1.2"
,
"yallist"
:
"^3.0.0"
"yallist"
:
"^3.0.0"
...
@@ -7860,6 +7871,7 @@
...
@@ -7860,6 +7871,7 @@
"mkdirp"
:
{
"mkdirp"
:
{
"version"
:
"0.5.3"
,
"version"
:
"0.5.3"
,
"bundled"
:
true
,
"bundled"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"minimist"
:
"^1.2.5"
"minimist"
:
"^1.2.5"
}
}
...
@@ -7915,7 +7927,8 @@
...
@@ -7915,7 +7927,8 @@
},
},
"npm-normalize-package-bin"
:
{
"npm-normalize-package-bin"
:
{
"version"
:
"1.0.1"
,
"version"
:
"1.0.1"
,
"bundled"
:
true
"bundled"
:
true
,
"optional"
:
true
},
},
"npm-packlist"
:
{
"npm-packlist"
:
{
"version"
:
"1.4.8"
,
"version"
:
"1.4.8"
,
...
@@ -7940,7 +7953,8 @@
...
@@ -7940,7 +7953,8 @@
},
},
"number-is-nan"
:
{
"number-is-nan"
:
{
"version"
:
"1.0.1"
,
"version"
:
"1.0.1"
,
"bundled"
:
true
"bundled"
:
true
,
"optional"
:
true
},
},
"object-assign"
:
{
"object-assign"
:
{
"version"
:
"4.1.1"
,
"version"
:
"4.1.1"
,
...
@@ -7950,6 +7964,7 @@
...
@@ -7950,6 +7964,7 @@
"once"
:
{
"once"
:
{
"version"
:
"1.4.0"
,
"version"
:
"1.4.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"wrappy"
:
"1"
"wrappy"
:
"1"
}
}
...
@@ -8018,7 +8033,8 @@
...
@@ -8018,7 +8033,8 @@
},
},
"safe-buffer"
:
{
"safe-buffer"
:
{
"version"
:
"5.1.2"
,
"version"
:
"5.1.2"
,
"bundled"
:
true
"bundled"
:
true
,
"optional"
:
true
},
},
"safer-buffer"
:
{
"safer-buffer"
:
{
"version"
:
"2.1.2"
,
"version"
:
"2.1.2"
,
...
@@ -8048,6 +8064,7 @@
...
@@ -8048,6 +8064,7 @@
"string-width"
:
{
"string-width"
:
{
"version"
:
"1.0.2"
,
"version"
:
"1.0.2"
,
"bundled"
:
true
,
"bundled"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"code-point-at"
:
"^1.0.0"
,
"code-point-at"
:
"^1.0.0"
,
"is-fullwidth-code-point"
:
"^1.0.0"
,
"is-fullwidth-code-point"
:
"^1.0.0"
,
...
@@ -8065,6 +8082,7 @@
...
@@ -8065,6 +8082,7 @@
"strip-ansi"
:
{
"strip-ansi"
:
{
"version"
:
"3.0.1"
,
"version"
:
"3.0.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"ansi-regex"
:
"^2.0.0"
"ansi-regex"
:
"^2.0.0"
}
}
...
@@ -8103,11 +8121,13 @@
...
@@ -8103,11 +8121,13 @@
},
},
"wrappy"
:
{
"wrappy"
:
{
"version"
:
"1.0.2"
,
"version"
:
"1.0.2"
,
"bundled"
:
true
"bundled"
:
true
,
"optional"
:
true
},
},
"yallist"
:
{
"yallist"
:
{
"version"
:
"3.1.1"
,
"version"
:
"3.1.1"
,
"bundled"
:
true
"bundled"
:
true
,
"optional"
:
true
}
}
}
}
},
},
...
@@ -9538,7 +9558,8 @@
...
@@ -9538,7 +9558,8 @@
"dependencies"
:
{
"dependencies"
:
{
"deepmerge"
:
{
"deepmerge"
:
{
"version"
:
"2.2.1"
,
"version"
:
"2.2.1"
,
"bundled"
:
true
"resolved"
:
"https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz"
,
"integrity"
:
"sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA=="
}
}
}
}
},
},
...
@@ -19895,7 +19916,8 @@
...
@@ -19895,7 +19916,8 @@
"version"
:
"4.0.8"
,
"version"
:
"4.0.8"
,
"resolved"
:
"https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz"
,
"resolved"
:
"https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz"
,
"integrity"
:
"sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ="
,
"integrity"
:
"sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ="
,
"dev"
:
true
"dev"
:
true
,
"optional"
:
true
},
},
"rx-lite-aggregates"
:
{
"rx-lite-aggregates"
:
{
"version"
:
"4.0.8"
,
"version"
:
"4.0.8"
,
...
...
pages/basicData/userManagent/userInfo.vue
View file @
fe1902fd
...
@@ -4,8 +4,13 @@
...
@@ -4,8 +4,13 @@
<p
slot=
"title"
>
个人头像
</p>
<p
slot=
"title"
>
个人头像
</p>
<div
style=
"height:415px;"
>
<div
style=
"height:415px;"
>
<p
style=
"text-align:center;padding-top:100px;"
>
<p
style=
"text-align:center;padding-top:100px;"
>
<Avatar
:src=
"avatorPath"
size=
"150"
v-if=
"avatorPath"
/>
<Avatar
:src=
"avatorPath"
size=
"150"
v-if=
"avatorPath"
/>
<Avatar
size=
"150"
style=
"background-color: #87d068"
v-else-if=
"!avatorPath"
icon=
"ios-person"
/>
<Avatar
size=
"150"
style=
"background-color: #87d068"
v-else-if=
"!avatorPath"
icon=
"ios-person"
/>
</p>
</p>
<p
style=
"text-align:center;padding:10px;"
>
<p
style=
"text-align:center;padding:10px;"
>
<Button
@
click=
"openModalAvatar"
>
修改头像
</Button>
<Button
@
click=
"openModalAvatar"
>
修改头像
</Button>
...
@@ -80,15 +85,20 @@
...
@@ -80,15 +85,20 @@
</Card>
</Card>
<Modal
v-model=
"modalAvatar"
title=
"修改头像"
:width=
"460"
>
<Modal
v-model=
"modalAvatar"
title=
"修改头像"
:width=
"460"
>
<Form
:model=
"imageModel"
>
<Form
:model=
"imageModel"
>
<div
class=
"imgBg"
>
<Row>
<img
:src=
"avatorPath"
/>
<div
class=
"imgBg"
>
</div>
<img
:src=
"avatorPath"
/>
<inputFiles
v-model=
"imgName"
:parms=
"parms"
/>
</div>
<inputFiles
v-model=
"imgName"
:parms=
"parms"
:showButton=
"false"
/>
</Row>
</Form>
</Form>
<Row>
</Row>
<div
slot=
"footer"
>
<div
slot=
"footer"
>
<Button
@
click=
"cancelAvatar"
>
取消
</Button>
<Button
@
click=
"cancelAvatar"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"upAvatar"
>
确定
</Button>
<Button
type=
"primary"
@
click=
"upAvatar"
>
确定
</Button>
</div>
</div>
</Modal>
</Modal>
</div>
</div>
</
template
>
</
template
>
...
@@ -132,7 +142,7 @@ export default {
...
@@ -132,7 +142,7 @@ export default {
remark
:
""
,
remark
:
""
,
avatarUrl
:
""
avatarUrl
:
""
},
},
userInfos
:{},
userInfos
:
{},
imageModel
:
{
imageModel
:
{
id
:
null
,
id
:
null
,
avatar_Url
:
""
,
avatar_Url
:
""
,
...
@@ -208,7 +218,7 @@ export default {
...
@@ -208,7 +218,7 @@ export default {
this
.
$http
.
sysUser
.
getuserinfo
(
parma
).
then
(
res
=>
{
this
.
$http
.
sysUser
.
getuserinfo
(
parma
).
then
(
res
=>
{
if
(
res
.
result
)
{
if
(
res
.
result
)
{
this
.
userInfo
=
res
.
result
;
this
.
userInfo
=
res
.
result
;
this
.
userInfos
=
res
.
result
;
this
.
userInfos
=
res
.
result
;
this
.
imageModel
.
id
=
this
.
userInfo
.
id
;
this
.
imageModel
.
id
=
this
.
userInfo
.
id
;
if
(
if
(
res
.
result
.
avatarUrl
&&
res
.
result
.
avatarUrl
&&
...
@@ -268,9 +278,9 @@ export default {
...
@@ -268,9 +278,9 @@ export default {
};
};
</
script
>
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
.img_top01{
.img_top01
{
width:350px;
width:
350px;
float:left;
float:
left;
.ivu-card-body {
.ivu-card-body {
padding: 0px;
padding: 0px;
}
}
...
...
pages/order/monitoring/api.js
View file @
fe1902fd
...
@@ -20,6 +20,22 @@ export default {
...
@@ -20,6 +20,22 @@ export default {
info
(
params
)
{
//工单信息
info
(
params
)
{
//工单信息
return
Api
.
post
(
`
${
PlanUrl
}
/dispatch/orderdispatchsummary`
,
params
);
return
Api
.
post
(
`
${
PlanUrl
}
/dispatch/orderdispatchsummary`
,
params
);
},
},
mesordersplitcard
(
params
)
{
//分卡操作
return
Api
.
post
(
`
${
PlanUrl
}
/mesorders/mesordersplitcard`
,
params
);
},
createorupdate
(
params
)
{
//暂停工单
return
Api
.
post
(
`
${
PlanUrl
}
/orderexecutepausecause/createorupdate`
,
params
);
},
entrycontinue
(
params
)
{
//继续开始工单
return
Api
.
post
(
`
${
PlanUrl
}
/orderexecute/entrycontinue`
,
params
);
},
getentryproductcode
(
params
){
//更加工单id获取产品号
return
Api
.
get
(
`
${
PlanUrl
}
/orderexecutequalityrecord/getentryproductcode`
,
params
);
},
pauseCauseGetpaged
(
params
){
//获取工单暂停记录
return
Api
.
get
(
`
${
PlanUrl
}
/orderexecutepausecause/getpaged`
,
params
);
},
// getplantdepartments(params) {// 组织为”车间“的部门
// getplantdepartments(params) {// 组织为”车间“的部门
// return Api.get(`${systemUrl}/department/getplantdepartments`, params);
// return Api.get(`${systemUrl}/department/getplantdepartments`, params);
// },
// },
...
...
pages/order/monitoring/entryPause.vue
0 → 100644
View file @
fe1902fd
<
template
>
<div
class=
"new_box"
>
<Form
ref=
"cardModeldata"
:model=
"cardModeldata"
:rules=
"ruleValidate"
:label-width=
"120"
>
<Row>
<Col
span=
"22"
>
<FormItem
label=
"暂停原因"
>
<Dictionary
code=
"plan.dispatch.pauseCause"
v-model=
"cardModeldata.pausecause_id"
type=
"select"
style=
"width:100%"
></Dictionary>
</FormItem>
</Col>
</Row>
<Row>
<Col
span=
"22"
>
<FormItem
label=
"详细描述"
prop=
"desc"
>
<Input
type=
"textarea"
:rows=
"6"
style=
"width:100%;"
size=
"large"
v-model=
"cardModeldata.desc"
placeholder=
"请输入..."
/>
</FormItem>
</Col>
</Row>
<Row>
<Col
span=
"24"
>
<FormItem>
<Button
type=
"primary"
@
click=
"handleSubmit"
>
保存
</Button>
</FormItem>
</Col>
</Row>
</Form>
</div>
</
template
>
<
script
>
import
Api
from
"./api"
;
export
default
{
name
:
"entryPause"
,
props
:
{
info
:
Object
},
data
()
{
return
{
newModel
:
false
,
cardModeldata
:
{
id
:
0
,
dispatch_id
:
0
,
execute_id
:
0
,
order_id
:
""
,
pausecause_type
:
1
,
pausecause_id
:
0
,
title
:
""
,
desc
:
""
,
userids
:
""
,
status
:
0
,
layersnum
:
0
,
height
:
0
},
ruleValidate
:
{
// pausecause_id: [{ required: true, message: '原因不能为空', trigger: 'blur' }],
desc
:
[{
required
:
true
,
message
:
"详细描述不能为空"
,
trigger
:
"blur"
}]
}
};
},
created
()
{},
methods
:
{
handleSubmit
()
{
this
.
$refs
[
"cardModeldata"
].
validate
(
valid
=>
{
if
(
valid
)
{
var
url
=
`
${
PlanUrl
}
/orderexecutepausecause/createorupdate`
;
let
parms
=
{
orderExecutePausecause
:
{
dispatch_id
:
this
.
info
.
dispatch_id
,
execute_id
:
this
.
info
.
execute_id
,
order_id
:
this
.
info
.
order_id
,
pausecause_type
:
1
,
pausecause_id
:
this
.
cardModeldata
.
pausecause_id
,
desc
:
this
.
cardModeldata
.
desc
,
title
:
""
,
userids
:
""
,
status
:
0
,
layersnum
:
0
,
height
:
0
}
};
Api
.
createorupdate
(
parms
)
.
then
(
response
=>
{
if
(
response
.
success
)
{
this
.
$Message
.
success
(
"保存成功"
);
this
.
cleardata
();
this
.
$emit
(
"on-ok"
)
}
})
.
catch
(
error
=>
{
console
.
log
(
error
);
this
.
$Message
.
error
(
"保存失败"
);
});
}
});
},
cancel
()
{
this
.
cleardata
();
},
cleardata
()
{
this
.
cardModeldata
.
title
=
""
;
this
.
cardModeldata
.
desc
=
""
;
this
.
cardModeldata
.
userids
=
""
;
this
.
cardModeldata
.
layersnum
=
0
;
this
.
cardModeldata
.
height
=
0
;
}
},
watch
:
{
info
(
v
)
{
if
(
v
&&
JSON
.
stringify
(
v
)
!=
"{}"
)
{
}
}
}
};
</
script
>
pages/order/monitoring/index.vue
View file @
fe1902fd
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
<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"
/>
<Speed
:result=
"result"
:load=
"loading"
:executeId=
"dispatchExecuteId"
:orderId=
"orderId"
/>
</Modal>
</Modal>
</div>
</div>
</template>
</template>
...
@@ -50,6 +50,8 @@ export default {
...
@@ -50,6 +50,8 @@ export default {
data
()
{
data
()
{
return
{
return
{
result
:
[],
result
:
[],
dispatchExecuteId
:
null
,
//任务id
orderId
:
null
,
//订单id
SpeedModal
:
false
,
SpeedModal
:
false
,
rowSuspend
:
{},
rowSuspend
:
{},
recordId
:
0
,
recordId
:
0
,
...
@@ -360,7 +362,7 @@ export default {
...
@@ -360,7 +362,7 @@ export default {
render
:
(
h
,
params
)
=>
{
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
class
:
"action"
},
[
return
h
(
"div"
,
{
class
:
"action"
},
[
h
(
h
(
params
.
row
.
status
==
5
?
"Button"
:
""
,
//订单状态暂停,启动
params
.
row
.
status
==
5
&&
params
.
row
.
upSplitId
==
0
?
"Button"
:
""
,
//订单状态暂停,启动
{
{
props
:
{
props
:
{
type
:
"error"
,
type
:
"error"
,
...
@@ -383,7 +385,7 @@ export default {
...
@@ -383,7 +385,7 @@ export default {
""
""
),
),
h
(
h
(
params
.
row
.
status
==
6
?
"Button"
:
""
,
//订单状态执行中,暂停
params
.
row
.
status
==
6
&&
params
.
row
.
upSplitId
==
0
?
"Button"
:
""
,
//订单状态执行中,暂停
{
{
props
:
{
props
:
{
type
:
"success"
,
type
:
"success"
,
...
@@ -436,6 +438,8 @@ export default {
...
@@ -436,6 +438,8 @@ export default {
this
.
result
=
[];
this
.
result
=
[];
this
.
loading
=
true
;
this
.
loading
=
true
;
this
.
SpeedModal
=
true
;
this
.
SpeedModal
=
true
;
this
.
dispatchExecuteId
=
row
.
dispatchExecuteId
this
.
orderId
=
row
.
id
Api
.
info
({
Api
.
info
({
routingHeaderId
:
row
.
routingHeaderId
,
routingHeaderId
:
row
.
routingHeaderId
,
dispatchExecuteId
:
row
.
dispatchExecuteId
dispatchExecuteId
:
row
.
dispatchExecuteId
...
...
pages/order/monitoring/record.vue
View file @
fe1902fd
...
@@ -5,7 +5,13 @@
...
@@ -5,7 +5,13 @@
<DataGrid
:columns=
"columns"
ref=
"grid"
:action=
"action"
:tool=
"false"
:height=
"tdHeight"
></DataGrid>
<DataGrid
:columns=
"columns"
ref=
"grid"
:action=
"action"
:tool=
"false"
:height=
"tdHeight"
></DataGrid>
</TabPane>
</TabPane>
<TabPane
label=
"工单暂停记录"
name=
"name2"
>
<TabPane
label=
"工单暂停记录"
name=
"name2"
>
<DataGrid
:columns=
"columnsProcess"
ref=
"gridProcess"
:tool=
"false"
:height=
"tdHeight"
></DataGrid>
<DataGrid
:columns=
"columnsProcess"
ref=
"gridProcess"
:data=
"list"
:tool=
"false"
:height=
"tdHeight"
></DataGrid>
</TabPane>
</TabPane>
</Tabs>
</Tabs>
<Modal
v-model=
"detailModal"
title=
"详情"
width=
"800"
>
<Modal
v-model=
"detailModal"
title=
"详情"
width=
"800"
>
...
@@ -122,67 +128,53 @@ export default {
...
@@ -122,67 +128,53 @@ export default {
],
],
columnsProcess
:
[
columnsProcess
:
[
{
{
key
:
"
productName
"
,
key
:
"
dispatch_id
"
,
title
:
"工序Id"
,
title
:
"工序Id"
,
align
:
"left"
,
align
:
"left"
,
width
:
90
width
:
90
},
},
{
{
key
:
"
productName
"
,
key
:
"
dispatch_id
"
,
title
:
"工序号"
,
title
:
"工序号"
,
align
:
"left"
,
align
:
"left"
,
width
:
90
width
:
90
},
},
{
{
key
:
"
productName
"
,
key
:
"
dispatch_id
"
,
title
:
"工序名称"
,
title
:
"工序名称"
,
align
:
"left"
,
align
:
"left"
,
width
:
350
,
width
:
350
},
},
{
{
key
:
"
remark
"
,
key
:
"
desc
"
,
title
:
"暂停原因"
,
title
:
"暂停原因"
,
align
:
"left"
align
:
"left"
},
},
{
{
key
:
"
productName
"
,
key
:
"
creatorUserId
"
,
title
:
"暂停人"
,
title
:
"暂停人"
,
align
:
"left"
,
align
:
"left"
,
high
:
true
,
high
:
true
,
width
:
180
width
:
180
,
type
:
"user"
},
},
{
{
key
:
"
productNa
me"
,
key
:
"
creationTi
me"
,
title
:
"暂停时间"
,
title
:
"暂停时间"
,
align
:
"left"
,
align
:
"left"
,
width
:
180
width
:
180
},
{
key
:
"productName"
,
title
:
"恢复人"
,
align
:
"left"
,
width
:
180
},
{
key
:
"productName"
,
title
:
"恢复时间"
,
align
:
"left"
,
width
:
180
},
{
key
:
"productName"
,
title
:
"相关人"
,
align
:
"left"
,
width
:
"180"
}
}
]
],
list
:
[]
};
};
},
},
props
:
{
props
:
{
eid
:
Number
eid
:
Number
},
},
mounted
()
{
mounted
()
{
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
this
.
loadList
()
window
.
onresize
=
()
=>
{
window
.
onresize
=
()
=>
{
///浏览器窗口大小变化
///浏览器窗口大小变化
return
(()
=>
{
return
(()
=>
{
...
@@ -198,6 +190,29 @@ export default {
...
@@ -198,6 +190,29 @@ 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
()
{
let
params
=
{
FilterText
:
"dispatch_id=104"
};
Api
.
pauseCauseGetpaged
(
params
)
.
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
list
=
res
.
result
.
items
;
}
else
{
this
.
$Message
.
error
(
"获取数据失败"
);
}
})
.
catch
(
err
=>
{
this
.
$Message
.
error
(
"连接失败"
);
});
},
search
()
{
search
()
{
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
},
},
...
...
pages/order/monitoring/speed.vue
View file @
fe1902fd
...
@@ -6,6 +6,9 @@
...
@@ -6,6 +6,9 @@
<div
v-show=
"!load"
>
<div
v-show=
"!load"
>
<DataGrid
:columns=
"columns"
:data=
"result"
border
:tool=
"false"
:height=
"820"
:page=
"false"
></DataGrid>
<DataGrid
:columns=
"columns"
:data=
"result"
border
:tool=
"false"
:height=
"820"
:page=
"false"
></DataGrid>
</div>
</div>
<Modal
v-model=
"workOrderPauseModal"
title=
"工单暂停原因"
width=
"800"
footer-hide
class=
"suspend"
>
<EntryPause
@
on-ok=
"pauseOk"
ref=
"addBug"
:info=
"info"
/>
</Modal>
<Modal
v-model=
"modalSplit"
title=
"订单分卡"
width=
"650"
footer-hide
>
<Modal
v-model=
"modalSplit"
title=
"订单分卡"
width=
"650"
footer-hide
>
<div
slot=
"close"
>
<div
slot=
"close"
>
<Icon
type=
"ios-close"
size=
"31"
color=
"gray"
@
click=
"handleClose"
/>
<Icon
type=
"ios-close"
size=
"31"
color=
"gray"
@
click=
"handleClose"
/>
...
@@ -17,9 +20,9 @@
...
@@ -17,9 +20,9 @@
<Select
v-model=
"entity.num"
multiple
>
<Select
v-model=
"entity.num"
multiple
>
<Option
<Option
v-for=
"(item,index) in numList"
v-for=
"(item,index) in numList"
:value=
"item.
value
"
:value=
"item.
productcodes
"
:key=
"index"
:key=
"index"
>
{{
item
.
label
}}
</Option>
>
{{
item
.
productcodes
}}
</Option>
</Select>
</Select>
</FormItem>
</FormItem>
</Col>
</Col>
...
@@ -72,19 +75,28 @@
...
@@ -72,19 +75,28 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
Api
from
"./api"
;
import
Api
from
"./api"
;
import
EntryPause
from
"./entryPause"
;
export
default
{
export
default
{
name
:
""
,
name
:
""
,
components
:
{
EntryPause
},
data
()
{
data
()
{
return
{
return
{
modalSplit
:
false
,
modalSplit
:
false
,
workOrderPauseModal
:
false
,
index
:
null
,
entity
:
{
entity
:
{
num
:
[],
//序列号组合
count
:
0
,
reason
:
null
,
//分卡原因
code
:
""
,
remark
:
""
,
//备注信息
routingDetailId
:
0
,
action
:
null
,
//操作
orderId
:
0
,
scheduleType
:
null
//排产类型
dispatchId
:
0
},
info
:
{},
initeId
:
{
routingDetailId
:
null
,
dispatchId
:
null
},
},
columns
:
[
columns
:
[
{
{
...
@@ -197,12 +209,12 @@ export default {
...
@@ -197,12 +209,12 @@ export default {
"op"
,
"op"
,
{
{
props
:
{
props
:
{
oprate
:
"
delete
"
,
oprate
:
"
edit
"
,
title
:
"暂停"
,
title
:
"暂停"
msg
:
"确定暂停工序:"
+
params
.
row
.
detailName
+
"?"
//
msg: "确定暂停工序:" + params.row.detailName + "?"
},
},
style
:
params
.
row
.
status
==
14
?
""
:
"display:none"
,
style
:
params
.
row
.
status
==
14
?
""
:
"display:none"
,
on
:
{
click
:
()
=>
this
.
pause
(
params
.
row
)
}
on
:
{
click
:
()
=>
this
.
pause
(
params
.
row
,
params
.
index
)
}
},
},
"暂停"
"暂停"
),
),
...
@@ -211,7 +223,7 @@ export default {
...
@@ -211,7 +223,7 @@ export default {
{
{
props
:
{
oprate
:
"edit"
,
title
:
"分卡"
},
props
:
{
oprate
:
"edit"
,
title
:
"分卡"
},
style
:
params
.
row
.
status
==
5
?
""
:
"display:none"
,
style
:
params
.
row
.
status
==
5
?
""
:
"display:none"
,
on
:
{
click
:
()
=>
this
.
split
(
params
.
row
)
}
on
:
{
click
:
()
=>
this
.
split
(
params
.
row
,
params
.
index
)
}
},
},
"分卡"
"分卡"
),
),
...
@@ -223,8 +235,8 @@ export default {
...
@@ -223,8 +235,8 @@ export default {
title
:
"继续"
,
title
:
"继续"
,
msg
:
"确定继续执行工序:"
+
params
.
row
.
detailName
+
"?"
msg
:
"确定继续执行工序:"
+
params
.
row
.
detailName
+
"?"
},
},
style
:
params
.
row
.
status
==
5
?
""
:
"display:none"
,
style
:
params
.
row
.
status
==
5
?
""
:
"display:none"
,
on
:
{
click
:
()
=>
this
.
continue
(
params
.
row
)
}
on
:
{
click
:
()
=>
this
.
continue
(
params
.
row
,
params
.
index
)
}
},
},
"继续"
"继续"
)
)
...
@@ -233,40 +245,7 @@ export default {
...
@@ -233,40 +245,7 @@ export default {
}
}
],
],
listTask
:
[],
listTask
:
[],
numList
:
[
numList
:
[],
{
value
:
1
,
label
:
"SKJC-001"
},
{
value
:
2
,
label
:
"SKJC-002"
},
{
value
:
3
,
label
:
"SKJC-003"
},
{
value
:
4
,
label
:
"SKJC-004"
},
{
value
:
5
,
label
:
"SKJC-005"
},
{
value
:
6
,
label
:
"SKJC-006"
},
{
value
:
7
,
label
:
"SKJC-007"
},
{
value
:
8
,
label
:
"SKJC-008"
}
],
reasonList
:
[
reasonList
:
[
{
{
value
:
1
,
value
:
1
,
...
@@ -319,16 +298,23 @@ export default {
...
@@ -319,16 +298,23 @@ export default {
},
},
props
:
{
props
:
{
result
:
Array
,
result
:
Array
,
load
:
Boolean
load
:
Boolean
,
executeId
:
Number
,
orderId
:
Number
},
},
async
fetch
({
store
,
params
})
{
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
},
created
()
{},
created
()
{},
methods
:
{
methods
:
{
split
(
row
)
{
split
(
row
,
index
)
{
//工单分卡
//工单分卡
this
.
modalSplit
=
true
;
this
.
getProduct
(
row
.
id
);
(
this
.
initeId
=
{
routingDetailId
:
row
.
detailId
,
dispatchId
:
row
.
id
}),
(
this
.
modalSplit
=
true
);
},
},
onchangeAction
(
val
)
{
onchangeAction
(
val
)
{
//选择移入排产时显示排产模型下拉框
//选择移入排产时显示排产模型下拉框
...
@@ -336,18 +322,44 @@ export default {
...
@@ -336,18 +322,44 @@ export default {
this
.
entity
.
scheduleType
=
null
;
this
.
entity
.
scheduleType
=
null
;
}
}
},
},
getProduct
(
id
)
{
let
params
=
{
entryID
:
id
};
Api
.
getentryproductcode
(
params
).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
numList
=
[];
this
.
numList
=
res
.
result
;
}
});
},
splitOk
()
{
splitOk
()
{
//确定分卡
//确定分卡
this
.
$refs
.
form
.
validate
(
valid
=>
{
this
.
$refs
.
form
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
let
params
=
{
let
params
=
{
num
:
this
.
entity
.
num
,
count
:
this
.
entity
.
num
.
length
,
reason
:
this
.
entity
.
reason
,
code
:
JSON
.
stringify
(
this
.
entity
.
num
)
remark
:
this
.
entity
.
remark
,
.
replace
(
"["
,
""
)
action
:
this
.
entity
.
action
,
.
replace
(
"]"
,
""
)
scheduleType
:
this
.
entity
.
scheduleType
.
replace
(
/
\"
/g
,
""
),
routingDetailId
:
this
.
initeId
.
routingDetailId
,
orderId
:
this
.
orderId
,
dispatchId
:
this
.
initeId
.
dispatchId
//reason: this.entity.reason,
//remark: this.entity.remark
};
};
alert
(
JSON
.
stringify
(
params
));
Api
.
mesordersplitcard
(
params
)
.
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$Message
.
success
(
"分卡成功"
);
}
else
{
this
.
$Message
.
error
(
"分卡失败"
);
}
})
.
catch
(
err
=>
{
this
.
$Message
.
error
(
"连接失败"
);
});
this
.
handleClose
();
this
.
handleClose
();
}
else
{
}
else
{
this
.
modalSplit
=
true
;
this
.
modalSplit
=
true
;
...
@@ -369,13 +381,40 @@ export default {
...
@@ -369,13 +381,40 @@ export default {
scheduleType
:
null
scheduleType
:
null
};
};
},
},
pause
(
row
)
{
pause
(
row
,
index
)
{
this
.
index
=
index
;
//暂停工单
//暂停工单
alert
(
JSON
.
stringify
(
row
));
this
.
info
=
{
dispatch_id
:
row
.
id
,
execute_id
:
this
.
executeId
,
order_id
:
this
.
orderId
};
this
.
workOrderPauseModal
=
true
;
},
pauseOk
()
{
this
.
workOrderPauseModal
=
false
;
this
.
result
[
this
.
index
].
status
=
5
;
},
},
continue
(
row
)
{
continue
(
row
,
index
)
{
this
.
index
=
index
;
//继续工单
//继续工单
alert
(
JSON
.
stringify
(
row
));
let
params
=
{
id
:
row
.
id
,
orderid
:
this
.
orderId
,
time
:
null
};
Api
.
entrycontinue
(
params
)
.
then
(
response
=>
{
if
(
response
.
success
)
{
this
.
$Message
.
success
(
"操作成功"
);
this
.
result
[
this
.
index
].
status
=
14
;
}
else
{
this
.
$Message
.
error
(
"操作失败"
);
}
})
.
catch
(
error
=>
{
this
.
$Message
.
error
(
"连接失败"
);
});
},
},
//截取字符串
//截取字符串
sliceStr
(
str
,
lenS
,
lenE
)
{
sliceStr
(
str
,
lenS
,
lenE
)
{
...
...
pages/produce/execute/MaterialCollec/index.vue
View file @
fe1902fd
<
style
lang=
"less"
>
@import "../execute.less";
</
style
>
<
template
>
<
template
>
<div
class=
""
>
<div
class=
""
>
<div
class=
"star"
v-if=
"!starmodal"
>
<div
class=
"star"
v-if=
"!starmodal"
>
...
...
pages/produce/execute/ProcessCase/index.vue
View file @
fe1902fd
<
style
lang=
"less"
>
@import "../execute.less";
</
style
>
<
template
>
<
template
>
<div
class=
""
>
<div
class=
""
>
<div
class=
"star"
v-if=
"!starmodal"
>
<div
class=
"star"
v-if=
"!starmodal"
>
...
...
pages/produce/execute/ProcessCheck/index.vue
View file @
fe1902fd
<
style
lang=
"less"
>
@import "../execute.less";
</
style
>
<
template
>
<
template
>
<div
class=
""
>
<div
class=
""
>
<div
class=
"star"
v-if=
"!starmodal"
>
<div
class=
"star"
v-if=
"!starmodal"
>
...
...
pages/produce/execute/components/functional.vue
View file @
fe1902fd
<
style
lang=
"less"
>
@import "../execute.less";
</
style
>
<
template
>
<
template
>
<div
class=
"addd"
>
<div
class=
"addd"
>
<ul>
<ul>
...
...
pages/produce/execute/components/orderlist.vue
View file @
fe1902fd
<
style
lang=
"less"
>
@import "../execute.less";
</
style
>
<
template
>
<
template
>
<div
class=
"order_list"
>
<div
class=
"order_list"
>
<!--
<div
slot=
"header"
>
<!--
<div
slot=
"header"
>
...
...
pages/produce/execute/datafilling/index.vue
View file @
fe1902fd
<
style
lang=
"less"
>
@import "../execute.less";
</
style
>
<
template
>
<
template
>
<div
class=
""
>
<div
class=
""
>
<div
class=
"star"
v-if=
"!starmodal"
>
<div
class=
"star"
v-if=
"!starmodal"
>
...
...
pages/produce/execute/execute.less
View file @
fe1902fd
...
@@ -172,12 +172,103 @@
...
@@ -172,12 +172,103 @@
}
}
}
}
.gs_set{
.gs_set{
height:
100vh
;
height:
calc(100vh - 165px)
;
.gs_top{
.gs_top{
margin:
0
auto;
margin:
15px
auto;
width: 1000px;
width: 1000px;
height: 120px;
height: 120px;
background: #2680EB;
background: #2680EB;
color: #fff;
color: #fff;
border-radius:4px;
padding: 20px 0 0;
.line_slit{
height: 5em;
float: left;
margin: 5px 0 0;
}
.gs_top_box{
float: left;
width: calc(50% - 1px);
text-align: center;
i{
font-size: 71px;
}
.gs_bo01{
display: inline-block;
height: 62px;
text-align: left;
padding: 0 0 0 10px;
}
span{
display: block;
}
.shi{
}
.number{
font-size: 32px;
}
}
}
.gs_card_box{
padding: 15px 50px;
.gs_card{
float: left;
margin: 20px 72px;
width: 300px;
height: 240px;
.ivu-card-head{
background: #d3e6fb;
border-radius: 4px 4px 0px 0px;
border-bottom: 1px dashed #2680EB;
.gs_title{
color: #2680EB;
}
}
.gs_p{
height: 32px;
line-height: 32px;
}
.gs_time{
text-align: center;
color: #2680EB;
.b_size{
font-size: 32px;
}
}
.gs_footer{
background: #d3e6fb;
margin: 0 -16px;
height: 59px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-top: 1px solid #2680eb;
a{
display: inline-block;
height: 59px;
line-height: 60px;
text-align: center;
width: calc(50% - 2px);
}
.gs_del{
background: #2680EB;
color: #fff;
border-bottom-right-radius: 4px;
}
}
}
.gs_card:hover {
border-color: #2680EB;
}
.gs_add{
border: 1px dashed #2680EB;
color: #2680EB;
text-align: center;
line-height: 275px;
border-radius: 4px;
i{
font-size: 80px;
}
}
}
}
}
}
\ No newline at end of file
pages/produce/execute/judgment/index.vue
View file @
fe1902fd
<
style
lang=
"less"
>
@import "../execute.less";
</
style
>
<
template
>
<
template
>
<div
class=
""
>
<div
class=
""
>
<div
class=
"star"
v-if=
"!starmodal"
>
<div
class=
"star"
v-if=
"!starmodal"
>
...
...
pages/produce/execute/preparation/index.vue
View file @
fe1902fd
<
style
lang=
"less"
>
@import "../execute.less";
</
style
>
<
template
>
<
template
>
<div
class=
""
>
<div
class=
""
>
<div
class=
"star"
v-if=
"!starmodal"
>
<div
class=
"star"
v-if=
"!starmodal"
>
...
...
pages/produce/execute/productSet/index.vue
View file @
fe1902fd
<
style
lang=
"less"
>
@import "../execute.less";
</
style
>
<
template
>
<
template
>
<div
class=
""
>
<div
class=
""
>
<div
class=
"star"
v-if=
"!starmodal"
>
<div
class=
"star"
v-if=
"!starmodal"
>
...
...
pages/produce/execute/starOrder/index.vue
View file @
fe1902fd
<
style
lang=
"less"
>
@import "../execute.less";
</
style
>
<
template
>
<
template
>
<div
class=
""
>
<div
class=
""
>
<div
class=
"star"
v-if=
"!starmodal"
>
<div
class=
"star"
v-if=
"!starmodal"
>
...
...
pages/produce/execute/taskTime/add.vue
0 → 100644
View file @
fe1902fd
<
template
>
<div>
<Form
ref=
"form"
:model=
"entity"
:rules=
"rules"
:label-width=
"100"
>
<Row>
<Col
span=
"12"
>
<FormItem
label=
"所属车间"
>
<Input
v-model=
"entity.projectNo"
disabled
></Input>
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"所属班组"
>
<Input
v-model=
"entity.productName"
disabled
></Input>
</FormItem>
</Col>
<Col
span=
"12"
>
<FormItem
label=
"数字"
>
<InputNumber
v-model=
"entity.outSideTime"
style=
"width:150px;"
:min=
"0"
></InputNumber>
</FormItem>
</Col>
</Row>
</Form>
<Row>
<Col
span=
"24"
style=
"text-align:right;height:60px;line-height:60px"
>
<Button
@
click=
"handleClose"
class=
"mr20"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"handleSubmit"
>
确定
</Button>
</Col>
</Row>
</div>
</
template
>
<
script
>
export
default
{
data
(){
return
{
admor
:
1
,
entity
:
{
},
rules
:
{
outSideTime
:
[
{
required
:
true
,
message
:
"必填"
,
type
:
"number"
,
trigger
:
"change"
}
]
}
}
},
methods
:
{
handleSubmit
(){
this
.
$emit
(
"on-ok"
,
this
.
entity
);
},
handleClose
(){
this
.
$emit
(
"on-close"
);
},
},
}
</
script
>
\ No newline at end of file
pages/produce/execute/taskTime/index.vue
View file @
fe1902fd
<
style
lang=
"less"
>
@import "../execute.less";
</
style
>
<
template
>
<
template
>
<div
class=
"gs_set"
>
<div
class=
"gs_set"
>
<div
class=
"gs_top"
>
<div
class=
"gs_top"
>
<div
class=
"total_time"
>
<div
class=
"gs_top_box total_time"
>
<Icon
type=
"md-pie"
/>
<!--
<Icon
type=
"md-pie"
/>
-->
<Icon
type=
"ios-time"
/>
<div
class=
"gs_bo01"
>
<span
class=
"shi"
>
总工时
</span>
<span
class=
"number"
>
250
</span>
</div>
</div>
</div>
<Divider
type=
"vertical"
/>
<Divider
type=
"vertical"
class=
"line_slit"
/>
<div
class=
"allocated"
>
<div
class=
"
gs_top_box
allocated"
>
<Icon
type=
"md-pie"
/>
<Icon
type=
"md-pie"
/>
<div
class=
"gs_bo01"
>
<span
class=
"shi"
>
待分配
</span>
<span
class=
"number"
>
200
</span>
</div>
</div>
</div>
</div>
</div>
<div
class=
"gs_card_box"
></div>
<div
class=
"gs_card_box"
>
<Card
class=
"gs_card"
v-for=
"i of 5"
:key=
"i"
>
<p
slot=
"title"
class=
"gs_title"
>
张三
<span
class=
"fr"
>
02816335
{{
i
}}
</span>
</p>
<p
class=
"gs_p"
>
所属车间:车间A
{{
i
}}
</p>
<p
class=
"gs_p"
>
所属班组:班组B
{{
i
}}
</p>
<p
class=
"gs_time"
>
<span
class=
"b_size"
>
100
</span>
工时
</p>
<p
class=
"gs_footer"
>
<a
class=
"gs_edit"
@
click=
"editItem"
>
<Icon
type=
"md-create"
/>
编辑
</a>
<a
class=
"gs_del"
@
click=
"delItem"
>
<Icon
type=
"ios-trash-outline"
/>
删除
</a>
</p>
</Card>
<a
class=
"gs_card gs_add"
@
click=
"addItem"
>
<Icon
type=
"ios-add"
/>
</a>
</div>
<!-- 新增弹框 -->
<Modal
v-model=
"addmodal"
width=
'1100'
:mask-closable=
"false"
title=
"添加人员"
footer-hide
>
<addview
ref=
"addview"
@
on-close=
"cancel"
@
on-ok=
"addInfo"
></addview>
</Modal>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
addview
from
"./add"
;
export
default
{
export
default
{
name
:
'starOrder'
,
name
:
'starOrder'
,
components
:
{
addview
,},
data
(){
data
(){
return
{
return
{
starmodal
:
false
,
starmodal
:
false
,
msg
:
'确认要删除吗?'
,
title
:
'删除确认'
,
addmodal
:
false
,
}
}
},
},
created
()
{
created
()
{
...
@@ -38,9 +79,27 @@ export default {
...
@@ -38,9 +79,27 @@ export default {
};
};
},
},
methods
:
{
methods
:
{
starFun
(){
addItem
(){
this
.
$Message
.
success
(
"开工..."
)
this
.
addmodal
=
true
},
editItem
(){
this
.
$Message
.
success
(
"编辑工时..."
)
},
},
delItem
(){
this
.
$Modal
.
confirm
({
title
:
this
.
title
,
content
:
"<p>"
+
this
.
msg
+
"</p>"
,
onOk
:
()
=>
{
this
.
$Message
.
success
(
"删除工时..."
)
}
});
},
cancel
(){
this
.
addmodal
=
false
},
addInfo
(){
this
.
addmodal
=
false
}
},
},
}
}
</
script
>
</
script
>
pages/produce/execute/testdata/index.vue
View file @
fe1902fd
<
style
lang=
"less"
>
@import "../execute.less";
</
style
>
<
template
>
<
template
>
<div
class=
""
>
<div
class=
""
>
<div
class=
"star"
v-if=
"!starmodal"
>
<div
class=
"star"
v-if=
"!starmodal"
>
...
...
pages/technology/details/routinghcorder/add.vue
View file @
fe1902fd
...
@@ -79,7 +79,7 @@
...
@@ -79,7 +79,7 @@
</Col>
</Col>
<Col
span=
"24"
>
<Col
span=
"24"
>
<FormItem
:label=
"l('afterChangeContent')"
prop=
"afterChangeContent"
>
<FormItem
:label=
"l('afterChangeContent')"
prop=
"afterChangeContent"
>
<i-quill
v-model=
"entity.afterChangeContent"
:height=
"200"
border
v-paste=
"handleImg"
/>
<i-quill
v-model=
"entity.afterChangeContent"
:height=
"200"
border
v-paste=
"handleImg
1
"
/>
</FormItem>
</FormItem>
</Col>
</Col>
...
@@ -235,24 +235,45 @@ export default {
...
@@ -235,24 +235,45 @@ export default {
},
},
handleImg
(
e
)
{
handleImg
(
e
)
{
console
.
warn
(
e
);
console
.
warn
(
e
);
//
let file = null
let
file
=
null
//
if (
if
(
//
e.clipboardData &&
e
.
clipboardData
&&
//
e.clipboardData.items[0] &&
e
.
clipboardData
.
items
[
0
]
&&
//
e.clipboardData.items[0].type &&
e
.
clipboardData
.
items
[
0
].
type
&&
//
e.clipboardData.items[0].type.indexOf('image') > -1
e
.
clipboardData
.
items
[
0
].
type
.
indexOf
(
'image'
)
>
-
1
//
) {
)
{
//
//这里就是判断是否有粘贴进来的文件且文件为图片格式
//这里就是判断是否有粘贴进来的文件且文件为图片格式
//
file = e.clipboardData.items[0].getAsFile()
file
=
e
.
clipboardData
.
items
[
0
].
getAsFile
()
//
let reader = new FileReader()
let
reader
=
new
FileReader
()
//
reader.readAsDataURL(file)
reader
.
readAsDataURL
(
file
)
//
setTimeout(() => {
setTimeout
(()
=>
{
//
var img = '
<
img
src
=
"' + reader.result + '"
alt
=
""
/>
'
var
img
=
'<img src="'
+
reader
.
result
+
'" alt=""/>'
// this.bugForm.c
ontent += img
this
.
entity
.
beforeChangeC
ontent
+=
img
//
}, 1000)
},
1000
)
// // new R
// new R
// }
}
},
handleImg1
(
e
)
{
console
.
warn
(
e
);
let
file
=
null
if
(
e
.
clipboardData
&&
e
.
clipboardData
.
items
[
0
]
&&
e
.
clipboardData
.
items
[
0
].
type
&&
e
.
clipboardData
.
items
[
0
].
type
.
indexOf
(
'image'
)
>
-
1
)
{
//这里就是判断是否有粘贴进来的文件且文件为图片格式
file
=
e
.
clipboardData
.
items
[
0
].
getAsFile
()
let
reader
=
new
FileReader
()
reader
.
readAsDataURL
(
file
)
setTimeout
(()
=>
{
var
img
=
'<img src="'
+
reader
.
result
+
'" alt=""/>'
this
.
entity
.
afterChangeContent
+=
img
},
1000
)
// new R
}
},
},
departChange
(
v
,
items
)
departChange
(
v
,
items
)
{
{
...
...
pages/technology/details/routinghcorder/detail.vue
View file @
fe1902fd
<
template
>
<
template
>
<div
class=
"detail"
>
<div
class=
"detail"
>
<Row>
<Row>
<Filed
:span=
"12"
:name=
"l('routingHeaderId')"
>
{{
entity
.
routingHeaderId
}}
</Filed>
<
!--
<
Filed
:span=
"12"
:name=
"l('routingHeaderId')"
>
{{
entity
.
routingHeaderId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('classId')"
>
{{
entity
.
classId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('classId')"
>
{{
entity
.
classId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('proposeUserId')"
>
{{
entity
.
proposeUserId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('proposeUserId')"
>
{{
entity
.
proposeUserId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('proposeUserName')"
>
{{
entity
.
proposeUserName
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('proposeUserName')"
>
{{
entity
.
proposeUserName
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('departmentId')"
>
{{
entity
.
departmentId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('departmentId')"
>
{{
entity
.
departmentId
}}
</Filed>
-->
<Filed
:span=
"12"
:name=
"l('departmentName')"
>
{{
entity
.
departmentName
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('departmentName')"
>
{{
entity
.
departmentName
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('technicalName')"
>
{{
entity
.
technicalName
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('technicalName')"
>
{{
entity
.
technicalName
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('technicalCode')"
>
{{
entity
.
technicalCode
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('technicalCode')"
>
{{
entity
.
technicalCode
}}
</Filed>
...
@@ -13,18 +13,24 @@
...
@@ -13,18 +13,24 @@
<Filed
:span=
"12"
:name=
"l('quantity')"
>
{{
entity
.
quantity
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('quantity')"
>
{{
entity
.
quantity
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('printData')"
>
{{
entity
.
printData
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('printData')"
>
{{
entity
.
printData
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('executiveBranch')"
>
{{
entity
.
executiveBranch
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('executiveBranch')"
>
{{
entity
.
executiveBranch
}}
</Filed>
<
Filed
:span=
"12"
:name=
"l('executiveBranchId')"
>
{{
entity
.
executiveBranchId
}}
</Filed
>
<
!--
<Filed
:span=
"12"
:name=
"l('executiveBranchId')"
>
{{
entity
.
executiveBranchId
}}
</Filed>
--
>
<
Filed
:span=
"12"
:name=
"l('handlingOpinionsId')"
>
{{
entity
.
handlingOpinionsId
}}
</Filed
>
<
!--
<Filed
:span=
"12"
:name=
"l('handlingOpinionsId')"
>
{{
entity
.
handlingOpinionsId
}}
</Filed>
--
>
<Filed
:span=
"12"
:name=
"l('handlingOpinions')"
>
{{
entity
.
handlingOpinions
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('handlingOpinions')"
>
{{
entity
.
handlingOpinions
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('beforeChangeContent')"
>
{{
entity
.
beforeChangeContent
}}
</Filed>
<Filed
:span=
"24"
:name=
"l('beforeChangeContent')"
>
<Filed
:span=
"12"
:name=
"l('afterChangeContent')"
>
{{
entity
.
afterChangeContent
}}
</Filed>
<div
v-html=
"entity.beforeChangeContent"
></div>
</Filed>
<Filed
:span=
"24"
:name=
"l('afterChangeContent')"
>
<div
v-html=
"entity.afterChangeContent"
></div>
</Filed>
<Filed
:span=
"12"
:name=
"l('changeorderCode')"
>
{{
entity
.
changeorderCode
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('changeorderCode')"
>
{{
entity
.
changeorderCode
}}
</Filed>
<Filed
:span=
"24"
:name=
"l('changeReason')"
>
{{
entity
.
changeReason
}}
</Filed>
<Filed
:span=
"24"
:name=
"l('changeReason')"
>
{{
entity
.
changeReason
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('effectiveDate')"
>
{{
entity
.
effectiveDate
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('effectiveDate')"
>
{{
entity
.
effectiveDate
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('checkPerson')"
>
{{
entity
.
checkPerson
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('checkPerson')"
>
{{
entity
.
checkPerson
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('approvalPerson')"
>
{{
entity
.
approvalPerson
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('approvalPerson')"
>
{{
entity
.
approvalPerson
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('status')"
>
{{
entity
.
status
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('status')"
>
<Filed
:span=
"24"
:name=
"l('note')"
>
{{
entity
.
note
}}
</Filed>
<State
code=
"unProduct.repairstatus"
:value=
"entity.status"
/>
</Filed>
<!--
<Filed
:span=
"24"
:name=
"l('note')"
>
{{
entity
.
note
}}
</Filed>
-->
</Row>
</Row>
</div>
</div>
</
template
>
</
template
>
...
...
pages/technology/details/routinghcorder/edit.vue
View file @
fe1902fd
This diff is collapsed.
Click to expand it.
pages/technology/details/routingqccard/add.vue
View file @
fe1902fd
...
@@ -112,10 +112,11 @@
...
@@ -112,10 +112,11 @@
</Col>
</Col>
<Col
:span=
"24"
>
<Col
:span=
"24"
>
<FormItem
:label=
"l('qualityTemplateName')"
prop=
"qualityTemplateName"
>
<FormItem
:label=
"l('qualityTemplateName')"
prop=
"qualityTemplateName"
>
<
files
ref=
"refFile"
:parms=
"parms"
files
singleFile
/>
<
inputFile
v-model=
"tempFile"
:parms=
"parms"
/>
</FormItem>
</FormItem>
</Col>
</Col>
<!--
<!--
<files
ref=
"refFile"
:parms=
"parms"
files
singleFile
/>
<Col
:span=
"12"
>
<Col
:span=
"12"
>
<FormItem
:label=
"l('isImportant')"
prop=
"isImportant"
>
<FormItem
:label=
"l('isImportant')"
prop=
"isImportant"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.isImportant"
type=
"radio"
></Dictionary>
<Dictionary
code=
"Process.state"
v-model=
"entity.isImportant"
type=
"radio"
></Dictionary>
...
@@ -206,6 +207,7 @@ export default {
...
@@ -206,6 +207,7 @@ export default {
sampling
:
null
,
sampling
:
null
,
samplingBatch
:
""
samplingBatch
:
""
},
},
tempFile
:
""
,
rules
:
{
rules
:
{
routingDetailId
:
[
routingDetailId
:
[
{
required
:
true
,
message
:
"请选择工序名称"
,
type
:
"number"
}
{
required
:
true
,
message
:
"请选择工序名称"
,
type
:
"number"
}
...
@@ -213,12 +215,13 @@ export default {
...
@@ -213,12 +215,13 @@ export default {
checkContent
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}]
checkContent
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}]
},
},
routingDetailList
:
[],
routingDetailList
:
[],
parms
:
{
parms
:
"app=qccard&eid="
+
this
.
$u
.
guid
()
+
"&name=''"
app
:
"qccard"
,
// parms: {
eid
:
null
,
// app: "qccard",
name
:
""
,
// eid: null,
field
:
""
// name: "",
}
// field: ""
// }
};
};
},
},
props
:
{
props
:
{
...
@@ -236,26 +239,31 @@ export default {
...
@@ -236,26 +239,31 @@ 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
!=
""
)
{
this
.
entity
.
qualityTemplateName
=
""
;
let
tempName
=
JSON
.
parse
(
this
.
$u
.
clone
(
this
.
tempFile
));
this
.
entity
.
qualityTemplate
=
""
;
this
.
entity
.
qualityTemplateName
=
tempName
[
0
].
fileName
;
if
(
this
.
$refs
.
refFile
.
nameList
.
length
>
0
)
{
this
.
entity
.
qualityTemplate
=
tempName
[
0
].
filePath
;
let
nameList
=
this
.
$refs
.
refFile
.
nameList
;
}
else
{
let
names
=
[];
this
.
entity
.
qualityTemplateName
=
""
;
let
url
=
[];
this
.
entity
.
qualityTemplate
=
""
;
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
,
""
);
}
}
// 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
)
...
...
pages/technology/details/routingqccard/edit.vue
View file @
fe1902fd
...
@@ -54,8 +54,9 @@
...
@@ -54,8 +54,9 @@
</Col>
</Col>
<Col
:span=
"24"
>
<Col
:span=
"24"
>
<FormItem
:label=
"l('qualityTemplateName')"
prop=
"qualityTemplateName"
>
<FormItem
:label=
"l('qualityTemplateName')"
prop=
"qualityTemplateName"
>
<
files
ref=
"refFile"
:parms=
"parms"
files
singleFile
/>
<
inputFile
ref=
"inputfile"
v-model=
"tempFile"
:parms=
"parms"
/>
<!--
<!--
<files
ref=
"refFile"
:parms=
"parms"
files
singleFile
/>
<a
<a
:href=
"fileUrlPath"
:href=
"fileUrlPath"
@
click=
"downFile(entity.qualityTemplate)"
@
click=
"downFile(entity.qualityTemplate)"
...
@@ -82,10 +83,14 @@ export default {
...
@@ -82,10 +83,14 @@ export default {
raidoDis
:
false
,
raidoDis
:
false
,
downUrl
:
fileUrlDown
,
downUrl
:
fileUrlDown
,
fileUrlPath
:
""
,
fileUrlPath
:
""
,
tempFile
:
""
,
tempFileName
:
""
,
tempFilePath
:
""
,
entity
:
{
entity
:
{
qualityTemplateName
:
""
,
qualityTemplateName
:
""
,
qualityTemplate
:
""
qualityTemplate
:
""
},
},
rules
:
{
rules
:
{
routingDetailId
:
[
routingDetailId
:
[
{
required
:
true
,
message
:
"请选择工序名称"
,
type
:
"number"
}
{
required
:
true
,
message
:
"请选择工序名称"
,
type
:
"number"
}
...
@@ -93,12 +98,13 @@ export default {
...
@@ -93,12 +98,13 @@ export default {
checkContent
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}]
checkContent
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}]
},
},
routingDetailList
:
[],
routingDetailList
:
[],
parms
:
{
parms
:
"app=qccard&eid="
+
this
.
$u
.
guid
()
+
"&name=''"
app
:
"qccard"
,
// parms: {
eid
:
this
.
eid
,
// app: "qccard",
name
:
""
,
// eid: this.eid,
field
:
""
// name: "",
}
// field: ""
// }
};
};
},
},
props
:
{
props
:
{
...
@@ -115,10 +121,9 @@ export default {
...
@@ -115,10 +121,9 @@ export default {
methods
:
{
methods
:
{
load
(
v
)
{
load
(
v
)
{
Api
.
get
({
id
:
v
}).
then
(
r
=>
{
Api
.
get
({
id
:
v
}).
then
(
r
=>
{
this
.
$refs
.
refFile
.
intFilesClone
();
this
.
parms
.
eid
=
v
;
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
)
{
if
(
r
.
result
.
checkType
==
1
||
r
.
result
.
checkType
==
2
)
{
this
.
raidoDis
=
false
;
this
.
raidoDis
=
false
;
this
.
entity
.
isphotograph
=
null
;
this
.
entity
.
isphotograph
=
null
;
...
@@ -134,26 +139,11 @@ export default {
...
@@ -134,26 +139,11 @@ export default {
this
.
$refs
.
form
.
validate
(
v
=>
{
this
.
$refs
.
form
.
validate
(
v
=>
{
if
(
v
)
{
if
(
v
)
{
this
.
disabled
=
true
;
this
.
disabled
=
true
;
this
.
entity
.
qualityTemplateName
=
""
;
if
(
this
.
tempFile
!=
""
)
{
this
.
entity
.
qualityTemplate
=
""
;
let
tempName
=
JSON
.
parse
(
this
.
$u
.
clone
(
this
.
tempFile
));
if
(
this
.
$refs
.
refFile
.
nameList
.
length
>
0
)
{
this
.
entity
.
qualityTemplateName
=
tempName
[
0
].
fileName
;
let
nameList
=
this
.
$refs
.
refFile
.
nameList
;
this
.
entity
.
qualityTemplate
=
tempName
[
0
].
filePath
;
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
,
""
);
}
}
Api
.
update
(
this
.
entity
)
Api
.
update
(
this
.
entity
)
.
then
(
r
=>
{
.
then
(
r
=>
{
this
.
disabled
=
false
;
this
.
disabled
=
false
;
...
@@ -213,7 +203,7 @@ export default {
...
@@ -213,7 +203,7 @@ export default {
if
(
v
!=
0
)
{
if
(
v
!=
0
)
{
this
.
load
(
v
);
this
.
load
(
v
);
}
}
}
}
,
}
}
};
};
</
script
>
</
script
>
pages/technology/edit.vue
View file @
fe1902fd
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
<Input
v-model=
"entity.unicode"
></Input>
<Input
v-model=
"entity.unicode"
></Input>
</FormItem>
</FormItem>
</Col>
-->
</Col>
-->
<Col
:span=
"8"
>
<Col
:span=
"8"
>
<FormItem
:label=
"l('code')"
prop=
"code"
>
<FormItem
:label=
"l('code')"
prop=
"code"
>
<Input
v-model=
"entity.code"
disabled
></Input>
<Input
v-model=
"entity.code"
disabled
></Input>
</FormItem>
</FormItem>
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
<Input
v-model=
"entity.name"
></Input>
<Input
v-model=
"entity.name"
></Input>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"8"
>
<Col
:span=
"8"
>
<FormItem
:label=
"l('routingType')"
prop=
"routingType"
>
<FormItem
:label=
"l('routingType')"
prop=
"routingType"
>
<Dictionary
code=
"Process.Routing.routingType"
v-model=
"entity.routingType"
></Dictionary>
<Dictionary
code=
"Process.Routing.routingType"
v-model=
"entity.routingType"
></Dictionary>
...
@@ -52,7 +52,7 @@
...
@@ -52,7 +52,7 @@
<departmentSelect
v-model=
"entity.departmentId"
@
on-change=
"departChange"
></departmentSelect>
<departmentSelect
v-model=
"entity.departmentId"
@
on-change=
"departChange"
></departmentSelect>
</FormItem>
</FormItem>
</Col>
</Col>
<Col
:span=
"8"
>
<Col
:span=
"8"
>
<FormItem
:label=
"l('isEffect')"
prop=
"isEffect"
>
<FormItem
:label=
"l('isEffect')"
prop=
"isEffect"
>
<Dictionary
code=
"Process.Status"
v-model=
"entity.isEffect"
type=
"radio"
></Dictionary>
<Dictionary
code=
"Process.Status"
v-model=
"entity.isEffect"
type=
"radio"
></Dictionary>
...
@@ -184,6 +184,9 @@ export default {
...
@@ -184,6 +184,9 @@ export default {
this
.
$refs
.
refFile
.
intFilesClone
();
this
.
$refs
.
refFile
.
intFilesClone
();
this
.
parms
.
eid
=
this
.
uid
;
this
.
parms
.
eid
=
this
.
uid
;
this
.
entity
=
r
.
result
;
this
.
entity
=
r
.
result
;
if
(
this
.
entity
.
isEffect
&&
this
.
entity
.
isEffect
!=
""
)
{
this
.
entity
.
isEffect
=
Number
(
this
.
entity
.
isEffect
);
}
});
});
},
},
handleSubmit
()
{
handleSubmit
()
{
...
...
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