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
1d57409a
Commit
1d57409a
authored
Jan 10, 2020
by
godwithdh
Browse files
Options
Browse Files
Download
Plain Diff
往来单位
parents
d345fbb8
e63b5c7a
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
853 additions
and
204 deletions
+853
-204
Table.vue
src/components/Table.vue
+33
-3
host.js
src/libs/host.js
+2
-2
index.js
src/router/index.js
+2
-2
kanban.js
src/store/modules/tiip/kanban.js
+17
-3
index.vue
src/view/shopVersion/form/index.vue
+28
-5
index.vue
src/view/shopVersion/form/liabilities/index.vue
+0
-1
inventory.vue
src/view/tiip/chart/inventory.vue
+14
-4
abnormal.vue
src/view/tiip/kanban/abnormal.vue
+17
-8
index.vue
src/view/tiip/kanban/index.vue
+1
-1
operateCustomDetail.vue
src/view/tiip/kanban/operateCustomDetail.vue
+279
-46
operateDetail.vue
src/view/tiip/kanban/operateDetail.vue
+399
-63
operateSaleDetail.vue
src/view/tiip/kanban/operateSaleDetail.vue
+27
-4
index.vue
src/view/tiip/orderDetails/index.vue
+33
-61
index.vue
src/view/tiip/profitAnalysis/index.vue
+1
-1
No files found.
src/components/Table.vue
View file @
1d57409a
...
...
@@ -145,7 +145,7 @@
'background':index % 2 == 0 ? tableStyle.complexTrBgColor : tableStyle.singleTrBgColor,
'text-overflow': x.ellipsis ? 'ellipsis' : 'none',
'overflow': x.ellipsis ? 'hidden' : 'none',
'white-space': x.ellipsis ? 'no
rmal
' : 'none',
'white-space': x.ellipsis ? 'no
wrap
' : 'none',
'position': x.fixed ? 'sticky' : 'static',
'left':x.fixed ? x.fixedLeftWidth : 'none',
'border-left':tableStyle.tbodyTdBorder ? tableStyle.tbodyTrBorderBottom : '0px',
...
...
@@ -154,15 +154,18 @@
'word-break': 'break-all'
}"
@click="clickTd(i,index)"
v-html="item[x.field]"
>
<RENDER
v-if=
"x.render"
:item=
"item"
:index=
"index"
:columns=
"x"
></RENDER>
<span
v-if=
"!x.render"
v-html=
"item[x.field]"
></span>
</td>
</tr>
<slot></slot>
</div>
<div
class=
"_tfoot"
ref=
"tfoot"
@
scroll=
"scrollTFoot"
v-if=
"showFooter & footerData.length > 0"
>
<tr
v-for=
"(x,i) in footerData"
:key=
"i"
:style=
"
{'width':'100%','min-width':tableStyle.width}">
<tr
v-for=
"(x,i) in footerData"
:key=
"i"
:style=
"
{'width':'100%','min-width':tableStyle.width
,'min-height':'60px'
}">
<td
v-for=
"(item,index) in columns"
:key=
"index"
...
...
@@ -172,11 +175,13 @@
'min-width':item.width,
'background':tableStyle.theadBgColor,
'position': item.fixed ? 'sticky' : 'static',
'min-height':'60px',
'left':item.fixed ? item.fixedLeftWidth : 'none',
'border-top':tableStyle.theadTdBorder ? tableStyle.tbodyTrBorderBottom : '0px',
'border-left':tableStyle.theadTdBorder ? tableStyle.tbodyTrBorderBottom : '0px',
'border-bottom':tableStyle.theadTdBorder ? tableStyle.tbodyTrBorderBottom : '0px',
'border-right':(index == columns.length - 1
&&
tableStyle.theadTdBorder) ? tableStyle.tbodyTrBorderBottom : '0px',
'text-decoration':'none'
}"
v-html="x[item.field]"
>
...
...
@@ -193,6 +198,31 @@
<
script
>
import
Util
from
'@/libs/util.js'
import
Vue
from
'vue'
;
Vue
.
component
(
'RENDER'
,
{
render
:
function
(
createElement
)
{
let
self
=
this
;
return
this
.
columns
.
render
(
createElement
,{
row
:
this
.
item
,
index
:
this
.
index
});
},
props
:
{
columns
:
{
type
:
Object
,
required
:
true
},
item
:{
type
:
Object
,
required
:
true
},
index
:{
type
:
Number
,
required
:
true
}
}
})
export
default
{
name
:
'Table'
,
...
...
src/libs/host.js
View file @
1d57409a
...
...
@@ -12,9 +12,9 @@ function urlFun(name){
/**
* 默认公司
*/
// default:`http://192.168.4.2
:5001`,
default
:
`http://192.168.4.34
:5001`
,
// 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 @
1d57409a
...
...
@@ -239,11 +239,11 @@ let tipRoutes = [
path
:
'/main'
,
children
:[
{
path
:
'/tiip/orderDetails/list
/:type
'
,
path
:
'/tiip/orderDetails/list'
,
name
:
'orderDetailsIndex'
,
component
:()
=>
import
(
'@/view/tiip/orderDetails/index.vue'
),
meta
:{
title
:
'
采购信息
'
title
:
'
订单详情
'
}
},
]
...
...
src/store/modules/tiip/kanban.js
View file @
1d57409a
...
...
@@ -10,9 +10,14 @@ const obj = {
},
orderItem
:{},
warehouseDetail
:{},
customerItem
:{}
customerItem
:{},
kanban
:{},
orderDetail
:{}
},
mutations
:
{
saveKanban
(
state
,
data
){
state
.
kanban
[
data
.
type
]
=
data
.
item
;
},
saveKanbanHdr
(
state
,
data
){
state
.
hdr
=
data
;
},
...
...
@@ -24,9 +29,15 @@ const obj = {
},
saveCustomerItem
(
state
,
data
){
state
.
customerItem
=
data
;
}
},
saveKanbanOrderDetail
(
state
,
data
){
state
.
orderDetail
=
data
;
},
},
actions
:
{
saveKanban
({
commit
},
data
){
commit
(
'saveKanban'
,
data
);
},
saveKanbanHdr
({
commit
},
data
){
commit
(
'saveKanbanHdr'
,
data
);
},
...
...
@@ -38,7 +49,10 @@ const obj = {
},
saveCustomerItem
({
commit
},
data
){
commit
(
'saveCustomerItem'
,
data
);
}
},
saveKanbanOrderDetail
({
commit
},
data
){
commit
(
'saveKanbanOrderDetail'
,
data
);
},
}
};
...
...
src/view/shopVersion/form/index.vue
View file @
1d57409a
...
...
@@ -124,15 +124,18 @@
</div>
<div
class=
"TAB"
>
<button-tab
class=
"buttonTab"
:value=
"activeBtn"
>
<button-tab-item
@
on-item-click=
"
situation='salesStatistics'
"
>
销售统计
</button-tab-item>
<button-tab-item
@
on-item-click=
"
situation='empAna'
"
>
员工排行
</button-tab-item>
<button-tab-item
@
on-item-click=
"
situation='liabilities'
"
>
负债分析
</button-tab-item>
<button-tab-item
@
on-item-click=
"
situation='custom'
"
>
账单分析
</button-tab-item>
<button-tab-item
@
on-item-click=
"
situation='income'
"
>
收支分析
</button-tab-item>
<button-tab-item
@
on-item-click=
"
changeTab
"
>
销售统计
</button-tab-item>
<button-tab-item
@
on-item-click=
"
changeTab
"
>
员工排行
</button-tab-item>
<button-tab-item
@
on-item-click=
"
changeTab
"
>
负债分析
</button-tab-item>
<button-tab-item
@
on-item-click=
"
changeTab
"
>
账单分析
</button-tab-item>
<button-tab-item
@
on-item-click=
"
changeTab
"
>
收支分析
</button-tab-item>
</button-tab>
</div>
<div
class=
"CONTENT"
>
<keep-alive>
<component
:is=
"situation"
/>
</keep-alive>
</div>
</div>
</
template
>
...
...
@@ -172,6 +175,26 @@ export default {
await
this
.
getData
();
},
methods
:{
changeTab
(
index
){
switch
(
index
){
case
0
:
this
.
situation
=
'salesStatistics'
;
break
;
case
1
:
this
.
situation
=
'empAna'
;
break
;
case
2
:
this
.
situation
=
'liabilities'
;
break
;
case
3
:
this
.
situation
=
'custom'
;
break
;
case
4
:
this
.
situation
=
'income'
;
break
;
}
},
async
getData
(){
let
res
=
await
this
.
request
(
'getCipTotalamount'
,{
data
:{}
...
...
src/view/shopVersion/form/liabilities/index.vue
View file @
1d57409a
...
...
@@ -140,7 +140,6 @@ export default {
await
this
.
getData
();
},
async
activated
(){
},
methods
:{
async
getData
(){
...
...
src/view/tiip/chart/inventory.vue
View file @
1d57409a
...
...
@@ -74,15 +74,15 @@
<div
class=
"iCard"
v-for=
"(item,index) in chartData"
:key=
"index"
@
click=
"routerToWarehouseDetail(item)"
>
<div
class=
"warehouse"
:style=
"
{'color':'white'}">
{{
item
.
sStoreName
}}
</div>
<div
class=
"TITLE"
>
<span>
单位
</span>
<span>
总匹数
</span>
<span>
总数量
</span>
<span>
总匹数
</span>
<span>
单位
</span>
</div>
<div
class=
"unit"
v-for=
"(v,i) in item.child"
:key=
"i"
>
<div
class=
"ITEM"
>
<span>
{{
v
.
sUnit
}}
</span>
<span
style=
"color:#8a8a8a;"
>
{{
Number
(
v
.
nStockPieceQty
).
toLocaleString
()
}}
</span>
<span
style=
"color:#8a8a8a;"
>
{{
Number
(
v
.
nQty
).
toLocaleString
()
}}
</span>
<span
style=
"color:#8a8a8a;"
>
{{
Number
(
v
.
nStockPieceQty
).
toLocaleString
()
}}
</span>
<span>
{{
v
.
sUnit
}}
</span>
</div>
</div>
</div>
...
...
@@ -191,6 +191,9 @@ export default {
await
this
.
renderChart
();
})
},
activated
(){
document
.
getElementsByClassName
(
'content'
)[
0
].
scrollTo
(
0
,
this
.
$store
.
state
.
kanban
.
kanban
.
inventory
.
scrollTop
)
},
methods
:{
renderResize
()
{
// 判断横竖屏
...
...
@@ -339,6 +342,13 @@ export default {
// if(res.hasOwnProperty('set2')) this.list = res.set2;
},
routerToWarehouseDetail
(
item
){
this
.
$store
.
dispatch
(
'saveKanban'
,{
type
:
'inventory'
,
item
:{
scrollTop
:
document
.
getElementsByClassName
(
'content'
)[
0
].
scrollTop
}
});
this
.
$store
.
dispatch
(
'saveWarehouseDetail'
,
item
);
this
.
$router
.
push
({
name
:
'tiipChartWarehouseDetail'
});
}
...
...
src/view/tiip/kanban/abnormal.vue
View file @
1d57409a
...
...
@@ -35,13 +35,13 @@
<div
class=
"abnormal"
>
<table
cellspacing=
"0"
>
<tr>
<td
style=
"width:100px;"
>
<td
style=
"width:100px;"
@
click=
"routerPushOperateDetail('销售退货')"
>
<div>
销售退货
</div>
</td>
<td>
<div>
{{
Number
(
value
[
'销售退货'
]
||
0
).
toLocaleString
()
}}
</div>
</td>
<td
style=
"width:100px;"
>
<td
style=
"width:100px;"
@
click=
"routerPushOperateDetail('采购退货')"
>
<div>
采购退货
</div>
</td>
<td>
...
...
@@ -49,13 +49,13 @@
</td>
</tr>
<tr>
<td>
<td
@
click=
"routerPushOperateDetail('加工回修')"
>
<div>
加工回修
</div>
</td>
<td>
<div>
{{
Number
(
value
[
'加工回修'
]
||
0
).
toLocaleString
()
}}
</div>
</td>
<td>
<td
@
click=
"routerPushOperateDetail('疵品汇总')"
>
<div>
疵品数量
</div>
</td>
<td>
...
...
@@ -80,13 +80,13 @@
</td>
</tr>
<tr>
<td>
<td
@
click=
"routerPushOperateDetail('供应商索赔')"
>
<div>
供应商赔款
</div>
</td>
<td>
<div>
{{
Number
(
value
[
'供应商索赔'
]
||
0
).
toLocaleString
()
}}
</div>
</td>
<td>
<td
@
click=
"routerPushOperateDetail('客户索赔')"
>
<div>
客户赔款
</div>
</td>
<td>
...
...
@@ -94,13 +94,13 @@
</td>
</tr>
<tr>
<td>
<td
@
click=
"routerPushOperateDetail('超期应收')"
>
<div>
超期应收额
</div>
</td>
<td>
<div>
{{
Number
(
value
[
'超期应收'
]
||
0
).
toLocaleString
()
}}
</div>
</td>
<td>
<td
@
click=
"routerPushOperateDetail('超期应付')"
>
<div>
超期应付额
</div>
</td>
<td>
...
...
@@ -155,6 +155,15 @@ export default {
})
}
},
routerPushOperateDetail
(
type
){
let
data
=
{};
data
.
sType
=
type
;
data
.
begin_date
=
util
.
dateFormat
(
this
.
start
,
"yyyy-MM-dd"
);
data
.
end_date
=
(
this
.
end
?
util
.
dateFormat
(
this
.
end
,
"yyyy-MM-dd"
):
util
.
dateFormat
(
new
Date
,
"yyyy-MM-dd"
))
+
' 23:59'
;
this
.
$store
.
dispatch
(
'saveKanbanHdr'
,
data
);
this
.
$store
.
dispatch
(
'saveRefresh'
,
true
);
this
.
$router
.
push
({
name
:
'tiipOperateDetail'
,
type
:
type
})
}
},
}
</
script
>
src/view/tiip/kanban/index.vue
View file @
1d57409a
...
...
@@ -124,7 +124,7 @@
<span
:class=
"
{active:situation=='capital'}" @click="situation='capital'">资金概况
</span>
<span
:class=
"
{active:situation=='Finance'}" @click="situation='Finance'">财务概况
</span>
<span
:class=
"
{active:situation=='abnormal'}" @click="situation='abnormal'">异常预警
</span>
<span
:class=
"
{active:situation=='tiipChartInventory'}" @click="situation='tiipChartInventory'">库存
情况
</span>
<span
:class=
"
{active:situation=='tiipChartInventory'}" @click="situation='tiipChartInventory'">库存
资金
</span>
</div>
<div
class=
"content"
>
<component
:is=
"situation"
:dateMode=
"dateMode"
:start=
"DateValue[0]"
:end=
"DateValue[1]"
/>
...
...
src/view/tiip/kanban/operateCustomDetail.vue
View file @
1d57409a
...
...
@@ -15,7 +15,7 @@
<
template
>
<div
id=
"tiipOperateCustomDetail"
>
<div
class=
"Table"
>
<customerTable
:columns=
"columns"
:list=
"list"
:tableStyle=
"tableStyle"
></customerTable>
<customerTable
:
showFooter=
"true"
:
columns=
"columns"
:list=
"list"
:tableStyle=
"tableStyle"
></customerTable>
</div>
</div>
</
template
>
...
...
@@ -30,105 +30,338 @@ export default {
data
()
{
return
{
list
:[],
columns
:[
columns
:[],
tableStyle
:{
theadBgColor
:
'rgba(223,238,253,1)'
,
complexTrBgColor
:
'white'
,
singleTrBgColor
:
'#eef4fe'
,
theadTdBorder
:
false
,
tbodyTdBorder
:
false
,
tbodyHeight
:
'calc(100vh - 60px)'
,
tbodyTrBorderBottom
:
'1px solid #dbe9f8'
,
width
:
'100%'
},
type
:
'custom'
,
page
:
1
,
per_page
:
50
}
},
computed
:{
...
mapState
({
hdr
:
state
=>
state
.
kanban
.
hdr
,
customerItem
:
state
=>
state
.
kanban
.
customerItem
,
})
},
async
mounted
(){
window
.
d
=
this
;
},
async
activated
(){
this
.
page
=
1
;
this
.
per_page
=
50
;
this
.
type
=
this
.
$route
.
params
.
type
;
if
(
this
.
hdr
.
sType
==
'采购'
){
this
.
$store
.
dispatch
(
"CAHNGE_META_INFO"
,
{
title
:(
this
.
type
==
'custom'
?
'采购'
:
'产品'
)
+
'订单列表'
});
}
else
if
(
this
.
hdr
.
sType
==
'加工'
){
this
.
$store
.
dispatch
(
"CAHNGE_META_INFO"
,
{
title
:(
this
.
type
==
'custom'
?
'加工'
:
'产品'
)
+
'订单列表'
});
}
else
if
(
this
.
hdr
.
sType
==
'检验'
){
this
.
$store
.
dispatch
(
"CAHNGE_META_INFO"
,
{
title
:(
this
.
type
==
'custom'
?
'检验'
:
'产品'
)
+
'订单列表'
});
}
else
if
(
this
.
hdr
.
sType
==
'采购退货'
){
this
.
$store
.
dispatch
(
"CAHNGE_META_INFO"
,
{
title
:(
this
.
type
==
'custom'
?
'采购退货'
:
'产品'
)
+
'订单列表'
});
}
else
if
(
this
.
hdr
.
sType
==
"客户索赔"
){
this
.
$store
.
dispatch
(
"CAHNGE_META_INFO"
,
{
title
:
this
.
customerItem
.
sCustomerName
+
'理赔列表'
});
}
else
if
(
this
.
hdr
.
sType
==
"供应商索赔"
){
this
.
$store
.
dispatch
(
"CAHNGE_META_INFO"
,
{
title
:
this
.
customerItem
.
sProviderName
+
'理赔列表'
});
}
else
{
this
.
$store
.
dispatch
(
"CAHNGE_META_INFO"
,
{
title
:(
this
.
type
==
'custom'
?
'客户'
:
'产品'
)
+
'订单列表'
});
}
if
(
this
.
hdr
.
sType
==
'采购退货'
||
this
.
hdr
.
sType
==
'销售退货'
){
this
.
columns
=
[
{
width
:
'25%'
,
name
:
'单号'
,
align
:
'center'
,
field
:
'sOrder
NoHTML'
,
field
:
this
.
hdr
.
sType
==
'销售退货'
?
'sStoreInNoHTML'
:
'sStoreOut
NoHTML'
,
underline
:
true
,
color
:
'#2d8cf0'
,
},
{
width
:
'25%'
,
name
:
'匹数'
,
align
:
'center'
,
field
:
'nPieceHTML'
},
{
width
:
'25%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nQty'
,
field
:
'nQty
HTML
'
,
},
{
width
:
'25%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
,
}
]
}
else
if
(
this
.
hdr
.
sType
==
'供应商索赔'
||
this
.
hdr
.
sType
==
'客户索赔'
){
this
.
columns
=
[
{
width
:
'25%'
,
name
:
'单号'
,
align
:
'center'
,
field
:
this
.
hdr
.
sType
==
'供应商索赔'
?
'sPayableNO'
:
'sReceivableNO'
,
underline
:
true
,
color
:
'#2d8cf0'
,
field
:
this
.
hdr
.
sType
==
'供应商索赔'
?
params
.
row
.
sPayableNO
:
params
.
row
.
sReceivableNO
,
render
:
(
h
,
params
)
=>
{
return
h
(
'span'
,{
style
:
{
'text-decoration'
:
'underline'
,
}
},
this
.
hdr
.
sType
==
'供应商索赔'
?
params
.
row
.
sPayableNO
:
params
.
row
.
sReceivableNO
)
}
},
{
width
:
'25%'
,
name
:
'
状态
'
,
name
:
'
金额
'
,
align
:
'center'
,
field
:
'sStatus'
field
:
'nAmountHTML'
,
},
{
width
:
'25%'
,
name
:
'汇率'
,
align
:
'center'
,
field
:
'nExchangeRate'
},
{
width
:
'25%'
,
name
:
'日期'
,
align
:
'center'
,
render
:
(
h
,
params
)
=>
{
return
h
(
'span'
,
Util
.
dateFormat
(
this
.
hdr
.
sType
==
'供应商索赔'
?
params
.
row
.
dPayableDate
:
params
.
row
.
dReceivableDate
,
'yyyy-MM-dd'
))
}
],
tableStyle
:{
theadBgColor
:
'rgba(223,238,253,1)'
,
complexTrBgColor
:
'white'
,
singleTrBgColor
:
'#eef4fe'
,
theadTdBorder
:
false
,
tbodyTdBorder
:
false
,
tbodyHeight
:
'calc(100vh)'
,
tbodyTrBorderBottom
:
'1px solid #dbe9f8'
,
width
:
'100%'
},
type
:
'custom'
]
}
else
if
(
this
.
hdr
.
sType
==
'疵品汇总'
){
this
.
columns
=
[
{
width
:
'25%'
,
name
:
'单号'
,
align
:
'center'
,
underline
:
true
,
color
:
'#2d8cf0'
,
field
:
'sStoreInNo'
,
render
:
(
h
,
params
)
=>
{
return
h
(
'span'
,{
style
:
{
'text-decoration'
:
'underline'
,
},
on
:{
'click'
:()
=>
{
this
.
getDetail
(
2
,
this
.
hdr
.
sType
,
params
.
row
.
sStoreInNo
);
}
}
},
params
.
row
.
sStoreInNo
)
}
},
computed
:
{
...
mapState
({
hdr
:
state
=>
state
.
kanban
.
hdr
,
customerItem
:
state
=>
state
.
kanban
.
customerItem
,
})
{
width
:
'25%'
,
name
:
'匹数'
,
align
:
'center'
,
field
:
'nStockPieceQty'
},
async
mounted
(){
window
.
d
=
this
;
{
width
:
'25%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nStockQty'
,
},
async
activated
(){
this
.
type
=
this
.
$route
.
params
.
type
;
let
title
=
''
;
if
(
this
.
hdr
.
sType
==
'采购'
){
title
=
'采购'
;
}
else
if
(
this
.
hdr
.
sType
==
'加工'
){
title
=
'加工'
;
}
else
if
(
this
.
hdr
.
sType
==
'检验'
){
title
=
'检验'
;
{
width
:
'25%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmount'
,
color
:
'#339966'
}
]
}
else
if
(
this
.
hdr
.
sType
==
'超期应收'
||
this
.
hdr
.
sType
==
'超期应付'
){
this
.
columns
=
[
{
width
:
'20%'
,
name
:
'单号'
,
align
:
'center'
,
field
:
this
.
hdr
.
sType
==
'超期应付'
?
'sPayableNO'
:
'sReceivableNO'
,
underline
:
true
,
color
:
'#2d8cf0'
,
field
:
this
.
hdr
.
sType
==
'超期应付'
?
params
.
row
.
sPayableNO
:
params
.
row
.
sReceivableNO
,
render
:
(
h
,
params
)
=>
{
return
h
(
'span'
,{
style
:
{
'text-decoration'
:
'underline'
,
}
},
this
.
hdr
.
sType
==
'超期应付'
?
params
.
row
.
sPayableNO
:
params
.
row
.
sReceivableNO
)
}
},
{
width
:
'20%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmount'
,
color
:
'#339966'
},
{
width
:
'20%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nQty'
,
},
{
width
:
'20%'
,
name
:
'汇率'
,
align
:
'center'
,
field
:
'nExchangeRate'
},
{
width
:
'20%'
,
name
:
'日期'
,
align
:
'center'
,
render
:
(
h
,
params
)
=>
{
return
h
(
'span'
,
Util
.
dateFormat
(
this
.
hdr
.
sType
==
'超期应付'
?
params
.
row
.
dPayableDate
:
params
.
row
.
dReceivableDate
,
'yyyy-MM-dd'
))
}
}
]
}
else
{
title
=
'客户'
;
this
.
columns
=
[
{
width
:
'25%'
,
name
:
'单号'
,
align
:
'center'
,
field
:
'sOrderNoHTML'
,
underline
:
true
,
color
:
'#2d8cf0'
,
},
{
width
:
'25%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nQty'
,
},
{
width
:
'25%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
,
},
{
width
:
'25%'
,
name
:
'状态'
,
align
:
'center'
,
field
:
'sStatus'
}
]
}
this
.
$store
.
dispatch
(
"CAHNGE_META_INFO"
,
{
title
:(
this
.
type
==
'custom'
?
title
:
'产品'
)
+
'订单列表'
});
await
this
.
getData
();
this
.
global
.
$off
(
'clickTd'
);
//点击表格列触发
this
.
global
.
$on
(
'clickTd'
,
async
(
res
)
=>
{
if
(
this
.
hdr
.
sType
==
'接单'
){
this
.
list
[
res
.
trIndex
].
dReceivedDate
=
Util
.
dateFormat
(
this
.
list
[
res
.
trIndex
].
dReceivedDate
,
'yyyy-MM-dd'
);
this
.
$store
.
dispatch
(
'searchOrderSaveHdr'
,
this
.
list
[
res
.
trIndex
]);
this
.
$router
.
push
({
name
:
'searchOrderTrack'
})
}
else
if
(
this
.
hdr
.
sType
==
'采购'
||
this
.
hdr
.
sType
==
'加工'
||
this
.
hdr
.
sType
==
'成品入库'
||
this
.
hdr
.
sType
==
'销售'
||
this
.
hdr
.
sType
==
'检验'
||
this
.
hdr
.
sType
==
'收货'
){
await
this
.
getDetail
(
1
,
this
.
hdr
.
sType
,
this
.
list
[
res
.
trIndex
].
sOrderNo
);
}
else
if
(
this
.
hdr
.
sType
==
'供应商索赔'
||
this
.
hdr
.
sType
==
'超期应付'
){
await
this
.
getDetail
(
2
,
this
.
hdr
.
sType
,
this
.
list
[
res
.
trIndex
].
sPayableNO
);
}
else
if
(
this
.
hdr
.
sType
==
'客户索赔'
||
this
.
hdr
.
sType
==
'超期应收'
){
await
this
.
getDetail
(
2
,
this
.
hdr
.
sType
,
this
.
list
[
res
.
trIndex
].
sReceivableNO
);
}
else
if
(
this
.
hdr
.
sType
==
'加工回修'
){
await
this
.
getDetail
(
2
,
this
.
hdr
.
sType
,
this
.
list
[
res
.
trIndex
].
sOrderNo
);
}
else
if
(
this
.
hdr
.
sType
==
'销售退货'
){
await
this
.
getDetail
(
2
,
this
.
hdr
.
sType
,
this
.
list
[
res
.
trIndex
].
sStoreInNo
);
}
else
if
(
this
.
hdr
.
sType
==
'采购退货'
){
await
this
.
getDetail
(
2
,
this
.
hdr
.
sType
,
this
.
list
[
res
.
trIndex
].
sStoreOutNo
);
}
})
this
.
global
.
$off
(
'scrollTable'
);
this
.
global
.
$on
(
'scrollTable'
,
async
()
=>
{
this
.
getData
(
true
)
})
},
methods
:{
async
getData
(){
async
getData
(
flag
){
if
(
this
.
per_page
<
50
){
this
.
$vux
.
toast
.
text
(
'已加载全部数据!'
,
'middle'
)
return
false
;
}
let
postData
=
[
{
key
:
"url"
,
value
:
this
.
type
==
'custom'
?
'Operation gai sType-customer-sOrder'
:
'Operation gai sType-material-sOrder'
},
{
key
:
"sType"
,
value
:
this
.
hdr
.
sType
},
{
key
:
"begin_date"
,
value
:
this
.
hdr
.
begin_date
},
{
key
:
"end_date"
,
value
:
this
.
hdr
.
end_date
}
{
key
:
"end_date"
,
value
:
this
.
hdr
.
end_date
}
,
];
if
(
this
.
type
==
'custom'
){
if
(
this
.
hdr
.
sType
==
'采购'
||
this
.
hdr
.
sType
==
'加工'
||
this
.
hdr
.
sType
==
'检验'
||
this
.
hdr
.
sType
==
'收货'
||
this
.
hdr
.
sType
==
'成品入库'
){
postData
.
push
({
key
:
"upbProviderGUID"
,
value
:
this
.
customerItem
.
upbProviderGUID
})
if
(
this
.
hdr
.
sType
==
'采购退货'
||
this
.
hdr
.
sType
==
'采购'
||
this
.
hdr
.
sType
==
'加工'
||
this
.
hdr
.
sType
==
'检验'
||
this
.
hdr
.
sType
==
'收货'
||
this
.
hdr
.
sType
==
'成品入库'
||
this
.
hdr
.
sType
==
'加工回修'
){
postData
.
push
({
key
:
"upbProviderGUID"
,
value
:
this
.
customerItem
.
upbProviderGUID
});
if
(
this
.
hdr
.
sType
==
'采购退货'
||
this
.
hdr
.
sType
==
'加工回修'
){
postData
[
0
].
value
=
'Abnormal early warning-customer-sOrder'
}
}
else
if
(
this
.
hdr
.
sType
==
'供应商索赔'
||
this
.
hdr
.
sType
==
'超期应付'
){
postData
[
0
].
value
=
'Abnormal early warning-customer-sOrder'
postData
.
push
({
key
:
"upbProviderGUID"
,
value
:
this
.
customerItem
.
ufiCheckItemGUID
});
}
else
if
(
this
.
hdr
.
sType
==
'客户索赔'
||
this
.
hdr
.
sType
==
'超期应收'
){
postData
[
0
].
value
=
'Abnormal early warning-customer-sOrder'
postData
.
push
({
key
:
"upbCustomerGUID"
,
value
:
this
.
customerItem
.
ufiCheckItemGUID
});
}
else
{
postData
.
push
({
key
:
"upbCustomerGUID"
,
value
:
this
.
customerItem
.
upbCustomerGUID
})
postData
.
push
({
key
:
"upbCustomerGUID"
,
value
:
this
.
customerItem
.
upbCustomerGUID
});
if
(
this
.
hdr
.
sType
==
'销售退货'
||
this
.
hdr
.
sType
==
'疵品汇总'
){
postData
[
0
].
value
=
'Abnormal early warning-customer-sOrder'
}
}
}
else
{
postData
.
push
({
key
:
"sSampleMaterialNo"
,
value
:
this
.
customerItem
.
sSampleMaterialNo
})
}
let
res
=
await
this
.
request
(
'getBoss'
,{
data
:
postData
,
params
:{},
params
:{
page
:
this
.
page
,
per_page
:
this
.
per_page
},
},
'加载中'
,{})
res
.
map
(
x
=>
{
x
.
sOrderNoHTML
=
`<div><span style=
"text-decoration:underline;"
>
${
x
.
sOrderNo
}
</span></div>`
;
res
.
map
(
(
x
,
y
)
=>
{
x
.
sOrderNoHTML
=
`<div><span style=
${
y
==
res
.
length
-
1
?
'text-decoration:none'
:
'text-decoration:underline'
}
>
${
x
.
sOrderNo
}
</span></div>`
;
x
.
nAmountHTML
=
`<div><span style="color:#339966;">
${
x
.
nAmount
}
</span></div>`
;
if
(
this
.
hdr
.
sType
==
'销售退货'
||
this
.
hdr
.
sType
==
'采购退货'
){
x
.
nQtyHTML
=
`<div><span">
${
this
.
hdr
.
sType
==
'销售退货'
?
x
.
nSumInQty
:
x
.
nSumOutQty
}
</span></div>`
;
x
.
nPieceHTML
=
`<div><span">
${
this
.
hdr
.
sType
==
'销售退货'
?
x
.
nInPieceQty
:
x
.
nOutPieceQty
}
</span></div>`
;
if
(
this
.
hdr
.
sType
==
'销售退货'
){
x
.
sStoreInNoHTML
=
`<div><span style=
${
y
==
res
.
length
-
1
?
'text-decoration:none'
:
'text-decoration:underline'
}
>
${
x
.
sStoreInNo
}
</span></div>`
;
}
else
{
x
.
sStoreOutNoHTML
=
`<div><span style=
${
y
==
res
.
length
-
1
?
'text-decoration:none'
:
'text-decoration:underline'
}
>
${
x
.
sStoreOutNo
}
</span></div>`
;
}
}
})
if
(
flag
){
this
.
list
.
splice
(
this
.
list
.
length
-
1
,
1
);
this
.
list
=
this
.
list
.
concat
(
res
);
}
else
{
this
.
list
=
res
;
}
this
.
page
++
;
this
.
per_page
=
res
.
length
-
1
;
},
async
getDetail
(
mode
,
sType
,
sOrderNo
){
let
postData
=
[
{
key
:
"url"
,
value
:
mode
==
1
?
'Operation gai sType-customer-sOrder-dtl'
:
'Abnormal early warning-customer-sOrder-dtl'
},
{
key
:
"sType"
,
value
:
sType
},
{
key
:
"sOrderNo"
,
value
:
sOrderNo
},
]
let
result
=
await
this
.
request
(
'getBoss'
,{
data
:
postData
,
params
:{}},
'加载中'
,{});
this
.
$store
.
dispatch
(
'saveKanbanOrderDetail'
,
result
);
this
.
$router
.
push
({
name
:
'orderDetailsIndex'
})
}
},
components
:{
customerTable
,
...
...
src/view/tiip/kanban/operateDetail.vue
View file @
1d57409a
...
...
@@ -77,7 +77,7 @@
<span
v-for=
"(item,index) in tabList"
:key=
"index"
:class=
"[activeTab==item.key?'active':'']"
@
click=
"changeTab(item.key)"
>
{{
item
.
value
}}
</span>
</div>
<div
class=
"Table"
>
<customerTable
:columns=
"activeTab == 0 ? columns : columns1"
:list=
"list"
:tableStyle=
"tableStyle"
></customerTable>
<customerTable
:
showFooter=
"true"
:
columns=
"activeTab == 0 ? columns : columns1"
:list=
"list"
:tableStyle=
"tableStyle"
></customerTable>
</div>
</div>
</
template
>
...
...
@@ -100,35 +100,16 @@ export default {
singleTrBgColor
:
'#eef4fe'
,
theadTdBorder
:
false
,
tbodyTdBorder
:
false
,
tbodyHeight
:
'calc(100
%
)'
,
tbodyHeight
:
'calc(100
vh - 50px - 60px
)'
,
tbodyTrBorderBottom
:
'1px solid #dbe9f8'
,
width
:
'100%'
},
activeTab
:
0
,
tabList
:[],
columns1
:[
{
width
:
'40%'
,
name
:
'产品'
,
align
:
'center'
,
field
:
'sMaterial'
,
color
:
'#2d8cf0'
,
underline
:
true
,
},
{
width
:
'30%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nQtyHTML'
,
},
{
width
:
'30%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
,
}
],
columns1
:[],
showTab
:
true
,
page
:
1
,
per_page
:
50
}
},
computed
:{
...
...
@@ -144,14 +125,38 @@ export default {
})
},
async
activated
(){
this
.
page
=
1
;
this
.
per_page
=
50
;
this
.
showTab
=
true
;
if
(
this
.
isRefresh
){
this
.
activeTab
=
0
;
this
.
$store
.
dispatch
(
'saveRefresh'
,
false
);
}
this
.
tableStyle
.
tbodyHeight
=
'calc(100vh - 50px - 60px)'
;
this
.
$store
.
dispatch
(
"CAHNGE_META_INFO"
,
{
title
:
this
.
hdr
.
sType
+
'详情'
});
await
this
.
getData
();
this
.
columns1
=
[
{
width
:
'40%'
,
name
:
'产品'
,
align
:
'center'
,
field
:
'sMaterial'
,
color
:
'#2d8cf0'
,
underline
:
true
,
},
{
width
:
'30%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nQtyHTML'
,
},
{
width
:
'30%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
,
}
]
if
(
this
.
hdr
.
sType
==
'采购'
){
this
.
tabList
=
[
{
...
...
@@ -234,6 +239,7 @@ export default {
]
}
else
if
(
this
.
hdr
.
sType
==
'检验'
){
this
.
showTab
=
false
;
this
.
tableStyle
.
tbodyHeight
=
'calc(100vh - 60px)'
;
this
.
columns
=
[
{
width
:
'25%'
,
...
...
@@ -342,6 +348,302 @@ export default {
underline
:
true
}
]
}
else
if
(
this
.
hdr
.
sType
==
'销售退货'
||
this
.
hdr
.
sType
==
'采购退货'
){
this
.
tabList
=
[
{
value
:
'退货信息'
,
key
:
'0'
},
{
value
:
'产品信息'
,
key
:
'1'
}
];
this
.
columns
=
[
{
width
:
'25%'
,
name
:
this
.
hdr
.
sType
==
'销售退货'
?
'客户'
:
'供应商'
,
align
:
'center'
,
field
:
this
.
hdr
.
sType
==
'销售退货'
?
'sCustomerNameHTML'
:
'sProviderNameHTML'
,
underline
:
true
,
color
:
'#2d8cf0'
},
{
width
:
'25%'
,
name
:
'匹数'
,
align
:
'center'
,
field
:
'nPieceHTML'
},
{
width
:
'25%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nQtyHTML'
,
},
{
width
:
'25%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
,
}
]
this
.
columns1
=
[
{
width
:
'40%'
,
name
:
'产品'
,
align
:
'center'
,
field
:
'sMaterial'
,
color
:
'#2d8cf0'
,
underline
:
true
},
{
width
:
'20%'
,
name
:
'匹数'
,
align
:
'center'
,
field
:
'nPieceHTML'
,
},
{
width
:
'20%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nQtyHTML'
,
},
{
width
:
'20%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
,
}
]
}
else
if
(
this
.
hdr
.
sType
==
'供应商索赔'
||
this
.
hdr
.
sType
==
'客户索赔'
){
this
.
showTab
=
false
;
this
.
tableStyle
.
tbodyHeight
=
'calc(100vh - 60px)'
;
this
.
columns
=
[
{
width
:
'25%'
,
name
:
this
.
hdr
.
sType
==
'客户索赔'
?
'客户'
:
'供应商'
,
align
:
'center'
,
field
:
this
.
hdr
.
sType
==
'客户索赔'
?
'sCustomerNameHTML'
:
'sProviderNameHTML'
,
underline
:
true
,
color
:
'#2d8cf0'
},
{
width
:
'25%'
,
name
:
'总数量'
,
align
:
'center'
,
field
:
'nQtyHTML'
,
},
{
width
:
'25%'
,
name
:
'总金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
,
}
]
}
else
if
(
this
.
hdr
.
sType
==
'疵品汇总'
){
this
.
tabList
=
[
{
value
:
'主信息'
,
key
:
'0'
},
{
value
:
'产品信息'
,
key
:
'1'
}
];
this
.
columns
=
[
{
width
:
'25%'
,
name
:
'客户'
,
align
:
'center'
,
field
:
'sCustomerNameHTML'
,
underline
:
true
,
color
:
'#2d8cf0'
},
{
width
:
'25%'
,
name
:
'匹数'
,
align
:
'center'
,
field
:
'nStockPieceQty'
},
{
width
:
'25%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nStockQty'
,
},
{
width
:
'25%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
,
}
]
this
.
columns1
=
[
{
width
:
'40%'
,
name
:
'产品'
,
align
:
'center'
,
field
:
'sMaterial'
,
color
:
'#2d8cf0'
,
underline
:
true
},
{
width
:
'20%'
,
name
:
'匹数'
,
align
:
'center'
,
field
:
'nStockPieceQty'
,
render
:
(
h
,
params
)
=>
{
return
h
(
'span'
,
params
.
row
.
nStockPieceQty
)
}
},
{
width
:
'20%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nStockQty'
,
render
:
(
h
,
params
)
=>
{
return
h
(
'span'
,
params
.
row
.
nStockQty
)
}
},
{
width
:
'20%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
,
}
]
}
else
if
(
this
.
hdr
.
sType
==
'超期应收'
||
this
.
hdr
.
sType
==
'超期应付'
){
this
.
tabList
=
[
{
value
:
'主信息'
,
key
:
'0'
},
{
value
:
'产品信息'
,
key
:
'1'
}
];
this
.
columns
=
[
{
width
:
'25%'
,
name
:
this
.
hdr
.
sType
==
'超期应收'
?
'客户'
:
'供应商'
,
align
:
'center'
,
field
:
this
.
hdr
.
sType
==
'超期应收'
?
'sCustomerNameHTML'
:
'sProviderNameHTML'
,
underline
:
true
,
color
:
'#2d8cf0'
},
{
width
:
'25%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nQtyHTML'
,
},
{
width
:
'25%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
,
}
]
this
.
columns1
=
[
{
width
:
'40%'
,
name
:
'产品'
,
align
:
'center'
,
field
:
'sMaterial'
,
color
:
'#2d8cf0'
,
underline
:
true
},
{
width
:
'20%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nQty'
,
render
:
(
h
,
params
)
=>
{
return
h
(
'span'
,
params
.
row
.
nQty
)
}
},
{
width
:
'20%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
,
}
]
}
else
if
(
this
.
hdr
.
sType
==
'加工回修'
){
this
.
tabList
=
[
{
value
:
'主信息'
,
key
:
'0'
},
{
value
:
'产品信息'
,
key
:
'1'
}
];
this
.
columns
=
[
{
width
:
'25%'
,
name
:
'客户'
,
align
:
'center'
,
field
:
'sProviderNameHTML'
,
underline
:
true
,
color
:
'#2d8cf0'
},
{
width
:
'25%'
,
name
:
'匹数'
,
align
:
'center'
,
field
:
'nStockPieceQty'
},
{
width
:
'25%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nStockQty'
,
},
{
width
:
'25%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
,
}
]
this
.
columns1
=
[
{
width
:
'40%'
,
name
:
'产品'
,
align
:
'center'
,
field
:
'sMaterial'
,
color
:
'#2d8cf0'
,
underline
:
true
},
{
width
:
'20%'
,
name
:
'匹数'
,
align
:
'center'
,
field
:
'nStockPieceQty'
,
render
:
(
h
,
params
)
=>
{
return
h
(
'span'
,
params
.
row
.
nStockPieceQty
)
}
},
{
width
:
'20%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nStockQty'
,
render
:
(
h
,
params
)
=>
{
return
h
(
'span'
,
params
.
row
.
nStockQty
)
}
},
{
width
:
'20%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
,
}
]
}
else
{
this
.
columns
=
[
{
...
...
@@ -385,6 +687,8 @@ export default {
]
}
this
.
global
.
$off
(
'clickTd'
);
this
.
global
.
$off
(
'scrollTable'
);
//点击表格列触发
this
.
global
.
$on
(
'clickTd'
,
async
(
res
)
=>
{
if
(
res
.
tdIndex
==
0
){
...
...
@@ -400,80 +704,112 @@ export default {
this
.
$router
.
push
({
name
:
'tiipOperateSaleDetail'
})
}
})
//滚动加载
this
.
global
.
$on
(
'scrollTable'
,
async
()
=>
{
this
.
getData
(
true
)
})
},
methods
:{
changeTab
(
key
){
this
.
activeTab
=
key
;
this
.
page
=
1
;
this
.
per_page
=
50
;
if
(
this
.
hdr
.
sType
==
'加工'
){
this
.
columns1
=
this
.
columns
;
}
else
{
this
.
columns1
=
[
{
width
:
'40%'
,
name
:
'产品'
,
align
:
'center'
,
field
:
'sMaterial'
,
color
:
'#2d8cf0'
,
underline
:
true
,
},
{
width
:
'30%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nQtyHTML'
,
},
{
width
:
'30%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
,
}
]
this
.
columns1
=
this
.
columns1
;
}
this
.
getData
();
},
async
getData
(){
async
getData
(
flag
){
if
(
this
.
per_page
<
50
){
this
.
$vux
.
toast
.
text
(
'已加载全部数据!'
,
'middle'
)
return
false
;
}
let
postData
=
[
{
key
:
"url"
,
value
:
this
.
activeTab
==
'0'
?
"Operation gai sType-customer"
:
'Operation gai sType-material'
},
{
key
:
"sType"
,
value
:
this
.
hdr
.
sType
},
{
key
:
"begin_date"
,
value
:
this
.
hdr
.
begin_date
},
{
key
:
"end_date"
,
value
:
this
.
hdr
.
end_date
}
{
key
:
"end_date"
,
value
:
this
.
hdr
.
end_date
}
,
]
if
(
this
.
activeTab
==
'0'
){
postData
[
0
].
value
=
'Operation gai sType-customer'
;
if
(
this
.
hdr
.
sType
==
'加工'
){
postData
.
push
({
key
:
'sProcessCategory'
,
value
:
'坯布'
});
}
else
if
(
this
.
hdr
.
sType
==
'超期应收'
||
this
.
hdr
.
sType
==
'超期应付'
||
this
.
hdr
.
sType
==
'加工回修'
||
this
.
hdr
.
sType
==
'疵品汇总'
||
this
.
hdr
.
sType
==
'销售退货'
||
this
.
hdr
.
sType
==
'采购退货'
||
this
.
hdr
.
sType
==
'供应商索赔'
||
this
.
hdr
.
sType
==
'客户索赔'
){
postData
[
0
].
value
=
'Abnormal early warning-customer'
;
}
}
else
if
(
this
.
activeTab
==
'1'
){
if
(
this
.
hdr
.
sType
==
'加工'
){
postData
[
0
].
value
=
'Operation gai sType-customer'
;
postData
.
push
({
key
:
'sProcessCategory'
,
value
:
'成品布'
});
}
else
if
(
this
.
hdr
.
sType
==
'超期应收'
||
this
.
hdr
.
sType
==
'超期应付'
||
this
.
hdr
.
sType
==
'加工回修'
||
this
.
hdr
.
sType
==
'疵品汇总'
||
this
.
hdr
.
sType
==
'销售退货'
||
this
.
hdr
.
sType
==
'采购退货'
){
postData
[
0
].
value
=
'Abnormal early warning-sMaterial'
;
}
}
let
res
=
await
this
.
request
(
'getBoss'
,{
data
:
postData
,
params
:{},
params
:{
page
:
this
.
page
,
per_page
:
this
.
per_page
},
},
'加载中'
,{})
if
(
this
.
activeTab
==
1
&&
this
.
hdr
.
sType
!=
'加工'
){
res
.
map
(
x
=>
{
x
.
sMaterial
=
`<div><span style="color:#FF6633">
${
x
.
sSampleMaterialNo
}
</span><br><span style="color:black;">
${
this
.
hdr
.
sType
==
'成品入库'
?
x
.
sMaterialName
:
x
.
sSampleMaterialName
}
</span></div>`
res
.
map
((
x
,
y
)
=>
{
if
(
this
.
hdr
.
sType
==
'销售退货'
||
this
.
hdr
.
sType
==
'采购退货'
){
x
.
nQtyHTML
=
`<div><span">
${
this
.
hdr
.
sType
==
'销售退货'
?
x
.
nSumInQty
:
x
.
nSumOutQty
}
</span></div>`
;
x
.
nPieceHTML
=
`<div><span">
${
this
.
hdr
.
sType
==
'销售退货'
?
x
.
nInPieceQty
:
x
.
nOutPieceQty
}
</span></div>`
;
}
else
{
x
.
nQtyHTML
=
`<div><span">
${
x
.
nQty
||
x
.
nOutQty
||
x
.
nInQty
||
0
}
</span></div>`
;
}
x
.
nAmountHTML
=
`<div><span style="color:#339966;">
${
x
.
nAmount
}
</span></div>`
;
x
.
nQtyHTML
=
`<div><span">
${
x
.
nQty
||
x
.
nOutQty
||
x
.
nInQty
}
</span></div>`
;
if
(
y
==
res
.
length
-
1
){
x
.
sMaterial
=
`<div><span style="color:black;">
${
x
.
sSampleMaterialName
||
''
}
</span></div>`
}
else
{
x
.
sMaterial
=
`<div><span style="color:#FF6633">
${
x
.
sSampleMaterialNo
||
''
}
</span><br><span style="color:black;">
${
x
.
sSampleMaterialName
||
''
}
</span></div>`
}
})
}
else
{
res
.
map
(
x
=>
{
x
.
sCustomerNameHTML
=
`<div><span style="text-decoration:underline;">
${
x
.
sCustomerName
||
''
}
</span></div>`
;
x
.
sProviderNameHTML
=
`<div><span style="text-decoration:underline;">
${
x
.
sProviderName
||
''
}
</span></div>`
;
x
.
sSalesNameHTML
=
`<div><span style="text-decoration:underline;">
${
x
.
sSalesName
||
''
}
</span></div>`
;
res
.
map
((
x
,
y
)
=>
{
if
(
this
.
hdr
.
sType
==
'销售退货'
||
this
.
hdr
.
sType
==
'采购退货'
){
if
(
this
.
hdr
.
sType
==
'销售退货'
){
x
.
sCustomerNameHTML
=
`<div><span style=
${
y
==
res
.
length
-
1
?
'text-decoration:none'
:
'text-decoration:underline'
}
>
${
x
.
sCustomerName
}
</span></div>`
;
}
else
if
(
this
.
hdr
.
sType
==
'采购退货'
){
x
.
sProviderNameHTML
=
`<div><span style=
${
y
==
res
.
length
-
1
?
'text-decoration:none'
:
'text-decoration:underline'
}
>
${
x
.
sProviderName
}
</span></div>`
;
}
x
.
nQtyHTML
=
`<div><span">
${
this
.
hdr
.
sType
==
'销售退货'
?
x
.
nSumInQty
:
x
.
nSumOutQty
}
</span></div>`
;
x
.
nPieceHTML
=
`<div><span">
${
this
.
hdr
.
sType
==
'销售退货'
?
x
.
nInPieceQty
:
x
.
nOutPieceQty
}
</span></div>`
;
x
.
nAmountHTML
=
`<div><span style="color:#339966;">
${
x
.
nAmount
}
</span></div>`
;
}
else
if
(
this
.
hdr
.
sType
==
'供应商索赔'
||
this
.
hdr
.
sType
==
'客户索赔'
){
x
.
nQtyHTML
=
`<div><span">
${
x
.
nQty
||
x
.
nOutQty
||
0
}
</span></div>`
;
x
.
nAmountHTML
=
`<div><span style="color:red;">
${
x
.
nAmount
}
</span></div>`
;
if
(
this
.
hdr
.
sType
==
'客户索赔'
){
x
.
sCustomerNameHTML
=
`<div><span style=
${
y
==
res
.
length
-
1
?
'text-decoration:none'
:
'text-decoration:underline'
}
>
${
x
.
sCustomerName
}
</span></div>`
;
}
else
if
(
this
.
hdr
.
sType
==
'供应商索赔'
){
x
.
sProviderNameHTML
=
`<div><span style=
${
y
==
res
.
length
-
1
?
'text-decoration:none'
:
'text-decoration:underline'
}
>
${
x
.
sProviderName
}
</span></div>`
;
}
}
else
{
x
.
sCustomerNameHTML
=
`<div><span style=
${
y
==
res
.
length
-
1
?
'text-decoration:none'
:
'text-decoration:underline'
}
>
${
x
.
sCustomerName
||
''
}
</span></div>`
;
x
.
sProviderNameHTML
=
`<div><span style=
${
y
==
res
.
length
-
1
?
'text-decoration:none'
:
'text-decoration:underline'
}
>
${
x
.
sProviderName
||
''
}
</span></div>`
;
x
.
sSalesNameHTML
=
`<div><span style=
${
y
==
res
.
length
-
1
?
'text-decoration:none'
:
'text-decoration:underline'
}
>
${
x
.
sSalesName
||
''
}
</span></div>`
;
x
.
nAmountHTML
=
`<div><span style="color:#339966;">
${
x
.
nAmount
}
</span></div>`
;
x
.
nQtyHTML
=
`<div><span">
${
x
.
nQty
||
x
.
nOutQty
||
0
}
</span></div>`
;
x
.
sMaterialHTML
=
`<div><span">
${
x
.
sSampleMaterialNo
||
''
}
<br>
${
x
.
sSampleMaterialName
||
''
}
</span></div>`
;
x
.
sFollowerNameHTML
=
`<div><span style="text-decoration:underline;">
${
x
.
sFollowerName
||
''
}
</span></div>`
;
x
.
sCreatorHTML
=
`<div><span style="text-decoration:underline;">
${
x
.
sCreator
||
''
}
</span></div>`
;
x
.
sFollowerNameHTML
=
`<div><span style=
${
y
==
res
.
length
-
1
?
'text-decoration:none'
:
'text-decoration:underline'
}
>
${
x
.
sFollowerName
||
''
}
</span></div>`
;
x
.
sCreatorHTML
=
`<div><span style=
${
y
==
res
.
length
-
1
?
'text-decoration:none'
:
'text-decoration:underline'
}
>
${
x
.
sCreator
||
''
}
</span></div>`
;
}
})
}
if
(
flag
){
this
.
list
.
splice
(
this
.
list
.
length
-
1
,
1
);
this
.
list
=
this
.
list
.
concat
(
res
);
}
else
{
this
.
list
=
res
;
}
this
.
page
++
;
this
.
per_page
=
res
.
length
-
1
;
}
},
components
:{
customerTable
,
...
...
src/view/tiip/kanban/operateSaleDetail.vue
View file @
1d57409a
...
...
@@ -62,6 +62,8 @@ export default {
tbodyTrBorderBottom
:
'1px solid #dbe9f8'
,
width
:
'100%'
},
page
:
1
,
per_page
:
50
}
},
computed
:{
...
...
@@ -74,6 +76,8 @@ export default {
window
.
d
=
this
;
},
async
activated
(){
this
.
page
=
1
;
this
.
per_page
=
50
;
await
this
.
getData
();
this
.
global
.
$off
(
'clickTd'
);
...
...
@@ -82,14 +86,23 @@ export default {
this
.
$store
.
dispatch
(
'saveCustomerItem'
,
this
.
list
[
res
.
trIndex
]);
this
.
$router
.
push
({
name
:
'tiipOperateCustomDetail'
,
params
:{
type
:
'custom'
}})
})
this
.
global
.
$off
(
'scrollTable'
);
this
.
global
.
$on
(
'scrollTable'
,
async
()
=>
{
this
.
getData
(
true
)
})
},
methods
:{
async
getData
(){
async
getData
(
flag
){
if
(
this
.
per_page
<
50
){
this
.
$vux
.
toast
.
text
(
'已加载全部数据!'
,
'middle'
)
return
false
;
}
let
postData
=
[
{
key
:
"url"
,
value
:
'Operation gai sType-customer-sales'
},
{
key
:
"sType"
,
value
:
this
.
hdr
.
sType
},
{
key
:
"begin_date"
,
value
:
this
.
hdr
.
begin_date
},
{
key
:
"end_date"
,
value
:
this
.
hdr
.
end_date
}
{
key
:
"end_date"
,
value
:
this
.
hdr
.
end_date
}
,
]
if
(
this
.
hdr
.
sType
==
'采购'
||
this
.
hdr
.
sType
==
'加工'
){
postData
.
push
({
key
:
"upbFollowerGUID"
,
value
:
this
.
orderItem
.
upbFollowerGUID
});
...
...
@@ -101,7 +114,10 @@ export default {
let
res
=
await
this
.
request
(
'getBoss'
,{
data
:
postData
,
params
:{},
params
:{
page
:
this
.
page
,
per_page
:
this
.
per_page
},
},
'加载中'
,{})
res
.
map
(
x
=>
{
if
(
this
.
hdr
.
sType
==
'采购'
||
this
.
hdr
.
sType
==
'加工'
){
...
...
@@ -123,8 +139,15 @@ export default {
}
x
.
nAmountHTML
=
`<div><span style="color:#339966;">
${
x
.
nAmount
}
</span></div>`
;
})
if
(
flag
){
this
.
list
.
splice
(
this
.
list
.
length
-
1
,
1
);
this
.
list
=
this
.
list
.
concat
(
res
);
}
else
{
this
.
list
=
res
;
}
this
.
page
++
;
this
.
per_page
=
res
.
length
-
1
;
}
},
components
:{
customerTable
,
...
...
src/view/tiip/orderDetails/index.vue
View file @
1d57409a
...
...
@@ -101,11 +101,11 @@
<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>
<span>
{{
v3
.
key
}}
</span>
<div>
<div>
<div>
{{
DATA
[
v3
.
sFieldName
]
}}
{{
v3
.
value
}}
</div>
</div>
</div>
...
...
@@ -132,76 +132,48 @@ export default {
},
computed
:{
...
mapState
({
orderDetail
:
state
=>
state
.
kanban
.
orderDetail
})
},
async
mounted
(){
window
.
d
=
this
;
},
async
activated
(){
await
this
.
getDetail
();
this
.
filterFields
(
hdrFields
,
this
.
list
,
'采购基本合同'
);
this
.
list
=
this
.
filterFields
();
},
methods
:{
async
getDetail
(){
let
apiURL
;
switch
(
this
.
$route
.
params
.
type
){
case
'pbcontract'
:
apiURL
=
'getTiipPbcontract'
break
;
case
'pay'
:
apiURL
=
'getTiipFipayable'
break
;
case
'receive'
:
apiURL
=
'getTiipFireceivable'
break
;
case
'fabric'
:
case
'inspectionReport'
:
apiURL
=
'getTiipFabric'
break
;
default
:
break
;
}
let
hdrResult
=
await
this
.
request
(
apiURL
,{
data
:[
{
key
:
'url'
,
value
:
this
.
$route
.
params
.
type
==
'inspectionReport'
?
'Inspection Report'
:
'hdr'
}
]
},
true
);
hdrResult
.
map
(
x
=>
{
for
(
let
y
in
x
){
if
(
isNaN
(
x
[
y
])
&&!
isNaN
(
Date
.
parse
(
x
[
y
]))){
x
[
y
]
=
Util
.
dateFormat
(
x
[
y
],
'yyyy-MM-dd'
)
}
}
})
this
.
DATA
=
hdrResult
[
0
];
},
filterFields
(
fields
,
arr
,
title
){
arr
.
push
({
title
:
title
,
child
:[]});
let
data
=
arr
[
arr
.
length
-
1
];
for
(
let
y
of
hdrFields
){
let
flag
=
false
;
if
(
data
.
child
.
length
<=
0
){
data
.
child
.
push
({
rowCount
:
y
.
rowCount
,
filterFields
(){
var
data
=
Util
.
deepClone
(
this
.
orderDetail
);
var
arr
=
[];
for
(
let
a
in
data
){
for
(
let
b
of
data
[
a
]){
arr
.
push
({
title
:
b
.
sType
,
child
:[]});
let
item
=
arr
[
arr
.
length
-
1
];
if
(
item
.
child
.
length
<=
0
){
item
.
child
.
push
({
child
:[]
})
}
for
(
let
x
of
data
.
child
){
if
(
x
.
child
.
length
!=
x
.
rowCount
&&
x
.
rowCount
==
y
.
rowCount
){
for
(
let
c
in
b
){
var
flag
=
false
;
for
(
let
d
of
item
.
child
){
if
(
c
!=
'sType'
){
if
(
d
.
child
.
length
<
2
){
d
.
child
.
push
({
key
:
c
,
value
:
b
[
c
]
})
flag
=
true
;
x
.
child
.
push
(
y
);
}
}
if
(
!
flag
){
data
.
child
.
push
({
rowCount
:
y
.
rowCount
,
child
:[
y
]
})
}
if
(
!
flag
&&
c
!=
'sType'
){
item
.
child
.
push
({
child
:[{
key
:
c
,
value
:
b
[
c
]}]})
}
}
}
}
return
arr
;
}
},
components
:{
...
...
src/view/tiip/profitAnalysis/index.vue
View file @
1d57409a
...
...
@@ -109,7 +109,7 @@ export default {
singleTrBgColor
:
'#eef4fe'
,
theadTdBorder
:
false
,
tbodyTdBorder
:
false
,
tbodyHeight
:
'calc(100vh - 1
6
0px)'
,
tbodyHeight
:
'calc(100vh - 1
8
0px)'
,
tbodyTrBorderBottom
:
'1px solid #dbe9f8'
},
status
:[],
...
...
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