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
2525380d
Commit
2525380d
authored
Jan 22, 2021
by
lyy
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://test.siger-data.com:9000/jiawei.su/Laisi_AutoMES2
into master
parents
76c4f5d7
c26b36f0
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1402 additions
and
126 deletions
+1402
-126
associateProduct.vue
Html/src/view/fms/associate/associateProduct.vue
+664
-0
accountInfo.vue
Html/src/view/fms/config/accountInfo.vue
+372
-113
typeMaintenance.vue
Html/src/view/fms/config/typeMaintenance.vue
+1
-0
storageInfoQuery.vue
Html/src/view/wms/whStatusQuery/storageInfoQuery.vue
+1
-0
AutomationController.cs
Server/Apis/Siger.ApiACC/Controllers/AutomationController.cs
+26
-0
AutomationOperateController.cs
...s/Siger.ApiACC/Controllers/AutomationOperateController.cs
+170
-0
FixtureToolsAssemblyController.cs
...iger.ApiACC/Controllers/FixtureToolsAssemblyController.cs
+1
-1
DownloadController.cs
Server/Apis/Siger.ApiConfig/Controller/DownloadController.cs
+41
-0
PositionController.cs
Server/Apis/Siger.ApiConfig/Controller/PositionController.cs
+12
-2
LocationController.cs
Server/Apis/Siger.ApiWMS/Controllers/LocationController.cs
+8
-0
AccDictCost.cs
...er/Common/Siger.Middlelayer.Share/Constant/AccDictCost.cs
+1
-1
DictKeyValConst.cs
...ommon/Siger.Middlelayer.Share/Constant/DictKeyValConst.cs
+3
-6
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
AutomationFixtureToolsProductRepository.cs
...y/Repositories/AutomationFixtureToolsProductRepository.cs
+1
-1
requestAutoLoad.cs
...iger.Middlelayer.AccRepository/Request/requestAutoLoad.cs
+38
-0
FixtureToolsCategory.cs
...iddlelayer.AccRepository/Response/FixtureToolsCategory.cs
+1
-1
ResponseAutomationInfo.cs
...dlelayer.AccRepository/Response/ResponseAutomationInfo.cs
+30
-0
ResponseLoadStation.cs
...er.Middlelayer.Repository/Response/ResponseLoadStation.cs
+22
-0
DB.script
Server/Infrastructure/Script/DB.script
+2
-1
No files found.
Html/src/view/fms/associate/associateProduct.vue
View file @
2525380d
<
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 @
2525380d
...
@@ -7,14 +7,11 @@
...
@@ -7,14 +7,11 @@
</div>
</div>
<div
class=
"filter"
>
<div
class=
"filter"
>
<label>
工装编号:
</label>
<label>
工装编号:
</label>
<Select
v-model=
"frockCode"
label-in-value
clearable
filterable
filter-by-label
class=
"searchSelect"
>
<Input
type=
"text"
class=
"searchInput"
v-model=
"frockcode"
/>
<Option
</div>
v-for=
"(item,index) in frockList"
<div
class=
"filter"
>
:value=
"item.id"
<label>
工装名称:
</label>
:key=
"index"
<Input
type=
"text"
class=
"searchInput"
v-model=
"frockname"
/>
:label=
"item.name"
>
{{
item
.
name
}}
</Option>
</Select>
</div>
</div>
<div
class=
"filter"
>
<div
class=
"filter"
>
<label>
状态:
</label>
<label>
状态:
</label>
...
@@ -26,8 +23,7 @@
...
@@ -26,8 +23,7 @@
<div
class=
"searchBtn"
>
<div
class=
"searchBtn"
>
<Button
type=
"primary"
class=
"twoWord"
icon=
"ios-search"
@
click=
"tosearch()"
>
{{
$t
(
1001
)
}}
</Button>
<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=
"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=
"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>
<Button
type=
"primary"
class=
"fourWord"
icon=
"md-download"
@
click=
"loadexcel()"
>
{{
$t
(
'1005'
)
}}
</Button>
<Upload
<Upload
style=
"display:inline-block"
style=
"display:inline-block"
...
@@ -47,7 +43,7 @@
...
@@ -47,7 +43,7 @@
icon=
"md-cloud-upload"
icon=
"md-cloud-upload"
>
{{
$t
(
'1006'
)
}}
</Button>
>
{{
$t
(
'1006'
)
}}
</Button>
</Upload>
</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>
</div>
<div
class=
"divborder newTableDiv"
>
<div
class=
"divborder newTableDiv"
>
...
@@ -79,33 +75,40 @@
...
@@ -79,33 +75,40 @@
<span
v-show=
"type==1"
>
{{
$t
(
'1002'
)
}}
</span>
<span
v-show=
"type==1"
>
{{
$t
(
'1002'
)
}}
</span>
<span
v-show=
"type==2"
>
{{
$t
(
'1003'
)
}}
</span>
<span
v-show=
"type==2"
>
{{
$t
(
'1003'
)
}}
</span>
</p>
</p>
<div
style=
""
>
<div
class=
"demo-spin-col"
>
<Spin
fix
v-if=
"spinShow"
>
<div>
正在上传...
</div>
</Spin>
<div
class=
"filter"
>
<div
class=
"filter"
>
<label>
工装类型:
</label>
<label>
<i>
*
</i>
工装类型:
</label>
<Cascader
class=
"searchSelect"
:data=
"frockTypeTree"
change-on-select
v-model=
"parentType"
@
on-change=
"changeFrockType1"
></Cascader>
<Cascader
class=
"searchSelect"
:data=
"frockTypeTree"
v-model=
"parentType"
change-on-select
@
on-change=
"changeFrockType1"
></Cascader>
</div>
</div>
<div
class=
"filter"
>
<div
class=
"filter"
>
<label><i>
*
</i>
管理类型:
</label>
<label><i>
*
</i>
管理类型:
</label>
<Select
v-model=
"
mtype"
clearable
class=
"searchSelect"
>
<Select
v-model=
"
addmtype"
class=
"searchSelect"
>
<Option
:value=
"1"
>
单件
</Option>
<Option
:value=
"1"
>
单件
</Option>
<Option
:value=
"2"
>
批次
</Option>
<Option
:value=
"2"
>
批次
</Option>
</Select>
</Select>
</div>
</div>
<div
class=
"filter"
>
<div
class=
"filter"
>
<label><i>
*
</i>
工装名称:
</label>
<label><i>
*
</i>
工装名称:
</label>
<Input
type=
"text"
class=
"searchInput"
v-model=
"frockname"
/>
<Input
type=
"text"
class=
"searchInput"
v-model=
"
add
frockname"
/>
</div>
</div>
<div
class=
"filter"
>
<div
class=
"filter"
>
<label><i>
*
</i>
工装料号:
</label>
<label><i>
*
</i>
工装料号:
</label>
<Input
type=
"text"
class=
"searchInput"
v-model=
"frockno"
/>
<Input
type=
"text"
class=
"searchInput"
v-model=
"
add
frockno"
/>
</div>
</div>
<div
class=
"filter"
>
<div
class=
"filter"
>
<label><i>
*
</i>
工装编号:
</label>
<label><i>
*
</i>
工装编号:
</label>
<Input
type=
"text"
class=
"searchInput"
v-model=
"frockcode"
/>
<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>
<div
class=
"filter"
>
<div
class=
"filter"
>
<label><i>
*
</i>
数量:
</label>
<label><i>
*
</i>
数量:
</label>
<InputNumber
type=
"text"
class=
"searchInput"
:
formatter=
"value => `$
{parseInt(value)}`" v-model="
num" />
<InputNumber
type=
"text"
class=
"searchInput"
:
min=
"1"
:formatter=
"value => `$
{parseInt(value)}`" v-model="add
num" />
</div>
</div>
<div
class=
"filter"
>
<div
class=
"filter"
>
<label><i>
*
</i>
状态:
</label>
<label><i>
*
</i>
状态:
</label>
...
@@ -116,19 +119,26 @@
...
@@ -116,19 +119,26 @@
</div>
</div>
<div
class=
"filter"
>
<div
class=
"filter"
>
<label>
备注:
</label>
<label>
备注:
</label>
<Input
type=
"text"
class=
"searchInput"
v-model=
"remark"
/>
<Input
type=
"text"
class=
"searchInput"
v-model=
"
add
remark"
/>
</div>
</div>
<div
class=
"filter"
>
<div>
<label>
上传文件:
</label>
<label>
上传文件:
</label>
<div
class=
"
frock
UploadFile"
>
<div
class=
"
accountInfo
UploadFile"
>
<Upload
<Upload
:before-upload=
"handleUpload"
ref=
"upload"
:show-upload-list=
"false"
:on-success=
"handleSuccess"
:on-success=
"handleSuccess"
:before-upload=
"handleBeforeUpload"
:on-error=
"handleError"
:on-error=
"handleError"
type=
"drag"
:headers=
"headers"
:headers=
"headers"
:action=
"fileAction"
>
:action=
"UploadAction"
>
<Button
class=
"UFbtn"
icon=
"ios-cloud-upload-outline"
:title=
"filename"
>
{{
filename
?
filename
:
'上传文件'
}}
</Button>
<div
class=
"descicon"
style=
""
>
<Icon
type=
"md-cloud-upload"
size=
"15"
></Icon>
<span>
上传文件
</span>
</div>
</Upload>
</Upload>
<div
v-show=
"filename"
class=
"hasfile"
>
{{
filename
}}
<Icon
@
click
.
native=
"delfile"
type=
"ios-close-circle"
size=
"15"
/></div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -143,12 +153,20 @@
...
@@ -143,12 +153,20 @@
export
default
{
export
default
{
data
(){
data
(){
return
{
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
:[],
//树形结构
frockTypeTree
:[],
//树形结构
frockType
:[],
//工装类型
frockType
:[],
//工装类型
frockTypeid
:
''
,
frockTypeid
:
''
,
frock
List
:[]
,
//工装编号
frock
code
:
''
,
//工装编号
frock
Code
:
''
,
//工装编号
frock
name
:
''
,
//工装名称
status
:
''
,
//状态
status
:
''
,
//状态
//列表
//列表
...
@@ -170,108 +188,147 @@ export default {
...
@@ -170,108 +188,147 @@ export default {
},
},
{
{
title
:
'工装类型'
,
title
:
'工装类型'
,
key
:
''
key
:
'
category
'
},
},
{
{
title
:
'管理类型'
,
title
:
'管理类型'
,
key
:
''
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
:
'工装料号'
,
title
:
'工装料号'
,
key
:
''
key
:
'
partnumber
'
},
},
{
{
title
:
'工装名称'
,
title
:
'工装名称'
,
key
:
''
key
:
'
name
'
},
},
{
{
title
:
'工装编号'
,
title
:
'工装编号'
,
key
:
''
key
:
'
code
'
},
},
{
{
title
:
'规格型号'
,
title
:
'规格型号'
,
key
:
''
key
:
'
specification
'
},
},
{
{
title
:
'数量'
,
title
:
'数量'
,
key
:
''
key
:
'
number
'
},
},
{
{
title
:
'状态'
,
title
:
'状态'
,
key
:
''
key
:
'status'
,
render
:(
h
,
params
)
=>
{
let
str
=
''
;
if
(
params
.
row
.
status
===
1
){
str
=
'可用'
;
}
else
{
str
=
'停用'
;
}
return
h
(
'span'
,
str
);
}
},
},
{
{
title
:
'备注'
,
title
:
'备注'
,
key
:
''
key
:
'
remark
'
},
},
{
{
title
:
'附件'
,
title
:
'附件'
,
key
:
''
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
:
'维护人'
,
title
:
'维护人'
,
key
:
''
key
:
'
updator
'
},
},
{
{
title
:
'维护时间'
,
title
:
'维护时间'
,
key
:
''
key
:
'
updatetime
'
}
}
],
],
//弹窗
//弹窗
detailobj
:{},
addmodal
:
false
,
addmodal
:
false
,
type
:
0
,
//1添加 2编辑
type
:
0
,
//1添加 2编辑
parentType
:[],
//父级类型
parentType
:[],
//父级类型
parentTypeid
:
''
,
parentTypeid
:
''
,
frockTypename
:
''
,
//工装类型名称
frockTypename
:
''
,
//工装类型名称
mtype
:
''
,
//管理类型
addmtype
:
1
,
//管理类型
frockname
:
''
,
//工装名称
add
frockname
:
''
,
//工装名称
frockno
:
''
,
//工装料号
add
frockno
:
''
,
//工装料号
frockcode
:
''
,
//工装编号
add
frockcode
:
''
,
//工装编号
num
:
0
,
add
num
:
0
,
addstatus
:
'1'
,
//状态 1可用 0停用
addstatus
:
'1'
,
//状态 1可用 0停用
remark
:
''
,
//备注
addfrockspec
:
''
,
//规格型号
addremark
:
''
,
//备注
filename
:
''
,
//文件名称
filename
:
''
,
//文件名称
fileurl
:
''
,
//文件路径
fileurl
:
''
,
//文件路径
loadingStatus
:
false
,
UploadAction
:
this
.
axios
.
publicPath
+
"config/upload/UploadImage"
,
fileAction
:
this
.
axios
.
publicPath
+
"config/upload/UploadImage"
,
headers
:
{
headers
:
{
token
:
localStorage
.
getItem
(
"token"
),
token
:
localStorage
.
getItem
(
"token"
),
timestamp
:
localStorage
.
getItem
(
"timestamp"
),
timestamp
:
localStorage
.
getItem
(
"timestamp"
),
nonce
:
localStorage
.
getItem
(
"nonce"
),
nonce
:
localStorage
.
getItem
(
"nonce"
),
sign
:
localStorage
.
getItem
(
"sign"
),
sign
:
localStorage
.
getItem
(
"sign"
),
},
},
spinShow
:
false
,
}
}
},
},
created
(){
created
(){
this
.
initFrockType
();
//工装类型
this
.
tosearch
();
this
.
tableColumns1
=
this
.
$time
.
initTableTitle
(
this
.
tableColumns1
);
},
},
methods
:{
methods
:{
//工装类型
//工装类型
initFrockType
(){
initFrockType
(){
//
this.axios.request({
this
.
axios
.
request
({
// url: "/fms/typeMaintenance/frockType
List",
url
:
"/acc/FixtureTools/GetCategory
List"
,
//
method: "get",
method
:
"get"
,
//
})
})
//
.then((res) => {
.
then
((
res
)
=>
{
//
if (res.data.ret == 1) {
if
(
res
.
data
.
ret
==
1
)
{
// let arr = res.data.data.children
;
let
arr
=
res
.
data
.
data
;
// this.frockTypeTree = arr
;
this
.
contentTree
(
arr
)
;
// this.contentTree(arr)
;
this
.
frockTypeTree
=
arr
;
//
}
}
//
});
});
},
},
contentTree
(
arr
)
{
contentTree
(
arr
)
{
arr
.
forEach
(
ele
=>
{
arr
.
forEach
(
ele
=>
{
ele
.
disabled
=
false
;
ele
.
disabled
=
false
;
ele
.
value
=
ele
.
id
;
ele
.
label
=
ele
.
name
;
if
(
if
(
ele
.
children
.
length
!=
0
&&
ele
.
children
!=
undefined
&&
ele
.
children
!=
undefined
&&
ele
.
children
!=
null
ele
.
children
!=
null
&&
ele
.
children
.
length
!=
0
)
{
)
{
this
.
contentTree
(
ele
.
children
);
this
.
contentTree
(
ele
.
children
);
}
else
{
ele
.
children
=
[]
}
}
});
});
},
},
...
@@ -283,8 +340,10 @@ export default {
...
@@ -283,8 +340,10 @@ export default {
},
},
changeFrockType1
(
value
){
changeFrockType1
(
value
){
this
.
parentTypeid
=
""
;
this
.
parentTypeid
=
""
;
this
.
parentType
=
[];
if
(
value
!=
undefined
&&
value
.
length
){
if
(
value
!=
undefined
&&
value
.
length
){
this
.
parentTypeid
=
value
[
value
.
length
-
1
];
this
.
parentTypeid
=
value
[
value
.
length
-
1
];
this
.
parentType
=
value
;
}
}
},
},
//获取工装列表
//获取工装列表
...
@@ -308,64 +367,217 @@ export default {
...
@@ -308,64 +367,217 @@ export default {
},
},
search
(
toexcel
){
search
(
toexcel
){
let
params
=
{
let
params
=
{
frockTypeid
:
this
.
frockType
,
//工装类型id
category
:
this
.
frockType
,
//工装类型id
frockid
:
this
.
frockCode
,
//工装id
code
:
this
.
frockcode
,
staus
:
this
.
status
,
//0停用 1可用
name
:
this
.
frockname
,
state
:
this
.
status
,
//0停用 1可用
page
:
this
.
page
,
page
:
this
.
page
,
pagesize
:
this
.
pagesize
,
pagesize
:
this
.
pagesize
,
toexcel
:
toexcel
//0查询 1导出
toexcel
:
toexcel
//0查询 1导出
}
}
this
.
detailobj
=
{};
this
.
detailobj
=
{};
//
this.axios.request({
this
.
axios
.
request
({
// url: "/fms/accountInfo/search
",
url
:
"/acc/FixtureTools/GetPageList
"
,
//
params,
params
,
//
method: "get",
method
:
"get"
,
//
})
})
//
.then((res) => {
.
then
((
res
)
=>
{
//
if(toexcel === 1){
if
(
toexcel
===
1
){
//
if (res.data.ret === 1) {
if
(
res
.
data
.
ret
===
1
)
{
//
window.location.href =
window
.
location
.
href
=
//
axios.publicPath + "" + res.data.data;
axios
.
publicPath
+
""
+
res
.
data
.
data
;
//
} else {
}
else
{
//
this.$Message.error(this.$t(res.data.msg));
this
.
$Message
.
error
(
this
.
$t
(
res
.
data
.
msg
));
//
}
}
//
}
}
//
else{
else
{
//
this.total = 0;
this
.
total
=
0
;
//
this.tableData1 = [];
this
.
tableData1
=
[];
//
let data = res.data.data;
let
data
=
res
.
data
.
data
;
//
if (res.data.ret == 1 &&Array.isArray(data)&&data.length) {
if
(
res
.
data
.
ret
==
1
&&
Array
.
isArray
(
data
)
&&
data
.
length
)
{
//
this.total = res.data.total;
this
.
total
=
res
.
data
.
total
;
//
this.tableData1 = res.data.data;
this
.
tableData1
=
res
.
data
.
data
;
//
}
}
//
}
}
//
});
});
},
},
add
(){
add
(){
this
.
type
=
1
;
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
;
this
.
addmodal
=
true
;
},
},
handleUpload
(
file
)
{
edit
(){
this
.
file
=
file
;
if
(
!
this
.
detailobj
||
!
this
.
detailobj
.
id
){
return
false
;
this
.
$Message
.
error
(
this
.
$t
(
'1017'
));
},
return
false
;
handleSuccess
(
res
)
{
}
console
.
log
(
222222
)
this
.
type
=
2
;
console
.
log
(
res
)
this
.
parentTypeid
=
this
.
detailobj
.
categoryid
;
this
.
loadingStatus
=
true
;
this
.
parentType
=
this
.
detailobj
.
categoryids
;
setTimeout
(()
=>
{
this
.
addmtype
=
this
.
detailobj
.
managetype
;
//管理类型
this
.
file
=
null
;
this
.
addfrockname
=
this
.
detailobj
.
name
;
//工装名称
this
.
loadingStatus
=
false
;
this
.
addfrockno
=
this
.
detailobj
.
partnumber
;
//工装料号
this
.
$Message
.
success
(
'Success'
)
this
.
addfrockcode
=
this
.
detailobj
.
code
;
//工装编号
},
1500
);
this
.
addnum
=
this
.
detailobj
.
number
;
},
this
.
addfrockspec
=
this
.
detailobj
.
specification
;
handleError
(
error
){
this
.
addstatus
=
this
.
detailobj
.
status
+
''
;
//状态 1可用 0停用
console
.
log
(
1111111
)
this
.
addremark
=
this
.
detailobj
.
remark
;
//备注
console
.
log
(
error
)
this
.
filename
=
this
.
detailobj
.
filename
;
//文件名称
this
.
fileurl
=
this
.
detailobj
.
fileurl
;
//文件路径
this
.
addmodal
=
true
;
},
},
addPost
(){
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
=
{
url
:
url
,
name
:
fileName
};
this
.
axios
.
request
({
url
:
"/config/Download/DownloadFileByUrl"
,
params
,
method
:
"get"
,
responseType
:
"blob"
})
.
then
((
res
)
=>
{
if
(
res
.
status
==
200
)
{
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
(
'请求错误'
)
});
},
//导出模板
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
)
{
handleRowChange
(
currentRow
,
oldCurrentRow
)
{
this
.
detailobj
=
currentRow
;
this
.
detailobj
=
currentRow
;
},
},
...
@@ -378,16 +590,62 @@ export default {
...
@@ -378,16 +590,62 @@ export default {
this
.
page
=
value
;
this
.
page
=
value
;
this
.
search
(
0
);
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
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
>
.
frock
UploadFile
{
.
accountInfo
UploadFile
{
display
:
inline-block
;
display
:
inline-block
;
.UFbtn{
position
:
relative
;
width
:
140px
;
left
:
5px
;
height
:
29px
;
.ivu-upload{
line-height
:
15px
;
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
>
</
style
>
\ No newline at end of file
Html/src/view/fms/config/typeMaintenance.vue
View file @
2525380d
...
@@ -134,6 +134,7 @@ export default {
...
@@ -134,6 +134,7 @@ export default {
created
(){
created
(){
this
.
initFrockType
();
//工装类型树形结构
this
.
initFrockType
();
//工装类型树形结构
this
.
tosearch
();
this
.
tosearch
();
this
.
tableColumns1
=
this
.
$time
.
initTableTitle
(
this
.
tableColumns1
);
},
},
methods
:{
methods
:{
//工装类型
//工装类型
...
...
Html/src/view/wms/whStatusQuery/storageInfoQuery.vue
View file @
2525380d
...
@@ -212,6 +212,7 @@ export default {
...
@@ -212,6 +212,7 @@ export default {
},
},
created
(){
created
(){
this
.
initWarehouse
();
//仓库
this
.
initWarehouse
();
//仓库
this
.
tableColumns1
=
this
.
$time
.
initTableTitle
(
this
.
tableColumns1
);
},
},
methods
:{
methods
:{
//仓库下拉框
//仓库下拉框
...
...
Server/Apis/Siger.ApiACC/Controllers/AutomationController.cs
View file @
2525380d
...
@@ -105,6 +105,7 @@ namespace Siger.ApiACC.Controllers
...
@@ -105,6 +105,7 @@ namespace Siger.ApiACC.Controllers
/// <param name="line"></param>
/// <param name="line"></param>
/// <param name="mode"></param>
/// <param name="mode"></param>
/// <returns></returns>
/// <returns></returns>
[
HttpGet
]
public
IActionResult
LineMode
(
int
line
,
int
mode
)
public
IActionResult
LineMode
(
int
line
,
int
mode
)
{
{
var
exitObj
=
_automationLineMode
.
Get
(
f
=>
f
.
section
==
line
);
var
exitObj
=
_automationLineMode
.
Get
(
f
=>
f
.
section
==
line
);
...
@@ -148,10 +149,35 @@ namespace Siger.ApiACC.Controllers
...
@@ -148,10 +149,35 @@ namespace Siger.ApiACC.Controllers
throw
new
BadRequestException
(
CommonEnum
.
Fail
);
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>
/// <summary>
/// 任务状态接口 用于保存PLC 实时任务状态 ()
/// 任务状态接口 用于保存PLC 实时任务状态 ()
/// </summary>
/// </summary>
/// <returns></returns>
/// <returns></returns>
[
HttpPost
]
public
IActionResult
TaskResult
([
FromBody
]
RequestAutomationTaskResult
request
)
public
IActionResult
TaskResult
([
FromBody
]
RequestAutomationTaskResult
request
)
{
{
//1.检查Tasklist
//1.检查Tasklist
...
...
Server/Apis/Siger.ApiACC/Controllers/AutomationOperateController.cs
0 → 100644
View file @
2525380d
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Threading.Tasks
;
using
Microsoft.AspNetCore.Mvc
;
using
Siger.Middlelayer.AccRepository.Entities
;
using
Siger.Middlelayer.AccRepository.Repositories.Interface
;
using
Siger.Middlelayer.AccRepository.Request
;
using
Siger.Middlelayer.AccRepository.Response
;
using
Siger.Middlelayer.Common
;
using
Siger.Middlelayer.Common.Extensions
;
using
Siger.Middlelayer.Log
;
using
Siger.Middlelayer.Repository
;
using
Siger.Middlelayer.Repository.Repositories.Interface
;
using
Siger.Middlelayer.Repository.Response
;
using
Siger.Middlelayer.Share.Constant
;
using
Siger.Middlelayer.Share.Enum.ModuleEnum
;
namespace
Siger.ApiACC.Controllers
{
public
class
AutomationOperateController
:
BaseController
{
private
readonly
IUnitOfWork
_unitOfWork
;
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
,
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
(
$"GetloadStation 未配置设备类型字典"
);
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
var
loadStation
=
new
List
<
string
>();
if
(
type
==
0
)
{
var
dictLoad
=
stationDicts
.
Where
(
s
=>
s
.
dkey
==
DictKeyValConst
.
UploadloadStation
);
if
(!
dictLoad
.
Any
())
{
Logger
.
WriteLineInfo
(
$"GetloadStation 未配置上下料工站字典"
);
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
loadStation
=
dictLoad
.
Select
(
s
=>
s
.
dval
).
ToList
();
}
else
{
var
dictLoad
=
stationDicts
.
Where
(
s
=>
s
.
dkey
==
DictKeyValConst
.
CleanStation
);
if
(!
dictLoad
.
Any
())
{
Logger
.
WriteLineInfo
(
$"GetloadStation 未配置清洗工站字典"
);
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
loadStation
=
dictLoad
.
Select
(
s
=>
s
.
dval
).
ToList
();
}
var
data
=
new
List
<
ResponseLoadStation
>();
foreach
(
var
station
in
loadStation
)
{
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
()
&&
f
.
status
==(
int
)
RowState
.
Valid
);
if
(
machineStatus
==
null
)
{
_automationMachineStatus
.
Insert
(
new
siger_automation_machine_status
{
projectId
=
ProjectId
,
enable
=
1
,
machineid
=
machintAttr
.
machine
,
section
=
section
.
id
,
updatetime
=
DateTime
.
Now
});
}
else
{
loadStatus
=
machineStatus
.
status
;
}
data
.
Add
(
new
ResponseLoadStation
{
section
=
section
.
id
,
title
=
section
.
title
,
status
=
loadStatus
});
}
return
new
ObjectResult
(
data
);
}
/// <summary>
/// 准备上料
/// </summary>
/// <param name="loading"></param>
/// <returns></returns>
[
HttpPost
]
public
IActionResult
Loading
([
FromBody
]
requestAutomationLoading
loading
)
{
var
data
=
new
ResponseAutomationInfo
{
sn
=
"sn0001"
,
wo
=
"wo123123"
};
return
new
ObjectResult
(
data
);
}
/// <summary>
/// 安装完成
/// </summary>
/// <param name="assemble"></param>
/// <returns></returns>
[
HttpPost
]
public
IActionResult
CompalateAssemble
([
FromBody
]
requestAutoCompalateAssemble
assemble
)
{
return
new
ObjectResult
(
1
);
}
/// <summary>
/// 准备下料
/// </summary>
/// <param name="unloading"></param>
/// <returns></returns>
[
HttpPost
]
public
IActionResult
Unloading
([
FromBody
]
requestAutomationUnloading
unloading
)
{
return
new
ObjectResult
(
1
);
}
/// <summary>
/// 拆卸完成
/// </summary>
/// <param name="disassemble"></param>
/// <returns></returns>
[
HttpPost
]
public
IActionResult
Disassemble
([
FromBody
]
Requestdisassemble
disassemble
)
{
return
new
ObjectResult
(
1
);
}
}
}
Server/Apis/Siger.ApiACC/Controllers/FixtureToolsAssemblyController.cs
View file @
2525380d
...
@@ -34,7 +34,7 @@ namespace Siger.ApiACC.Controllers
...
@@ -34,7 +34,7 @@ namespace Siger.ApiACC.Controllers
}
}
[
HttpGet
]
[
HttpGet
]
public
IActionResult
GetPageList
(
string
category
,
string
code
,
string
name
,
int
p
rojectid
,
int
p
age
,
int
pagesize
)
public
IActionResult
GetPageList
(
string
category
,
string
code
,
string
name
,
int
page
,
int
pagesize
)
{
{
var
data
=
_toolsAssemblyRepository
.
GetPagedList
(
category
.
ToInt
(),
code
,
name
,
ProjectId
,
page
,
pagesize
);
var
data
=
_toolsAssemblyRepository
.
GetPagedList
(
category
.
ToInt
(),
code
,
name
,
ProjectId
,
page
,
pagesize
);
return
new
PagedObjectResult
(
data
.
Data
,
data
.
Total
,
page
,
pagesize
);
return
new
PagedObjectResult
(
data
.
Data
,
data
.
Total
,
page
,
pagesize
);
...
...
Server/Apis/Siger.ApiConfig/Controller/DownloadController.cs
View file @
2525380d
...
@@ -3,6 +3,7 @@ using System.IO;
...
@@ -3,6 +3,7 @@ using System.IO;
using
System.Net
;
using
System.Net
;
using
System.Net.Http
;
using
System.Net.Http
;
using
System.Net.Http.Headers
;
using
System.Net.Http.Headers
;
using
System.Web
;
using
Microsoft.AspNetCore.Mvc
;
using
Microsoft.AspNetCore.Mvc
;
using
Siger.ApiCommon.Filters
;
using
Siger.ApiCommon.Filters
;
using
Siger.ApiCommon.Utilities
;
using
Siger.ApiCommon.Utilities
;
...
@@ -312,5 +313,44 @@ namespace Siger.ApiConfig.Controller
...
@@ -312,5 +313,44 @@ namespace Siger.ApiConfig.Controller
return
new
ObjectResult
(
new
{
content
=
FileUtility
.
GetText
(
truePath
)
});
return
new
ObjectResult
(
new
{
content
=
FileUtility
.
GetText
(
truePath
)
});
}
}
/// <summary>
/// 下载文件
/// </summary>
/// <returns></returns>
[
HttpGet
]
[
NoResultFilter
]
public
IActionResult
DownloadFileByUrl
(
string
url
,
string
name
)
{
if
(!
string
.
IsNullOrEmpty
(
url
))
{
var
file_url
=
url
.
Split
(
"Files"
);
if
(
url
.
Length
==
2
)
{
url
=
"Files"
+
file_url
[
1
];
}
}
var
path
=
Path
.
Combine
(
AppDomain
.
CurrentDomain
.
BaseDirectory
,
url
).
Replace
(
"Files"
,
"TemporaryFiles"
);
if
(!
System
.
IO
.
File
.
Exists
(
path
))
{
return
new
NoContentResult
();
}
try
{
var
stream
=
new
FileStream
(
path
,
FileMode
.
Open
,
FileAccess
.
Read
,
FileShare
.
Read
);
var
response
=
new
HttpResponseMessage
(
HttpStatusCode
.
OK
)
{
Content
=
new
StreamContent
(
stream
)
};
response
.
Content
.
Headers
.
ContentType
=
new
MediaTypeHeaderValue
(
"application/octet-stream"
);
response
.
Content
.
Headers
.
ContentDisposition
=
new
ContentDispositionHeaderValue
(
"attachment"
)
{
FileName
=
name
};
return
File
(
stream
,
"application/octet-stream"
);
}
catch
(
Exception
e
)
{
throw
new
BadRequestException
(
CommonEnum
.
Fail
);
}
}
}
}
}
}
\ No newline at end of file
Server/Apis/Siger.ApiConfig/Controller/PositionController.cs
View file @
2525380d
using
System.Linq
;
using
System.Collections.Generic
;
using
System.Linq
;
using
Microsoft.AspNetCore.Mvc
;
using
Microsoft.AspNetCore.Mvc
;
using
Siger.Middlelayer.Common
;
using
Siger.Middlelayer.Common
;
using
Siger.Middlelayer.Log
;
using
Siger.Middlelayer.Repository.Repositories.Interface
;
using
Siger.Middlelayer.Repository.Repositories.Interface
;
using
Siger.Middlelayer.Repository.Response
;
using
Siger.Middlelayer.Share.Constant
;
namespace
Siger.ApiConfig.Controller
namespace
Siger.ApiConfig.Controller
{
{
public
class
PositionController
:
BaseController
public
class
PositionController
:
BaseController
{
{
private
readonly
ISigerProjectLevelSectionRepository
_projectLevelSection
;
private
readonly
ISigerProjectLevelSectionRepository
_projectLevelSection
;
public
PositionController
(
ISigerProjectLevelSectionRepository
projectLevelSection
)
private
readonly
ISigerDict
_sigerDict
;
public
PositionController
(
ISigerProjectLevelSectionRepository
projectLevelSection
,
ISigerDict
sigerDict
)
{
{
_projectLevelSection
=
projectLevelSection
;
_projectLevelSection
=
projectLevelSection
;
_sigerDict
=
sigerDict
;
}
}
[
HttpGet
]
[
HttpGet
]
...
@@ -30,6 +37,8 @@ namespace Siger.ApiConfig.Controller
...
@@ -30,6 +37,8 @@ namespace Siger.ApiConfig.Controller
return
new
ObjectResult
(
obj
);
return
new
ObjectResult
(
obj
);
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
}
}
}
}
}
\ No newline at end of file
Server/Apis/Siger.ApiWMS/Controllers/LocationController.cs
View file @
2525380d
...
@@ -937,6 +937,10 @@ namespace Siger.ApiWMS.Controllers
...
@@ -937,6 +937,10 @@ namespace Siger.ApiWMS.Controllers
foreach
(
var
Location
in
req
.
storeArr
)
foreach
(
var
Location
in
req
.
storeArr
)
{
{
if
(
req
.
storeArr
.
Count
(
q
=>
q
.
val
==
Location
.
val
)
>
1
)
{
throw
new
BadRequestException
(
RequestEnum
.
DataExist
);
}
var
loca
=
location
.
Get
(
q
=>
q
.
realname
==
Location
.
val
&&
q
.
projectid
==
ProjectId
);
var
loca
=
location
.
Get
(
q
=>
q
.
realname
==
Location
.
val
&&
q
.
projectid
==
ProjectId
);
if
(
loca
!=
null
)
if
(
loca
!=
null
)
{
{
...
@@ -1056,6 +1060,10 @@ namespace Siger.ApiWMS.Controllers
...
@@ -1056,6 +1060,10 @@ namespace Siger.ApiWMS.Controllers
foreach
(
var
Location
in
req
.
storeArr
)
foreach
(
var
Location
in
req
.
storeArr
)
{
{
if
(
req
.
storeArr
.
Count
(
q
=>
q
.
val
==
Location
.
val
)
>
1
)
{
throw
new
BadRequestException
(
RequestEnum
.
DataExist
);
}
var
loca
=
location
.
Get
(
q
=>
q
.
realname
==
Location
.
val
&&
q
.
projectid
==
ProjectId
&&
q
.
id
!=
Location
.
locationid
.
ToInt
());
var
loca
=
location
.
Get
(
q
=>
q
.
realname
==
Location
.
val
&&
q
.
projectid
==
ProjectId
&&
q
.
id
!=
Location
.
locationid
.
ToInt
());
if
(
loca
!=
null
)
if
(
loca
!=
null
)
{
{
...
...
Server/Common/Siger.Middlelayer.Share/Constant/AccDictCost.cs
View file @
2525380d
...
@@ -67,7 +67,7 @@ namespace Siger.Middlelayer.Common
...
@@ -67,7 +67,7 @@ namespace Siger.Middlelayer.Common
/// <summary>
/// <summary>
/// MES 自动线类型
/// MES 自动线类型
/// </summary>
/// </summary>
public
const
string
Automation
=
"
a
utomation"
;
public
const
string
Automation
=
"
A
utomation"
;
}
}
...
...
Server/Common/Siger.Middlelayer.Share/Constant/DictKeyValConst.cs
View file @
2525380d
...
@@ -34,12 +34,9 @@ namespace Siger.Middlelayer.Share.Constant
...
@@ -34,12 +34,9 @@ namespace Siger.Middlelayer.Share.Constant
/// </summary>
/// </summary>
public
const
string
CleanStation
=
"CleanStation"
;
public
const
string
CleanStation
=
"CleanStation"
;
/// <summary>
/// <summary>
/// key:上料工站
/// key:上料
下料
工站
/// </summary>
/// </summary>
public
const
string
UploadloadStation
=
"UploadloadStation"
;
public
const
string
UploadloadStation
=
"LoadStation"
;
/// <summary>
/// key:下料工站
/// </summary>
public
const
string
DownloadStation
=
"DownloadStation"
;
}
}
}
}
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/ApiAccDbContext.cs
View file @
2525380d
...
@@ -160,5 +160,8 @@ namespace Siger.Middlelayer.AccRepository
...
@@ -160,5 +160,8 @@ namespace Siger.Middlelayer.AccRepository
public
DbSet
<
siger_wms_storage
>
siger_wms_storage
{
get
;
set
;
}
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_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 @
2525380d
...
@@ -14,6 +14,11 @@ namespace Siger.Middlelayer.AccRepository.Entities
...
@@ -14,6 +14,11 @@ namespace Siger.Middlelayer.AccRepository.Entities
/// 生产线模式 0:手动 1 自动
/// 生产线模式 0:手动 1 自动
/// </summary>
/// </summary>
public
int
mode
{
get
;
set
;
}
public
int
mode
{
get
;
set
;
}
/// <summary>
/// 是否检验
/// </summary>
public
int
inspect
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 更新时间
/// 更新时间
/// </summary>
/// </summary>
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Repositories/AutomationFixtureToolsProductRepository.cs
View file @
2525380d
...
@@ -39,7 +39,7 @@ namespace Siger.Middlelayer.AccRepository.Repositories
...
@@ -39,7 +39,7 @@ namespace Siger.Middlelayer.AccRepository.Repositories
productid
=
q
.
productid
,
productid
=
q
.
productid
,
productname
=
p
.
name
,
productname
=
p
.
name
,
remark
=
q
.
remark
,
remark
=
q
.
remark
,
updator
=
q
.
updator
,
updator
=
u
.
name
??
""
,
updatetime
=
q
.
updatetime
.
HasValue
&&
q
.
updatetime
>
DateTime
.
MinValue
?
q
.
updatetime
.
Value
.
ToString
(
ParameterConstant
.
DateTimeFormat
)
:
""
updatetime
=
q
.
updatetime
.
HasValue
&&
q
.
updatetime
>
DateTime
.
MinValue
?
q
.
updatetime
.
Value
.
ToString
(
ParameterConstant
.
DateTimeFormat
)
:
""
};
};
Expression
<
Func
<
ResponseAumationFixtureToolsProduct
,
bool
>>
categoryExpression
=
f
=>
true
;
Expression
<
Func
<
ResponseAumationFixtureToolsProduct
,
bool
>>
categoryExpression
=
f
=>
true
;
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Request/requestAutoLoad.cs
0 → 100644
View file @
2525380d
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Siger.Middlelayer.AccRepository.Request
{
/// <summary>
/// 准备上料
/// </summary>
public
class
requestAutomationLoading
{
public
int
section
{
get
;
set
;
}
public
string
code
{
get
;
set
;
}
}
/// <summary>
/// 安装完成
/// </summary>
public
class
requestAutoCompalateAssemble
{
public
int
section
{
get
;
set
;
}
}
/// <summary>
/// 准备下料
/// </summary>
public
class
requestAutomationUnloading
{
public
int
section
{
get
;
set
;
}
}
/// <summary>
/// 拆卸
/// </summary>
public
class
Requestdisassemble
{
public
int
section
{
get
;
set
;
}
}
}
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Response/FixtureToolsCategory.cs
View file @
2525380d
...
@@ -103,7 +103,7 @@ namespace Siger.Middlelayer.AccRepository.Response
...
@@ -103,7 +103,7 @@ namespace Siger.Middlelayer.AccRepository.Response
/// </summary>
/// </summary>
public
string
remark
{
get
;
set
;
}
public
string
remark
{
get
;
set
;
}
public
int
updator
{
get
;
set
;
}
public
string
updator
{
get
;
set
;
}
public
string
updatetime
{
get
;
set
;
}
public
string
updatetime
{
get
;
set
;
}
}
}
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Response/ResponseAutomationInfo.cs
0 → 100644
View file @
2525380d
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Siger.Middlelayer.AccRepository.Response
{
public
class
ResponseAutomationInfo
{
/// <summary>
/// 工单信息
/// </summary>
public
string
wo
{
get
;
set
;
}
public
string
productCode
{
get
;
set
;
}
public
string
productName
{
get
;
set
;
}
/// <summary>
/// 工件编码
/// </summary>
public
string
sn
{
get
;
set
;
}
public
int
status
{
get
;
set
;
}
public
int
statusDesc
{
get
;
set
;
}
/// <summary>
/// 储位位置
/// </summary>
public
string
locationDesc
{
get
;
set
;
}
/// <summary>
/// 工装编号
/// </summary>
public
string
fixture
{
get
;
set
;
}
}
}
Server/Infrastructure/Repositories/Siger.Middlelayer.Repository/Response/ResponseLoadStation.cs
0 → 100644
View file @
2525380d
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Siger.Middlelayer.Repository.Response
{
public
class
ResponseLoadStation
{
/// <summary>
/// 工站ID
/// </summary>
public
int
section
{
get
;
set
;
}
/// <summary>
/// 工站名称
/// </summary>
public
string
title
{
get
;
set
;
}
/// <summary>
/// 上料位状态
/// </summary>
public
int
status
{
get
;
set
;
}
}
}
Server/Infrastructure/Script/DB.script
View file @
2525380d
...
@@ -373,7 +373,8 @@ CREATE TABLE `siger_automation_line_mode` (
...
@@ -373,7 +373,8 @@ CREATE TABLE `siger_automation_line_mode` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id` int(11) NOT NULL AUTO_INCREMENT,
`section` int(11) NOT NULL DEFAULT 0 COMMENT '产线ID',
`section` int(11) NOT NULL DEFAULT 0 COMMENT '产线ID',
`projectid` int(11) NOT NULL DEFAULT 0,
`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 '操作时间',
`updatetime` datetime(0) NULL DEFAULT NULL COMMENT '操作时间',
PRIMARY KEY (`id`) USING BTREE
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
) 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