Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
W
wly-APP
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
刘川
wly-APP
Commits
a035a093
Commit
a035a093
authored
Jul 22, 2022
by
chuan.liu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
市场线索查询联调
parent
1574f8de
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
952 additions
and
49 deletions
+952
-49
breakwords-clue-detail.vue
pages/breakwords-clue-detail/breakwords-clue-detail.vue
+877
-0
breakwords-market.nvue
pages/breakwords-market/breakwords-market.nvue
+75
-49
No files found.
pages/breakwords-clue-detail/breakwords-clue-detail.vue
0 → 100644
View file @
a035a093
<
template
>
<view
class=
"lists"
>
<view
class=
"status_bar"
:style=
"navHeight"
></view>
<view
class=
"header-bg"
>
<image
class=
"header-bg-img"
src=
"@/static/image/nav_bg@3x.png"
mode=
"scaleToFill"
></image>
</view>
<view
class=
"main"
>
<view
class=
"middle view"
>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
匿名提报
</text>
<view
class=
"middle-date-des uni-list picker-year"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<picker
class=
"picker-block"
@
change=
"bindPickerChange($event,'SubmitMethod')"
range-key=
'name'
mode=
"selector"
:value=
"condition.submitMethodName"
:range=
"selectDataOptions.SubmitMethod"
>
<text
class=
"uni-input"
>
{{
condition
.
submitMethodName
}}
</text>
</picker>
</view>
</view>
<image
class=
"icon-arrow"
src=
"@/static/image/arrow_r@3x.png"
mode=
""
></image>
</view>
</view>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
匿名口令
</text>
<view
class=
"middle-date-des uni-list picker-year"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<input
class=
"middle-date-des"
type=
"text"
v-model=
"condition.pwdInfo"
placeholder=
"请输入匿名提报口令,后期查询使用"
/>
</view>
</view>
<!--
<image
class=
"icon-arrow icon-search"
src=
"@/static/image/search_b@3x.png"
mode=
""
></image>
-->
</view>
</view>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
违约类型
</text>
<view
class=
"middle-date-des uni-list picker-year"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<picker
class=
"picker-block"
@
change=
"bindPickerChange($event,'ViolationType')"
range-key=
'name'
mode=
"selector"
:value=
"condition.viloationTypeName"
:range=
"selectDataOptions.ViolationType"
>
<text
class=
"uni-input"
>
{{
condition
.
viloationTypeName
}}
</text>
</picker>
</view>
</view>
<image
class=
"icon-arrow"
src=
"@/static/image/arrow_r@3x.png"
mode=
""
></image>
</view>
</view>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
细分类型
</text>
<view
class=
"middle-date-des uni-list picker-year"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<picker
class=
"picker-block"
@
change=
"bindPickerChange($event,'ChildType')"
range-key=
'name'
mode=
"selector"
:value=
"condition.childTypeName"
:range=
"selectDataOptions.ChildType"
>
<text
class=
"uni-input"
>
{{
condition
.
childTypeName
}}
</text>
</picker>
</view>
</view>
<image
class=
"icon-arrow"
src=
"@/static/image/arrow_r@3x.png"
mode=
""
></image>
</view>
</view>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
事发渠道
</text>
<view
class=
"middle-date-des uni-list picker-year"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<picker
class=
"picker-block"
@
change=
"bindPickerChange($event,'ChannelType')"
range-key=
'name'
mode=
"selector"
:value=
"condition.happenChannelIdName"
:range=
"selectDataOptions.ChannelType"
>
<text
class=
"uni-input"
>
{{
condition
.
happenChannelIdName
}}
</text>
</picker>
</view>
</view>
<image
class=
"icon-arrow"
src=
"@/static/image/arrow_r@3x.png"
mode=
""
></image>
</view>
</view>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
取证地
</text>
<view
class=
"middle-date-des uni-list picker-year"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<picker
class=
"picker-block"
@
change=
"bindPickerChange($event,'SupplyType')"
range-key=
'name'
mode=
"selector"
:value=
"condition.supplyTypeName"
:range=
"selectDataOptions.SupplyType"
>
<text
class=
"uni-input"
>
{{
condition
.
supplyTypeName
}}
</text>
</picker>
</view>
</view>
<image
class=
"icon-arrow"
src=
"@/static/image/arrow_r@3x.png"
mode=
""
></image>
</view>
</view>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
省份
</text>
<view
class=
"middle-date-des uni-list picker-year"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<picker
class=
"picker-block"
@
change=
"bindPickerChange($event,'provincecode')"
range-key=
'description'
mode=
"selector"
:value=
"condition.provinceName"
:range=
"selectDataOptions.provincecode"
>
<text
class=
"uni-input"
>
{{
condition
.
provinceName
}}
</text>
</picker>
</view>
</view>
<image
class=
"icon-arrow"
src=
"@/static/image/arrow_r@3x.png"
mode=
""
></image>
</view>
</view>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
城市
</text>
<view
class=
"middle-date-des uni-list picker-year"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<picker
class=
"picker-block"
@
change=
"bindPickerChange($event,'citycode')"
range-key=
'description'
mode=
"selector"
:value=
"condition.cityName"
:range=
"selectDataOptions.citycode"
>
<text
class=
"uni-input"
>
{{
condition
.
cityName
}}
</text>
</picker>
</view>
</view>
<image
class=
"icon-arrow"
src=
"@/static/image/arrow_r@3x.png"
mode=
""
></image>
</view>
</view>
<view
class=
"text-block"
v-if=
"condition.supplyType==='MARKET'"
>
<text
class=
"middle-date"
>
市场名称
</text>
<view
class=
"middle-date-des uni-list picker-year"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<input
class=
"middle-date-des"
type=
"text"
v-model=
"condition.marketName"
placeholder=
""
/>
</view>
</view>
<!--
<image
class=
"icon-arrow icon-search"
src=
"@/static/image/search_b@3x.png"
mode=
""
></image>
-->
</view>
</view>
<view
class=
"text-block"
v-if=
"condition.supplyType==='PLATFORM'"
>
<text
class=
"middle-date"
>
平台名称
</text>
<view
class=
"middle-date-des uni-list picker-year"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<input
class=
"middle-date-des"
type=
"text"
v-model=
"condition.platformName"
placeholder=
""
/>
</view>
</view>
<!--
<image
class=
"icon-arrow icon-search"
src=
"@/static/image/search_b@3x.png"
mode=
""
></image>
-->
</view>
</view>
<view
class=
"text-block"
v-if=
"condition.supplyType==='PLATFORM'"
>
<text
class=
"middle-date"
>
商家名称
</text>
<view
class=
"middle-date-des uni-list picker-year"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<input
class=
"middle-date-des"
type=
"text"
v-model=
"condition.storeName"
placeholder=
""
/>
</view>
</view>
<!--
<image
class=
"icon-arrow icon-search"
src=
"@/static/image/search_b@3x.png"
mode=
""
></image>
-->
</view>
</view>
<view
class=
"text-block"
v-if=
"condition.supplyType==='PLATFORM'"
>
<text
class=
"middle-date"
>
网址
</text>
<view
class=
"middle-date-des uni-list picker-year"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<input
class=
"middle-date-des"
type=
"text"
v-model=
"condition.storeAddress"
placeholder=
""
/>
</view>
</view>
<!--
<image
class=
"icon-arrow icon-search"
src=
"@/static/image/search_b@3x.png"
mode=
""
></image>
-->
</view>
</view>
<view
class=
"text-block"
v-if=
"condition.supplyType==='TERMINAL' || condition.supplyType==='MARKET' "
>
<text
class=
"middle-date"
>
终端名称
</text>
<view
class=
"middle-date-des uni-list picker-year"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<input
class=
"middle-date-des"
type=
"text"
v-model=
"condition.terminalName"
placeholder=
"请填写"
/>
</view>
</view>
<image
class=
"icon-arrow icon-search"
@
click=
"selectClueTerminal"
src=
"@/static/image/search_b@3x.png"
mode=
""
></image>
</view>
</view>
<view
class=
"text-block"
v-if=
"condition.supplyType==='TERMINAL' || condition.supplyType==='MARKET' "
>
<text
class=
"middle-date"
>
终端地址
</text>
<input
class=
"middle-date-des"
type=
"text"
v-model=
"condition.terminalAddress"
placeholder=
""
/>
</view>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
银行账户
</text>
<view
class=
"middle-date-des uni-list picker-year"
@
click=
"selectSalesAreaAccountInfo"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<input
class=
"middle-date-des"
type=
"text"
v-model=
"condition.salesAreaAccountPk"
placeholder=
"请填写"
/>
</view>
</view>
<image
class=
"icon-arrow"
src=
"@/static/image/arrow_r@3x.png"
mode=
""
></image>
</view>
</view>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
稽查时间
</text>
<view
class=
"middle-date-des uni-list picker-year"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<picker
class=
"picker-block"
@
change=
"bindPickerChange($event,'date')"
mode=
"date"
:value=
"condition.auditTime"
fields=
'day'
>
<text
class=
"uni-input"
>
{{
condition
.
auditTime
}}
</text>
</picker>
</view>
</view>
<image
class=
"icon-arrow"
src=
"@/static/image/arrow_r@3x.png"
mode=
""
></image>
</view>
</view>
<view
class=
"text-block text-block-last"
>
<text
class=
"middle-date"
>
稽查说明
</text>
</view>
<view
class=
"remark"
>
<textarea
class=
"remark-text"
v-model=
"condition.auditNotes"
/>
</view>
</view>
<view
class=
"middle view"
>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
物流码
</text>
<input
class=
"middle-date-des"
type=
"text"
v-model=
"condition.barcode"
placeholder=
"请输入"
/>
</view>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
物流码行项目
</text>
<view
class=
"middle-date-des middle-date-buttons"
>
<button
class=
"diy-entry"
type=
"default"
@
click=
"handleScan"
>
<image
class=
"diy-icon"
src=
"@/static/image/scan@3x.png"
mode=
""
>
</image>
<text
class=
"diy-entry-text"
>
扫码
</text>
</button>
<button
class=
"diy-entry"
type=
"default"
@
click=
"addProductByBarcode"
>
<image
class=
"diy-icon"
src=
"@/static/image/add@3x.png"
mode=
""
>
</image>
<text
class=
"diy-entry-text"
>
增加
</text>
</button>
<button
class=
"diy-entry"
type=
"default"
@
click=
"deleteProductByBarcode"
>
<image
class=
"diy-icon"
src=
"@/static/image/del@3x.png"
mode=
""
>
</image>
<text
class=
"diy-entry-text"
>
删除
</text>
</button>
</view>
</view>
</view>
<view
class=
"planout-block"
>
<button
class=
"btn"
type=
"default"
@
click=
"addProductByBarcode"
>
<text
class=
"btn-text"
>
查询
</text>
</button>
</view>
<view
class=
"middle view planout-block-item"
>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
产品名称
</text>
<text
class=
"middle-date-des"
>
{{
productByBarcode
.
productId
}}
</text>
</view>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
物流码
</text>
<text
class=
"middle-date-des"
>
{{
productByBarcode
.
barcode
}}
</text>
</view>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
出库时间
</text>
<text
class=
"middle-date-des"
>
{{
productByBarcode
.
outboundTime
}}
</text>
</view>
</view>
<view
class=
"middle view planout-block-item"
>
<view
class=
"text-block"
>
<text
class=
"middle-date"
>
收货金额(元)
</text>
<view
class=
"middle-date-des uni-list picker-year"
>
<view
class=
"uni-list-cell"
>
<view
class=
"uni-list-cell-db"
>
<input
class=
"middle-date-des"
type=
"text"
v-model=
"condition.receiveAmount"
placeholder=
"请输入收货金额,保留2位小数"
/>
</view>
</view>
</view>
</view>
<view
class=
"text-block no-border"
>
<text
class=
"middle-date"
>
事发战区及货源相关信息
</text>
<text
class=
"middle-date-des"
></text>
</view>
<view
class=
"text-block no-border"
>
<text
class=
"middle-date"
>
事发战区
</text>
<text
class=
"middle-date-des"
>
{{
distributerByBarcode
.
productDisSalesAreaName
}}
</text>
</view>
<view
class=
"text-block no-border"
>
<text
class=
"middle-date"
>
事发基地
</text>
<text
class=
"middle-date-des"
>
{{
distributerByBarcode
.
productDisSubSalesAreaName
}}
</text>
</view>
</view>
<view
class=
"middle view"
>
<view
class=
"upload-area view"
>
<text
class=
"title"
>
门头照片
</text>
<view
class=
"pic-lists"
>
<uni-file-picker
ref=
'files'
:auto-upload=
'false'
v-model=
"fileList"
file-mediatype=
"image"
:imageStyles=
"imageStyles"
@
select=
"select"
@
progress=
"progress"
@
success=
"success"
@
fail=
'fail'
>
<text>
+
</text>
</uni-file-picker>
</view>
<text
class=
"des"
>
(点击图片可放大,只能上传一次图片,多次上传至保留最后上传)
</text>
</view>
<view
class=
"upload-area view"
>
<text
class=
"title"
>
产品照片
</text>
<view
class=
"pic-lists"
>
<uni-file-picker
ref=
'files'
:auto-upload=
'false'
v-model=
"fileList"
file-mediatype=
"image"
:imageStyles=
"imageStyles"
@
select=
"select"
@
progress=
"progress"
@
success=
"success"
@
fail=
'fail'
>
<text>
+
</text>
</uni-file-picker>
</view>
<text
class=
"des"
>
(点击图片可放大,只能上传一次图片,多次上传至保留最后上传)
</text>
</view>
<view
class=
"upload-area view"
>
<text
class=
"title"
>
发票/收据照片
</text>
<view
class=
"pic-lists"
>
<uni-file-picker
ref=
'files'
:auto-upload=
'false'
v-model=
"fileList"
file-mediatype=
"image"
:imageStyles=
"imageStyles"
@
select=
"select"
@
progress=
"progress"
@
success=
"success"
@
fail=
'fail'
>
<text>
+
</text>
</uni-file-picker>
</view>
<text
class=
"des"
>
(点击图片可放大,只能上传一次图片,多次上传至保留最后上传)
</text>
</view>
</view>
</view>
<view
class=
"bottom-area"
></view>
<view
class=
"bottom"
>
<button
class=
"btn"
type=
"default"
@
tap=
"submit"
>
<text
class=
"btn-text"
>
提交
</text>
</button>
</view>
</view>
</view>
</
template
>
<
script
>
import
{
mapState
}
from
'vuex'
import
{
apiGetDictionary
,
apiClueSubmit
,
apiGetClueProduct
,
apiGetClueDistributer
}
from
'@/servers/breakwords.js'
import
{
apiGetProvinceCode
}
from
'@/servers/common.js'
import
timeFormat
from
'@/uview-ui/libs/function/timeFormat.js'
export
default
{
data
()
{
return
{
condition
:
{
submitMethod
:
''
,
submitMethodName
:
''
,
pwdInfo
:
''
,
viloationType
:
''
,
viloationTypeName
:
''
,
childType
:
''
,
childTypeName
:
''
,
happenChannelId
:
''
,
happenChannelIdName
:
''
,
productChannelId
:
''
,
productChannelName
:
''
,
supplyType
:
''
,
supplyTypeName
:
''
,
provinceCode
:
''
,
provinceName
:
''
,
cityCode
:
''
,
cityName
:
''
,
terminalId
:
''
,
terminalName
:
''
,
terminalAddress
:
''
,
platformName
:
''
,
storeName
:
''
,
storeAddress
:
''
,
marketName
:
''
,
salesAreaAccountPk
:
''
,
auditTime
:
''
,
auditNotes
:
''
,
barcode
:
''
,
receiveAmount
:
''
,
doorPicUrl
:
'https://t7.baidu.com/it/u=2487758541,1861252964&fm=193&f=GIF'
,
productPicUrl
:
'https://t7.baidu.com/it/u=2487758541,1861252964&fm=193&f=GIF'
,
invoicePicUrl
:
'https://t7.baidu.com/it/u=2487758541,1861252964&fm=193&f=GIF'
,
receiptPicUrl
:
'https://t7.baidu.com/it/u=2487758541,1861252964&fm=193&f=GIF'
,
},
pickerIndexs
:
{
submitMethodIndex
:
0
},
fileList
:
[],
selectDataOptions
:
{
'SubmitMethod'
:
[],
'ViolationType'
:
[],
'ChildType'
:
[],
'ChannelType'
:
[],
'provincecode'
:
[],
'citycode'
:
[],
},
productByBarcode
:
{},
distributerByBarcode
:
{},
}
},
computed
:
{
...
mapState
([
'sysinfo'
,
'userInfo'
]),
navHeight
()
{
return
{
'height'
:
`
${
this
.
sysinfo
.
safeArea
.
top
+
44
}
px`
}
},
imageStyles
()
{
return
{
width
:
64
,
height
:
64
,
border
:
{
radius
:
'10%'
}
}
},
},
created
()
{
this
.
condition
.
auditTime
=
timeFormat
(
new
Date
(),
'yyyy-mm-dd hh:MM:ss'
)
// 提交方式
this
.
getDictionary
(
'SubmitMethod'
)
// 违规类型
this
.
getDictionary
(
'ViolationType'
)
// 细分类型
this
.
getDictionary
(
'ChildType'
)
// 事发渠道
this
.
getDictionary
(
'ChannelType'
)
// 取证地
this
.
getDictionary
(
'SupplyType'
)
// 事发渠道
this
.
getDictionary
(
'ChannelType'
)
this
.
getProvinceCode
(
'provincecode'
)
},
mounted
()
{
console
.
log
(
'监听到事件来自 update'
);
let
_this
=
this
uni
.
$on
(
'selectClueTerminal'
,
function
(
data
)
{
console
.
log
(
'监听到事件来自 selectClueTerminal ,携带参数 msg 为:'
,
data
);
_this
.
condition
.
terminalName
=
data
.
selectedClueTerminal
.
name
_this
.
condition
.
terminalId
=
data
.
selectedClueTerminal
.
id
_this
.
condition
.
terminalAddress
=
data
.
selectedClueTerminal
.
address
})
uni
.
$on
(
'selectSalesAreaAccountInfo'
,
function
(
data
)
{
console
.
log
(
'监听到事件来自 selectSalesAreaAccountInfo ,携带参数 msg 为:'
,
data
);
_this
.
condition
.
salesAreaAccountPk
=
data
.
selectedSalesAreaAccountInfo
.
pk
})
},
onUnload
()
{
console
.
log
(
'onUnload'
)
uni
.
$off
(
'selectClueTerminal'
)
uni
.
$off
(
'selectSalesAreaAccountInfo'
)
},
beforeDestroy
()
{
console
.
log
(
'onUnload2'
)
uni
.
$off
(
'selectClueTerminal'
)
uni
.
$off
(
'selectSalesAreaAccountInfo'
)
},
methods
:
{
async
getDictionary
(
key
)
{
const
params
=
{
dictionaryKey
:
key
}
const
res
=
await
apiGetDictionary
(
params
)
this
.
selectDataOptions
[
key
]
=
res
.
data
},
// 获取省市
async
getProvinceCode
(
type
,
code
)
{
const
params
=
`?field=
${
type
}
&type=
${
code
}
`
const
res
=
await
apiGetProvinceCode
(
params
)
this
.
selectDataOptions
[
type
]
=
res
.
data
},
bindPickerChange
(
e
,
type
)
{
console
.
log
(
'picker发送选择改变,携带值为'
,
e
,
type
)
const
index
=
e
.
detail
.
value
switch
(
type
)
{
case
'SubmitMethod'
:
this
.
condition
.
submitMethod
=
this
.
selectDataOptions
[
type
][
index
].
code
this
.
condition
.
submitMethodName
=
this
.
selectDataOptions
[
type
][
index
].
name
break
;
case
'ViolationType'
:
this
.
condition
.
viloationType
=
this
.
selectDataOptions
[
type
][
index
].
code
this
.
condition
.
viloationTypeName
=
this
.
selectDataOptions
[
type
][
index
].
name
break
;
case
'ChildType'
:
this
.
condition
.
childType
=
this
.
selectDataOptions
[
type
][
index
].
code
this
.
condition
.
childTypeName
=
this
.
selectDataOptions
[
type
][
index
].
name
break
;
case
'ChannelType'
:
this
.
condition
.
happenChannelId
=
this
.
condition
.
productChannelId
=
this
.
selectDataOptions
[
type
][
index
].
code
this
.
condition
.
happenChannelIdName
=
this
.
condition
.
productChannelName
=
this
.
selectDataOptions
[
type
][
index
].
name
break
;
case
'SupplyType'
:
this
.
condition
.
supplyType
=
this
.
selectDataOptions
[
type
][
index
].
code
this
.
condition
.
supplyTypeName
=
this
.
selectDataOptions
[
type
][
index
].
name
break
;
case
'provincecode'
:
this
.
condition
.
provinceCode
=
this
.
selectDataOptions
[
type
][
index
].
id
this
.
condition
.
provinceName
=
this
.
selectDataOptions
[
type
][
index
].
description
this
.
getProvinceCode
(
'citycode'
,
this
.
condition
.
provinceCode
)
break
;
case
'citycode'
:
this
.
condition
.
cityCode
=
this
.
selectDataOptions
[
type
][
index
].
id
this
.
condition
.
cityName
=
this
.
selectDataOptions
[
type
][
index
].
description
break
;
case
'date'
:
this
.
condition
.
auditTime
=
index
break
;
}
},
selectClueTerminal
()
{
uni
.
navigateTo
({
url
:
`/pages/select-clue-terminal/select-clue-terminal?keywords=
${
this
.
condition
.
terminalName
}
`
});
},
selectSalesAreaAccountInfo
()
{
uni
.
navigateTo
({
url
:
`/pages/select-salesarea-account/select-salesarea-account?keywords=`
});
},
async
addProductByBarcode
()
{
const
params
=
{
barcode
:
this
.
condition
.
barcode
}
const
res
=
await
apiGetClueProduct
(
params
)
if
(
res
.
data
)
{
this
.
productByBarcode
=
res
.
data
this
.
productByBarcode
.
id
=
1
this
.
productByBarcode
.
group
=
res
.
data
.
classGroupId
this
.
productByBarcode
.
productId
=
res
.
data
.
productId
this
.
productByBarcode
.
productName
=
res
.
data
.
barcodeTypeName
}
this
.
addDistributerByBarcode
()
},
async
addDistributerByBarcode
()
{
const
params
=
{
barcode
:
this
.
condition
.
barcode
}
const
res
=
await
apiGetClueDistributer
(
params
)
if
(
res
.
data
)
{
this
.
distributerByBarcode
=
res
.
data
}
},
deleteProductByBarcode
()
{
this
.
productByBarcode
=
{}
this
.
distributerByBarcode
=
{}
},
async
submit
()
{
let
params
=
{
'supplyType'
:
this
.
condition
.
supplyType
,
'auditTime'
:
this
.
condition
.
auditTime
,
'auditNotes'
:
this
.
condition
.
auditNotes
,
// 'channelId': this.condition.happenChannelId,
'childType'
:
this
.
condition
.
childType
,
'childTypeName'
:
this
.
condition
.
childTypeName
,
'cityCode'
:
this
.
condition
.
cityCode
,
'cityName'
:
this
.
condition
.
cityName
,
'doorPicUrl'
:
this
.
condition
.
doorPicUrl
,
'entries'
:
[
this
.
productByBarcode
],
'happenSalesAreaCode'
:
this
.
distributerByBarcode
.
productDisSalesAreaId
,
'happenSalesAreaName'
:
this
.
distributerByBarcode
.
productDisSalesAreaName
,
'happenSubSalesAreaCode'
:
this
.
distributerByBarcode
.
productDisSubSalesAreaId
,
'happenSubSalesAreaName'
:
this
.
distributerByBarcode
.
productDisSubSalesAreaName
,
'happenChannelId'
:
this
.
condition
.
happenChannelId
,
'invoicePicUrl'
:
this
.
condition
.
invoicePicUrl
,
'productChannelId'
:
this
.
condition
.
productChannelId
,
'productChannelName'
:
this
.
condition
.
productChannelName
,
'productDisChaManagerId'
:
this
.
distributerByBarcode
.
productDisChaManagerId
,
'productDisChaManagerName'
:
this
.
distributerByBarcode
.
productDisChaManagerName
,
'productDisSalesAreaId'
:
this
.
distributerByBarcode
.
productDisSalesAreaId
,
'productDisSalesAreaName'
:
this
.
distributerByBarcode
.
productDisSalesAreaName
,
'productDisSubSalesAreaId'
:
this
.
distributerByBarcode
.
productDisSubSalesAreaId
,
'productDisSubSalesAreaName'
:
this
.
distributerByBarcode
.
productDisSubSalesAreaName
,
'productDistributerId'
:
this
.
distributerByBarcode
.
productDistributerId
,
'productDistributerName'
:
this
.
distributerByBarcode
.
productDistributerName
,
'productPicUrl'
:
this
.
condition
.
productPicUrl
,
'provinceCode'
:
this
.
condition
.
provinceCode
,
'provinceName'
:
this
.
condition
.
provinceName
,
'pwdInfo'
:
this
.
condition
.
pwdInfo
,
'receiptPicUrl'
:
this
.
condition
.
receiptPicUrl
,
'receiveAmount'
:
this
.
condition
.
receiveAmount
,
'submitMethod'
:
this
.
condition
.
submitMethod
,
'submitSource'
:
'DISTRIBUTER'
,
'submitUserId'
:
this
.
userInfo
.
code
,
'submitUserName'
:
this
.
userInfo
.
name
,
'terminalAddress'
:
this
.
condition
.
terminalAddress
,
'terminalId'
:
this
.
condition
.
terminalId
,
'terminalName'
:
this
.
condition
.
terminalName
,
'viloationType'
:
this
.
condition
.
viloationType
,
'platformName'
:
this
.
condition
.
platformName
,
'storeName'
:
this
.
condition
.
storeName
,
'marketName'
:
this
.
condition
.
marketName
,
'storeAddress'
:
this
.
condition
.
storeAddress
,
'salesAreaAccountPk'
:
this
.
condition
.
salesAreaAccountPk
,
}
const
res
=
await
apiClueSubmit
(
params
)
},
handleScan
()
{
uni
.
scanCode
({
scanType
:
[
'barCode'
],
success
:
function
(
res
)
{
console
.
log
(
'条码类型:'
+
res
.
scanType
);
console
.
log
(
'条码内容:'
+
res
.
result
);
this
.
condition
.
barcode
=
res
.
result
}
});
},
// 获取上传进度
progress
(
e
)
{
console
.
log
(
'上传进度:'
,
e
)
},
// 选择文件
select
(
e
)
{
console
.
log
(
'选择文件:'
,
e
,
this
.
fileList
)
},
// 上传成功
success
(
e
)
{
console
.
log
(
'上传成功'
,
e
)
},
// 上传失败
fail
(
e
)
{
console
.
log
(
'上传失败:'
,
e
)
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.view
{
display
:
flex
;
flex-direction
:
column
;
}
.status_bar
{
height
:
var
(
--
status-bar-height
);
}
.header-bg
{
height
:
284rpx
;
margin-top
:
-88rpx
;
}
.header-bg-img
{
width
:
100%
;
}
.lists
{
position
:
relative
;
flex-direction
:
column
;
background
:
#f0f4f5
;
}
.main
{
position
:
relative
;
overflow-y
:
scroll
;
flex-direction
:
column
;
margin-top
:
-164rpx
;
border-radius
:
16rpx
;
padding
:
0
16rpx
;
}
.middle
{
background-color
:
#fff
;
border-radius
:
16rpx
;
padding
:
0
48rpx
;
margin-bottom
:
32rpx
;
}
.text-block
{
display
:
flex
;
overflow
:
hidden
;
height
:
96rpx
;
border-bottom
:
1px
solid
#f4f5f6
;
}
.text-block-last
{
margin-bottom
:
0
;
border-bottom
:
0
;
}
.no-border
{
border
:
0
;
}
.middle-date
{
flex
:
2
;
font-size
:
28rpx
;
line-height
:
96rpx
;
color
:
#999
;
margin-bottom
:
8rpx
;
}
.middle-date-des
{
display
:
flex
;
align-items
:
center
;
flex
:
7
;
font-size
:
28rpx
;
color
:
$text-base-color
;
height
:
96rpx
;
line-height
:
96rpx
;
}
.middle-date-buttons
{}
.uni-input-placeholder
{
color
:
#DBDBDB
;
}
.picker-year
{
position
:
relative
;
align-items
:
center
;
// padding-left: 14rpx;
}
.uni-list-cell
{
flex
:
1
;
height
:
100%
;
padding-right
:
52rpx
;
}
.uni-list-cell-db
{
flex
:
1
;
height
:
100%
;
}
.picker-block
{
flex
:
1
;
height
:
100%
;
}
.uni-input
{
font-size
:
14px
;
color
:
$text-base-color
;
}
.icon-arrow
{
position
:
absolute
;
right
:
22rpx
;
top
:
40rpx
;
width
:
7px
;
height
:
10px
;
z-index
:
10
;
}
.icon-search
{
width
:
11px
;
height
:
12px
;
top
:
36rpx
;
}
.remark
{
margin-bottom
:
24px
;
}
.remark-text
{
flex
:
1
;
height
:
180rpx
;
background
:
#f5f6f7
;
border-radius
:
4px
;
padding
:
12rpx
18rpx
;
}
.diy-entry
{
width
:
140rpx
;
height
:
68rpx
;
background
:
#f8f8f8
;
border-radius
:
8px
;
line-height
:
68rpx
;
border
:
1px
solid
#f8f8f8
;
margin-left
:
16rpx
;
}
.diy-icon
{
width
:
24rpx
;
height
:
20rpx
;
margin-right
:
8rpx
;
}
.diy-entry-text
{
color
:
#333
;
font-size
:
12px
;
}
.planout-block-item
{
margin-top
:
48rpx
;
}
.upload-area
{
padding-top
:
32rpx
;
padding-bottom
:
32rpx
;
.title
{
font-size
:
28rpx
;
color
:
#333
;
font-weight
:
500
;
}
.pic-lists
{
margin-top
:
24rpx
;
margin-bottom
:
20rpx
;
}
.des
{
color
:
#1C84FF
;
font-size
:
20rpx
;
}
}
.bottom-area
{
height
:
140rpx
;
margin-top
:
12rpx
;
}
.bottom
{
position
:
fixed
;
bottom
:
0
;
left
:
0
;
z-index
:
10
;
width
:
750rpx
;
height
:
140rpx
;
padding
:
0
32rpx
;
background-color
:
#fff
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
}
.btn
{
flex
:
1
;
height
:
92rpx
;
background
:
$wly-primary-color
;
border-radius
:
46rpx
;
}
.btn-l
{
margin-right
:
30rpx
;
border
:
1px
solid
$wly-primary-color
;
background-color
:
transparent
;
}
.btn-text
{
color
:
#fff
;
font-size
:
34rpx
;
}
.btn-text-l
{
color
:
$wly-primary-color
;
}
</
style
>
pages/breakwords-market/breakwords-market.nvue
View file @
a035a093
...
...
@@ -48,24 +48,28 @@
</refresh>
<cell v-for="(item,index) in lists" :key="index">
<view class="scroll-item">
<view class="item-block item-block-code">
<text class="item-block-label">单号:333</text>
</view>
<view class="item-block item-block-name">
<text class="item-block-label item-block__label">2</text>
</view>
<view class="item-block">
<text class="item-block-label-des">2-3</text>
<view v-if="index===0" class="item-block item-block-sum">
<text class="item-block-label">共 1 项</text>
</view>
<view class="block-detal">
<view class="block-detal-item">
<text class="detal-item-label">存货分类</text>
<text class="detal-item-value">sss</text>
<view class="block-detal-head">
<text
class="detal-head-item-value detal-head-item-value-first">{{item.auditTime}}</text>
<text class="detal-head-item-value">{{item.viloationTypeName}}</text>
<text class="detal-head-item-value">{{item.childTypeName}}</text>
<text
class="detal-head-item-value detal-head-item-value-last status-done">{{item.statusName}}</text>
</view>
<view class="block-detal-item block-detal-item-last">
<text class="detal-item-label">已占用计划(件)</text>
<text class="detal-item-value">3</text>
<view class="block-detal-body">
<text class="detal-item-value">{{item.terminalName}}</text>
<text class="detal-item-value">{{item.terminalAddress}}</text>
<text class="detal-item-value">{{item.platformName}}</text>
<text class="detal-item-value">{{item.storeName}}</text>
<view class="detal-item-value" v-for="(product,index2) in item.entries" :key='index2'>
<text class="product-val">{{product.productName}}</text>
<text class="product-val">{{product.barcodeTypeName}}</text>
<text class="product-val"> {{product.barcode}}</text>
</view>
</view>
</view>
</view>
...
...
@@ -166,7 +170,7 @@
},
created() {
this.condition.submitUserId = this.userInfo.code
this.reset()
//
this.reset()
},
methods: {
async getClueList(isRefresh) {
...
...
@@ -204,19 +208,23 @@
const res = await api[this.activeTabIndex](params)
uni.hideLoading();
const {
totalNumberOfResults,
numberOfPages
} = res.data.pagination
this.loadParams.total = totalNumberOfResults
this.loadParams.totalPage = numberOfPages
if (isRefresh) {
this.lists = res.data.results
this.loadParams.isDone = false
if (res?.data?.results) {
const {
totalNumberOfResults,
numberOfPages
} = res.data.pagination
this.loadParams.total = totalNumberOfResults
this.loadParams.totalPage = numberOfPages
if (isRefresh) {
this.lists = res.data.results
this.loadParams.isDone = false
} else {
this.lists = this.lists.concat(res.data.results)
}
} else {
this.lists = this.lists.concat(res.data.results)
this.lists = [res.data]
this.loadParams.isDone = true
}
setTimeout(() => {
...
...
@@ -479,9 +487,8 @@
flex: 1;
display: flex;
flex-direction: column;
margin-bottom: 32rpx;
border-radius: 16rpx;
padding: 32rpx 64rpx 40rpx 48rpx;
padding: 0 64rpx 0 48rpx;
background-color: #fff;
}
.planout-block-item__last {
...
...
@@ -507,13 +514,10 @@
text-overflow: ellipsis;
}
.item-block-code {
padding-bottom: 16rpx;
}
.item-block-name {
padding-top: 24rpx;
padding-bottom: 32rpx;
.item-block-sum {
padding-bottom: 10px;
margin-bottom: 28rpx;
border-bottom: 1px solid #f4f5f6;
}
.item-block-label-des {
...
...
@@ -527,29 +531,51 @@
display: flex;
flex-direction: column;
background: #f8f8f8;
border-radius:
2
0rpx;
padding: 32rpx;
margin-
top: 32
rpx;
border-radius:
1
0rpx;
padding:
24rpx
32rpx;
margin-
bottom: 28
rpx;
}
.block-detal-
item
{
.block-detal-
head
{
display: flex;
margin-bottom: 32rpx;
justify-content: space-between;
border-bottom: 1px solid #ddd;
padding-bottom: 6px;
}
.block-detal-item-last {
margin-bottom: 0;
.detal-head-item-value {
flex: 1;
text-align: center;
}
.detal-item-label {
color: #999;
font-size: 24rpx;
.detal-head-item-value-first {
flex: 1.2;
text-align: left;
}
.detal-head-item-value-last {
flex: 0.7;
text-align: right;
}
.status-done {
color: #F62C29;
}
.product-val {
margin-right: 10px;
}
.block-detal-body {
display: flex;
flex-direction: column;
padding-top: 20rpx;
}
.detal-item-value {
color: #333;
font-size: 28rpx;
font-size: 24rpx;
margin-bottom: 8rpx;
}
.btn {
...
...
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