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
bb6d8801
Commit
bb6d8801
authored
Dec 27, 2019
by
godwithdh
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://47.110.145.204:8085/godwithdh/wx_h5
parents
af328873
165bc1cb
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
1289 additions
and
21 deletions
+1289
-21
search.vue
src/components/search.vue
+2
-2
apiMap.js
src/libs/apiMap.js
+4
-0
host.js
src/libs/host.js
+3
-3
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
index.vue
src/view/shopVersion/form/liabilities/index.vue
+43
-13
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 @
bb6d8801
...
@@ -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 @
bb6d8801
...
@@ -73,5 +73,9 @@ const methodMap = {
...
@@ -73,5 +73,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 @
bb6d8801
...
@@ -12,9 +12,9 @@ function urlFun(name){
...
@@ -12,9 +12,9 @@ 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 @
bb6d8801
...
@@ -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 @
bb6d8801
...
@@ -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 @
bb6d8801
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 @
bb6d8801
...
@@ -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/shopVersion/form/liabilities/index.vue
View file @
bb6d8801
...
@@ -2,9 +2,9 @@
...
@@ -2,9 +2,9 @@
@import url('../../../../styles/common.less');
@import url('../../../../styles/common.less');
#Liabilities{
#Liabilities{
background: #f6f5f9;
background: #f6f5f9;
//
height:100%;
height:100%;
//
display: flex;
display: flex;
//
flex-direction: column;
flex-direction: column;
.HEADER{
.HEADER{
display:flex;
display:flex;
padding:10px;
padding:10px;
...
@@ -26,15 +26,15 @@
...
@@ -26,15 +26,15 @@
.Content{
.Content{
height:100%;
height:100%;
//
height:1px;
height:1px;
//
flex-grow: 1;
flex-grow: 1;
//
overflow: auto;
overflow: auto;
//
-webkit-overflow-scrolling: touch;
-webkit-overflow-scrolling: touch;
margin-bottom:8px;
margin-bottom:8px;
>div{
>div{
display:flex;
display:flex;
align-items: center;
align-items: center;
&
:not(:last-child)
{
&{
>div{
>div{
border-bottom:1px solid #ddd;
border-bottom:1px solid #ddd;
}
}
...
@@ -57,7 +57,8 @@
...
@@ -57,7 +57,8 @@
>a{
>a{
flex-shrink: 0;
flex-shrink: 0;
padding: 18px 13px;
padding: 18px 13px;
&.iconfont{border-bottom: 1px solid #ddd;
&.iconfont{
border-bottom: 1px solid #ddd;
display: flex;
display: flex;
align-items: center;
align-items: center;
color: #FF7601;
color: #FF7601;
...
@@ -66,11 +67,27 @@
...
@@ -66,11 +67,27 @@
}
}
}
}
}
}
.img{
width:100%;
display: flex;
justify-content: center;
img{
width:100%;
height:300px;
}
}
}
}
</
style
>
</
style
>
<
template
>
<
template
>
<div
id=
"Liabilities"
>
<div
id=
"Liabilities"
>
<div
class=
"tabs"
>
<tab
:animate=
"false"
active-color=
"#708bf6"
>
<tab-item
:selected=
'Liabilities.activeTab == "0"'
@
on-item-click=
"changeLiabilitiesTab"
>
客户欠款
</tab-item>
<tab-item
:selected=
'Liabilities.activeTab == "1"'
@
on-item-click=
"changeLiabilitiesTab"
>
欠供应商款
</tab-item>
</tab>
</div>
<div
class=
"HEADER iCard"
>
<div
class=
"HEADER iCard"
>
<span
style=
"color:#777;margin-right:10rpx;"
>
总负债额
</span>
<span
style=
"color:#777;margin-right:10rpx;"
>
总负债额
</span>
<div
:style=
"
{'width':rate+'%','background':color}">
</div>
<div
:style=
"
{'width':rate+'%','background':color}">
</div>
...
@@ -83,7 +100,10 @@
...
@@ -83,7 +100,10 @@
<div
style=
"margin-bottom:10rpx;"
>
{{
item
.
sCustomerName
}}
</div>
<div
style=
"margin-bottom:10rpx;"
>
{{
item
.
sCustomerName
}}
</div>
<div
style=
"font-size:28rpx;color:#777;"
>
欠款:
{{
item
.
nAmount
}}
元
</div>
<div
style=
"font-size:28rpx;color:#777;"
>
欠款:
{{
item
.
nAmount
}}
元
</div>
</div>
</div>
<a
class=
"iconfont icon-dianhua"
:href=
"'tel:' + item.sTelephone01"
></a>
<a
class=
"iconfont icon-dianhua"
:href=
"'tel:' + item.sTelephone01"
v-if=
'Liabilities.activeTab == "0"'
></a>
</div>
<div
class=
"img"
v-if=
"list.length
<
=
0
"
>
<img
src=
"@/assets/noData.jpg"
class=
"_img"
alt=
""
>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -92,7 +112,7 @@
...
@@ -92,7 +112,7 @@
<
script
>
<
script
>
import
Util
from
'@/libs/util.js'
;
import
Util
from
'@/libs/util.js'
;
import
{
mapState
}
from
'vuex'
;
import
{
mapState
}
from
'vuex'
;
import
{
XProgress
}
from
'vux'
import
{
XProgress
,
Tab
,
TabItem
}
from
'vux'
export
default
{
export
default
{
name
:
'Liabilities'
,
name
:
'Liabilities'
,
...
@@ -102,10 +122,13 @@ export default {
...
@@ -102,10 +122,13 @@ export default {
total
:
0
,
total
:
0
,
rate
:
1110
,
rate
:
1110
,
color
:
''
,
color
:
''
,
Liabilities
:{
activeTab
:
'0'
}
}
}
},
},
components
:{
components
:{
XProgress
XProgress
,
Tab
,
TabItem
},
},
computed
:{
computed
:{
...
mapState
({
...
mapState
({
...
@@ -122,7 +145,9 @@ export default {
...
@@ -122,7 +145,9 @@ export default {
methods
:{
methods
:{
async
getData
(){
async
getData
(){
let
value
=
await
this
.
request
(
'getCipLiabilities'
,{
let
value
=
await
this
.
request
(
'getCipLiabilities'
,{
data
:{}
data
:{
sCustomerType
:
this
.
Liabilities
.
activeTab
==
0
?
'客户'
:
'供应商'
}
},
'加载中'
,{
iProjectId
:
this
.
iProjectId
});
},
'加载中'
,{
iProjectId
:
this
.
iProjectId
});
this
.
list
=
value
;
this
.
list
=
value
;
this
.
total
=
0
;
this
.
total
=
0
;
...
@@ -140,6 +165,11 @@ export default {
...
@@ -140,6 +165,11 @@ export default {
this
.
rate
>=
90
&&
(
this
.
color
=
"red"
)
this
.
rate
>=
90
&&
(
this
.
color
=
"red"
)
}
}
},
},
changeLiabilitiesTab
(
index
){
if
(
this
.
Liabilities
.
activeTab
==
index
)
return
false
;
this
.
Liabilities
.
activeTab
=
index
;
this
.
getData
();
},
routerToDetail
(
item
){
routerToDetail
(
item
){
this
.
$router
.
push
({
name
:
'LiabilitiesDetail'
,
params
:{
iCustomerId
:
item
.
iIden
}})
this
.
$router
.
push
({
name
:
'LiabilitiesDetail'
,
params
:{
iCustomerId
:
item
.
iIden
}})
}
}
...
...
src/view/tiip/checkProgress/process/detail.vue
0 → 100644
View file @
bb6d8801
<
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 @
bb6d8801
<
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 @
bb6d8801
<
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 @
bb6d8801
<
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 @
bb6d8801
...
@@ -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 @
bb6d8801
...
@@ -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