Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica.cloud.web-education-admin
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
提交
打开侧边栏
com.pica.cloud.education.frontend
pica.cloud.web-education-admin
提交
0f8fa15c
提交
0f8fa15c
编写于
9月 17, 2021
作者:
changdi.hao
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'release' into develop-3.18.0
上级
c31c3a01
777354e3
变更
3
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
1314 行增加
和
1124 行删除
+1314
-1124
index.js
src/utils/goods/index.js
+10
-0
create-good.vue
src/views/goods/create-good.vue
+23
-4
create-shop.vue
src/views/shop/create-shop.vue
+1281
-1120
未找到文件。
src/utils/goods/index.js
浏览文件 @
0f8fa15c
...
@@ -123,3 +123,13 @@ export const getGoodsIdList = (params) => {
...
@@ -123,3 +123,13 @@ export const getGoodsIdList = (params) => {
description
:
'商品ID列表查询'
,
description
:
'商品ID列表查询'
,
})
})
};
};
export
const
getTypeCodeList
=
()
=>
{
return
fetch
({
headers
,
url
:
getBaseUrl
(
`basic-data/constants/app?typeCodeList=P306`
),
method
:
"get"
,
description
:
"获取适用人群类别"
,
});
};
src/views/goods/create-good.vue
浏览文件 @
0f8fa15c
...
@@ -540,7 +540,7 @@
...
@@ -540,7 +540,7 @@
v-model=
"formData2.suitableArr"
v-model=
"formData2.suitableArr"
:multiple=
"true"
:multiple=
"true"
placeholder=
"请选择"
placeholder=
"请选择"
size=
"small
"
class=
"suitableList-select
"
>
>
<el-option
<el-option
v-for=
"(item,index) in suitableList"
v-for=
"(item,index) in suitableList"
...
@@ -859,7 +859,7 @@
...
@@ -859,7 +859,7 @@
let
vm
=
null
;
let
vm
=
null
;
import
{
openLoading
,
closeLoading
}
from
"../../utils/utils"
;
import
{
openLoading
,
closeLoading
}
from
"../../utils/utils"
;
import
{
doUpload
,
getFilePath
}
from
"../../utils/qiniu-util"
;
import
{
doUpload
,
getFilePath
}
from
"../../utils/qiniu-util"
;
import
{
updateGoods
,
updateStock
,
dosageAll
,
getDeparts
,
getGoodsList
,
getGoodDetails
,
updateGoodsV2
,
getHospitalInfoByStoreId
,
getCheckPackageIdList
}
from
'@/utils/goods'
;
import
{
updateGoods
,
updateStock
,
dosageAll
,
getDeparts
,
getGoodsList
,
getGoodDetails
,
updateGoodsV2
,
getHospitalInfoByStoreId
,
getCheckPackageIdList
,
getTypeCodeList
}
from
'@/utils/goods'
;
import
Cropper
from
'@/components/common/cropper.vue'
import
Cropper
from
'@/components/common/cropper.vue'
import
{
originRules1
,
originRules2
,
originRules
}
from
'./rules'
;
import
{
originRules1
,
originRules2
,
originRules
}
from
'./rules'
;
...
@@ -947,8 +947,8 @@
...
@@ -947,8 +947,8 @@
checkPackageIdList
:
[{
name
:
'其他'
,
content
:
0
}],
checkPackageIdList
:
[{
name
:
'其他'
,
content
:
0
}],
hospitalTypeList
:
[{
label
:
'村卫生室'
,
value
:
1
},{
label
:
'乡镇卫生院/中心'
,
value
:
2
}],
// 医疗机构类型
hospitalTypeList
:
[{
label
:
'村卫生室'
,
value
:
1
},{
label
:
'乡镇卫生院/中心'
,
value
:
2
}],
// 医疗机构类型
checkTypeList
:
[{
label
:
'常规检测'
,
value
:
1
}],
// 检测类型
checkTypeList
:
[{
label
:
'常规检测'
,
value
:
1
}],
// 检测类型
suitableList
:
[{
label
:
'儿童'
,
value
:
'1'
},{
label
:
'青年'
,
value
:
'2'
},{
label
:
'中年'
,
value
:
'4'
},{
label
:
'老年'
,
value
:
'8'
},{
label
:
'40-74岁的结直肠癌高风险人群'
,
value
:
'10'
}],
// 适用人群
//
suitableList: [{label:'儿童',value:'1'},{label:'青年',value:'2'},{label:'中年',value:'4'},{label:'老年',value:'8'},{label:'40-74岁的结直肠癌高风险人群',value:'10'}], // 适用人群
suitableList
:
[],
// 不同类型服务的表单通用字段
// 不同类型服务的表单通用字段
// 不同类型服务的表单通用字段
// 不同类型服务的表单通用字段
// 不同类型服务的表单通用字段
// 不同类型服务的表单通用字段
...
@@ -1017,6 +1017,7 @@
...
@@ -1017,6 +1017,7 @@
this
.
isEdit
=
id
!=
'add'
;
this
.
isEdit
=
id
!=
'add'
;
this
.
curmbThird
=
this
.
title
;
this
.
curmbThird
=
this
.
title
;
this
.
formData
.
storeId
=
Number
(
storeId
)
||
''
;
this
.
formData
.
storeId
=
Number
(
storeId
)
||
''
;
this
.
getTypeCodeList
();
this
.
getLever
(
0
,
1
)
this
.
getLever
(
0
,
1
)
dosageAll
().
then
((
res
)
=>
{
dosageAll
().
then
((
res
)
=>
{
this
.
doseAll
=
res
.
data
this
.
doseAll
=
res
.
data
...
@@ -1047,11 +1048,26 @@
...
@@ -1047,11 +1048,26 @@
}
}
},
},
methods
:
{
methods
:
{
// 获取适用人群
getTypeCodeList
()
{
return
getTypeCodeList
().
then
((
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
this
.
suitableList
=
[];
for
(
const
item
of
res
.
data
)
{
this
.
suitableList
.
push
({
label
:
item
.
value
,
value
:
item
.
no
+
''
})
}
}
}).
catch
((
err
)
=>
{})
},
//eidt状态
//eidt状态
async
getDetailByEdit
(
id
,
goodsType
){
async
getDetailByEdit
(
id
,
goodsType
){
this
.
goodsId
=
id
;
this
.
goodsId
=
id
;
if
(
goodsType
==
337
){
if
(
goodsType
==
337
){
this
.
isCheckServe
=
true
;
this
.
isCheckServe
=
true
;
await
this
.
getTypeCodeList
();
const
res
=
await
getGoodDetails
(
id
);
const
res
=
await
getGoodDetails
(
id
);
console
.
log
(
`========================>`
,
res
);
console
.
log
(
`========================>`
,
res
);
if
(
res
.
code
!=
'000000'
){
if
(
res
.
code
!=
'000000'
){
...
@@ -1790,6 +1806,9 @@
...
@@ -1790,6 +1806,9 @@
}
}
}
}
}
}
.suitableList-select
{
width
:
445px
;
}
.el-button--text
{
.el-button--text
{
color
:
#449284
;
color
:
#449284
;
font-size
:
14px
;
font-size
:
14px
;
...
...
src/views/shop/create-shop.vue
浏览文件 @
0f8fa15c
<
template
>
<
template
>
<div
class=
"create-shop-wrapper"
>
<div
class=
"create-shop-wrapper"
>
<bread-crumb
:curmbFirst=
"curmbFirst"
:curmbSecond=
"curmbSecond"
></bread-crumb>
<bread-crumb
:curmbFirst=
"curmbFirst"
:curmbSecond=
"curmbSecond"
></bread-crumb>
<div
class=
"create-shop-content screenSet"
id=
"screenSet"
>
<div
class=
"create-shop-content screenSet"
id=
"screenSet"
>
<el-row
class=
"step-content"
>
<el-row
class=
"step-content"
>
<el-col
:span=
"20"
>
<el-col
:span=
"20"
>
<p
class=
"title"
>
新建店铺
</p>
<p
class=
"title"
>
新建店铺
</p>
</el-col>
</el-col>
<el-col
:span=
"4"
style=
"text-align: right"
>
<el-col
:span=
"4"
style=
"text-align: right"
>
<el-button
size=
"small"
type=
"primary"
:disabled=
"storeData && storeData.tradeStore.storeType == 3"
@
click=
"complete"
>
完成
</el-button>
<el-button
size=
"small"
type=
"primary"
:disabled=
"storeData && storeData.tradeStore.storeType == 3"
@
click=
"complete"
>
完成
</el-button
>
<el-button
size=
"small"
type=
"primary"
@
click=
"back"
>
返回
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"back"
>
返回
</el-button>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -32,15 +41,20 @@
...
@@ -32,15 +41,20 @@
<img
<img
v-if=
"formData.storeLogo"
v-if=
"formData.storeLogo"
:src=
"formData.storeLogo"
:src=
"formData.storeLogo"
@
mouseover
.
stop=
"imgMouseOver1=
true"
@
mouseover
.
stop=
"imgMouseOver1 =
true"
class=
"bg-img"
class=
"bg-img"
/>
/>
<img
v-if=
"!formData.storeLogo"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
<img
<div
v-if=
"storeData && storeData.tradeStore.storeType == 3"
v-if=
"!formData.storeLogo"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
<div
v-if=
"storeData && storeData.tradeStore.storeType == 3"
class=
"img-delete"
class=
"img-delete"
v-show=
"imgMouseOver1"
v-show=
"imgMouseOver1"
@
click
.
stop=
"deleteImg('storeLogo')"
@
click
.
stop=
"deleteImg('storeLogo')"
@
mouseout
.
stop=
"imgMouseOver1=
false"
@
mouseout
.
stop=
"imgMouseOver1 =
false"
>
>
<i
class=
"el-icon-delete"
></i>
<i
class=
"el-icon-delete"
></i>
</div>
</div>
...
@@ -61,9 +75,11 @@
...
@@ -61,9 +75,11 @@
v-model=
"formData.storeName"
v-model=
"formData.storeName"
placeholder=
"请输入店铺名称"
placeholder=
"请输入店铺名称"
maxlength=
"16"
maxlength=
"16"
style=
"width:85%;
"
style=
"width: 85%
"
></el-input>
></el-input>
<span
class=
"word-num"
>
{{
(
formData
.
storeName
).
replace
(
/
\s
+/g
,
""
).
length
}}
/16
</span>
<span
class=
"word-num"
>
{{
formData
.
storeName
.
replace
(
/
\s
+/g
,
""
).
length
}}
/16
</span
>
</el-col>
</el-col>
</el-form-item>
</el-form-item>
<el-form-item
label=
"店铺简介"
prop=
"storeDescription"
>
<el-form-item
label=
"店铺简介"
prop=
"storeDescription"
>
...
@@ -76,9 +92,13 @@
...
@@ -76,9 +92,13 @@
size=
"small"
size=
"small"
v-model=
"formData.storeDescription"
v-model=
"formData.storeDescription"
placeholder=
"请输入店铺简介"
placeholder=
"请输入店铺简介"
style=
"width:85%;
"
style=
"width: 85%
"
></el-input>
></el-input>
<span
class=
"word-num"
>
{{
(
formData
.
storeDescription
).
replace
(
/
\s
+/g
,
""
).
length
}}
/400
</span>
<span
class=
"word-num"
>
{{
formData
.
storeDescription
.
replace
(
/
\s
+/g
,
""
).
length
}}
/400
</span
>
</el-col>
</el-col>
</el-form-item>
</el-form-item>
<el-form-item
label=
"店铺类型"
prop=
"storeType"
>
<el-form-item
label=
"店铺类型"
prop=
"storeType"
>
...
@@ -91,30 +111,44 @@
...
@@ -91,30 +111,44 @@
style=
"width: 35%"
style=
"width: 35%"
>
>
<el-option
<el-option
v-for=
"(item,
index) in typeList"
v-for=
"(item,
index) in typeList"
:key=
"index"
:key=
"index"
:label=
"item.label"
:label=
"item.label"
:value=
"item.value"
:value=
"item.value"
></el-option>
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<div>
<div
v-if=
"formData.storeType == 1"
>
<div
v-if=
"formData.storeType == 1"
>
<el-row>
<el-row>
<el-col
:span=
"10"
>
<el-col
:span=
"10"
>
<el-form-item
label=
"入驻企业名称"
prop=
"compainName"
class=
"required-label"
>
<el-form-item
label=
"入驻企业名称"
prop=
"compainName"
class=
"required-label"
>
<el-input
<el-input
type=
"text"
type=
"text"
maxlength=
"50"
maxlength=
"50"
size=
"small"
size=
"small"
v-model=
"formData.compainName"
v-model=
"formData.compainName"
placeholder=
"请输入入驻企业名称"
placeholder=
"请输入入驻企业名称"
style=
"width:85%;
"
style=
"width: 85%
"
></el-input>
></el-input>
<span
class=
"word-num"
>
{{
(
formData
.
compainName
).
replace
(
/
\s
+/g
,
""
).
length
}}
/50
</span>
<span
class=
"word-num"
>
{{
formData
.
compainName
.
replace
(
/
\s
+/g
,
""
).
length
}}
/50
</span
>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"10"
:offset=
"1"
>
<el-col
:span=
"10"
:offset=
"1"
>
<el-form-item
label=
"联系手机号"
prop=
"phoneNum"
label-width=
"95px"
class=
"required-label"
>
<el-form-item
label=
"联系手机号"
prop=
"phoneNum"
label-width=
"95px"
class=
"required-label"
>
<el-input
<el-input
type=
"text"
type=
"text"
size=
"small"
size=
"small"
...
@@ -122,12 +156,16 @@
...
@@ -122,12 +156,16 @@
:disabled=
"isDisabled"
:disabled=
"isDisabled"
v-model=
"formData.phoneNum"
v-model=
"formData.phoneNum"
placeholder=
"请输入联系电话"
placeholder=
"请输入联系电话"
style=
"width:85%;
"
style=
"width: 85%
"
></el-input>
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
<div
class=
"main-content"
v-for=
"(item, index) in formData.adminList"
:key=
"index"
>
<div
class=
"main-content"
v-for=
"(item, index) in formData.adminList"
:key=
"index"
>
<el-row>
<el-row>
<el-col
:span=
"10"
>
<el-col
:span=
"10"
>
<el-form-item
label=
"管理员姓名"
class=
"required-label"
>
<el-form-item
label=
"管理员姓名"
class=
"required-label"
>
...
@@ -137,29 +175,38 @@
...
@@ -137,29 +175,38 @@
size=
"small"
size=
"small"
v-model=
"item.adminName"
v-model=
"item.adminName"
placeholder=
"请输入管理员姓名"
placeholder=
"请输入管理员姓名"
style=
"width:85%;
"
style=
"width: 85%
"
></el-input>
></el-input>
<span
class=
"word-num"
>
{{
(
item
.
adminName
).
replace
(
/
\s
+/g
,
""
).
length
}}
/10
</span>
<span
class=
"word-num"
>
{{
item
.
adminName
.
replace
(
/
\s
+/g
,
""
).
length
}}
/10
</span
>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"1"
style=
"text-align: right"
>
<el-col
:span=
"1"
style=
"text-align: right"
>
<img
style=
"margin-top: 5px;"
src=
"../../assets/image/lianjie_icon.png"
/>
<img
style=
"margin-top: 5px"
src=
"../../assets/image/lianjie_icon.png"
/>
</el-col>
</el-col>
<el-col
:span=
"10"
>
<el-col
:span=
"10"
>
<el-form-item
label=
"手机号"
label-width=
"95px"
class=
"required-label"
>
<el-form-item
label=
"手机号"
label-width=
"95px"
class=
"required-label"
>
<el-input
<el-input
type=
"text"
type=
"text"
size=
"small"
size=
"small"
maxlength=
"11"
maxlength=
"11"
v-model=
"item.adminMobile"
v-model=
"item.adminMobile"
placeholder=
"请输入管理员手机号"
placeholder=
"请输入管理员手机号"
style=
"width:85%;
"
style=
"width: 85%
"
></el-input>
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"2"
class=
"span-mt-10"
>
<el-col
:span=
"2"
class=
"span-mt-10"
>
<img
<img
v-if=
"index
<
4
&&
(
index =
=
formData
.
adminList
.
length-1
)
"
v-if=
"index
<
4
&&
index =
=
formData
.
adminList
.
length
-
1
"
@
click=
"addItem(index)"
@
click=
"addItem(index)"
class=
"edit-img"
class=
"edit-img"
src=
"../../assets/image/plus.png"
src=
"../../assets/image/plus.png"
...
@@ -174,9 +221,11 @@
...
@@ -174,9 +221,11 @@
</el-row>
</el-row>
</div>
</div>
<el-form-item
label=
"营业证明"
>
<el-form-item
label=
"营业证明"
>
<p
class=
"p-tips"
>
若填写的联系人注册不是法定代表人,请上传委托书
<br/>
<p
class=
"p-tips"
>
仅支持jpg、png图片文件,且文件小于3M
<br/>
若填写的联系人注册不是法定代表人,请上传委托书
<br
/>
上传的证件图片内,必须是加盖过红色公章和法人章,否则视为无效
</p>
仅支持jpg、png图片文件,且文件小于3M
<br
/>
上传的证件图片内,必须是加盖过红色公章和法人章,否则视为无效
</p>
<div
style=
"display: flex"
>
<div
style=
"display: flex"
>
<div
class=
"flex-upload"
>
<div
class=
"flex-upload"
>
<el-upload
<el-upload
...
@@ -189,15 +238,19 @@
...
@@ -189,15 +238,19 @@
<img
<img
v-if=
"formData.imgUrlP1"
v-if=
"formData.imgUrlP1"
:src=
"formData.imgUrlP1"
:src=
"formData.imgUrlP1"
@
mouseover
.
stop=
"imgMouseOverP1=true"
@
mouseover
.
stop=
"imgMouseOverP1 = true"
class=
"bg-img"
/>
<img
v-if=
"!formData.imgUrlP1"
class=
"bg-img"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
/>
<img
v-if=
"!formData.imgUrlP1"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
<div
<div
class=
"img-delete add-left-18"
class=
"img-delete add-left-18"
v-show=
"imgMouseOverP1"
v-show=
"imgMouseOverP1"
@
click
.
stop=
"deleteImg('imgUrlP1')"
@
click
.
stop=
"deleteImg('imgUrlP1')"
@
mouseout
.
stop=
"imgMouseOverP1=
false"
@
mouseout
.
stop=
"imgMouseOverP1 =
false"
>
>
<i
class=
"el-icon-delete"
></i>
<i
class=
"el-icon-delete"
></i>
</div>
</div>
...
@@ -215,19 +268,24 @@
...
@@ -215,19 +268,24 @@
<img
<img
v-if=
"formData.imgUrlP2"
v-if=
"formData.imgUrlP2"
:src=
"formData.imgUrlP2"
:src=
"formData.imgUrlP2"
@
mouseover
.
stop=
"imgMouseOverP2=true"
@
mouseover
.
stop=
"imgMouseOverP2 = true"
class=
"bg-img"
/>
<img
v-if=
"!formData.imgUrlP2"
class=
"bg-img"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
/>
<img
v-if=
"!formData.imgUrlP2"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
<div
<div
class=
"img-delete add-left-18"
class=
"img-delete add-left-18"
v-show=
"imgMouseOverP2"
v-show=
"imgMouseOverP2"
@
click
.
stop=
"deleteImg('imgUrlP2')"
@
click
.
stop=
"deleteImg('imgUrlP2')"
@
mouseout
.
stop=
"imgMouseOverP2=
false"
@
mouseout
.
stop=
"imgMouseOverP2 =
false"
>
>
<i
class=
"el-icon-delete"
></i>
<i
class=
"el-icon-delete"
></i>
</div>
</div>
</el-upload><p
class=
"tips"
>
药品经营许可证
</p>
</el-upload>
<p
class=
"tips"
>
药品经营许可证
</p>
</div>
</div>
<div
class=
"flex-upload"
>
<div
class=
"flex-upload"
>
<el-upload
<el-upload
...
@@ -240,26 +298,34 @@
...
@@ -240,26 +298,34 @@
<img
<img
v-if=
"formData.imgUrlP3"
v-if=
"formData.imgUrlP3"
:src=
"formData.imgUrlP3"
:src=
"formData.imgUrlP3"
@
mouseover
.
stop=
"imgMouseOverP3=
true"
@
mouseover
.
stop=
"imgMouseOverP3 =
true"
class=
"bg-img"
class=
"bg-img"
/>
/>
<img
v-if=
"!formData.imgUrlP3"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
<img
v-if=
"!formData.imgUrlP3"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
<div
<div
class=
"img-delete add-left-18"
class=
"img-delete add-left-18"
v-show=
"imgMouseOverP3"
v-show=
"imgMouseOverP3"
@
click
.
stop=
"deleteImg('imgUrlP3')"
@
click
.
stop=
"deleteImg('imgUrlP3')"
@
mouseout
.
stop=
"imgMouseOverP3=
false"
@
mouseout
.
stop=
"imgMouseOverP3 =
false"
>
>
<i
class=
"el-icon-delete"
></i>
<i
class=
"el-icon-delete"
></i>
</div>
</div>
</el-upload><p
class=
"tips"
>
委托书
</p>
</el-upload>
<p
class=
"tips"
>
委托书
</p>
</div>
</div>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
<div
v-if=
"formData.storeType == 3"
>
<div
v-if=
"formData.storeType == 3"
>
<el-col
:span=
"10"
>
<el-form-item
<el-form-item
label=
"医生姓名"
prop=
"docName"
class=
"required-label"
>
label=
"医生姓名"
prop=
"docName"
class=
"required-label"
>
<el-input
<el-input
:disabled=
"storeData && storeData.tradeStore.storeType == 3"
:disabled=
"storeData && storeData.tradeStore.storeType == 3"
type=
"text"
type=
"text"
...
@@ -267,13 +333,17 @@
...
@@ -267,13 +333,17 @@
size=
"small"
size=
"small"
v-model=
"formData.docName"
v-model=
"formData.docName"
placeholder=
"请输入医生姓名"
placeholder=
"请输入医生姓名"
style=
"width:85%;
"
style=
"width: 35%
"
></el-input>
></el-input>
<span
class=
"word-num"
>
{{
(
formData
.
docName
).
replace
(
/
\s
+/g
,
""
).
length
}}
/50
</span>
<span
class=
"word-num"
>
{{
formData
.
docName
.
replace
(
/
\s
+/g
,
""
).
length
}}
/50
</span
>
</el-form-item>
</el-form-item>
</el-col>
<el-form-item
<el-col
:span=
"10"
:offset=
"1"
>
label=
"联系手机号"
<el-form-item
label=
"联系手机号"
prop=
"docPhone"
label-width=
"95px"
class=
"required-label"
>
prop=
"docPhone"
class=
"required-label"
>
<el-input
<el-input
type=
"text"
type=
"text"
size=
"small"
size=
"small"
...
@@ -281,27 +351,39 @@
...
@@ -281,27 +351,39 @@
v-model=
"formData.docPhone"
v-model=
"formData.docPhone"
:disabled=
"isDisabled"
:disabled=
"isDisabled"
placeholder=
"请输入联系电话"
placeholder=
"请输入联系电话"
style=
"width:85%;
"
style=
"width: 35%
"
></el-input>
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</div>
</div>
<div
v-if=
"formData.storeType == 2"
>
<div
v-if=
"formData.storeType == 2"
>
<el-col
:span=
"10"
>
<el-col
:span=
"10"
>
<el-form-item
label=
"入驻药店名称"
prop=
"drugstoreName"
class=
"required-label"
>
<el-form-item
label=
"入驻药店名称"
prop=
"drugstoreName"
class=
"required-label"
>
<el-input
<el-input
type=
"text"
type=
"text"
maxlength=
"50"
maxlength=
"50"
size=
"small"
size=
"small"
v-model=
"formData.drugstoreName"
v-model=
"formData.drugstoreName"
placeholder=
"请输入入驻药店名称"
placeholder=
"请输入入驻药店名称"
style=
"width:85%;
"
style=
"width: 85%
"
></el-input>
></el-input>
<span
class=
"word-num"
>
{{
(
formData
.
drugstoreName
).
replace
(
/
\s
+/g
,
""
).
length
}}
/50
</span>
<span
class=
"word-num"
>
{{
formData
.
drugstoreName
.
replace
(
/
\s
+/g
,
""
).
length
}}
/50
</span
>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"10"
:offset=
"1"
>
<el-col
:span=
"10"
:offset=
"1"
>
<el-form-item
label=
"联系电话"
prop=
"drugstorePhone"
label-width=
"95px"
class=
"required-label"
>
<el-form-item
label=
"联系电话"
prop=
"drugstorePhone"
label-width=
"95px"
class=
"required-label"
>
<el-input
<el-input
type=
"text"
type=
"text"
size=
"small"
size=
"small"
...
@@ -309,15 +391,17 @@
...
@@ -309,15 +391,17 @@
v-model=
"formData.drugstorePhone"
v-model=
"formData.drugstorePhone"
:disabled=
"isDisabled"
:disabled=
"isDisabled"
placeholder=
"请输入联系电话"
placeholder=
"请输入联系电话"
style=
"width:85%;
"
style=
"width: 85%
"
></el-input>
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"营业证明"
>
<el-form-item
label=
"营业证明"
>
<p
class=
"p-tips"
>
若填写的联系人注册不是法定代表人,请上传委托书
<br/>
<p
class=
"p-tips"
>
仅支持jpg、png图片文件,且文件小于3M
<br/>
若填写的联系人注册不是法定代表人,请上传委托书
<br
/>
上传的证件图片内,必须是加盖过红色公章和法人章,否则视为无效
</p>
仅支持jpg、png图片文件,且文件小于3M
<br
/>
上传的证件图片内,必须是加盖过红色公章和法人章,否则视为无效
</p>
<div
style=
"display: flex"
>
<div
style=
"display: flex"
>
<div
class=
"flex-upload"
>
<div
class=
"flex-upload"
>
<el-upload
<el-upload
...
@@ -330,15 +414,19 @@
...
@@ -330,15 +414,19 @@
<img
<img
v-if=
"formData.imgUrlC1"
v-if=
"formData.imgUrlC1"
:src=
"formData.imgUrlC1"
:src=
"formData.imgUrlC1"
@
mouseover
.
stop=
"imgMouseOverC1=
true"
@
mouseover
.
stop=
"imgMouseOverC1 =
true"
class=
"bg-img"
class=
"bg-img"
/>
/>
<img
v-if=
"!formData.imgUrlC1"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
<img
v-if=
"!formData.imgUrlC1"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
<div
<div
class=
"img-delete add-left-18"
class=
"img-delete add-left-18"
v-show=
"imgMouseOverC1"
v-show=
"imgMouseOverC1"
@
click
.
stop=
"deleteImg('imgUrlC1')"
@
click
.
stop=
"deleteImg('imgUrlC1')"
@
mouseout
.
stop=
"imgMouseOverC1=
false"
@
mouseout
.
stop=
"imgMouseOverC1 =
false"
>
>
<i
class=
"el-icon-delete"
></i>
<i
class=
"el-icon-delete"
></i>
</div>
</div>
...
@@ -356,19 +444,24 @@
...
@@ -356,19 +444,24 @@
<img
<img
v-if=
"formData.imgUrlC2"
v-if=
"formData.imgUrlC2"
:src=
"formData.imgUrlC2"
:src=
"formData.imgUrlC2"
@
mouseover
.
stop=
"imgMouseOverC2=
true"
@
mouseover
.
stop=
"imgMouseOverC2 =
true"
class=
"bg-img"
class=
"bg-img"
/>
/>
<img
v-if=
"!formData.imgUrlC2"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
<img
v-if=
"!formData.imgUrlC2"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
<div
<div
class=
"img-delete add-left-18"
class=
"img-delete add-left-18"
v-show=
"imgMouseOverC2"
v-show=
"imgMouseOverC2"
@
click
.
stop=
"deleteImg('imgUrlC2')"
@
click
.
stop=
"deleteImg('imgUrlC2')"
@
mouseout
.
stop=
"imgMouseOverC2=
false"
@
mouseout
.
stop=
"imgMouseOverC2 =
false"
>
>
<i
class=
"el-icon-delete"
></i>
<i
class=
"el-icon-delete"
></i>
</div>
</div>
</el-upload><p
class=
"tips"
>
药品经营许可证
</p>
</el-upload>
<p
class=
"tips"
>
药品经营许可证
</p>
</div>
</div>
<div
class=
"flex-upload"
>
<div
class=
"flex-upload"
>
<el-upload
<el-upload
...
@@ -381,35 +474,57 @@
...
@@ -381,35 +474,57 @@
<img
<img
v-if=
"formData.imgUrlC3"
v-if=
"formData.imgUrlC3"
:src=
"formData.imgUrlC3"
:src=
"formData.imgUrlC3"
@
mouseover
.
stop=
"imgMouseOverC3=
true"
@
mouseover
.
stop=
"imgMouseOverC3 =
true"
class=
"bg-img"
class=
"bg-img"
/>
/>
<img
v-if=
"!formData.imgUrlC3"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
<img
v-if=
"!formData.imgUrlC3"
class=
"bg-img"
src=
"../../assets/image/small.png"
/>
<div
<div
class=
"img-delete add-left-18"
class=
"img-delete add-left-18"
v-show=
"imgMouseOverC3"
v-show=
"imgMouseOverC3"
@
click
.
stop=
"deleteImg('imgUrlC3')"
@
click
.
stop=
"deleteImg('imgUrlC3')"
@
mouseout
.
stop=
"imgMouseOverC3=
false"
@
mouseout
.
stop=
"imgMouseOverC3 =
false"
>
>
<i
class=
"el-icon-delete"
></i>
<i
class=
"el-icon-delete"
></i>
</div>
</div>
</el-upload><p
class=
"tips"
>
委托书
</p>
</el-upload>
<p
class=
"tips"
>
委托书
</p>
</div>
</div>
</div>
</div>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</div>
</div>
</div>
<div>
<el-form-item
label=
"医疗资质"
prop=
"storeQualityUrl"
>
<el-input
size=
"small"
v-model=
"formData.storeQualityUrl"
placeholder=
"请填写URL,仅对批发商品生效"
style=
"width: 35%"
></el-input>
</el-form-item>
</div>
</el-form>
</el-form>
<el-dialog
<el-dialog
class=
"dialog-title-border-old"
class=
"dialog-title-border-old"
title=
"图片裁剪"
title=
"图片裁剪"
:visible
.
sync=
"showCropper"
:visible
.
sync=
"showCropper"
:width=
"currentOption.cropDialogWidth"
:width=
"currentOption.cropDialogWidth"
center
>
center
<div
slot=
"title"
style=
"text-align: left;"
>
>
<span
style=
"font-weight: 700;"
>
图片裁剪
</span>
<div
slot=
"title"
style=
"text-align: left"
>
<span
style=
"font-weight: 700"
>
图片裁剪
</span>
</div>
</div>
<div
v-if=
"showCropper"
style=
"margin-bottom: 20px
;
"
>
<div
v-if=
"showCropper"
style=
"margin-bottom: 20px"
>
<Cropper
<Cropper
:cropOption=
"currentOption"
:cropOption=
"currentOption"
@
getCropImg=
"getCropImg(arguments)"
@
getCropImg=
"getCropImg(arguments)"
...
@@ -421,19 +536,19 @@
...
@@ -421,19 +536,19 @@
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
BreadCrumb
from
"@/components/breadcrumb.vue"
;
import
BreadCrumb
from
"@/components/breadcrumb.vue"
;
let
vm
=
null
;
let
vm
=
null
;
import
{
openLoading
,
closeLoading
}
from
"../../utils/utils"
;
import
{
openLoading
,
closeLoading
}
from
"../../utils/utils"
;
import
{
doUpload
,
getFilePath
}
from
"../../utils/qiniu-util"
;
import
{
doUpload
,
getFilePath
}
from
"../../utils/qiniu-util"
;
import
Cropper
from
'@/components/common/cropper.vue'
import
Cropper
from
"@/components/common/cropper.vue"
;
import
{
saveStore
,
queryStore
}
from
'@/utils/shop'
;
import
{
saveStore
,
queryStore
}
from
"@/utils/shop"
;
import
{
checkMobile
}
from
'@/utils/patients/checkValid'
import
{
checkMobile
}
from
"@/utils/patients/checkValid"
;
export
default
{
export
default
{
components
:
{
components
:
{
BreadCrumb
,
BreadCrumb
,
Cropper
Cropper
,
},
},
data
()
{
data
()
{
let
checkProjectStr
=
(
rule
,
value
,
callback
)
=>
{
let
checkProjectStr
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
.
indexOf
(
"
\
\"
) != -1) {
if
(
value
.
indexOf
(
"
\
\"
) != -1) {
callback(new Error("
请勿输入字符“
\\
”
"));
callback(new Error("
请勿输入字符“
\\
”
"));
...
@@ -443,88 +558,91 @@
...
@@ -443,88 +558,91 @@
callback();
callback();
}
}
};
};
return
{
return
{
curmbFirst: '云鹊店铺'
,
curmbFirst: "
云鹊店铺
"
,
curmbSecond: '新建店铺'
,
curmbSecond: "
新建店铺
"
,
isDisabled: false,
isDisabled: false,
storeData: null,
storeData: null,
typeList: [
typeList: [
{
{
label: '供货商'
,
label: "
供货商
"
,
value: 1,
value: 1,
}, {
},
label: '小药房',
{
label: "
小药房
",
value: 2,
value: 2,
}, {
},
label: '医生小店',
{
label: "
医生小店
",
value: 3,
value: 3,
}
},
],
],
formData: {
formData: {
storeId: null,
storeId: null,
userId: null,
userId: null,
storeLogo: '',//店铺logo
storeQualityUrl:"",
storeName: '',
storeLogo: "", //店铺logo
storeDescription: '',
storeName: "",
storeType: '',
storeDescription: "",
storeOwner: '',
storeType: "",
storePhone: '',
storeOwner: "",
storePhone: "",
imageList: [],
imageList: [],
adminList: [
adminList: [
{
{
adminName:
''
,
adminName:
""
,
adminMobile:
''
,
adminMobile:
""
,
id: null,
id: null,
}
}
,
],
//供货商-管理员信息
],
//供货商-管理员信息
compainName: '',
//供货商-入驻企业名称
compainName: "",
//供货商-入驻企业名称
phoneNum: '',
//供货商-联系电话
phoneNum: "",
//供货商-联系电话
imgUrlP1: '',
//证明图1
imgUrlP1: "",
//证明图1
imgUrlP2: '',
//证明图2
imgUrlP2: "",
//证明图2
imgUrlP3: '',
//证明图3
imgUrlP3: "",
//证明图3
docName: '',
//医生小店-医生姓名
docName: "",
//医生小店-医生姓名
docPhone: '',
//医生小店-联系电话
docPhone: "",
//医生小店-联系电话
drugstoreName: '',
//小药房-药店名称
drugstoreName: "",
//小药房-药店名称
drugstorePhone: '',
//小药房-联系电话
drugstorePhone: "",
//小药房-联系电话
imgUrlC1: '',
//证明图1
imgUrlC1: "",
//证明图1
imgUrlC2: '',
//证明图2
imgUrlC2: "",
//证明图2
imgUrlC3: '',
//证明图3
imgUrlC3: "",
//证明图3
},
},
supplierImg1: {
supplierImg1: {
id: null,
id: null,
imageSort: 1,
imageSort: 1,
imageType: 2,
imageType: 2,
imageUrl: ''
,
imageUrl: ""
,
},
},
supplierImg2: {
supplierImg2: {
id: null,
id: null,
imageSort: 2,
imageSort: 2,
imageType: 2,
imageType: 2,
imageUrl: ''
,
imageUrl: ""
,
},
},
supplierImg3: {
supplierImg3: {
id: null,
id: null,
imageSort: 3,
imageSort: 3,
imageType: 2,
imageType: 2,
imageUrl: ''
,
imageUrl: ""
,
},
},
drugstoreImg1: {
drugstoreImg1: {
id: null,
id: null,
imageSort: 1,
imageSort: 1,
imageType: 2,
imageType: 2,
imageUrl: ''
,
imageUrl: ""
,
},
},
drugstoreImg2: {
drugstoreImg2: {
id: null,
id: null,
imageSort: 2,
imageSort: 2,
imageType: 2,
imageType: 2,
imageUrl: ''
,
imageUrl: ""
,
},
},
drugstoreImg3: {
drugstoreImg3: {
id: null,
id: null,
imageSort: 3,
imageSort: 3,
imageType: 2,
imageType: 2,
imageUrl: ''
,
imageUrl: ""
,
},
},
showCropper: false,
showCropper: false,
currentOption: {
currentOption: {
...
@@ -535,15 +653,15 @@
...
@@ -535,15 +653,15 @@
cvWidth: 1000,
cvWidth: 1000,
cvHeight: 800,
cvHeight: 800,
uploadType: 1,
uploadType: 1,
cropDialogWidth: '900px'
,
cropDialogWidth: "
900
px
"
,
cropBoxResizable: true,
cropBoxResizable: true,
minCropBoxWidth: 100,
minCropBoxWidth: 100,
minCropBoxHeight: 100,
minCropBoxHeight: 100,
aspectRatio: 16/
9,
aspectRatio: 16 /
9,
currentPic: ''
,
currentPic: ""
,
},
},
slide2: {
slide2: {
oriUrl: ''
, // 原图
oriUrl: ""
, // 原图
},
},
rules: {
rules: {
storeName: [
storeName: [
...
@@ -552,13 +670,13 @@
...
@@ -552,13 +670,13 @@
min: 2,
min: 2,
max: 16,
max: 16,
message: "
输入长度为
2
-
16
的内容,可包含中英文、数字及特殊符号
",
message: "
输入长度为
2
-
16
的内容,可包含中英文、数字及特殊符号
",
trigger: "
blur
"
trigger: "
blur
",
},
},
{ validator: checkProjectStr, trigger: "
blur
" }
{ validator: checkProjectStr, trigger: "
blur
" },
],
],
storeDescription: [
storeDescription: [
{ required: false, message: "
请输入店铺简介
", trigger: "
blur
" },
{ required: false, message: "
请输入店铺简介
", trigger: "
blur
" },
{ validator: checkProjectStr, trigger: "
blur
" }
{ validator: checkProjectStr, trigger: "
blur
" },
],
],
storeType: [
storeType: [
{ required: true, message: "
请选择店铺类型
", trigger: "
blur
" },
{ required: true, message: "
请选择店铺类型
", trigger: "
blur
" },
...
@@ -568,25 +686,25 @@
...
@@ -568,25 +686,25 @@
],
],
phoneNum: [
phoneNum: [
{ required: true, message: "
请输入联系电话
", trigger: "
blur
" },
{ required: true, message: "
请输入联系电话
", trigger: "
blur
" },
{validator: checkMobile, trigger: ['change','blur']}
{ validator: checkMobile, trigger: ["
change
", "
blur
"] },
],
],
docName: [
docName: [
{ required: true, message: "
请输入医生姓名
", trigger: "
blur
" },
{ required: true, message: "
请输入医生姓名
", trigger: "
blur
" },
],
],
docPhone: [
docPhone: [
{ required: true, message: "
请输入联系电话
", trigger: "
blur
" },
{ required: true, message: "
请输入联系电话
", trigger: "
blur
" },
{validator: checkMobile, trigger: ['change','blur']}
{ validator: checkMobile, trigger: ["
change
", "
blur
"] },
],
],
drugstoreName: [
drugstoreName: [
{ required: true, message: "
请输入入驻药店名称
", trigger: "
blur
" },
{ required: true, message: "
请输入入驻药店名称
", trigger: "
blur
" },
],
],
drugstorePhone: [
drugstorePhone: [
{ required: true, message: "
请输入联系电话
", trigger: "
blur
" },
{ required: true, message: "
请输入联系电话
", trigger: "
blur
" },
{validator: checkMobile, trigger: ['change','blur']}
{ validator: checkMobile, trigger: ["
change
", "
blur
"] },
],
],
},
},
imgMouseOver1: false,
imgMouseOver1: false,
uploadImgMessage1: false,
//未上传图片,校验提示语
uploadImgMessage1: false,
//未上传图片,校验提示语
imgMouseOverP1: false,
imgMouseOverP1: false,
imgMouseOverP2: false,
imgMouseOverP2: false,
imgMouseOverP3: false,
imgMouseOverP3: false,
...
@@ -595,7 +713,7 @@
...
@@ -595,7 +713,7 @@
imgMouseOverC3: false,
imgMouseOverC3: false,
addItemFlag: true,
addItemFlag: true,
enterType: 1,
enterType: 1,
}
};
},
},
watch: {},
watch: {},
created() {
created() {
...
@@ -604,13 +722,13 @@
...
@@ -604,13 +722,13 @@
this.storeData = this.$route.query.storeData || null;
this.storeData = this.$route.query.storeData || null;
if (this.formData.storeId) {
if (this.formData.storeId) {
this.curmbSecond = '编辑店铺'
;
this.curmbSecond = "
编辑店铺
"
;
this.storeData = JSON.parse(this.storeData);
this.storeData = JSON.parse(this.storeData);
this.isDisabled = true;
this.isDisabled = true;
this.initInfo();
this.initInfo();
this.getStoreInfo();
this.getStoreInfo();
}
else {
}
else {
this.curmbSecond = '新建店铺'
;
this.curmbSecond = "
新建店铺
"
;
this.isDisabled = false;
this.isDisabled = false;
}
}
},
},
...
@@ -618,9 +736,18 @@
...
@@ -618,9 +736,18 @@
//回显数据处理
//回显数据处理
getStoreInfo() {
getStoreInfo() {
if (!this.storeData || !this.storeData.tradeStore) return;
if (!this.storeData || !this.storeData.tradeStore) return;
const { storeLogo, storeName, storeDescription, storeType, storeOwner, storePhone, } = this.storeData.tradeStore;
const {
storeLogo,
storeName,
storeDescription,
storeType,
storeOwner,
storePhone,
storeQualityUrl
} = this.storeData.tradeStore;
this.formData.storeLogo = storeLogo;
this.formData.storeLogo = storeLogo;
this.formData.storeName = storeName;
this.formData.storeName = storeName;
this.formData.storeQualityUrl=storeQualityUrl;
this.formData.storeDescription = storeDescription;
this.formData.storeDescription = storeDescription;
this.formData.storeType = storeType;
this.formData.storeType = storeType;
...
@@ -628,70 +755,71 @@
...
@@ -628,70 +755,71 @@
this.formData.compainName = storeOwner;
this.formData.compainName = storeOwner;
this.formData.phoneNum = storePhone;
this.formData.phoneNum = storePhone;
if (this.storeData.imageList && this.storeData.imageList.length) {
if (this.storeData.imageList && this.storeData.imageList.length) {
this.storeData.imageList.map(item
=> {
this.storeData.imageList.map((item)
=> {
if (item.imageSort == 1) {
if (item.imageSort == 1) {
this.supplierImg1 = item;
this.supplierImg1 = item;
this.formData.imgUrlP1 = item.imageUrl;
this.formData.imgUrlP1 = item.imageUrl;
}
else if (item.imageSort == 2) {
}
else if (item.imageSort == 2) {
this.supplierImg2 = item;
this.supplierImg2 = item;
this.formData.imgUrlP2 = item.imageUrl;
this.formData.imgUrlP2 = item.imageUrl;
}
else if (item.imageSort == 3) {
}
else if (item.imageSort == 3) {
this.supplierImg3 = item;
this.supplierImg3 = item;
this.formData.imgUrlP3 = item.imageUrl;
this.formData.imgUrlP3 = item.imageUrl;
}
}
})
});
}
else {
}
else {
this.formData.imgUrlP1 = ''
;
this.formData.imgUrlP1 = ""
;
this.formData.imgUrlP2 = ''
;
this.formData.imgUrlP2 = ""
;
this.formData.imgUrlP3 = ''
;
this.formData.imgUrlP3 = ""
;
}
}
//处理管理员数据
//处理管理员数据
if (this.storeData.adminList && this.storeData.adminList.length) {
if (this.storeData.adminList && this.storeData.adminList.length) {
this.formData.adminList = this.storeData.adminList
this.formData.adminList = this.storeData.adminList;
}else {
} else {
this.formData.adminList = [{
this.formData.adminList = [
adminName: '',
{
adminMobile: '',
adminName: "",
adminMobile: "",
id: null,
id: null,
}]
},
];
}
}
}
else if (storeType == 3) {
}
else if (storeType == 3) {
this.formData.docName = storeOwner;
this.formData.docName = storeOwner;
this.formData.docPhone = storePhone;
this.formData.docPhone = storePhone;
}
else if (storeType == 2) {
}
else if (storeType == 2) {
this.formData.drugstoreName = storeOwner;
this.formData.drugstoreName = storeOwner;
this.formData.drugstorePhone = storePhone;
this.formData.drugstorePhone = storePhone;
if (this.storeData.imageList && this.storeData.imageList.length) {
if (this.storeData.imageList && this.storeData.imageList.length) {
this.storeData.imageList.map(item
=> {
this.storeData.imageList.map((item)
=> {
if (item.imageSort == 1) {
if (item.imageSort == 1) {
this.drugstoreImg1 = item;
this.drugstoreImg1 = item;
this.formData.imgUrlC1 = item.imageUrl;
this.formData.imgUrlC1 = item.imageUrl;
}
else if (item.imageSort == 2) {
}
else if (item.imageSort == 2) {
this.drugstoreImg2 = item;
this.drugstoreImg2 = item;
this.formData.imgUrlC2 = item.imageUrl;
this.formData.imgUrlC2 = item.imageUrl;
}
else if (item.imageSort == 3) {
}
else if (item.imageSort == 3) {
this.drugstoreImg3 = item;
this.drugstoreImg3 = item;
this.formData.imgUrlC3 = item.imageUrl;
this.formData.imgUrlC3 = item.imageUrl;
}
}
})
});
}
else {
}
else {
this.formData.imgUrlC1 = ''
;
this.formData.imgUrlC1 = ""
;
this.formData.imgUrlC2 = ''
;
this.formData.imgUrlC2 = ""
;
this.formData.imgUrlC3 = ''
;
this.formData.imgUrlC3 = ""
;
}
}
}
}
},
},
initInfo() {
initInfo() {
let req = {
let req = {
storeId: this.formData.storeId
storeId: this.formData.storeId,
};
};
queryStore(req).then(res => {
queryStore(req).then((res) => {
if (res.code == '000000') {
if (res.code == "
000000
") {
} else {
}else {
this.$message.error(res.message);
this.$message.error(res.message);
}
}
})
});
},
},
complete() {
complete() {
let flag = this.submitForm();
let flag = this.submitForm();
...
@@ -709,35 +837,35 @@
...
@@ -709,35 +837,35 @@
// adminList:this.formData.adminList,
// adminList:this.formData.adminList,
// }
// }
this.formData.storeType = Number(this.formData.storeType);
this.formData.storeType = Number(this.formData.storeType);
this.formData.storeEntry = 'PCKAIDIAN'
; // 添加店铺渠道
this.formData.storeEntry = "
PCKAIDIAN
"
; // 添加店铺渠道
console.log('提交的数据',this.formData)
console.log("
提交的数据
", this.formData);
saveStore(this.formData).then(res
=> {
saveStore(this.formData).then((res)
=> {
if (res.code == '000000'
) {
if (res.code == "
000000
"
) {
this.$message.success("
操作成功
");
this.$message.success("
操作成功
");
this.$router.push({
this.$router.push({
path: '/shop-list'
path: "
/
shop
-
list
",
})
});
}
else {
}
else {
this.$message.error(res.message);
this.$message.error(res.message);
}
}
})
});
}
}
},
},
// 返回
// 返回
back() {
back() {
this.$router.push({
this.$router.push({
path: '/shop-list'
path: "
/
shop
-
list
",
})
});
},
},
checkPhone(val) {
checkPhone(val) {
if(!(/^1[3456789]
\
d{9}$/.test(val)
)) {
if (!/^1[3456789]
\
d{9}$/.test(val
)) {
return false;
return false;
} else {
} else {
return true;
return true;
}
}
},
},
resetType(type)
{
resetType(type)
{
this.formData.imageList = [];
this.formData.imageList = [];
if (type == 1) {
if (type == 1) {
this.formData.storeOwner = this.formData.compainName;
this.formData.storeOwner = this.formData.compainName;
...
@@ -754,11 +882,11 @@
...
@@ -754,11 +882,11 @@
this.supplierImg3.imageUrl = this.formData.imgUrlP3;
this.supplierImg3.imageUrl = this.formData.imgUrlP3;
this.formData.imageList.push(this.supplierImg3);
this.formData.imageList.push(this.supplierImg3);
}
}
}
else if (type == 3) {
}
else if (type == 3) {
this.formData.storeOwner = this.formData.docName;
this.formData.storeOwner = this.formData.docName;
this.formData.storePhone = this.formData.docPhone;
this.formData.storePhone = this.formData.docPhone;
this.formData.adminList = [];
this.formData.adminList = [];
}
else if (type == 2) {
}
else if (type == 2) {
this.formData.storeOwner = this.formData.drugstoreName;
this.formData.storeOwner = this.formData.drugstoreName;
this.formData.storePhone = this.formData.drugstorePhone;
this.formData.storePhone = this.formData.drugstorePhone;
this.formData.adminList = [];
this.formData.adminList = [];
...
@@ -780,30 +908,30 @@
...
@@ -780,30 +908,30 @@
let flag = false;
let flag = false;
if (this.formData.storeType == 1) {
if (this.formData.storeType == 1) {
if (!this.formData.compainName) {
if (!this.formData.compainName) {
this.$message.warning('请输入入驻企业名称'
);
this.$message.warning("
请输入入驻企业名称
"
);
return;
return;
}
}
if (!this.formData.phoneNum) {
if (!this.formData.phoneNum) {
this.$message.warning('请输入联系电话'
);
this.$message.warning("
请输入联系电话
"
);
return;
return;
}
else {
}
else {
if
(!this.checkPhone(this.formData.phoneNum)) {
if
(!this.checkPhone(this.formData.phoneNum)) {
this.$message.warning('请输入正确的手机号'
);
this.$message.warning("
请输入正确的手机号
"
);
return;
return;
}
}
}
}
if (this.formData.adminList && this.formData.adminList.length) {
if (this.formData.adminList && this.formData.adminList.length) {
for(let i=0; i<
this.formData.adminList.length; i++) {
for (let i = 0; i <
this.formData.adminList.length; i++) {
if (!this.formData.adminList[i].adminName) {
if (!this.formData.adminList[i].adminName) {
this.$message.warning(`请输入第${i+
1}个管理员的姓名`);
this.$message.warning(`请输入第${i +
1}个管理员的姓名`);
return;
return;
}
}
if
(!this.formData.adminList[i].adminMobile) {
if
(!this.formData.adminList[i].adminMobile) {
this.$message.warning(`请输入第${i+
1}个管理员的联系电话`);
this.$message.warning(`请输入第${i +
1}个管理员的联系电话`);
return;
return;
}
else {
}
else {
if
(!this.checkPhone(this.formData.adminList[i].adminMobile)) {
if
(!this.checkPhone(this.formData.adminList[i].adminMobile)) {
this.$message.warning(`请输入第${i+
1}个管理员的正确联系电话`);
this.$message.warning(`请输入第${i +
1}个管理员的正确联系电话`);
return;
return;
}
}
}
}
...
@@ -814,15 +942,15 @@
...
@@ -814,15 +942,15 @@
}
}
if (this.formData.storeType == 3) {
if (this.formData.storeType == 3) {
if (!this.formData.docName) {
if (!this.formData.docName) {
this.$message.warning('请输入医生姓名'
);
this.$message.warning("
请输入医生姓名
"
);
return;
return;
}
}
if (!this.formData.docPhone) {
if (!this.formData.docPhone) {
this.$message.warning('请输入联系电话'
);
this.$message.warning("
请输入联系电话
"
);
return;
return;
}
else {
}
else {
if
(!this.checkPhone(this.formData.docPhone)) {
if
(!this.checkPhone(this.formData.docPhone)) {
this.$message.warning('请输入正确的联系电话'
);
this.$message.warning("
请输入正确的联系电话
"
);
return;
return;
}
}
}
}
...
@@ -830,15 +958,15 @@
...
@@ -830,15 +958,15 @@
}
}
if (this.formData.storeType == 2) {
if (this.formData.storeType == 2) {
if (!this.formData.drugstoreName) {
if (!this.formData.drugstoreName) {
this.$message.warning('请输入入驻药店名称'
);
this.$message.warning("
请输入入驻药店名称
"
);
return;
return;
}
}
if (!this.formData.drugstorePhone) {
if (!this.formData.drugstorePhone) {
this.$message.warning('请输入联系电话'
);
this.$message.warning("
请输入联系电话
"
);
return;
return;
}
else {
}
else {
if
(!this.checkPhone(this.formData.drugstorePhone)) {
if
(!this.checkPhone(this.formData.drugstorePhone)) {
this.$message.warning('请输入正确的联系电话'
);
this.$message.warning("
请输入正确的联系电话
"
);
return;
return;
}
}
}
}
...
@@ -851,13 +979,13 @@
...
@@ -851,13 +979,13 @@
let formName = "
formData
";
let formName = "
formData
";
let submitFlag = false;
let submitFlag = false;
if (!this.formData.storeLogo)
{
if (!this.formData.storeLogo)
{
this.uploadImgMessage1 = true;
this.uploadImgMessage1 = true;
return;
return;
}
else {
}
else {
this.uploadImgMessage1 = false;
this.uploadImgMessage1 = false;
}
}
this.$refs[formName].validate(valid
=> {
this.$refs[formName].validate((valid)
=> {
if (valid) {
if (valid) {
if (!this.setTypeForData()) {
if (!this.setTypeForData()) {
return;
return;
...
@@ -872,11 +1000,11 @@
...
@@ -872,11 +1000,11 @@
},
},
//上传店铺logo
//上传店铺logo
beforeUploadPic1(file) {
beforeUploadPic1(file) {
this.currentOption.aspectRatio = 1/
1;
this.currentOption.aspectRatio = 1 /
1;
this.currentOption.cropBoxResizable = true;
this.currentOption.cropBoxResizable = true;
this.currentOption.minCropBoxWidth = 128;
this.currentOption.minCropBoxWidth = 128;
this.currentOption.minCropBoxHeight = 128;
this.currentOption.minCropBoxHeight = 128;
this.currentOption.currentPic = 'storeLogo'
;
this.currentOption.currentPic = "
storeLogo
"
;
let fileLimit = {
let fileLimit = {
width: 128,
width: 128,
height: 128,
height: 128,
...
@@ -884,9 +1012,9 @@
...
@@ -884,9 +1012,9 @@
sizeText: "
200
K
",
sizeText: "
200
K
",
key: "
storeLogo
",
key: "
storeLogo
",
more: "
imgUrl1More
",
more: "
imgUrl1More
",
show: "
uploadImgMessage1
"
show: "
uploadImgMessage1
",
};
};
this.beforeUploadLogo(file,fileLimit)
this.beforeUploadLogo(file, fileLimit);
//this.beforeUpload1(file, fileLimit);
//this.beforeUpload1(file, fileLimit);
},
},
//上传logo add
//上传logo add
...
@@ -907,33 +1035,39 @@
...
@@ -907,33 +1035,39 @@
let _img = new FileReader();
let _img = new FileReader();
_img.readAsDataURL(file);
_img.readAsDataURL(file);
_img.onload = function (theFile) {
_img.onload = function (theFile) {
let image = new Image()
let image = new Image();
image.src = theFile.target.result
image.src = theFile.target.result;
//vm.slide2.oriUrl = theFile.target.result;
//vm.slide2.oriUrl = theFile.target.result;
image.onload = function () {
image.onload = function () {
let _this = this;
let _this = this;
// if (_this.width != fileLimit.width || _this.height != fileLimit.height) {
// if (_this.width != fileLimit.width || _this.height != fileLimit.height) {
let l = _this.width/_this.height
let l = _this.width / _this.height;
if (l != 1) {
if (l != 1) {
vm.$message.error("
图片宽高比例请控制在
1
:
1
");
vm.$message.error("
图片宽高比例请控制在
1
:
1
");
return;
return;
} else {
} else {
openLoading(vm);
openLoading(vm);
doUpload(vm, file, getFilePath(file, null), "
preview4
", "
progress1
", 1).then(function (path) {
doUpload(
vm,
file,
getFilePath(file, null),
"
preview4
",
"
progress1
",
1
).then(function (path) {
closeLoading(vm);
closeLoading(vm);
vm.formData[fileLimit.key] = path.fullPath;
vm.formData[fileLimit.key] = path.fullPath;
vm.formData[fileLimit.more] = {
vm.formData[fileLimit.more] = {
attachmentName: path.storeName,
attachmentName: path.storeName,
attachmentExt: path.ext,
attachmentExt: path.ext,
attachmentSize: path.size
attachmentSize: path.size,
};
};
vm.$message.success("
上传成功
");
vm.$message.success("
上传成功
");
});
});
}
}
};
};
};
};
},
},
setOption(type) {
setOption(type) {
// this.currentOption.aspectRatio = 1/1;
// this.currentOption.aspectRatio = 1/1;
...
@@ -942,8 +1076,8 @@
...
@@ -942,8 +1076,8 @@
// this.currentOption.minCropBoxHeight = 160;
// this.currentOption.minCropBoxHeight = 160;
// this.currentOption.currentPic = type;
// this.currentOption.currentPic = type;
let fileLimit = {
let fileLimit = {
width: ''
,
width: ""
,
height: ''
,
height: ""
,
size: 3,
size: 3,
sizeText: "
3
M
",
sizeText: "
3
M
",
key: type,
key: type,
...
@@ -952,27 +1086,27 @@
...
@@ -952,27 +1086,27 @@
return fileLimit;
return fileLimit;
},
},
beforeUploadProve1(file) {
beforeUploadProve1(file) {
let fileLimit = this.setOption('imgUrlP1'
);
let fileLimit = this.setOption("
imgUrlP1
"
);
this.beforeUpload(file, fileLimit);
this.beforeUpload(file, fileLimit);
},
},
beforeUploadProve2(file) {
beforeUploadProve2(file) {
let fileLimit = this.setOption('imgUrlP2'
);
let fileLimit = this.setOption("
imgUrlP2
"
);
this.beforeUpload(file, fileLimit);
this.beforeUpload(file, fileLimit);
},
},
beforeUploadProve3(file) {
beforeUploadProve3(file) {
let fileLimit = this.setOption('imgUrlP3'
);
let fileLimit = this.setOption("
imgUrlP3
"
);
this.beforeUpload(file, fileLimit);
this.beforeUpload(file, fileLimit);
},
},
beforeUploadC1(file) {
beforeUploadC1(file) {
let fileLimit = this.setOption('imgUrlC1'
);
let fileLimit = this.setOption("
imgUrlC1
"
);
this.beforeUpload(file, fileLimit);
this.beforeUpload(file, fileLimit);
},
},
beforeUploadC2(file) {
beforeUploadC2(file) {
let fileLimit = this.setOption('imgUrlC2'
);
let fileLimit = this.setOption("
imgUrlC2
"
);
this.beforeUpload(file, fileLimit);
this.beforeUpload(file, fileLimit);
},
},
beforeUploadC3(file) {
beforeUploadC3(file) {
let fileLimit = this.setOption('imgUrlC3'
);
let fileLimit = this.setOption("
imgUrlC3
"
);
this.beforeUpload(file, fileLimit);
this.beforeUpload(file, fileLimit);
},
},
beforeUpload(file, fileLimit) {
beforeUpload(file, fileLimit) {
...
@@ -991,19 +1125,26 @@
...
@@ -991,19 +1125,26 @@
let _img = new FileReader();
let _img = new FileReader();
_img.readAsDataURL(file);
_img.readAsDataURL(file);
_img.onload = function (theFile) {
_img.onload = function (theFile) {
let image = new Image()
let image = new Image();
image.src = theFile.target.result
image.src = theFile.target.result;
vm.slide2.oriUrl = theFile.target.result;
vm.slide2.oriUrl = theFile.target.result;
image.onload = function () {
image.onload = function () {
let _this = this;
let _this = this;
openLoading(vm);
openLoading(vm);
doUpload(vm, file, getFilePath(file, null), "
preview4
", "
progress1
", 1).then(function (path) {
doUpload(
vm,
file,
getFilePath(file, null),
"
preview4
",
"
progress1
",
1
).then(function (path) {
closeLoading(vm);
closeLoading(vm);
vm.formData[fileLimit.key] = path.fullPath;
vm.formData[fileLimit.key] = path.fullPath;
vm.formData[fileLimit.more] = {
vm.formData[fileLimit.more] = {
attachmentName: path.storeName,
attachmentName: path.storeName,
attachmentExt: path.ext,
attachmentExt: path.ext,
attachmentSize: path.size
attachmentSize: path.size,
};
};
vm.$message.success("
上传成功
");
vm.$message.success("
上传成功
");
});
});
...
@@ -1028,23 +1169,36 @@
...
@@ -1028,23 +1169,36 @@
let _img = new FileReader();
let _img = new FileReader();
_img.readAsDataURL(file);
_img.readAsDataURL(file);
_img.onload = function (theFile) {
_img.onload = function (theFile) {
let image = new Image()
let image = new Image();
image.src = theFile.target.result
image.src = theFile.target.result;
vm.slide2.oriUrl = theFile.target.result;
vm.slide2.oriUrl = theFile.target.result;
image.onload = function () {
image.onload = function () {
let _this = this;
let _this = this;
// if (_this.width != fileLimit.width || _this.height != fileLimit.height) {
// if (_this.width != fileLimit.width || _this.height != fileLimit.height) {
if (_this.width < fileLimit.width || _this.height < fileLimit.height) {
if (
_this.width < fileLimit.width ||
_this.height < fileLimit.height
) {
vm.$message.error("
图片尺寸不符合规范,请根据规范上传图片
");
vm.$message.error("
图片尺寸不符合规范,请根据规范上传图片
");
return;
return;
} else if(_this.width > fileLimit.width || _this.height > fileLimit.height){
} else if (
_this.width > fileLimit.width ||
_this.height > fileLimit.height
) {
vm.showCropper = true;
vm.showCropper = true;
vm.currentOption.cvWidth = _this.width;
vm.currentOption.cvWidth = _this.width;
vm.currentOption.cvHeight = _this.height;
vm.currentOption.cvHeight = _this.height;
return;
return;
} else {
} else {
openLoading(vm);
openLoading(vm);
doUpload(vm, file, getFilePath(file, null), "
preview4
", "
progress1
", 1).then(function (path) {
doUpload(
vm,
file,
getFilePath(file, null),
"
preview4
",
"
progress1
",
1
).then(function (path) {
closeLoading(vm);
closeLoading(vm);
if (fileLimit.show == "
uploadImgMessage1
") {
if (fileLimit.show == "
uploadImgMessage1
") {
vm.uploadImgMessage1 = false;
vm.uploadImgMessage1 = false;
...
@@ -1053,7 +1207,7 @@
...
@@ -1053,7 +1207,7 @@
vm.formData[fileLimit.more] = {
vm.formData[fileLimit.more] = {
attachmentName: path.storeName,
attachmentName: path.storeName,
attachmentExt: path.ext,
attachmentExt: path.ext,
attachmentSize: path.size
attachmentSize: path.size,
};
};
vm.$message.success("
上传成功
");
vm.$message.success("
上传成功
");
});
});
...
@@ -1066,16 +1220,16 @@
...
@@ -1066,16 +1220,16 @@
deleteImg(type) {
deleteImg(type) {
vm.formData[type] = "";
vm.formData[type] = "";
const testMouse = new Map()
const testMouse = new Map()
.set('storeLogo','imgMouseOver1'
)
.set("
storeLogo
", "
imgMouseOver1
"
)
.set('imgUrlP1','imgMouseOverP1'
)
.set("
imgUrlP1
", "
imgMouseOverP1
"
)
.set('imgUrlP2','imgMouseOverP2'
)
.set("
imgUrlP2
", "
imgMouseOverP2
"
)
.set('imgUrlP3','imgMouseOverP3'
)
.set("
imgUrlP3
", "
imgMouseOverP3
"
)
.set('imgUrlC1','imgMouseOverC1'
)
.set("
imgUrlC1
", "
imgMouseOverC1
"
)
.set('imgUrlC2','imgMouseOverC2'
)
.set("
imgUrlC2
", "
imgMouseOverC2
"
)
.set('imgUrlC3','imgMouseOverC3'
);
.set("
imgUrlC3
", "
imgMouseOverC3
"
);
function matchType(type) {
function matchType(type) {
return testMouse.get(type) || ''
return testMouse.get(type) || "";
}
}
let mark = matchType(type);
let mark = matchType(type);
vm[mark] = false;
vm[mark] = false;
...
@@ -1092,27 +1246,36 @@
...
@@ -1092,27 +1246,36 @@
// 获取裁剪的图片数据
// 获取裁剪的图片数据
getCropImg(argument) {
getCropImg(argument) {
this.showCropper = false;
this.showCropper = false;
this.cropData = argument[1]
this.cropData = argument[1];
vm.doUploadQiNiu(argument[2])
vm.doUploadQiNiu(argument[2]);
argument[3] && argument[3].destroy();
argument[3] && argument[3].destroy();
// vm.slide2.oriUrl = "";
// vm.slide2.oriUrl = "";
},
},
// 上传七牛
// 上传七牛
doUploadQiNiu(file){
doUploadQiNiu(file) {
doUpload(this,file, getFilePath(file,null), 'preview4', 'uploadProgress1', '').then(function (path) {
doUpload(
this,
file,
getFilePath(file, null),
"
preview4
",
"
uploadProgress1
",
""
).then(function (path) {
vm.formData[vm.currentOption.currentPic] = path.fullPath;
vm.formData[vm.currentOption.currentPic] = path.fullPath;
vm.$message.success('上传成功'
);
vm.$message.success("
上传成功
"
);
});
});
},
},
//新增管理员
//新增管理员
addItem(index) {
addItem(index) {
if(this.formData.adminList != null && this.formData.adminList.length >= 5){
if (
this.formData.adminList != null &&
this.formData.adminList.length >= 5
) {
this.$message.warning("
只可新增
5
位管理员!
");
this.$message.warning("
只可新增
5
位管理员!
");
} else {
} else {
let item = {
let item = {
adminName: ''
,
adminName: ""
,
adminMobile: ''
,
adminMobile: ""
,
id: null,
id: null,
};
};
this.formData.adminList.push(item);
this.formData.adminList.push(item);
...
@@ -1120,45 +1283,45 @@
...
@@ -1120,45 +1283,45 @@
},
},
//删除管理员
//删除管理员
deleteItem(index) {
deleteItem(index) {
if ((this.formData.adminList.length == 1) && (index == 0)
) {
if (this.formData.adminList.length == 1 && index == 0
) {
this.$message.warning("
最少需要
1
位管理员哦!
");
this.$message.warning("
最少需要
1
位管理员哦!
");
return;
return;
}
}
this.formData.adminList.splice(index, 1);
this.formData.adminList.splice(index, 1);
},
},
},
},
}
};
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.create-shop-wrapper
{
.create-shop-wrapper
{
.create-shop-content
{
.create-shop-content
{
background
:
#fff
;
background
:
#fff
;
padding
:
10px
;
padding
:
10px
;
.step-content
{
.step-content
{
overflow
:
hidden
;
overflow
:
hidden
;
height
:
60px
;
height
:
60px
;
padding
:
10px
10px
50px
;
padding
:
10px
10px
50px
;
border-bottom
:
1px
solid
#efefef
;
border-bottom
:
1px
solid
#efefef
;
.title
{
.title
{
font-size
:
13px
;
font-size
:
13px
;
color
:
#449284
;
color
:
#449284
;
}
}
}
}
}
}
.el-button--text
{
.el-button--text
{
color
:
#449284
;
color
:
#449284
;
font-size
:
14px
;
font-size
:
14px
;
&
:
:
after
{
&
:
:
after
{
content
:
''
;
content
:
""
;
position
:
relative
;
position
:
relative
;
height
:
14px
;
height
:
14px
;
/*border-right: 1px solid #EBEEF5;*/
/*border-right: 1px solid #EBEEF5;*/
border-right
:
1px
solid
#aaaaaa
;
border-right
:
1px
solid
#aaaaaa
;
padding-right
:
10px
;
padding-right
:
10px
;
}
}
&
:last-of-type
{
&
:last-of-type
{
&
:
:
after
{
&
:
:
after
{
content
:
''
;
content
:
""
;
position
:
relative
;
position
:
relative
;
width
:
1px
;
width
:
1px
;
height
:
14px
;
height
:
14px
;
...
@@ -1166,13 +1329,13 @@
...
@@ -1166,13 +1329,13 @@
}
}
}
}
}
}
}
}
.
required-label
.
el-form-item__label
:
:
before
{
.
required-label
.
el-form-item__label
:
:
before
{
content
:
"*"
;
content
:
"*"
;
color
:
#f56c6c
;
color
:
#f56c6c
;
margin-right
:
4px
;
margin-right
:
4px
;
}
}
.basic-item-icon
{
.basic-item-icon
{
position
:
relative
;
position
:
relative
;
.require
{
.require
{
...
@@ -1189,31 +1352,29 @@
...
@@ -1189,31 +1352,29 @@
font-size
:
12px
;
font-size
:
12px
;
color
:
#f56c6c
;
color
:
#f56c6c
;
}
}
}
.word-num
{
}
.word-num
{
font-size
:
12px
;
font-size
:
12px
;
color
:
#999
;
color
:
#999
;
padding-top
:
5px
;
padding-top
:
5px
;
}
}
.line
{
.line
{
margin-left
:
10px
;
margin-left
:
10px
;
width
:
20px
;
width
:
20px
;
}
}
.flex-upload
{
.flex-upload
{
width
:
120px
;
width
:
120px
;
text-align
:
center
;
text-align
:
center
;
.tips
{
.tips
{
font-size
:
13px
;
font-size
:
13px
;
color
:
#8C8C8C
;
color
:
#8c8c8c
;
line-height
:
24px
;
line-height
:
24px
;
}
}
}
}
.bg-uploader
{
.bg-uploader
{
position
:
relative
;
position
:
relative
;
/*margin-right: 20px;*/
/*margin-right: 20px;*/
.bg-img
{
.bg-img
{
...
@@ -1230,7 +1391,7 @@
...
@@ -1230,7 +1391,7 @@
background
:
#000
;
background
:
#000
;
opacity
:
0
.7
;
opacity
:
0
.7
;
z-index
:
999
;
z-index
:
999
;
&
.add-left-18
{
&
.add-left-18
{
left
:
18px
;
left
:
18px
;
}
}
i
{
i
{
...
@@ -1250,22 +1411,22 @@
...
@@ -1250,22 +1411,22 @@
text-align
:
left
;
text-align
:
left
;
}
}
}
}
}
}
.el-upload__tip
{
.el-upload__tip
{
position
:
absolute
;
position
:
absolute
;
top
:
-6px
;
top
:
-6px
;
left
:
130px
;
left
:
130px
;
}
}
.span-mt-10
{
.span-mt-10
{
.edit-img
{
.edit-img
{
width
:
20px
;
width
:
20px
;
margin-top
:
10px
;
margin-top
:
10px
;
}
}
}
}
.p-tips
{
.p-tips
{
font-size
:
13px
;
font-size
:
13px
;
color
:
#8C8C8C
;
color
:
#8c8c8c
;
line-height
:
26px
;
line-height
:
26px
;
margin-bottom
:
15px
;
margin-bottom
:
15px
;
}
}
</
style
>
</
style
>
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录