Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
Y
ybf
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
xulili
ybf
Commits
4af504e3
Commit
4af504e3
authored
Mar 31, 2020
by
xd
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
富文本上传地址解决
parent
332b1be5
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
787 additions
and
98 deletions
+787
-98
package.json
wx_application/package.json
+4
-1
public.scss
wx_application/src/assets/style/public.scss
+8
-0
index.vue
wx_application/src/components/quill/index.vue
+174
-0
index.js
wx_application/src/router/index.js
+15
-0
chargeCode.vue
wx_application/src/views/counter/chargeCode.vue
+16
-0
counterEdit copy.vue
wx_application/src/views/counter/counterEdit copy.vue
+105
-0
counterEdit.vue
wx_application/src/views/counter/counterEdit.vue
+222
-0
counterInfo.vue
wx_application/src/views/counter/counterInfo.vue
+18
-3
counterMaintain.vue
wx_application/src/views/counter/counterMaintain.vue
+1
-1
pushStoreInfo.vue
wx_application/src/views/counter/pushStoreInfo.vue
+94
-0
index.vue
wx_application/src/views/mainSale/active/main/index.vue
+3
-4
index.vue
wx_application/src/views/mainSale/me/main/index.vue
+2
-4
yarn.lock
wx_application/yarn.lock
+55
-1
header.js
ybf_admin/src/menu/header.js
+5
-5
addGroup.vue
ybf_admin/src/pages/in/contact/components/addGroup.vue
+0
-1
editGroup.vue
ybf_admin/src/pages/in/contact/components/editGroup.vue
+0
-1
mail.vue
ybf_admin/src/pages/in/contact/mail.vue
+7
-3
routes.js
ybf_admin/src/router/routes.js
+10
-10
index.html
ybf_wx/public/register/index.html
+0
-2
home.vue
ybf_wx/src/views/home.vue
+5
-13
index.vue
ybf_wx/src/views/sideNav/discount/index.vue
+17
-15
index.vue
ybf_wx/src/views/sideNav/register/index.vue
+26
-34
No files found.
wx_application/package.json
View file @
4af504e3
...
...
@@ -18,8 +18,10 @@
"qrcode"
:
"^1.4.4"
,
"vant"
:
"^2.3.3"
,
"vue"
:
"^2.6.10"
,
"vue-quill-editor"
:
"^3.0.6"
,
"vue-router"
:
"^3.1.3"
,
"vuex"
:
"^3.1.2"
"vuex"
:
"^3.1.2"
,
"wangeditor"
:
"^3.1.1"
},
"devDependencies"
:
{
"@vue/cli-plugin-babel"
:
"^4.1.0"
,
...
...
@@ -31,6 +33,7 @@
"node-sass"
:
"^4.13.0"
,
"postcss-loader"
:
"^3.0.0"
,
"postcss-pxtorem"
:
"^4.0.1"
,
"quill-image-extend-module"
:
"^1.1.2"
,
"sass-loader"
:
"^8.0.0"
,
"vue-template-compiler"
:
"^2.6.10"
}
...
...
wx_application/src/assets/style/public.scss
View file @
4af504e3
...
...
@@ -59,3 +59,11 @@ input:focus{ outline: none;}
width
:
100%
;
height
:
100%
;
}
.flex-start
{
display
:
flex
;
height
:
auto
;
justify-content
:
flex-start
;
flex-direction
:
column
;
width
:
100%
;
background-color
:
#fff
;
}
\ No newline at end of file
wx_application/src/components/quill/index.vue
0 → 100644
View file @
4af504e3
<
template
>
<div
class=
"editor"
>
<quill-editor
v-model=
"content"
ref=
"myQuillEditor"
:options=
"options"
:disabled=
"redact"
@
change=
"onEditorChange($event)"
></quill-editor>
<van-uploader
v-show=
"false"
:afterRead=
"afterRead"
:beforeRead=
"beforeRead"
>
<van-button
icon=
"photo"
type=
"primary"
>
上传图片
</van-button>
</van-uploader>
</div>
<!--
<div
class=
"ql-editor"
v-html=
"content"
></div>
-->
</
template
>
<
script
>
import
"quill/dist/quill.core.css"
//引入样式
import
"quill/dist/quill.snow.css"
//引入样式
import
"quill/dist/quill.bubble.css"
//引入样式
import
{
quillEditor
}
from
"vue-quill-editor"
//引入组件
export
default
{
name
:
"quillEditors"
,
props
:
{
//是否可以编辑
redact
:
{
type
:
Boolean
,
default
:
false
},
//头部是否可显示
title
:
{
type
:
Boolean
,
default
:
false
}
},
data
()
{
return
{
content
:
``
,
options
:
{
placeholder
:
"请输入模板..."
,
modules
:
{
toolbar
:
{
container
:
[
[
"bold"
,
"italic"
,
"underline"
,
"strike"
],
//切换按钮 //bold 加粗 italic 斜 underline 下划线 strike删除线
[
"blockquote"
,
"code-block"
],
//blockquote 引用 code-block 代码块
[
"link"
,
"image"
],
//图片 link 链接 image图片
[{
header
:
1
},
{
header
:
2
}],
// 标题,键值对的形式;1、2表示字体大小
[{
list
:
"ordered"
},
{
list
:
"bullet"
}],
//排序 ordered 有序 bullet 无序
// [{ header: [1, 2, 3, 4, 5, 6, false] }], //几级标题
[{
script
:
"sub"
},
{
script
:
"super"
}],
// sub上标 / super下标
[{
indent
:
"-1"
},
{
indent
:
"+1"
}],
// 减少缩进/缩进
[{
direction
:
"rtl"
}],
// 文本方向
[{
color
:
[]
},
{
background
:
[]
}],
// color 字体颜色 background 背景颜色 从主题默认下拉
[{
align
:
[]
}],
//文本对齐方式
[{
font
:
[]
}],
//字体格式
[{
size
:
[]
}]
// 自定义下拉
],
handlers
:
{
image
:
value
=>
{
if
(
value
)
{
//禁止软键盘弹出
document
.
activeElement
.
blur
();
// 触发input框选择图片文件
document
.
querySelector
(
".van-uploader input"
).
click
();
}
else
{
this
.
quill
.
format
(
"image"
,
false
);
}
}
}
}
}
}
};
},
computed
:
{},
watch
:
{
//title变化时触发
title
(
bool
)
{
if
(
bool
)
{
document
.
querySelector
(
".quill-editor .ql-toolbar"
).
style
.
display
=
"none"
;
}
}
},
methods
:
{
//图片上传成功
afterRead
(
file
)
{
console
.
log
(
"后"
,
file
);
},
//图片上传前
async
beforeRead
(
file
)
{
console
.
log
(
"前"
,
file
,
file
.
size
/
1024
);
if
(
file
.
size
==
0
)
{
return
false
}
if
(
!
/^image
\/(
jpeg|png|jpg
)
$/
.
test
(
file
.
type
))
{
this
.
$toast
(
"请上传 jpg,jpeg,png 格式图片"
);
return
false
;
}
this
.
$toast
.
allowMultiple
();
let
loading
=
this
.
$toast
.
loading
({
duration
:
0
,
mask
:
false
,
forbidClick
:
true
,
message
:
"上传中..."
});
let
fr
=
new
FormData
();
fr
.
append
(
"image"
,
file
);
try
{
let
quill
=
this
.
$refs
.
myQuillEditor
.
quill
;
let
{
msg
,
code
,
data
}
=
await
this
.
$post
(
"img/V1/uploadImage"
,
fr
);
if
(
code
===
1
)
{
console
.
log
(
"上传成功"
,
data
[
0
]);
// 获取光标所在位置
let
length
=
quill
.
getSelection
().
index
;
// 插入图片
quill
.
insertEmbed
(
length
,
"image"
,
data
[
0
]);
// 调整光标到最后
quill
.
setSelection
(
length
+
1
);
return
true
;
}
else
{
this
.
$toast
(
`
${
msg
}
`
);
}
}
catch
(
err
)
{
console
.
log
(
"错误"
,
err
);
this
.
$toast
(
"网络错误,请检查网络连接!"
);
}
finally
{
loading
.
clear
();
}
},
//内容改变触发
onEditorChange
()
{
this
.
$emit
(
"ChangeText"
,
this
.
content
);
}
},
mounted
()
{
//初始化title
this
.
title
==
true
?
(
document
.
querySelector
(
".quill-editor .ql-toolbar"
).
style
.
display
=
"none"
)
:
""
;
},
components
:
{
quillEditor
}
// components: { editor }
};
</
script
>
<
style
lang=
'scss'
>
.editor
{
height
:
80%
;
position
:
relative
;
display
:
flex
;
flex-direction
:
column
;
.quill-editor
{
height
:
100%
;
}
.ql-toolbar
{
z-index
:
inherit
;
// position: absolute;
// top: 0;
}
.ql-container
{
flex
:
1
;
s
,
i
,
em
{
font-style
:
italic
;
text-decoration
:
line-through
;
}
}
}
</
style
>
\ No newline at end of file
wx_application/src/router/index.js
View file @
4af504e3
...
...
@@ -57,6 +57,21 @@ const routes = [
name
:
'counterMaintain'
,
component
:
()
=>
import
(
'@/views/counter/counterMaintain'
)
},
{
path
:
'/counterEdit'
,
name
:
'counterEdit'
,
component
:
()
=>
import
(
'@/views/counter/counterEdit'
)
},
{
path
:
'/chargeCode'
,
name
:
'chargeCode'
,
component
:
()
=>
import
(
'@/views/counter/chargeCode'
)
},
{
path
:
'/pushStoreInfo'
,
name
:
'pushStoreInfo'
,
component
:
()
=>
import
(
'@/views/counter/pushStoreInfo'
)
},
{
path
:
'/goodManage'
,
name
:
'goodManage'
,
...
...
wx_application/src/views/counter/chargeCode.vue
0 → 100644
View file @
4af504e3
<
template
>
<div>
<div></div>
<div>
收款码
</div>
</div>
</
template
>
<
script
>
export
default
{
}
</
script
>
<
style
>
</
style
>
\ No newline at end of file
wx_application/src/views/counter/counterEdit copy.vue
0 → 100644
View file @
4af504e3
<
template
>
<div
class=
"container"
>
<div
class=
"flex-start"
>
<van-uploader
v-model=
"bannerList"
:max-count=
"4"
/>
<div>
<quill-editors
@
ChangeText=
"(text)=>
{content=text}" :title="title" />
<!--
<van-uploader
class=
"avatar-uploader"
/>
D -->
<quill-editor
v-model=
"content"
ref=
"myQuillEditor"
:options=
"editorOption"
@
change=
"onEditorChange($event)"
></quill-editor>
</div>
</div>
<div
class=
"creat"
>
保存信息
</div>
</div>
</
template
>
<
script
>
import
QuillEditors
from
"@/components/quill"
// import { quillEditor } from "vue-quill-editor"
// import "quill/dist/quill.core.css"
// import "quill/dist/quill.snow.css"
// import "quill/dist/quill.bubble.css"
const
toolbarOptions
=
[
[{
size
:
[
"small"
,
false
,
"large"
,
"huge"
]
}],
// 字体大小
[
"image"
]
// 链接、图片、视频
]
export
default
{
components
:
{
// quillEditor
QuillEditors
},
data
()
{
return
{
bannerList
:
[],
content
:
''
,
isClear
:
false
,
detail
:
""
,
editorOption
:
{
placeholder
:
""
,
theme
:
"snow"
,
// or 'bubble'
modules
:
{
toolbar
:
{
container
:
toolbarOptions
,
handlers
:
{
// image: function(value) {
// if (value) {
// // 触发input框选择图片文件
// document.querySelector(".avatar-uploader input").click();
// } else {
// this.quill.format("image", false);
// }
// }
}
}
}
},
header
:
{
},
// 有的图片服务器要求请求头需要有token
serverUrl
:
"https://139.219.7.104:8021/file/upload"
,
// title:
}
},
methods
:
{
change
(
val
)
{
console
.
log
(
val
)
},
onEditorChange
({
editor
,
html
,
text
})
{
console
.
log
(
this
.
content
,
'内容'
)
console
.
log
(
html
,
'html'
)
console
.
log
(
editor
,
'editor'
)
console
.
log
(
text
,
'text'
)
this
.
$emit
(
"input"
,
this
.
content
);
},
}
}
</
script
>
<
style
>
</
style
>
<
style
scoped
>
.container
{
min-height
:
100%
;
height
:
auto
;
background
:
#F8F8F8
;
display
:
flex
;
justify-content
:
space-between
;
flex-direction
:
column
;
align-items
:
center
;
}
.content
{
background
:
#fff
;
height
:
auto
;
}
.creat
{
margin
:
20px
0
;
width
:
343px
;
height
:
40px
;
line-height
:
40px
;
background
:
rgba
(
117
,
178
,
253
,
1
);
border-radius
:
10px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
255
,
255
,
255
,
1
);
text-align
:
center
;
bottom
:
0
;
}
</
style
>
wx_application/src/views/counter/counterEdit.vue
0 → 100644
View file @
4af504e3
<
template
>
<div
class=
"container"
>
<div
class=
"flex-start top"
>
<div
class=
"flex-start"
>
<van-cell-group
class=
"gn"
>
<van-cell
title=
"专柜LOGO"
center
class=
"logo"
>
<template
slot=
"default"
>
<van-uploader
v-model=
"addForm.logo"
:max-count=
"1"
class=
"input"
>
<div
class=
"cube"
style=
"width:54px;height:50px;"
>
<van-icon
name=
"photo"
size=
"40"
/>
<div
class=
"mb"
>
点击替换
</div>
</div>
</van-uploader>
</
template
>
</van-cell>
<van-cell
title=
"专柜名称"
>
<
template
slot=
"default"
>
<van-field
v-model=
"addForm.name"
placeholder=
"输入名称"
class=
"input"
/>
</
template
>
</van-cell>
<van-cell
title=
"门店"
>
<
template
slot=
"default"
>
<van-field
v-model=
"addForm.store"
placeholder=
"输入名称"
class=
"input"
/>
</
template
>
</van-cell>
<van-cell
title=
"专柜地址"
>
<
template
slot=
"default"
>
<van-field
v-model=
"addForm.address"
placeholder=
"输入名称"
class=
"input"
/>
</
template
>
</van-cell>
<div
class=
"border"
>
<div
class=
"des"
>
摘要信息
</div>
<van-field
v-model=
"addForm.abstract"
rows=
"4"
autosize
type=
"textarea"
placeholder=
"请输入摘要信息"
show-word-limit
maxlength=
"30"
/>
</div>
</van-cell-group>
</div>
<div
class=
"flex-start fwb"
>
<div
class=
"txt"
>
轮播图
</div>
<van-uploader
v-model=
"bannerList"
:max-count=
"4"
class=
"pic"
/>
<van-field
v-model=
"addForm.title"
placeholder=
"标题(不超过30个字)"
maxlength=
"30"
></van-field>
<quill-editor
v-model=
"content"
ref=
"myQuillEditor"
:options=
"editorOption"
@
change=
"onEditorChange($event)"
></quill-editor>
</div>
</div>
<div
class=
"creat"
>
保存信息
</div>
</div>
</template>
<
script
>
import
{
quillEditor
,
Quill
}
from
"vue-quill-editor"
;
import
{
container
,
ImageExtend
,
QuillWatch
}
from
"quill-image-extend-module"
;
import
"quill/dist/quill.core.css"
;
import
"quill/dist/quill.snow.css"
;
import
"quill/dist/quill.bubble.css"
;
Quill
.
register
(
"modules/ImageExtend"
,
ImageExtend
);
const
toolbarOptions
=
[
[{
size
:
[
"small"
,
false
,
"large"
,
"huge"
]
}],
// 字体大小
[
"image"
]
// 图片
];
export
default
{
components
:
{
quillEditor
},
data
()
{
return
{
addForm
:
{
logo
:
[],
abstract
:
''
,
store
:
''
,
name
:
''
,
address
:
''
,
title
:
''
},
bannerList
:
[],
title
:
""
,
content
:
""
,
// 富文本框参数设置
editorOption
:
{
modules
:
{
ImageExtend
:
{
name
:
"file"
,
// 图片参数名
// size: 3,
action
:
"http://139.155.48.151:8084/admin/auth/util/saveImg"
,
// response 为一个函数用来获取服务器返回的具体图片地址
// 例如服务器返回{code: 200; data:{ url: 'baidu.com'}}
// 则 return res.data.url
response
:
res
=>
{
return
res
.
data
.
imgPath
;
},
headers
:
xhr
=>
{
// xhr.setRequestHeader('Content-Type','multipart/form-data')
}
// 可选参数 设置请求头部
},
toolbar
:
{
// 如果不上传图片到服务器,此处不必配置
container
:
toolbarOptions
,
// container为工具栏,此次引入了全部工具栏,也可自行配置
placeholder
:
"请输入正文"
,
handlers
:
{
image
:
function
()
{
// 劫持原来的图片点击按钮事件
QuillWatch
.
emit
(
this
.
quill
.
id
);
}
}
}
}
}
};
},
methods
:
{
change
(
val
)
{
console
.
log
(
val
);
},
onEditorChange
({
editor
,
html
,
text
})
{
console
.
log
(
this
.
content
,
"内容"
)
this
.
$emit
(
"input"
,
this
.
content
)
}
}
};
</
script
>
<
style
>
</
style
>
<
style
scoped
>
.pic
{
border-bottom
:
2px
solid
#ebedf0
;
}
.pic
>>>
.van-uploader__wrapper
{
justify-content
:
center
;
}
.txt
{
font-size
:
18px
;
color
:
rgba
(
45
,
71
,
106
,
1
);
font-weight
:
bold
;
margin
:
6px
16px
4px
;
}
.top
{
background
:
#f8f8f8
;
}
.fwb
{
margin-top
:
10px
;
}
.container
{
min-height
:
100%
;
height
:
auto
;
background
:
#f8f8f8
;
display
:
flex
;
justify-content
:
space-between
;
flex-direction
:
column
;
align-items
:
center
;
}
.content
{
background
:
#fff
;
height
:
auto
;
}
.creat
{
margin
:
20px
0
;
width
:
343px
;
height
:
40px
;
line-height
:
40px
;
background
:
rgba
(
117
,
178
,
253
,
1
);
border-radius
:
10px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
255
,
255
,
255
,
1
);
text-align
:
center
;
bottom
:
0
;
}
.des
{
font-size
:
14px
;
font-weight
:
bold
;
color
:
rgba
(
45
,
71
,
106
,
1
);
margin-bottom
:
12px
;
}
.detail
{
background-color
:
#fff
;
padding
:
12px
16px
0
16px
;
}
.border
{
padding
:
15px
;
}
.border
>>>
.van-field__control
{
text-align
:
left
!important
;
background-color
:
#f8f8f8
;
}
.border
>>>
.van-cell
{
padding
:
0
;
}
.van-cell__value
,
.van-cell__value--alone
{
text-align
:
right
;
}
.input
{
padding
:
0
;
}
.gn
>>>
.van-field__control
{
text-align
:
right
;
}
.gn
>>>
.van-cell__title
{
font-size
:
14px
;
font-weight
:
bold
;
color
:
rgba
(
45
,
71
,
106
,
1
);
}
.gn
{
margin-top
:
12px
;
width
:
100%
;
padding-bottom
:
12px
;
}
.input
>>>
.van-uploader__input-wrapper
{
width
:
100%
;
}
</
style
>
wx_application/src/views/counter/counterInfo.vue
View file @
4af504e3
...
...
@@ -23,18 +23,33 @@
</div>
</div>
<van-cell-group
class=
"gn"
>
<van-cell
title=
"专柜信息"
is-link
value=
"详细信息"
/>
<van-cell
title=
"专柜信息"
is-link
value=
"详细信息"
@
click=
"handleEdit"
/>
<van-cell
title=
"访问专柜首页"
is-link
value=
"详细信息"
/>
<van-cell
title=
"专柜收款码"
is-link
value=
"详细信息"
/>
<van-cell
title=
"推送门店信息"
is-link
value=
"详细信息"
/>
<van-cell
title=
"专柜收款码"
is-link
value=
"详细信息"
@
click=
"getChargeCode"
/>
<van-cell
title=
"推送门店信息"
is-link
value=
"详细信息"
@
click=
"handlePushInfo"
/>
</van-cell-group>
</div>
</
template
>
<
script
>
import
{
quillEditor
}
from
"vue-quill-editor"
;
import
"quill/dist/quill.core.css"
;
import
"quill/dist/quill.snow.css"
;
import
"quill/dist/quill.bubble.css"
;
export
default
{
data
()
{
return
{};
},
methods
:
{
handleEdit
()
{
this
.
$router
.
push
(
"counterEdit"
)
},
getChargeCode
()
{
this
.
$router
.
push
(
"chargeCode"
)
},
handlePushInfo
()
{
this
.
$router
.
push
(
"pushStoreInfo"
)
}
}
};
</
script
>
...
...
wx_application/src/views/counter/counterMaintain.vue
View file @
4af504e3
...
...
@@ -49,7 +49,7 @@
/>
</div>
</div>
</van-cell-group>
</van-cell-group>
<div
class=
"creat"
>
保存信息
</div>
</div>
</template>
...
...
wx_application/src/views/counter/pushStoreInfo.vue
0 → 100644
View file @
4af504e3
<
template
>
<div
class=
"container"
>
<div>
<!-- 搜索框 -->
<van-search
v-model=
"inputValue"
placeholder=
"请输入搜索关键词"
/>
</div>
<van-checkbox-group
v-model=
"list"
@
change=
"onChange"
>
<van-cell-group
>
<van-cell
class=
"content"
v-for=
"(item, index) in newMemberList"
:key=
"index"
clickable
data-index=
"index"
bind:click=
"toggle"
>
<template
slot=
"title"
>
<img
src=
"../../../public/img/photo.png"
alt=
""
/>
<span
class=
"custom-title"
>
{{
item
.
name
}}
</span>
</
template
>
<van-checkbox
slot=
"right-icon"
catch:tap=
"noop"
:name=
"item.id"
/>
</van-cell>
</van-cell-group>
</van-checkbox-group>
<div>
外部联系人{{ info }}
</div>
</div>
</template>
<
script
>
export
default
{
data
()
{
return
{
inputValue
:
''
,
newMemberList
:
[
{
id
:
1
,
src
:
""
,
name
:
"Solomon"
},
{
id
:
2
,
src
:
""
,
name
:
"Solomon"
}
],
list
:
[],
info
:
''
}
},
mounted
()
{
this
.
getAgentAuth
()
},
methods
:
{
getList
()
{
wx
.
invoke
(
'selectExternalContact'
,
{
"filterType"
:
0
,
},
function
(
res
){
if
(
res
.
err_msg
==
"selectExternalContact:ok"
){
alert
(
`
${
JSON
.
stringify
(
res
)}
`
)
this
.
info
=
`
${
JSON
.
stringify
(
res
)}
`
}
else
{
//错误处理
alert
(
'获取失败'
)
}
})
},
onChange
(
val
)
{
},
toggle
(
event
)
{
const
{
index
}
=
event
.
currentTarget
.
dataset
;
const
checkbox
=
this
.
selectComponent
(
`.checkboxes-
${
index
}
`
);
checkbox
.
toggle
();
},
noop
()
{}
}
}
</
script
>
<
style
scoped
>
.content
{
align-items
:
center
;
}
.content
>>>
.van-icon-arrow
:before
{
margin-top
:
10px
;
color
:
#2d476a
;
}
.custom-title
{
margin-left
:
12px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
45
,
71
,
106
,
1
);
}
.content
img
{
width
:
44px
;
height
:
44px
;
border-radius
:
50%
;
vertical-align
:
middle
;
}
</
style
>
wx_application/src/views/mainSale/active/main/index.vue
View file @
4af504e3
...
...
@@ -48,10 +48,10 @@
</div>
<div
class=
"main-actives"
>
<div
class=
"actives-banners"
>
<!--
<img
class=
"actives-banner-small"
:src=
"test.activeInfo.icon['0']"
>
-->
<!--
<img
class=
"actives-banner-small"
:src=
"test.activeInfo.icon['0']"
>
-->
<div
class=
"actives-banner-title"
>
现有开展活动
</div>
<!--
<img
class=
"actives-banner-small"
:src=
"test.cache.imgUrl"
>
-->
<!--
<img
class=
"actives-banner-small"
:src=
"test.cache.imgUrl"
>
-->
</div>
<div
class=
"actives-main"
>
...
...
@@ -199,7 +199,6 @@
methods
:
{
checkNowMenuBar
()
{
let
inData
=
'1'
this
.
test
.
menuBarInfo
.
icon
.
now
=
this
.
test
.
menuBarInfo
.
icon
.
ua
this
.
test
.
menuBarInfo
.
icon
.
now
[
inData
]
=
this
.
test
.
menuBarInfo
.
icon
.
ac
[
inData
]
},
...
...
@@ -221,7 +220,7 @@
this
.
$router
.
push
(
"activeList"
)
},
menu04Click
()
{
this
.
$router
.
push
(
"counter
Maintain
"
)
this
.
$router
.
push
(
"counter
Info
"
)
},
menu05Click
()
{
this
.
$router
.
push
(
"ActTemplate"
)
...
...
wx_application/src/views/mainSale/me/main/index.vue
View file @
4af504e3
...
...
@@ -124,10 +124,8 @@ export default {
};
},
mounted
()
{
this
.
checkNowMenuBar
();
/* alert('测试测试')
alert(this.$route.query.code) */
this
.
zReadyUserId
()
this
.
checkNowMenuBar
()
// this.zReadyUserId()
this
.
zTestGetNowUrlInfo
()
},
...
...
wx_application/yarn.lock
View file @
4af504e3
...
...
@@ -2171,6 +2171,11 @@ clone@^1.0.2:
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
clone@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=
coa@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
...
...
@@ -3268,6 +3273,11 @@ event-pubsub@4.3.0:
resolved "https://registry.yarnpkg.com/event-pubsub/-/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e"
integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==
eventemitter3@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-2.0.3.tgz#b5e1079b59fb5e1ba2771c0a993be060a58c99ba"
integrity sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=
eventemitter3@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb"
...
...
@@ -3399,7 +3409,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
extend@~3.0.2:
extend@
^3.0.2, extend@
~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
...
...
@@ -3442,6 +3452,11 @@ fast-deep-equal@^2.0.1:
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
fast-diff@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.1.2.tgz#4b62c42b8e03de3f848460b639079920695d0154"
integrity sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==
fast-glob@^2.2.6:
version "2.2.7"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d"
...
...
@@ -5923,6 +5938,11 @@ param-case@2.1.x:
dependencies:
no-case "^2.2.0"
parchment@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/parchment/-/parchment-1.1.4.tgz#aeded7ab938fe921d4c34bc339ce1168bc2ffde5"
integrity sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
...
...
@@ -6682,6 +6702,27 @@ querystringify@^2.1.1:
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==
quill-delta@^3.6.2:
version "3.6.3"
resolved "https://registry.yarnpkg.com/quill-delta/-/quill-delta-3.6.3.tgz#b19fd2b89412301c60e1ff213d8d860eac0f1032"
integrity sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==
dependencies:
deep-equal "^1.0.1"
extend "^3.0.2"
fast-diff "1.1.2"
quill@^1.3.4:
version "1.3.7"
resolved "https://registry.yarnpkg.com/quill/-/quill-1.3.7.tgz#da5b2f3a2c470e932340cdbf3668c9f21f9286e8"
integrity sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==
dependencies:
clone "^2.1.1"
deep-equal "^1.0.1"
eventemitter3 "^2.0.3"
extend "^3.0.2"
parchment "^1.1.4"
quill-delta "^3.6.2"
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
...
...
@@ -8280,6 +8321,14 @@ vue-loader@^15.7.2:
vue-hot-reload-api "^2.3.0"
vue-style-loader "^4.1.0"
vue-quill-editor@^3.0.6:
version "3.0.6"
resolved "https://registry.yarnpkg.com/vue-quill-editor/-/vue-quill-editor-3.0.6.tgz#1f85646211d68a31a80a72cb7f45bb2f119bc8fb"
integrity sha512-g20oSZNWg8Hbu41Kinjd55e235qVWPLfg4NvsLW6d+DhgBTFbEuMpcWlUdrD6qT3+Noim6DRu18VLM9lVShXOQ==
dependencies:
object-assign "^4.1.1"
quill "^1.3.4"
vue-router@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.1.3.tgz#e6b14fabc0c0ee9fda0e2cbbda74b350e28e412b"
...
...
@@ -8316,6 +8365,11 @@ vuex@^3.1.2:
resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.1.2.tgz#a2863f4005aa73f2587e55c3fadf3f01f69c7d4d"
integrity sha512-ha3jNLJqNhhrAemDXcmMJMKf1Zu4sybMPr9KxJIuOpVcsDQlTBYLLladav2U+g1AvdYDG5Gs0xBTb0M5pXXYFQ==
wangeditor@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/wangeditor/-/wangeditor-3.1.1.tgz#fbd3c1d4976923c9edebb85b29d30b35512ad039"
integrity sha1-+9PB1JdpI8nt67hbKdMLNVEq0Dk=
watchpack@^1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
...
...
ybf_admin/src/menu/header.js
View file @
4af504e3
...
...
@@ -31,9 +31,9 @@ export default [
title: '任务管理',
icon: ''
}, */
{
path
:
'/goods/main'
,
title
:
'活动商品'
,
icon
:
''
}
//
{
//
path: '/goods/main',
//
title: '活动商品',
//
icon: ''
//
}
]
ybf_admin/src/pages/in/contact/components/addGroup.vue
View file @
4af504e3
...
...
@@ -121,7 +121,6 @@ export default {
rules
:
{
label
:
[
{
required
:
true
,
message
:
"请输入部门名称"
,
trigger
:
"blur"
},
{
validator
:
nameValidate
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
"长度在50个字符以内"
,
trigger
:
"blur"
}
],
parentId
:
[{
required
:
true
,
message
:
"请选择上级部门"
,
trigger
:
"change"
}]
...
...
ybf_admin/src/pages/in/contact/components/editGroup.vue
View file @
4af504e3
...
...
@@ -125,7 +125,6 @@ export default {
rules
:
{
label
:
[
{
required
:
true
,
message
:
"请输入部门名称"
,
trigger
:
"blur"
},
{
validator
:
nameValidate
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
"长度在50个字符以内"
,
trigger
:
"blur"
}
],
parentId
:
[{
required
:
true
,
message
:
"请选择上级部门"
,
trigger
:
"change"
}]
...
...
ybf_admin/src/pages/in/contact/mail.vue
View file @
4af504e3
...
...
@@ -183,7 +183,8 @@ export default {
counterId
:
0
,
title
:
"全部"
,
totalNumber
:
""
,
nowNode
:
{}
nowNode
:
{},
flag
:
0
};
},
components
:
{
...
...
@@ -206,6 +207,7 @@ export default {
});
},
handleTreeClick
(
data
)
{
this
.
flag
=
''
this
.
nowNode
=
data
this
.
groupName
=
data
.
label
this
.
groupId
=
data
.
id
...
...
@@ -263,6 +265,7 @@ export default {
this
.
formData
.
keywords
=
''
this
.
groupName
=
"全部"
this
.
type
=
this
.
sType
=
1
;
this
.
flag
=
0
this
.
page
.
currentPage
=
ctPage
this
.
groupId
=
''
let
params
=
{
...
...
@@ -279,6 +282,7 @@ export default {
this
.
formData
.
keywords
=
''
this
.
page
.
currentPage
=
ctPage
this
.
groupName
=
"未分组"
this
.
flag
=
1
this
.
type
=
this
.
sType
=
2
;
this
.
groupId
=
''
let
params
=
{
...
...
@@ -329,7 +333,8 @@ export default {
}
let
params
=
{
param
:
this
.
formData
.
keywords
,
departmentId
:
this
.
groupId
departmentId
:
this
.
groupId
,
flag
:
this
.
flag
}
search
(
params
).
then
(
res
=>
{
console
.
log
(
res
,
'搜索数据'
)
...
...
@@ -350,7 +355,6 @@ export default {
id
}
changeRole
(
params
).
then
(
res
=>
{
if
(
this
.
groupId
)
{
this
.
getGroupMember
(
1
,
1
);
}
else
if
(
this
.
title
===
'未分组'
)
{
...
...
ybf_admin/src/router/routes.js
View file @
4af504e3
...
...
@@ -39,7 +39,7 @@ const frameIn = [
component
:
()
=>
import
(
'@/pages/in/contact'
),
meta
:
{
auth
:
true
,
title
:
'
进件
管理'
title
:
'
通讯录
管理'
}
},
// // Z-进件管理-通讯录管理
...
...
@@ -113,15 +113,15 @@ const frameIn = [
}
},
// Z-活动商品-活动商品
{
path
:
'/goods/main'
,
name
:
'goodsMain'
,
component
:
()
=>
import
(
'@/pages/goods/main'
),
meta
:
{
auth
:
true
,
title
:
'活动商品'
}
},
//
{
//
path: '/goods/main',
//
name: 'goodsMain',
//
component: () => import('@/pages/goods/main'),
//
meta: {
//
auth: true,
//
title: '活动商品'
//
}
//
},
// // 演示页面
// {
// path: 'page1',
...
...
ybf_wx/public/register/index.html
View file @
4af504e3
...
...
@@ -55,7 +55,6 @@
</div>
</div>
<script>
alert
(
window
.
location
.
href
)
function
GetQueryString
(
name
)
{
var
reg
=
new
RegExp
(
"(^|&)"
+
name
+
"=([^&]*)(&|$)"
,
"i"
);
var
r
=
window
.
location
.
search
.
substr
(
1
).
match
(
reg
)
...
...
@@ -74,7 +73,6 @@
const
showQRInfo
=
()
=>
{
// let pageUri = `${nowUrl}&detailid=${voucherId}&actionid=${activeId}&unionid=${unionId}`;
// let storecode = "181"
alert
(
storecode
)
let
pageUri
=
`pages/user/register/register?storeCode=
${
storecode
}
`
let
pageUrl
=
`http://139.155.48.151:8085/workWx/auth/oauth2/wxMiniQrCode?pageUri=
${
pageUri
}
`
;
...
...
ybf_wx/src/views/home.vue
View file @
4af504e3
...
...
@@ -74,26 +74,18 @@
},
methods
:
{
zReadyUserId
()
{
zlog
(
"%c--->this.zcache.code ="
,
"color: orange;"
,
this
.
$route
.
query
.
code
);
if
(
this
.
$route
.
query
.
code
===
undefined
){
this
.
zTestPreAuthCode
()
}
else
{
this
.
zTestGetNowUrlInfo
()
;
this
.
zTestGetUserInfoByOldToken
()
;
this
.
zTestGetNowUrlInfo
()
this
.
zTestGetUserInfoByOldToken
()
}
},
// 测试-获取当前Url信息
zTestGetNowUrlInfo
()
{
this
.
zcache
.
nowUrl
=
JSON
.
stringify
(
this
.
$route
.
query
)
;
this
.
zcache
.
code
=
String
(
this
.
$route
.
query
.
code
)
;
zlog
(
"%c--->zTestGetNowUrlInfo: "
,
"color: orange;"
,
this
.
zcache
.
nowUrl
)
;
this
.
zcache
.
nowUrl
=
JSON
.
stringify
(
this
.
$route
.
query
)
this
.
zcache
.
code
=
String
(
this
.
$route
.
query
.
code
)
zlog
(
"%c--->zTestGetNowUrlInfo: "
,
"color: orange;"
,
this
.
zcache
.
nowUrl
)
},
zTestPreAuthCode
()
{
const
basicInfo
=
{
...
...
ybf_wx/src/views/sideNav/discount/index.vue
View file @
4af504e3
...
...
@@ -127,17 +127,19 @@ export default {
},
zReadyGetUserFromId
()
{
let
postData
=
{
user
Id
:
this
.
zcache
.
userId
user
Name
:
this
.
zcache
.
userId
}
getUserInfoByUserId
(
postData
)
.
then
(
res
=>
{
// alert(`--->userInfoFromId: res = ${JSON.stringify(res.data)}`);
// this.zcache.userInfo = String(res.data[0].departmentId);
// storeId 暂时写死
alert
(
res
.
data
[
0
])
this
.
zcache
.
storeId
=
res
.
data
[
0
]
// this.zcache.storeId = Number(res.data[0].stall);
this
.
zReadySetVoucherList
();
if
(
res
.
data
[
0
].
oyStallCode
==
''
)
{
alert
(
'您当前没有绑定店铺'
)
}
else
{
this
.
zcache
.
storeId
=
res
.
data
[
0
].
oyStallCode
// this.zcache.storeId = Number(res.data[0].stall);
this
.
zReadySetVoucherList
()
}
})
.
catch
(
err
=>
{})
},
...
...
@@ -149,14 +151,18 @@ export default {
mdid
:
this
.
zcache
.
storeId
}
getVoucherList
(
postData
).
then
(
res
=>
{
this
.
zVoucherSet
(
res
.
result
.
coupons
);
if
(
res
.
result
.
coupons
.
length
==
0
)
{
alert
(
'当前店铺暂无优惠券可发放'
)
}
else
{
this
.
zVoucherSet
(
res
.
result
.
coupons
)
}
})
.
catch
(
err
=>
{
})
;
})
},
zReadyDelVoucherList
()
{
this
.
zVoucherDel
()
;
this
.
zVoucherUrlDel
()
;
this
.
zVoucherDel
()
this
.
zVoucherUrlDel
()
},
zVoucherPick
(
inActiveId
,
inVoucherId
)
{
...
...
@@ -169,13 +175,9 @@ export default {
appCode
:
"0697"
,
action_id
:
Number
(
inActiveId
),
coupon_id
:
Number
(
inVoucherId
)
};
zlog
(
"%c--->VoucherWxUrl: PD ="
,
"background: red;"
,
postData
);
}
getVoucherWxUrl
(
postData
).
then
(
res
=>
{
this
.
zVoucherUrlSet
(
res
.
result
.
link
)
alert
(
'获取列表成功'
)
});
},
...
...
ybf_wx/src/views/sideNav/register/index.vue
View file @
4af504e3
...
...
@@ -38,46 +38,38 @@ import { getUserInfoByUserId } from "@/api/sidebar/voucher";
},
methods
:{
zReadyGetUserFromId
()
{
alert
(
'获取店铺'
)
alert
(
this
.
$route
.
params
.
userId
)
// let postData = {
// userId: this.$route.params.userId
// }
let
userId
=
this
.
$route
.
params
.
userId
alert
(
'请求'
)
getUserInfoByUserId
({
userId
}).
then
(
res
=>
{
alert
(
'获取成功'
)
alert
(
res
.
data
[
0
])
this
.
storeCode
=
res
.
data
[
0
]
let
userName
=
this
.
$route
.
params
.
userId
getUserInfoByUserId
({
userName
}).
then
(
res
=>
{
// alert('获取成功')
this
.
storeCode
=
res
.
data
[
0
].
oyStallMemberId
})
.
catch
(
err
=>
{
alert
(
'获取店铺失败'
)
})
alert
(
'what?'
)
},
sendMessage
(){
alert
(
'发消息'
)
let
url
=
`http://oysales.oywanhao.com/register?storeCode=
${
this
.
storeCode
}
`
alert
(
url
)
wx
.
invoke
(
"sendChatMessage"
,
{
msgtype
:
"news"
,
//消息类型,必填
news
:
{
link
:
url
,
//H5消息页面url 必填
title
:
"注册邀请"
,
//H5消息标题
desc
:
"注册成为欧亚会员"
,
//H5消息摘要
imgUrl
:
""
//H5消息封面图片URL
}
},
function
(
res
)
{
alert
(
'进入发送'
)
// alert('sendChatMessage')
if
(
res
.
err_msg
==
"sendChatMessage:ok"
)
{
}
else
if
(
res
.
err_msg
!=
"sendChatMessage:ok"
)
{
if
(
this
.
storeCode
==
''
)
{
alert
(
'您当前没有绑定店铺'
)
}
else
{
let
url
=
`http://oysales.oywanhao.com/register?storeCode=
${
this
.
storeCode
}
`
wx
.
invoke
(
"sendChatMessage"
,
{
msgtype
:
"news"
,
//消息类型,必填
news
:
{
link
:
url
,
//H5消息页面url 必填
title
:
"注册邀请"
,
//H5消息标题
desc
:
"注册成为欧亚会员"
,
//H5消息摘要
imgUrl
:
""
//H5消息封面图片URL
}
},
function
(
res
)
{
// alert('sendChatMessage')
if
(
res
.
err_msg
==
"sendChatMessage:ok"
)
{
}
else
if
(
res
.
err_msg
!=
"sendChatMessage:ok"
)
{
}
}
}
);
)
}
},
}
...
...
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