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
83944505
Commit
83944505
authored
Dec 18, 2019
by
张锡奇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
commit
parent
2ab781a5
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
440 additions
and
103 deletions
+440
-103
Table.vue
src/components/Table.vue
+3
-2
host.js
src/libs/host.js
+1
-1
index.js
src/router/index.js
+8
-0
app.js
src/store/modules/app.js
+9
-2
kanban.js
src/store/modules/tiip/kanban.js
+8
-1
inventory.vue
src/view/tiip/chart/inventory.vue
+56
-23
warehouseDetail.vue
src/view/tiip/chart/warehouseDetail.vue
+125
-0
operate.vue
src/view/tiip/kanban/operate.vue
+2
-3
operateCustomDetail.vue
src/view/tiip/kanban/operateCustomDetail.vue
+20
-6
operateDetail.vue
src/view/tiip/kanban/operateDetail.vue
+176
-49
operateSaleDetail.vue
src/view/tiip/kanban/operateSaleDetail.vue
+28
-12
index.vue
src/view/tiip/profitAnalysis/index.vue
+2
-2
index.vue
src/view/tiip/searchOrder/index.vue
+2
-2
No files found.
src/components/Table.vue
View file @
83944505
...
...
@@ -150,7 +150,8 @@
'left':x.fixed ? x.fixedLeftWidth : 'none',
'border-left':tableStyle.tbodyTdBorder ? tableStyle.tbodyTrBorderBottom : '0px',
'border-right':(i == columns.length - 1
&&
tableStyle.tbodyTdBorder) ? tableStyle.tbodyTrBorderBottom : '0px',
'border-bottom':tableStyle.tbodyTrBorderBottom
'border-bottom':tableStyle.tbodyTrBorderBottom,
'word-break': 'break-all'
}"
@click="clickTd(i,index)"
v-html="item[x.field]"
...
...
@@ -228,7 +229,7 @@ export default {
theadTdBorder
:
false
,
tbodyTdBorder
:
false
,
tbodyHeight
:
'100%'
,
tbodyTrBorderBottom
:
'1px solid #
5cadff
'
tbodyTrBorderBottom
:
'1px solid #
dbe9f8
'
}
}
},
...
...
src/libs/host.js
View file @
83944505
...
...
@@ -12,7 +12,7 @@ function urlFun(name){
/**
* 默认公司
*/
// default:`http://192.168.4.
39
:5001`,
// default:`http://192.168.4.
67
:5001`,
default
:
`https://weixin.huansi.net/apiproxy/huansi/hszh_HSFabricTradeTest`
,
// default:`https://weixin.huansi.net/apiproxy/huansi/service/proxy/${userID}`,
...
...
src/router/index.js
View file @
83944505
...
...
@@ -268,6 +268,14 @@ let routes = [
title
:
'库存金额分析'
}
},
{
path
:
'/tiip/chart/warehouseDetail'
,
name
:
'tiipChartWarehouseDetail'
,
component
:()
=>
import
(
'@/view/tiip/chart/warehouseDetail.vue'
),
meta
:{
title
:
''
}
},
]
}
];
...
...
src/store/modules/app.js
View file @
83944505
...
...
@@ -11,7 +11,8 @@ const app = {
title
:
""
,
keywords
:
""
,
description
:
""
}
},
isRefresh
:
false
},
mutations
:
{
saveUserId
(
state
,
data
){
...
...
@@ -28,6 +29,9 @@ const app = {
},
CAHNGE_META_INFO
(
state
,
metaInfo
)
{
state
.
metaInfo
=
metaInfo
;
},
saveRefresh
(
state
,
isRefresh
){
state
.
isRefresh
=
isRefresh
;
}
},
actions
:
{
...
...
@@ -45,7 +49,10 @@ const app = {
},
CAHNGE_META_INFO
({
commit
},
metaInfo
)
{
commit
(
'CAHNGE_META_INFO'
,
metaInfo
)
}
},
saveRefresh
({
commit
},
isRefresh
)
{
commit
(
'saveRefresh'
,
isRefresh
)
},
}
};
...
...
src/store/modules/tiip/kanban.js
View file @
83944505
...
...
@@ -6,9 +6,10 @@ const obj = {
hdr
:{
begin_date
:
'2014-01-01'
,
end_date
:
'2019-12-13 23:59'
,
sType
:
'
接单
'
sType
:
'
检验
'
},
orderItem
:{},
warehouseDetail
:{}
},
mutations
:
{
saveKanbanHdr
(
state
,
data
){
...
...
@@ -16,6 +17,9 @@ const obj = {
},
saveKanbanOrderItem
(
state
,
data
){
state
.
orderItem
=
data
;
},
saveWarehouseDetail
(
state
,
data
){
state
.
warehouseDetail
=
data
;
}
},
actions
:
{
...
...
@@ -24,6 +28,9 @@ const obj = {
},
saveKanbanOrderItem
({
commit
},
data
){
commit
(
'saveKanbanOrderItem'
,
data
);
},
saveWarehouseDetail
({
commit
},
data
){
commit
(
'saveWarehouseDetail'
,
data
);
}
}
};
...
...
src/view/tiip/chart/inventory.vue
View file @
83944505
<
style
lang=
"less"
>
@import url('../../../styles/common.less');
#tiipChartInventory{
height:100%;
min-
height:100%;
display:flex;
flex-direction: column;
background: #f2f2f2;
...
...
@@ -21,17 +21,32 @@
.CONTENT{
display:flex;flex-wrap:wrap;padding:8px;
.iCard{
width:calc(50% - 4px);
width:100%;
// width:calc(50% - 4px);
margin:0;
margin-bottom:8px;
text-align: center;
line-height:30px;
.warehouse{
background: linear-gradient(90deg,#8470FF, #2d8cf0, #00B2EE);
color:white;
border-bottom:1px solid #ddd;
}
.TITLE{
display: flex;
background: #f2f2f2;
>span{
flex:1;
}
}
.unit{
.ITEM{
display: flex;
>span{
flex:1;
}
}
}
.iCard:nth-child(odd) {
margin-right:8px;
}
}
.vertical{
...
...
@@ -56,10 +71,20 @@
<div>
<div
class=
"Head"
>
数量
</div>
<div
class=
"CONTENT"
>
<div
class=
"iCard"
v-for=
"(item,index) in chartData"
:key=
"index"
>
<div
class=
"warehouse"
:style=
"
{'color':colorList[index]}">
{{
item
.
sStoreName
}}
</div>
<div
class=
"piece"
><span
style=
"color:#8a8a8a;"
>
总匹数:
</span>
{{
Number
(
item
.
nStockPieceQty
).
toLocaleString
()
}}
</div>
<div
class=
"qty"
><span
style=
"color:#8a8a8a;"
>
总数量:
</span>
{{
Number
(
item
.
nStockQty
).
toLocaleString
()
}}
</div>
<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>
</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>
</div>
</div>
</div>
</div>
...
...
@@ -134,7 +159,7 @@ export default {
theadTdBorder
:
false
,
tbodyTdBorder
:
false
,
tbodyHeight
:
'calc(100vh - 342px)'
,
tbodyTrBorderBottom
:
'1px solid #
5cadff
'
,
tbodyTrBorderBottom
:
'1px solid #
dbe9f8
'
,
width
:
'550px'
},
chartData
:[],
...
...
@@ -186,7 +211,7 @@ export default {
const
data
=
this
.
chartData
;
const
map
=
{};
data
.
forEach
(
function
(
obj
)
{
map
[
obj
.
sStoreName
]
=
Number
(
obj
.
nAmount
||
0
).
toLocaleString
()
+
'元'
;
map
[
obj
.
sStoreName
]
=
Number
(
obj
.
nA
llA
mount
||
0
).
toLocaleString
()
+
'元'
;
});
this
.
myChart
=
new
F2
.
Chart
({
id
:
'myChart'
,
...
...
@@ -195,7 +220,7 @@ export default {
plugins
:
Gesture
,
});
this
.
myChart
.
source
(
data
,
{
nAmount
:
{
nA
llA
mount
:
{
formatter
:
function
formatter
(
val
)
{
return
val
+
'元'
;
}
...
...
@@ -210,7 +235,7 @@ export default {
});
this
.
myChart
.
axis
(
false
);
this
.
myChart
.
interval
()
.
position
(
'a*nAmount'
)
.
position
(
'a*nA
llA
mount'
)
.
color
(
'sStoreName'
,
this
.
colorList
)
.
adjust
(
'stack'
);
...
...
@@ -219,7 +244,7 @@ export default {
html
:
`
<div style="width: 250px;height: 40px;text-align: center;">
<div style="font-size: 12px">总计</div>
<div style="font-size: 12px">
${(
this
.
chartData
.
reduce
((
x
,
y
)
=>
{
return
x
=
x
+
y
.
nAmount
},
0
)).
toFixed
(
2
)}
万</div>
<div style="font-size: 12px">
${(
this
.
chartData
.
reduce
((
x
,
y
)
=>
{
return
x
=
x
+
y
.
nA
llA
mount
},
0
)).
toFixed
(
2
)}
万</div>
</div>
`
});
...
...
@@ -247,13 +272,13 @@ export default {
guide
.
html
=
`
<div style="width: 250px;height: 40px;text-align: center;">
<div style="font-size: 12px">
${
e
.
data
.
sStoreName
}
</div>
<div style="font-size: 12px">
${((
e
.
data
.
nA
mount
/
(
that
.
chartData
.
reduce
((
x
,
y
)
=>
{
return
x
=
x
+
y
.
n
Amount
},
0
)))
*
100
).
toFixed
(
2
)}
%</div>
<div style="font-size: 12px">
${((
e
.
data
.
nA
llAmount
/
(
that
.
chartData
.
reduce
((
x
,
y
)
=>
{
return
x
=
x
+
y
.
nAll
Amount
},
0
)))
*
100
).
toFixed
(
2
)}
%</div>
</div>
`
}
else
{
guide
.
html
=
`<div style="width: 250px;height: 40px;text-align: center;">
<div style="font-size: 12px">总计</div>
<div style="font-size: 12px">
${(
that
.
chartData
.
reduce
((
x
,
y
)
=>
{
return
x
=
x
+
y
.
nAmount
},
0
)).
toFixed
(
2
)}
万</div>
<div style="font-size: 12px">
${(
that
.
chartData
.
reduce
((
x
,
y
)
=>
{
return
x
=
x
+
y
.
nA
llA
mount
},
0
)).
toFixed
(
2
)}
万</div>
</div>
`
that
.
sStoreNo
=
''
;
...
...
@@ -275,7 +300,7 @@ export default {
guide
.
html
=
`
<div style="width: 250px;height: 40px;text-align: center;">
<div style="font-size: 12px">
${
data
[
0
].
sStoreName
}
</div>
<div style="font-size: 12px">
${((
data
[
0
].
nA
mount
/
(
that
.
chartData
.
reduce
((
x
,
y
)
=>
{
return
x
=
x
+
y
.
n
Amount
},
0
)))
*
100
).
toFixed
(
2
)}
%</div>
<div style="font-size: 12px">
${((
data
[
0
].
nA
llAmount
/
(
that
.
chartData
.
reduce
((
x
,
y
)
=>
{
return
x
=
x
+
y
.
nAll
Amount
},
0
)))
*
100
).
toFixed
(
2
)}
%</div>
</div>
`
guide
.
repaint
();
...
...
@@ -289,14 +314,22 @@ export default {
async
getDetail
(
sStoreNo
){
let
data
=
{};
!!
sStoreNo
&&
(
data
.
sStoreNo
=
sStoreNo
);
let
res
=
await
this
.
apiGet
(
`
${
this
.
$url
(
'default'
)}
/bianalysis/stockamountinfo/`
,
data
,
'加载中'
);
if
(
res
.
hasOwnProperty
(
'set1'
))
this
.
chartData
=
res
.
set1
;
let
res
=
await
this
.
request
(
'getBoss'
,{
data
:[
{
key
:
'url'
,
value
:
'Inventory situation'
},
],
params
:{},
},
'加载中'
,{})
if
(
res
&&
res
.
length
>
0
)
this
.
chartData
=
res
;
this
.
chartData
.
map
((
x
,
y
)
=>
{
x
.
a
=
'1'
;
})
this
.
chartData
=
this
.
chartData
.
filter
(
x
=>
x
.
nAmount
!=
0
);
if
(
res
.
hasOwnProperty
(
'set2'
))
this
.
list
=
res
.
set2
;
this
.
chartData
=
this
.
chartData
.
filter
(
x
=>
x
.
nAllAmount
!=
0
);
// if(res.hasOwnProperty('set2')) this.list = res.set2;
},
routerToWarehouseDetail
(
item
){
this
.
$store
.
dispatch
(
'saveWarehouseDetail'
,
item
);
this
.
$router
.
push
({
name
:
'tiipChartWarehouseDetail'
});
}
},
components
:{
...
...
src/view/tiip/chart/warehouseDetail.vue
0 → 100644
View file @
83944505
<
style
lang=
"less"
>
#tiipChartWarehouseDetail{
height:100%;
background:#eef4fe;
display:flex;
flex-direction: column;
.Table{
flex-grow: 1;
height:1px;
overflow: auto;
}
}
</
style
>
<
template
>
<div
id=
"tiipChartWarehouseDetail"
>
<div
class=
"Table"
>
<customerTable
:columns=
"columns"
:list=
"list"
:tableStyle=
"tableStyle"
></customerTable>
</div>
</div>
</
template
>
<
script
>
import
Util
from
'@/libs/util.js'
import
customerTable
from
'@/components/Table'
import
{
mapState
}
from
'vuex'
export
default
{
name
:
'tiipChartWarehouseDetail'
,
data
()
{
return
{
list
:[],
columns
:[],
tableStyle
:{
theadBgColor
:
'rgba(223,238,253,1)'
,
complexTrBgColor
:
'white'
,
singleTrBgColor
:
'#eef4fe'
,
theadTdBorder
:
false
,
tbodyTdBorder
:
false
,
tbodyHeight
:
'calc(100vh)'
,
tbodyTrBorderBottom
:
'1px solid #dbe9f8'
,
width
:
'100%'
},
}
},
computed
:{
...
mapState
({
warehouseDetail
:
state
=>
state
.
kanban
.
warehouseDetail
,
})
},
async
mounted
(){
window
.
d
=
this
;
},
async
activated
(){
this
.
$store
.
dispatch
(
"CAHNGE_META_INFO"
,
{
title
:
this
.
warehouseDetail
.
sStoreName
+
'明细'
});
await
this
.
getData
();
if
(
this
.
warehouseDetail
.
ummStoreGUID
==
"637a600b-c40f-4933-991f-4426374649d2"
){
this
.
columns
=
[
{
width
:
'40%'
,
name
:
'等级'
,
align
:
'center'
,
field
:
'sGradeHTML'
,
// underline:true,
color
:
'#2d8cf0'
,
},
{
width
:
'30%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nQtyHTML'
,
},
{
width
:
'30%'
,
name
:
'匹数'
,
align
:
'center'
,
field
:
'nStockPieceQty'
,
}
]
}
else
{
this
.
columns
=
[
{
width
:
'40%'
,
name
:
'类别'
,
align
:
'center'
,
field
:
'sGradeHTML'
,
// underline:true,
color
:
'#2d8cf0'
,
},
{
width
:
'30%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nQtyHTML'
,
},
{
width
:
'30%'
,
name
:
'匹数'
,
align
:
'center'
,
field
:
'nStockPieceQty'
,
}
]
}
},
methods
:{
async
getData
(){
let
res
=
await
this
.
request
(
'getBoss'
,{
data
:[
{
key
:
"url"
,
value
:
'Inventory situation Store_GroupBy'
},
{
key
:
"ummStoreGUID"
,
value
:
this
.
warehouseDetail
.
ummStoreGUID
},
],
params
:{},
},
'加载中'
,{})
res
.
map
(
x
=>
{
x
.
sGradeHTML
=
`<div><span style="color:#FF6633">
${
x
.
sGrade
||
''
}
</div>`
;
x
.
nQtyHTML
=
`<div><span style="color:#339966;">
${
x
.
nQty
||
''
}
</span></div>`
;
})
this
.
list
=
res
;
}
},
components
:{
customerTable
,
},
}
</
script
>
\ No newline at end of file
src/view/tiip/kanban/operate.vue
View file @
83944505
...
...
@@ -114,13 +114,12 @@ export default {
}
},
routerToOperateDetail
(
row
){
// return false;
if
(
row
.
sType
==
'接单'
||
row
.
sType
==
'销售'
){
if
(
row
.
sType
!=
'成品入库'
&&
row
.
sType
!=
'收货'
){
let
data
=
util
.
deepClone
(
row
);
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
:
row
.
sType
})
}
}
...
...
src/view/tiip/kanban/operateCustomDetail.vue
View file @
83944505
...
...
@@ -43,13 +43,13 @@ export default {
width
:
'25%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'n
Amount
'
,
field
:
'n
Qty
'
,
},
{
width
:
'25%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'n
Qty
HTML'
,
field
:
'n
Amount
HTML'
,
},
{
width
:
'25%'
,
...
...
@@ -65,7 +65,7 @@ export default {
theadTdBorder
:
false
,
tbodyTdBorder
:
false
,
tbodyHeight
:
'calc(100vh)'
,
tbodyTrBorderBottom
:
'1px solid #
5cadff
'
,
tbodyTrBorderBottom
:
'1px solid #
dbe9f8
'
,
width
:
'100%'
},
type
:
'custom'
...
...
@@ -82,7 +82,17 @@ export default {
},
async
activated
(){
this
.
type
=
this
.
$route
.
params
.
type
;
this
.
$store
.
dispatch
(
"CAHNGE_META_INFO"
,
{
title
:
this
.
type
==
'custom'
?
'客户'
:
'产品'
+
'订单列表'
});
let
title
=
''
;
if
(
this
.
hdr
.
sType
==
'采购'
){
title
=
'采购'
;
}
else
if
(
this
.
hdr
.
sType
==
'加工'
){
title
=
'加工'
;
}
else
if
(
this
.
hdr
.
sType
==
'检验'
){
title
=
'检验'
;
}
else
{
title
=
'客户'
;
}
this
.
$store
.
dispatch
(
"CAHNGE_META_INFO"
,
{
title
:(
this
.
type
==
'custom'
?
title
:
'产品'
)
+
'订单列表'
});
await
this
.
getData
();
this
.
global
.
$off
(
'clickTd'
);
...
...
@@ -101,7 +111,11 @@ export default {
{
key
:
"end_date"
,
value
:
this
.
hdr
.
end_date
}
];
if
(
this
.
type
==
'custom'
){
if
(
this
.
hdr
.
sType
==
'采购'
||
this
.
hdr
.
sType
==
'加工'
||
this
.
hdr
.
sType
==
'检验'
){
postData
.
push
({
key
:
"upbProviderGUID"
,
value
:
this
.
orderItem
.
upbProviderGUID
})
}
else
{
postData
.
push
({
key
:
"upbCustomerGUID"
,
value
:
this
.
orderItem
.
upbCustomerGUID
})
}
}
else
{
postData
.
push
({
key
:
"sSampleMaterialNo"
,
value
:
this
.
orderItem
.
sSampleMaterialNo
})
}
...
...
@@ -111,7 +125,7 @@ export default {
},
'加载中'
,{})
res
.
map
(
x
=>
{
x
.
sOrderNoHTML
=
`<div><span style="text-decoration:underline;">
${
x
.
sOrderNo
}
</span></div>`
;
x
.
n
QtyHTML
=
`<div><span style="color:#339966;">
${
x
.
nQty
}
</span></div>`
;
x
.
n
AmountHTML
=
`<div><span style="color:#339966;">
${
x
.
nAmount
||
''
}
</span></div>`
;
})
this
.
list
=
res
;
}
...
...
src/view/tiip/kanban/operateDetail.vue
View file @
83944505
...
...
@@ -74,7 +74,7 @@
<
template
>
<div
id=
"tiipOperateDetail"
>
<div
class=
"page height"
>
<div
class=
"page height"
v-if=
"showTab"
>
<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"
>
...
...
@@ -94,12 +94,79 @@ export default {
data
()
{
return
{
list
:[],
columns
:[
columns
:[],
tableStyle
:{
theadBgColor
:
'rgba(223,238,253,1)'
,
complexTrBgColor
:
'white'
,
singleTrBgColor
:
'#eef4fe'
,
theadTdBorder
:
false
,
tbodyTdBorder
:
false
,
tbodyHeight
:
'calc(100%)'
,
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'
,
}
],
showTab
:
true
}
},
computed
:{
...
mapState
({
hdr
:
state
=>
state
.
kanban
.
hdr
,
isRefresh
:
state
=>
state
.
app
.
isRefresh
})
},
async
mounted
(){
window
.
d
=
this
;
},
async
activated
(){
this
.
showTab
=
true
;
if
(
this
.
isRefresh
){
this
.
activeTab
=
0
;
this
.
$store
.
dispatch
(
'saveRefresh'
,
false
);
}
this
.
$store
.
dispatch
(
"CAHNGE_META_INFO"
,
{
title
:
this
.
hdr
.
sType
+
'详情'
});
await
this
.
getData
();
if
(
this
.
hdr
.
sType
==
'采购'
){
this
.
tabList
=
[
{
value
:
'供应商信息'
,
key
:
'0'
},
{
value
:
'采购产品'
,
key
:
'1'
}
];
this
.
columns
=
[
{
width
:
'25%'
,
name
:
'
客户
'
,
name
:
'
供应商
'
,
align
:
'center'
,
field
:
's
Custom
erNameHTML'
,
field
:
's
Provid
erNameHTML'
,
underline
:
true
,
color
:
'#2d8cf0'
,
},
...
...
@@ -107,79 +174,134 @@ export default {
width
:
'25%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'n
Amount
'
,
field
:
'n
QtyHTML
'
,
},
{
width
:
'25%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'n
QtyHTML'
,
field
:
'n
AmountHTML'
},
{
width
:
'25%'
,
name
:
'
销售
员'
,
name
:
'
采购
员'
,
align
:
'center'
,
field
:
's
Sales
NameHTML'
,
underline
:
true
field
:
's
Follower
NameHTML'
,
underline
:
true
,
}
],
tableStyle
:{
theadBgColor
:
'rgba(223,238,253,1)'
,
complexTrBgColor
:
'white'
,
singleTrBgColor
:
'#eef4fe'
,
theadTdBorder
:
false
,
tbodyTdBorder
:
false
,
tbodyHeight
:
'calc(100vh - 50px)'
,
tbodyTrBorderBottom
:
'1px solid #5cadff'
,
width
:
'100%'
},
activeTab
:
0
,
tabList
:[
]
}
else
if
(
this
.
hdr
.
sType
==
'加工'
){
this
.
tabList
=
[
{
value
:
'
客户信息
'
,
value
:
'
坯布加工
'
,
key
:
'0'
},
{
value
:
'
产品信息
'
,
value
:
'
成品加工
'
,
key
:
'1'
}
]
,
columns1
:
[
]
;
this
.
columns
=
[
{
width
:
'
40
%'
,
name
:
'
产品
'
,
width
:
'
25
%'
,
name
:
'
加工商
'
,
align
:
'center'
,
field
:
'sMaterial'
,
field
:
'sProviderNameHTML'
,
underline
:
true
,
color
:
'#2d8cf0'
,
},
{
width
:
'25%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nQtyHTML'
,
},
{
width
:
'25%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
},
{
width
:
'25%'
,
name
:
'加工员'
,
align
:
'center'
,
field
:
'sFollowerNameHTML'
,
underline
:
true
,
},
]
}
else
if
(
this
.
hdr
.
sType
==
'检验'
){
this
.
showTab
=
false
;
this
.
columns
=
[
{
width
:
'25%'
,
name
:
'加工商'
,
align
:
'center'
,
field
:
'sProviderNameHTML'
,
underline
:
true
,
color
:
'#2d8cf0'
,
},
{
width
:
'30%'
,
name
:
'产品'
,
align
:
'center'
,
field
:
'sMaterialHTML'
,
},
{
width
:
'20%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'n
Amount
'
,
field
:
'n
QtyHTML
'
,
},
{
width
:
'
30
%'
,
width
:
'
25
%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nQtyHTML'
,
}
],
field
:
'nAmountHTML'
,
}
]
}
else
{
this
.
columns
=
[
{
width
:
'25%'
,
name
:
'客户'
,
align
:
'center'
,
field
:
'sCustomerNameHTML'
,
underline
:
true
,
color
:
'#2d8cf0'
,
},
computed
:{
...
mapState
({
hdr
:
state
=>
state
.
kanban
.
hdr
})
{
width
:
'25%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'nQtyHTML'
,
ellipsis
:
true
},
async
mounted
(){
window
.
d
=
this
;
{
width
:
'25%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'nAmountHTML'
,
},
async
activated
(){
this
.
$store
.
dispatch
(
"CAHNGE_META_INFO"
,
{
title
:
this
.
hdr
.
sType
+
'详情'
});
await
this
.
getData
();
{
width
:
'25%'
,
name
:
'销售员'
,
align
:
'center'
,
field
:
'sSalesNameHTML'
,
underline
:
true
}
]
this
.
tabList
=
[
{
value
:
'客户信息'
,
key
:
'0'
},
{
value
:
'产品信息'
,
key
:
'1'
}
]
}
this
.
global
.
$off
(
'clickTd'
);
//点击表格列触发
...
...
@@ -215,13 +337,18 @@ export default {
if
(
this
.
activeTab
==
1
){
res
.
map
(
x
=>
{
x
.
sMaterial
=
`<div><span style="color:#FF6633">
${
x
.
sSampleMaterialNo
}
</span><br><span style="color:black;">
${
x
.
sSampleMaterialName
}
</span></div>`
x
.
nQtyHTML
=
`<div><span style="color:#339966;">
${
x
.
nQty
}
</span></div>`
;
x
.
nAmountHTML
=
`<div><span style="color:#339966;">
${
x
.
nAmount
||
''
}
</span></div>`
;
x
.
nQtyHTML
=
`<div><span">
${
x
.
nQty
||
x
.
nOutQty
}
</span></div>`
;
})
}
else
{
res
.
map
(
x
=>
{
x
.
sCustomerNameHTML
=
`<div><span style="text-decoration:underline;">
${
x
.
sCustomerName
}
</span></div>`
x
.
sSalesNameHTML
=
`<div><span style="text-decoration:underline;">
${
x
.
sSalesName
}
</span></div>`
x
.
nQtyHTML
=
`<div><span style="color:#339966;">
${
x
.
nQty
}
</span></div>`
;
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>`
;
x
.
nAmountHTML
=
`<div><span style="color:#339966;">
${
x
.
nAmount
||
''
}
</span></div>`
;
x
.
nQtyHTML
=
`<div><span">
${
x
.
nQty
||
x
.
nOutQty
}
</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>`
;
})
}
this
.
list
=
res
;
...
...
src/view/tiip/kanban/operateSaleDetail.vue
View file @
83944505
...
...
@@ -43,13 +43,13 @@ export default {
width
:
'30%'
,
name
:
'数量'
,
align
:
'center'
,
field
:
'n
Amount
'
,
field
:
'n
Qty
'
,
},
{
width
:
'30%'
,
name
:
'金额'
,
align
:
'center'
,
field
:
'n
Qty
HTML'
,
field
:
'n
Amount
HTML'
,
}
],
tableStyle
:{
...
...
@@ -59,7 +59,7 @@ export default {
theadTdBorder
:
false
,
tbodyTdBorder
:
false
,
tbodyHeight
:
'calc(100vh)'
,
tbodyTrBorderBottom
:
'1px solid #
5cadff
'
,
tbodyTrBorderBottom
:
'1px solid #
dbe9f8
'
,
width
:
'100%'
},
}
...
...
@@ -84,19 +84,35 @@ export default {
},
methods
:{
async
getData
(){
let
res
=
await
this
.
request
(
'getBoss'
,{
data
:[
let
postData
=
[
{
key
:
"url"
,
value
:
'Operation gai sType-customer-sales'
},
{
key
:
"upbSalesGUID"
,
value
:
this
.
orderItem
.
upbSalesGUID
},
{
key
:
"sType"
,
value
:
this
.
hdr
.
sType
},
{
key
:
"begin_date"
,
value
:
this
.
hdr
.
begin_date
},
{
key
:
"end_date"
,
value
:
this
.
hdr
.
end_date
}
],
]
if
(
this
.
hdr
.
sType
==
'采购'
||
this
.
hdr
.
sType
==
'加工'
){
postData
.
push
({
key
:
"upbFollowerGUID"
,
value
:
this
.
orderItem
.
upbFollowerGUID
});
}
else
{
postData
.
push
({
key
:
"upbSalesGUID"
,
value
:
this
.
orderItem
.
upbSalesGUID
});
}
let
res
=
await
this
.
request
(
'getBoss'
,{
data
:
postData
,
params
:{},
},
'加载中'
,{})
res
.
map
(
x
=>
{
x
.
sSalesNameHTML
=
`<div><span style="text-decoration:underline;">
${
x
.
sSalesName
}
</span></div>`
x
.
nQtyHTML
=
`<div><span style="color:#339966;">
${
x
.
nQty
}
</span></div>`
;
if
(
this
.
hdr
.
sType
==
'采购'
||
this
.
hdr
.
sType
==
'加工'
){
if
(
this
.
hdr
.
sType
==
'加工'
){
this
.
columns
[
0
].
name
=
'加工员名称'
;
}
else
if
(
this
.
hdr
.
sType
==
'采购'
){
this
.
columns
[
0
].
name
=
'采购员名称'
;
}
this
.
columns
[
0
].
field
=
'sFollowerNameHTML'
;
x
.
sFollowerNameHTML
=
`<div><span style="text-decoration:underline;">
${
x
.
sFollowerName
}
</span></div>`
;
}
else
{
x
.
sSalesNameHTML
=
`<div><span style="text-decoration:underline;">
${
x
.
sSalesName
}
</span></div>`
;
}
x
.
nAmountHTML
=
`<div><span style="color:#339966;">
${
x
.
nAmount
}
</span></div>`
;
})
this
.
list
=
res
;
}
...
...
src/view/tiip/profitAnalysis/index.vue
View file @
83944505
...
...
@@ -109,8 +109,8 @@ export default {
singleTrBgColor
:
'#eef4fe'
,
theadTdBorder
:
false
,
tbodyTdBorder
:
false
,
tbodyHeight
:
'calc(100vh -
20
0px)'
,
tbodyTrBorderBottom
:
'1px solid #
5cadff
'
tbodyHeight
:
'calc(100vh -
16
0px)'
,
tbodyTrBorderBottom
:
'1px solid #
dbe9f8
'
},
status
:[],
showModal
:
false
,
...
...
src/view/tiip/searchOrder/index.vue
View file @
83944505
...
...
@@ -124,8 +124,8 @@ export default {
singleTrBgColor
:
'#eef4fe'
,
theadTdBorder
:
false
,
tbodyTdBorder
:
false
,
tbodyHeight
:
'calc(100vh - 1
6
0px)'
,
tbodyTrBorderBottom
:
'1px solid #
5cadff
'
,
tbodyHeight
:
'calc(100vh - 1
2
0px)'
,
tbodyTrBorderBottom
:
'1px solid #
dbe9f8
'
,
width
:
'100%'
},
host
:
'https://weixin.huansi.net/apiproxy/huansi/service/proxy/'
,
...
...
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