Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tianjin
Project
Project
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
徐来柯
tianjin
Commits
529b0676
Commit
529b0676
authored
Jan 07, 2021
by
徐来柯
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
88a48d23
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
741 additions
and
0 deletions
+741
-0
common.scss
src/assets/sass/common.scss
+129
-0
index.js
src/router/index.js
+7
-0
MaterialWarehousingMoudle.vue
src/views/education/MaterialWarehousingMoudle.vue
+136
-0
SearchForm.vue
src/views/education/component/SearchForm.vue
+230
-0
StoreDialog.vue
src/views/education/component/StoreDialog.vue
+239
-0
No files found.
src/assets/sass/common.scss
View file @
529b0676
...
@@ -6,4 +6,132 @@
...
@@ -6,4 +6,132 @@
// 给flex布局下的两个元素制造空位
// 给flex布局下的两个元素制造空位
.v-spacer
{
.v-spacer
{
flex-grow
:
1
!
important
;
flex-grow
:
1
!
important
;
}
// 添加 box-container 下的自定义全局css 样式
.box-container
{
position
:
relative
;
margin-top
:
100px
;
width
:
100%
;
height
:calc
(
100vh
-
140px
)
;
background
:
#EEEEEE
;
padding-top
:
10px
;
.wrap
{
width
:
98%
;
height
:
98%
;
margin
:auto
;
background
:
#fff
;
padding
:
24px
20px
0px
20px
;
}
.table-style
{
height
:
calc
(
100%
-
110px
)
!
important
;
}
// 分页样式
.conterFool_bottom
{
width
:
97%
;
margin
:
auto
;
height
:
50px
;
padding-top
:
12px
;
user-select
:
none
;
display
:
flex
;
justify-content
:
space-between
;
.bottom_text
{
line-height
:
28px
;
color
:
#929292
;
font-size
:
14px
;
}
.bottom_btns
{
display
:
flex
;
color
:
#9C9C9C
;
span
{
line-height
:
30px
;
margin
:
0
5px
;
}
.text
{
display
:
inline-block
;
width
:
65px
;
height
:
30px
;
margin
:
0
5px
;
text-align
:
center
;
color
:
#FDA100
;
}
.bottom_firest
{
width
:
65px
;
height
:
30px
;
line-height
:
28px
;
text-align
:center
;
color
:
#FDA100
;
border
:
1px
solid
#FDA100
;
box-sizing
:
border-box
;
border-radius
:
5px
;
margin-left
:
10px
;
cursor
:
pointer
;
}
.bottom_disabled
{
cursor
:
pointer
;
width
:
80px
;
height
:
30px
;
line-height
:
28px
;
text-align
:center
;
color
:
#F9D79C
;
border
:
1px
solid
#F8CA7A
;
box-sizing
:
border-box
;
background
:
#f9f9f9
;
border-radius
:
5px
;
margin-left
:
10px
;
}
.bottom_next
{
cursor
:
pointer
;
width
:
80px
;
height
:
30px
;
line-height
:
28px
;
text-align
:center
;
color
:
#FDA100
;
border
:
1px
solid
#FDA100
;
box-sizing
:
border-box
;
border-radius
:
5px
;
margin-left
:
10px
;
}
.bottom_end
{
cursor
:
pointer
;
width
:
80px
;
height
:
30px
;
line-height
:
28px
;
text-align
:center
;
color
:
#FDA100
;
border
:
1px
solid
#FDA100
;
box-sizing
:
border-box
;
border-radius
:
5px
;
margin-left
:
10px
;
}
.bottom_jump
{
cursor
:
pointer
;
width
:
80px
;
height
:
30px
;
line-height
:
28px
;
text-align
:center
;
color
:
#FDA100
;
border
:
1px
solid
#FDA100
;
box-sizing
:
border-box
;
border-radius
:
5px
;
margin-left
:
10px
;
}
}
}
.el-table__header-wrapper
{
background
:
#5A6C98
;
}
.el-table
th
.is-leaf
{
background
:
#5A6C98
;
color
:
#fff
;
}
.el-table
td
,
.el-table
th
.is-leaf
{
text-align
:
center
;
}
.el-table--border
th
{
border
:
1px
solid
#EBEEF5
;
}
}
}
\ No newline at end of file
src/router/index.js
View file @
529b0676
...
@@ -119,6 +119,9 @@ const Line = () =>
...
@@ -119,6 +119,9 @@ const Line = () =>
import
(
'@/views/education/EquipmentAccount.vue'
);
import
(
'@/views/education/EquipmentAccount.vue'
);
const
Device
=
()
=>
const
Device
=
()
=>
import
(
'@/views/education/deviceManage.vue'
)
import
(
'@/views/education/deviceManage.vue'
)
const
MaterialWarehousingMoudle
=
()
=>
import
(
'@/views/education/MaterialWarehousingMoudle.vue'
);
Vue
.
use
(
VueRouter
);
Vue
.
use
(
VueRouter
);
...
@@ -333,6 +336,10 @@ const routes = [{
...
@@ -333,6 +336,10 @@ const routes = [{
path
:
'/Device'
,
path
:
'/Device'
,
component
:
Device
component
:
Device
},
},
{
path
:
'/MaterialWarehousingMoudle'
,
component
:
MaterialWarehousingMoudle
},
{
{
path
:
'/*'
,
path
:
'/*'
,
component
:
CustomerVue
component
:
CustomerVue
...
...
src/views/education/MaterialWarehousingMoudle.vue
View file @
529b0676
<
template
>
<div
class=
"box-container"
>
<div
class=
"wrap"
>
<search-form
:formList=
"[1,2,3]"
:btnList=
"[1,2]"
@
openDialog=
"openDialog"
/>
<el-table
border
height=
"675"
ref=
"multipleTable"
:data=
"tableData"
class=
"table-style"
tooltip-effect=
"dark"
style=
"width: 100%"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"60"
>
</el-table-column>
<el-table-column
label=
"序号"
:show-overflow-tooltip=
"true"
width=
"80"
prop=
"NO"
>
</el-table-column>
<el-table-column
label=
"入库编号"
:show-overflow-tooltip=
"true"
prop=
"SID"
width=
"180"
>
</el-table-column>
<el-table-column
prop=
"ProductName"
label=
"线体编号"
:show-overflow-tooltip=
"true"
width=
"180"
>
</el-table-column>
<el-table-column
label=
"线体名称"
:show-overflow-tooltip=
"true"
prop=
"ProductType"
width=
"180"
>
</el-table-column>
<el-table-column
label=
"物料编号"
:show-overflow-tooltip=
"true"
prop=
"PlanType"
width=
"180"
>
</el-table-column>
<el-table-column
label=
"物料名称"
:show-overflow-tooltip=
"true"
prop=
"PlanType"
width=
"180"
>
</el-table-column>
<el-table-column
label=
"物料描述"
:show-overflow-tooltip=
"true"
prop=
"PlanType"
width=
"210"
>
</el-table-column>
<el-table-column
label=
"单位"
:show-overflow-tooltip=
"true"
prop=
"LineName"
width=
"140"
>
</el-table-column>
<el-table-column
label=
"入库数量"
:show-overflow-tooltip=
"true"
prop=
"UserName"
width=
"180"
>
</el-table-column>
<el-table-column
label=
"入库时间"
:show-overflow-tooltip=
"true"
prop=
"StartDt"
>
</el-table-column>
</el-table>
<div
class=
"conterFool_bottom"
>
<div
class=
"bottom_text"
>
<span>
共
{{
TotalCount
}}
条记录 当前第
{{
PageIndex
}}
页 共
{{
TotalPage
}}
页 每页
{{
PageSize
}}
条记录
</span>
</div>
<div
class=
"bottom_btns"
>
<div
class=
"bottom_firest"
>
首页
</div>
<div
ref=
"last"
:class=
"num
<
=
1
?
'
bottom_disabled
'
:
'
bottom_next
'"
>
上一页
</div>
<div
ref=
"next"
:class=
"num === TotalPage ? 'bottom_disabled' : 'bottom_next'"
>
下一页
</div>
<div
class=
"bottom_end"
>
末页
</div>
<span>
第
</span>
<input
v-model=
"num"
class=
"text"
type=
"text"
/>
<span>
页
</span>
<div
@
click=
"jump"
class=
"bottom_jump"
>
跳转
</div>
</div>
</div>
</div>
<store-dialog
:titleText=
"'物料入库单'"
v-if=
"popShow"
@
closeDialog=
"closeDialog"
@
conserve=
"conserve"
/>
</div>
</
template
>
<
script
>
import
searchForm
from
'./component/SearchForm'
import
StoreDialog
from
'./component/StoreDialog'
export
default
{
components
:
{
searchForm
,
StoreDialog
},
data
()
{
return
{
tableData
:
[],
popShow
:
false
,
num
:
1
,
TotalCount
:
1
,
PageIndex
:
1
,
TotalPage
:
1
,
PageSize
:
50
,
}
},
methods
:
{
handleSelectionChange
()
{},
//跳转
jump
(){},
openDialog
()
{
this
.
popShow
=
true
},
closeDialog
()
{
this
.
popShow
=
false
},
conserve
()
{
alert
(
'保存成功'
)
}
}
}
</
script
>
\ No newline at end of file
src/views/education/component/SearchForm.vue
0 → 100644
View file @
529b0676
<
template
>
<div
class=
"searchForm"
>
<div
class=
"search-list"
>
<div
class=
"search-block"
v-if=
"formList.includes(1)"
>
<span
class=
"search"
>
{{
headText
}}
:
</span>
<el-select
class=
"selectName"
v-model=
"selectValue"
placeholder=
"请选择"
>
<el-option
v-for=
"item in searchList"
:key=
"item.name"
:label=
"item.name"
:value=
"item.name"
>
</el-option>
</el-select>
</div>
<div
class=
"search-block"
v-if=
"formList.includes(2)"
>
<el-date-picker
class=
"selectName"
v-model=
"dateValue"
type=
"datetimerange"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
:default-time=
"['00:00:00', '23:59:59']"
>
</el-date-picker>
</div>
<div
class=
"search-block search-input"
v-if=
"formList.includes(1)"
>
<el-input
type=
"text"
v-model=
"inputValue"
:placeholder=
"placeText"
></el-input>
</div>
<div
class=
"search-btn"
@
click=
"searchData"
>
查询
</div>
<div
class=
"search-block search-input"
v-if=
"formList.includes(3)"
style=
"margin-left: 20px"
>
<el-input
type=
"text"
v-model=
"scanValue"
></el-input>
</div>
</div>
<div
class=
"searchBtns"
>
<div
class=
"delete"
v-if=
"btnList.includes(2)"
>
<span
class=
"deText"
@
click=
"delData"
>
删除
</span>
<div
class=
"deleteImg"
></div>
</div>
<div
class=
"add"
@
click=
"openDialog"
v-if=
"btnList.includes(1)"
>
<span
class=
"addText"
>
添加
</span>
<div
class=
"addImg"
></div>
</div>
</div>
</div>
</
template
>
<
script
>
import
moment
from
'moment'
export
default
{
props
:
{
headText
:
{
type
:
String
,
default
:
'查询条件'
},
placeText
:
{
type
:
String
,
default
:
'请输入关键词'
},
formList
:
{
// 1: 查询条件与关键词搜索 2: 日期时间选择器 3:扫码枪输入框
type
:
Array
,
default
()
{
return
[]
}
},
btnList
:
{
// 1: 添加按钮 2: 删除按钮
type
:
Array
,
default
()
{
return
[]
}
}
},
data
()
{
return
{
selectValue
:
''
,
inputValue
:
''
,
scanValue
:
''
,
dateValue
:
[
moment
().
format
(
'YYYY-MM-DD 00:00:00'
),
moment
().
format
(
'YYYY-MM-DD 23:59:59'
)],
searchList
:
[]
}
},
created
()
{
// this.queryProduct
},
methods
:
{
searchData
()
{},
delData
()
{},
openDialog
()
{
this
.
$emit
(
'openDialog'
)
}
// queryProduct(){
// var value = ''
// this.$axios({
// method:"post",
// url:`/api/Product/Product_Query?argKeyWord=${value}`,
// }).then((res)=>{
// this.HeadData = res.data.data
// if(this.HeadData.length != 0){
// for(let i2=0;i2
<
this
.
HeadData
.
length
;
i2
++
){
// var value4 = {
// id:this.HeadData[i2].ID,
// name:this.HeadData[i2].Name
// }
// this.productNameArr.push(value4)
// }
// var value = {
// id:'00000000-0000-0000-0000-000000000000',
// name:'不限'
// }
// this.productNameArr.unshift(value)
// }else{
// var value3 = {
// id:'00000000-0000-0000-0000-000000000000',
// name:'不限'
// }
// this.productNameArr.push(value3)
// }
// }).catch(function(err){
// console.log('err',err)
// })
// },
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.searchForm
{
display
:
flex
;
justify-content
:
space-between
;
height
:
60px
;
}
.search-list
{
display
:
flex
;
.search-block
{
margin-right
:
20px
;
height
:
40px
;
line-height
:
40px
;
margin-right
:
15px
;
}
.search-input
{
width
:
220px
;
}
.search-btn
{
width
:
120px
;
height
:
40px
;
background
:rgba
(
66
,
112
,
228
,
1
)
;
border-radius
:
4px
;
font-size
:
16px
;
font-family
:
Microsoft
YaHei
;
font-weight
:bold
;
color
:rgba
(
255
,
255
,
255
,
1
)
;
text-align
:
center
;
line-height
:
40px
;
cursor
:
pointer
;
user-select
:
none
;
}
}
.search
{
margin-right
:
15px
;
}
.searchBtns
{
margin-right
:
20px
;
.delete
{
float
:
right
;
line-height
:
40px
;
position
:
relative
;
width
:
120px
;
height
:
40px
;
background
:rgba
(
255
,
255
,
255
,
1
)
;
border
:
1px
solid
rgba
(
74
,
191
,
205
,
1
);
border-radius
:
4px
;
font-size
:
16px
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
color
:rgba
(
74
,
191
,
205
,
1
)
;
cursor
:
pointer
;
user-select
:
none
;
.deText
{
margin-left
:
54px
;
}
}
.deleteImg
{
position
:
absolute
;
width
:
18px
;
height
:
20px
;
top
:
10px
;
left
:
32px
;
background
:
url('../../../assets/images/icon_dell.png')
;
background-size
:cover
;
}
.add
{
float
:
right
;
line-height
:
40px
;
position
:
relative
;
width
:
120px
;
height
:
40px
;
background
:rgba
(
255
,
255
,
255
,
1
)
;
border
:
1px
solid
rgba
(
70
,
190
,
5
,
1
);
border-radius
:
4px
;
font-size
:
16px
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
color
:rgba
(
70
,
190
,
5
,
1
)
;
margin-right
:
14px
;
cursor
:
pointer
;
user-select
:
none
;
.addText
{
margin-left
:
54px
;
}
}
.addImg
{
position
:
absolute
;
width
:
20px
;
height
:
20px
;
top
:
10px
;
left
:
32px
;
background
:
url("../../../assets/images/icon_addfile.png")
;
background-size
:cover
;
}
}
</
style
>
\ No newline at end of file
src/views/education/component/StoreDialog.vue
0 → 100644
View file @
529b0676
<!--
* @Description: 这是***页面(组件)
* @Date: 2020-08-10 15:29:17
* @Author: Tao
* @LastEditors: Tao
* @LastEditTime: 2020-09-01 17:21:50
-->
<
template
>
<div
class=
"scPopBox"
>
<div
v-drag
class=
"head"
>
{{
titleText
}}
<div
@
click=
"close()"
class=
"headImg"
></div>
</div>
<div
class=
"popCenten_box"
>
<div
class=
"popCenten"
>
<div
class=
"centen_row"
style=
"margin-top: 10px"
>
<span
class=
"centen_row_text"
style=
"margin-left: 30px"
>
线体编号:
</span>
<div
class=
"centen_row_select"
>
<el-select
v-model=
"value"
placeholder=
"请选择"
>
<el-option
v-for=
"item in planList"
:key=
"item.PlanType"
:label=
"item.PlanType"
:value=
"item.PlanType"
>
</el-option>
</el-select>
</div>
</div>
<div
class=
"centen_row"
style=
"margin-top:10px"
>
<span
class=
"centen_row_text"
style=
"margin-left: 30px"
>
物料编号:
</span>
<div
class=
"centen_row_select"
>
<el-select
v-model=
"value1"
placeholder=
"请选择"
>
<el-option
v-for=
"item in materList"
:key=
"item.LineName"
:label=
"item.LineName"
:value=
"item.LineName"
>
</el-option>
</el-select>
</div>
</div>
<div
class=
"centen_row"
style=
"margin-top:10px"
>
<span
class=
"centen_row_text"
style=
"margin-left: 30px"
>
入库数量:
</span>
<div
class=
"centen_row_select"
>
<el-input
@
change=
"numFun()"
v-model=
"count"
placeholder=
"请输入入库数量"
></el-input>
</div>
</div>
</div>
<div
class=
"btn"
>
<div
@
click=
"close()"
class=
"cancle"
>
取消
</div>
<div
@
click=
"conserve()"
class=
"add"
>
保存
</div>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
count
:
''
,
value
:
''
,
value1
:
''
,
planList
:
[],
materList
:
[]
}
},
props
:
{
titleText
:
{
type
:
String
,
default
:
''
}
},
directives
:
{
drag
:
function
(
el
)
{
let
dragBox
=
el
;
//获取当前元素
dragBox
.
onmousedown
=
e
=>
{
let
box
=
document
.
querySelector
(
'.scPopBox'
)
//算出鼠标相对元素的位置
let
disX
=
e
.
clientX
-
dragBox
.
offsetLeft
;
let
disY
=
e
.
clientY
-
dragBox
.
offsetTop
;
document
.
onmousemove
=
e
=>
{
//用鼠标的位置减去鼠标相对元素的位置,得到元素的位置
let
left
=
e
.
clientX
-
(
Number
(
disX
));
let
top
=
e
.
clientY
-
(
Number
(
disY
));
//移动当前元素
box
.
style
.
left
=
left
+
"px"
;
box
.
style
.
top
=
top
+
"px"
;
};
document
.
onmouseup
=
e
=>
{
document
.
onmousemove
=
null
;
document
.
onmouseup
=
null
;
};
};
}
},
methods
:{
// guid() {
// return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
// var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
// return v.toString(16);
// });
// },
close
(){
this
.
$emit
(
'closeDialog'
)
},
numFun
(){
this
.
count
=
parseInt
(
this
.
count
)
if
(
String
(
this
.
count
)
==
'NaN'
){
this
.
count
=
''
}
},
conserve
()
{
this
.
$emit
(
'conserve'
)
}
}
}
</
script
>
<
style
lang=
"scss"
>
.scPopBox
{
.el-select
{
width
:
310px
;
}
.el-date-editor.el-input
,
.el-date-editor.el-input__inner
{
width
:
310px
;
}
}
</
style
>
<
style
lang=
"scss"
scoped
>
.scPopBox
{
width
:
820px
;
height
:
550px
;
background
:rgba
(
238
,
238
,
238
,
1
)
;
box-shadow
:
-7px
7px
50px
0px
rgba
(
51
,
51
,
51
,
0
.5
);
position
:
absolute
;
top
:
0px
;
left
:
0px
;
right
:
0
;
bottom
:
0
;
margin
:auto
;
z-index
:
10
;
.head
{
position
:
relative
;
line-height
:
60px
;
text-align
:
center
;
width
:
820px
;
height
:
60px
;
background
:rgba
(
37
,
92
,
193
,
1
)
;
font-size
:
18px
;
font-family
:
Microsoft
YaHei
;
font-weight
:bold
;
color
:rgba
(
238
,
238
,
238
,
1
)
;
user-select
:
none
;
}
.headImg
{
position
:
absolute
;
right
:
12px
;
top
:
12px
;
width
:
36px
;
height
:
36px
;
background
:url
(
'../../../assets/images/no.png'
)
;
background-size
:cover
;
cursor
:
pointer
;
}
.popCenten_box
{
height
:
480px
;
width
:
100%
;
background
:
#EEEEEE
;
.popCenten
{
width
:
737px
;
height
:
380px
;
background
:
#fff
;
margin-top
:
30px
;
margin-left
:
30px
;
padding-top
:
42px
;
.centen_row
{
width
:
60%
;
margin
:
auto
;
height
:
40px
;
line-height
:
40px
;
}
.centen_row_text
{
float
:
left
;
}
.centen_row_select
{
float
:
right
;
width
:
310px
;
height
:
40px
;
}
}
}
.btn
{
width
:
100%
;
height
:
40px
;
overflow
:
hidden
;
margin
:
20px
0
0
280px
;
.cancle
{
width
:
160px
;
height
:
40px
;
float
:
left
;
text-align
:
center
;
line-height
:
40px
;
cursor
:
pointer
;
user-select
:
none
;
background
:rgba
(
255
,
255
,
255
,
1
)
;
border
:
1px
solid
rgba
(
37
,
92
,
193
,
1
);
border-radius
:
4px
;
box-sizing
:
border-box
;
font-size
:
14px
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
color
:rgba
(
51
,
51
,
51
,
1
)
;
margin-right
:
20px
;
}
.add
{
width
:
160px
;
height
:
40px
;
float
:
left
;
text-align
:
center
;
line-height
:
40px
;
cursor
:
pointer
;
user-select
:
none
;
background
:rgba
(
37
,
92
,
193
,
1
)
;
border
:
1px
solid
rgba
(
37
,
92
,
193
,
1
);
border-radius
:
4px
;
box-sizing
:
border-box
;
font-size
:
14px
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
color
:rgba
(
255
,
255
,
255
,
1
)
;
}
}
}
</
style
>
\ No newline at end of file
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