Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
Laisi_AutoMES2
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jiawei.su
Laisi_AutoMES2
Commits
45ae8c92
Commit
45ae8c92
authored
Jan 22, 2021
by
xin.yang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://test.siger-data.com:9000/jiawei.su/Laisi_AutoMES2
parents
191ff74f
bd1cc65b
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
762 additions
and
35 deletions
+762
-35
associateProduct.vue
Html/src/view/fms/associate/associateProduct.vue
+664
-0
accountInfo.vue
Html/src/view/fms/config/accountInfo.vue
+40
-26
AutomationController.cs
Server/Apis/Siger.ApiACC/Controllers/AutomationController.cs
+26
-0
AutomationOperateController.cs
...s/Siger.ApiACC/Controllers/AutomationOperateController.cs
+22
-8
ApiAccDbContext.cs
...tories/Siger.Middlelayer.AccRepository/ApiAccDbContext.cs
+3
-0
siger_automation_line_mode.cs
...ayer.AccRepository/Entities/siger_automation_line_mode.cs
+5
-0
DB.script
Server/Infrastructure/Script/DB.script
+2
-1
No files found.
Html/src/view/fms/associate/associateProduct.vue
View file @
45ae8c92
<
template
>
<div>
<div
class=
"divborder newSearchDiv"
>
<div
class=
"filter"
>
<label>
工装类型:
</label>
<Cascader
class=
"searchSelect"
:data=
"frockTypeTree"
clearable
change-on-select
v-model=
"frockType"
@
on-change=
"changeFrockType"
></Cascader>
</div>
<div
class=
"filter"
>
<label>
工装名称:
</label>
<Input
type=
"text"
class=
"searchInput"
v-model=
"frockname"
/>
</div>
<div
class=
"filter"
>
<label>
状态:
</label>
<Select
v-model=
"status"
clearable
class=
"searchSelect"
>
<Option
:value=
"1"
>
可用
</Option>
<Option
:value=
"0"
>
停用
</Option>
</Select>
</div>
<div
class=
"searchBtn"
>
<Button
type=
"primary"
class=
"twoWord"
icon=
"ios-search"
@
click=
"tosearch()"
>
{{
$t
(
1001
)
}}
</Button>
<Button
type=
"success"
class=
"twoWord"
icon=
"md-add-circle"
@
click=
"add()"
>
{{
$t
(
'1002'
)
}}
</Button>
<Button
type=
"warning"
class=
"twoWord"
icon=
"ios-create-outline"
@
click=
"edit()"
>
{{
$t
(
'1003'
)
}}
</Button>
<Button
type=
"primary"
class=
"fourWord"
icon=
"md-download"
@
click=
"loadexcel()"
>
{{
$t
(
'1005'
)
}}
</Button>
<Upload
style=
"display:inline-block"
ref=
"upload"
:action=
"action"
name=
"excel-file"
:headers=
"headers"
:show-upload-list=
"false"
:on-format-error=
"handleFormatError"
:on-success=
"handleSuccess"
:on-error=
"handleError"
:format=
"['xlsx']"
>
<Button
type=
"primary"
class=
"fourWord"
icon=
"md-cloud-upload"
>
{{
$t
(
'1006'
)
}}
</Button>
</Upload>
<Button
type=
"primary"
class=
"fourWord"
icon=
"ios-cloud-download"
@
click=
"search(1)"
>
{{
$t
(
'1007'
)
}}
</Button>
</div>
</div>
<div
class=
"divborder newTableDiv"
>
<Table
class=
"tableClass"
@
on-current-change=
"handleRowChange"
highlight-row
:data=
"tableData1"
:columns=
"tableColumns1"
></Table>
<div
class=
"pageDiv"
>
<div
class=
"pageDirection"
>
<Page
:total=
"total"
:current=
"page"
@
on-change=
"changePage"
show-elevator
show-sizer
show-total
@
on-page-size-change=
"handlePageSize"
:page-size-opts=
"[10,20,30,40,100]"
></Page>
</div>
</div>
</div>
<Modal
class=
"newModalClass"
v-model=
"addmodal"
:styles=
"
{width:'650px'}">
<p
slot=
"header"
>
<span
v-show=
"type==1"
>
{{
$t
(
'1002'
)
}}
</span>
<span
v-show=
"type==2"
>
{{
$t
(
'1003'
)
}}
</span>
</p>
<div
class=
"demo-spin-col"
>
<Spin
fix
v-if=
"spinShow"
>
<div>
正在上传...
</div>
</Spin>
<div
class=
"filter"
>
<label><i>
*
</i>
工装类型:
</label>
<Cascader
class=
"searchSelect"
:data=
"frockTypeTree"
v-model=
"parentType"
change-on-select
@
on-change=
"changeFrockType1"
></Cascader>
</div>
<div
class=
"filter"
>
<label><i>
*
</i>
管理类型:
</label>
<Select
v-model=
"addmtype"
class=
"searchSelect"
>
<Option
:value=
"1"
>
单件
</Option>
<Option
:value=
"2"
>
批次
</Option>
</Select>
</div>
<div
class=
"filter"
>
<label><i>
*
</i>
工装名称:
</label>
<Input
type=
"text"
class=
"searchInput"
v-model=
"addfrockname"
/>
</div>
<div
class=
"filter"
>
<label><i>
*
</i>
工装料号:
</label>
<Input
type=
"text"
class=
"searchInput"
v-model=
"addfrockno"
/>
</div>
<div
class=
"filter"
>
<label><i>
*
</i>
工装编号:
</label>
<Input
type=
"text"
class=
"searchInput"
v-model=
"addfrockcode"
/>
</div>
<div
class=
"filter"
>
<label><i>
*
</i>
规格型号:
</label>
<Input
type=
"text"
class=
"searchInput"
v-model=
"addfrockspec"
/>
</div>
<div
class=
"filter"
>
<label><i>
*
</i>
数量:
</label>
<InputNumber
type=
"text"
class=
"searchInput"
:min=
"1"
:formatter=
"value => `$
{parseInt(value)}`" v-model="addnum" />
</div>
<div
class=
"filter"
>
<label><i>
*
</i>
状态:
</label>
<RadioGroup
v-model=
"addstatus"
>
<Radio
label=
"1"
><span>
可用
</span></Radio>
<Radio
label=
"0"
><span>
停用
</span></Radio>
</RadioGroup>
</div>
<div
class=
"filter"
>
<label>
备注:
</label>
<Input
type=
"text"
class=
"searchInput"
v-model=
"addremark"
/>
</div>
<div>
<label>
上传文件:
</label>
<div
class=
"accountInfoUploadFile"
>
<Upload
ref=
"upload"
:show-upload-list=
"false"
:on-success=
"handleSuccess"
:before-upload=
"handleBeforeUpload"
:on-error=
"handleError"
type=
"drag"
:headers=
"headers"
:action=
"UploadAction"
>
<div
class=
"descicon"
style=
""
>
<Icon
type=
"md-cloud-upload"
size=
"15"
></Icon>
<span>
上传文件
</span>
</div>
</Upload>
<div
v-show=
"filename"
class=
"hasfile"
>
{{
filename
}}
<Icon
@
click
.
native=
"delfile"
type=
"ios-close-circle"
size=
"15"
/></div>
</div>
</div>
</div>
<div
slot=
"footer"
>
<Button
type=
"text"
size=
"large"
@
click=
"this.addmodal=false"
>
{{
$t
(
'1033'
)
}}
</Button>
<Button
type=
"primary"
size=
"large"
@
click=
"addPost()"
>
{{
$t
(
'1011'
)
}}
</Button>
</div>
</Modal>
</div>
</
template
>
<
script
>
export
default
{
data
(){
return
{
//导入方法
action
:
this
.
axios
.
publicPath
+
"wms/Upload/Submit?templateName=StorageLocation"
,
headers
:
{
token
:
localStorage
.
getItem
(
"token"
),
timestamp
:
localStorage
.
getItem
(
"timestamp"
),
nonce
:
localStorage
.
getItem
(
"nonce"
),
sign
:
localStorage
.
getItem
(
"sign"
),
},
//搜索
frockTypeTree
:[],
//树形结构
frockType
:[],
//工装类型
frockTypeid
:
''
,
frockcode
:
''
,
//工装编号
frockname
:
''
,
//工装名称
status
:
''
,
//状态
//列表
total
:
0
,
page
:
1
,
pagesize
:
10
,
tableData1
:[],
tableColumns1
:[
{
type
:
"index2"
,
title
:
this
.
$t
(
"1008"
),
key
:
"xuhao"
,
render
:
(
h
,
params
)
=>
{
return
h
(
"span"
,
params
.
index
+
(
this
.
page
-
1
)
*
this
.
pagesize
+
1
);
},
},
{
title
:
'工装类型'
,
key
:
'category'
},
{
title
:
'管理类型'
,
key
:
'managetype'
,
render
:(
h
,
params
)
=>
{
let
str
=
''
;
if
(
params
.
row
.
managetype
===
1
){
str
=
'单件'
;
}
else
if
(
params
.
row
.
managetype
===
2
){
str
=
'批次'
;
}
return
h
(
'span'
,
str
);
}
},
{
title
:
'工装料号'
,
key
:
'partnumber'
},
{
title
:
'工装名称'
,
key
:
'name'
},
{
title
:
'工装编号'
,
key
:
'code'
},
{
title
:
'规格型号'
,
key
:
'specification'
},
{
title
:
'数量'
,
key
:
'number'
},
{
title
:
'状态'
,
key
:
'status'
,
render
:(
h
,
params
)
=>
{
let
str
=
''
;
if
(
params
.
row
.
status
===
1
){
str
=
'可用'
;
}
else
{
str
=
'停用'
;
}
return
h
(
'span'
,
str
);
}
},
{
title
:
'备注'
,
key
:
'remark'
},
{
title
:
'附件'
,
key
:
'filename'
,
render
:(
h
,
params
)
=>
{
return
h
(
'span'
,{
style
:{
color
:
'#2b85e4'
,
cursor
:
'pointer'
},
on
:{
click
:()
=>
{
let
name
=
params
.
row
.
filename
;
let
url
=
params
.
row
.
fileurl
;
if
(
url
){
this
.
downFile
(
url
,
name
);
}
}
}
},
params
.
row
.
filename
);
}
},
{
title
:
'维护人'
,
key
:
'updator'
},
{
title
:
'维护时间'
,
key
:
'updatetime'
}
],
//弹窗
detailobj
:{},
addmodal
:
false
,
type
:
0
,
//1添加 2编辑
parentType
:[],
//父级类型
parentTypeid
:
''
,
frockTypename
:
''
,
//工装类型名称
addmtype
:
1
,
//管理类型
addfrockname
:
''
,
//工装名称
addfrockno
:
''
,
//工装料号
addfrockcode
:
''
,
//工装编号
addnum
:
0
,
addstatus
:
'1'
,
//状态 1可用 0停用
addfrockspec
:
''
,
//规格型号
addremark
:
''
,
//备注
filename
:
''
,
//文件名称
fileurl
:
''
,
//文件路径
UploadAction
:
this
.
axios
.
publicPath
+
"config/upload/UploadImage"
,
headers
:
{
token
:
localStorage
.
getItem
(
"token"
),
timestamp
:
localStorage
.
getItem
(
"timestamp"
),
nonce
:
localStorage
.
getItem
(
"nonce"
),
sign
:
localStorage
.
getItem
(
"sign"
),
},
spinShow
:
false
,
}
},
created
(){
this
.
initFrockType
();
//工装类型
this
.
tosearch
();
this
.
tableColumns1
=
this
.
$time
.
initTableTitle
(
this
.
tableColumns1
);
},
methods
:{
//工装类型
initFrockType
(){
this
.
axios
.
request
({
url
:
"/acc/FixtureTools/GetCategoryList"
,
method
:
"get"
,
})
.
then
((
res
)
=>
{
if
(
res
.
data
.
ret
==
1
)
{
let
arr
=
res
.
data
.
data
;
this
.
contentTree
(
arr
);
this
.
frockTypeTree
=
arr
;
}
});
},
contentTree
(
arr
)
{
arr
.
forEach
(
ele
=>
{
ele
.
disabled
=
false
;
if
(
ele
.
children
!=
undefined
&&
ele
.
children
!=
null
&&
ele
.
children
.
length
!=
0
)
{
this
.
contentTree
(
ele
.
children
);
}
else
{
ele
.
children
=
[]
}
});
},
changeFrockType
(
value
){
this
.
frockTypeid
=
""
;
if
(
value
!=
undefined
&&
value
.
length
){
this
.
frockTypeid
=
value
[
value
.
length
-
1
];
}
},
changeFrockType1
(
value
){
this
.
parentTypeid
=
""
;
this
.
parentType
=
[];
if
(
value
!=
undefined
&&
value
.
length
){
this
.
parentTypeid
=
value
[
value
.
length
-
1
];
this
.
parentType
=
value
;
}
},
//获取工装列表
getFrocks
(){
// this.axios.request({
// url: "/fms/accountInfo/frockList",
// method: "get",
// })
// .then((res) => {
// this.frockList = [];
// let data = res.data.data;
// if (res.data.ret == 1&&Array.isArray(data)&&data.length) {
// this.frockList = data;
// }
// });
},
tosearch
(){
this
.
page
=
1
;
this
.
pagesize
=
10
;
this
.
search
(
0
);
},
search
(
toexcel
){
let
params
=
{
category
:
this
.
frockType
,
//工装类型id
code
:
this
.
frockcode
,
name
:
this
.
frockname
,
state
:
this
.
status
,
//0停用 1可用
page
:
this
.
page
,
pagesize
:
this
.
pagesize
,
toexcel
:
toexcel
//0查询 1导出
}
this
.
detailobj
=
{};
this
.
axios
.
request
({
url
:
"/acc/FixtureTools/GetPageList"
,
params
,
method
:
"get"
,
})
.
then
((
res
)
=>
{
if
(
toexcel
===
1
){
if
(
res
.
data
.
ret
===
1
)
{
window
.
location
.
href
=
axios
.
publicPath
+
""
+
res
.
data
.
data
;
}
else
{
this
.
$Message
.
error
(
this
.
$t
(
res
.
data
.
msg
));
}
}
else
{
this
.
total
=
0
;
this
.
tableData1
=
[];
let
data
=
res
.
data
.
data
;
if
(
res
.
data
.
ret
==
1
&&
Array
.
isArray
(
data
)
&&
data
.
length
)
{
this
.
total
=
res
.
data
.
total
;
this
.
tableData1
=
res
.
data
.
data
;
}
}
});
},
add
(){
this
.
type
=
1
;
this
.
parentType
=
[];
//工装类型 清空
this
.
parentTypeid
=
''
;
this
.
addmtype
=
1
;
//管理类型
this
.
addfrockname
=
''
;
//工装名称
this
.
addfrockno
=
''
;
//工装料号
this
.
addfrockcode
=
''
;
//工装编号
this
.
addnum
=
1
;
this
.
addfrockspec
=
''
;
this
.
addstatus
=
'1'
;
//状态 1可用 0停用
this
.
addremark
=
''
;
//备注
this
.
filename
=
''
;
//文件名称
this
.
fileurl
=
''
;
//文件路径
this
.
addmodal
=
true
;
},
edit
(){
if
(
!
this
.
detailobj
||
!
this
.
detailobj
.
id
){
this
.
$Message
.
error
(
this
.
$t
(
'1017'
));
return
false
;
}
this
.
type
=
2
;
this
.
parentTypeid
=
this
.
detailobj
.
categoryid
;
this
.
parentType
=
this
.
detailobj
.
categoryids
;
this
.
addmtype
=
this
.
detailobj
.
managetype
;
//管理类型
this
.
addfrockname
=
this
.
detailobj
.
name
;
//工装名称
this
.
addfrockno
=
this
.
detailobj
.
partnumber
;
//工装料号
this
.
addfrockcode
=
this
.
detailobj
.
code
;
//工装编号
this
.
addnum
=
this
.
detailobj
.
number
;
this
.
addfrockspec
=
this
.
detailobj
.
specification
;
this
.
addstatus
=
this
.
detailobj
.
status
+
''
;
//状态 1可用 0停用
this
.
addremark
=
this
.
detailobj
.
remark
;
//备注
this
.
filename
=
this
.
detailobj
.
filename
;
//文件名称
this
.
fileurl
=
this
.
detailobj
.
fileurl
;
//文件路径
this
.
addmodal
=
true
;
},
addPost
(){
if
(
!
this
.
parentTypeid
){
this
.
$Message
.
error
(
"请选择工装类型"
);
return
false
;
}
if
(
!
this
.
addfrockname
){
this
.
$Message
.
error
(
"请输入工装名称"
);
return
false
;
}
if
(
!
this
.
addfrockno
){
this
.
$Message
.
error
(
"请输入工装料号"
);
return
false
;
}
if
(
!
this
.
addfrockcode
){
this
.
$Message
.
error
(
"请输入工装编号"
);
return
false
;
}
if
(
!
this
.
addfrockspec
){
this
.
$Message
.
error
(
"请输入规格型号"
);
return
false
;
}
if
(
!
this
.
addnum
){
this
.
$Message
.
error
(
"请输入工装数量"
);
return
false
;
}
let
url
=
''
;
let
id
=
''
;
if
(
this
.
type
===
1
){
url
=
'/acc/FixtureTools/Add'
;
id
=
0
;
}
else
{
url
=
'/acc/FixtureTools/Update'
;
id
=
this
.
detailobj
.
id
;
}
let
data
=
{
id
:
id
,
categoryid
:
this
.
parentTypeid
,
//工装类型id
managetype
:
this
.
addmtype
,
partnumber
:
this
.
addfrockno
,
//料号
code
:
this
.
addfrockcode
,
//编号
name
:
this
.
addfrockname
,
//名称
specifition
:
this
.
addfrockspec
,
//规格型号
number
:
this
.
addnum
,
//数量
remark
:
this
.
addremark
,
//备注
status
:
this
.
addstatus
,
//附件
fileurl
:
this
.
fileurl
,
filename
:
this
.
filename
}
this
.
axios
.
request
({
url
:
url
,
data
,
method
:
"post"
,
}).
then
((
res
)
=>
{
if
(
res
.
data
.
ret
==
1
)
{
this
.
addmodal
=
false
;
if
(
this
.
type
===
1
){
this
.
tosearch
();
this
.
$Message
.
success
(
this
.
$t
(
'1055'
));
}
else
{
this
.
$Message
.
success
(
this
.
$t
(
'1060'
));
this
.
search
(
0
);
}
}
else
{
this
.
$Message
.
error
(
this
.
$t
(
res
.
data
.
msg
+
''
));
}
});
},
/*********文件上传 start******** */
handleBeforeUpload
(
file
){
this
.
spinShow
=
true
;
if
(
!
file
){
this
.
spinShow
=
false
;
return
false
;
}
},
handleSuccess
(
res
,
file
)
{
this
.
spinShow
=
false
;
if
(
res
.
ret
==
1
)
{
this
.
$Message
.
success
(
this
.
$t
(
"100378"
));
this
.
filename
=
file
.
name
;
this
.
fileurl
=
res
.
data
;
}
else
{
this
.
$Message
.
error
(
this
.
$t
(
res
.
msg
+
''
));
}
},
handleError
(){
this
.
$Message
.
error
(
this
.
$t
(
"600512"
)
+
"!"
);
},
delfile
(){
this
.
filename
=
''
;
this
.
fileurl
=
''
;
},
/*********文件上传 end******** */
//下载文件
downFile
(
url
,
fileName
){
let
params
=
{
file_url
:
url
,
};
this
.
axios
.
request
({
url
:
"/config/Download/DownloadFile"
,
params
,
method
:
"get"
,
responseType
:
"blob"
})
.
then
((
res
)
=>
{
if
(
res
.
data
.
ret
===
1
)
{
var
info
=
res
.
data
.
data
;
var
content
=
info
.
content
;
// 创建隐藏的可下载链接
var
eleLink
=
document
.
createElement
(
"a"
);
eleLink
.
download
=
fileName
;
eleLink
.
style
.
display
=
"none"
;
// 字符内容转变成blob地址
var
blob
=
new
Blob
([
content
]);
eleLink
.
href
=
URL
.
createObjectURL
(
blob
);
// 触发点击
document
.
body
.
appendChild
(
eleLink
);
eleLink
.
click
();
// 然后移除
document
.
body
.
removeChild
(
eleLink
);
}
else
{
this
.
$Message
.
error
(
this
.
$t
(
res
.
data
.
msg
));
}
})
// console.log(fileName)
// console.log(data)
// let url = window.URL.createObjectURL(new Blob([data]));
// let link = document.createElement("a");
// link.style.display = "none";
// link.href = url;
// link.setAttribute("download", fileName);
// document.body.appendChild(link);
// link.click();
},
//导出模板
loadexcel
()
{
// this.axios.request({
// url: "/config/Download/GetTemplate?name=StorageLocation",
// method: "get",
// })
// .then((res) => {
// if (res.data.ret === 1) {
// window.location.href =
// this.axios.publicPath + "" + res.data.data;
// } else {
// this.$Message.error(this.$t(res.data.msg));
// }
// });
},
handleRowChange
(
currentRow
,
oldCurrentRow
)
{
this
.
detailobj
=
currentRow
;
},
handlePageSize
(
value
)
{
this
.
page
=
1
;
this
.
pagesize
=
value
;
this
.
search
(
0
);
},
changePage
(
value
)
{
this
.
page
=
value
;
this
.
search
(
0
);
},
handleFormatError
(
file
)
{
this
.
$Message
.
error
(
this
.
$t
(
"950396"
)
+
file
.
name
+
this
.
$t
(
"950397"
)
);
},
handleSuccess
(
res
,
file
)
{
if
(
res
.
ret
==
1
)
{
this
.
$Message
.
success
(
this
.
$t
(
"950398"
));
this
.
tosearch
();
}
else
{
if
((
res
.
msg
+
""
).
indexOf
(
","
)
!=
-
1
)
{
inittip
(
res
.
msg
);
}
else
{
this
.
$Message
.
error
(
this
.
$t
(
res
.
data
));
}
}
},
handleError
()
{
this
.
$Message
.
error
(
this
.
$t
(
"2010006"
)
+
"!"
);
},
}
}
</
script
>
<
style
lang=
"less"
>
.accountInfoUploadFile
{
display
:
inline-block
;
position
:
relative
;
left
:
5px
;
.ivu-upload{
display
:
inline-block
;
width
:
140px
;
height
:
29px
;
vertical-align
:
middle
;
.descicon{
width
:
140px
;
height
:
29px
;
line-height
:
29px
;
}
}
.ivu-upload-drag
{
border
:
1px
solid
#dcdee2
!important
;
}
.ivu-upload-drag
:hover
{
border
:
1px
solid
#2d8cf0
!important
;
}
.hasfile
{
display
:
inline-block
;
position
:
relative
;
left
:
-140px
;
top
:
29px
;
i{
color
:
red
;
font-size
:
15px
;
cursor
:
pointer
;
vertical-align
:
top
;
}
}
}
</
style
>
\ No newline at end of file
Html/src/view/fms/config/accountInfo.vue
View file @
45ae8c92
...
...
@@ -24,9 +24,8 @@
<Button
type=
"primary"
class=
"twoWord"
icon=
"ios-search"
@
click=
"tosearch()"
>
{{
$t
(
1001
)
}}
</Button>
<Button
type=
"success"
class=
"twoWord"
icon=
"md-add-circle"
@
click=
"add()"
>
{{
$t
(
'1002'
)
}}
</Button>
<Button
type=
"warning"
class=
"twoWord"
icon=
"ios-create-outline"
@
click=
"edit()"
>
{{
$t
(
'1003'
)
}}
</Button>
<!--
<Button
type=
"error"
class=
"twoWord intervalRight"
icon=
"md-close-circle"
@
click=
"dele()"
>
{{
$t
(
1004
)
}}
</Button>
-->
<Button
type=
"primary"
class=
"fourWord"
icon=
"md-download"
@
click=
"loadexcel()"
>
{{
$t
(
'1005'
)
}}
</Button>
<
!--
<
Upload
<Upload
style=
"display:inline-block"
ref=
"upload"
:action=
"action"
...
...
@@ -44,7 +43,7 @@
icon=
"md-cloud-upload"
>
{{
$t
(
'1006'
)
}}
</Button>
</Upload>
<Button
type=
"primary"
class=
"fourWord"
icon=
"ios-cloud-download"
@
click=
"
Export()"
>
{{
$t
(
'1007'
)
}}
</Button>
--
>
<Button
type=
"primary"
class=
"fourWord"
icon=
"ios-cloud-download"
@
click=
"
search(1)"
>
{{
$t
(
'1007'
)
}}
</Button
>
</div>
</div>
<div
class=
"divborder newTableDiv"
>
...
...
@@ -154,6 +153,14 @@
export
default
{
data
(){
return
{
//导入方法
action
:
this
.
axios
.
publicPath
+
"wms/Upload/Submit?templateName=StorageLocation"
,
headers
:
{
token
:
localStorage
.
getItem
(
"token"
),
timestamp
:
localStorage
.
getItem
(
"timestamp"
),
nonce
:
localStorage
.
getItem
(
"nonce"
),
sign
:
localStorage
.
getItem
(
"sign"
),
},
//搜索
frockTypeTree
:[],
//树形结构
frockType
:[],
//工装类型
...
...
@@ -532,42 +539,29 @@ export default {
//下载文件
downFile
(
url
,
fileName
){
let
params
=
{
name
:
fileName
,
url
:
url
,
name
:
fileName
};
this
.
axios
.
request
({
url
:
"/config/Download/DownloadFileByUrl"
,
params
,
method
:
"get"
,
responseType
:
"blob"
,
responseType
:
"blob"
})
.
then
((
res
)
=>
{
console
.
log
(
111111
)
console
.
log
(
res
)
if
(
res
.
status
==
200
)
{
if
(
res
.
data
){
let
url
;
let
link
=
document
.
createElement
(
"a"
);
url
=
window
.
URL
.
createObjectURL
(
data
);
link
.
style
.
display
=
"none"
;
link
.
href
=
url
;
link
.
setAttribute
(
"download"
,
fileName
);
document
.
body
.
appendChild
(
link
);
link
.
click
();
}
let
url
;
let
link
=
document
.
createElement
(
"a"
);
url
=
window
.
URL
.
createObjectURL
(
res
.
data
);
link
.
style
.
display
=
"none"
;
link
.
href
=
url
;
link
.
setAttribute
(
"download"
,
fileName
);
document
.
body
.
appendChild
(
link
);
link
.
click
();
}
}).
catch
(
error
=>
{
this
.
$Message
.
error
(
'请求错误'
)
});
// console.log(fileName)
// console.log(data)
// let url = window.URL.createObjectURL(new Blob([data]));
// let link = document.createElement("a");
// link.style.display = "none";
// link.href = url;
// link.setAttribute("download", fileName);
// document.body.appendChild(link);
// link.click();
},
//导出模板
loadexcel
()
{
...
...
@@ -596,6 +590,26 @@ export default {
this
.
page
=
value
;
this
.
search
(
0
);
},
handleFormatError
(
file
)
{
this
.
$Message
.
error
(
this
.
$t
(
"950396"
)
+
file
.
name
+
this
.
$t
(
"950397"
)
);
},
handleSuccess
(
res
,
file
)
{
if
(
res
.
ret
==
1
)
{
this
.
$Message
.
success
(
this
.
$t
(
"950398"
));
this
.
tosearch
();
}
else
{
if
((
res
.
msg
+
""
).
indexOf
(
","
)
!=
-
1
)
{
inittip
(
res
.
msg
);
}
else
{
this
.
$Message
.
error
(
this
.
$t
(
res
.
data
));
}
}
},
handleError
()
{
this
.
$Message
.
error
(
this
.
$t
(
"2010006"
)
+
"!"
);
},
}
}
</
script
>
...
...
Server/Apis/Siger.ApiACC/Controllers/AutomationController.cs
View file @
45ae8c92
...
...
@@ -105,6 +105,7 @@ namespace Siger.ApiACC.Controllers
/// <param name="line"></param>
/// <param name="mode"></param>
/// <returns></returns>
[
HttpGet
]
public
IActionResult
LineMode
(
int
line
,
int
mode
)
{
var
exitObj
=
_automationLineMode
.
Get
(
f
=>
f
.
section
==
line
);
...
...
@@ -148,10 +149,35 @@ namespace Siger.ApiACC.Controllers
throw
new
BadRequestException
(
CommonEnum
.
Fail
);
}
}
/// <summary>
/// 产线 需要检验
/// </summary>
/// <param name="line"></param>
/// <param name="enable"></param>
/// <returns></returns>
[
HttpGet
]
public
IActionResult
inspect
(
int
line
,
int
enable
)
{
var
exitObj
=
_automationLineMode
.
Get
(
f
=>
f
.
section
==
line
);
if
(
exitObj
==
null
)
{
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
exitObj
.
updatetime
=
DateTime
.
Now
;
exitObj
.
inspect
=
enable
;
if
(
_unitOfWork
.
Commit
()
>
0
)
return
new
ObjectResult
(
CommonEnum
.
Succefull
);
else
throw
new
BadRequestException
(
CommonEnum
.
Fail
);
}
/// <summary>
/// 任务状态接口 用于保存PLC 实时任务状态 ()
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
IActionResult
TaskResult
([
FromBody
]
RequestAutomationTaskResult
request
)
{
//1.检查Tasklist
...
...
Server/Apis/Siger.ApiACC/Controllers/AutomationOperateController.cs
View file @
45ae8c92
...
...
@@ -25,26 +25,35 @@ namespace Siger.ApiACC.Controllers
private
readonly
ISigerProjectLevelSectionRepository
_sigerProjectLevelSection
;
private
readonly
ISigerDict
_sigerDict
;
private
readonly
IAutomationMachineStatus
_automationMachineStatus
;
private
readonly
ISigerProjectMachineAttributionRepository
_sigerProjectMachineAttribution
;
public
AutomationOperateController
(
IUnitOfWork
unitOfWork
,
ISigerProjectLevelSectionRepository
sigerProjectLevelSection
,
ISigerDict
sigerDict
,
IAutomationMachineStatus
automationMachineStatus
)
public
AutomationOperateController
(
IUnitOfWork
unitOfWork
,
ISigerProjectLevelSectionRepository
sigerProjectLevelSection
,
ISigerDict
sigerDict
,
IAutomationMachineStatus
automationMachineStatus
,
ISigerProjectMachineAttributionRepository
sigerProjectMachineAttribution
)
{
_unitOfWork
=
unitOfWork
;
_sigerProjectLevelSection
=
sigerProjectLevelSection
;
_sigerDict
=
sigerDict
;
_automationMachineStatus
=
automationMachineStatus
;
_sigerProjectMachineAttribution
=
sigerProjectMachineAttribution
;
}
public
IActionResult
Get
()
{
return
new
ObjectResult
(
1
);
}
/// <summary>
/// 获取字典配置
/// </summary>
/// <param name="line">产线</param>
/// <param name="type">类型:0:上料 1:检验</param>
/// <returns></returns>
[
HttpGet
]
public
IActionResult
GetloadStation
(
int
line
,
int
type
)
{
var
stationDicts
=
_sigerDict
.
GetDataByCat
(
AccDictCost
.
Automation
,
ProjectId
);
if
(!
stationDicts
.
Any
())
{
Logger
.
WriteLineInfo
(
$"
AutoProcess
未配置设备类型字典"
);
Logger
.
WriteLineInfo
(
$"
GetloadStation
未配置设备类型字典"
);
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
...
...
@@ -55,7 +64,7 @@ namespace Siger.ApiACC.Controllers
var
dictLoad
=
stationDicts
.
Where
(
s
=>
s
.
dkey
==
DictKeyValConst
.
UploadloadStation
);
if
(!
dictLoad
.
Any
())
{
Logger
.
WriteLineInfo
(
$"
AutoProcess
未配置上下料工站字典"
);
Logger
.
WriteLineInfo
(
$"
GetloadStation
未配置上下料工站字典"
);
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
loadStation
=
dictLoad
.
Select
(
s
=>
s
.
dval
).
ToList
();
...
...
@@ -64,7 +73,7 @@ namespace Siger.ApiACC.Controllers
var
dictLoad
=
stationDicts
.
Where
(
s
=>
s
.
dkey
==
DictKeyValConst
.
CleanStation
);
if
(!
dictLoad
.
Any
())
{
Logger
.
WriteLineInfo
(
$"
AutoProcess
未配置清洗工站字典"
);
Logger
.
WriteLineInfo
(
$"
GetloadStation
未配置清洗工站字典"
);
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
loadStation
=
dictLoad
.
Select
(
s
=>
s
.
dval
).
ToList
();
...
...
@@ -75,19 +84,24 @@ namespace Siger.ApiACC.Controllers
foreach
(
var
station
in
loadStation
)
{
var
section
=
_sigerProjectLevelSection
.
Get
(
f
=>
f
.
id
==
station
.
ToInt
()
&&
f
.
status
==
(
int
)
RowState
.
Valid
);
var
section
=
_sigerProjectLevelSection
.
Get
(
f
=>
f
.
id
==
station
.
ToInt
()
&&
f
.
parentid
==
line
&&
f
.
status
==
(
int
)
RowState
.
Valid
);
if
(
section
==
null
)
continue
;
var
machintAttr
=
_sigerProjectMachineAttribution
.
Get
(
f
=>
f
.
station
==
section
.
id
);
if
(
machintAttr
==
null
)
{
Logger
.
WriteLineInfo
(
$"GetloadStation 未配置清洗工站字典"
);
continue
;
}
var
loadStatus
=
(
int
)
Automation
.
MachineStatus
.
Waiting
;
var
machineStatus
=
_automationMachineStatus
.
Get
(
f
=>
f
.
section
==
station
.
ToInt
());
var
machineStatus
=
_automationMachineStatus
.
Get
(
f
=>
f
.
section
==
station
.
ToInt
()
&&
f
.
status
==(
int
)
RowState
.
Valid
);
if
(
machineStatus
==
null
)
{
_automationMachineStatus
.
Insert
(
new
siger_automation_machine_status
{
projectId
=
ProjectId
,
enable
=
1
,
machineid
=
0
,
machineid
=
machintAttr
.
machine
,
section
=
section
.
id
,
updatetime
=
DateTime
.
Now
});
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/ApiAccDbContext.cs
View file @
45ae8c92
...
...
@@ -160,5 +160,8 @@ namespace Siger.Middlelayer.AccRepository
public
DbSet
<
siger_wms_storage
>
siger_wms_storage
{
get
;
set
;
}
public
DbSet
<
siger_wms_storage_location
>
siger_wms_storage_location
{
get
;
set
;
}
public
DbSet
<
siger_automation_line_mode
>
siger_automation_line_mode
{
get
;
set
;
}
public
DbSet
<
siger_automation_machine_status
>
siger_automation_machine_status
{
get
;
set
;
}
}
}
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Entities/siger_automation_line_mode.cs
View file @
45ae8c92
...
...
@@ -14,6 +14,11 @@ namespace Siger.Middlelayer.AccRepository.Entities
/// 生产线模式 0:手动 1 自动
/// </summary>
public
int
mode
{
get
;
set
;
}
/// <summary>
/// 是否检验
/// </summary>
public
int
inspect
{
get
;
set
;
}
/// <summary>
/// 更新时间
/// </summary>
...
...
Server/Infrastructure/Script/DB.script
View file @
45ae8c92
...
...
@@ -373,7 +373,8 @@ CREATE TABLE `siger_automation_line_mode` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`section` int(11) NOT NULL DEFAULT 0 COMMENT '产线ID',
`projectid` int(11) NOT NULL DEFAULT 0,
`mode` int(11) NOT NULL DEFAULT 1 COMMENT '0:手动模式 1:自动模式',
`mode` int(1) NOT NULL DEFAULT 1 COMMENT '0:手动模式 1:自动模式',
`inspect` int(1) NOT NULL DEFAULT 1 COMMENT '0:不需要检验 1:检验',
`updatetime` datetime(0) NULL DEFAULT NULL COMMENT '操作时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
...
...
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