Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
W
WX_h5
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
godwithdh
WX_h5
Commits
5da6d8f9
Commit
5da6d8f9
authored
Dec 27, 2019
by
张锡奇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
upload
parent
64dfe740
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1244 additions
and
6 deletions
+1244
-6
search.vue
src/components/search.vue
+2
-2
apiMap.js
src/libs/apiMap.js
+4
-0
host.js
src/libs/host.js
+1
-1
index.js
src/router/index.js
+39
-0
index.js
src/store/index.js
+3
-1
checkProgress.js
src/store/modules/tiip/checkProgress.js
+27
-0
iconfont.less
src/styles/iconfont.less
+4
-0
detail.vue
src/view/tiip/checkProgress/process/detail.vue
+377
-0
list.vue
src/view/tiip/checkProgress/process/list.vue
+254
-0
detail.vue
src/view/tiip/checkProgress/procurement/detail.vue
+285
-0
list.vue
src/view/tiip/checkProgress/procurement/list.vue
+246
-0
index.vue
src/view/tiip/profitAnalysis/index.vue
+1
-1
index.vue
src/view/tiip/searchOrder/index.vue
+1
-1
No files found.
src/components/search.vue
View file @
5da6d8f9
...
@@ -117,12 +117,12 @@ export default {
...
@@ -117,12 +117,12 @@ export default {
this
.
global
.
$emit
(
'searchData'
);
this
.
global
.
$emit
(
'searchData'
);
},
},
changeInput
(
e
){
changeInput
(
e
){
this
.
search
.
se
ra
chvalue
=
this
.
inputValue
;
this
.
search
.
se
ar
chvalue
=
this
.
inputValue
;
this
.
global
.
$emit
(
'searchData'
);
this
.
global
.
$emit
(
'searchData'
);
},
},
clearInputValue
(
e
){
clearInputValue
(
e
){
this
.
inputValue
=
""
;
this
.
inputValue
=
""
;
this
.
search
.
se
ra
chvalue
=
this
.
inputValue
;
this
.
search
.
se
ar
chvalue
=
this
.
inputValue
;
this
.
global
.
$emit
(
'searchData'
);
this
.
global
.
$emit
(
'searchData'
);
}
}
},
},
...
...
src/libs/apiMap.js
View file @
5da6d8f9
...
@@ -72,5 +72,9 @@ const methodMap = {
...
@@ -72,5 +72,9 @@ const methodMap = {
getTiipReceive
:{
url
:
"/bianalysis/receivemoney/"
,
method
:
"get"
,
host
:
"default"
},
getTiipReceive
:{
url
:
"/bianalysis/receivemoney/"
,
method
:
"get"
,
host
:
"default"
},
getTiipCost
:{
url
:
"/bianalysis/costanalysis/"
,
method
:
"get"
,
host
:
"default"
},
getTiipCost
:{
url
:
"/bianalysis/costanalysis/"
,
method
:
"get"
,
host
:
"default"
},
//采购单进度
getTipProcessProgress
:{
url
:
"/pssubcontract/getlist/"
,
method
:
"post"
,
host
:
"default"
},
getTipProcurementProgress
:{
url
:
"/pbcontracthdr/"
,
method
:
"post"
,
host
:
"default"
},
};
};
export
default
methodMap
;
export
default
methodMap
;
src/libs/host.js
View file @
5da6d8f9
...
@@ -12,7 +12,7 @@ function urlFun(name){
...
@@ -12,7 +12,7 @@ function urlFun(name){
/**
/**
* 默认公司
* 默认公司
*/
*/
// default:`http://192.168.4.
39
:5001`,
// default:`http://192.168.4.
48
:5001`,
// default:`https://weixin.huansi.net/apiproxy/huansi/hszh_HSFabricTradeTest`,
// default:`https://weixin.huansi.net/apiproxy/huansi/hszh_HSFabricTradeTest`,
default
:
`https://weixin.huansi.net/apiproxy/huansi/service/proxy/
${
userID
}
`
,
default
:
`https://weixin.huansi.net/apiproxy/huansi/service/proxy/
${
userID
}
`
,
...
...
src/router/index.js
View file @
5da6d8f9
...
@@ -293,6 +293,45 @@ let tipRoutes = [
...
@@ -293,6 +293,45 @@ let tipRoutes = [
},
},
]
]
},
},
{
//订单进度查询
name
:
"main"
,
component
:()
=>
import
(
"@/view/main.vue"
),
path
:
"/main"
,
children
:[
{
path
:
"/tiip/checkProgress/procurement/list/:userId"
,
name
:
"tipProcurementProgress"
,
component
:()
=>
import
(
"@/view/tiip/checkProgress/procurement/list.vue"
),
meta
:{
title
:
"采购进度查询"
},
},
{
path
:
"/tiip/checkProgress/procurement/detail"
,
name
:
"tipProcurementProgressDetail"
,
component
:()
=>
import
(
"@/view/tiip/checkProgress/procurement/detail.vue"
),
meta
:{
title
:
"采购进度查询"
},
},
{
path
:
"/tiip/checkProgress/process/list/:userId"
,
name
:
"tipProcessProgress"
,
component
:()
=>
import
(
"@/view/tiip/checkProgress/process/list.vue"
),
meta
:{
title
:
"加工进度查询"
},
},
{
path
:
"/tiip/checkProgress/process/detail"
,
name
:
"tipProcessProgressDetail"
,
component
:()
=>
import
(
"@/view/tiip/checkProgress/process/detail.vue"
),
meta
:{
title
:
"加工进度查询"
},
},
]
},
];
];
let
shopVersionRoutes
=
[
let
shopVersionRoutes
=
[
...
...
src/store/index.js
View file @
5da6d8f9
...
@@ -5,6 +5,7 @@ import app from './modules/app';
...
@@ -5,6 +5,7 @@ import app from './modules/app';
import
searchOrder
from
'./modules/tiip/searchOrder'
;
import
searchOrder
from
'./modules/tiip/searchOrder'
;
import
profitAnalysis
from
'./modules/tiip/profitAnalysis'
;
import
profitAnalysis
from
'./modules/tiip/profitAnalysis'
;
import
kanban
from
'./modules/tiip/kanban'
;
import
kanban
from
'./modules/tiip/kanban'
;
import
checkProgress
from
'./modules/tiip/checkProgress'
;
Vue
.
use
(
Vuex
);
Vue
.
use
(
Vuex
);
...
@@ -20,7 +21,8 @@ const store = new Vuex.Store({
...
@@ -20,7 +21,8 @@ const store = new Vuex.Store({
app
,
app
,
searchOrder
,
searchOrder
,
profitAnalysis
,
profitAnalysis
,
kanban
kanban
,
checkProgress
}
}
});
});
...
...
src/store/modules/tiip/checkProgress.js
0 → 100644
View file @
5da6d8f9
import
Util
from
'@/libs/util'
;
import
Vue
from
'vue'
;
const
obj
=
{
state
:
{
hdr
:{},
dtl
:{}
},
mutations
:
{
saveCheckProgressHdr
(
state
,
data
){
state
.
hdr
[
data
.
type
]
=
data
.
row
;
},
saveCheckProgressDtl
(
state
,
data
){
state
.
dtl
[
data
.
type
]
=
data
.
row
;
}
},
actions
:
{
saveCheckProgressHdr
({
commit
},
data
){
commit
(
'saveCheckProgressHdr'
,
data
);
},
saveCheckProgressDtl
({
commit
},
data
){
commit
(
'saveCheckProgressDtl'
,
data
);
}
}
};
export
default
obj
;
src/styles/iconfont.less
View file @
5da6d8f9
...
@@ -562,4 +562,8 @@
...
@@ -562,4 +562,8 @@
.icon-lirunfenxi:before{
.icon-lirunfenxi:before{
content: "\d676";
content: "\d676";
}
.icon-jiagongjindu:before{
content: "\d70c";
}
}
\ No newline at end of file
src/view/tiip/checkProgress/process/detail.vue
0 → 100644
View file @
5da6d8f9
<
style
lang=
"less"
>
#tipProcessProgressDetail{
height:100%;
display:flex;
flex-direction: column;
background: #f2f2f2;
.CONTENT{
.basic{
background: #dfe9fd;
padding-left:5px;
.Title{
height:40px;
display: flex;
align-items: center;
color:#5E9AFE;
font-weight: bold;
}
}
.Info{
border-top:1px solid #dbe9f8;
display: flex;
flex-wrap: wrap;
margin-top: 0px;
font-size:12px;
>div{
display: flex;
width: 100%;
min-height:40px;
>div{
display: flex;
width:100%;
min-height:40px;
>div{
display: flex;
align-items: center;
box-sizing: content-box;
flex:1;
height:100%;
>span{
height:100%;
min-width:80px;
text-align: center;
border-right:1px solid #dbe9f8;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
border-bottom:1px solid #dbe9f8;
color:#586e86;
font-weight: bold;
background: #eef4fe;
}
>div{
height:100%;
width:100%;
display: flex;
flex-wrap: wrap;
>div{
height:100%;
width:100%;
background:white;
align-items: center;
display:inline-flex;
// padding:0 5px 0 0;
>div:first-child{
height:100%;
border-bottom:1px solid #dbe9f8;
border-right:1px solid #dbe9f8;
box-sizing: border-box;
}
>div{
flex:1;
padding-left:5px;
display: flex;
align-items: center;
>span{
width:70px;
display: inline-block;
}
}
}
}
}
}
}
}
}
.marginBottom10{
margin-bottom: 10px;
}
}
</
style
>
<
template
>
<div
id=
"tipProcessProgressDetail"
>
<div
v-for=
"(item,index) in hdr.process.child"
:key=
'index'
class=
"marginBottom10"
>
<div
class=
"CONTENT"
v-for=
"(v1,i1) in list"
:key=
'i1'
>
<div
class=
"basic"
>
<div
class=
"Title"
>
<span>
{{
v1
.
title
}}
</span>
</div>
</div>
<div
class=
"Info"
>
<div
v-for=
"(v2,i2) in v1.child"
:key=
'i2'
>
<div
v-for=
"(v3,i3) in v2.child"
:key=
"i3"
>
<div>
<span>
{{
v3
.
sFieldCaption
}}
</span>
<div>
<div>
<div>
{{
item
[
v3
.
sFieldName
]
}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
Util
from
'@/libs/util.js'
import
{
mapState
}
from
'vuex'
export
default
{
name
:
'tipProcessProgressDetail'
,
data
(){
return
{
list
:[],
DATA
:{}
}
},
computed
:{
...
mapState
({
hdr
:
state
=>
state
.
checkProgress
.
hdr
,
dtl
:
state
=>
state
.
checkProgress
.
dtl
.
process
})
},
async
mounted
(){
},
async
activated
(){
window
.
d
=
this
;
// await this.getDetail();
await
this
.
formatData
();
},
methods
:{
async
getDetail
(){
let
result
=
await
this
.
request
(
'getTipProcessProgress'
,{
data
:[
{
key
:
'url'
,
value
:
'Processing schedule Dtl'
},
{
key
:
'uGUID'
,
value
:
this
.
hdr
.
process
.
uGUID
}
]
},
true
);
if
(
result
&&
result
.
length
>
0
){
this
.
$store
.
dispatch
(
'saveCheckProgressDtl'
,{
type
:
'process'
,
row
:
result
});
}
},
formatData
(){
this
.
list
=
[
{
title
:
'基本信息'
,
child
:[
{
child
:[
{
sFieldCaption
:
'产品编码'
,
sFieldName
:
'sSampleMaterialNo'
},
{
sFieldCaption
:
'产品名称'
,
sFieldName
:
'sMaterialNameSample'
},
]
},
{
child
:[
{
sFieldCaption
:
'加工序号'
,
sFieldName
:
'iOrderNo'
},
{
sFieldCaption
:
'色号'
,
sFieldName
:
'sColorNo'
},
]
},
{
child
:[
{
sFieldCaption
:
'颜色'
,
sFieldName
:
'sColorName'
},
{
sFieldCaption
:
'加工色号'
,
sFieldName
:
'sProviderColorNo'
},
]
},
{
child
:[
{
sFieldCaption
:
'坯布规格'
,
sFieldName
:
'sYarnInfo'
},
{
sFieldCaption
:
'产品规格'
,
sFieldName
:
'sConstruction'
},
]
},
{
child
:[
{
sFieldCaption
:
'订单数量'
,
sFieldName
:
'nQtyOrder'
},
{
sFieldCaption
:
'订单单位'
,
sFieldName
:
'sUnitNameOrder'
},
]
},
{
child
:[
{
sFieldCaption
:
'成品数'
,
sFieldName
:
'nQty'
},
{
sFieldCaption
:
'匹数'
,
sFieldName
:
'nPieces'
},
]
}
]
},
{
title
:
'投坯信息'
,
child
:[
{
child
:[
{
sFieldCaption
:
'理论损耗'
,
sFieldName
:
'nWastagePercent'
},
{
sFieldCaption
:
'理论投坯数'
,
sFieldName
:
'nProductQty'
},
]
},
{
child
:[
{
sFieldCaption
:
'实际投坯数'
,
sFieldName
:
'nFactProductQty'
},
{
sFieldCaption
:
'待投坯数量'
,
sFieldName
:
'nLessFactProductQty'
},
]
},
{
child
:[
{
sFieldCaption
:
'实际投坯匹数'
,
sFieldName
:
'nFactProductPieces'
},
{
sFieldCaption
:
'投坯时间'
,
sFieldName
:
'tProductOutTime'
},
]
},
{
child
:[
{
sFieldCaption
:
'落布数量'
,
sFieldName
:
'nDropClothQty'
},
{
sFieldCaption
:
'落布比例'
,
sFieldName
:
'nInputQtyRate'
},
]
},
{
child
:[
{
sFieldCaption
:
'落布时间'
,
sFieldName
:
'tDropInTime'
}
]
}
]
},
{
title
:
'出入库信息'
,
child
:[
{
child
:[
{
sFieldCaption
:
'已入库数'
,
sFieldName
:
'nDeliveriedQty'
},
{
sFieldCaption
:
'已入库匹数'
,
sFieldName
:
'nDeliveriedPieces'
},
]
},
{
child
:[
{
sFieldCaption
:
'待入库匹数'
,
sFieldName
:
'nLessDeliveriedPieces'
},
{
sFieldCaption
:
'待入库数量'
,
sFieldName
:
'nLessDeliveriedQty'
},
]
},
{
child
:[
{
sFieldCaption
:
'已出库数'
,
sFieldName
:
'nOutQty'
},
{
sFieldCaption
:
'已出库匹数'
,
sFieldName
:
'nOutPieces'
},
]
},
{
child
:[
{
sFieldCaption
:
'待出库匹数'
,
sFieldName
:
'nLessOutPieces'
},
{
sFieldCaption
:
'生产匹数'
,
sFieldName
:
'nProducePieces'
},
]
},
{
child
:[
{
sFieldCaption
:
'待生产匹数'
,
sFieldName
:
'nLessProducePieces'
},
{
sFieldCaption
:
'回修数量'
,
sFieldName
:
'nReturnQty'
},
]
}
]
}
]
}
},
components
:{
},
}
</
script
>
src/view/tiip/checkProgress/process/list.vue
0 → 100644
View file @
5da6d8f9
<
style
lang=
"less"
>
#tipProcessProgress{
height:100%;
background:#eef4fe;
display:flex;
flex-direction: column;
/deep/ .weui-cell_access .weui-cell__ft:after{
height: 10px;
width: 10px;
margin-top: -4px;
right: 0;
}
.Table{
flex-grow: 1;
height:1px;
overflow: auto;
}
}
</
style
>
<
template
>
<div
id=
"tipProcessProgress"
>
<div
class=
"header"
>
<searchComponent
placeholder=
"请输入订单号/合同号/供应商/客户..."
:search=
"search"
:typeList=
"typeList"
:status=
"status"
/>
</div>
<div
class=
"Table"
>
<customerTable
:columns=
"columns"
:list=
"list"
:tableStyle=
"tableStyle"
></customerTable>
</div>
</div>
</
template
>
<
script
>
import
Util
from
'@/libs/util.js'
import
searchComponent
from
'@/components/search'
import
customerTable
from
'@/components/Table'
export
default
{
name
:
'tipProcessProgress'
,
data
()
{
return
{
search
:{
dBeginDate
:
Util
.
dateFormat
(
new
Date
(),
'yyyy-MM-01'
),
dEndDate
:
Util
.
dateFormat
(
new
Date
(),
'yyyy-MM-dd'
),
// page:1,
// per_page:30,
sStatus
:
'全部'
},
list
:[],
columns
:[
{
width
:
'100px'
,
name
:
'加工单号'
,
align
:
'center'
,
field
:
'sContractNoHTML'
,
underline
:
true
,
color
:
'#2d8cf0'
,
fixed
:
true
,
fixedLeftWidth
:
'0px'
},
{
width
:
'100px'
,
name
:
'加工商'
,
align
:
'center'
,
field
:
'sProviderName'
,
},
{
width
:
'100px'
,
name
:
'加工工艺'
,
align
:
'center'
,
field
:
'sProduceArtInfo'
},
{
width
:
'100px'
,
name
:
'总数量'
,
align
:
'center'
,
field
:
'nQty'
,
},
{
width
:
'100px'
,
name
:
'总金额'
,
align
:
'center'
,
field
:
'nDtlAmount'
},
{
width
:
'100px'
,
name
:
'订单号'
,
align
:
'center'
,
field
:
'sOrderNo'
},
{
width
:
'100px'
,
name
:
'客户名称'
,
align
:
'center'
,
field
:
'sCustomerName'
},
{
width
:
'100px'
,
name
:
'订单总数量'
,
align
:
'center'
,
field
:
'nQtyOrder'
},
{
width
:
'100px'
,
name
:
'销售员'
,
align
:
'center'
,
field
:
'sSalesName'
},
{
width
:
'100px'
,
name
:
'状态'
,
align
:
'center'
,
field
:
'sStatus'
},
{
width
:
'100px'
,
name
:
'已入库数量'
,
align
:
'center'
,
field
:
'nDeliveriedQty'
},
{
width
:
'100px'
,
name
:
'已入库匹数'
,
align
:
'center'
,
field
:
'nDeliveriedPieces'
}
],
tableStyle
:{
theadBgColor
:
'rgba(223,238,253,1)'
,
complexTrBgColor
:
'white'
,
singleTrBgColor
:
'#eef4fe'
,
theadTdBorder
:
false
,
tbodyTdBorder
:
false
,
tbodyHeight
:
'calc(100vh - 120px)'
,
tbodyTrBorderBottom
:
'1px solid #dbe9f8'
,
width
:
'1200px'
},
status
:[],
row
:{},
typeList
:{
input
:
true
,
select
:
true
,
btns
:
true
,
time
:
true
},
}
},
async
mounted
(){
await
this
.
getStatus
();
await
this
.
getHdr
();
this
.
$store
.
dispatch
(
'saveUserId'
,
this
.
$route
.
params
.
userId
);
},
async
activated
(){
window
.
d
=
this
;
this
.
global
.
$off
(
'searchData'
);
this
.
global
.
$off
(
'scrollTable'
);
this
.
global
.
$off
(
'clickTd'
);
//查询条件触发加载
this
.
global
.
$on
(
'searchData'
,
async
()
=>
{
await
this
.
cleanSearch
();
await
this
.
getHdr
();
});
//滚动加载
// this.global.$on('scrollTable',async ()=>{
// this.getHdr(true);
// })
//点击表格列触发
this
.
global
.
$on
(
'clickTd'
,
async
(
res
)
=>
{
this
.
row
=
this
.
list
[
res
.
trIndex
];
this
.
routerToDetail
();
})
},
methods
:{
async
getStatus
(){
let
res
=
await
this
.
request
(
`getTipProcessProgress`
,{
data
:[{
key
:
'url'
,
value
:
'sStatus'
}]
},
true
);
this
.
status
=
res
;
this
.
status
.
unshift
({
sStatus
:
'全部'
})
},
async
getHdr
(
flag
){
if
(
!
this
.
search
.
searchvalue
){
this
.
$vux
.
toast
.
text
(
'请输入订单号查询!'
,
'middle'
)
return
false
;
}
let
data
=
Util
.
deepClone
(
this
.
search
);
let
postData
=
[
{
key
:
'url'
,
value
:
'Processing schedule'
}
]
let
{
keys
,
values
,
entries
}
=
Object
;
for
(
let
[
key
,
value
]
of
entries
(
data
)){
if
(
key
==
'sStatus'
){
if
(
value
!=
'全部'
){
postData
.
push
({
key
:
key
,
value
:
value
||
''
})
}
}
else
if
(
key
==
'dBeginDate'
){
postData
.
push
({
key
:
key
,
value
:
value
||
''
})
}
else
if
(
key
==
'dEndDate'
){
postData
.
push
({
key
:
key
,
value
:
value
+
' 23:59:59'
||
''
})
}
else
if
(
key
==
'searchvalue'
){
postData
.
push
({
key
:
'searchname'
,
value
:
value
})
}
else
{
postData
.
push
({
key
:
key
,
value
:
value
||
''
})
}
}
let
res
=
await
this
.
request
(
'getTipProcessProgress'
,{
data
:
postData
,
params
:{}
},
'加载中'
)
// if(res.length > 0){
res
.
map
(
y
=>
{
y
.
sContractNoHTML
=
`<div><span style="text-decoration:underline;">
${
y
.
sContractNo
}
</span></div>`
;
y
.
child
.
map
(
x
=>
{
x
.
nInputQtyRate
=
(
x
.
nInputQtyRate
*
100
).
toFixed
(
2
)
+
'%'
;
x
.
tDropInTime
=
!!
x
.
tDropInTime
?
Util
.
dateFormat
(
x
.
tDropInTime
,
'yyyy-MM-dd'
)
:
''
;
x
.
tProductOutTime
=
!!
x
.
tProductOutTime
?
Util
.
dateFormat
(
x
.
tProductOutTime
,
'yyyy-MM-dd'
)
:
''
;
})
});
if
(
flag
){
this
.
list
=
this
.
list
.
concat
(
res
);
}
else
{
this
.
list
=
res
;
}
// this.search.page++;
// this.search.per_page = res.table.length;
// }
},
cleanSearch
(){
// this.search.page = 1;
// this.search.per_page = 30;
this
.
list
=
[];
},
async
routerToDetail
(){
console
.
log
(
this
.
row
.
sProduceArtInfo
)
this
.
$store
.
dispatch
(
'saveCheckProgressHdr'
,{
type
:
'process'
,
row
:
this
.
row
});
this
.
$router
.
push
({
name
:
'tipProcessProgressDetail'
})
},
},
components
:{
searchComponent
,
customerTable
},
}
</
script
>
src/view/tiip/checkProgress/procurement/detail.vue
0 → 100644
View file @
5da6d8f9
<
style
lang=
"less"
>
#tipProcurementProgressDetail{
height:100%;
display:flex;
flex-direction: column;
background: #f2f2f2;
.CONTENT{
.basic{
background: #dfe9fd;
padding-left:5px;
.Title{
height:40px;
display: flex;
align-items: center;
color:#5E9AFE;
font-weight: bold;
}
}
.Info{
border-top:1px solid #dbe9f8;
display: flex;
flex-wrap: wrap;
margin-top: 0px;
font-size:12px;
>div{
display: flex;
width: 100%;
min-height:40px;
>div{
display: flex;
width:100%;
min-height:40px;
>div{
display: flex;
align-items: center;
box-sizing: content-box;
flex:1;
height:100%;
>span{
height:100%;
min-width:80px;
text-align: center;
border-right:1px solid #dbe9f8;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
border-bottom:1px solid #dbe9f8;
color:#586e86;
font-weight: bold;
background: #eef4fe;
}
>div{
height:100%;
width:100%;
display: flex;
flex-wrap: wrap;
>div{
height:100%;
width:100%;
background:white;
align-items: center;
display:inline-flex;
// padding:0 5px 0 0;
>div:first-child{
height:100%;
border-bottom:1px solid #dbe9f8;
border-right:1px solid #dbe9f8;
box-sizing: border-box;
}
>div{
flex:1;
padding-left:5px;
display: flex;
align-items: center;
>span{
width:70px;
display: inline-block;
}
}
}
}
}
}
}
}
}
.marginBottom10{
margin-bottom: 10px;
}
}
</
style
>
<
template
>
<div
id=
"tipProcurementProgressDetail"
>
<div
v-for=
"(item,index) in hdr.procurement.child"
:key=
'index'
class=
"marginBottom10"
>
<div
class=
"CONTENT"
v-for=
"(v1,i1) in list"
:key=
'i1'
>
<div
class=
"basic"
>
<div
class=
"Title"
>
<span>
{{
v1
.
title
}}
</span>
</div>
</div>
<div
class=
"Info"
>
<div
v-for=
"(v2,i2) in v1.child"
:key=
'i2'
>
<div
v-for=
"(v3,i3) in v2.child"
:key=
"i3"
>
<div>
<span>
{{
v3
.
sFieldCaption
}}
</span>
<div>
<div>
<div>
{{
item
[
v3
.
sFieldName
]
}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
Util
from
'@/libs/util.js'
import
{
mapState
}
from
'vuex'
export
default
{
name
:
'tipProcurementProgressDetail'
,
data
(){
return
{
list
:[],
DATA
:{}
}
},
computed
:{
...
mapState
({
hdr
:
state
=>
state
.
checkProgress
.
hdr
,
dtl
:
state
=>
state
.
checkProgress
.
dtl
.
procurement
})
},
async
mounted
(){
},
async
activated
(){
window
.
d
=
this
;
// await this.getDetail();
await
this
.
formatData
();
},
methods
:{
async
getDetail
(){
let
result
=
await
this
.
request
(
'getTipProcurementProgress'
,{
data
:[
{
key
:
'url'
,
value
:
'Procurement progress Dtl'
},
{
key
:
'uGUID'
,
value
:
this
.
hdr
.
procurement
.
uGUID
}
]
},
true
);
if
(
result
&&
result
.
length
>
0
){
this
.
$store
.
dispatch
(
'saveCheckProgressDtl'
,{
type
:
'procurement'
,
row
:
result
});
}
},
formatData
(){
this
.
list
=
[
{
title
:
'基本信息'
,
child
:[
{
child
:[
{
sFieldCaption
:
'物料编号'
,
sFieldName
:
'sMaterialNo'
},
{
sFieldCaption
:
'物料名称'
,
sFieldName
:
'sMaterialName'
},
]
},
{
child
:[
{
sFieldCaption
:
'规格'
,
sFieldName
:
'sConstruction'
},
{
sFieldCaption
:
'坯布规格'
,
sFieldName
:
'sYarnInfo'
},
]
},
{
child
:[
{
sFieldCaption
:
'坯布组织'
,
sFieldName
:
'sRawConstruction'
},
{
sFieldCaption
:
'批次'
,
sFieldName
:
'sMaterialLot'
},
]
},
{
child
:[
{
sFieldCaption
:
'加工商物料'
,
sFieldName
:
'sProviderMaterialNo'
},
{
sFieldCaption
:
'数量'
,
sFieldName
:
'nQty'
},
]
},
{
child
:[
{
sFieldCaption
:
'单位'
,
sFieldName
:
'sUnitName'
},
{
sFieldCaption
:
'匹数'
,
sFieldName
:
'nPieces'
},
]
},
{
child
:[
{
sFieldCaption
:
'溢装'
,
sFieldName
:
'nOverPercent'
},
{
sFieldCaption
:
'短装'
,
sFieldName
:
'nShortPercent'
},
]
},
{
child
:[
{
sFieldCaption
:
'已交货数量'
,
sFieldName
:
'nDeliveriedQty'
},
{
sFieldCaption
:
'已交货匹数'
,
sFieldName
:
'nDeliveriedPieces'
},
]
},
{
child
:[
{
sFieldCaption
:
'欠数'
,
sFieldName
:
'nLessQty'
},
{
sFieldCaption
:
'落布数量'
,
sFieldName
:
'nDropClothQty'
},
]
},
{
child
:[
{
sFieldCaption
:
'最后入库日期'
,
sFieldName
:
'dLastStoreInTime'
},
]
}
]
}
]
}
},
components
:{
},
}
</
script
>
src/view/tiip/checkProgress/procurement/list.vue
0 → 100644
View file @
5da6d8f9
<
style
lang=
"less"
>
#tipProcurementProgress{
height:100%;
background:#eef4fe;
display:flex;
flex-direction: column;
/deep/ .weui-cell_access .weui-cell__ft:after{
height: 10px;
width: 10px;
margin-top: -4px;
right: 0;
}
.Table{
flex-grow: 1;
height:1px;
overflow: auto;
}
}
</
style
>
<
template
>
<div
id=
"tipProcurementProgress"
>
<div
class=
"header"
>
<searchComponent
placeholder=
"请输入订单号/合同号/供应商/客户..."
:search=
"search"
:typeList=
"typeList"
:status=
"status"
/>
</div>
<div
class=
"Table"
>
<customerTable
:columns=
"columns"
:list=
"list"
:tableStyle=
"tableStyle"
></customerTable>
</div>
</div>
</
template
>
<
script
>
import
Util
from
'@/libs/util.js'
import
searchComponent
from
'@/components/search'
import
customerTable
from
'@/components/Table'
export
default
{
name
:
'tipProcurementProgress'
,
data
()
{
return
{
search
:{
dBeginDate
:
Util
.
dateFormat
(
new
Date
(),
'yyyy-MM-01'
),
dEndDate
:
Util
.
dateFormat
(
new
Date
(),
'yyyy-MM-dd'
),
// page:1,
// per_page:30,
sStatus
:
'全部'
},
list
:[],
columns
:[
{
width
:
'100px'
,
name
:
'合同号'
,
align
:
'center'
,
field
:
'sContractNoHTML'
,
underline
:
true
,
color
:
'#2d8cf0'
,
fixed
:
true
,
fixedLeftWidth
:
'0px'
},
{
width
:
'100px'
,
name
:
'供应商'
,
align
:
'center'
,
field
:
'sProviderName'
,
},
{
width
:
'100px'
,
name
:
'总数量'
,
align
:
'center'
,
field
:
'nQty'
,
},
{
width
:
'100px'
,
name
:
'总金额'
,
align
:
'center'
,
field
:
'nTotalAmount'
},
{
width
:
'100px'
,
name
:
'订单号'
,
align
:
'center'
,
field
:
'sOrderNo'
},
{
width
:
'100px'
,
name
:
'客户名称'
,
align
:
'center'
,
field
:
'sCustomerName'
},
{
width
:
'100px'
,
name
:
'订单总数量'
,
align
:
'center'
,
field
:
'nQtyOrder'
},
{
width
:
'100px'
,
name
:
'销售员'
,
align
:
'center'
,
field
:
'sSalesName'
},
{
width
:
'100px'
,
name
:
'状态'
,
align
:
'center'
,
field
:
'sStatus'
},
{
width
:
'100px'
,
name
:
'已交货数量'
,
align
:
'center'
,
field
:
'nDeliveriedQty'
},
{
width
:
'100px'
,
name
:
'已交货匹数'
,
align
:
'center'
,
field
:
'nDeliveriedPieces'
}
],
tableStyle
:{
theadBgColor
:
'rgba(223,238,253,1)'
,
complexTrBgColor
:
'white'
,
singleTrBgColor
:
'#eef4fe'
,
theadTdBorder
:
false
,
tbodyTdBorder
:
false
,
tbodyHeight
:
'calc(100vh - 120px)'
,
tbodyTrBorderBottom
:
'1px solid #dbe9f8'
,
width
:
'1100px'
},
status
:[],
row
:{},
typeList
:{
input
:
true
,
select
:
true
,
btns
:
true
,
time
:
true
},
}
},
async
mounted
(){
await
this
.
getStatus
();
await
this
.
getHdr
();
this
.
$store
.
dispatch
(
'saveUserId'
,
this
.
$route
.
params
.
userId
);
},
async
activated
(){
window
.
d
=
this
;
this
.
global
.
$off
(
'searchData'
);
this
.
global
.
$off
(
'scrollTable'
);
this
.
global
.
$off
(
'clickTd'
);
//查询条件触发加载
this
.
global
.
$on
(
'searchData'
,
async
()
=>
{
await
this
.
cleanSearch
();
await
this
.
getHdr
();
});
//滚动加载
// this.global.$on('scrollTable',async ()=>{
// this.getHdr(true);
// })
//点击表格列触发
this
.
global
.
$on
(
'clickTd'
,
async
(
res
)
=>
{
this
.
row
=
this
.
list
[
res
.
trIndex
];
this
.
routerToDetail
();
})
},
methods
:{
async
getStatus
(){
let
res
=
await
this
.
request
(
`getTipProcurementProgress`
,{
data
:[{
key
:
'url'
,
value
:
'sStatus'
}]
},
true
);
this
.
status
=
res
;
this
.
status
.
unshift
({
sStatus
:
'全部'
})
},
async
getHdr
(
flag
){
if
(
!
this
.
search
.
searchvalue
){
this
.
$vux
.
toast
.
text
(
'请输入订单号查询!'
,
'middle'
)
return
false
;
}
let
data
=
Util
.
deepClone
(
this
.
search
);
let
postData
=
[
{
key
:
'url'
,
value
:
'Procurement progress'
}
]
let
{
keys
,
values
,
entries
}
=
Object
;
for
(
let
[
key
,
value
]
of
entries
(
data
)){
if
(
key
==
'sStatus'
){
if
(
value
!=
'全部'
){
postData
.
push
({
key
:
key
,
value
:
value
||
''
})
}
}
else
if
(
key
==
'dBeginDate'
){
postData
.
push
({
key
:
'begin_date'
,
value
:
value
||
''
})
}
else
if
(
key
==
'dEndDate'
){
postData
.
push
({
key
:
'end_date'
,
value
:
value
+
' 23:59:59'
||
''
})
}
else
if
(
key
==
'searchvalue'
){
postData
.
push
({
key
:
'searchname'
,
value
:
value
})
}
else
{
postData
.
push
({
key
:
key
,
value
:
value
||
''
})
}
}
let
res
=
await
this
.
request
(
'getTipProcurementProgress'
,{
data
:
postData
,
params
:{}
},
'加载中'
)
// if(res.length > 0){
res
.
map
(
y
=>
{
y
.
sContractNoHTML
=
`<div><span style="text-decoration:underline;">
${
y
.
sContractNo
}
</span></div>`
;
y
.
child
.
map
(
x
=>
{
x
.
dLastStoreInTime
=
!!
x
.
dLastStoreInTime
?
Util
.
dateFormat
(
x
.
dLastStoreInTime
,
'yyyy-MM-dd'
)
:
''
;
})
});
if
(
flag
){
this
.
list
=
this
.
list
.
concat
(
res
);
}
else
{
this
.
list
=
res
;
}
// this.search.page++;
// this.search.per_page = res.table.length;
// }
},
cleanSearch
(){
// this.search.page = 1;
// this.search.per_page = 30;
this
.
list
=
[];
},
async
routerToDetail
(){
this
.
$store
.
dispatch
(
'saveCheckProgressHdr'
,{
type
:
'procurement'
,
row
:
this
.
row
});
this
.
$router
.
push
({
name
:
'tipProcurementProgressDetail'
})
},
},
components
:{
searchComponent
,
customerTable
},
}
</
script
>
src/view/tiip/profitAnalysis/index.vue
View file @
5da6d8f9
...
@@ -171,7 +171,7 @@ export default {
...
@@ -171,7 +171,7 @@ export default {
})
})
data
.
sStatus
=
status
.
join
(
','
);
data
.
sStatus
=
status
.
join
(
','
);
}
}
data
.
se
rachvalue
==
''
&&
(
delete
data
.
sera
chvalue
);
data
.
se
archvalue
==
''
&&
(
delete
data
.
sear
chvalue
);
data
.
begin_date
=
data
.
dBeginDate
;
data
.
begin_date
=
data
.
dBeginDate
;
data
.
end_date
=
data
.
dEndDate
;
data
.
end_date
=
data
.
dEndDate
;
delete
data
.
dBeginDate
;
delete
data
.
dBeginDate
;
...
...
src/view/tiip/searchOrder/index.vue
View file @
5da6d8f9
...
@@ -190,7 +190,7 @@ export default {
...
@@ -190,7 +190,7 @@ export default {
})
})
data
.
sStatus
=
status
.
join
(
','
);
data
.
sStatus
=
status
.
join
(
','
);
}
}
data
.
se
rachvalue
==
''
&&
(
delete
data
.
sera
chvalue
);
data
.
se
archvalue
==
''
&&
(
delete
data
.
sear
chvalue
);
data
.
begin_date
=
data
.
dBeginDate
;
data
.
begin_date
=
data
.
dBeginDate
;
data
.
end_date
=
data
.
dEndDate
;
data
.
end_date
=
data
.
dEndDate
;
delete
data
.
dBeginDate
;
delete
data
.
dBeginDate
;
...
...
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