mirror of
https://gitee.com/elegant_wings/dbd-meeting-html.git
synced 2025-08-08 08:22:46 +08:00
1、日历调整,改为显示总场次,加入下钻
2、参会领导非必填 3、预约列表加入排序和会议室筛选
This commit is contained in:
parent
9aee7cd51d
commit
614531e765
@ -36,6 +36,7 @@
|
||||
"vue-clipboard2": "^0.2.1",
|
||||
"vue-cropper": "0.4.9",
|
||||
"vue-i18n": "^8.17.4",
|
||||
"vue-qr": "^4.0.9",
|
||||
"vue-quill-editor": "^3.0.6",
|
||||
"vue-router": "^3.1.2",
|
||||
"vue-svg-component-runtime": "^1.0.1",
|
||||
|
@ -11,7 +11,7 @@ import { axios } from '@/utils/request'
|
||||
* @param parameter
|
||||
* @returns {*}
|
||||
*/
|
||||
export function login (parameter) {
|
||||
export function login(parameter) {
|
||||
return axios({
|
||||
url: '/login/slide',
|
||||
method: 'post',
|
||||
@ -19,7 +19,7 @@ export function login (parameter) {
|
||||
})
|
||||
}
|
||||
|
||||
export function getLoginSms (parameter) {
|
||||
export function getLoginSms(parameter) {
|
||||
return axios({
|
||||
url: '/system/sms/send',
|
||||
method: 'get',
|
||||
@ -27,7 +27,7 @@ export function getLoginSms (parameter) {
|
||||
})
|
||||
}
|
||||
|
||||
export function getInfo () {
|
||||
export function getInfo() {
|
||||
return axios({
|
||||
url: '/system/user/info',
|
||||
method: 'get',
|
||||
@ -37,7 +37,7 @@ export function getInfo () {
|
||||
})
|
||||
}
|
||||
|
||||
export function logout (token) {
|
||||
export function logout(token) {
|
||||
return axios({
|
||||
url: '/login/logout',
|
||||
method: 'post',
|
||||
@ -49,7 +49,7 @@ export function logout (token) {
|
||||
}
|
||||
|
||||
// 获取验证图片 以及token
|
||||
export function getCaptcha (data) {
|
||||
export function getCaptcha(data) {
|
||||
return axios({
|
||||
url: '/captcha/get',
|
||||
method: 'post',
|
||||
@ -58,10 +58,33 @@ export function getCaptcha (data) {
|
||||
}
|
||||
|
||||
// 滑动或者点选验证
|
||||
export function captchaCheck (data) {
|
||||
export function captchaCheck(data) {
|
||||
return axios({
|
||||
url: '/captcha/check',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取扫描登录二维码
|
||||
* @returns {AxiosPromise}
|
||||
*/
|
||||
export function qrCode() {
|
||||
return axios({
|
||||
url: '/wxscan/get',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测是否扫码登录
|
||||
* @param unique
|
||||
* @returns {AxiosPromise}
|
||||
*/
|
||||
export function loginByCode(unique) {
|
||||
return axios({
|
||||
url: '/wxscan/isLogin/' + unique,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
@ -14,8 +14,14 @@ export const defaultRouterMap = [
|
||||
export const constantRouterMap = [
|
||||
{
|
||||
path: '/',
|
||||
name: 'index',
|
||||
redirect: '/dashboard/Analysis' // 默认首页
|
||||
},
|
||||
{
|
||||
path: '/user/loginCode',
|
||||
name: 'loginCode',
|
||||
component: () => import(/* webpackChunkName: "user" */ '@/views/user/LoginCode')
|
||||
},
|
||||
{
|
||||
path: '/user',
|
||||
component: UserLayout,
|
||||
|
@ -10,8 +10,9 @@ import { i18nRender } from '@/locales'
|
||||
|
||||
NProgress.configure({ showSpinner: false }) // NProgress Configuration
|
||||
|
||||
const allowList = ['login', 'register', 'registerResult', 'chart'] // no redirect allowList
|
||||
const loginRoutePath = '/user/login'
|
||||
const allowList = ['login', 'loginCode', 'register', 'registerResult', 'chart'] // no redirect allowList
|
||||
// const loginRoutePath = '/user/login'
|
||||
const loginRoutePath = '/user/loginCode'
|
||||
const defaultRoutePath = '/dashboard/Analysis' // 登录跳转
|
||||
|
||||
|
||||
|
@ -71,8 +71,9 @@
|
||||
<a-col :span='18'>
|
||||
<a-card title='会议日历' bodyStyle='height: 780px'>
|
||||
<a-calendar :header-render='headerRender' @select="onSelect">
|
||||
<ul slot='dateCellRender' slot-scope='value' class='c_meeting' style='padding: 0'>
|
||||
<a-popover @click.stop='return false' :title='item.title' v-for='item in getListData(value)'>
|
||||
<ul slot='dateCellRender' slot-scope='value' class='c_meeting' style='padding: 0;text-align: center; font-size: 24px;font-weight: 700; margin-top: 10px'>
|
||||
{{getListData(value).length == 0 ? '' : getListData(value).length}}
|
||||
<a-popover style='display: none' @click.stop='showMeeting(item.id)' :title='item.title' v-for='item in getListData(value)'>
|
||||
<template slot='content'>
|
||||
<div>预约部门:{{ item.org }}</div>
|
||||
<div>会议时间:{{ item.time }}</div>
|
||||
@ -181,6 +182,7 @@
|
||||
</a-card>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<RoomOrderDetail-modal ref='detailModal' />
|
||||
</div>
|
||||
</template>
|
||||
<style>
|
||||
@ -230,6 +232,7 @@
|
||||
import * as echarts from 'echarts'
|
||||
import moment from 'moment'
|
||||
import { STable } from '@/components'
|
||||
import RoomOrderDetailModal from '@/views/admin/meeting/modules/RoomOrderDetailModal.vue'
|
||||
|
||||
import {
|
||||
getNum,
|
||||
@ -239,10 +242,10 @@ import {
|
||||
getChartData
|
||||
} from '@/api/admin/meeting/count'
|
||||
|
||||
|
||||
export default {
|
||||
name: 'MeetingCount',
|
||||
components: {
|
||||
RoomOrderDetailModal,
|
||||
STable
|
||||
},
|
||||
data() {
|
||||
@ -428,6 +431,9 @@ export default {
|
||||
this.nowMonthEnd = dateStringArr[1]
|
||||
this.getChartCount()
|
||||
},
|
||||
showMeeting(rId) {
|
||||
this.$refs.detailModal.show(rId)
|
||||
},
|
||||
/**
|
||||
* 获取统计图数据
|
||||
*/
|
||||
@ -444,6 +450,10 @@ export default {
|
||||
let chartUse = echarts.init(document.getElementById('chartUse'))
|
||||
let useData = data.roomRank
|
||||
let chartUseOp = {
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: '{b}<br />会议场次 : {c} 次'
|
||||
},
|
||||
yAxis: {
|
||||
type: 'category',
|
||||
data: useData.y
|
||||
@ -596,6 +606,10 @@ export default {
|
||||
let chartDep = echarts.init(document.getElementById('chartDep'))
|
||||
let depData = data.orgMeeting
|
||||
let chartDepOp = {
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: '{b}<br />会议场次 : {c} 次'
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: depData.x
|
||||
@ -630,6 +644,10 @@ export default {
|
||||
let chartMeeting = echarts.init(document.getElementById('chartMeeting'))
|
||||
let meetingData = data.everyDay
|
||||
let chartMeetingOp = {
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: '{b}<br />会议场次 : {c} 次'
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
|
@ -33,6 +33,20 @@
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md='5' :sm='15'>
|
||||
<a-form-item label='会议室'>
|
||||
<a-select v-model='queryParam.name' show-search>
|
||||
<a-select-option value=''>
|
||||
所有会议室
|
||||
</a-select-option>
|
||||
<a-select-opt-group v-for='item in roomList' :label="item.name">
|
||||
<a-select-option v-for='room in item.list' :value='room.name'>
|
||||
{{room.name}}
|
||||
</a-select-option>
|
||||
</a-select-opt-group>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md='5' :sm='15'>
|
||||
<a-form-item label='会议名称'>
|
||||
<a-input placeholder='请输入会议名称' v-model='queryParam.title' />
|
||||
@ -63,6 +77,18 @@
|
||||
<a-date-picker v-model='queryParam.chooseDate' @change='res => this.$forceUpdate()' />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md='5' :sm='15'>
|
||||
<a-form-item label='排序形式'>
|
||||
<a-select v-model='queryParam.sort'>
|
||||
<a-select-option value=''>
|
||||
会议开始时间
|
||||
</a-select-option>
|
||||
<a-select-option value='create'>
|
||||
创建时间
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md='8' :sm='24'>
|
||||
<span class='table-page-search-submitButtons'>
|
||||
<a-button type='primary' @click='$refs.table.refresh(true)'>查询</a-button>
|
||||
@ -71,7 +97,6 @@
|
||||
@click='exportOrderList'>导出会议日程</a-button>
|
||||
<a-button v-if='isAdmin' type='danger' style='margin-left: 8px'
|
||||
@click='exportMonthOrder'>导出月度汇总</a-button>
|
||||
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
@ -168,7 +193,7 @@ import {
|
||||
cancelOrder,
|
||||
approveOrder,
|
||||
expMRByDate,
|
||||
expMRByMonth
|
||||
expMRByMonth, getAllRoom
|
||||
} from '@/api/admin/meeting/meetingReservation'
|
||||
import { checkPermission } from '@/utils/permissions'
|
||||
|
||||
@ -202,7 +227,9 @@ export default {
|
||||
advanced: false,
|
||||
// 查询参数
|
||||
queryParam: {
|
||||
status: ''
|
||||
status: '',
|
||||
sort: '',
|
||||
name: ''
|
||||
},
|
||||
// 表头
|
||||
columns: [
|
||||
@ -348,6 +375,7 @@ export default {
|
||||
showRejectReason: false,
|
||||
rejectReason: '',
|
||||
rejectId: '',
|
||||
roomList: [],
|
||||
isAdmin: checkPermission('meeting:admin')
|
||||
}
|
||||
},
|
||||
@ -374,7 +402,7 @@ export default {
|
||||
this.$router.replace({ query })
|
||||
},
|
||||
mounted() {
|
||||
|
||||
this.getAllRoomList()
|
||||
},
|
||||
methods: {
|
||||
reset() {
|
||||
@ -553,7 +581,33 @@ export default {
|
||||
document.body.appendChild(link)
|
||||
link.click()
|
||||
document.body.removeChild(link)
|
||||
}
|
||||
},
|
||||
getAllRoomList() {
|
||||
let param = {
|
||||
min: 1, // 最小容纳人数
|
||||
max: 1000, // 最大容纳人数
|
||||
timeFormat: 1,
|
||||
mrdate: moment().format('YYYY-MM-DD')
|
||||
}
|
||||
getAllRoom(param).then(res => {
|
||||
const roomArr = {}
|
||||
const valueObj = res.data
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
for (const key in valueObj) {
|
||||
const eachObj = valueObj[key]
|
||||
if (eachObj['floorId'] in roomArr) {
|
||||
} else {
|
||||
roomArr[eachObj['floorId']] = {
|
||||
name: eachObj['floor'],
|
||||
list: []
|
||||
}
|
||||
}
|
||||
roomArr[eachObj['floorId']]['list'].push(eachObj)
|
||||
}
|
||||
this.roomList = roomArr
|
||||
console.log(this.roomList)
|
||||
})
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
/*
|
||||
|
@ -81,7 +81,7 @@
|
||||
<a-col :span='10'>
|
||||
<a-form-item label='参会领导' :labelCol='labelCol' :wrapperCol='wrapperCol'>
|
||||
<a-input placeholder='参会领导'
|
||||
v-decorator="['leader',{rules: [{ required: true, message: '输入参会领导' }]}]" />
|
||||
v-decorator="['leader']" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span='10'>
|
||||
|
70
src/views/user/LoginCode.vue
Normal file
70
src/views/user/LoginCode.vue
Normal file
@ -0,0 +1,70 @@
|
||||
<template>
|
||||
<div class='main' style='text-align: center'>
|
||||
<vue-qr
|
||||
:text="loginUrl"
|
||||
:size="250"
|
||||
></vue-qr>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
import md5 from 'md5'
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
import { loginByCode, qrCode } from '@/api/login'
|
||||
import storage from 'store'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import { timeFix } from '@/utils/util'
|
||||
import VueQr from "vue-qr"
|
||||
|
||||
export default {
|
||||
components: {
|
||||
VueQr
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loginUrl: '',
|
||||
unique: '',
|
||||
isLogin: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
},
|
||||
mounted() {
|
||||
this.getLoginUrl()
|
||||
},
|
||||
beforeDestroy() {
|
||||
clearInterval(this.intervalId)
|
||||
},
|
||||
methods: {
|
||||
getLoginUrl() {
|
||||
qrCode().then(res => {
|
||||
if (res.code === 0) {
|
||||
this.loginUrl = res.url
|
||||
this.unique = res.unique
|
||||
this.intervalId = setInterval(this.checkLogin, 1000)
|
||||
} else {
|
||||
this.$message.error(res.msg)
|
||||
}
|
||||
})
|
||||
},
|
||||
checkLogin() {
|
||||
loginByCode(this.unique).then(res => {
|
||||
if (res.code == 0) {
|
||||
// 扫码成功
|
||||
clearInterval(this.intervalId)
|
||||
console.log('登录成功!')
|
||||
storage.set(ACCESS_TOKEN, res.token, 14 * 24 * 60 * 60 * 1000) // 14天过期
|
||||
this.$router.push({ name: 'index' }, () => { // 登录跳转
|
||||
this.$notification.success({
|
||||
message: '欢迎',
|
||||
description: `${timeFix()},欢迎回来`
|
||||
})
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
78
yarn.lock
78
yarn.lock
@ -3730,6 +3730,13 @@ brace-expansion@^1.1.7:
|
||||
balanced-match "^1.0.0"
|
||||
concat-map "0.0.1"
|
||||
|
||||
brace-expansion@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
|
||||
integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
|
||||
dependencies:
|
||||
balanced-match "^1.0.0"
|
||||
|
||||
braces@^2.3.1, braces@^2.3.2:
|
||||
version "2.3.2"
|
||||
resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
|
||||
@ -5214,6 +5221,13 @@ decode-uri-component@^0.2.0:
|
||||
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
|
||||
integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
|
||||
|
||||
decompress-response@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
|
||||
integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
|
||||
dependencies:
|
||||
mimic-response "^3.1.0"
|
||||
|
||||
deep-equal@^1.0.1, deep-equal@~1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
|
||||
@ -6696,6 +6710,17 @@ glob@^7.1.4:
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glob@^8.0.1:
|
||||
version "8.1.0"
|
||||
resolved "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e"
|
||||
integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==
|
||||
dependencies:
|
||||
fs.realpath "^1.0.0"
|
||||
inflight "^1.0.4"
|
||||
inherits "2"
|
||||
minimatch "^5.0.1"
|
||||
once "^1.3.0"
|
||||
|
||||
globals@^11.1.0, globals@^11.7.0:
|
||||
version "11.11.0"
|
||||
resolved "https://registry.yarnpkg.com/globals/-/globals-11.11.0.tgz#dcf93757fa2de5486fbeed7118538adf789e9c2e"
|
||||
@ -8143,6 +8168,11 @@ js-beautify@^1.6.12, js-beautify@^1.6.14:
|
||||
mkdirp "~0.5.0"
|
||||
nopt "~4.0.1"
|
||||
|
||||
js-binary-schema-parser@^2.0.2:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.npmmirror.com/js-binary-schema-parser/-/js-binary-schema-parser-2.0.3.tgz#3d7848748e8586e63b34e8911b643f59cfb6396e"
|
||||
integrity sha512-xezGJmOb4lk/M1ZZLTR/jaBHQ4gG/lqQnJqdIv4721DMggsa1bDVlHXNeHYogaIEHD9vCRv0fcL4hMA+Coarkg==
|
||||
|
||||
js-cookie@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.0.tgz#1b2c279a6eece380a12168b92485265b35b1effb"
|
||||
@ -8889,6 +8919,11 @@ mimic-fn@^2.1.0:
|
||||
resolved "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
||||
integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=
|
||||
|
||||
mimic-response@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.npmmirror.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
|
||||
integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
|
||||
|
||||
mini-css-extract-plugin@^0.9.0:
|
||||
version "0.9.0"
|
||||
resolved "https://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.9.0.tgz?cache=0&sync_timestamp=1576856580721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e"
|
||||
@ -8916,6 +8951,13 @@ minimatch@^3.0.4:
|
||||
dependencies:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
minimatch@^5.0.1:
|
||||
version "5.1.6"
|
||||
resolved "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
|
||||
integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
|
||||
dependencies:
|
||||
brace-expansion "^2.0.1"
|
||||
|
||||
minimist@0.0.8:
|
||||
version "0.0.8"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
|
||||
@ -9767,6 +9809,11 @@ parent-module@^1.0.0:
|
||||
dependencies:
|
||||
callsites "^3.0.0"
|
||||
|
||||
parenthesis@^3.1.5:
|
||||
version "3.1.8"
|
||||
resolved "https://registry.npmmirror.com/parenthesis/-/parenthesis-3.1.8.tgz#3457fccb8f05db27572b841dad9d2630b912f125"
|
||||
integrity sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==
|
||||
|
||||
parse-asn1@^5.0.0:
|
||||
version "5.1.4"
|
||||
resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc"
|
||||
@ -11491,6 +11538,20 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
|
||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
|
||||
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
|
||||
|
||||
simple-concat@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.npmmirror.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
|
||||
integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
|
||||
|
||||
simple-get@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.npmmirror.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543"
|
||||
integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==
|
||||
dependencies:
|
||||
decompress-response "^6.0.0"
|
||||
once "^1.3.1"
|
||||
simple-concat "^1.0.0"
|
||||
|
||||
simple-statistics@~6.1.0:
|
||||
version "6.1.1"
|
||||
resolved "https://registry.yarnpkg.com/simple-statistics/-/simple-statistics-6.1.1.tgz#e3a0799ffc49914d6f421c5a4ac585f6a13e2bad"
|
||||
@ -11842,6 +11903,13 @@ string-length@^3.1.0:
|
||||
astral-regex "^1.0.0"
|
||||
strip-ansi "^5.2.0"
|
||||
|
||||
string-split-by@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmmirror.com/string-split-by/-/string-split-by-1.0.0.tgz#53895fb3397ebc60adab1f1e3a131f5372586812"
|
||||
integrity sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==
|
||||
dependencies:
|
||||
parenthesis "^3.1.5"
|
||||
|
||||
string-width@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
|
||||
@ -12812,6 +12880,16 @@ vue-loader@^15.8.3:
|
||||
vue-hot-reload-api "^2.3.0"
|
||||
vue-style-loader "^4.1.0"
|
||||
|
||||
vue-qr@^4.0.9:
|
||||
version "4.0.9"
|
||||
resolved "https://registry.npmmirror.com/vue-qr/-/vue-qr-4.0.9.tgz#6cb965dd0c5a0dff947e6ef582ef149b0780b986"
|
||||
integrity sha512-pAISV94T0MNEYA3NGjykUpsXRE2QfaNxlu9ZhEL6CERgqNc21hJYuP3hRVzAWfBQlgO18DPmZTbrFerJC3+Ikw==
|
||||
dependencies:
|
||||
glob "^8.0.1"
|
||||
js-binary-schema-parser "^2.0.2"
|
||||
simple-get "^4.0.1"
|
||||
string-split-by "^1.0.0"
|
||||
|
||||
vue-quill-editor@^3.0.6:
|
||||
version "3.0.6"
|
||||
resolved "https://registry.npm.taobao.org/vue-quill-editor/download/vue-quill-editor-3.0.6.tgz#1f85646211d68a31a80a72cb7f45bb2f119bc8fb"
|
||||
|
Loading…
x
Reference in New Issue
Block a user