Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_admin
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_admin
Commits
9df0c8c2
Commit
9df0c8c2
authored
Jul 20, 2023
by
xiaoman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
钱币记录
parent
182a50dd
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
214 additions
and
46 deletions
+214
-46
src/api/business/category.js
src/api/business/category.js
+8
-0
src/views/goods/components/selectImageDialog.vue
src/views/goods/components/selectImageDialog.vue
+1
-1
src/views/goods/infoSet.vue
src/views/goods/infoSet.vue
+1
-1
src/views/mall/dealRecord.vue
src/views/mall/dealRecord.vue
+204
-44
No files found.
src/api/business/category.js
View file @
9df0c8c2
...
...
@@ -54,6 +54,14 @@ export function deleteCategory(data) {
})
}
export
function
editDealRecord
(
data
)
{
return
request
({
url
:
'
/bidrecord/update
'
,
method
:
'
post
'
,
data
})
}
export
function
getCategory
(
query
)
{
return
request
({
url
:
'
/category/getSubCategory
'
,
...
...
src/views/goods/components/selectImageDialog.vue
View file @
9df0c8c2
...
...
@@ -84,7 +84,7 @@ export default {
}
</
script
>
<
style
lang=
"
le
ss"
scoped
>
<
style
lang=
"
sc
ss"
scoped
>
.list
{
width
:
720px
;
.select_item
{
...
...
src/views/goods/infoSet.vue
View file @
9df0c8c2
...
...
@@ -468,7 +468,7 @@ export default {
}
</
script
>
<
style
lang=
"
le
ss"
scoped
>
<
style
lang=
"
sc
ss"
scoped
>
/
deep
/
.vue-picture-cut_default-menu
{
height
:
0px
;
inset
:
0px
0px
0px
!
important
;
...
...
src/views/mall/dealRecord.vue
View file @
9df0c8c2
...
...
@@ -4,39 +4,104 @@
<el-button
type=
"primary"
size=
"mini"
class=
"mr10"
@
click=
"onBack"
>
返回
</el-button>
<el-button
type=
"danger"
size=
"mini"
class=
"mr10"
@
click=
"onAdd"
>
添加记录
</el-button>
</div>
<!--
<div
class=
"search-line"
>
</div>
-->
<el-form
ref=
"searchForm"
:inline=
"true"
:model=
"searchForm"
class=
"demo-form-inline"
>
<el-form-item
label=
"价格范围"
prop=
"priceRangeStart"
>
<el-input-number
v-model=
"searchForm.priceRangeStart"
:precision=
"2"
:step=
"1"
controls-position=
"right"
size=
"small"
/>
</el-form-item>
<el-form-item
prop=
"priceRangeEnd"
>
~
<el-input-number
v-model=
"searchForm.priceRangeEnd"
:precision=
"2"
:step=
"1"
controls-position=
"right"
size=
"small"
/>
</el-form-item>
<el-form-item
label=
"交易日期"
prop=
"dateRange"
>
<el-date-picker
v-model=
"searchForm.dateRange"
:picker-options=
"dealPickerOptions"
value-format=
"timestamp"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
align=
"right"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"onSearchSubmit"
>
查询
</el-button>
<el-button
@
click=
"resetSearchForm('searchForm')"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-table
v-loading=
"listLoading"
:data=
"dataList"
size=
"small"
element-loading-text=
"正在查询中。。。"
border
fit
highlight-current-row
>
<el-table-column
align=
"center"
label=
"ID"
prop=
"id"
/>
<el-table-column
align=
"center"
label=
"购买平台"
prop=
"platform"
/>
<el-table-column
align=
"center"
label=
"图片"
width=
"120px"
>
<el-table-column
align=
"center"
label=
"商品图片"
width=
"120px"
>
<template
slot-scope=
"scope"
>
<img
v-for=
"(item,index) in scope.row.images"
:src=
"item"
:key=
"index"
class=
"row-img"
>
<img
v-if=
"scope.row.images.length>0"
:src=
"scope.row.images[0]"
class=
"row-img"
>
<!--
<img
v-for=
"(item,index) in scope.row.images"
:src=
"item"
:key=
"index"
class=
"row-img"
>
-->
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"成交价格"
prop=
"price"
/>
<el-table-column
align=
"center"
label=
"成交时间"
prop=
"bidtime"
>
<el-table-column
align=
"center"
label=
"钱币描述"
prop=
"extra"
/>
<el-table-column
align=
"center"
label=
"成交平台"
prop=
"platform"
/>
<el-table-column
align=
"center"
label=
"链接地址"
prop=
"link"
/>
<el-table-column
align=
"center"
label=
"交易日期"
prop=
"bidtime"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
bidtime
|
filterTime
}}
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"更新时间"
prop=
"bidtime"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
bidtime
|
filterTime
}}
</
template
>
</el-table-column>
<el-table-column
align=
"left"
label=
"操作"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
v-permission=
"['POST /admin/category/delete']"
type=
"text"
size=
"medium"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
<el-button
v-permission=
"['POST /admin/category/edit']"
type=
"primary"
size=
"small"
@
click=
"handleOpenDialog(scope.row)"
>
编辑
</el-button>
<el-button
v-permission=
"['POST /admin/category/delete']"
type=
"danger"
size=
"small"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<!-- 添加或修改对话框 -->
<el-dialog
:title=
"textMap[dialogStatus]"
:visible.sync=
"dialogFormVisible"
width=
"600px"
>
<el-dialog
:title=
"textMap[dialogStatus]"
:visible.sync=
"dialogFormVisible"
width=
"600px"
@
close=
"resetForm()"
>
<el-form
ref=
"dataForm"
:rules=
"rules"
:model=
"dataForm"
status-icon
label-position=
"left"
label-width=
"100px"
style=
"width: 400px; margin-left:50px;"
>
<el-form-item
label=
"购买平台"
prop=
"platform"
>
<el-input
v-model=
"dataForm.platform"
/>
<el-form-item
label=
"商品图片"
prop=
"icon"
>
<el-upload
ref=
"goodsUploader"
:headers=
"headers"
:action=
"uploadPath"
:show-file-list=
"true"
:file-list=
"fileList"
:on-success=
"uploadIconUrl"
:on-remove=
"handleRemove"
:on-exceed=
"uploadOverrun"
:multiple=
"true"
:limit=
"5"
style=
"width:400px"
list-type=
"picture-card"
class=
"avatar-uploader"
accept=
".jpg,.jpeg,.png,.gif"
>
<!-- <div v-if="dataForm.images && dataForm.images.length" class="flex f-ai-c f-fw-w" style="width:420px">
<img v-for="(item,index) in dataForm.images" :src="item" :key="index" class="avatar">
</div> -->
<i
class=
"el-icon-plus avatar-uploader-icon"
/>
</el-upload>
</el-form-item>
<el-form-item
label=
"成交价格"
prop=
"price"
>
<el-input
v-model=
"dataForm.price"
/>
</el-form-item>
<el-form-item
label=
"成交记录id"
prop=
"id"
>
<el-input
v-model=
"dataForm.id"
/>
<el-form-item
label=
"钱币描述"
prop=
"extra"
>
<el-input
v-model=
"dataForm.extra"
/>
</el-form-item>
<el-form-item
label=
"购买人"
prop=
"buyer"
>
<el-input
v-model=
"dataForm.buyer"
/>
</el-form-item>
<el-form-item
label=
"成交平台"
prop=
"platform"
>
<el-input
v-model=
"dataForm.platform"
/>
</el-form-item>
<el-form-item
label=
"链接地址"
prop=
"link"
>
<el-input
v-model=
"dataForm.link"
/>
</el-form-item>
<el-form-item
label=
"
成交时间
"
prop=
"bidtime"
>
<el-form-item
label=
"
交易日期
"
prop=
"bidtime"
>
<!-- <el-input v-model="dataForm.bidtime"/> -->
<el-date-picker
v-model=
"dataForm.bidtime"
...
...
@@ -46,31 +111,11 @@
value-format=
"timestamp"
placeholder=
"选择日期时间"
/>
</el-form-item>
<el-form-item
label=
"购买人"
prop=
"buyer"
>
<el-input
v-model=
"dataForm.buyer"
/>
</el-form-item>
<el-form-item
label=
"图片"
prop=
"icon"
>
<el-upload
:headers=
"headers"
:action=
"uploadPath"
:show-file-list=
"false"
:on-success=
"uploadIconUrl"
:on-remove=
"handleRemove"
:on-exceed=
"uploadOverrun"
:multiple=
"true"
:limit=
"5"
class=
"avatar-uploader"
accept=
".jpg,.jpeg,.png,.gif"
>
<div
v-if=
"dataForm.images && dataForm.images.length"
class=
"flex f-ai-c f-fw-w"
style=
"width:420px"
>
<img
v-for=
"(item,index) in dataForm.images"
:src=
"item"
:key=
"index"
class=
"avatar"
>
</div>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
/>
</el-upload>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogFormVisible = false"
>
取消
</el-button>
<el-button
v-if=
"dialogStatus=='create'"
type=
"primary"
@
click=
"createData
"
>
确定
</el-button>
<el-button
type=
"primary"
@
click=
"handleOk(dialogStatus)
"
>
确定
</el-button>
</div>
</el-dialog>
...
...
@@ -78,11 +123,17 @@
</template>
<
script
>
import
{
getDealRecord
,
addDealRecord
,
deleteDealRecord
}
from
'
@/api/business/category
'
import
{
getDealRecord
,
addDealRecord
,
deleteDealRecord
,
editDealRecord
}
from
'
@/api/business/category
'
import
{
getToken
}
from
'
@/utils/auth
'
import
{
uploadPath
}
from
'
@/api/business/storage
'
import
moment
from
'
moment
'
// const validateIcon = (rule, value, callback) => {
// if (!this.dataForm.images.length === 0) {
// callback(new Error('请至少上传一张商品图片'))
// } else {
// callback()
// }
// }
export
default
{
name
:
'
Category
'
,
components
:
{
},
...
...
@@ -99,14 +150,36 @@ export default {
return
{
uploadPath
,
dataForm
:
{
images
:
[]
price
:
''
,
extra
:
''
,
platform
:
''
,
link
:
''
,
bidtime
:
''
,
buyer
:
''
,
images
:
[],
icon
:
''
},
searchForm
:
{
priceRangeStart
:
0
,
priceRangeEnd
:
0
,
dateRange
:
undefined
},
dialogFormVisible
:
false
,
dialogStatus
:
''
,
textMap
:
{
create
:
'
创建
'
create
:
'
创建
'
,
edit
:
'
修改
'
},
rules
:
{
icon
:
[
{
required
:
true
,
validator
:
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
dataForm
.
images
.
length
===
0
)
{
callback
(
new
Error
(
'
请至少上传一张商品图片
'
))
}
else
{
callback
()
}
},
message
:
'
请至少上传一张商品图片
'
,
trigger
:
'
change
'
}
],
price
:
[
{
required
:
true
,
message
:
'
请输入成交价格
'
,
trigger
:
'
blur
'
},
{
...
...
@@ -114,7 +187,13 @@ export default {
message
:
'
格式不正确,请输入正整数!
'
}],
bidtime
:
[{
required
:
true
,
message
:
'
请输入成交时间
'
,
trigger
:
'
blur
'
}]
bidtime
:
[{
required
:
true
,
message
:
'
请输入交易时间
'
,
trigger
:
'
blur
'
}],
platform
:
[
{
required
:
true
,
message
:
'
请输入成交平台
'
,
trigger
:
'
blur
'
}
],
link
:
[
{
required
:
true
,
message
:
'
请输入链接地址
'
,
trigger
:
'
blur
'
}
]
},
dataList
:
[],
rowId
:
''
,
...
...
@@ -123,6 +202,33 @@ export default {
const
time
=
v
.
getTime
()
return
time
>
Date
.
now
()
}
},
dealPickerOptions
:
{
shortcuts
:
[{
text
:
'
最近一周
'
,
onClick
(
picker
)
{
const
end
=
new
Date
()
const
start
=
new
Date
()
start
.
setTime
(
start
.
getTime
()
-
3600
*
1000
*
24
*
7
)
picker
.
$emit
(
'
pick
'
,
[
start
,
end
])
}
},
{
text
:
'
最近一个月
'
,
onClick
(
picker
)
{
const
end
=
new
Date
()
const
start
=
new
Date
()
start
.
setTime
(
start
.
getTime
()
-
3600
*
1000
*
24
*
30
)
picker
.
$emit
(
'
pick
'
,
[
start
,
end
])
}
},
{
text
:
'
最近三个月
'
,
onClick
(
picker
)
{
const
end
=
new
Date
()
const
start
=
new
Date
()
start
.
setTime
(
start
.
getTime
()
-
3600
*
1000
*
24
*
90
)
picker
.
$emit
(
'
pick
'
,
[
start
,
end
])
}
}]
}
}
},
...
...
@@ -131,6 +237,15 @@ export default {
return
{
'
X-Dts-Admin-Token
'
:
getToken
()
}
},
fileList
()
{
if
(
!
this
.
dataForm
.
images
)
return
[]
return
this
.
dataForm
.
images
.
map
(
function
(
item
,
index
)
{
return
{
name
:
`
${
index
}
.jpg`
,
url
:
item
}
})
}
},
created
()
{
...
...
@@ -142,6 +257,24 @@ export default {
}
},
methods
:
{
handleOk
(
state
)
{
switch
(
state
)
{
case
'
create
'
:
this
.
createData
()
break
case
'
edit
'
:
this
.
handleEdit
()
break
default
:
throw
new
Error
(
'
未定义的state参数
'
)
}
},
onSearchSubmit
()
{
this
.
getList
()
},
resetSearchForm
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
()
},
uploadOverrun
()
{
this
.
$message
({
type
:
'
error
'
,
...
...
@@ -153,9 +286,9 @@ export default {
},
getList
()
{
this
.
listLoading
=
true
const
data
=
{
const
data
=
Object
.
assign
({},
{
cid
:
this
.
rowId
}
}
,
this
.
searchForm
)
getDealRecord
(
data
).
then
(
res
=>
{
if
(
res
&&
res
.
data
&&
res
.
data
.
data
)
{
this
.
dataList
=
res
.
data
.
data
...
...
@@ -169,12 +302,11 @@ export default {
})
},
resetForm
()
{
this
.
dataForm
=
{
images
:
[]
}
this
.
dataForm
.
images
=
[]
this
.
$refs
[
'
dataForm
'
]
&&
this
.
$refs
[
'
dataForm
'
].
resetFields
()
this
.
$refs
[
'
goodsUploader
'
]
&&
this
.
$refs
[
'
goodsUploader
'
].
clearFiles
()
},
onAdd
()
{
this
.
resetForm
()
this
.
dialogStatus
=
'
create
'
this
.
dialogFormVisible
=
true
this
.
$nextTick
(()
=>
{
...
...
@@ -224,6 +356,34 @@ export default {
}
}
},
handleOpenDialog
(
row
)
{
this
.
dialogStatus
=
'
edit
'
this
.
dialogFormVisible
=
true
Object
.
assign
(
this
.
dataForm
,
row
)
},
handleEdit
()
{
this
.
$refs
[
'
dataForm
'
].
validate
(
valid
=>
{
if
(
valid
)
{
const
data
=
Object
.
assign
({
cid
:
this
.
rowId
-
0
},
this
.
dataForm
)
data
.
bidtime
=
data
.
bidtime
/
1000
data
.
price
=
data
.
price
-
0
data
.
id
=
data
.
id
-
0
editDealRecord
(
data
).
then
((
res
)
=>
{
this
.
dialogStatus
=
''
this
.
dialogFormVisible
=
false
this
.
getList
()
}).
catch
((
err
)
=>
{
if
(
err
&&
err
.
data
&&
err
.
data
.
code
===
1001
&&
err
.
data
.
data
)
{
this
.
dialogStatus
=
''
this
.
dialogFormVisible
=
false
this
.
getList
()
}
})
}
})
},
handleDelete
(
row
)
{
const
data
=
{
id
:
row
.
id
...
...
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