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
3b409d56
Commit
3b409d56
authored
Apr 29, 2020
by
周远喜
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'product' of
http://git.mes123.com/zhouyx/mes-ui
into product
parents
19bafb12
54059f9d
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1059 additions
and
704 deletions
+1059
-704
files.vue
components/page/files.vue
+123
-80
zh-CN.js
i18n/locale/zh-CN.js
+1
-27
package-lock.json
package-lock.json
+8
-21
index.vue
pages/aps/complete/index.vue
+20
-10
index.vue
pages/aps/plan/index.vue
+1
-1
index.vue
pages/aps/stream/index.vue
+7
-8
index.vue
pages/mesPlan/index.vue
+7
-5
add.vue
pages/technology/details/routingStep/add.vue
+214
-124
api.js
pages/technology/details/routingStep/api.js
+1
-1
edit.vue
pages/technology/details/routingStep/edit.vue
+190
-102
index.vue
pages/technology/details/routingStep/index.vue
+204
-116
add.vue
pages/technology/details/routingqccard/add.vue
+93
-52
detail.vue
pages/technology/details/routingqccard/detail.vue
+48
-51
edit.vue
pages/technology/details/routingqccard/edit.vue
+82
-57
index.vue
pages/technology/details/routingqccard/index.vue
+21
-10
add.vue
pages/technology/details/routingsupporting/add.vue
+15
-15
detail.vue
pages/technology/details/routingsupporting/detail.vue
+3
-3
edit.vue
pages/technology/details/routingsupporting/edit.vue
+19
-19
index.vue
pages/technology/index.vue
+1
-1
config.js
static/config.js
+1
-1
No files found.
components/page/files.vue
View file @
3b409d56
...
...
@@ -11,7 +11,7 @@
:show-upload-list=
"false"
:on-exceeded-size=
"onExceededSize"
:on-format-error=
"onFormatError"
multiple
:multiple=
"multiple"
:style=
"style"
:on-progress=
"onProgress"
>
...
...
@@ -21,7 +21,7 @@
</div>
<Button
icon=
"ios-cloud-upload-outline"
v-if=
"!cloudIco"
>
上传文件
</Button>
</Upload>
<Progress
:percent=
"per"
:stroke-width=
"5"
v-show=
"vshowPro"
/>
<Progress
:percent=
"per"
:stroke-width=
"5"
v-show=
"vshowPro"
/>
<Tag
v-for=
"(item,index) in nameList"
:key=
"index"
...
...
@@ -30,29 +30,30 @@
@
on-close=
"handleClose2"
checkable
>
<a
:href=
"fileUrlPath"
@
click=
"downFile(item.filePath)"
target=
"_blank"
>
{{
item
.
fileName
}}
</a>
<a
:href=
"fileUrlPath"
@
click=
"downFile(item.filePath)"
target=
"_blank"
>
{{
item
.
fileName
}}
</a>
</Tag>
</div>
</
template
>
<
script
>
export
default
{
name
:
'files'
,
name
:
"files"
,
model
:
{
prop
:
'value'
prop
:
"value"
},
data
()
{
return
{
file
:
null
,
downUrl
:
fileUrlDown
,
fileUrlPath
:
''
,
fileUrlPath
:
""
,
nameList
:
[],
hbaseFileListNew
:
[],
formatList
:
[
'png'
,
'jpg'
,
'gif'
],
postUrl
:
''
,
style
:
''
,
formatList
:
[
"png"
,
"jpg"
,
"gif"
],
multiple
:
true
,
postUrl
:
""
,
style
:
""
,
per
:
0
,
vshowPro
:
false
}
}
;
},
created
()
{},
props
:
{
...
...
@@ -61,13 +62,17 @@ export default {
type
:
Boolean
,
default
:
false
},
singleFile
:
{
//上传单文件
type
:
Boolean
,
default
:
false
},
maxSize
:
{
type
:
Number
,
default
:
10240
},
parms
:
{
type
:
[
String
,
Object
],
default
:
''
default
:
""
},
unClosable
:
{
type
:
Boolean
,
...
...
@@ -80,140 +85,177 @@ export default {
},
methods
:
{
onProgress
(
event
,
file
,
fileList
)
{
this
.
per
=
0
this
.
vshowPro
=
true
this
.
per
=
0
;
this
.
vshowPro
=
true
;
},
// change(event) {
// this.$emit('on-change', event)
// },
//上传成功文件
uploadSuccess
(
response
,
file
,
fileList
)
{
this
.
per
=
60
this
.
vshowPro
=
true
const
hbaseFileList
=
[]
const
filesList
=
[]
this
.
per
=
60
;
this
.
vshowPro
=
true
;
const
hbaseFileList
=
[];
const
filesList
=
[];
if
(
this
.
singleFile
)
{
this
.
nameList
=
[];
}
if
(
file
.
response
.
status
==
0
)
{
let
objImag
=
{}
objImag
.
fileName
=
file
.
response
.
data
.
fileName
objImag
.
filePath
=
file
.
response
.
data
.
downloadPath
objImag
.
id
=
file
.
response
.
data
.
id
filesList
.
push
(
objImag
)
this
.
nameList
=
this
.
nameList
.
concat
(
filesList
)
this
.
per
=
100
let
objImag
=
{}
;
objImag
.
fileName
=
file
.
response
.
data
.
fileName
;
objImag
.
filePath
=
file
.
response
.
data
.
downloadPath
;
objImag
.
id
=
file
.
response
.
data
.
id
;
filesList
.
push
(
objImag
)
;
this
.
nameList
=
this
.
nameList
.
concat
(
filesList
)
;
this
.
per
=
100
;
setTimeout
(()
=>
{
this
.
per
=
0
this
.
vshowPro
=
false
},
2000
)
this
.
per
=
0
;
this
.
vshowPro
=
false
;
},
2000
)
;
}
else
{
this
.
$Message
.
error
(
'上传失败,请重新上传!'
)
this
.
$Message
.
error
(
"上传失败,请重新上传!"
);
}
},
//上传文件失败
uploadError
(
response
,
file
,
fileList
)
{
this
.
$Message
.
error
(
'上传失败,请重新上传!'
)
this
.
$Message
.
error
(
"上传失败,请重新上传!"
);
},
//文件大小验证返回
onExceededSize
(
file
,
fileList
)
{
if
(
Object
.
keys
(
file
).
length
==
0
)
{
this
.
$Message
.
error
(
'上传文件不能大于'
+
this
.
maxSize
+
'k,请重新上传!'
)
"上传文件不能大于"
+
this
.
maxSize
+
"k,请重新上传!"
)
;
}
},
//文件格式验证
onFormatError
(
file
,
fileList
)
{
if
(
Object
.
keys
(
file
).
length
==
0
)
{
this
.
$Message
.
error
(
'上传文件格式不正确,请重新上传!'
)
this
.
$Message
.
error
(
"上传文件格式不正确,请重新上传!"
);
}
},
//删除上传
removeFile
(
file
,
fileList
)
{},
handleClose2
(
event
,
name
)
{
//删除上传到文件服务器上的文件
this
.
$http
.
sysUser
.
deleteFile
(
name
).
then
(
(
res
)
=>
{
this
.
$http
.
sysUser
.
deleteFile
(
name
).
then
(
res
=>
{
if
(
res
.
status
==
0
)
{
const
index
=
this
.
nameList
.
findIndex
(
function
(
item
)
{
return
item
.
id
===
name
})
this
.
nameList
.
splice
(
index
,
1
)
return
item
.
id
===
name
;
})
;
this
.
nameList
.
splice
(
index
,
1
)
;
}
else
{
this
.
$Message
.
error
(
'删除失败!'
)
this
.
$Message
.
error
(
"删除失败!"
);
}
})
})
;
},
downFile
(
path
)
{
this
.
fileUrlPath
=
this
.
downUrl
+
path
this
.
fileUrlPath
=
this
.
downUrl
+
path
;
},
formatL
()
{
if
(
this
.
files
)
{
this
.
formatList
=
[
'pdf'
,
'docx'
,
'doc'
,
'xls'
,
'xlsx'
,
'txt'
,
'png'
,
'jpg'
,
'gif'
]
"pdf"
,
"docx"
,
"doc"
,
"xls"
,
"xlsx"
,
"txt"
,
"png"
,
"jpg"
,
"gif"
];
}
return
this
.
formatList
;
},
mutipleStatu
()
{
if
(
this
.
singleFile
)
{
this
.
multiple
=
false
;
}
else
{
this
.
multiple
=
true
;
}
return
this
.
formatList
},
//修改时使用
intFiles
()
{
this
.
postUrl
=
fileUrl
+
'/upload/?token=Bearer '
+
window
.
sessionStorage
.
getItem
(
'token'
)
+
'&'
+
this
.
convertObj
(
this
.
parms
)
"/upload/?token=Bearer "
+
window
.
sessionStorage
.
getItem
(
"token"
)
+
"&"
+
this
.
convertObj
(
this
.
parms
);
//是否显示上传按钮
if
(
this
.
unClosable
)
{
this
.
style
=
"display:none;"
;
}
else
{
this
.
style
=
""
;
}
this
.
nameList
=
[];
//查询上传到文件服务器上的文件
this
.
$http
.
sysUser
.
getFile
(
this
.
parms
).
then
(
res
=>
{
if
(
res
.
data
!=
[]
&&
res
.
data
.
length
>
0
)
{
res
.
data
.
forEach
(
data
=>
{
let
objImag
=
{};
objImag
.
fileName
=
data
.
fileName
;
objImag
.
filePath
=
data
.
downloadPath
;
objImag
.
id
=
data
.
id
;
this
.
nameList
.
push
(
objImag
);
});
}
});
},
//克隆后修改时使用
intFilesClone
()
{
this
.
postUrl
=
fileUrl
+
"/upload/?token=Bearer "
+
window
.
sessionStorage
.
getItem
(
"token"
)
+
"&"
+
this
.
convertObj
(
this
.
parms
);
//是否显示上传按钮
if
(
this
.
unClosable
)
{
this
.
style
=
'display:none;'
this
.
style
=
"display:none;"
;
}
else
{
this
.
style
=
''
this
.
style
=
""
;
}
this
.
nameList
=
[]
this
.
nameList
=
[]
;
//查询上传到文件服务器上的文件
this
.
$http
.
sysUser
.
getFile
(
this
.
parms
).
then
(
(
res
)
=>
{
this
.
$http
.
sysUser
.
getFile
(
this
.
parms
).
then
(
res
=>
{
if
(
res
.
data
!=
[]
&&
res
.
data
.
length
>
0
)
{
res
.
data
.
forEach
(
(
data
)
=>
{
let
objImag
=
{}
objImag
.
fileName
=
data
.
fileName
objImag
.
filePath
=
data
.
downloadPath
objImag
.
id
=
data
.
id
this
.
nameList
.
push
(
objImag
)
})
res
.
data
.
forEach
(
data
=>
{
let
objImag
=
{}
;
objImag
.
fileName
=
data
.
fileName
;
objImag
.
filePath
=
data
.
downloadPath
;
objImag
.
id
=
data
.
id
;
this
.
nameList
.
push
(
objImag
)
;
})
;
}
})
})
;
},
//新增时重新定义posturl使用
intFiles1
()
{
this
.
postUrl
=
fileUrl
+
'/upload/?token=Bearer '
+
window
.
sessionStorage
.
getItem
(
'token'
)
+
'&'
+
this
.
convertObj
(
this
.
parms
)
"/upload/?token=Bearer "
+
window
.
sessionStorage
.
getItem
(
"token"
)
+
"&"
+
this
.
convertObj
(
this
.
parms
)
;
},
//obj转为url
convertObj
(
data
)
{
if
(
data
.
eid
!=
null
)
{
var
_result
=
[]
var
_result
=
[]
;
for
(
var
key
in
data
)
{
var
value
=
data
[
key
]
var
value
=
data
[
key
]
;
if
(
value
.
constructor
==
Array
)
{
value
.
forEach
(
function
(
_value
)
{
_result
.
push
(
key
+
'='
+
_value
)
})
_result
.
push
(
key
+
"="
+
_value
);
})
;
}
else
{
_result
.
push
(
key
+
'='
+
value
)
_result
.
push
(
key
+
"="
+
value
);
}
}
return
_result
.
join
(
'&'
)
}
else
return
''
return
_result
.
join
(
"&"
);
}
else
return
""
;
}
},
computed
:
{},
...
...
@@ -224,10 +266,11 @@ export default {
// }
},
mounted
()
{
this
.
formatL
()
this
.
formatL
();
this
.
mutipleStatu
();
// this.intFiles()
}
}
}
;
</
script
>
<
style
lang=
"less"
>
</
style
>
\ No newline at end of file
i18n/locale/zh-CN.js
View file @
3b409d56
...
...
@@ -1289,32 +1289,6 @@ export default {
stepContent
:
'工步内容'
,
extend
:
'扩展字段'
,
},
routing_qc_card
:
{
id
:
''
,
creationTime
:
'创建时间'
,
creatorUserId
:
'创建人'
,
lastModificationTime
:
'修改时间'
,
lastModifierUserId
:
'修改人'
,
isDeleted
:
'是否删除'
,
deleterUserId
:
'删除人'
,
deletionTime
:
'删除时间'
,
routingHeaderId
:
'工艺'
,
routingDetailId
:
'工序'
,
routingStepId
:
'工步'
,
checkContent
:
'检验内容'
,
checkType
:
'检验标记'
,
checkParams
:
'参数名称'
,
measurementUnit
:
'单位'
,
fillintype
:
'汇报类型'
,
qualityTemplate
:
'模板'
,
isphotograph
:
'是否拍照'
,
status
:
'状态'
,
extend
:
'扩展字段'
,
remark
:
'备注'
,
productionRequirement
:
'生产要求'
,
standard
:
'标准指标'
,
qualityTemplateName
:
'模板文件名称'
,
},
plan_resource
:
{
id
:
''
,
creationTime
:
'创建时间'
,
...
...
@@ -1356,7 +1330,6 @@ export default {
checkParams
:
'检测要求'
,
measurementUnit
:
'测量单位'
,
fillintype
:
'填报类型'
,
qualityTemplate
:
'模板'
,
isphotograph
:
'是否拍照'
,
status
:
'状态'
,
extend
:
'扩展字段'
,
...
...
@@ -1364,6 +1337,7 @@ export default {
productionRequirement
:
'生产要求'
,
standard
:
'标准指标'
,
qualityTemplateName
:
'模板名称'
,
qualityTemplate
:
'模板'
,
isImportant
:
'关键检验'
,
firstCheck
:
'首件检验'
,
inspection
:
'巡检'
,
...
...
package-lock.json
View file @
3b409d56
...
...
@@ -15362,8 +15362,7 @@
"console-control-strings"
:
{
"version"
:
"1.1.0"
,
"bundled"
:
true
,
"dev"
:
true
,
"optional"
:
true
"dev"
:
true
},
"core-util-is"
:
{
"version"
:
"1.0.2"
,
...
...
@@ -15523,7 +15522,6 @@
"version"
:
"2.9.0"
,
"bundled"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"safe-buffer"
:
"^5.1.2"
,
"yallist"
:
"^3.0.0"
...
...
@@ -15542,7 +15540,6 @@
"version"
:
"0.5.1"
,
"bundled"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"minimist"
:
"0.0.8"
}
...
...
@@ -15645,7 +15642,6 @@
"version"
:
"1.4.0"
,
"bundled"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"wrappy"
:
"1"
}
...
...
@@ -15731,8 +15727,7 @@
"safe-buffer"
:
{
"version"
:
"5.1.2"
,
"bundled"
:
true
,
"dev"
:
true
,
"optional"
:
true
"dev"
:
true
},
"safer-buffer"
:
{
"version"
:
"2.1.2"
,
...
...
@@ -15768,7 +15763,6 @@
"version"
:
"1.0.2"
,
"bundled"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"code-point-at"
:
"^1.0.0"
,
"is-fullwidth-code-point"
:
"^1.0.0"
,
...
...
@@ -15832,14 +15826,12 @@
"wrappy"
:
{
"version"
:
"1.0.2"
,
"bundled"
:
true
,
"dev"
:
true
,
"optional"
:
true
"dev"
:
true
},
"yallist"
:
{
"version"
:
"3.1.1"
,
"bundled"
:
true
,
"dev"
:
true
,
"optional"
:
true
"dev"
:
true
}
}
},
...
...
@@ -18617,6 +18609,7 @@
"minimatch"
:
{
"version"
:
"3.0.4"
,
"bundled"
:
true
,
"optional"
:
true
,
"requires"
:
{
"brace-expansion"
:
"^1.1.7"
}
...
...
@@ -19485,7 +19478,6 @@
"version"
:
"2.9.0"
,
"bundled"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"safe-buffer"
:
"^5.1.2"
,
"yallist"
:
"^3.0.0"
...
...
@@ -19504,7 +19496,6 @@
"version"
:
"0.5.1"
,
"bundled"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"minimist"
:
"0.0.8"
}
...
...
@@ -19607,7 +19598,6 @@
"version"
:
"1.4.0"
,
"bundled"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"wrappy"
:
"1"
}
...
...
@@ -19693,8 +19683,7 @@
"safe-buffer"
:
{
"version"
:
"5.1.2"
,
"bundled"
:
true
,
"dev"
:
true
,
"optional"
:
true
"dev"
:
true
},
"safer-buffer"
:
{
"version"
:
"2.1.2"
,
...
...
@@ -19794,14 +19783,12 @@
"wrappy"
:
{
"version"
:
"1.0.2"
,
"bundled"
:
true
,
"dev"
:
true
,
"optional"
:
true
"dev"
:
true
},
"yallist"
:
{
"version"
:
"3.1.1"
,
"bundled"
:
true
,
"dev"
:
true
,
"optional"
:
true
"dev"
:
true
}
}
},
...
...
pages/aps/complete/index.vue
View file @
3b409d56
...
...
@@ -5,9 +5,9 @@
<Col
:span=
"6"
class=
"chan-chi"
>
排产池
</Col>
<Col
:span=
"18"
class=
"l-ringht"
>
<RadioGroup
v-model=
"status"
type=
"button"
@
on-change=
"changeStatus"
size=
"small"
>
<Radio
label=
"-1"
>
全部
</Radio>
<Radio
label=
"0"
>
未排产
</Radio>
<Radio
label=
"2"
>
已排查
</Radio>
<!--
<Radio
label=
"-1"
>
全部
</Radio>
-->
</RadioGroup>
</Col>
</Row>
...
...
@@ -20,7 +20,11 @@
>
<Row
class=
"title-i"
>
<Col
:span=
"20"
class=
"order-code"
>
<Checkbox
v-model=
"li.checked"
@
on-change=
"checkData(li)"
>
订单号:
{{
li
.
mesCode
}}
</Checkbox>
<Checkbox
v-model=
"li.checked"
@
on-change=
"checkData(li)"
:disabled=
"isdisabled"
>
订单号:
{{
li
.
mesCode
}}
</Checkbox>
</Col>
<Col
:span=
"4"
class=
"order-ringht"
>
<Icon
type=
"md-close"
@
click=
"close(li.id)"
/>
...
...
@@ -130,19 +134,18 @@ export default {
},
data
()
{
return
{
// activeindex: 1,
list
:
[],
status
:
"-1"
,
//全部排产-1,0为未排产;2为已排查;
status
:
"0"
,
//全部排产-1,0为未排产;2为已排查;
isdisabled
:
false
,
formItem
:
{
// resourcesType: 0,
radio
:
"0"
,
time
:
""
,
beginTime
:
""
,
endTime
:
""
,
remark
:
""
,
departmentTitle
:
""
,
shopId
:
""
,
userName
:
""
shopId
:
""
//
userName: ""
},
// listGroup: [
// {
...
...
@@ -182,13 +185,18 @@ export default {
};
},
created
()
{
this
.
orderlist
(
-
1
);
this
.
orderlist
(
0
);
},
methods
:
{
// 过滤条件
changeStatus
(
name
)
{
this
.
status
=
name
;
this
.
orderlist
(
this
.
status
);
if
(
this
.
status
==
1
)
{
this
.
isdisabled
=
true
;
}
else
{
this
.
isdisabled
=
false
;
}
},
//排产池列表
orderlist
(
a
)
{
...
...
@@ -233,13 +241,14 @@ export default {
userIds
:
this
.
formItem
.
userIds
,
beginTime
:
this
.
formItem
.
beginTime
,
endTime
:
this
.
formItem
.
endTime
,
remark
:
this
.
formItem
.
remark
,
userName
:
this
.
formItem
.
userName
remark
:
this
.
formItem
.
remark
//
userName: this.formItem.userName
};
Api
.
cmonestepschedule
(
params1
).
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"下发成功"
);
this
.
orderlist
(
this
.
status
);
this
.
orderIds
=
[];
}
else
{
this
.
$Message
.
success
(
"下发失败"
);
this
.
formItem
=
{};
...
...
@@ -259,6 +268,7 @@ export default {
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"下发成功"
);
this
.
orderlist
(
this
.
status
);
this
.
orderIds
=
[];
this
.
formItem
=
{};
this
.
formItem
.
radio
=
0
;
}
else
{
...
...
pages/aps/plan/index.vue
View file @
3b409d56
...
...
@@ -648,7 +648,7 @@ export default {
.
then
(
res
=>
{
if
(
res
.
success
&&
res
.
result
.
length
>
1
)
{
res
.
result
.
forEach
(
data
=>
{
this
.
changeCountOut
(
data
.
poolType
+
""
,
data
.
count
);
this
.
changeCountOut
(
data
.
poolType
,
data
.
count
);
});
}
})
...
...
pages/aps/stream/index.vue
View file @
3b409d56
...
...
@@ -5,9 +5,9 @@
<Col
:span=
"6"
class=
"chan-chi"
>
排产池
</Col>
<Col
:span=
"18"
class=
"l-ringht"
>
<RadioGroup
v-model=
"status"
type=
"button"
@
on-change=
"changeStatus"
size=
"small"
>
<Radio
label=
"-1"
>
全部
</Radio>
<Radio
label=
"0"
>
未排产
</Radio>
<Radio
label=
"2"
>
已排查
</Radio>
<Radio
label=
"-1"
>
全部
</Radio>
</RadioGroup>
</Col>
</Row>
...
...
@@ -152,7 +152,7 @@ export default {
active
:
null
,
activeindex
:
1
,
list
:
[],
status
:
"
-1
"
,
//全部排产-1,0为未排产;2为已排查;
status
:
"
0
"
,
//全部排产-1,0为未排产;2为已排查;
result
:
[],
isactive
:
null
,
resourcesType
:
null
,
...
...
@@ -161,13 +161,13 @@ export default {
maxnum
:
1
,
chaiModal
:
false
,
orderId
:
0
,
quantity
:
0
,
routingHeaderId
:
0
,
detailId
:
0
};
},
created
()
{
this
.
orderlist
(
-
1
);
this
.
orderlist
(
0
);
},
methods
:
{
// 排产池过滤条件
...
...
@@ -217,7 +217,6 @@ export default {
u
.
chai
=
false
;
});
this
.
result
=
r
.
result
;
this
.
quantity
=
r
.
result
.
quantity
;
}
});
},
...
...
@@ -303,7 +302,7 @@ export default {
},
//下发
lowerHair
()
{
if
(
this
.
orderId
||
this
.
quantity
)
{
if
(
this
.
orderId
)
{
var
items
=
[];
var
obj
=
{};
if
(
this
.
mode
==
1
)
{
...
...
@@ -324,7 +323,7 @@ export default {
items
:
items
};
Api
.
flonestepschedule
(
data
).
then
(
r
=>
{
if
(
r
.
success
)
{
if
(
r
.
result
)
{
this
.
$Message
.
success
(
"下发成功"
);
this
.
orderlist
(
this
.
status
);
}
else
{
...
...
@@ -349,7 +348,7 @@ export default {
items
:
items
};
Api
.
fltwostepschedule
(
data
).
then
(
r
=>
{
if
(
r
.
success
)
{
if
(
r
.
result
)
{
this
.
$Message
.
success
(
"下发成功"
);
this
.
orderlist
(
this
.
status
);
}
else
{
...
...
pages/mesPlan/index.vue
View file @
3b409d56
...
...
@@ -297,7 +297,7 @@ export default {
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
title
:
"查看"
},
attrs
:
{
oprate
:
"detail"
,
title
:
"查看"
},
on
:
{
click
:
()
=>
this
.
detail
(
params
.
row
)
}
},
"查看"
...
...
@@ -305,7 +305,7 @@ export default {
h
(
"op"
,
{
attrs
:
{
oprate
:
"edit"
,
title
:
"编辑"
},
attrs
:
{
oprate
:
"edit"
,
title
:
"编辑"
},
on
:
{
click
:
()
=>
this
.
edit
(
params
.
row
)
},
style
:
(
params
.
row
.
status
==
1
&&
...
...
@@ -321,7 +321,7 @@ export default {
h
(
"op"
,
{
attrs
:
{
oprate
:
"remove"
,
title
:
"删除"
},
attrs
:
{
oprate
:
"remove"
,
title
:
"删除"
},
on
:
{
click
:
()
=>
this
.
remove
(
params
.
row
)
},
style
:
(
params
.
row
.
status
==
1
&&
...
...
@@ -336,7 +336,7 @@ export default {
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
title
:
"分解"
},
attrs
:
{
oprate
:
"detail"
,
title
:
"分解"
},
on
:
{
click
:
()
=>
this
.
split
(
params
.
row
)
},
style
:
(
params
.
row
.
divideMark
!=
0
&&
...
...
@@ -864,10 +864,12 @@ export default {
sendOk
()
{
this
.
$refs
.
orderSend
.
$refs
[
"formValidate"
].
validate
(
valid
=>
{
if
(
valid
)
{
let
objInfo
=
this
.
$refs
.
orderSend
.
returnData
();
let
ids
=
this
.
arrayIds
;
let
objInfoTem
=
this
.
$refs
.
orderSend
.
returnData
();
let
parms
=
[];
ids
.
forEach
(
e
=>
{
let
objInfo
=
this
.
$u
.
clone
(
objInfoTem
);
objInfo
.
id
=
e
;
parms
.
push
(
objInfo
);
});
...
...
pages/technology/details/routingStep/add.vue
View file @
3b409d56
This diff is collapsed.
Click to expand it.
pages/technology/details/routingStep/api.js
View file @
3b409d56
...
...
@@ -11,7 +11,7 @@ export default {
return
Api
.
post
(
`
${
technologyUrl
}
routingstep/create`
,
params
);
},
update
(
params
){
return
Api
.
p
os
t
(
`
${
technologyUrl
}
routingstep/update`
,
params
);
return
Api
.
p
u
t
(
`
${
technologyUrl
}
routingstep/update`
,
params
);
},
delete
(
id
)
{
return
Api
.
delete
(
`
${
technologyUrl
}
routingstep/delete`
,{
params
:{
id
:
id
}});
...
...
pages/technology/details/routingStep/edit.vue
View file @
3b409d56
This diff is collapsed.
Click to expand it.
pages/technology/details/routingStep/index.vue
View file @
3b409d56
This diff is collapsed.
Click to expand it.
pages/technology/details/routingqccard/add.vue
View file @
3b409d56
...
...
@@ -47,14 +47,19 @@
<InputNumber
v-model=
"entity.routingStepId"
></InputNumber>
</FormItem>
</Col>
-->
<Col
:span=
"12"
>
<Col
:span=
"12"
>
<FormItem
:label=
"l('routingHeaderName')"
prop=
"routingHeaderId"
>
<!--
<InputNumber
v-model=
"entity.routingHeaderId"
></InputNumber>
-->
181
<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=
"8"
>
<FormItem
:label=
"l('routingDetailName')"
prop=
"routingDetailId"
>
<Select
v-model=
"entity.routingDetailId"
>
<Option
...
...
@@ -65,64 +70,29 @@
</Select>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('checkContent')"
prop=
"checkContent"
>
<Input
v-model=
"entity.checkContent"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('measurementUnit')"
prop=
"measurementUnit"
>
<Input
v-model=
"entity.measurementUnit"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('checkType')"
prop=
"checkType"
>
<Dictionary
code=
"QC.checktype"
v-model=
"entity.checkType"
></Dictionary>
<Col
:span=
"8"
>
<FormItem
:label=
"l('standard')"
prop=
"standard"
>
<Input
v-model=
"entity.standard"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('fillintype')"
prop=
"fillintype"
>
<Dictionary
code=
"QC.fillintype"
v-model=
"entity.fillintype"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('checkParams')"
prop=
"checkParams"
>
<Input
v-model=
"entity.checkParams"
type=
"textarea"
:rows=
"2"
></Input>
</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"
>
<FormItem
:label=
"l('isphotograph')"
prop=
"isphotograph"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.isphotograph"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('status')"
prop=
"status"
>
<Dictionary
code=
"Process.Status"
v-model=
"entity.status"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('remark')"
prop=
"remark"
>
<Input
v-model=
"entity.remark"
type=
"textarea"
:rows=
"2"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('productionRequirement')"
prop=
"productionRequirement"
>
<Input
v-model=
"entity.productionRequirement"
type=
"textarea"
:rows=
"2"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('
standard')"
prop=
"standard
"
>
<Input
v-model=
"entity.
standard
"
type=
"textarea"
:rows=
"2"
></Input>
<FormItem
:label=
"l('
checkContent')"
prop=
"checkContent
"
>
<Input
v-model=
"entity.
checkContent
"
type=
"textarea"
:rows=
"2"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
24
"
>
<FormItem
:label=
"l('qualityTemplateName')"
prop=
"qualityTemplateName"
>
<
Input
v-model=
"entity.qualityTemplateName"
></Input
>
<
files
ref=
"refFile"
:parms=
"parms"
files
singleFile
/
>
</FormItem>
</Col>
<Col
:span=
"12"
>
...
...
@@ -135,26 +105,58 @@
<Dictionary
code=
"Process.state"
v-model=
"entity.firstCheck"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
6
"
>
<FormItem
:label=
"l('inspection')"
prop=
"inspection"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.inspection"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
6
"
>
<FormItem
:label=
"l('inspectionTime')"
prop=
"inspectionTime"
>
<InputNumber
v-model=
"entity.inspectionTime"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
6
"
>
<FormItem
:label=
"l('sampling')"
prop=
"sampling"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.sampling"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<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=
"8"
>
<FormItem
:label=
"l('checkType')"
prop=
"checkType"
>
<Dictionary
code=
"QC.checktype"
v-model=
"entity.checkType"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"8"
>
<FormItem
:label=
"l('isphotograph')"
prop=
"isphotograph"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.isphotograph"
type=
"radio"
></Dictionary>
</FormItem>
</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"
>
<FormItem
:label=
"l('checkParams')"
prop=
"checkParams"
>
<Input
v-model=
"entity.checkParams"
type=
"textarea"
:rows=
"2"
></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>
<FormItem>
<Button
type=
"primary"
@
click=
"handleSubmit"
:disabled=
"disabled"
>
保存
</Button>
...
...
@@ -196,7 +198,13 @@ export default {
rules
:
{
name
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}]
},
routingDetailList
:
[]
routingDetailList
:
[],
parms
:
{
app
:
'qccard'
,
eid
:
null
,
name
:
''
,
field
:
''
}
};
},
props
:
{
...
...
@@ -205,6 +213,8 @@ export default {
},
mounted
()
{
this
.
loadDetails
();
this
.
parms
.
eid
=
this
.
$u
.
guid
()
this
.
$refs
.
refFile
.
intFiles
()
if
(
this
.
eid
>
0
)
{
this
.
load
(
this
.
eid
);
}
...
...
@@ -214,12 +224,29 @@ export default {
this
.
$refs
.
form
.
validate
(
v
=>
{
if
(
v
)
{
this
.
disabled
=
true
;
this
.
entity
.
qualityTemplateName
=
''
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
,
''
)
}
Api
.
create
(
this
.
entity
)
.
then
(
r
=>
{
this
.
disabled
=
false
;
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"保存成功"
);
this
.
$emit
(
"on-ok"
);
//let newId = r.result
//this.updateEid(newId) //更新服务器上的id
}
else
{
this
.
$Message
.
error
(
"保存失败"
);
}
...
...
@@ -257,6 +284,20 @@ export default {
});
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('修改失败!')
}
})
},
l
(
key
)
{
key
=
"routing_qc_card"
+
"."
+
key
;
...
...
pages/technology/details/routingqccard/detail.vue
View file @
3b409d56
<
template
>
<div
class=
"detail"
>
<Row>
<Filed
:span=
"12"
:name=
"l('routingHeaderName')"
>
{{
entity
.
routingHeaderId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('routingHeaderName')"
v-if=
"false"
>
{{
entity
.
routingHeaderId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('routingDetailName')"
>
{{
entity
.
routingDetailId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('routingStepId')"
v-if=
"false"
>
{{
entity
.
routingStepId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('standard')"
>
{{
entity
.
standard
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('fillintype')"
>
<state
code=
"QC.fillintype"
:value=
"entity.fillintype+''"
type=
"text"
></state>
</Filed>
<Filed
:span=
"12"
:name=
"l('productionRequirement')"
>
{{
entity
.
productionRequirement
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('checkContent')"
>
{{
entity
.
checkContent
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('qualityTemplateName')"
><a
:href=
"downUrl+entity.qualityTemplate"
target=
"_blank"
>
{{
entity
.
qualityTemplateName
}}
</a></Filed>
<Filed
:span=
"12"
:name=
"l('isImportant')"
>
<state
code=
"Process.state"
:value=
"entity.isImportant+''"
type=
"text"
></state>
</Filed>
<Filed
:span=
"12"
:name=
"l('firstCheck')"
>
<state
code=
"Process.state"
:value=
"entity.firstCheck+''"
type=
"text"
></state>
</Filed>
<Filed
:span=
"12"
:name=
"l('inspection')"
>
<state
code=
"Process.state"
:value=
"entity.inspection+''"
type=
"text"
></state>
</Filed>
<Filed
:span=
"12"
:name=
"l('inspectionTime')"
>
{{
entity
.
inspectionTime
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('sampling')"
>
<state
code=
"Process.state"
:value=
"entity.sampling+''"
type=
"text"
></state>
</Filed>
<Filed
:span=
"12"
:name=
"l('samplingBatch')"
>
{{
entity
.
samplingBatch
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('checkType')"
>
<state
code=
"QC.checktype"
:value=
"entity.checkType+''"
type=
"text"
></state>
</Filed>
<Filed
:span=
"24"
:name=
"l('checkParams')"
>
{{
entity
.
checkParams
}}
</Filed>
<state
code=
"QC.checktype"
v-modev=
"entity.checkType+''"
></state>
</Filed>
<Filed
:span=
"12"
:name=
"l('routingStepId')"
v-if=
"false"
>
{{
entity
.
routingStepId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('checkParams')"
>
{{
entity
.
checkParams
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('measurementUnit')"
>
{{
entity
.
measurementUnit
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('fillintype')"
>
<state
code=
"QC.fillintype"
:value=
"entity.fillintype+''"
type=
"text"
></state>
</Filed>
<Filed
:span=
"24"
:name=
"l('qualityTemplate')"
>
{{
entity
.
qualityTemplate
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('isphotograph')"
>
{{
entity
.
isphotograph
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('status')"
><state
code=
"Process.state"
:value=
"entity.status+''"
type=
"text"
></state></Filed>
<Filed
:span=
"12"
:name=
"l('status')"
>
<state
code=
"Process.state"
:value=
"entity.status+''"
type=
"text"
></state>
</Filed>
<Filed
:span=
"12"
:name=
"l('extend')"
v-if=
"false"
>
{{
entity
.
extend
}}
</Filed>
<Filed
:span=
"24"
:name=
"l('remark')"
>
{{
entity
.
remark
}}
</Filed>
<Filed
:span=
"24"
:name=
"l('productionRequirement')"
>
{{
entity
.
productionRequirement
}}
</Filed>
<Filed
:span=
"24"
:name=
"l('standard')"
>
{{
entity
.
standard
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('qualityTemplateName')"
>
{{
entity
.
qualityTemplateName
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('isImportant')"
><state
code=
"Process.state"
:value=
"entity.isImportant+''"
type=
"text"
></state></Filed>
<Filed
:span=
"12"
:name=
"l('firstCheck')"
><state
code=
"Process.state"
:value=
"entity.firstCheck+''"
type=
"text"
></state></Filed>
<Filed
:span=
"12"
:name=
"l('inspection')"
><state
code=
"Process.state"
:value=
"entity.inspection+''"
type=
"text"
></state></Filed>
<Filed
:span=
"12"
:name=
"l('inspectionTime')"
>
{{
entity
.
inspectionTime
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('sampling')"
>
<state
code=
"Process.state"
:value=
"entity.sampling+''"
type=
"text"
></state></Filed>
<Filed
:span=
"12"
:name=
"l('samplingBatch')"
>
{{
entity
.
samplingBatch
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('creationTime')"
>
{{
entity
.
creationTime
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('creatorUserId')"
><User
:value=
"entity.creatorUserId"
></User></Filed>
<Filed
:span=
"12"
:name=
"l('creatorUserId')"
>
<User
:value=
"entity.creatorUserId"
></User>
</Filed>
<Filed
:span=
"12"
:name=
"l('lastModificationTime')"
>
{{
entity
.
lastModificationTime
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('lastModifierUserId')"
><User
v-model=
"entity.lastModifierUserId"
></User></Filed>
<Filed
:span=
"12"
:name=
"l('lastModifierUserId')"
>
<User
v-model=
"entity.lastModifierUserId"
></User>
</Filed>
<!--
<Filed
:span=
"12"
:name=
"l('isDeleted')"
>
{{
entity
.
isDeleted
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('deleterUserId')"
>
{{
entity
.
deleterUserId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('deletionTime')"
>
{{
entity
.
deletionTime
}}
</Filed>
...
...
@@ -77,7 +64,15 @@ export default {
rules
:
{
name
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}],
code
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}]
}
},
parms
:
{
app
:
'contract'
,
eid
:
null
,
name
:
''
,
field
:
''
},
downUrl
:
fileUrlDown
,
fileUrlPath
:
""
,
};
},
props
:
{
...
...
@@ -92,6 +87,8 @@ export default {
load
(
v
)
{
Api
.
get
({
id
:
v
}).
then
(
r
=>
{
this
.
entity
=
r
.
result
;
this
.
parms
.
eid
=
r
.
result
.
id
this
.
$refs
.
refFile
.
intFiles
()
this
.
$emit
(
"on-load"
);
});
},
...
...
pages/technology/details/routingqccard/edit.vue
View file @
3b409d56
...
...
@@ -48,75 +48,41 @@
</FormItem>
</Col>
-->
<Col
:span=
"12"
>
<FormItem
:label=
"l('routingHeaderId')"
prop=
"routingHeaderId"
>
<InputNumber
v-model=
"entity.routingHeaderId"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('routingDetailId')"
prop=
"routingDetailId"
>
<InputNumber
v-model=
"entity.routingDetailId"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('checkContent')"
prop=
"checkContent"
>
<Input
v-model=
"entity.checkContent"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('measurementUnit')"
prop=
"measurementUnit"
>
<Input
v-model=
"entity.measurementUnit"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('checkType')"
prop=
"checkType"
>
<Dictionary
code=
"QC.checktype"
v-model=
"entity.checkType"
></Dictionary>
<Col
:span=
"8"
>
<FormItem
:label=
"l('routingDetailName')"
prop=
"routingDetailId"
>
<Select
v-model=
"entity.routingDetailId"
>
<Option
v-for=
"(item,index) in routingDetailList"
:value=
"item.value"
:key=
"index"
>
{{
item
.
label
}}
</Option>
</Select>
</FormItem>
</Col>
<Col
:span=
"8"
>
<FormItem
:label=
"l('standard')"
prop=
"standard"
>
<Input
v-model=
"entity.standard"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('fillintype')"
prop=
"fillintype"
>
<Dictionary
code=
"QC.fillintype"
v-model=
"entity.fillintype"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('checkParams')"
prop=
"checkParams"
>
<Input
v-model=
"entity.checkParams"
type=
"textarea"
:rows=
"2"
></Input>
</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"
>
<FormItem
:label=
"l('isphotograph')"
prop=
"isphotograph"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.isphotograph"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('status')"
prop=
"status"
>
<Dictionary
code=
"Process.Status"
v-model=
"entity.status"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('remark')"
prop=
"remark"
>
<Input
v-model=
"entity.remark"
type=
"textarea"
:rows=
"2"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('productionRequirement')"
prop=
"productionRequirement"
>
<Input
v-model=
"entity.productionRequirement"
type=
"textarea"
:rows=
"2"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('
standard')"
prop=
"standard
"
>
<Input
v-model=
"entity.
standard
"
type=
"textarea"
:rows=
"2"
></Input>
<FormItem
:label=
"l('
checkContent')"
prop=
"checkContent
"
>
<Input
v-model=
"entity.
checkContent
"
type=
"textarea"
:rows=
"2"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
24
"
>
<FormItem
:label=
"l('qualityTemplateName')"
prop=
"qualityTemplateName"
>
<Input
v-model=
"entity.qualityTemplateName"
></Input>
<files
ref=
"refFile"
:parms=
"parms"
files
singleFile
/>
</FormItem>
</Col>
<Col
:span=
"12"
>
...
...
@@ -129,26 +95,58 @@
<Dictionary
code=
"Process.state"
v-model=
"entity.firstCheck"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
6
"
>
<FormItem
:label=
"l('inspection')"
prop=
"inspection"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.inspection"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
6
"
>
<FormItem
:label=
"l('inspectionTime')"
prop=
"inspectionTime"
>
<InputNumber
v-model=
"entity.inspectionTime"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
6
"
>
<FormItem
:label=
"l('sampling')"
prop=
"sampling"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.sampling"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<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=
"8"
>
<FormItem
:label=
"l('checkType')"
prop=
"checkType"
>
<Dictionary
code=
"QC.checktype"
v-model=
"entity.checkType"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"8"
>
<FormItem
:label=
"l('isphotograph')"
prop=
"isphotograph"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.isphotograph"
type=
"radio"
></Dictionary>
</FormItem>
</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"
>
<FormItem
:label=
"l('checkParams')"
prop=
"checkParams"
>
<Input
v-model=
"entity.checkParams"
type=
"textarea"
:rows=
"2"
></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>
<FormItem>
<Button
type=
"primary"
@
click=
"handleSubmit"
:disabled=
"disabled"
>
保存
</Button>
...
...
@@ -166,6 +164,13 @@ export default {
entity
:
{},
rules
:
{
name
:
[{
required
:
true
,
message
:
"必填"
,
trigger
:
"blur"
}]
},
routingDetailList
:
[],
parms
:
{
app
:
'qccard'
,
eid
:
null
,
name
:
''
,
field
:
''
}
};
},
...
...
@@ -173,6 +178,7 @@ export default {
eid
:
Number
},
mounted
()
{
this
.
loadDetails
();
if
(
this
.
eid
>
0
)
{
this
.
load
(
this
.
eid
);
}
...
...
@@ -180,6 +186,7 @@ export default {
methods
:
{
load
(
v
)
{
Api
.
get
({
id
:
v
}).
then
(
r
=>
{
this
.
$refs
.
refFile
.
intFilesClone
()
this
.
entity
=
r
.
result
;
});
},
...
...
@@ -208,6 +215,24 @@ export default {
handleClose
()
{
this
.
$emit
(
"on-close"
);
},
loadDetails
()
{
//获取工序列表
let
parms
=
{
headerID
:
181
};
Api
.
pagedDetails
(
parms
).
then
(
r
=>
{
let
tempDetails
=
r
.
result
;
let
tempD
=
[];
tempDetails
.
forEach
(
data
=>
{
let
tempObj
=
{};
tempObj
.
value
=
data
.
id
;
tempObj
.
label
=
data
.
name
;
tempD
.
push
(
tempObj
);
})
this
.
routingDetailList
=
tempD
});
},
l
(
key
)
{
key
=
"routing_qc_card"
+
"."
+
key
;
return
this
.
$t
(
key
);
...
...
pages/technology/details/routingqccard/index.vue
View file @
3b409d56
<
template
>
<div>
{{
info
}}
{{
info
}}
<DataGrid
:columns=
"columns"
ref=
"grid"
:action=
"action"
>
<template
slot=
"easySearch"
>
<Form
ref=
"formInline"
:model=
"easySearch"
inline
>
...
...
@@ -129,13 +129,6 @@ export default {
high
:
true
,
code
:
"QC.fillintype"
},
{
key
:
"qualityTemplate"
,
title
:
this
.
l
(
"qualityTemplate"
),
align
:
"left"
,
easy
:
true
,
high
:
true
},
{
key
:
"isphotograph"
,
title
:
this
.
l
(
"isphotograph"
),
...
...
@@ -169,7 +162,19 @@ export default {
title
:
this
.
l
(
"qualityTemplateName"
),
align
:
"left"
,
easy
:
true
,
high
:
true
high
:
true
,
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
class
:
"action"
},
[
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
},
on
:
{
click
:
()
=>
this
.
view
(
params
.
row
.
id
)
}
},
params
.
row
.
qualityTemplateName
)
]);
}
},
{
key
:
"isImportant"
,
...
...
@@ -247,7 +252,9 @@ export default {
]);
}
}
]
],
downUrl
:
fileUrlDown
,
fileUrlPath
:
""
};
},
mounted
()
{
...
...
@@ -301,6 +308,10 @@ export default {
this
.
curId
=
0
;
this
.
modal
=
false
;
},
openTemplate
(
url
)
{
this
.
fileUrlPath
=
this
.
downUrl
+
path
;
alert
(
this
.
fileUrlPath
)
},
l
(
key
)
{
let
vkey
=
"routing_qc_card"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
;
...
...
pages/technology/details/routingsupporting/add.vue
View file @
3b409d56
...
...
@@ -18,17 +18,17 @@
</FormItem>
</Col>
-->
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('routingHeaderId')"
prop=
"routingHeaderId"
>
<InputNumber
v-model=
"entity.routingHeaderId"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('routingDetailId')"
prop=
"routingDetailId"
>
<InputNumber
v-model=
"entity.routingDetailId"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('materialType')"
prop=
"materialType"
>
<Dictionary
code=
"mes_xingchi_resource.material.materialReType"
...
...
@@ -36,64 +36,64 @@
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('materialNumber')"
prop=
"materialNumber"
>
<Input
v-model=
"entity.materialNumber"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('nameMaterial')"
prop=
"nameMaterial"
>
<Input
v-model=
"entity.nameMaterial"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('quantity')"
prop=
"quantity"
>
<InputNumber
v-model=
"entity.quantity"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('brand')"
prop=
"brand"
>
<Input
v-model=
"entity.brand"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('specifications')"
prop=
"specifications"
>
<Input
v-model=
"entity.specifications"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('xhgg')"
prop=
"xhgg"
>
<Input
v-model=
"entity.xhgg"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('texture')"
prop=
"texture"
>
<Input
v-model=
"entity.texture"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('procurementStandards')"
prop=
"procurementStandards"
>
<Input
v-model=
"entity.procurementStandards"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('qualityGrade')"
prop=
"qualityGrade"
>
<Input
v-model=
"entity.qualityGrade"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('drawNum')"
prop=
"drawNum"
>
<Input
v-model=
"entity.drawNum"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('state')"
prop=
"state"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.state"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('remark')"
prop=
"remark"
>
<Input
v-model=
"entity.remark"
></Input>
<Input
v-model=
"entity.remark"
type=
"textarea"
:rows=
"2"
></Input>
</FormItem>
</Col>
</Row>
...
...
pages/technology/details/routingsupporting/detail.vue
View file @
3b409d56
<
template
>
<div
class=
"detail"
>
<Row>
<Filed
:span=
"12"
:name=
"l('routingHeaderId')"
>
{{
entity
.
routingHeaderId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('routingHeaderId')"
v-if=
"false"
>
{{
entity
.
routingHeaderId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('routingDetailId')"
>
{{
entity
.
routingDetailId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('routingStepId')"
>
{{
entity
.
routingStepId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('routingStepId')"
v-if=
"false"
>
{{
entity
.
routingStepId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('quantity')"
>
{{
entity
.
quantity
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('materialId')"
>
{{
entity
.
materialId
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('materialType')"
><state
...
...
@@ -27,8 +27,8 @@
></state>
</Filed>
<Filed
:span=
"12"
:name=
"l('extend')"
v-if=
"false"
>
{{
entity
.
extend
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('remark')"
>
{{
entity
.
remark
}}
</Filed>
<Filed
:span=
"12"
:name=
"l('drawNum')"
>
{{
entity
.
drawNum
}}
</Filed>
<Filed
:span=
"24"
:name=
"l('remark')"
>
{{
entity
.
remark
}}
</Filed>
</Row>
</div>
</
template
>
...
...
pages/technology/details/routingsupporting/edit.vue
View file @
3b409d56
...
...
@@ -18,17 +18,17 @@
</FormItem>
</Col>
-->
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('routingHeaderId')"
prop=
"routingHeaderId"
>
<InputNumber
v-model=
"entity.routingHeaderId"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('routingDetailId')"
prop=
"routingDetailId"
>
<InputNumber
v-model=
"entity.routingDetailId"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('materialType')"
prop=
"materialType"
>
<Dictionary
code=
"mes_xingchi_resource.material.materialReType"
...
...
@@ -36,64 +36,64 @@
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('materialNumber')"
prop=
"materialNumber"
>
<Input
v-model=
"entity.materialNumber"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('nameMaterial')"
prop=
"nameMaterial"
>
<Input
v-model=
"entity.nameMaterial"
></Input>
</FormItem>
</Col>
<Col
:span=
"12
"
>
<Col
:span=
"8
"
>
<FormItem
:label=
"l('quantity')"
prop=
"quantity"
>
<InputNumber
v-model=
"entity.quantity"
></InputNumber>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('brand')"
prop=
"brand"
>
<Input
v-model=
"entity.brand"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('specifications')"
prop=
"specifications"
>
<Input
v-model=
"entity.specifications"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('xhgg')"
prop=
"xhgg"
>
<Input
v-model=
"entity.xhgg"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('texture')"
prop=
"texture"
>
<Input
v-model=
"entity.texture"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('procurementStandards')"
prop=
"procurementStandards"
>
<Input
v-model=
"entity.procurementStandards"
></Input>
</FormItem>
</Col>
<Col
:span=
"
12
"
>
<Col
:span=
"
8
"
>
<FormItem
:label=
"l('qualityGrade')"
prop=
"qualityGrade"
>
<Input
v-model=
"entity.qualityGrade"
></Input>
</FormItem>
</Col>
<Col
:span=
"12"
>
<FormItem
:label=
"l('state')"
prop=
"state"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.state"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"12"
>
<Col
:span=
"8"
>
<FormItem
:label=
"l('drawNum')"
prop=
"drawNum"
>
<Input
v-model=
"entity.drawNum"
></Input>
</FormItem>
</Col>
<Col
:span=
"8"
>
<FormItem
:label=
"l('state')"
prop=
"state"
>
<Dictionary
code=
"Process.state"
v-model=
"entity.state"
type=
"radio"
></Dictionary>
</FormItem>
</Col>
<Col
:span=
"24"
>
<FormItem
:label=
"l('remark')"
prop=
"remark"
>
<Input
v-model=
"entity.remark"
></Input>
<Input
v-model=
"entity.remark"
type=
"textarea"
:rows=
"2"
></Input>
</FormItem>
</Col>
</Row>
...
...
pages/technology/index.vue
View file @
3b409d56
...
...
@@ -16,7 +16,7 @@
right: 0;
// bottom:100%;
// right: 100%;
z-index:
990
;
z-index:
898
;
background-color: white;
// background: red;
.top {
...
...
static/config.js
View file @
3b409d56
...
...
@@ -46,7 +46,7 @@ const systemApi = {
window
.
workflowUrl
=
`http://
${
address
}
:10060/api/services/app`
;
// 工作流地址
window
.
certificateUrl
=
`http://
${
address
}
:10090/api/services/app`
;
//Process-api
window
.
crmUrl
=
`http://
${
address
}
:10100/api/services/app`
;
//crm客户、合同、项目管理
window
.
iconImg
=
`http://
${
hostA
ddress
}
:3006/imgicon/`
;
//待办任务图标路径
window
.
iconImg
=
`http://
${
a
ddress
}
:3006/imgicon/`
;
//待办任务图标路径
window
.
apsManualUrl
=
`http://
${
apsAdress
}
:10091/api/services/app`
;
//aps手工排产
window
.
apsUrl
=
`http://
${
apsAdress
}
:10110/api/services/app`
;
//aps排产
window
.
technologyUrl
=
`http://
${
address
}
:10031/api/services/app/`
;
...
...
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