Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
S
shop-new
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
王天霸
shop-new
Commits
956dc885
提交
956dc885
authored
12月 21, 2021
作者:
huaxinzhu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1、2.6;2、全局引入阿里图标
上级
675c3e72
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
221 行增加
和
17 行删除
+221
-17
goodsgement.js
src/api/module/goodsgement.js
+9
-0
iconfont.css
src/assets/icons/iconfont/iconfont.css
+19
-0
iconfont.js
src/assets/icons/iconfont/iconfont.js
+1
-0
iconfont.json
src/assets/icons/iconfont/iconfont.json
+16
-0
iconfont.ttf
src/assets/icons/iconfont/iconfont.ttf
+0
-0
iconfont.woff
src/assets/icons/iconfont/iconfont.woff
+0
-0
iconfont.woff2
src/assets/icons/iconfont/iconfont.woff2
+0
-0
main.js
src/main.js
+4
-0
wddetails.vue
src/views/system/asset/wddetails.vue
+2
-1
index.vue
src/views/system/asset/withdraw/index.vue
+1
-1
goodsparameter.vue
src/views/system/goods/add/components/goodsparameter.vue
+28
-2
goodsspecifications.vue
...views/system/goods/add/components/goodsspecifications.vue
+21
-10
goodsgement.vue
src/views/system/goodsimport/goodsgement.vue
+120
-3
没有找到文件。
src/api/module/goodsgement.js
浏览文件 @
956dc885
...
...
@@ -71,3 +71,12 @@ export function cancelOnsaleAllData(data) {
data
:
data
})
}
// 保存 不下架编辑商品数据
export
function
saveHotEditGoodsData
(
data
)
{
return
request
({
url
:
'/system/goodsNew/cancelOnsaleAll'
,
method
:
'post'
,
data
:
data
})
}
src/assets/icons/iconfont/iconfont.css
0 → 100644
浏览文件 @
956dc885
@font-face
{
font-family
:
"iconfont"
;
/* Project id 3034653 */
src
:
url('iconfont.woff2?t=1639989114597')
format
(
'woff2'
),
url('iconfont.woff?t=1639989114597')
format
(
'woff'
),
url('iconfont.ttf?t=1639989114597')
format
(
'truetype'
);
}
.iconfont
{
font-family
:
"iconfont"
!important
;
font-size
:
16px
;
font-style
:
normal
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
;
}
.icon-iconset0435
:before
{
content
:
"\e73a"
;
}
src/assets/icons/iconfont/iconfont.js
0 → 100644
浏览文件 @
956dc885
!
function
(
e
){
var
t
,
n
,
o
,
i
,
c
,
d
=
'<svg><symbol id="icon-iconset0435" viewBox="0 0 1024 1024"><path d="M810.666667 640l-192 0L618.666667 128c0-46.933333-38.4-85.333333-85.333333-85.333333l-42.666667 0c-46.933333 0-85.333333 38.4-85.333333 85.333333l0 512-192 0c-12.8 0-21.333333 8.533333-21.333333 21.333333 0 6.4 2.133333 10.666667 6.4 14.933333l298.666667 298.666667c4.266667 4.266667 8.533333 6.4 14.933333 6.4 6.4 0 10.666667-2.133333 14.933333-6.4l298.666667-298.666667c4.266667-4.266667 6.4-8.533333 6.4-14.933333C832 648.533333 823.466667 640 810.666667 640zM512 930.133333 264.533333 682.666667 448 682.666667 448 128c0-23.466667 19.2-42.666667 42.666667-42.666667l42.666667 0c23.466667 0 42.666667 19.2 42.666667 42.666667l0 554.666667 183.466667 0L512 930.133333z" ></path></symbol></svg>'
,
l
=
(
l
=
document
.
getElementsByTagName
(
"script"
))[
l
.
length
-
1
].
getAttribute
(
"data-injectcss"
),
s
=
function
(
e
,
t
){
t
.
parentNode
.
insertBefore
(
e
,
t
)};
if
(
l
&&!
e
.
__iconfont__svg__cssinject__
){
e
.
__iconfont__svg__cssinject__
=!
0
;
try
{
document
.
write
(
"<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>"
)}
catch
(
e
){
console
&&
console
.
log
(
e
)}}
function
a
(){
c
||
(
c
=!
0
,
o
())}
function
r
(){
try
{
i
.
documentElement
.
doScroll
(
"left"
)}
catch
(
e
){
return
void
setTimeout
(
r
,
50
)}
a
()}
t
=
function
(){
var
e
,
t
;(
t
=
document
.
createElement
(
"div"
)).
innerHTML
=
d
,
d
=
null
,(
e
=
t
.
getElementsByTagName
(
"svg"
)[
0
])
&&
(
e
.
setAttribute
(
"aria-hidden"
,
"true"
),
e
.
style
.
position
=
"absolute"
,
e
.
style
.
width
=
0
,
e
.
style
.
height
=
0
,
e
.
style
.
overflow
=
"hidden"
,
t
=
e
,(
e
=
document
.
body
).
firstChild
?
s
(
t
,
e
.
firstChild
):
e
.
appendChild
(
t
))},
document
.
addEventListener
?
~
[
"complete"
,
"loaded"
,
"interactive"
].
indexOf
(
document
.
readyState
)?
setTimeout
(
t
,
0
):(
n
=
function
(){
document
.
removeEventListener
(
"DOMContentLoaded"
,
n
,
!
1
),
t
()},
document
.
addEventListener
(
"DOMContentLoaded"
,
n
,
!
1
)):
document
.
attachEvent
&&
(
o
=
t
,
i
=
e
.
document
,
c
=!
1
,
r
(),
i
.
onreadystatechange
=
function
(){
"complete"
==
i
.
readyState
&&
(
i
.
onreadystatechange
=
null
,
a
())})}(
window
);
\ No newline at end of file
src/assets/icons/iconfont/iconfont.json
0 → 100644
浏览文件 @
956dc885
{
"id"
:
"3034653"
,
"name"
:
"STBZ"
,
"font_family"
:
"iconfont"
,
"css_prefix_text"
:
"icon-"
,
"description"
:
""
,
"glyphs"
:
[
{
"icon_id"
:
"554469"
,
"name"
:
"向下箭头"
,
"font_class"
:
"iconset0435"
,
"unicode"
:
"e73a"
,
"unicode_decimal"
:
59194
}
]
}
src/assets/icons/iconfont/iconfont.ttf
0 → 100644
浏览文件 @
956dc885
File added
src/assets/icons/iconfont/iconfont.woff
0 → 100644
浏览文件 @
956dc885
File added
src/assets/icons/iconfont/iconfont.woff2
0 → 100644
浏览文件 @
956dc885
File added
src/main.js
浏览文件 @
956dc885
...
...
@@ -25,6 +25,10 @@ import Pagination from "@/components/Pagination";
import
VueAwesomeSwiper
from
'vue-awesome-swiper'
// 引入swiper
import
'swiper/css/swiper.min.css'
// 引入swiper样式/
Vue
.
use
(
VueAwesomeSwiper
)
// 注册swiper
// 阿里图标
import
'./assets/icons/iconfont/iconfont.css'
;
// import '../../assets/icons/iconfont/iconfont.js'
// 全局方法挂载
Vue
.
prototype
.
getDicts
=
getDicts
Vue
.
prototype
.
getConfigKey
=
getConfigKey
...
...
src/views/system/asset/wddetails.vue
浏览文件 @
956dc885
...
...
@@ -30,7 +30,8 @@
<el-row
class=
"row-title"
>
<el-col
:span=
"4"
class=
"text-r"
>
手续费
</el-col>
<el-col
:span=
"9"
class=
"text-l"
>
{{
withdrawInfo
.
service_fee
?
withdrawInfo
.
service_fee
/
100
:
0
}}
元
</el-col>
<el-col
:span=
"9"
class=
"text-l"
>
{{
0
}}
元
</el-col>
<!--
<el-col
:span=
"9"
class=
"text-l"
>
{{
withdrawInfo
.
service_fee
?
withdrawInfo
.
service_fee
/
100
:
0
}}
元
</el-col>
-->
</el-row>
<el-row
class=
"row-title"
>
...
...
src/views/system/asset/withdraw/index.vue
浏览文件 @
956dc885
...
...
@@ -33,7 +33,7 @@
不允许手动输入,提现金额为全部的可提现余额,手续费将从您的提现金额中扣除,以实际到账为准(开票以实际到账金额开具)。
提现金额至少为100元才可以操作提现
</span>
<p
class=
"withdraw-tip-spe"
>
当前提现手续费为:
{{
chargeCount
}}
元
</p>
<p
class=
"withdraw-tip-spe"
>
当前提现手续费为:
0
元
</p>
</el-form-item>
<el-form-item
label=
"提现密码:"
prop=
"pay_pass"
>
...
...
src/views/system/goods/add/components/goodsparameter.vue
浏览文件 @
956dc885
...
...
@@ -7,13 +7,14 @@
</p>
<div
v-show=
"(!orgGoodsPam.pamTableList || orgGoodsPam.pamTableList.length === 0)"
>
<p
style=
"margin: 10px 0;color: #333;font-size: 14px;font-weight: 400;"
>
默认
</p>
<el-table
border
size=
"small"
:data=
"singleSpecTable"
style=
"width: 80%;margin-right:10%;"
>
<el-table-column
align=
"center"
prop=
"js_price"
label=
"协议价"
>
<el-table-column
align=
"center"
prop=
"js_price"
label=
"协议价"
>
<template
slot-scope=
"scope"
>
<el-input
size=
"mini"
style=
"width:90%"
v-model=
"scope.row.js_price"
placeholder=
"请输入协议价"
></el-input>
</
template
>
...
...
@@ -83,6 +84,13 @@
style=
"width: 80%"
>
<el-table-column
align=
"center"
prop=
"js_price"
label=
"协议价"
>
<
template
slot=
"header"
>
<span>
协议价
</span>
<el-tooltip
placemetn=
"top"
v-if=
"index==0 && orgGoodsPam.pamNameList.length > 1"
>
<span
slot=
"content"
>
点击可以一键应用
</span>
<span
class=
"spe-ali-icon0435 iconfont icon-iconset0435"
@
click=
"applyAllTable('js_price')"
></span>
</el-tooltip>
</
template
>
<
template
slot-scope=
"scope"
>
<el-input
size=
"mini"
style=
"width:90%"
v-model=
"scope.row.js_price"
placeholder=
"请输入协议价"
></el-input>
</
template
>
...
...
@@ -352,6 +360,10 @@ export default {
// }
// }
},
/** 一键应用所有 */
applyAllTable
()
{
},
// 删除 单个规格的图片
delSingleSpecImg
(
index
,
row
)
{
...
...
@@ -366,8 +378,16 @@ export default {
speImgLeave
(
index
,
row
)
{
this
.
isHoverSpeImg
=
false
;
},
renderHeaderJSPrice
(
h
)
{
return
h
(
<
div
>
<
span
>
协议价
<
/span
>
<
span
>
点击
1
<
/span
>
<
/div
>
)
},
// -- 通用 方法 --
/
/ 图片转换为 base64
/
** 图片转换为 base64*/
getBase64
(
file
)
{
return
new
Promise
(
function
(
resolve
,
reject
)
{
let
reader
=
new
FileReader
();
...
...
@@ -462,6 +482,12 @@ export default {
margin-left
:
-9px
;
}
.spe-ali-icon0435
{
color
:
red
;
vertical-align
:
middle
;
margin-left
:
3px
;
}
.del-span-block
{
display
:
none
;
}
...
...
src/views/system/goods/add/components/goodsspecifications.vue
浏览文件 @
956dc885
...
...
@@ -23,6 +23,7 @@
:value=
"itemSN.name"
>
<span
style=
"float: left"
class=
"span-style"
>
{{
itemSN
.
name
}}
</span>
<span
style=
"float: right"
class=
"spe-span-del el-icon-circle-close"
@
click
.
stop=
"deleteSpeOption(itemSN,index)"
></span>
<div
class=
"flag"
>
<svg-icon
icon=
"edit"
iconClass=
"template_edit_style"
@
click=
"addSpeName(index)"
/>
</div>
...
...
@@ -92,17 +93,10 @@ export default {
spec_name
:
''
,
// 规格名称
spec_value
:
[]
},
speParamName
:{
value
:
''
},
speOptions
:
[{
id
:
'1'
,
name
:
'颜色'
},
{
id
:
'2'
,
name
:
'尺码'
}],
speOptions
:
[],
localSpeOptions
:
[],
// 规格名称,value组成的数组
speNameList
:
[],
...
...
@@ -188,6 +182,7 @@ export default {
addSpeParam
(
index
)
{
let
valueObj
=
{
value
:
''
}
this
.
$set
(
this
.
speData
[
index
].
spec_value
,
this
.
speData
[
index
].
spec_value
.
length
,
valueObj
);
console
.
log
(
1111
,
this
.
speData
);
},
/** 删除 规格参数 */
deleteSpeParam
(
index
,
indexSV
)
{
...
...
@@ -229,7 +224,6 @@ export default {
el
.
onclick
=
()
=>
{
// 底部按钮的点击事件
_this
.
addSpeName
(
index
);
// localSttorage 存储 下拉数据
if
(
speNameDom
.
toggleDropDownVisible
)
{
speNameDom
.
toggleDropDownVisible
(
false
);
...
...
@@ -252,12 +246,23 @@ export default {
},
/* 增加 规格名称 */
addSpeName
(
index
)
{
this
.
specName_sm
=
''
;
this
.
addSpecNameDialog
=
true
;
},
/** 删除 规格名称 */
deleteSpeOption
(
indexItem
,
index
)
{
for
(
let
i
=
0
;
i
<
this
.
speOptions
.
length
;
i
++
)
{
if
(
indexItem
.
id
==
this
.
speOptions
[
i
].
id
)
{
this
.
speOptions
.
splice
(
i
,
1
)
break
}
}
let
localJSON
=
JSON
.
stringify
(
this
.
speOptions
);
window
.
localStorage
.
setItem
(
'localSpeOptions'
,
localJSON
)
},
// 添加规格名称,对话框的退出
cancelSpec
()
{
this
.
specName_sm
=
''
;
this
.
addSpecNameDialog
=
false
;
},
// 规格名称,保存
...
...
@@ -486,6 +491,12 @@ export default {
margin
:
20px
0
;
}
.spe-span-del
{
color
:
red
;
font-size
:
14px
;
margin-top
:
10px
;
}
/* 商品规格 - 规格名称 - 参数input */
.spe-params-input-item
{
width
:
150px
;
...
...
src/views/system/goodsimport/goodsgement.vue
浏览文件 @
956dc885
...
...
@@ -177,6 +177,14 @@
>
还原
</el-button>
<el-divider
direction=
"vertical"
v-if=
"radiomodel!=3"
></el-divider>
<!-- 上架销售中,不下架编辑 -->
<el-button
v-if=
"radiomodel==1"
size=
"mini"
type=
"text"
@
click=
"hotEditGoods(scope.row)"
>
编辑
</el-button>
<el-button
v-if=
"radiomodel!=4 && radiomodel!=1"
size=
"mini"
...
...
@@ -184,7 +192,7 @@
@
click=
"editgoods(scope.row)"
>
编辑
</el-button>
<el-divider
direction=
"vertical"
v-if=
"radiomodel!=4
&& radiomodel!=1
"
></el-divider>
<el-divider
direction=
"vertical"
v-if=
"radiomodel!=4"
></el-divider>
<el-button
size=
"mini"
type=
"text"
...
...
@@ -227,12 +235,47 @@
<goodDetail
:goods-id=
"goodDetails"
></goodDetail>
</el-dialog>
</el-card>
<!-- 不下架 编辑商品 -->
<el-dialog
title=
"编辑商品"
:visible
.
sync=
"isHotEditGoods"
center
:close-on-click-modal=
"false"
:before-close=
"cancelHotEditGoods"
width=
"50%"
class=
"dialog-spe"
>
<p
class=
"hot-edit-goods-tips"
>
备注:上架销售中的商品,仅可修改【发货时效、邮费模板、售后时长、商品库存量】等信息,修改后无需审核可直接上架。
如需编辑更多商品信息,请先将商品下架再进行编辑。
</p>
<el-form
:model=
"hotEditGoodsForm"
ref=
"hotEditGoodsForm"
label-width=
"30%"
size=
"small"
>
<el-form-item
label=
"发货时效:"
prop=
"delay_compensate"
>
<el-select
v-model=
"hotEditGoodsForm.delay_compensate"
style=
"width:400px"
placeholder=
"请选择发货时效"
>
<el-option
label=
"24小时"
:value=
"24"
></el-option>
<el-option
label=
"48小时"
:value=
"48"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"邮费模板:"
prop=
"freight_id"
>
<el-select
v-model=
"hotEditGoodsForm.freight_id"
placeholder=
"请选择邮费模板"
style=
"width:400px;"
>
<el-option
v-for=
"item in freightOptions"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"售后时长:"
prop=
"aftersale_time"
>
<el-select
v-model=
"hotEditGoodsForm.aftersale_time"
style=
"width:400px;"
placeholder=
"请选择售后时长"
>
<el-option
label=
"7天"
:value=
"7"
></el-option>
<el-option
label=
"15天"
:value=
"15"
></el-option>
<el-option
label=
"30天"
:value=
"30"
></el-option>
</el-select>
</el-form-item>
</el-form>
<el-table
:data=
"speList"
class=
"hot-edit-goods-table"
border
>
<el-table-column
label=
"规格项"
prop=
"spe"
align=
"center"
></el-table-column>
<el-table-column
label=
"库存量"
width=
"160px"
prop=
"stock"
align=
"center"
></el-table-column>
</el-table>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"cancelHotEditGoods"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"saveHotEditGoods"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
goodDetail
from
'./components/goodsdetail'
import
editGood
from
'@/views/system/goods/add/index'
import
{
getlistGoods
,
shelvesStatus
,
delgoodsStatus
,
cancelOnsale
,
cancelOnsaleAllData
}
from
'@/api/module/goodsgement'
import
{
GetFreight
}
from
'@/api/module/goods'
import
{
getlistGoods
,
shelvesStatus
,
delgoodsStatus
,
cancelOnsale
,
cancelOnsaleAllData
,
saveHotEditGoodsData
}
from
'@/api/module/goodsgement'
import
{
dateFormat
}
from
'@/utils'
export
default
{
...
...
@@ -300,7 +343,19 @@
name
:
[
{
required
:
true
,
message
:
"模板名称不能为空"
,
trigger
:
"blur"
}
],
}
},
// 热更新商品
isHotEditGoods
:
false
,
hotEditGoodsForm
:
{
delay_compensate
:
24
,
freight_id
:
310
,
aftersale_time
:
7
},
freightOptions
:
[],
speList
:
[
{
spe
:
'ak47'
,
stock
:
89
},
]
};
},
components
:
{
...
...
@@ -325,6 +380,16 @@
// }
},
methods
:
{
// 运费模板
getFreightData
()
{
GetFreight
().
then
(
res
=>
{
if
(
res
.
data
)
{
this
.
freightOptions
=
res
.
data
;
}
else
{
this
.
freightOptions
=
''
}
});
},
handledelgrain
(
row
,
isall
)
{
//彻底删除
let
good_id
,
is_on
,
title
,
message
if
(
isall
==
'one'
)
{
...
...
@@ -588,6 +653,32 @@
});
//this.$router.push({ path: '/system/goods/editgoods' });
},
/** 不下架 编辑部分商品信息 */
hotEditGoods
(
row
)
{
let
goodsId
=
0
;
if
(
!
row
.
goods_id
)
{
return
}
goodsId
=
row
.
goods_id
;
this
.
isHotEditGoods
=
true
;
// 获取运费模板
this
.
getFreightData
();
},
/** 保存 不下架 编辑商品 */
saveHotEditGoods
()
{
let
data
=
{}
console
.
log
(
672
,
this
.
hotEditGoodsForm
);
return
saveHotEditGoodsData
().
then
(
res
=>
{
});
},
/** 不下架编辑 退出*/
cancelHotEditGoods
()
{
this
.
isHotEditGoods
=
false
;
},
lookdetail
(
row
)
{
//预览商品详情
this
.
isOpen
=
true
this
.
goodDetails
.
goods_id
=
row
.
goods_id
...
...
@@ -749,4 +840,30 @@
.queryFormInline
{
padding-bottom
:
20px
;
}
.hot-edit-goods-tips
{
color
:
red
;
font-size
:
14px
;
width
:
80%
;
margin
:
0
auto
20px
;
line-height
:
20px
;
}
/* 弹窗 样式 重置 */
.dialog-spe
>>>
.el-dialog
{
width
:
75%
;
height
:
75%
;
overflow
:
hidden
;
}
.dialog-spe
>>>
.el-dialog
.el-dialog__body
{
height
:calc
(
100
%
-
115px
)
;
padding
:
0
20px
20px
40px
;
overflow
:
auto
;
}
.hot-edit-goods-table
{
width
:
90%
;
margin
:
20px
auto
0
;
}
</
style
>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论