Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
H
hs-app-project
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
李星剑
hs-app-project
Commits
e1b9231b
Commit
e1b9231b
authored
Jan 17, 2022
by
Zheng Shang Jun
Browse files
Options
Browse Files
Download
Plain Diff
最新冲突解决
parents
8ffbf5b1
f70f1c6e
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
1924 additions
and
547 deletions
+1924
-547
index.js
src/config/request/apiList/mdm/colour/index.js
+12
-0
index.js
src/config/request/apiList/mdm/index.js
+2
-0
index.js
src/config/request/apiList/plm/index.js
+11
-1
index.js
src/config/request/apiList/plm/mobileBrand/index.js
+28
-0
index.js
src/config/request/apiList/plm/stylelibraryorder/index.js
+44
-0
pages.json
src/pages.json
+13
-9
brands.vue
src/pages/brands/brands.vue
+57
-10
hotStyle.vue
src/pages/brands/components/hotStyle.vue
+31
-8
hs-material-thumbnail.vue
src/pages/brands/components/hs-material-thumbnail.vue
+94
-83
detail.vue
src/pages/brands/detail.vue
+129
-59
everyDay.vue
src/pages/brands/everyDay.vue
+35
-6
index.vue
src/pages/home/index.vue
+124
-82
createMaterial.vue
src/pages/material/createMaterial.vue
+549
-108
entrustItem.vue
src/pages/material/entrustItem.vue
+55
-26
entrustList.vue
src/pages/material/entrustList.vue
+82
-28
entrustManagement.vue
src/pages/material/entrustManagement.vue
+252
-91
entrustManagementItem.vue
src/pages/material/entrustManagementItem.vue
+72
-28
material.js
src/pages/material/mixins/material.js
+46
-0
step.js
src/pages/material/mixins/step.js
+64
-0
selectType.vue
src/pages/material/selectType.vue
+1
-0
addItem.vue
src/pages/modeling/addItem.vue
+21
-7
item.vue
src/pages/order/item.vue
+198
-0
login.vue
src/pages/user/login/login.vue
+4
-1
empty.png
src/static/images/components/empty/empty.png
+0
-0
empty@2x.png
src/static/images/components/empty/empty@2x.png
+0
-0
No files found.
src/config/request/apiList/mdm/colour/index.js
0 → 100644
View file @
e1b9231b
import
config
from
"../config/index"
;
let
className
=
'colour'
;
let
baseUrl
=
`
${
config
.
baseUrl
}
/
${
className
}
`
export
default
{
[
className
]:{
'selectColour'
:{
url
:
`
${
baseUrl
}
/selectColour`
,
method
:
'get'
}
}
}
src/config/request/apiList/mdm/index.js
View file @
e1b9231b
import
materialinfo
from
'./materialinfo/index'
import
colour
from
'./colour/index'
export
default
{
...
materialinfo
,
...
colour
,
}
src/config/request/apiList/plm/index.js
View file @
e1b9231b
/*
* @Author: your name
* @Date: 2022-01-14 11:42:25
* @LastEditTime: 2022-01-14 13:56:35
* @LastEditors: your name
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /hs-app-project/src/config/request/apiList/plm/index.js
*/
import
stylelibraryorder
from
'./stylelibraryorder/index'
import
modelingtask
from
'./modelingtask'
import
mobileBrand
from
'./mobileBrand'
export
default
{
...
stylelibraryorder
,
...
modelingtask
...
modelingtask
,
...
mobileBrand
}
src/config/request/apiList/plm/mobileBrand/index.js
0 → 100644
View file @
e1b9231b
/*
* @Author: your name
* @Date: 2022-01-14 13:55:11
* @LastEditTime: 2022-01-14 16:50:17
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /hs-app-project/src/config/request/apiList/plm/mobileBrand/index.js
*/
import
config
from
"../config/index"
;
let
className
=
'mobileBrand'
let
baseUrl
=
`
${
config
.
baseUrl
}
/
${
className
}
`
export
default
{
[
className
]:{
'dailyNewStylePage'
:
{
url
:
`
${
baseUrl
}
/dailyNewStylePage`
,
method
:
"post"
,
},
'stylePage'
:
{
url
:
`
${
baseUrl
}
/stylePage`
,
method
:
"post"
,
},
'styleDetail'
:
{
url
:
`
${
baseUrl
}
/styleDetail`
,
method
:
"get"
,
},
}
}
\ No newline at end of file
src/config/request/apiList/plm/stylelibraryorder/index.js
View file @
e1b9231b
...
...
@@ -10,6 +10,50 @@ export default {
'details'
:{
url
:
`
${
baseUrl
}
/details`
,
method
:
'get'
},
// 潜在客户列表
'potentialCustomersPage'
:{
url
:
`
${
baseUrl
}
/potentialCustomersPage`
,
method
:
'post'
},
// 潜在客户详情 enterpriseId
'potentialCustomersDetails'
:{
url
:
`
${
baseUrl
}
/potentialCustomersDetails`
,
method
:
'get'
},
// 上架单列表
'listingList'
:{
url
:
`
${
baseUrl
}
/listingList`
,
method
:
'post'
},
// 上架单详情
'listingDetails'
:{
url
:
`
${
baseUrl
}
/listingList`
,
method
:
'get'
},
// 上架管理列表
'getToShelvesManagerList'
:{
url
:
`
${
baseUrl
}
/getToShelvesManagerList`
,
method
:
'get'
},
// 上架管理详情
'getStyleDetails'
:{
url
:
`
${
baseUrl
}
/getStyleDetails`
,
method
:
'get'
},
// 加入待上架
'addToShelves'
:{
url
:
`
${
baseUrl
}
/addToShelves`
,
method
:
'post'
},
// 一键上架
'oneClickListing'
:{
url
:
`
${
baseUrl
}
/oneClickListing`
,
method
:
'post'
},
'unlisted'
:{
url
:
`
${
baseUrl
}
/unlisted`
,
method
:
'post'
}
}
}
src/pages.json
View file @
e1b9231b
...
...
@@ -7,9 +7,9 @@
//pages数组中第一项表示应用启动页,参考:https
:
//uniapp.dcloud.io/collocation/pages
//品牌商首页
{
"path"
:
"pages/
brands/brands
"
,
"path"
:
"pages/
home/tenantSelection
"
,
"style"
:
{
"navigationBarTitleText"
:
"
品牌商首页
"
,
"navigationBarTitleText"
:
"
租户选择
"
,
"navigationBarTextStyle"
:
"white"
,
"enablePullDownRefresh"
:
false
,
"navigationStyle"
:
"custom"
,
...
...
@@ -21,9 +21,9 @@
}
},
{
"path"
:
"pages/
home/tenantSelection
"
,
"path"
:
"pages/
brands/brands
"
,
"style"
:
{
"navigationBarTitleText"
:
"
租户选择
"
,
"navigationBarTitleText"
:
"
品牌商首页
"
,
"navigationBarTextStyle"
:
"white"
,
"enablePullDownRefresh"
:
false
,
"navigationStyle"
:
"custom"
,
...
...
@@ -43,6 +43,15 @@
"navigationStyle"
:
"custom"
}
},
{
"path"
:
"pages/order/item"
,
"style"
:
{
"navigationBarTitleText"
:
"模拟登录"
,
"navigationBarTextStyle"
:
"white"
,
"enablePullDownRefresh"
:
false
,
"navigationStyle"
:
"custom"
}
},
{
"path"
:
"pages/user/center/index"
,
"style"
:
{
...
...
@@ -115,7 +124,6 @@
"navigationStyle"
:
"custom"
}
},
{
"path"
:
"pages/user/register/stepSelectType"
,
"style"
:
{
...
...
@@ -162,7 +170,6 @@
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/designCommissioned/listSelectToAdd"
,
"style"
:
{
...
...
@@ -199,7 +206,6 @@
"navigationStyle"
:
"custom"
}
},
{
"path"
:
"pages/user/register/stepSelectType"
,
"style"
:
{
...
...
@@ -246,7 +252,6 @@
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/designCommissioned/listSelectToAdd"
,
"style"
:
{
...
...
@@ -283,7 +288,6 @@
"navigationStyle"
:
"custom"
}
},
{
"path"
:
"pages/designCommissioned/splitItem"
,
"style"
:
{
...
...
src/pages/brands/brands.vue
View file @
e1b9231b
...
...
@@ -6,13 +6,13 @@
<u-navbar
title=
""
:border-bottom=
"false"
:background=
"background"
>
<template
slot=
"right"
>
<!-- 插槽搜索按钮 -->
<view
@
click=
"searchCli"
class=
"u-m-r-24 search"
>
<image
<view
@
click=
"searchCli"
class=
"u-m-r-24 search"
>
<image
class=
"hs-img"
src=
"../../static/images/home/search@2x.png"
mode=
""
></image
>
</view>
></image
>
</view>
</
template
>
</u-navbar>
</view>
...
...
@@ -24,13 +24,20 @@
</view>
<view
slot=
"body"
>
<view
class=
"imgList"
>
<image
v-for=
"(item, index) in dailyNewStyleList"
:key=
"index"
:src=
"`${imgUrl}${item.originalImageCode}`"
mode=
""
></image>
<!--
<image src="../../static/images/brank/mei1.jpg" mode=""></image>
<image src="../../static/images/brank/mei1.jpg" mode=""></image>
<image src="../../static/images/brank/mei1.jpg" mode=""></image>
<image src="../../static/images/brank/mei1.jpg" mode=""></image>
<image src="../../static/images/brank/mei1.jpg" mode=""></image>
<image src="../../static/images/brank/mei1.jpg" mode=""></image>
<image
src=
"../../static/images/brank/mei1.jpg"
mode=
""
></image>
<image src="../../static/images/brank/mei1.jpg" mode=""></image>
-->
</view>
</view>
</u-card>
...
...
@@ -43,10 +50,13 @@
</view>
<view
slot=
"body"
>
<view
class=
"hotFlex"
>
<hot-style
v-if=
"hotStylePage.records.length > 0"
:recordsList=
"hotStylePage.records"
></hot-style>
<!-- <hot-style></hot-style>
<hot-style></hot-style>
<hot-style></hot-style>
<hot-style></hot-style>
<hot-style></hot-style>
<hot-style></hot-style> -->
</view>
</view>
</u-card>
...
...
@@ -60,12 +70,25 @@
import
headTitle
from
"./components/header"
;
//每日更新头部的东西
import
hotStyle
from
"./components/hotStyle"
;
//热门款式
export
default
{
components
:
{
headTitle
,
hotStyle
},
components
:
{
headTitle
,
hotStyle
,
},
data
()
{
return
{
background
:
{
backgroundColor
:
"rgba(245,245,245,0)"
},
fabricObj
:
""
,
dailyNewStyleList
:
[],
hotStylePage
:
[],
imgUrl
:
this
.
$IMG_URL
,
// 上传地址
background
:
{
backgroundColor
:
"rgba(245,245,245,0)"
,
},
};
},
created
()
{
console
.
log
(
"ces"
);
this
.
getList
();
},
methods
:
{
// 搜索按钮
searchCli
()
{
...
...
@@ -73,6 +96,21 @@ export default {
},
headTab
()
{
this
.
$router
.
push
(
"pages/brands/everyDay"
);
// this.$router.push("pages/brands/detail");
},
getList
()
{
let
param
=
{
current
:
1
,
size
:
10
,
styleTag
:
""
,
};
this
.
$http
(
"mobileBrand.stylePage"
,
param
).
then
((
res
)
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
===
200
)
{
this
.
dailyNewStyleList
=
data
.
dailyNewStyleList
;
this
.
hotStylePage
=
data
.
hotStylePage
;
}
});
},
},
};
...
...
@@ -95,12 +133,15 @@ export default {
width
:
60rpx
;
height
:
60rpx
;
}
//每日更新
.everyUpdate
{
width
:
100%
;
::v-deep
.u-card__body
{
padding
:
0rpx
0rpx
40rpx
36rpx
!
important
;
}
::v-deep
.u-card__head
{
padding-bottom
:
34rpx
!
important
;
}
...
...
@@ -108,6 +149,8 @@ export default {
.imgList
{
overflow-x
:
auto
;
white-space
:
nowrap
;
display
:
flex
;
image
{
width
:
240rpx
;
height
:
160rpx
;
...
...
@@ -116,15 +159,19 @@ export default {
}
}
}
//热门款式
.hotstyle
{
::v-deep
.u-card__body
{
padding-top
:
24rpx
!
important
;
}
::v-deep
.u-card__head
{
padding-bottom
:
0rpx
!
important
;
}
width
:
100%
;
.hotFlex
{
display
:
flex
;
flex-wrap
:
wrap
;
...
...
src/pages/brands/components/hotStyle.vue
View file @
e1b9231b
...
...
@@ -6,7 +6,7 @@
src=
"@/static/images/brank/mei1.jpg"
></image>
<view
class=
"hotborder"
>
<view
class=
"hotText1"
>
男装-上装-青年-时尚休闲
</view>
<view
class=
"hotText1"
>
{{
item
.
styleTag
}}
</view>
<view
class=
"hotText2"
>
<image
class=
"iconhot"
src=
"@/static/images/brank/mei1.jpg"
></image>
<text
class=
"wen"
>
我的文字是dsadasdasddsads
</text>
...
...
@@ -45,31 +45,48 @@ export default {
this
.
$u
.
toast
(
`已取消收藏`
);
}
},
methods
:
{
// 点击切换心心选项
tabImage
()
{
this
.
ImageBool
=
!
this
.
ImageBool
;
},
// 跳转到详情
tabdetail
()
{
this
.
$router
.
push
(
"pages/brands/detail?id=2"
);
tabdetail
(
item
)
{
// console.log("KKK");
this
.
$router
.
push
(
"/pages/brands/detail?id="
+
item
.
id
);
// this.$router.push("pages/brands/everyDay");
},
},
};
}
</
script
>
<
style
lang=
"scss"
scoped
>
.whole
{
display
:
flex
;
flex-wrap
:
wrap
;
}
.hots
{
height
:
578rpx
;
width
:
330rpx
;
margin-bottom
:
20rpx
;
margin-right
:
16rpx
;
// flex: 1;
.indexhot
{
display
:
block
;
height
:
434rpx
;
width
:
330rpx
;
border-radius
:
10rpx
10rpx
0
0
;
}
.hotborder
{
height
:
144rpx
;
// width: 193rpx;
border
:
2rpx
solid
#e3e1e0
;
// border-top: 0rpx !important;
border-radius
:
0
0
10rpx
10rpx
;
}
.hotText1
{
font-size
:
24rpx
;
font-family
:
PingFangSC
,
PingFangSC-Regular
;
...
...
@@ -77,27 +94,33 @@ export default {
color
:
rgba
(
0
,
0
,
0
,
0
.8
);
margin
:
24rpx
28rpx
0
20rpx
;
}
.hotText2
{
width
:
100%
;
// background-color: red;
margin-top
:
16rpx
;
display
:
flex
;
align-items
:
center
;
// margin: 24rpx 0rpx 0 20rpx;
.iconhot
{
width
:
40rpx
;
height
:
40rpx
;
margin-left
:
20rpx
;
}
.wen
{
width
:
192rpx
;
font-size
:
24rpx
;
margin-left
:
10rpx
;
overflow
:
hidden
;
/*超出部分隐藏*/
white-space
:
nowrap
;
/*禁止换行*/
overflow
:
hidden
;
/*超出部分隐藏*/
white-space
:
nowrap
;
/*禁止换行*/
text-overflow
:
ellipsis
;
}
.iconLove
{
width
:
36rpx
;
height
:
32rpx
;
...
...
src/pages/brands/components/hs-material-thumbnail.vue
View file @
e1b9231b
<
template
>
<view
class=
"home_con_content_order"
@
click=
"click"
>
<image
<
!--
<
image
class=
"width_100 hs-height-160"
src=
"@/static/images/home/1@2x.png"
mode=
""
></image>
></image>
-->
<!--
<image
class=
"width_100 hs-height-160"
:src=
"`$
{imgUrl}${fileCode}`"> -->
<template
v-for=
"item,index in colourApiList"
>
<image
:key=
"index"
v-if=
"item.isMain"
class=
"width_100 hs-height-160"
:src=
"`$
{imgUrl}${item.fileCode}`" />
</
template
>
<view
class=
"order_tit"
>
<view
class=
"u-flex justify-between u-font-32"
>
<span
class=
"color_DDA973 u-line-1"
>
{{
item
.
materialName
}}
加厚荷兰绒绒布布料
</span
>
<span
class=
"color_DDA973 u-line-1"
>
{{ item.materialName }}
<!-- 加厚荷兰绒绒布布料 -->
</span
>
</view>
<view
class=
"u-font-24 u-m-t-20 color_6F6F72"
>
<span
class=
"u-m-r-10"
>
{{
item
.
materialC
ategory
}}
</span>
<span
class=
"u-m-r-10"
>
{{ item.
c
ategory }}
</span>
|
<span
class=
"u-m-l-10 u-m-r-10"
>
{{
item
.
materialDoor
Width
}}
cm
</span>
<span
class=
"u-m-l-10 u-m-r-10"
>
{{ item.
cloth
Width }} cm
</span>
|
<span
class=
"u-m-l-10"
>
{{
item
.
materialElem
ent
}}
</span>
<span
class=
"u-m-l-10"
>
{{ item.
compon
ent }}
</span>
</view>
</view>
</view>
</template>
<
script
>
export
default
{
export
default
{
name
:
"hs-material-thumbnail"
,
props
:
{
item
:
{
type
:
Object
,
default
:
()
=>
{},
},
colourApiList
:
{
type
:
Array
,
default
:
[]
}
},
data
()
{
return
{};
...
...
@@ -39,11 +48,11 @@ export default {
this
.
$emit
(
"click"
);
},
},
};
};
</
script
>
<
style
scoped
lang=
"scss"
>
.home_con_content_order
{
.home_con_content_order
{
position
:
relative
;
display
:
flex
;
align-items
:
center
;
...
...
@@ -52,6 +61,7 @@ export default {
border-radius
:
8rpx
;
overflow
:
hidden
;
width
:
100%
;
.order_tit
{
position
:
absolute
;
width
:
75%
;
...
...
@@ -62,35 +72,36 @@ export default {
padding
:
20rpx
;
flex
:
1
;
height
:
100%
;
background
:
rgba
(
17
,
21
,
30
,
0
.5
);
//
background: rgba(17, 21, 30, 0.5);
}
}
.width_30
{
}
.width_30
{
width
:
30%
;
}
}
.color_DDA973
{
.color_DDA973
{
color
:
#dda973
;
}
}
.color_6F6F72
{
.color_6F6F72
{
color
:
#6f6f72
;
}
}
.bd_dashed
{
.bd_dashed
{
position
:
relative
;
}
}
.bd_dashed
:after
{
.bd_dashed
:after
{
border-width
:
1px
;
}
}
.bd_dashed-bottom
:after
,
.bd_dashed-left
:after
,
.bd_dashed-right
:after
,
.bd_dashed-top-bottom
:after
,
.bd_dashed-top
:after
,
.bd_dashed
:after
{
.bd_dashed-bottom
:after
,
.bd_dashed-left
:after
,
.bd_dashed-right
:after
,
.bd_dashed-top-bottom
:after
,
.bd_dashed-top
:after
,
.bd_dashed
:after
{
content
:
" "
;
position
:
absolute
;
left
:
0
;
...
...
@@ -103,11 +114,11 @@ export default {
transform
:
scale
(
0
.5
,
0
.5
);
border
:
1px
dashed
#e4e7ed
;
z-index
:
2
;
}
}
.ov_hiden
{
.ov_hiden
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
}
</
style
>
\ No newline at end of file
src/pages/brands/detail.vue
View file @
e1b9231b
...
...
@@ -8,7 +8,7 @@
>
</u-navbar>
<view>
<u-image
height=
"750rpx"
src=
"@/static/images/brank/deImg.png
"
></u-image>
<u-image
height=
"750rpx"
:src=
"`$
{imgUrl}${tabledata.originalImageCode}`
">
</u-image>
</view>
<view
class=
"u-p-r-30 u-p-l-30"
>
<!--款式信息 -->
...
...
@@ -16,26 +16,26 @@
<view
class=
"u-border-bottom u-line-88"
>
款式信息
</view>
<view
class=
"fabric u-m-t-24"
>
<text
class=
"textStyle1"
>
产品款号
</text>
<text
class=
"textStyle2"
>
AS23124
</text>
<text
class=
"textStyle2"
>
{{
tabledata
.
styleCode
}}
</text>
</view>
<view
class=
"fabric u-m-t-8"
>
<text
class=
"textStyle1"
>
面料供应商
</text>
<text
class=
"textStyle2"
>
AS23124
</text>
<text
class=
"textStyle2"
>
{{
tabledata
.
supplierName
}}
</text>
</view>
</view>
<!-- 面料信息 -->
<view
class=
"bg-fff u-p-r-30 u-p-b-30 u-p-l-30 item"
>
<view
class=
"u-border-bottom u-line-88"
>
面料信息
</view>
<view
class=
"u-m-t-30 u-m-b-56"
>
<material
:item=
"item"
></material>
<material
:item=
"item"
:colourApiList=
"tabledata.colourApiList"
></material>
</view>
<!-- 其他颜色 -->
<view
class=
"u-flex"
>
<view
class=
"overflow u-flex-1"
>
<view>
其他颜色
</view>
<view>
<view
class=
"image u-m-r-10"
>
<image
src=
"
"
style=
"width: 100%; height: 100%"
></image>
<view
class=
"image u-m-r-10"
v-for=
"item,index in tabledata.colourApiList"
:key=
"index"
>
<image
v-if=
"item.isMain"
:src=
"`$
{imgUrl}${item.fileCode}`
" style="width: 100%; height: 100%">
</image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
</view>
<view
class=
"image u-m-r-10"
>
...
...
@@ -43,12 +43,14 @@
src=
"@/static/images/brank/mei1.jpg"
style=
"width: 100%; height: 100%"
></image>
<!--
<view
class=
"image u-m-r-10"
>
<image
src=
""
style=
"width: 100%; height: 100%"
></image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
</view>
<view
class=
"image u-m-r-10"
>
<image
src=
""
style=
"width: 100%; height: 100%"
></image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
</view>
</view>
-->
</view>
</view>
</view>
...
...
@@ -63,15 +65,53 @@
</
template
>
<
script
>
import
material
from
"./components/hs-material-thumbnail.vue"
;
export
default
{
components
:
{
material
},
import
material
from
"./components/hs-material-thumbnail.vue"
;
export
default
{
components
:
{
material
},
data
()
{
return
{
tabledata
:{},
item
:
{},
id
:
""
,
imgUrl
:
this
.
$IMG_URL
,
// 上传地址
};
},
};
watch
:
{
id
:
{
handler
()
{
console
.
log
(
"oid"
);
this
.
detail
()
}
}
},
created
()
{
this
.
detail
()
},
onLoad
(
options
)
{
this
.
id
=
options
.
id
;
},
methods
:
{
detail
()
{
let
param
=
{
id
:
this
.
id
}
this
.
$http
(
'mobileBrand.styleDetail'
,
param
).
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
===
200
)
{
this
.
tabledata
=
data
this
.
item
=
data
.
materialInfo
}
});
}
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
@@ -113,17 +153,44 @@ $main-color: #fff;
border-radius
:
44rpx
;
color
:
white
;
}
}
.u-line-88
{
.textStyle2
{
margin-left
:
40rpx
;
font-size
:
14px
;
font-family
:
PingFangSC
,
PingFangSC-Regular
;
font-weight
:
500
;
color
:
#333333
;
}
// 我要采购布样
.sampling
{
position
:
fixed
;
bottom
:
0
;
width
:
750rpx
;
height
:
100rpx
;
background
:
#ffffff
;
box-shadow
:
0px
-2px
3px
0px
rgba
(
178
,
182
,
214
,
0
.1
);
.u-btn
{
width
:
630rpx
;
height
:
88rpx
;
background
:
rgba
(
0
,
0
,
0
,
0
.8
);
border-radius
:
44rpx
;
color
:
white
;
}
}
.u-line-88
{
line-height
:
88rpx
;
}
.bg-fff
{
}
.bg-fff
{
position
:
relative
;
top
:
-10rpx
;
background
:
#fff
;
}
.item
{
}
.item
{
width
:
100%
;
margin-bottom
:
28rpx
;
...
...
@@ -131,6 +198,7 @@ $main-color: #fff;
border-radius
:
16rpx
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0
.1
);
}
&
-tag
{
padding
:
6rpx
2px
;
background
:
$color
;
...
...
@@ -139,13 +207,14 @@ $main-color: #fff;
display
:
inline-block
;
margin-right
:
10rpx
;
}
}
}
.image
{
.image
{
position
:
relative
;
width
:
160rpx
;
height
:
160rpx
;
display
:
inline-block
;
&
-tip
{
text-align
:
center
;
width
:
100%
;
...
...
@@ -157,9 +226,10 @@ $main-color: #fff;
bottom
:
0
;
left
:
0
;
}
}
.overflow
{
}
.overflow
{
overflow-x
:
auto
;
white-space
:
nowrap
;
}
}
</
style
>
\ No newline at end of file
src/pages/brands/everyDay.vue
View file @
e1b9231b
<!--
* @Author: your name
* @Date: 2022-01-14 11:42:25
* @LastEditTime: 2022-01-14 15:24:14
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: /hs-app-project/src/pages/brands/everyDay.vue
-->
<
template
>
<!-- 每日上新 -->
<u-card
full
:head-border-bottom=
"false"
>
<view
slot=
"body"
>
<view
class=
"hotFlex"
>
<hot-style></hot-style>
<hot-style></hot-style>
<hot-style></hot-style>
<hot-style></hot-style>
<hot-style
v-if=
"recordsList.length>0"
:recordsList=
"recordsList"
></hot-style>
</view>
</view>
</u-card>
...
...
@@ -19,9 +24,33 @@ export default {
hotStyle
,
},
data
()
{
return
{};
return
{
recordsList
:[]
};
},
created
(){
console
.
log
(
"ces"
);
this
.
materialDetail
()
},
methods
:
{
materialDetail
()
{
let
param
=
{
"current"
:
1
,
"size"
:
10
,
"styleTag"
:
""
}
this
.
$http
(
'mobileBrand.dailyNewStylePage'
,
param
).
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
===
200
)
{
this
.
recordsList
=
data
.
records
;
console
.
log
(
this
.
recordsList
,
"this.recordsList"
);
}
});
}
},
methods
:
{},
};
</
script
>
...
...
src/pages/home/index.vue
View file @
e1b9231b
...
...
@@ -4,13 +4,7 @@
<view
id=
"header"
class=
"back_img"
>
<u-navbar
title=
""
:border-bottom=
"false"
:background=
"background"
>
<template
slot=
"right"
>
<view
@
click=
"searchCli"
class=
"u-m-r-24 search"
><image
class=
"hs-img"
src=
"../../static/images/home/search@2x.png"
mode=
""
></image
></view>
<view
@
click=
"searchCli"
class=
"u-m-r-24 search"
><image
class=
"hs-img"
src=
"../../static/images/home/search@2x.png"
mode=
""
></image></view>
</
template
>
</u-navbar>
</view>
...
...
@@ -22,43 +16,26 @@
</view>
</view>
<!-- 提示信息 -->
<view
v-if=
"abolishIds.length > 0"
class=
"u-m-t-20 tips background_d5aa7a u-font-28"
>
<view
v-if=
"abolishIds.length > 0"
class=
"u-m-t-20 tips background_d5aa7a u-font-28"
>
<view>
{{ abolishIds.length }}个委托单
<span
class=
"color_fff"
>
等待确认寄样,请尽快确认!
</span>
</view>
<view
class=
"color_fff btn u-p-l-10 u-p-r-10"
@
click=
"sampleConfirm"
>
寄样确认
</view
>
<view
class=
"color_fff btn u-p-l-10 u-p-r-10"
@
click=
"sampleConfirm"
>
寄样确认
</view>
</view>
<!-- 具体内容 我的面料 -->
<view
class=
"home_con u-m-t-20"
>
<view
class=
"home_con_tit"
>
<view>
<span
class=
"u-font-32"
>
我的面料
</span>
<span
style=
"line-height: 0"
class=
"u-m-l-10 color_000 u-font-24"
>
MY FABRIC
</span
>
<span
style=
"line-height: 0;"
class=
"u-m-l-10 color_000 u-font-24"
>
MY FABRIC
</span>
</view>
<view
class=
"u-font-24 color_d5aa7a"
@
click=
"seeFabric"
>
查看更多
</view>
</view>
<view
class=
"home_con_fabric"
>
<view
class=
"home_con_content u-m-t-24"
@
click=
"detailFabric(item)"
v-for=
"item in fiabricList"
>
<image
class=
"hs-img"
src=
"../../static/images/home/1@2x.png"
mode=
""
></image>
<view
class=
"home_con_content_font ov_hiden"
>
{{
item.materialName
}}
</view>
<view
class=
"home_con_content u-m-t-24"
@
click=
"detailFabric(item)"
v-for=
"item in fiabricList"
>
<image
class=
"hs-img"
src=
"../../static/images/home/1@2x.png"
mode=
""
></image>
<view
class=
"home_con_content_font ov_hiden"
>
{{ item.materialName }}
</view>
</view>
</view>
</view>
...
...
@@ -66,29 +43,34 @@
<view
class=
"home_con u-m-t-20"
>
<view
class=
"home_con_tit"
>
<view>
<span
class=
"u-font-32"
>
我的订单
</span>
<span
class=
"u-m-l-10 color_000 u-font-24"
>
MY
FABRIC
</span>
<span
class=
"u-font-32"
>
潜在客户
</span>
<span
class=
"u-m-l-10 color_000 u-font-24"
>
MY
ORDER
</span>
</view>
<
view
class=
"u-font-24 color_d5aa7a"
>
查看更多
</view
>
<
!-- <view class="u-font-24 color_d5aa7a">查看更多</view>--
>
</view>
<view
class=
"home_con_order"
>
<view
class=
"home_con_content_order u-m-t-24"
v-for=
"item in 4"
>
<image
style=
"width: 160rpx; height: 160rpx"
src=
"../../static/images/home/2.png"
mode=
""
></image>
<view
class=
"order_tit"
>
<view
class=
"u-font-32"
>
加厚荷兰绒绒布布料备份
</view>
<view
class=
"u-font-24 u-m-t-20"
>
<span>
针织
</span>
|
<span>
180cm
</span>
|
<span>
100%面备份
</span>
</view>
<view
class=
"u-p-t-20 u-p-b-20 "
>
<u-search
placeholder=
"请输入客户名称"
v-model=
"keyWord"
border-color=
"#e1e1e1"
height=
"76"
@
search=
"searchPotentialCustomers"
bg-color=
"#fff"
:show-action=
"false"
></u-search>
</view>
<view
class=
"item item--round"
v-for=
"(item) in list"
@
click=
"$Router.push({
path: '/pages/order/item',
query:{
id: item.enterpriseId
}
})"
>
<view
class=
"u-font-32 u-m-b-8 u-line-1"
>
{{ item.fullName }}
</view>
<view
class=
"u-font-24"
>
更新时间:{{ item.createTime }}
</view>
</view>
<!-- 加载更多 -->
<u-loadmore
v-if=
"!isEmpty"
height=
"80rpx"
:status=
"loadStatus"
icon-type=
"flower"
color=
"#ccc"
/>
<!-- 缺省页 -->
<hs-empty
v-if=
"isEmpty"
tipText=
"没有数据"
marginTop=
"100rpx"
:image=
"emptyImage"
></hs-empty>
</view>
</view>
...
...
@@ -98,10 +80,11 @@
<
script
>
import
HsTabBar
from
"../../components/hs-tab-bar/hs-tab-bar"
;
export
default
{
components
:
{
HsTabBar
},
components
:
{
HsTabBar
},
data
()
{
return
{
background
:
{
backgroundColor
:
"rgba(245,245,245,0)"
},
emptyImage
:
require
(
"@/static/images/components/empty/empty.png"
),
background
:
{
backgroundColor
:
'rgba(245,245,245,0)'
},
quantityNum
:
0
,
exceptionNum
:
0
,
abolishIds
:
[],
...
...
@@ -109,20 +92,20 @@ export default {
fiabricList
:
[],
buts
:
[
{
name
:
"面料建模"
,
img
:
"../../static/images/home/fabricModeling@2x.png"
,
url
:
"/pages/fabricModeling/modelingOrder"
,
name
:
'面料建模'
,
img
:
'../../static/images/home/fabricModeling@2x.png'
,
url
:
'/pages/fabricModeling/modelingOrder'
},
{
name
:
"搜款"
,
img
:
"../../static/images/home/styleEntrustment@2x.png"
,
url
:
"/pages/material/list"
,
name
:
'搜款'
,
img
:
'../../static/images/home/styleEntrustment@2x.png'
,
url
:
'/pages/material/list'
},
{
name
:
"上架管理"
,
img
:
"../../static/images/home/styleManageme@2x.png"
,
url
:
"/pages/material/entrustManagement"
,
}
,
name
:
'上架管理'
,
img
:
'../../static/images/home/styleManageme@2x.png'
,
url
:
'/pages/material/entrustManagement'
}
// TODO 旧版本 可能以后会用到
// {
// name: '面料建模',
...
...
@@ -145,26 +128,77 @@ export default {
// url: ''
// }
],
keyWord
:
''
,
loadStatus
:
'loadmore'
,
pageOptions
:{
current
:
1
,
size
:
10
,
},
list
:
[]
};
},
computed
:{
isEmpty
(){
return
this
.
list
.
length
===
0
}
},
onLoad
()
{
// this.toBeSelectedQuantity();
// this.orderTicketExceptionNum();
// this.noSampleOrder();
// this.materialList();
// 潜在客户
this
.
potentialCustomersPage
();
},
onPageScroll
(
object
)
{
let
height
=
486
/
2
;
if
(
object
.
scrollTop
>=
height
)
{
this
.
background
.
backgroundColor
=
"rgba(245,245,245,1)"
;
this
.
background
.
backgroundColor
=
'rgba(245,245,245,1)'
;
}
else
{
this
.
background
.
backgroundColor
=
"rgba(245,245,245,0)"
;
this
.
background
.
backgroundColor
=
'rgba(245,245,245,0)'
;
}
},
methods
:
{
searchPotentialCustomers
(){
this
.
pageOptions
=
{
current
:
1
,
size
:
10
,
};
this
.
potentialCustomersPage
();
},
// 潜在客户
potentialCustomersPage
(){
this
.
loadStatus
=
'loading'
;
this
.
$http
(
"stylelibraryorder.potentialCustomersPage"
,{
...
this
.
pageOptions
,
customerName
:
this
.
keyWord
,
status
:
0
})
.
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
===
200
)
{
if
(
Object
.
keys
(
data
).
length
>
0
){
this
.
list
=
data
.
records
;
this
.
pageOptions
.
pages
=
data
.
total
;
this
.
loadStatus
=
this
.
list
.
length
<
data
.
total
?
'loadmore'
:
'nomore'
;
}
else
{
this
.
list
=
[]
this
.
loadStatus
=
'nomore'
;
}
}
})
},
// 触底加载更多
onReachBottom
()
{
if
(
this
.
pageOptions
.
current
<
this
.
pageOptions
.
pages
)
{
this
.
pageOptions
.
current
+=
1
;
this
.
potentialCustomersPage
();
}
},
// 选款总数
toBeSelectedQuantity
()
{
this
.
$http
(
"orderTicket.toBeSelectedQuantity"
,
{}).
then
((
res
)
=>
{
this
.
$http
(
'orderTicket.toBeSelectedQuantity'
,
{}).
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
==
200
)
{
this
.
quantityNum
=
data
;
...
...
@@ -173,7 +207,7 @@ export default {
},
// 异常总数
orderTicketExceptionNum
()
{
this
.
$http
(
"orderTicket.orderTicketExceptionNum"
,
{}).
then
((
res
)
=>
{
this
.
$http
(
'orderTicket.orderTicketExceptionNum'
,
{}).
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
==
200
)
{
this
.
exceptionNum
=
data
;
...
...
@@ -182,7 +216,7 @@ export default {
},
// 寄样单总数
noSampleOrder
()
{
this
.
$http
(
"orderTicket.noSampleOrder"
,
{}).
then
((
res
)
=>
{
this
.
$http
(
'orderTicket.noSampleOrder'
,
{}).
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
==
200
)
{
this
.
abolishIds
=
data
;
...
...
@@ -191,11 +225,11 @@ export default {
},
// 我的面料
materialList
()
{
this
.
$http
(
"orderTicket.materialList"
,
{
this
.
$http
(
'orderTicket.materialList'
,
{
size
:
4
,
materialCode
:
""
,
materialName
:
""
,
}).
then
(
(
res
)
=>
{
materialCode
:
''
,
materialName
:
''
}).
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
==
200
)
{
this
.
fiabricList
=
data
.
data
;
...
...
@@ -204,33 +238,41 @@ export default {
},
searchCli
()
{
// 搜索面料===1 搜索建模===2
this
.
$Router
.
push
(
"/pages/home/search"
);
this
.
$Router
.
push
(
'/pages/home/search'
);
},
seeFabric
()
{
this
.
$Router
.
push
(
"/pages/home/fabricList"
);
this
.
$Router
.
push
(
'/pages/home/fabricList'
);
},
detailFabric
(
data
)
{
this
.
$Router
.
push
(
"/pages/home/fabricDetails?id="
+
data
.
id
);
this
.
$Router
.
push
(
'/pages/home/fabricDetails?id='
+
data
.
id
);
},
sampleConfirm
()
{
this
.
$Router
.
push
(
"/pages/home/sampleConfirmation?abolishIds="
+
this
.
abolishIds
);
this
.
$Router
.
push
(
'/pages/home/sampleConfirmation?abolishIds='
+
this
.
abolishIds
);
},
goCli
(
url
)
{
if
(
url
)
{
this
.
$Router
.
push
(
url
);
}
else
{
}
else
{
uni
.
showToast
({
title
:
"该功能正在开发中..."
,
icon
:
"none"
,
});
title
:
'该功能正在开发中...'
,
icon
:
'none'
})
}
}
}
},
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.item--round
{
border-radius
:
8rpx
;}
.item
{
padding
:
36rpx
30px
;
height
:
160rpx
;
background
:
url(../../static/images/home/exhibition.png)
no-repeat
;
background-size
:
100%
100%
;
margin-bottom
:
20rpx
;
color
:
#fff
;
}
.back_img
{
height
:
486rpx
;
width
:
100%
;
...
...
src/pages/material/createMaterial.vue
View file @
e1b9231b
...
...
@@ -10,12 +10,24 @@
</view>
<view
class=
"body "
:style=
"
{ bottom: footerHeight + 'px', top: headerHeight+ 'px'}">
<view
class=
"u-relative"
>
<u-image
height=
"750rpx"
></u-image>
<view
v-if=
"!isEdit"
>
<view
class=
"u-absolute prev"
>
上一款
</view>
<view
class=
"u-absolute next"
>
下一款
</view>
<!--
<u-image
height=
"750rpx"
:src=
"`$
{$IMG_URL}${detail.originalImageCode}`">
</u-image>
-->
<view
>
<!--
<image
:src=
"`$
{$IMG_URL}${detail.originalImageCode}`" mode="heightFix" class="height-750rpx">
</image>
-->
<image
:style=
"
{
'--src': `url(${$IMG_URL}${detail.originalImageCode})`,
'--transform': `rotate(${angle}deg)`
}"
src="./img.png" mode="heightFix" class="height-750rpx view">
</image>
</view>
<view
v-if=
"isEdit"
<view
v-if=
"!isEdit"
>
<view
class=
"u-absolute prev"
@
click=
"routerPush(true)"
v-if=
"!isFirst"
>
上一款
</view>
<view
class=
"u-absolute next"
@
click=
"routerPush(false)"
v-if=
"!isLast"
>
下一款
</view>
</view>
<view
:class=
"[ !isEdit ? 'hide':'active']"
class=
"u-absolute step u-p-r-30 u-p-l-30"
>
<view
class=
"step-main u-p-r-20 u-p-l-20 u-flex"
>
<text
class=
"width_100"
>
{{
angle
}}
°
</text>
...
...
@@ -34,44 +46,68 @@
/>
</view>
</view>
<text
class=
"u-m-l-24"
>
重置
</text>
<text
class=
"u-m-l-24"
@
click=
"resetStep"
>
重置
</text>
</view>
</view>
</view>
<view
class=
""
>
<!--可调整部位-->
<view
class=
"u-m-b-20 bg-fff u-p-r-30 u-p-l-30"
>
<view
class=
"title u-flex u-p-t-26 u-p-b-18"
>
<view
class=
"title-tip u-m-r-10"
></view>
可调整部位
</view>
<view
class=
"overflow u-m-b-24"
>
<view
class=
"button inline-block active"
>
主身
</view>
<view
class=
"button inline-block"
>
主身
</view>
</view>
<view
class=
"u-p-b-20"
>
<view
class=
"overflow u-p-b-24"
>
<view
class=
"button inline-block"
:class=
"[
activePartIndex === index ? 'active':'',
filterPartActive(part) ? 'changed' : '',
]"
@
click=
"partClick(index)"
v-for=
"(part,index) in parts"
>
{{
part
.
isMainBodyPart
===
1
?
'主身'
:
`部位${index
}
`
}}
<
/view
>
<
/view
>
<
view
v
-
if
=
"isEdit"
>
<
view
class
=
"u-p-b-20"
>
<
u
-
search
placeholder
=
"请输入面料名称"
v
-
model
=
"keyword"
border
-
color
=
"#e1e1e1"
height
=
"76"
bg
-
color
=
"#fff"
:
show
-
action
=
"false"
><
/u-search
>
<
/view
>
<
view
class
=
"overflow u-p-b-30 u-border-bottom"
>
<view
class=
"image u-m-r-10 active"
>
<
view
class
=
"image u-m-r-10 "
@
click
=
"triggerSelectedMaterial(color)"
:
class
=
"[selectedMaterial.id === color.id ? 'active':'']"
v
-
for
=
"color in MaterialList"
>
<
image
src
=
""
style
=
"width: 100%;height: 100%"
><
/image
>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
<
view
class
=
"image-tip u-line-1"
>
{{
color
.
materialName
}}
<
/view
>
<
/view
>
<view
class=
"image u-m-r-10"
>
<image
src=
""
style=
"width: 100%;height: 100%"
></image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
</view>
<view
class=
"image u-m-r-10"
>
<image
src=
""
style=
"width: 100%;height: 100%"
></image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
<
/view
>
<
view
class
=
"overflow"
v
-
if
=
"selectedMaterialItemColors.length > 0"
>
<
u
-
image
:
src
=
"`${$IMG_URL
}
${item.color
}
`"
width
=
"80rpx"
height
=
"80rpx"
:
class
=
"[activeColor.id === item.id ? 'active':'']"
shape
=
"circle"
@
click
=
"setActiveColor(item)"
:
key
=
"item.id"
v
-
for
=
"(item) in selectedMaterialItemColors"
class
=
"u-m-r-20 inline-block color-item"
><
/u-image
>
<
/view
>
<
view
class
=
"u-p-t-30 u-p-b-20 text-right"
>
<view
class=
"button inline-block button-plain button-plain-default"
>
取消
</view>
<view
class=
"button inline-block button-default"
>
确定
</view>
<
view
class
=
"button inline-block button-plain button-plain-default"
@
click
=
"cancelMaterialItem"
>
取消
<
/view
>
<
view
@
click
=
"setMaterialItem"
class
=
"button inline-block button-default"
>
确定
<
/view
>
<
/view
>
<
/view
>
<
/view
>
<!--
颜色选择
-->
<
view
class
=
"bg-fff u-p-r-30 u-p-l-30"
>
<
view
class
=
"title u-flex u-p-t-26 u-p-b-18"
>
<
view
class
=
"title-tip u-m-r-10"
><
/view
>
...
...
@@ -80,29 +116,23 @@
<
view
class
=
"u-border-bottom u-p-b-32"
>
<
view
class
=
""
>
主图颜色
<
/view
>
<
view
>
<view
class=
"image u-m-r-10"
>
<image
src=
""
style=
"width: 100%;height: 100%"
></image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
<
view
v
-
if
=
"isEditMode"
>
<
view
class
=
"image u-m-r-10"
:
class
=
"[
activeMainPartBodyColorId === color.mdmMaterialColourId ? 'active' : ''
]"
@
click
=
"colorSelect(color,selectColorList)"
v
-
for
=
"color in selectColorList"
>
<
image
:
src
=
"`${$IMG_URL
}
${color.fileCode
}
`"
style
=
"width: 100%;height: 100%"
mode
=
"aspectFit"
><
/image
>
<
view
class
=
"image-tip u-line-1"
>
{{
color
.
colour
}}
<
/view
>
<
/view
>
<view
class=
"image u-m-r-10"
>
<image
src=
""
style=
"width: 100%;height: 100%"
></image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
<
/view
>
<view
class=
"image u-m-r-10"
>
<image
src=
""
style=
"width: 100%;height: 100%"
></image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
<
view
v
-
if
=
"!isEditMode"
>
<
view
class
=
"image u-m-r-10"
v
-
for
=
"color in mainPartBodyColor"
>
<
image
:
src
=
"`${$IMG_URL
}
${color.fileCode
}
`"
style
=
"width: 100%;height: 100%"
mode
=
"aspectFit"
><
/image
>
<
view
class
=
"image-tip u-line-1"
>
{{
color
.
colourApi
.
describes
}}
<
/view
>
<
/view
>
<view
class=
"image u-m-r-10"
>
<image
src=
""
style=
"width: 100%;height: 100%"
></image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
</view>
<view
class=
"image u-m-r-10"
>
<image
src=
""
style=
"width: 100%;height: 100%"
></image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
</view>
<view
class=
"image u-m-r-10"
>
<image
src=
""
style=
"width: 100%;height: 100%"
></image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
<
/view
>
<
/view
>
<
/view
>
...
...
@@ -112,114 +142,516 @@
<
text
>
(
可多选
)
<
/text
>
<
/view
>
<
view
>
<view
class=
"image u-m-r-10"
>
<image
src=
""
style=
"width: 100%;height: 100%"
></image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
<
view
v
-
if
=
"isEditMode"
>
<
view
class
=
"image u-m-r-10"
:
class
=
"[
mainPartOtherColor.map((item) => item.mdmMaterialColourId).indexOf(color.mdmMaterialColourId) > -1 ? 'active' : ''
]"
@
click
=
"colorSelects(color,selectColorList)"
v
-
for
=
"color in selectColorList"
>
<
image
:
src
=
"`${$IMG_URL
}
${color.fileCode
}
`"
style
=
"width: 100%;height: 100%"
mode
=
"aspectFit"
><
/image
>
<
view
class
=
"image-tip u-line-1"
>
{{
color
.
colour
}}
<
/view
>
<
/view
>
<
/view
>
<
view
v
-
if
=
"!isEditMode"
>
<
view
class
=
"image u-m-r-10"
v
-
for
=
"color in mainPartOtherColor"
>
<
image
:
src
=
"`${$IMG_URL
}
${color.fileCode
}
`"
style
=
"width: 100%;height: 100%"
mode
=
"aspectFit"
><
/image
>
<
view
class
=
"image-tip u-line-1"
>
{{
color
.
colourApi
.
describes
}}
<
/view
>
<
/view
>
<
/view
>
<
/view
>
<
/view
>
<
/view
>
<
/view
>
<
/view
>
<
view
id
=
"footer"
class
=
"footer"
>
<
view
class
=
"footer-btn"
>
<view
class=
"button button-default button-plain button-plain--default"
>
<
view
class
=
"button button-default button-plain button-plain--default"
@
click
=
"submit"
v
-
if
=
"isEditMode"
>
加入待上架
<
/view
>
<
view
class
=
"button button-plain button-plain--default"
v
-
if
=
"!isEditMode"
@
click
=
"cancel"
>
取消上架
<
/view
>
<
/view
>
<
/view
>
<
u
-
toast
ref
=
"uToast"
/>
<
/view
>
<
/template
>
<
script
>
// 点击部位获取对应内容
// 选择颜色 设置选中主色
//
import
dom
from
"@/mixins/dom"
;
import
step
from
"./mixins/step"
;
import
material
from
"./mixins/material"
;
export
default
{
name
:
"createMaterial"
,
mixins
:[
dom
],
mixins
:[
dom
,
step
,
material
],
data
(){
return
{
title
:
'111'
,
keyword
:
''
,
offset
:{
x
:
0
},
startTime
:
0
,
lineStepWidth
:
0
,
lineWidth
:
0
,
lineOffset
:
0
,
isEdit
:
false
,
detail
:
{
}
,
colors
:
[],
list
:
[],
// 选中物料
selectedMaterial
:
{
}
,
// 选中主色
mainColor
:
{
}
,
// 选中其他颜色
subColor
:
[],
selectedMaterialItem
:
[],
selectedMaterialItemColor
:
{
}
,
activeColor
:
{
}
,
styleLibraryMaterialDTOList
:
[],
// 过滤数据
filteredMaterialColorList
:
[],
// activePart:
{
}
,
materialId
:
''
,
activePartIndex
:
-
1
,
submitData
:
[]
}
}
,
computed
:{
angle
(){
let
{
lineOffset
,
offset
,
lineWidth
}
=
this
;
let
left
=
(
offset
.
x
-
lineOffset
.
left
)
/
lineWidth
*
100
;
return
Math
.
ceil
((
left
-
50
)
/
50
*
180
);
// 部位
parts
(){
return
(
this
.
detail
.
styleLibraryPictureVOList
||
[]).
sort
((
a
,
b
)
=>
{
return
a
.
isMainBodyPart
-
b
.
isMainBodyPart
<
-
1
}
)
}
,
selectedMaterialItemColors
(){
let
key
=
(
this
.
selectedMaterialItem
.
materialColourVOList
||
[]).
map
((
item
)
=>
item
.
colourId
);
return
this
.
colors
.
filter
((
item
)
=>
key
.
indexOf
(
item
.
id
)
>
-
1
)
.
map
(
item
=>
{
return
{
...
item
,
mdmMaterialColourId
:
item
.
id
,
materialId
:
this
.
selectedMaterialItem
.
id
}
}
)
}
,
mounted
()
{
this
.
uGetRect
(
"#line"
).
then
(
res
=>
{
this
.
lineWidth
=
res
.
width
;
this
.
lineOffset
=
{
left
:
res
.
left
,
right
:
res
.
right
,
};
this
.
offset
.
x
=
res
.
width
/
2
+
res
.
left
index
(){
return
this
.
list
.
findIndex
(
item
=>
item
.
id
===
this
.
detail
.
id
);
}
,
isLast
(){
return
this
.
index
===
this
.
list
.
length
-
1
}
,
isFirst
(){
return
this
.
index
===
0
}
,
isEditMode
(){
return
this
.
detail
.
putawayStatus
===
1
}
,
// 默认的物料颜色可选
defaultColorList
(){
let
key
=
(
this
.
materialDetail
.
materialColourVOList
||
[]).
map
((
item
)
=>
item
.
colourId
);
return
this
.
colors
.
filter
((
item
)
=>
key
.
indexOf
(
item
.
id
)
>
-
1
)
.
map
((
item
)
=>
{
return
{
...
item
,
materialId
:
this
.
materialId
}
}
)
this
.
uGetRect
(
"#line-step"
).
then
(
res
=>
{
this
.
lineStepWidth
=
res
.
width
;
}
,
// 可选颜色过滤
selectColorList
(){
// 如果部位是主体 且 存在信息则回填老的数据
if
(
this
.
mainPart
.
length
!==
0
){
return
this
.
mainPart
[
0
].
materialColoursList
.
map
((
item
)
=>
{
return
{
...
item
,
colour
:
item
.
colourName
||
item
.
colour
,
mdmMaterialColourId
:
item
.
colourId
||
item
.
mdmMaterialColourId
}
}
)
}
else
{
return
this
.
defaultColorList
.
map
((
item
)
=>
{
return
{
...
item
,
mdmMaterialColourId
:
item
.
id
}
}
)
}
}
,
//
mainPart
(){
return
this
.
submitData
.
filter
((
item
)
=>
item
.
isMainBodyPart
===
1
&&
!
item
.
isDeleted
)
}
,
// 主图颜色 选中的颜色
mainPartBodyColor
(){
return
this
.
mainPart
.
filter
((
item
)
=>
item
.
type
===
1
);
}
,
// 主图颜色 其他选中的颜色
mainPartOtherColor
(){
return
this
.
mainPart
.
filter
((
item
)
=>
item
.
type
!==
1
);
}
,
// 主图颜色 其他选中的颜色
activeMainPartBodyColorId
(){
return
this
.
mainPartBodyColor
[
0
]?.
mdmMaterialColourId
}
}
,
created
()
{
let
{
id
,
materialId
}
=
this
.
$Route
.
query
;
this
.
materialId
=
materialId
;
this
.
getItem
(
id
);
this
.
getList
();
this
.
getColors
();
this
.
getMaterialItem
(
materialId
);
this
.
getMaterialList
();
}
,
methods
:{
getItem
(
id
){
this
.
$http
(
"stylelibraryorder.details"
,
id
)
filterPartActive
(
part
){
let
data
=
this
.
submitData
.
filter
((
item
)
=>
!
item
.
isDeleted
&&
part
.
id
===
item
.
styleLibraryPictureId
);
return
data
.
length
>
0
;
}
,
ontherPartTrigger
(
color
,
colors
){
let
$data
=
this
.
submitData
;
let
activePart
=
this
.
parts
[
this
.
activePartIndex
];
let
index
=
$data
.
findIndex
((
item
)
=>
item
.
styleLibraryPictureId
===
activePart
.
id
);
if
(
index
>
-
1
){
let
item
=
$data
[
index
];
if
(
item
.
id
){
this
.
$set
(
$data
,
index
,{
...
item
,
isDeleted
:
!
$data
[
index
][
'isDeleted'
]
}
)
}
else
{
$data
.
splice
(
index
,
1
);
}
}
$data
.
push
({
materialColoursList
:
colors
,
isMainBodyPart
:
0
,
type
:
0
,
isDeleted
:
false
,
mdmMaterialId
:
color
.
materialId
,
mdmMaterialColourId
:
color
.
mdmMaterialColourId
,
styleLibraryPictureId
:
activePart
.
id
,
styleLibrayId
:
activePart
.
styleLibrayId
,
}
)
// if()
// $data.push(
{
// materialColoursList: colors,
// isMainBodyPart: 0,type: 2, isDeleted: false,
// mdmMaterialId: color.materialId,
// mdmMaterialColourId: color.mdmMaterialColourId,
// styleLibraryPictureId: activePart.id,
// styleLibrayId: activePart.styleLibrayId,
//
}
)
}
,
//
setMaterialItem
(){
if
(
this
.
activePartIndex
===
0
){
this
.
materialDetail
=
this
.
selectedMaterialItem
;
this
.
colorSelect
(
this
.
activeColor
,
this
.
selectedMaterialItemColors
);
}
else
{
this
.
ontherPartTrigger
(
this
.
activeColor
,
this
.
selectedMaterialItemColors
);
}
this
.
activeColor
=
{
}
this
.
isEdit
=
false
;
}
,
cancelMaterialItem
(){
this
.
isEdit
=
false
;
}
,
setActiveColor
(
color
){
this
.
activeColor
=
{
...
color
,
materialId
:
this
.
selectedMaterialItem
.
id
,
mdmMaterialColourId
:
color
.
id
}
;
}
,
pageReload
(){
this
.
$Router
.
replace
({
path
:
'pages/material/createMaterial'
,
query
:
this
.
$Route
.
query
}
)
}
,
// 加入待上架
submit
(){
let
data
=
{
styleLibraryMaterialDTOList
:
this
.
submitData
,
styleOrderId
:
this
.
detail
.
styleOrderId
,
styleLibraryId
:
this
.
detail
.
id
,
}
this
.
$http
(
"stylelibraryorder.addToShelves"
,
data
)
.
then
(
res
=>
{
let
{
code
,
msg
}
=
res
;
if
(
code
===
200
){
this
.
pageReload
();
}
else
{
this
.
$refs
.
uToast
.
show
({
title
:
msg
}
)
}
}
)
}
,
// 取消上架
cancel
(){
this
.
$http
(
"stylelibraryorder.unlisted"
,
{
id
:
this
.
detail
.
styleOrderId
}
)
.
then
(
res
=>
{
let
{
code
,
msg
}
=
res
;
if
(
code
===
200
){
this
.
pageReload
();
}
else
{
this
.
$refs
.
uToast
.
show
({
title
:
msg
}
)
}
}
)
}
,
// 主体颜色选择
// 判断是否已有主体选择
// 清除其他可选
colorSelect
(
color
,
colors
){
let
$data
=
this
.
submitData
;
let
index
=
$data
.
findIndex
((
item
)
=>
item
.
mdmMaterialColourId
===
color
.
mdmMaterialColourId
&&
item
.
type
===
1
&&
item
.
isMainBodyPart
===
1
);
if
(
this
.
activeMainPartBodyColorId
){
let
index
=
$data
.
findIndex
((
item
)
=>
item
.
mdmMaterialColourId
===
this
.
activeMainPartBodyColorId
&&
item
.
type
===
1
&&
item
.
isMainBodyPart
===
1
);
let
item
=
$data
[
index
];
if
(
item
.
id
){
this
.
$set
(
$data
,
index
,{
...
$data
[
index
],
isDeleted
:
!
$data
[
index
][
'isDeleted'
]
}
)
}
else
{
$data
.
splice
(
index
,
1
)
}
}
// 清除数据
if
(
index
>
-
1
){
let
item
=
$data
[
index
];
if
(
item
.
id
){
this
.
$set
(
$data
,
index
,{
...
$data
[
index
],
isDeleted
:
!
$data
[
index
][
'isDeleted'
]
}
)
}
else
{
$data
.
splice
(
index
,
1
)
}
}
else
{
$data
.
push
({
materialColoursList
:
colors
,
isMainBodyPart
:
1
,
type
:
1
,
isDeleted
:
false
,
mdmMaterialId
:
color
.
materialId
,
mdmMaterialColourId
:
color
.
mdmMaterialColourId
,
styleLibraryPictureId
:
this
.
parts
[
0
].
id
,
styleLibrayId
:
this
.
parts
[
0
].
styleLibrayId
,
}
)
}
this
.
clearColor
(
color
)
}
,
clearColor
(
color
){
let
$data
=
this
.
submitData
;
let
index
=
$data
.
findIndex
((
item
)
=>
item
.
mdmMaterialColourId
===
color
.
mdmMaterialColourId
&&
item
.
type
===
2
&&
item
.
isMainBodyPart
===
1
);
if
(
index
>
-
1
){
let
item
=
$data
[
index
];
if
(
item
.
id
){
this
.
$set
(
$data
,
index
,{
...
item
,
isDeleted
:
!
$data
[
index
][
'isDeleted'
]
}
)
}
else
{
$data
.
splice
(
index
,
1
);
}
}
}
,
colorSelects
(
color
,
colors
){
if
(
color
.
mdmMaterialColourId
===
this
.
activeMainPartBodyColorId
)
return
;
let
$data
=
this
.
submitData
;
let
index
=
$data
.
findIndex
((
item
)
=>
item
.
mdmMaterialColourId
===
color
.
mdmMaterialColourId
&&
item
.
type
===
0
);
// 清除数据
if
(
index
>
-
1
){
let
item
=
$data
[
index
];
if
(
item
.
id
){
this
.
$set
(
$data
,
index
,{
...
$data
[
index
],
isDeleted
:
true
}
)
}
else
{
$data
.
splice
(
index
,
1
)
}
}
else
{
$data
.
push
({
materialColoursList
:
colors
,
isMainBodyPart
:
1
,
type
:
0
,
isDeleted
:
false
,
mdmMaterialId
:
color
.
materialId
,
mdmMaterialColourId
:
color
.
mdmMaterialColourId
,
styleLibraryPictureId
:
this
.
parts
[
0
].
id
,
styleLibrayId
:
this
.
parts
[
0
].
styleLibrayId
}
)
}
}
,
triggerSelectedMaterial
(
item
){
this
.
selectedMaterial
=
item
;
this
.
getMaterialItem
(
item
.
id
,(
data
)
=>
{
this
.
selectedMaterialItem
=
data
;
}
)
}
,
// 上一款 下一款
routerPush
(
isNext
){
this
.
$Router
.
push
({
path
:
'/pages/material/createMaterial'
,
query
:{
materialId
:
this
.
materialId
,
id
:
this
.
list
[
isNext
?
this
.
index
+
1
:
this
.
index
-
1
].
id
}
}
)
}
,
getMaterialItem
(
id
){
this
.
$http
(
"materialinfo.getMaterialById"
,
id
)
// 款式列表
getList
(
materialTagIdList
=
[]){
this
.
loadStatus
=
'loading'
;
this
.
$http
(
'stylelibraryorder.page'
,
{
styleTag
:
this
.
keyword
,
status
:
0
,
materialTagIdList
,
size
:
999
,
current
:
1
,
}
).
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
===
200
)
{
if
(
Object
.
keys
(
data
).
length
>
0
){
this
.
list
=
data
.
records
;
}
else
{
this
.
list
=
[]
}
}
}
);
}
,
getItem
(
id
){
this
.
$http
(
"stylelibraryorder.details"
,
id
)
.
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
===
200
){
// 过滤出数据
this
.
detail
=
data
;
let
parts
=
(
data
.
styleLibraryPictureVOList
||
[])
.
sort
((
a
,
b
)
=>
{
return
a
.
isMainBodyPart
-
b
.
isMainBodyPart
<
-
1
}
);
let
selectedList
=
parts
.
reduce
((
res
,
item
)
=>
{
let
selectItem
=
item
[
'styleLibraryMaterialVOList'
].
map
((
$i
)
=>
{
return
{
...
$i
,
isMainBodyPart
:
item
.
isMainBodyPart
,
materialColoursList
:
item
.
materialInfo
.
materialColoursList
}
}
);
return
res
.
concat
(
selectItem
)
}
,[])
this
.
submitData
=
selectedList
;
// console.log(selectedList)
}
}
)
}
,
touchMove
(
e
){
let
left
=
e
.
changedTouches
[
0
].
pageX
;
if
(
left
>=
this
.
lineOffset
.
left
&&
left
<=
this
.
lineOffset
.
right
){
this
.
offset
.
x
=
left
// 获取颜色
getColors
(){
this
.
$http
(
"colour.selectColour"
,
{
color
:
''
}
)
.
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
===
200
){
this
.
colors
=
data
;
}
}
)
}
,
touchEnd
(
e
){
let
left
=
e
.
changedTouches
[
0
].
pageX
;
// console.log(left)
// console.log(this.lineOffset.right)
if
(
left
>=
this
.
lineOffset
.
left
&&
left
<=
this
.
lineOffset
.
right
){
this
.
offset
.
x
=
left
// 可调整部位点击时间
partClick
(
index
){
if
(
!
this
.
isEditMode
)
return
;
if
(
this
.
activePartIndex
!==
index
){
this
.
activeColor
=
{
}
;
this
.
selectedMaterial
=
{
}
}
this
.
activePartIndex
=
index
;
this
.
isEdit
=
true
;
}
,
touchStart
(
e
){
this
.
offset
.
x
=
e
.
changedTouches
[
0
].
pageX
;
}
}
}
<
/script
>
<
style
scoped
lang
=
"scss"
>
.
color
-
item
{
&
.
active
{
border
:
1
px
solid
#
DDA973
;
}
}
.
height
-
750
rpx
{
height
:
750
rpx
;
}
.
view
{
position
:
relative
;
&
:
after
{
content
:
""
;
position
:
absolute
;
width
:
100
%
;
height
:
100
%
;
background
-
image
:
var
(
--
src
);
transform
:
var
(
--
transform
);
background
-
repeat
:
no
-
repeat
;
background
-
position
:
center
;
background
-
size
:
contain
;
top
:
0
;
left
:
0
;
z
-
index
:
-
1
;
}
}
.
bg
-
fff
{
background
:
#
fff
}
.
width_100
{
width
:
100
rpx
}
.
inline
-
block
{
...
...
@@ -231,6 +663,12 @@ export default {
bottom
:
16
rpx
;
left
:
0
;
color
:
#
fff
;
&
.
active
{
opacity
:
100
%
;
}
&
.
hide
{
opacity
:
0
%
;
}
&-
main
{
background
:
rgba
(
0
,
0
,
0
,
0.20
);
}
...
...
@@ -256,7 +694,7 @@ export default {
top
:
50
%
;
margin
-
top
:
-
20
rpx
;
background
:
#
fff
;
margin-left
:
-20rpx
;
//
margin-left: -20rpx;
}
}
...
...
@@ -327,6 +765,9 @@ export default {
color
:
#
AF8D66
;
border
:
1
px
solid
#
DDA973
;
}
&
.
changed
{
color
:
#
AF8D66
;
}
}
.
body
{
position
:
absolute
;
...
...
src/pages/material/entrustItem.vue
View file @
e1b9231b
...
...
@@ -8,47 +8,50 @@
</u-navbar>
<view
class=
"body"
:style=
"
{ bottom: footerHeight + 'px', top: headerHeight+ 'px'}">
<view
class=
"tip u-m-b-20"
>
剩余59分1秒自动取消上架单
</view>
<view
class=
"tip u-m-b-20"
v-if=
"detail.status === 1"
>
剩余59分1秒自动取消上架单
</view>
<view
class=
"u-p-r-30 u-p-l-30"
>
<view
class=
"bg-fff u-p-r-30 u-p-b-30 u-p-l-30 u-m-b-20"
>
<view
class=
"u-border-bottom u-l-height-44 u-flex"
>
<text
class=
"u-flex-1"
>
款式明细
</text>
<text>
总共
50
款
</text>
<text>
总共
{{
detail
.
quantity
}}
款
</text>
</view>
<view
class=
"u-p-t-20 u-p-b-20"
>
加厚荷兰绒绒布布料(3)
<!--
<view
class=
"u-p-t-20 u-p-b-20"
>
-->
<!--
{{
detail
.
styleOrderCode
}}
-->
<!--
</view>
-->
<view
class=
"item u-flex"
v-for=
"(item) in list"
:key=
"item.id"
>
<view
class=
"item-img"
>
<image
:src=
"`$
{$IMG_URL}${item.originalImageCode}`" mode="widthFix">
</image>
</view>
<view
class=
"item u-flex"
>
<view
class=
"item-img"
></view>
<view
class=
"u-flex-1 u-p-l-20"
>
<view
class=
"item-title u-line-1 u-font-28"
>
男装-上装-青年-时尚休闲
</view>
<view
class=
"item-title u-line-1 u-font-28"
>
{{
item
.
styleTag
}}
</view>
<view
class=
"u-flex u-m-t-6 u-m-b-6"
>
<view
class=
"u-m-r-40 label u-font-24"
>
款号
</view>
<view
class=
"u-line-1 u-flex-1 content u-font-24"
>
11
{{
item
.
styleCode
}}
</view>
</view>
<view
class=
"u-flex u-m-t-6 u-m-b-6"
>
<view
class=
"u-m-r-40 label u-font-24"
>
所选面料
</view>
<view
class=
"u-line-1 u-flex-1 content u-font-24"
>
11
{{
item
.
materialName
}}
</view>
</view>
<view
class=
"item-tags"
>
<view
class=
"item-tag u-font-20"
>
标签
<view
class=
"item-tag u-font-20"
:key=
"tag.id"
v-for=
"tag in item.styleLibraryTagVOList"
>
{{
tag
.
materialTagName
}}
</view>
<view
class=
"item-tag u-font-20"
>
标签
</view>
</view>
</view>
</view>
<view
class=
"u-p-b-20 u-border-bottom text-center"
@
click=
"toggle"
>
<text>
展开
<u-icon
name=
"arrow-down"
size=
"22"
color=
"#000"
></u-icon></text>
<view
class=
"u-p-b-20 u-border-bottom text-center"
v-if=
"detail.styleLibraryTaskItemVOList.length > 3"
@
click=
"toggle"
>
<text>
{{
end
?
'展开'
:
'收起'
}}
<u-icon
:name=
"end ? 'arrow-down': 'arrow-up'"
size=
"22"
color=
"#000"
></u-icon></text>
</view>
<view
class=
"price text-right u-m-t-30 u-p-r-30"
>
总金额
<text
class=
"price-num u-m-l-40"
>
2000
</text>
元
总金额
<text
class=
"price-num u-m-l-40"
>
{{
detail
.
price
}}
</text>
元
</view>
</view>
<!--订单信息-->
...
...
@@ -57,26 +60,26 @@
<view
class=
"u-flex u-m-t-18 u-m-b-8"
>
<view
class=
"u-m-r-40 label"
>
订单编号
</view>
<view
class=
"u-line-1 u-flex-1 content"
>
11
<!--
{{
item
.
createTime
}}
-->
</view>
</view>
<view
class=
"u-flex u-m-t-18 u-m-b-8"
>
<view
class=
"u-m-r-40 label"
>
创建时间
</view>
<view
class=
"u-line-1 u-flex-1 content"
>
111
</view>
付款时间
{{
detail
.
createTime
}}
</view>
</view>
<view
class=
"u-flex u-m-t-18 u-m-b-8"
>
<view
class=
"u-m-r-40 label"
>
付款时间
</view>
<view
class=
"u-line-1 u-flex-1 content"
>
11
{{
detail
.
createTime
}}
</view>
</view>
</view>
</view>
</view>
<view
class=
"footer"
id=
"footer"
>
<view
class=
"footer"
id=
"footer"
v-if=
"detail.status === 1"
>
<view
class=
"footer-btn"
>
<view
class=
"button button-default"
>
立刻付款
...
...
@@ -95,12 +98,38 @@ export default {
return
{
title
:
'待付款'
,
detail
:{
styleLibraryTaskItemVOList
:[]
},
end
:
true
}
},
computed
:{
list
(){
let
data
=
this
.
detail
.
styleLibraryTaskItemVOList
||
[];
return
this
.
end
===
true
&&
data
.
length
>
3
?
data
.
slice
(
0
,
3
)
:
data
;
}
},
created
()
{
let
{
id
}
=
this
.
$Route
.
query
;
this
.
getItem
(
id
)
},
methods
:{
toggle
(){}
toggle
(){
this
.
end
=
!
this
.
end
;
},
getItem
(
id
){
this
.
$http
(
"stylelibraryorder.listingDetails"
,
id
).
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
===
200
){
if
(
Object
.
keys
(
data
).
length
>
0
){
this
.
detail
=
data
;
}
}
})
},
}
}
</
script
>
...
...
src/pages/material/entrustList.vue
View file @
e1b9231b
...
...
@@ -29,38 +29,43 @@
<view
class=
"item-header u-flex"
>
<view
class=
"u-flex-1 u-line-1 u-font-32 u-flex"
>
<view
class=
"item-header-tip u-m-r-10"
></view>
AS2312424234
{{item.styleOrderCode}}
</view>
<view
class=
"item-header-status u-flex-1 u-line-1 u-font-28"
>
待付款倒计时:59分21秒
<view
class=
"item-header-status u-flex-1 u-line-1 u-font-28 text-right"
>
<!-- 待付款倒计时:59分21秒-->
<!-- 1-待付款、2-已付款、3-已取消-->
{{
item.status === 1 ? '待付款' :
item.status === 2 ? '已付款' : '已取消'
}}
</view>
</view>
<view
class=
"item-body "
>
<view
class=
"item-desc u-m-t-28 u-m-b-22"
>
<text
class=
"u-m-r-20 item-desc-label"
>
上架款数
</text>
<text
class=
"item-desc-value"
>
50款
</text>
</view>
<view
class=
"item-images"
>
<image
src=
""
fit=
"fit"
class=
"item-image"
></image>
<image
src=
""
fit=
"fit"
class=
"item-image"
></image>
<image
src=
""
fit=
"fit"
class=
"item-image"
></image>
<image
src=
""
fit=
"fit"
class=
"item-image"
></image>
<image
src=
""
fit=
"fit"
class=
"item-image"
></image>
<image
src=
""
fit=
"fit"
class=
"item-image"
></image>
<text
class=
"item-desc-value"
>
{{item.quantity}}款
</text>
</view>
</view>
<view
class=
"item-hr"
></view>
<view
class=
"item-footer u-flex"
>
<view
class=
"item-desc u-flex-1 u-line-1"
>
<view
class=
"item-desc u-flex-1 u-line-1"
v-if=
"item.status === 1"
>
<text
class=
"u-m-r-20 item-desc-label"
>
待支付:
</text>
<text
class=
"item-desc-value item--status"
>
23211
元
</text>
<text
class=
"item-desc-value item--status"
>
{{ item.price }}
元
</text>
</view>
<view
class=
"item-buttons u-flex-1 u-flex"
>
<view
class=
"button button-plain button-plain--default u-m-r-20"
>
取消上架
</view>
<view
class=
"button button-default"
>
付款
</view>
<view
class=
"item-buttons u-flex-1 u-flex"
>
<!-- v-if="item.putawayStatus === 3"-->
<view
class=
"button button-plain button-plain--default u-m-r-20"
@
click
.
stop
.
self=
"cancel(item)"
>
取消上架
</view>
<view
class=
"button button-default"
v-if=
"item.status === 1"
>
付款
</view>
</view>
</view>
</view>
<!-- 加载更多 -->
<u-loadmore
v-if=
"!isEmpty"
height=
"80rpx"
:status=
"loadStatus"
icon-type=
"flower"
color=
"#ccc"
/>
<!-- 缺省页 -->
<hs-empty
v-if=
"isEmpty"
tipText=
"没有数据"
marginTop=
"100rpx"
:image=
"emptyImage"
></hs-empty>
<u-toast
ref=
"uToast"
/>
</view>
</view>
</template>
...
...
@@ -73,25 +78,72 @@ export default {
mixins
:[
dom
],
data
(){
return
{
emptyImage
:
require
(
"@/static/images/components/empty/empty.png"
),
activeStatus
:
0
,
statusList
:
[
{
label
:
'全部'
,
value
:
'1'
},
{
label
:
'待付款'
,
value
:
'2'
},
{
label
:
'已付款'
,
value
:
'3'
},
{
label
:
'已取消'
,
value
:
'4'
},
{
label
:
'全部'
,
value
:
0
},
{
label
:
'待付款'
,
value
:
1
},
{
label
:
'已付款'
,
value
:
2
},
{
label
:
'已取消'
,
value
:
3
},
],
list
:
[
{}
]
loadStatus
:
'loadmore'
,
pageOptions
:
{
current
:
1
,
size
:
10
,
pages
:
10
,
},
list
:
[]
}
},
created
()
{
this
.
getList
()
},
computed
:{
isEmpty
(){
return
this
.
list
.
length
===
0
}
},
methods
:{
setStatus
(
index
){
this
.
activeStatus
=
index
;
this
.
getList
();
this
.
getList
(
true
);
},
getList
(){
// this.
getList
(
isReload
){
this
.
loadStatus
=
'loading'
;
this
.
$http
(
"stylelibraryorder.listingList"
,{
...
this
.
pageOptions
,
"status"
:
this
.
statusList
[
this
.
activeStatus
].
value
,
}).
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
===
200
){
if
(
Object
.
keys
(
data
).
length
>
0
){
this
.
list
=
isReload
?
data
.
records
:
this
.
list
.
concat
(
data
.
records
);
this
.
pageOptions
.
pages
=
data
.
total
;
this
.
loadStatus
=
this
.
list
.
length
<
data
.
total
?
'loadmore'
:
'nomore'
;
}
else
{
this
.
list
=
[]
this
.
loadStatus
=
'nomore'
;
}
}
})
},
cancel
(
item
){
this
.
$http
(
"stylelibraryorder.unlisted"
,
{
id
:
item
.
id
})
.
then
(
res
=>
{
let
{
code
,
msg
}
=
res
;
if
(
code
===
200
){
this
.
getList
(
true
);
}
else
{
this
.
$refs
.
uToast
.
show
({
title
:
msg
})
}
})
},
goEntrustItemPage
({
id
}){
this
.
$Router
.
push
({
...
...
@@ -109,7 +161,9 @@ export default {
$activeColor
:
#DDA973
;
$mainColor
:
#000
;
$subColor
:
rgba
(
0
,
0
,
0
,
0
.40
);
.flex-row-reverse
{
flex-direction
:
row-reverse
;
}
.bg-fff
{
background
:
#fff
;
}
...
...
src/pages/material/entrustManagement.vue
View file @
e1b9231b
...
...
@@ -24,92 +24,91 @@
</view>
<view
id=
"body"
class=
"body u-p-r-30 u-p-l-30"
:style=
"
{ bottom: footerHeight + 'px', top: headerHeight+ 'px'}">
<view
v-if=
"activeStatus === 0"
>
<view
class=
"u-p-t-24 u-p-b-24"
>
待上架:300款
</view>
<view
class=
"entrust bg-fff u-p-30"
>
<view
class=
"u-p-t-24 u-p-b-24"
>
待上架:
{{
pageOptions
.
pages
}}
款
</view>
<view
class=
"entrust bg-fff u-p-30"
v-for=
"(item,index) in computedList"
>
<view
class=
"entrust-title u-flex"
>
<!-- :name="index === selectedIndex ? 'checkmark-circle-fill': 'checkmark-circle'"-->
<u-icon
name=
"checkmark-circle"
<u-icon
:name=
"checkSelect(item) ? 'checkmark-circle-fill': 'checkmark-circle'"
color=
"#000"
size=
"40"
@
click=
"triggerSelect
Item(
)"
@
click=
"triggerSelect
List(item
)"
/>
<text
class=
"u-flex-1 u-p-l-30"
>
加厚荷兰绒绒布布料(
<text
class=
"active-color"
>
1
</text>
/3
)
<text
class=
"u-flex-1 u-p-l-30"
@
click=
"triggerToggle(index)"
>
{{
item
.
label
}}
(
<text
class=
"active-color"
>
{{
checkSelectedLength
(
item
)
}}
</text>
/
{{
item
.
children
.
length
}}
)
</text>
<u-icon
name=
"arrow-down"
<u-icon
:name=
"checkToggle(index) ? 'arrow-up': 'arrow-down'"
color=
"#000"
size=
"40"
@
click=
"triggerToggle(
)"
@
click=
"triggerToggle(index
)"
/>
</view>
<view
class=
"u-flex u-p-t-30"
>
<view
v-if=
"checkToggle(index)"
>
<view
class=
"u-flex u-p-t-30"
v-for=
"(item) in item.children"
>
<u-icon
name=
"checkmark-circle"
color=
"#000"
size=
"40"
@
click=
"triggerSelectItem()"
:name=
"selectedIds.indexOf(item.id) > -1 ? 'checkmark-circle-fill': 'checkmark-circle'"
@
click=
"() =>
{ triggerSelectItem(item)}"
/>
<view
class=
"item u-flex-1 u-flex u-p-l-30
"
>
<view
class=
"item u-flex-1 u-flex u-p-l-30"
@
click=
"goItem(item)
"
>
<view
class=
"item-img"
></view>
<view
class=
"u-flex-1 u-p-l-20"
>
<view
class=
"item-title u-line-1 u-font-28"
>
男装-上装-青年-时尚休闲
</view>
<view
class=
"item-title u-line-1 u-font-28"
>
{{
item
.
materialName
}}
</view>
<view
class=
"u-flex u-m-t-6 u-m-b-6"
>
<view
class=
"u-m-r-40 label u-font-24"
>
款号
</view>
<view
class=
"u-line-1 u-flex-1 content u-font-24"
>
11
{{
item
.
styleCode
}}
</view>
</view>
<view
class=
"u-flex u-m-t-6 u-m-b-6"
>
<view
class=
"u-m-r-40 label u-font-24"
>
所选面料
</view>
<view
class=
"u-line-1 u-flex-1 content u-font-24"
>
11
{{
item
.
materialName
}}
</view>
</view>
<view
class=
"item-tags"
>
<view
class=
"item-tag u-font-20"
>
标签
<view
class=
"item-tag u-font-20"
:key=
"tag.id"
v-for=
"(tag) in item.styleLibraryTagVOList"
>
{{
tag
.
materialTagName
}}
</view>
<view
class=
"item-tag u-font-20"
>
标签
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view
v-if=
"activeStatus === 1"
>
<view
class=
"u-p-t-24 u-p-b-24"
>
已上架:
300
款
</view>
<view
class=
"entrust bg-fff u-p-30"
>
<view
class=
"u-p-t-24 u-p-b-24"
>
已上架:
{{
pageOptions
.
pages
}}
款
</view>
<view
class=
"entrust bg-fff u-p-30"
v-for=
"(item,index) in computedList"
>
<view
class=
"entrust-title u-flex"
>
<text
class=
"u-flex-1 u-p-l-30"
>
加厚荷兰绒绒布布料(3)
{{
item
.
label
}}
</text>
<u-icon
name=
"arrow-down"
color=
"#000"
size=
"40"
@
click=
"triggerToggle()"
@
click=
"triggerToggle(
index
)"
/>
</view>
<view
class=
"u-flex u-p-t-30"
>
<view
class=
"item u-flex-1 u-flex u-p-l-30"
>
<view
class=
"u-flex u-p-t-30"
v-for=
"item in item.children"
>
<view
class=
"item u-flex-1 u-flex u-p-l-30"
@
click=
"goItem(item)"
>
<view
class=
"item-img"
></view>
<view
class=
"u-flex-1 u-p-l-20"
>
<view
class=
"item-title u-line-1 u-font-28"
>
男装-上装-青年-时尚休闲
</view>
<view
class=
"item-title u-line-1 u-font-28"
>
{{
item
.
materialName
}}
</view>
<view
class=
"u-flex u-m-t-6 u-m-b-6"
>
<view
class=
"u-m-r-40 label u-font-24"
>
款号
</view>
<view
class=
"u-line-1 u-flex-1 content u-font-24"
>
11
{{
item
.
styleCode
}}
</view>
</view>
<view
class=
"u-flex u-m-t-6 u-m-b-6"
>
<view
class=
"u-m-r-40 label u-font-24"
>
所选面料
</view>
<view
class=
"u-line-1 u-flex-1 content u-font-24"
>
11
{{
item
.
materialName
}}
</view>
</view>
<view
class=
"item-tags"
>
<view
class=
"item-tag u-font-20"
>
标签
</view>
<view
class=
"item-tag u-font-20"
>
标签
<view
class=
"item-tag u-font-20"
:key=
"tag.id"
v-for=
"(tag) in item.styleLibraryTagVOList"
>
{{
tag
.
materialTagName
}}
</view>
</view>
</view>
...
...
@@ -119,37 +118,41 @@
</view>
</view>
<view
v-if=
"activeStatus === 2"
>
<view
class=
"u-p-t-24 u-p-b-24"
>
全部:300款
</view>
<view
class=
"u-p-t-24 u-p-b-24"
>
全部:
{{
pageOptions
.
pages
}}
款
</view>
<view
v-for=
"item in list"
@
click=
"goItem(item)"
:key=
"item.id"
>
<view
class=
"entrust bg-fff u-p-30"
>
<view
class=
"entrust-title u-flex"
>
<view
class=
"entrust-tip"
></view>
<text
class=
" u-flex-1 u-p-l-30"
>
加厚荷兰绒绒布布料(3)
{{
item
.
styleTag
}}
</text>
<text>
已上架
</text>
<text>
{{
item
.
putawayStatus
|
putawayStatusFilter
}}
</text>
</view>
<view
class=
"u-flex u-p-t-30"
>
<view
class=
"item u-flex-1 u-flex u-p-l-30"
>
<view
class=
"item-img"
></view>
<view
class=
"item-img"
>
<!--
<image
:src=
"`$
{$IMG_URL}${item.pci}`">
</image>
-->
</view>
<view
class=
"u-flex-1 u-p-l-20"
>
<view
class=
"u-flex u-m-t-6 u-m-b-6"
>
<view
class=
"u-m-r-40 label "
>
款号
</view>
<view
class=
"u-line-1 u-flex-1 content"
>
11
{{
item
.
styleCode
}}
</view>
</view>
<view
class=
"u-flex u-m-t-6 u-m-b-6"
>
<view
class=
"u-m-r-40 label"
>
所选面料
</view>
<view
class=
"u-line-1 u-flex-1 content"
>
11
{{
item
.
materialName
}}
</view>
</view>
<view
class=
"item-tags"
>
<view
class=
"item-tag u-font-20"
>
标签
</view>
<view
class=
"item-tag u-font-20"
>
标签
<view
class=
"item-tag u-font-20"
:key=
"tag.id"
v-for=
"(tag) in item.styleLibraryTagVOList"
>
{{
tag
.
materialTagName
}}
</view>
</view>
</view>
...
...
@@ -159,17 +162,21 @@
</view>
</view>
</view>
</view>
<view
id=
"footer"
class=
"footer"
v-if=
"activeStatus === 0"
>
<view
class=
"footer-btn"
>
<view
class=
"custom-style-round-circle custom-style-btn custom-style"
>
<view
class=
"custom-style-left save"
>
删除
</view>
<view
class=
"custom-style-right submit"
>
一键上架(
3
)
<view
class=
"custom-style-right submit"
@
click=
"submit"
>
一键上架(
{{
selected
.
length
}}
)
</view>
</view>
</view>
</view>
<!--提示-->
<u-toast
ref=
"uToast"
/>
</view>
</
template
>
...
...
@@ -185,13 +192,103 @@ export default {
activeStatus
:
0
,
statusList
:
[
{
label
:
'待上架'
,
value
:
'1'
},
{
label
:
'已上架'
,
value
:
'2'
},
{
label
:
'全部'
,
value
:
'3'
},
]
{
label
:
'待上架'
,
value
:
'2'
},
{
label
:
'已上架'
,
value
:
'3'
},
{
label
:
'全部'
,
value
:
'1'
},
],
selected
:
[],
hideList
:
[],
list
:[],
pageOptions
:
{
current
:
1
,
size
:
10
,
pages
:
0
,
},
}
},
computed
:{
computedList
(){
function
arr2Tree
(
data
,
id
=
'materialName'
){
const
newList
=
[],
map
=
Array
.
from
(
new
Set
(
data
.
map
(
item
=>
{
return
item
[
id
]
})
)
)
;
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
let
item
=
data
[
i
],
name
=
item
[
id
],
index
=
map
.
indexOf
(
name
);
if
(
newList
[
index
]){
newList
[
index
][
'children'
].
push
(
item
)
}
else
{
newList
.
push
({
label
:
name
,
children
:
[
item
]
})
}
}
return
newList
;
}
return
arr2Tree
(
this
.
list
).
map
((
item
)
=>
{
return
{
...
item
,
show
:
true
}
})
},
selectedIds
(){
return
this
.
selected
.
map
((
item
)
=>
item
.
id
);
}
},
filters
:{
putawayStatusFilter
(
v
){
switch
(
v
)
{
case
1
:
return
'未上架'
case
2
:
return
'待上架'
case
3
:
return
'待上架'
default
:
return
''
}
}
},
created
()
{
this
.
getList
();
},
methods
:{
goItem
({
id
}){
this
.
$Router
.
push
({
path
:
'/pages/material/entrustManagementItem'
,
query
:{
id
}
})
},
submit
(){
this
.
$http
(
"stylelibraryorder.oneClickListing"
,
this
.
selectedIds
)
.
then
(
res
=>
{
let
{
code
,
msg
}
=
res
;
if
(
code
===
200
){
this
.
$refs
[
'uToast'
].
show
({
title
:
msg
})
this
.
selected
=
[];
this
.
hideList
=
[];
this
.
getList
();
}
else
{
this
.
$refs
[
'uToast'
].
show
({
title
:
msg
})
}
})
},
resetPage
(){
this
.
getHeaderHeight
();
this
.
getFooterHeight
();
...
...
@@ -199,13 +296,77 @@ export default {
setActiveStatus
(
index
){
this
.
activeStatus
=
index
;
this
.
resetPage
();
this
.
getList
(
true
);
},
triggerSelectItem
(){
checkSelectedLength
({
children
}){
// 获取所有id
let
childrenIds
=
children
.
map
(
item
=>
item
.
id
);
// 核对是否存在
return
this
.
selectedIds
.
filter
(
id
=>
childrenIds
.
indexOf
(
id
)).
length
},
triggerToggle
(){
checkToggle
(
index
){
return
this
.
hideList
.
indexOf
(
index
)
>
-
1
},
checkSelect
({
children
}){
let
childrenIds
=
children
.
map
(
item
=>
item
.
id
);
return
new
Set
(
this
.
selectedIds
.
concat
(
childrenIds
)).
size
===
this
.
selected
.
length
},
// 多选 确定/取消
triggerSelectList
(
item
){
// console.log(children)
if
(
!
this
.
checkSelect
(
item
)){
this
.
selected
=
this
.
selected
.
concat
(
item
.
children
.
filter
((
$item
)
=>
this
.
selectedIds
.
indexOf
(
$item
.
id
)
===
-
1
)
);
}
else
{
// this.selected = this.selected.concat(
// item.children.filter(($item) => this.selectedIds.indexOf($item.id) === -1)
// );
}
},
// 单选 确定/取消
triggerSelectItem
(
item
){
let
index
=
this
.
selectedIds
.
indexOf
(
item
.
id
);
if
(
index
>
-
1
){
this
.
selected
.
splice
(
index
,
1
)
}
else
{
this
.
selected
.
push
(
item
)
}
},
triggerToggle
(
index
){
let
$index
=
this
.
hideList
.
findIndex
(
$I
=>
$I
===
index
);
if
(
$index
>
-
1
){
this
.
hideList
.
splice
(
$index
,
1
)
}
else
{
this
.
hideList
.
push
(
index
)
}
},
// 触底加载更多
onReachBottom
()
{
if
(
this
.
pageOptions
.
current
<
this
.
pageOptions
.
pages
)
{
this
.
pageOptions
.
current
+=
1
;
this
.
getList
();
}
},
getList
(
isReload
=
false
){
this
.
$http
(
"stylelibraryorder.getToShelvesManagerList"
,{
status
:
this
.
statusList
[
this
.
activeStatus
].
value
,
...
this
.
pageOptions
})
.
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
===
200
)
{
if
(
Object
.
keys
(
data
).
length
>
0
){
this
.
list
=
isReload
?
data
.
records
:
this
.
list
.
concat
(
data
.
records
);
this
.
pageOptions
.
pages
=
data
.
total
;
this
.
loadStatus
=
this
.
list
.
length
<
data
.
total
?
'loadmore'
:
'nomore'
;
}
else
{
this
.
list
=
[];
this
.
pageOptions
.
pages
=
0
;
this
.
loadStatus
=
'nomore'
;
}
}
})
},
goEntrustList
(){
this
.
$Router
.
push
({
...
...
@@ -227,7 +388,7 @@ $main-color: #fff;
flex-direction
:
$direction
;
/* #endif */
}
.active-color
{
color
:
$
c
olor
}
.active-color
{
color
:
$
activeC
olor
}
.bg-fff
{
background
:
#fff
;}
.item
{
width
:
100%
;
...
...
src/pages/material/entrustManagementItem.vue
View file @
e1b9231b
<
template
>
<view>
<view>
<u-image
height=
"750rpx"
></u-image>
<u-image
height=
"750rpx"
:src=
"`$
{$IMG_URL}${item.originalImageCode}`"
>
</u-image>
</view>
<view
class=
"u-p-t-20 u-p-r-30 u-p-l-30 "
>
<view
class=
"bg-fff u-p-t-20 u-p-r-30 u-p-b-30 u-p-l-30 item"
>
<view
class=
"u-flex"
>
<text
class=
"u-flex-1"
>
男装-上装-青年-时尚
</text>
<text
class=
"active"
>
待上架
</text>
<text
class=
"u-flex-1"
>
{{
item
.
styleTag
}}
</text>
<text
class=
"active"
>
{{
item
.
status
|
filterStatus
}}
</text>
</view>
<view
class=
"u-flex"
>
<text
class=
"u-flex-1 u-font-28"
>
AS23124
</text>
<text
class=
"u-flex-1 u-font-28"
>
{{
item
.
styleCode
}}
</text>
<text
class=
"u-font-24"
>
加入日期:
2021-12-11
加入日期:
{{
item
.
createTime
.
split
(
' '
)[
0
]
}}
</text>
</view>
<view
class=
"item-tags"
>
<view
class=
"item-tag u-font-20"
>
标签
<view
class=
"item-tag u-font-20"
:key=
"tag.id"
v-for=
"tag in item.styleLibraryTagVOList"
>
{{
tag
.
materialTagName
}}
</view>
<view
class=
"item-tag u-font-20"
>
标签
</view>
</view>
</view>
<view
class=
"bg-fff u-p-r-30 u-p-b-30 u-p-l-30 item"
>
<view
class=
"bg-fff u-p-r-30 u-p-b-30 u-p-l-30 item "
>
<view
class=
"u-border-bottom u-line-88"
>
所选面料
</view>
<view
class=
"u-m-t-30 u-m-b-56"
>
<hs-material-thumbnail
:item=
"
item
"
></hs-material-thumbnail>
<hs-material-thumbnail
:item=
"
materialInfo
"
></hs-material-thumbnail>
</view>
<view
class=
"u-flex"
>
<view
class=
"u-flex
base-line
"
>
<view
class=
""
>
<view>
主图颜色
</view>
<view
class=
"image"
>
<image
src=
"
"
style=
"width: 100%;height: 100%"
></image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
<image
:src=
"`$
{$IMG_URL}${mainPic.fileCode}`
" style="width: 100%;height: 100%">
</image>
<view
class=
"image-tip u-line-1"
>
{{
mainPic
.
describes
}}
</view>
</view>
</view>
<view
class=
"overflow u-flex-1"
>
<view>
其他颜色
</view>
<view>
<view
class=
"image u-m-r-10"
>
<image
src=
""
style=
"width: 100%;height: 100%"
></image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
</view>
<view
class=
"image u-m-r-10"
>
<image
src=
""
style=
"width: 100%;height: 100%"
></image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
</view>
<view
class=
"image u-m-r-10"
>
<image
src=
""
style=
"width: 100%;height: 100%"
></image>
<view
class=
"image-tip u-line-1"
>
颜色
</view>
<view
class=
"image u-m-r-10"
v-for=
"pic in subPic"
:key=
"pic.id"
>
<image
:src=
"`$
{$IMG_URL}${item.fileCode}`" style="width: 100%;height: 100%">
</image>
<view
class=
"image-tip u-line-1"
>
{{
pic
.
describes
}}
</view>
</view>
</view>
</view>
...
...
@@ -67,7 +58,60 @@ export default {
components
:
{
HsMaterialThumbnail
},
data
(){
return
{
item
:{}
item
:{
createTime
:
''
,
colourApiList
:
[]
}
}
},
computed
:{
mainPic
(){
return
this
.
item
.
colourApiList
.
filter
((
item
)
=>
item
.
isMain
)[
0
]
},
subPic
(){
return
this
.
item
.
colourApiList
.
filter
((
item
)
=>
!
item
.
isMain
)
},
materialInfo
(){
let
item
=
this
.
item
.
materialInfo
||
{};
return
Object
.
assign
({},
item
,{
materialCategory
:
item
.
category
,
materialDoorWidth
:
item
.
fabricWidth
,
materialElement
:
item
.
saoriStandard
,
})
}
},
filters
:{
filterStatus
(
v
){
// 1-待领取、2-待处理、3-待审核、4-已启动、5-已停用
switch
(
v
)
{
case
1
:
return
'待领取'
case
2
:
return
'待处理'
case
3
:
return
'待审核'
case
4
:
return
'已启动'
case
5
:
return
'已停用'
}
}
},
created
()
{
let
{
id
}
=
this
.
$Route
.
query
;
this
.
getItem
(
id
);
},
methods
:{
getItem
(
id
){
this
.
$http
(
"stylelibraryorder.getStyleDetails"
,
id
)
.
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
===
200
){
this
.
item
=
data
;
}
})
}
}
}
...
...
@@ -78,7 +122,7 @@ $h-color: #AF8D66;
$activeColor
:
#DDA973
;
$color
:
rgba
(
175
,
141
,
102
,
0
.10
);
$main-color
:
#fff
;
.base-line
{
align-items
:
baseline
;}
.u-line-88
{
line-height
:
88rpx
;
}
...
...
src/pages/material/mixins/material.js
0 → 100644
View file @
e1b9231b
export
default
{
data
(){
return
{
MaterialList
:
[],
materialDetail
:
{}
}
},
computed
:{
title
(){
return
this
.
materialDetail
.
materialName
;
},
},
methods
:{
getMaterialList
(){
this
.
$http
(
"materialinfo.getMaterialList"
,{
isDisabled
:
false
,
materialType
:
"面料"
,
current
:
1
,
size
:
10
,
}).
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
===
200
){
this
.
MaterialList
=
data
.
page
.
records
;
}
})
},
// 获取面料详情
getMaterialItem
(
id
,
callback
){
this
.
$http
(
"materialinfo.getMaterialById"
,
id
)
.
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
===
200
){
if
(
callback
){
callback
(
data
)
}
else
{
this
.
materialDetail
=
data
;
}
}
})
},
}
}
src/pages/material/mixins/step.js
0 → 100644
View file @
e1b9231b
export
default
{
data
(){
return
{
offset
:{
x
:
0
},
startTime
:
0
,
lineStepWidth
:
0
,
lineWidth
:
0
,
lineOffset
:
0
,
}
},
computed
:{
// 角度
angle
(){
let
{
lineOffset
,
offset
,
lineWidth
}
=
this
;
let
left
=
(
offset
.
x
-
lineOffset
.
left
)
/
lineWidth
*
100
;
return
Math
.
ceil
((
left
-
50
)
/
50
*
180
);
},
},
methods
:{
// 重置调整的进度条
initStep
(){
this
.
uGetRect
(
"#line"
).
then
(
res
=>
{
this
.
lineWidth
=
res
.
width
;
this
.
lineOffset
=
{
left
:
res
.
left
,
right
:
res
.
right
,
};
this
.
offset
.
x
=
res
.
width
/
2
+
res
.
left
;
})
this
.
uGetRect
(
"#line-step"
).
then
(
res
=>
{
this
.
lineStepWidth
=
res
.
width
;
})
},
resetStep
(){
this
.
offset
.
x
=
this
.
lineWidth
/
2
+
this
.
lineOffset
.
left
;
},
touchMove
(
e
){
let
left
=
e
.
changedTouches
[
0
].
pageX
;
this
.
offset
.
x
=
this
.
filterStartEnd
(
left
)
},
touchEnd
(
e
){
let
left
=
e
.
changedTouches
[
0
].
pageX
;
this
.
offset
.
x
=
this
.
filterStartEnd
(
left
)
},
touchStart
(
e
){
this
.
offset
.
x
=
e
.
changedTouches
[
0
].
pageX
;
},
filterStartEnd
(
num
){
let
{
left
,
right
}
=
this
.
lineOffset
;
if
(
num
<
left
){
return
left
}
else
if
(
num
>
right
){
return
right
}
else
{
return
num
}
}
},
mounted
()
{
this
.
initStep
()
},
}
src/pages/material/selectType.vue
View file @
e1b9231b
...
...
@@ -174,6 +174,7 @@ export default {
this
.
loadStatus
=
'loading'
;
this
.
$http
(
'stylelibraryorder.page'
,
{
styleTag
:
this
.
keyword
,
status
:
0
,
materialTagIdList
,
...
this
.
pageOptions
}).
then
(
res
=>
{
...
...
src/pages/modeling/addItem.vue
View file @
e1b9231b
...
...
@@ -25,7 +25,7 @@
</view>
</view>
<u-form-item
label=
"面料门幅"
prop=
"clothWidth"
>
<u-number-box
v-model=
"detail.clothWidth"
:step=
"0.1"
></u-number-box>
cm
<u-number-box
v-model=
"detail.clothWidth"
:step=
"0.1"
:positive-integer=
"false"
></u-number-box>
cm
</u-form-item>
<u-form-item
label=
"面料成分"
prop=
"component"
required
>
<u-input
v-model=
"detail.component"
placeholder=
"请输入面料成分"
/>
...
...
@@ -183,7 +183,7 @@
<view
class=
"footer"
>
<view
class=
"u-p-t-18 u-p-r-30 u-p-b-18 u-p-l-30"
>
<view
class=
"u-flex"
>
<view
class=
"u-flex-1"
>
共填写{{detail.clothRowColourQuantity}}种颜色名称,请不要重名
</view>
<view
class=
"u-flex-1"
>
请选择{{designAgencyColourQuantity}}种颜色名称
</view>
<view
class=
"custom-style-round-circle custom-style-btn custom-style dialog-btn"
>
<view
class=
"custom-style-right"
@
click=
"submitColor"
>
确定
</view>
</view>
...
...
@@ -300,7 +300,18 @@ export default {
expirationDate
:{
required
:
true
,
message
:
'请选择完成期限'
,
}
},
clothWidth
:{
max
:
20
,
validate
(
rule
,
value
,
callback
)
{
let
reg
=
new
RegExp
(
/^
(\\
d+
)(
.
\\
d
{0,2})?
$/
);
return
reg
.
test
(
value
);
},
message
:
'门幅应保留小数点后两位'
,
// 可以单个或者同时写两个触发验证方式
trigger
:
[
'change'
,
'blur'
],
},
},
// 暂存用的颜色组
modelingTaskColourDTOList
:
[],
...
...
@@ -405,11 +416,13 @@ export default {
removeColor
(){
let
list
=
this
.
detail
.
modelingTaskMaterialColourList
;
let
checked
=
this
.
checkedList
;
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
if
(
checked
.
indexOf
(
list
[
i
].
id
)
>
-
1
){
this
.
$set
(
list
[
i
],
'isDeleted'
,
true
)
for
(
const
item
of
list
)
{
let
index
=
checked
.
indexOf
(
item
.
id
);
if
(
index
>
-
1
){
this
.
$set
(
item
,
'isDeleted'
,
true
)
}
else
{
list
.
splice
(
i
,
1
)
list
.
splice
(
i
ndex
,
1
)
}
}
},
...
...
@@ -514,6 +527,7 @@ export default {
validate
(
callback
){
this
.
$refs
[
'uForm'
].
validate
((
res
)
=>
{
if
(
res
)
{
return
;
this
.
validateList
(
callback
)
}
})
...
...
src/pages/order/item.vue
0 → 100644
View file @
e1b9231b
<
template
>
<view
class=
"body"
>
<!--选款-->
<u-navbar
title=
"客户详情"
:border-bottom=
"false"
:background=
"
{backgroundColor: 'transparent'}">
</u-navbar>
<view
class=
"u-p-30"
>
<view
class=
"border-radius-8 bg-fff u-p-r-30 u-p-l-30 u-m-b-20"
>
<view
class=
"u-p-t-24 u-p-b-24 u-border-bottom"
>
客户信息
</view>
<view
class=
"u-p-t-24 u-p-b-24 u-flex"
>
<view
class=
"label"
>
客户名称
</view>
<view
class=
"context"
>
{{
detail
.
fullName
}}
</view>
</view>
<view>
<view
class=
" u-p-b-24 u-flex"
>
<view
class=
"label"
>
联系人
</view>
<view
class=
"context"
>
{{
detail
.
contacts
[
0
].
name
}}
</view>
</view>
<view
class=
" u-p-b-24 u-flex"
>
<view
class=
"label"
>
联系方式
</view>
<view
class=
"context"
@
click=
"uni.makePhoneCall(detail.contacts[0].phone)"
>
{{
detail
.
contacts
[
0
].
phone
}}
</view>
</view>
</view>
</view>
<view
class=
"border-radius-8 bg-fff u-p-r-30 u-p-l-30 u-m-b-20"
>
<view
class=
"tabBar u-flex u-border-bottom"
>
<view
class=
"tabBar-item u-flex"
v-for=
"(item,index) in tarBars"
@
click=
"activeIndex = index"
:class=
"[activeIndex === index ? 'active': '']"
>
<text>
{{
item
.
label
}}
</text>
<text
class=
"tabBar-split u-m-r-30 u-m-l-30"
v-if=
"index
<
tarBars
.
length
-1
"
></text>
</view>
</view>
<view
class=
"u-p-b-28"
>
<view
class=
"item "
v-for=
"group in groupByTime"
>
<view
class=
"item-title u-m-t-28 u-m-b-28"
>
{{
group
.
label
}}
</view>
<view>
<view
v-for=
"(item) in group.children"
class=
"u-flex"
>
<view
class=
"item-img u-relative"
>
<image
:src=
"`$
{$IMG_URL}${item.styleLibraryTaskItemVO.originalImageCode}`" mode="fit" style="width:100%; height: 100%">
</image>
</view>
<view
class=
"u-flex-1 u-p-l-20 u-p-r-30 u-border-left"
>
<view
class=
"item-title u-flex "
>
<view
class=
"u-flex-1 u-line-1 u-font-32 u-p-t-20 u-p-b-8"
>
{{
item
.
styleLibraryTaskItemVO
.
styleTag
}}
</view>
</view>
<view
class=
"item-desc u-font-24"
>
{{
item
.
styleLibraryTaskItemVO
.
materialName
}}
</view>
<view
class=
"item-desc u-font-24"
>
{{
item
.
styleLibraryTaskItemVO
.
styleCode
}}
</view>
<view
class=
"item-tags u-p-b-24"
>
<view
class=
"item-tag u-font-20"
:key=
"tag.id"
v-for=
"tag in item.styleLibraryTaskItemVO.styleLibraryTagVOList"
>
{{
tag
.
materialTagName
}}
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</
template
>
<
script
>
export
default
{
name
:
"item"
,
data
(){
return
{
activeIndex
:
0
,
tarBars
:
[
{
label
:
'采购意向记录'
},
{
label
:
'浏览款式记录'
},
],
item
:
{
styleLibraryMaterialProspectiveCustomerVOList
:
[]
}
}
},
computed
:{
detail
(){
return
this
.
item
.
basics
||
{
contacts
:
[{
name
:
''
,
phone
:
''
}]}
},
groupByTime
(){
let
map
=
Array
.
from
(
new
Set
(
this
.
tarBarContent
.
map
((
item
)
=>
item
.
createTime
))),
newList
=
[];
for
(
const
item
of
this
.
tarBarContent
)
{
let
name
=
item
[
'createTime'
],
index
=
map
.
indexOf
(
name
);
if
(
newList
[
index
]){
newList
[
index
][
'children'
].
push
(
item
)
}
else
{
newList
.
push
({
label
:
name
,
children
:
[
item
]
})
}
}
console
.
log
(
newList
)
return
newList
},
tarBarContent
(){
return
(
this
.
item
.
styleLibraryMaterialProspectiveCustomerVOList
||
[]
)
// 1-采购意向记录、2-浏览款式记录
.
filter
((
item
)
=>
item
.
type
===
this
.
activeIndex
+
1
)
}
},
created
()
{
let
{
id
}
=
this
.
$Route
.
query
;
this
.
getItem
(
id
)
},
methods
:{
getItem
(
id
){
this
.
$http
(
"stylelibraryorder.potentialCustomersDetails"
,
id
)
.
then
(
res
=>
{
let
{
code
,
data
}
=
res
;
if
(
code
===
200
){
this
.
item
=
data
;
}
})
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
$h-color
:
#AF8D66
;
$color
:
rgba
(
175
,
141
,
102
,
0
.10
);
$main-color
:
#fff
;
.item
{
width
:
100%
;
margin-bottom
:
40rpx
;
&
--round
{
border-radius
:
16rpx
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,
0
.10
);
}
&
--status
{
left
:
0
;
top
:
0
;
position
:
absolute
;
}
&
-img
{
width
:
160rpx
;
height
:
160rpx
;
//height: 100%
}
&
-title
{}
&
-desc
{}
&
-tags
{
}
&
-tag
{
padding
:
6rpx
2px
;
background
:
$color
;
text-align
:
center
;
color
:
$h-color
;
display
:
inline-block
;
margin-right
:
10rpx
;
}
}
.tabBar
{
height
:
88rpx
;
&
-item
{
font-size
:
24rpx
;
&
.active
{
font-size
:
28rpx
;
}
}
&
-split
{
height
:
28rpx
;
width
:
2rpx
;
background
:
rgba
(
0
,
0
,
0
,
0
.20
);
display
:
inline-block
;
}
}
.border-radius-8
{
border-radius
:
8rpx
;
}
.bg-fff
{
background
:
#fff
;
}
.label
{
color
:
rgba
(
0
,
0
,
0
,
0
.40
);
font-size
:
28rpx
;
min-width
:
140rpx
;
}
.context
{
color
:
#000
;
font-size
:
28rpx
;
}
</
style
>
src/pages/user/login/login.vue
View file @
e1b9231b
...
...
@@ -19,7 +19,10 @@ export default {
account
:
'18297959298'
,
password
:
'e10adc3949ba59abbe56e057f20f883e'
});
// await this.$store.dispatch('login', {
// account: '13588828505',
// password: '10470c3b4b1fed12c3baac014be15fac67c6e815',
// });
// await this.$store.dispatch("getDictionary")
// await this.$store.dispatch("getSizeList")
// await this.$store.dispatch("getCategoryList")
...
...
src/static/images/components/empty/empty.png
0 → 100644
View file @
e1b9231b
src/static/images/components/empty/empty@2x.png
0 → 100644
View file @
e1b9231b
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