This commit is contained in:
zmj 2023-10-19 14:47:05 +08:00
commit d1676f26d9
8 changed files with 1161 additions and 405 deletions

22
src/api/talk.ts Normal file
View File

@ -0,0 +1,22 @@
import request from "@/utils/request/indexs";
/**
* scoket
*/
export const bindScoket = (data: any) =>
request.post({ url: "/common/im/doBindUid", data });
// 发送消息
export const sendMsgApi = (data: any) =>
request.post({ url: "/common/im/sendTextMsg", data });
// 发送文件
export const sendFileApi = (data: any) =>
request.post({ url: "/common/im/sendFileMsg", data });
// 消息列表
export const getMsgListApi = (data: any) =>
request.post({ url: "/common/im/msgList", data });
// 片区经理id
export const getAreaManagerApi = (data: any) =>
request.post({ url: "/common/im/getAreaManager", data });
// 联系人列表
export const getContactListApi = (data: any) =>
request.post({ url: "/common/im/contactList", data });

BIN
src/assets/images/SP.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

BIN
src/assets/images/XC.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

131
src/utils/request/indexs.ts Normal file
View File

@ -0,0 +1,131 @@
import { merge } from "lodash";
import configs from "@/config";
import { Axios } from "./axios";
import {
ContentTypeEnum,
RequestCodeEnum,
RequestMethodsEnum,
} from "@/enums/requestEnums";
import type { AxiosHooks } from "./type";
import { clearAuthInfo, getToken } from "../auth";
import feedback from "../feedback";
import NProgress from "nprogress";
import { AxiosError, type AxiosRequestConfig } from "axios";
import router from "@/router";
import { PageEnum } from "@/enums/pageEnum";
// 处理axios的钩子函数
const axiosHooks: AxiosHooks = {
requestInterceptorsHook(config) {
NProgress.start();
const { withToken, isParamsToData } = config.requestOptions;
const params = config.params || {};
const headers = config.headers || {};
// 添加token
if (withToken) {
const token = getToken();
headers.token = token;
}
// POST请求下如果无data则将params视为data
if (
isParamsToData &&
!Reflect.has(config, "data") &&
config.method?.toUpperCase() === RequestMethodsEnum.POST
) {
config.data = params;
config.params = {};
}
config.headers = headers;
return config;
},
requestInterceptorsCatchHook(err) {
NProgress.done();
return err;
},
async responseInterceptorsHook(response) {
NProgress.done();
const { isTransformResponse, isReturnDefaultResponse } =
response.config.requestOptions;
//返回默认响应,当需要获取响应头及其他数据时可使用
if (isReturnDefaultResponse) {
return response;
}
// 是否需要对数据进行处理
if (!isTransformResponse) {
return response.data;
}
const { code, data, show, msg } = response.data;
switch (code) {
case RequestCodeEnum.SUCCESS:
if (show) {
msg && feedback.msgSuccess(msg);
}
return data;
case RequestCodeEnum.FAIL:
if (show) {
msg && feedback.msgError(msg);
}
return Promise.reject(data);
case RequestCodeEnum.LOGIN_FAILURE:
clearAuthInfo();
router.push(PageEnum.LOGIN);
return Promise.reject();
case RequestCodeEnum.OPEN_NEW_PAGE:
window.location.href = data.url;
return data;
default:
return data;
}
},
responseInterceptorsCatchHook(error) {
NProgress.done();
if (error.code !== AxiosError.ERR_CANCELED) {
error.message && feedback.msgError(error.message);
}
return Promise.reject(error);
},
};
const defaultOptions: AxiosRequestConfig = {
//接口超时时间
timeout: configs.timeout,
// 基础接口地
baseURL: configs.baseUrl,
// baseURL: "http://192.168.1.11:8081/",
//请求头
headers: { "Content-Type": ContentTypeEnum.JSON, version: configs.version },
// 处理 axios的钩子函数
axiosHooks: axiosHooks,
// 每个接口可以单独配置
requestOptions: {
// 是否将params视为data参数仅限post请求
isParamsToData: true,
//是否返回默认的响应
isReturnDefaultResponse: false,
// 需要对返回数据进行处理
isTransformResponse: true,
// 接口拼接地址
urlPrefix: "",
// 忽略重复请求
ignoreCancelToken: false,
// 是否携带token
withToken: true,
// 开启请求超时重新发起请求请求机制
isOpenRetry: true,
// 重新请求次数
retryCount: 2,
},
};
function createAxios(opt?: Partial<AxiosRequestConfig>) {
return new Axios(
// 深度合并
merge(defaultOptions, opt || {})
);
}
const request = createAxios();
export default request;

View File

@ -0,0 +1,686 @@
<template>
<div class="box">
<div class="talk-list">
<div class="mt-4 serch">
<el-input v-model="queryUserName" placeholder="搜索联系人" class="input-with-select">
<template #append>
<el-button :icon="Search" @click="serchUserFn" />
</template>
</el-input>
</div>
<div style="height: 5vh;"></div>
<div class="contacts" v-for="(item, index) in userList" :key="index" @click="choseTalkFn(item, index)">
<div class="l">
<div style="position: relative;">
<el-image style="width: 40px; height: 40px" :src="item.avatar" />
<div class="brage" v-if="item.no_read_num">{{ item.no_read_num }}</div>
</div>
<div class="tit-a">
<div>{{ item.name }}</div>
<div v-if="item.last_msg_type == 'text'" class="value">{{ item.last_msg_content }}</div>
<div v-if="item.last_msg_type == 'image'" class="value">[图片]</div>
<div v-if="item.last_msg_type == 'video'" class="value">[视频]</div>
</div>
</div>
<div class="r">
{{ timeFn(item.last_msg_time) }}
</div>
</div>
</div>
<div class="talk-detail" id="content">
<div class="top">
{{ talkDetail.name }}
</div>
<div style="height: 4vh"></div>
<div class="center" id="center" @scroll="handleScroll">
<div class="talk" v-for="(item, index) in talkDetail.talkList" :key="index">
<div style="text-align: center;" v-show="index % 5 == 0">{{ timeFn(item.create_time) }}</div>
<!-- 我的消息 -->
<div class="my_task" v-if="item.from_user_id == user_id">
<div class="content">
<!-- 文本 -->
<div v-if="item.type == 'text'">
<a :href="item.content" v-if="isLink(item.content)" target="_blank"
style="color: #576B95;">{{
item.content }}
</a>
<div v-else> {{ item.content }}</div>
</div>
<!-- 图片 -->
<div v-if="item.type == 'image'">
<el-image style="width: 100px;height: auto;" :src="item.content" :preview-src-list="srcList"
@click="PreviewImgFn(item)"></el-image>
</div>
<!-- 视频 -->
<div v-if="item.type == 'video'">
<video controls :src="item.content"></video>
</div>
</div>
<el-image style="width: 40px; height: 40px" :src="userStore.userInfo.avatar" />
</div>
<!-- 对方消息 -->
<div class="to_task" v-else>
<el-image style="width: 40px; height: 40px;margin-right: 5px;" :src="item.from_user_avatar" />
<div class="content">
<!-- 文本 -->
<div v-if="item.type == 'text'">
<a :href="item.content" target="_blank" v-if="isLink(item.content)"
style="color: #576B95;">{{
item.content }}
</a>
<div v-else> {{ item.content }}</div>
</div>
<!-- 图片 -->
<div v-if="item.type == 'image'">
<el-image style="width: 100px;height: auto;" :src="item.content" :preview-src-list="srcList"
@click="PreviewImgFn(item)"></el-image>
</div>
<!-- 视频 -->
<div v-if="item.type == 'video'">
<video controls :src="item.content"></video>
</div>
</div>
</div>
</div>
<!-- 本地 -->
<div v-show="item.status" class="my_task" v-for="item, index in local">
<!-- <div></div> -->
<!-- <div >上传中</div> -->
<div class="content" v-loading="true">
<div style="width: 120px;margin-right: 10px;">
<video controls :src="item.localSrc" v-if="item.type == 'video'"></video>
<img controls :src="item.localSrc" v-else />
</div>
<!-- <el-progress :text-inside="true" :stroke-width="14" :percentage="item.percentage" /> -->
</div>
<el-image style="width: 40px; height: 40px;margin-right: 10px;" :src="url" />
</div>
</div>
<div class="bottom">
<div style="display: flex;">
<el-upload :action="base_url + '/common/im/sendFileMsg'" :data="{
from_user_id: user_id,
to_user_id: talkDetail.to_user_id,
scene: 1,
type: 'image',
msg_id: msg_id
}" multiple :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="changeFile">
<img class="img_cls" src="@/assets/images/XC.png" style="width: 50px;height: 50px;" />
</el-upload>
<el-upload :action="base_url + '/common/im/sendFileMsg'" :data="{
from_user_id: user_id,
to_user_id: talkDetail.to_user_id,
scene: 1,
type: 'video',
msg_id: msg_id
}" multiple :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="changeFile1">
<img style="width: 50px; height: 50px" src="@/assets/images/SP.png" />
</el-upload>
</div>
<el-input v-model="textarea" style="border: none;outline: none;" placeholder="请输入..."
@keydown="keyup_submit(event)" />
<div class="send-btn" @click="sendMsgFn">发送</div>
</div>
<!-- <div style="height: 30vh;"></div> -->
</div>
</div>
</template>
<script lang="ts" scoped setup>
import { reactive, ref, onBeforeUnmount } from 'vue';
import { Search } from '@element-plus/icons-vue'
import feedback from '@/utils/feedback'
import {
sendMsgApi, getMsgListApi, bindScoket, sendFileApi, getContactListApi
} from "@/api/talk"
import { ElMessage } from 'element-plus'
import useUserStore from "@/stores/modules/user";
import { inject } from "vue";
const base_url: any = inject("base_url").replace('adminapi', '');
const userStore = useUserStore();
const user_id = userStore.userInfo.id
let page_no = 1
let to_id: any = null
//
const srcList: any = reactive(
[]
)
const PreviewImgFn = (item: any) => {
srcList[0] = item.content
}
//
const handleScroll = (e) => {
let top = e.target.scrollTop
if (top <= 0) {
page_no++
getMsgListApi({
from_user_id: user_id,
to_user_id: to_id,
scene: 1,
page_no: page_no,
page_size: 10
}).then(res2 => {
if (res2.length <= 0) return
talkDetail.talkList = res2.reverse().concat(talkDetail.talkList)
e.target.scrollTop = 100
})
}
}
let bind = false
//
const userList = reactive([])
let queryList = reactive([])
const talkDetail = reactive({
name: "",
to_user_id: "",
talkList: [],
index: 0,
})
getContactListApi({ user_id: user_id }).then(res => {
res.forEach((element: any) => {
userList.push(element)
queryList.push(element)
});
// queryList = userList
console.log(queryList, 6666)
talkDetail.name = userList[0].name
talkDetail.to_user_id = userList[0].id
to_id = userList[0].id
getMsgListApi({
from_user_id: user_id,
to_user_id: userList[0].id,
scene: 1,
page_no: 1,
page_size: 10
}).then(res2 => {
talkDetail.talkList = res2.reverse()
// console.log(talkDetail)
})
})
const url = 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'
//
const queryUserName = ref('')
const serchUserFn = () => {
getContactListApi({ user_id: user_id, keywords: queryUserName.value }).then(res => {
userList.splice(0, userList.length);
res.forEach((element: any) => {
// @ts-ignore
userList.push(element)
// queryList.push(element)
});
})
}
//
const isLink = (text: string) => {
var pattern = /^(https?:\/\/|www\.|.*\.com).*$/i;
return pattern.test(text);
}
const textarea = ref("")
const sendMsgFn = () => {
if (!textarea.value) return
sendMsgApi({
from_user_id: user_id,
to_user_id: talkDetail.to_user_id,
type: "text",
content: textarea.value,
scene: 1,
msg_id: msg_id.value
}).then(res => {
talkDetail.talkList.push(res)
userList[talkDetail.index].last_msg_content = textarea.value
userList[talkDetail.index].last_msg_time = res.create_time
userList[talkDetail.index].last_msg_type = 'text'
// userList[talkDetail.index].last_msg_content = textarea.value
scrollFn()
textarea.value = ""
generateRandId()
})
}
const keyup_submit = (evt: any) => {
var evt = window.event || evt;
if (evt.keyCode == 13) {
sendMsgFn()
}
}
//
let msg_id: any = ref('')
const generateRandId = () => {
var d = new Date().getTime();
var uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
var r = (d + Math.random() * 16) % 16 | 0;
d = Math.floor(d / 16);
return (c == "x" ? r : r & 0x3 | 0x8).toString(16);
});
// return uuid;
msg_id.value = uuid
}
generateRandId()
const local = reactive([])
let localData = () => {
return {
status: false,
localType: null,
localSrc: null,
type: "",
percentage: 0,
msg_id: msg_id.value
}
}
const changeFile = (res) => {
console.log(res.type)
if (!res.type.includes('image')) {
ElMessage.error('请选择正确的图片格式!!')
return false
}
local.push(localData())
let type = 'image'
var localIndex = local.findIndex(function (element) {
return element.msg_id === msg_id.value;
});
// userList[talkDetail.index].last_msg_type = type
let file = res
local[localIndex].type = type
const blob = file;
var reader = new FileReader();
reader.readAsDataURL(blob);
//
reader.onloadend = function (e) {
local[localIndex].status = true
local[localIndex].localSrc = e.target?.result
scrollFn()
generateRandId()
};
}
const changeFile1 = (res) => {
if (!res.type.includes('video')) {
ElMessage.error('请选择正确的视频格式!!')
return false
}
local.push(localData())
let type = 'video'
var localIndex = local.findIndex(function (element) {
return element.msg_id === msg_id.value;
});
// userList[talkDetail.index].last_msg_type = type
let file = res
local[localIndex].type = type
const blob = file;
var reader = new FileReader();
reader.readAsDataURL(blob);
//
reader.onloadend = function (e) {
local[localIndex].status = true
local[localIndex].localSrc = e.target?.result
scrollFn()
generateRandId()
};
}
const handleAvatarSuccess: any = (
res: any
) => {
if (res.show == 0) {
talkDetail.talkList.push(res.data)
}
else {
feedback.msgError(res.msg)
}
var localIndex = local.findIndex(function (element) {
return element.msg_id === res.data.msg_id;
});
local[localIndex].status = false
userList[talkDetail.index].last_msg_type = res.data.type
console.log(res.data)
}
//
const choseTalkFn = (item: any, index: number) => {
userList[index].no_read_num = 0
talkDetail.name = item.name
talkDetail.to_user_id = item.id
talkDetail.index = index
to_id = item.id
getMsgListApi({
from_user_id: user_id,
to_user_id: item.id,
scene: 1,
page_no: 1,
page_size: 10
}).then(res2 => {
talkDetail.talkList = res2.reverse()
scrollFn()
})
}
//
let scrollTop: any = null
onMounted(() => {
scrollTop = document.getElementById('center')
})
const scrollFn = () => {
setTimeout(() => {
scrollTop.scrollTop = 9999999
}, 100)
}
//
const timeFn = (time) => {
const currentDate = new Date(); //
const targetDate = new Date(time * 1000);
if (isSameDay(currentDate, targetDate)) {
const hours = targetDate.getHours(); //
const minutes = targetDate.getMinutes(); //
return hours + ':' + (minutes < 10 ? '0' + minutes : minutes);
} else if (isYesterday(currentDate, targetDate)) {
return '昨天';
}
const month = targetDate.getMonth() + 1; // 01
const day = targetDate.getDate(); //
return month + '月' + day + '日';
}
const isSameDay = (date1, date2) => {
return (
date1.getFullYear() === date2.getFullYear() &&
date1.getMonth() === date2.getMonth() &&
date1.getDate() === date2.getDate()
);
}
const isYesterday = (currentDate, targetDate) => {
const yesterday = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate() - 1);
return isSameDay(yesterday, targetDate);
}
// scoket
const socket = new WebSocket('wss://worker-task.lihaink.cn/wss');
const onSocketOpen = (event: any) => {
console.log('WebSocket连接已打开');
}
const onSocketMessage = (event: any) => {
let data = JSON.parse(event.data)
if (!bind) {
let client_id = (JSON.parse(event.data).client_id)
bindScoket({
client_id: client_id,
user_id: user_id,
scene: 1,
}).then(res => {
bind = true
console.log('绑定成功')
})
}
else if (data.id) {
var index = userList.findIndex(function (element) {
return element.id == data.from_user_id;
});
// talkDetail.talkList.push(data)
if (data.from_user_id == talkDetail.to_user_id) {
console.log(data, "收到scoket消息")
talkDetail.talkList.push(data)
userList[index].last_msg_content = data.content
userList[index].last_msg_time = data.create_time
userList[index].last_msg_type = data.type
scrollFn()
} else {
userList[index].no_read_num++
userList[index].last_msg_content = data.content
userList[index].last_msg_time = data.create_time
userList[index].last_msg_type = data.type
// userList.forEach
}
}
console.log(data)
}
const onSocketClose = (event: any) => {
console.log('WebSocket连接已关闭');
}
const onSocketError = (event: any) => {
console.error('WebSocket连接发生错误');
}
socket.addEventListener('open', onSocketOpen);
socket.addEventListener('message', onSocketMessage);
socket.addEventListener('close', onSocketClose);
socket.addEventListener('error', onSocketError);
onBeforeUnmount(() => {
socket.close()
})
</script>
<style lang="scss" scoped>
:deep(.el-input__wrapper) {
box-shadow: none !important;
// border-bottom: 1px solid black;
border-radius: 0;
}
.box {
display: flex;
.serch {
background-color: #F6F6F6;
position: fixed;
top: 9vh;
width: 17vw;
z-index: 99;
padding-left: 10px;
padding-top: 10px;
}
.talk-list {
width: 20vw;
overflow: hidden;
height: 85vh;
position: relative;
// background-color: #fff;
cursor: pointer;
.contacts {
// margin-bottom: 10px;
// background-color: red;
padding: 10px;
display: flex;
justify-content: space-between;
.l {
display: flex;
.tit-a {
margin-left: 10px;
display: flex;
flex-direction: column;
justify-content: space-around;
.value {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 8vw;
}
}
}
}
}
.contacts:active {
background-color: #fff;
}
.contacts:hover {
background-color: #fff;
}
.talk-list::-webkit-scrollbar {
width: 2px;
/* 滚动条宽度 */
}
.talk-list::-webkit-scrollbar-thumb {
background-color: #888;
/* 滚动条颜色 */
border-radius: 1px;
/* 滚动条圆角 */
}
.img_cls {
margin-right: 10PX;
margin-bottom: 10PX;
cursor: pointer;
}
.talk-list:hover {
// background-color: #888;
overflow: scroll;
}
.talk-detail {
width: 80vw;
height: 85vh;
.top {
position: fixed;
height: 4vh;
width: 70vw;
box-sizing: border-box;
padding: 10px;
background-color: #fff;
z-index: 9;
border-bottom: 1px solid #EAE8E7;
}
.center {
height: 65vh;
overflow-y: scroll;
background-color: #fff;
}
.bottom {
position: fixed;
background-color: white;
height: 20vh;
border-top: 1px solid #EAE8E7;
width: 70vw;
box-sizing: border-box;
// padding-top: 10px;
padding: 10px;
}
// overflow: scroll;
}
.center::-webkit-scrollbar {
width: 2px;
/* 滚动条宽度 */
}
.center::-webkit-scrollbar-thumb {
background-color: #888;
/* 滚动条颜色 */
border-radius: 5px;
/* 滚动条圆角 */
}
.talk {
// height: 4vh;
// background-color: #fff;
padding: 10px;
margin-bottom: 10px;
}
.send-btn {
width: 50px;
height: 30px;
background-color: green;
color: white;
line-height: 30px;
text-align: center;
border-radius: 5px;
float: right;
margin-top: 5px;
cursor: pointer;
}
.send-btn:active {
background-color: yellowgreen;
}
.my_task {
display: flex;
justify-content: flex-end;
.content {
background-color: #95EC69;
border-radius: 5px;
// height: 30px;
padding: 5px;
// height: 40px;
// min-height: 40px;
margin-right: 5px;
line-height: 30px;
max-width: 20vw;
// overflow: hidden;
word-break: break-all;
overflow-wrap: break-word;
}
}
.to_task {
display: flex;
// justify-content: flex-end;
.content {
background-color: #95EC69;
border-radius: 5px;
// height: 30px;
padding: 5px 10px;
// height: 40px;
// min-height: 40px;
margin-right: 5px;
line-height: 30px;
max-width: 20vw;
word-break: break-all;
overflow-wrap: break-word;
}
}
.brage {
background-color: red;
color: white;
width: 16px;
height: 16px;
border-radius: 16px;
text-align: center;
line-height: 16px;
position: absolute;
font-size: 12px;
top: -8px;
right: -5px;
}
}
</style>

View File

@ -99,15 +99,15 @@
<el-col :span="24" class="el-card pt-6" v-if="formData.cars_info">
<div class="tit">租赁信息</div>
<div>
<el-row>
<el-row v-for="(item,index) in formData.cars_info" :key="index">
<el-col :span="4">
<el-form-item label-width="120px" label="车牌号"><el-input v-model="formData.cars_info.license"
<el-form-item label-width="120px" label="车牌号"><el-input v-model="item.license"
placeholder="请输入车牌号" clearable :style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label-width="120px" label="车辆类型">
<el-input v-model="formData.type" placeholder="请输入车辆类型" clearable
<el-input v-model="item.type" placeholder="请输入车辆类型" clearable
:style="{ width: '100%' }"></el-input></el-form-item>
</el-col>
<el-col :span="6">
@ -117,7 +117,7 @@
</el-col>
<el-col :span="6">
<el-form-item label-width="120px" label="签约时间">
<el-input v-model="formData.update_time" placeholder="请输入签约时间" clearable
<el-input v-model="item.rent_time" placeholder="请输入签约时间" clearable
:style="{ width: '100%' }"></el-input></el-form-item>
</el-col>
</el-row>
@ -127,9 +127,9 @@
<!-- 小组公司申请车辆 -->
<!-- {{ formData.contract_logistic_id }}
{{ formData.type }} -->
<div v-if="formData.contract_logistic_id && formData.type == '租赁车辆'" class="el-card pt-6">
<div v-if="formData.contract_logistic_id && formData.type == 0 && formData.status==0" class="el-card pt-6">
<div class="tit">租赁信息</div>
<div style="padding: 0 2vw">
<el-checkbox-group :max="formData.num" v-model="checkList" @change="handChangeFn">
<el-checkbox :label="item.license" v-for="(item, index) in formData.car_list" :key="index" />
@ -176,10 +176,16 @@ const formData = reactive({
company_b_code: "",
company_b_email: "@service.ebaoquan.org",
num: "",
cars_info: {
cars_info:
[
{
id: "",
license: "",
},
type:"",
rent_time:""
}
]
,
car_list: [],
type: 0,
status: 0,
@ -204,6 +210,11 @@ const handChangeFn = (e) => {
});
});
};
const typeFn=(type)=>{
if(type==0)return"租赁车辆"
if(type==1)return"自有车辆"
if(type==2)return"购买车辆"
}
const test = () => {
window.open(formData.file, "_blank");
};
@ -211,7 +222,10 @@ leaseContractDetail({ id: route.query.id }).then((res) => {
for (let key in formData) {
formData[key] = res[key];
}
formData.type ? (formData.type = "自有车辆") : (formData.type = "租赁车辆");
// formData.type ? (formData.type = "") : (formData.type = "");
formData.cars_info.forEach(item=>{
item.type=typeFn(item.type)
})
});
const handleAvatarSuccess_three = (response, uploadFile) => {

View File

@ -1,161 +1,80 @@
<template>
<div>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
<el-form class="mb-[-16px]" inline>
<el-form-item label="公司名称" prop="company_name">
<el-input
class="w-[280px]"
v-model="queryParams.company_name"
clearable
placeholder="请输入公司名称"
/>
</el-form-item>
<el-form-item label="合同编号" prop="contract_no">
<el-input
class="w-[280px]"
v-model="queryParams.contract_no"
clearable
placeholder="请输入合同编号"
/> </el-form-item
><el-form-item label="合同状态" prop="status">
<el-select
v-model="queryParams.status"
placeholder="请选择合同类型"
clearable
class="w-[280px]"
>
<el-option label="未上传" :value="0"></el-option>
<el-option label="已上传" :value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-form>
<div class="mt-4">
<el-table
:data="pager.lists"
:default-sort="{ prop: 'create_time', order: 'descending' }"
@selection-change="handleSelectionChange"
>
<el-table-column label="id" prop="id" />
<el-table-column label="合同类型" align="center">
<template #default="{ row }">
{{ typeFn(row.type) }}
</template>
</el-table-column>
<el-table-column
label="合同编号"
prop="contract_no"
align="center"
show-overflow-tooltip
/>
<el-table-column
label="甲方"
prop="company_a_name"
align="center"
show-overflow-tooltip
/>
<el-table-column
label="乙方"
prop="company_b_name"
align="center"
show-overflow-tooltip
/>
<el-table-column
label="类型"
prop="product_count"
align="center"
show-overflow-tooltip
>
<template #default="{ row }"> 公司 </template>
</el-table-column>
<el-table-column
label="租车数量(辆)"
prop="num"
align="center"
show-overflow-tooltip
/>
<el-table-column
label="状态"
prop="product_count"
align="center"
show-overflow-tooltip
>
<template #default="{ row }">
<span :style="`color:${statusFn(row.status).color}`">
{{ statusFn(row.status).tit }}</span
>
</template>
</el-table-column>
<el-table-column
label="操作"
align="center"
width="auto"
fixed="right"
>
<template #default="{ row }">
<el-button
type="primary"
link
v-perms="['contract.contract/wind_control']"
v-if="row.status == 0"
>
<router-link
:to="{
path: 'vehicle_detail',
query: {
id: row.id,
},
}"
>审核</router-link
>
</el-button>
<el-button
type="primary"
link
v-perms="['contract.contract/wind_control']"
v-if="row.status > 0"
>
<router-link
:to="{
path: 'vehicle_detail',
query: {
id: row.id,
},
}"
>详情</router-link
>
</el-button>
<el-button
v-if="row.status == 1 && row.contract_logistic_id != 0"
type="primary"
link
@click="sendContractPopFn(row.id)"
>发送合同</el-button
>
<el-button
v-if="row.status == 2"
:disabled="row.nums > 0"
@click="sendAgaintPopFn(row.id)"
link
type="primary"
>重新发送{{ row.nums ? row.nums + "s" : "" }}</el-button
>
<el-button v-if="row.status == 3" type="primary" link>
<a :href="JSON.parse(row.contract_evidence).party_a"
>下载证据</a
>
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="flex mt-4 justify-end">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>
<div>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
<el-form class="mb-[-16px]" inline>
<el-form-item label="公司名称" prop="company_name">
<el-input class="w-[280px]" v-model="queryParams.company_name" clearable placeholder="请输入公司名称" />
</el-form-item>
<el-form-item label="合同编号" prop="contract_no">
<el-input class="w-[280px]" v-model="queryParams.contract_no" clearable placeholder="请输入合同编号" />
</el-form-item><el-form-item label="合同状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择合同类型" clearable class="w-[280px]">
<el-option label="未上传" :value="0"></el-option>
<el-option label="已上传" :value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-form>
<div class="mt-4">
<el-table :data="pager.lists" :default-sort="{ prop: 'create_time', order: 'descending' }"
@selection-change="handleSelectionChange">
<el-table-column label="id" prop="id" />
<el-table-column label="合同类型" align="center">
<template #default="{ row }">
{{ typeFn(row.type) }}
</template>
</el-table-column>
<el-table-column label="合同编号" prop="contract_no" align="center" show-overflow-tooltip />
<el-table-column label="甲方" prop="company_a_name" align="center" show-overflow-tooltip />
<el-table-column label="乙方" prop="company_b_name" align="center" show-overflow-tooltip />
<el-table-column label="类型" prop="product_count" align="center" show-overflow-tooltip>
<template #default="{ row }"> 公司 </template>
</el-table-column>
<el-table-column label="租车数量(辆)" prop="num" align="center" show-overflow-tooltip />
<el-table-column label="状态" prop="product_count" align="center" show-overflow-tooltip>
<template #default="{ row }">
<span :style="`color:${statusFn(row.status).color}`">
{{ statusFn(row.status).tit }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="auto" fixed="right">
<template #default="{ row }">
<el-button type="primary" link v-perms="['contract.contract/wind_control']"
v-if="row.status == 0">
<router-link :to="{
path: 'vehicle_detail',
query: {
id: row.id,
},
}">审核</router-link>
</el-button>
<el-button type="primary" link v-perms="['contract.contract/wind_control']"
v-if="row.status > 0">
<router-link :to="{
path: 'vehicle_detail',
query: {
id: row.id,
},
}">详情</router-link>
</el-button>
<el-button v-if="row.status == 1 " type="primary" link
@click="sendContractPopFn(row.id)">发送合同</el-button>
<el-button v-if="row.status == 2" :disabled="row.nums > 0" @click="sendAgaintPopFn(row.id)" link
type="primary">重新发送{{ row.nums ? row.nums + "s" : "" }}</el-button>
<el-button v-if="row.status == 3" type="primary" link>
<a :href="JSON.parse(row.contract_evidence).party_a">下载证据</a>
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="flex mt-4 justify-end">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>
<el-dialog v-model="showPop" @close="offPop">
<h1>重要提醒</h1>
@ -214,7 +133,7 @@ const timeFn = (i: number) => {
}, 1000);
};
const sendContractPopFn = (id: number) => {
(showPop.value = true), (contractId = id);
(showPop.value = true), (sendAgainPop.value = false), (contractId = id);
};
const sendAgaintPopFn = (id: number) => {
(showPop.value = true), (contractId = id);
@ -259,17 +178,17 @@ const statusFn = (status: number) => {
}
};
const typeFn = (status: number) => {
switch (status) {
case 0:
return "租赁合同";
case 1:
return "自由车辆合同";
case 2:
return "解除合同";
default:
}
switch (status) {
case 0:
return "租赁合同";
case 1:
return "自有车辆合同";
case 2:
return "解除合同";
case 3:
return "购买合同";
default:
}
};
//
const selectData = ref<any[]>([]);

438
yarn.lock
View File

@ -32,7 +32,7 @@
resolved "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.18.8.tgz"
integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==
"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.18.6":
"@babel/core@^7.18.6":
version "7.18.10"
resolved "https://registry.npmmirror.com/@babel/core/-/core-7.18.10.tgz"
integrity sha512-JQM6k6ENcBFKVtWvLavlvi/mPcpYZ3+R+2EySDEMSMbp7Mn4FexlbbJVrx2R7Ijhr01T8gyqrOaABWIOgxeUyw==
@ -210,7 +210,7 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
"@babel/parser@^7.15.8", "@babel/parser@^7.18.10", "@babel/parser@^7.20.15", "@babel/parser@^7.21.3":
"@babel/parser@^7.18.10", "@babel/parser@^7.20.15", "@babel/parser@^7.21.3":
version "7.22.10"
resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.22.10.tgz"
integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==
@ -266,7 +266,7 @@
"@babel/parser" "^7.18.10"
"@babel/types" "^7.18.10"
"@babel/traverse@^7.0.0", "@babel/traverse@^7.15.4", "@babel/traverse@^7.18.10", "@babel/traverse@^7.18.9":
"@babel/traverse@^7.0.0", "@babel/traverse@^7.18.10", "@babel/traverse@^7.18.9":
version "7.18.10"
resolved "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.18.10.tgz"
integrity sha512-J7ycxg0/K9XCtLyHf0cz2DqDihonJeIo+z+HEdRe9YuT8TY4A66i+Ab2/xZCEW7Ro60bPCBBfqqboHSamoV3+g==
@ -301,6 +301,16 @@
resolved "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.6.tgz"
integrity sha512-lPpG8hYkjL/Z97DH5Ei6w6o22Z4YdNglWCNYOPcB33JCF2A4wye6HFgSI7hEt9zdLyxlSpiqtgf9XcYU+m5mew==
"@esbuild/android-arm@0.15.18":
version "0.15.18"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.18.tgz#266d40b8fdcf87962df8af05b76219bc786b4f80"
integrity sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==
"@esbuild/linux-loong64@0.15.18":
version "0.15.18"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz#128b76ecb9be48b60cf5cfc1c63a4f00691a3239"
integrity sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==
"@eslint/eslintrc@^1.3.0":
version "1.3.0"
resolved "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz"
@ -360,16 +370,7 @@
"@jridgewell/set-array" "^1.0.0"
"@jridgewell/sourcemap-codec" "^1.4.10"
"@jridgewell/gen-mapping@^0.3.0":
version "0.3.2"
resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz"
integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
dependencies:
"@jridgewell/set-array" "^1.0.1"
"@jridgewell/sourcemap-codec" "^1.4.10"
"@jridgewell/trace-mapping" "^0.3.9"
"@jridgewell/gen-mapping@^0.3.2":
"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
version "0.3.2"
resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz"
integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
@ -417,7 +418,7 @@
"@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9"
"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
version "2.0.5"
resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
@ -473,7 +474,7 @@
resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.11.tgz"
integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
"@types/lodash-es@*", "@types/lodash-es@^4.17.6":
"@types/lodash-es@^4.17.6":
version "4.17.6"
resolved "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.6.tgz"
integrity sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==
@ -485,7 +486,7 @@
resolved "https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.182.tgz"
integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q==
"@types/node@*", "@types/node@^16.11.41", "@types/node@>= 14":
"@types/node@*", "@types/node@^16.11.41":
version "16.11.47"
resolved "https://registry.npmmirror.com/@types/node/-/node-16.11.47.tgz"
integrity sha512-fpP+jk2zJ4VW66+wAMFoBJlx1bxmBKx4DUFf68UHgdGCOuyUTDlLWqsaNPJh7xhNDykyJ9eIzAygilP/4WoN8g==
@ -595,7 +596,7 @@
"@uppy/utils" "^4.1.0"
namespace-emitter "^2.0.1"
"@uppy/core@^2.0.3", "@uppy/core@^2.1.1", "@uppy/core@^2.1.4", "@uppy/core@^2.3.1":
"@uppy/core@^2.1.1":
version "2.3.2"
resolved "https://registry.npmmirror.com/@uppy/core/-/core-2.3.2.tgz"
integrity sha512-CHNWn5B9trBw28SWO/BQnQzhKne/U5npSnfK9SZfnAL4A/nTFX9jrznBkmS8wulVarDpavfj8+BA9kjzExFBfg==
@ -621,7 +622,7 @@
dependencies:
lodash.throttle "^4.1.1"
"@uppy/xhr-upload@^2.0.3", "@uppy/xhr-upload@^2.0.7":
"@uppy/xhr-upload@^2.0.3":
version "2.1.2"
resolved "https://registry.npmmirror.com/@uppy/xhr-upload/-/xhr-upload-2.1.2.tgz"
integrity sha512-VCsb7J5yHsof49nnUa+Y1n27UMtqHPttQmmoCa5hmjqa9R7ZISpBkXKOQmZo526eopKNuAKSAdkHWfCm8efJTA==
@ -710,7 +711,7 @@
html-tags "^3.1.0"
svg-tags "^1.0.0"
"@vue/compiler-core@^3.2.37", "@vue/compiler-core@3.3.4":
"@vue/compiler-core@3.3.4", "@vue/compiler-core@^3.2.37":
version "3.3.4"
resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz"
integrity sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==
@ -720,7 +721,7 @@
estree-walker "^2.0.2"
source-map-js "^1.0.2"
"@vue/compiler-dom@^3.2.37", "@vue/compiler-dom@3.3.4":
"@vue/compiler-dom@3.3.4", "@vue/compiler-dom@^3.2.37":
version "3.3.4"
resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz"
integrity sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==
@ -728,7 +729,7 @@
"@vue/compiler-core" "3.3.4"
"@vue/shared" "3.3.4"
"@vue/compiler-sfc@^3.2.29", "@vue/compiler-sfc@^3.2.37", "@vue/compiler-sfc@3.3.4":
"@vue/compiler-sfc@3.3.4", "@vue/compiler-sfc@^3.2.29", "@vue/compiler-sfc@^3.2.37":
version "3.3.4"
resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz"
integrity sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==
@ -785,7 +786,7 @@
estree-walker "^2.0.2"
magic-string "^0.30.0"
"@vue/reactivity@^3.2.37", "@vue/reactivity@3.3.4":
"@vue/reactivity@3.3.4", "@vue/reactivity@^3.2.37":
version "3.3.4"
resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.3.4.tgz"
integrity sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==
@ -817,7 +818,7 @@
"@vue/compiler-ssr" "3.3.4"
"@vue/shared" "3.3.4"
"@vue/shared@^3.2.37", "@vue/shared@3.3.4":
"@vue/shared@3.3.4", "@vue/shared@^3.2.37":
version "3.3.4"
resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.4.tgz"
integrity sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==
@ -827,7 +828,7 @@
resolved "https://registry.npmmirror.com/@vue/tsconfig/-/tsconfig-0.1.3.tgz"
integrity sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==
"@vueuse/core@*", "@vueuse/core@^8.7.5":
"@vueuse/core@^8.7.5":
version "8.9.4"
resolved "https://registry.npmmirror.com/@vueuse/core/-/core-8.9.4.tgz"
integrity sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==
@ -849,7 +850,7 @@
dependencies:
vue-demi "*"
"@wangeditor/basic-modules@^1.1.3", "@wangeditor/basic-modules@1.x":
"@wangeditor/basic-modules@^1.1.3":
version "1.1.3"
resolved "https://registry.npmmirror.com/@wangeditor/basic-modules/-/basic-modules-1.1.3.tgz"
integrity sha512-TGJix4UelO46yAgwI946ctx4lSIJbYBwNvjSJ9Tf8mKr0WMCeLVBV+MV85rXPsfcmWtR4wBNwSg648Z+RbqRUg==
@ -863,7 +864,7 @@
dependencies:
prismjs "^1.23.0"
"@wangeditor/core@^1.1.11", "@wangeditor/core@1.x":
"@wangeditor/core@^1.1.11":
version "1.1.11"
resolved "https://registry.npmmirror.com/@wangeditor/core/-/core-1.1.11.tgz"
integrity sha512-BwHVRJzESnkjKikTc2U2zsbd06l1pSo7qKy5+SpZLudYWrFxmd85VN+5GxM57FodogkNw/k04DFHcFSUfXcaKA==
@ -880,7 +881,7 @@
resolved "https://registry.npmmirror.com/@wangeditor/editor-for-vue/-/editor-for-vue-5.1.12.tgz"
integrity sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==
"@wangeditor/editor@^5.1.12", "@wangeditor/editor@>=5.1.0":
"@wangeditor/editor@^5.1.12":
version "5.1.14"
resolved "https://registry.npmmirror.com/@wangeditor/editor/-/editor-5.1.14.tgz"
integrity sha512-erILPAkpKldyGi4cEwrOW65v12GhZy2qj2A8kPlypU46lE72Y3XowZxWogN1TI/mqMDR84AHr0QWOvygOV1xwQ==
@ -946,16 +947,16 @@ acorn-walk@^7.0.0:
resolved "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-7.2.0.tgz"
integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0, acorn@^8.8.1, acorn@^8.9.0:
version "8.10.0"
resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz"
integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
acorn@^7.0.0:
version "7.4.1"
resolved "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0, acorn@^8.8.1, acorn@^8.9.0:
version "8.10.0"
resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz"
integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
ajv@^6.10.0, ajv@^6.12.4:
version "6.12.6"
resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz"
@ -1078,16 +1079,16 @@ axios@^0.27.2:
follow-redirects "^1.14.9"
form-data "^4.0.0"
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
balanced-match@0.1.0:
version "0.1.0"
resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-0.1.0.tgz"
integrity sha512-4xb6XqAEo3Z+5pEDJz33R8BZXI8FRJU+cDNLdKgDpmnz+pKKRVYLpdv+VvUAC7yUhBMj4izmyt19eCGv1QGV7A==
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
base@^0.11.1:
version "0.11.2"
resolved "https://registry.npmmirror.com/base/-/base-0.11.2.tgz"
@ -1159,7 +1160,7 @@ braces@^3.0.2, braces@~3.0.2:
dependencies:
fill-range "^7.0.1"
browserslist@^4.20.2, browserslist@^4.21.3, "browserslist@>= 4.21.0":
browserslist@^4.20.2, browserslist@^4.21.3:
version "4.21.3"
resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.3.tgz"
integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==
@ -1272,7 +1273,7 @@ change-case@^4.1.2:
snake-case "^3.0.4"
tslib "^2.0.3"
chokidar@^3.5.3, "chokidar@>=3.0.0 <4.0.0":
"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3:
version "3.5.3"
resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz"
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
@ -1338,17 +1339,12 @@ color-convert@^2.0.1:
dependencies:
color-name "~1.1.4"
color-name@^1.0.0, color-name@1.1.3:
color-name@1.1.3, color-name@^1.0.0:
version "1.1.3"
resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz"
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
color-name@^1.1.4:
version "1.1.4"
resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
color-name@~1.1.4:
color-name@^1.1.4, color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
@ -1505,7 +1501,7 @@ csstype@^3.1.1:
resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz"
integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
d@^1.0.1, d@1:
d@1, d@^1.0.1:
version "1.0.1"
resolved "https://registry.npmmirror.com/d/-/d-1.0.1.tgz"
integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
@ -1518,14 +1514,7 @@ dayjs@^1.11.3:
resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.4.tgz"
integrity sha512-Zj/lPM5hOvQ1Bf7uAvewDaUcsJoI6JmNqmHhHl3nyumwe0XHwt8sWdOVAPACJzCebL8gQCi+K49w7iKWnGwX9g==
debug@^2.2.0:
version "2.6.9"
resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
debug@^2.3.3:
debug@^2.2.0, debug@^2.3.3:
version "2.6.9"
resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@ -1539,35 +1528,7 @@ debug@^3.1.0:
dependencies:
ms "^2.1.1"
debug@^4.1.0:
version "4.3.4"
resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
dependencies:
ms "2.1.2"
debug@^4.1.1:
version "4.3.4"
resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
dependencies:
ms "2.1.2"
debug@^4.3.2:
version "4.3.4"
resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
dependencies:
ms "2.1.2"
debug@^4.3.3:
version "4.3.4"
resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
dependencies:
ms "2.1.2"
debug@^4.3.4:
debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@ -1654,6 +1615,14 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
dom-serializer@0:
version "0.2.2"
resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.2.2.tgz"
integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
dependencies:
domelementtype "^2.0.1"
entities "^2.0.0"
dom-serializer@^1.0.1:
version "1.4.1"
resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz"
@ -1663,14 +1632,6 @@ dom-serializer@^1.0.1:
domhandler "^4.2.0"
entities "^2.0.0"
dom-serializer@0:
version "0.2.2"
resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.2.2.tgz"
integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
dependencies:
domelementtype "^2.0.1"
entities "^2.0.0"
dom7@^3.0.0:
version "3.0.0"
resolved "https://registry.npmmirror.com/dom7/-/dom7-3.0.0.tgz"
@ -1678,7 +1639,7 @@ dom7@^3.0.0:
dependencies:
ssr-window "^3.0.0-alpha.1"
domelementtype@^1.3.1, domelementtype@1:
domelementtype@1, domelementtype@^1.3.1:
version "1.3.1"
resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-1.3.1.tgz"
integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
@ -1727,7 +1688,7 @@ dot-case@^3.0.4:
no-case "^3.0.4"
tslib "^2.0.3"
echarts@^5.1.2, echarts@^5.3.3:
echarts@^5.3.3:
version "5.3.3"
resolved "https://registry.npmmirror.com/echarts/-/echarts-5.3.3.tgz"
integrity sha512-BRw2serInRwO5SIwRviZ6Xgm5Lb7irgz+sLiFMmy/HOaf4SQ+7oYqxKzRHAKp4xHQ05AuHw1xvoQWJjDQq/FGw==
@ -1807,12 +1768,107 @@ es6-symbol@^3.1.1, es6-symbol@^3.1.3:
d "^1.0.1"
ext "^1.1.2"
esbuild-android-64@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz#20a7ae1416c8eaade917fb2453c1259302c637a5"
integrity sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==
esbuild-android-arm64@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz#9cc0ec60581d6ad267568f29cf4895ffdd9f2f04"
integrity sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==
esbuild-darwin-64@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz#428e1730ea819d500808f220fbc5207aea6d4410"
integrity sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==
esbuild-darwin-arm64@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz#b6dfc7799115a2917f35970bfbc93ae50256b337"
integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==
esbuild-freebsd-64@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz#4e190d9c2d1e67164619ae30a438be87d5eedaf2"
integrity sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==
esbuild-freebsd-arm64@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz#18a4c0344ee23bd5a6d06d18c76e2fd6d3f91635"
integrity sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==
esbuild-linux-32@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz#9a329731ee079b12262b793fb84eea762e82e0ce"
integrity sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==
esbuild-linux-64@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz#532738075397b994467b514e524aeb520c191b6c"
integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==
esbuild-linux-arm64@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz#5372e7993ac2da8f06b2ba313710d722b7a86e5d"
integrity sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==
esbuild-linux-arm@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz#e734aaf259a2e3d109d4886c9e81ec0f2fd9a9cc"
integrity sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==
esbuild-linux-mips64le@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz#c0487c14a9371a84eb08fab0e1d7b045a77105eb"
integrity sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==
esbuild-linux-ppc64le@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz#af048ad94eed0ce32f6d5a873f7abe9115012507"
integrity sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==
esbuild-linux-riscv64@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz#423ed4e5927bd77f842bd566972178f424d455e6"
integrity sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==
esbuild-linux-s390x@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz#21d21eaa962a183bfb76312e5a01cc5ae48ce8eb"
integrity sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==
esbuild-netbsd-64@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz#ae75682f60d08560b1fe9482bfe0173e5110b998"
integrity sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==
esbuild-openbsd-64@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz#79591a90aa3b03e4863f93beec0d2bab2853d0a8"
integrity sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==
esbuild-sunos-64@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz#fd528aa5da5374b7e1e93d36ef9b07c3dfed2971"
integrity sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==
esbuild-windows-32@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz#0e92b66ecdf5435a76813c4bc5ccda0696f4efc3"
integrity sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==
esbuild-windows-64@0.15.18:
version "0.15.18"
resolved "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz"
integrity sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==
esbuild@^0.15.9, esbuild@>=0.13:
esbuild-windows-arm64@0.15.18:
version "0.15.18"
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz#5b5bdc56d341d0922ee94965c89ee120a6a86eb7"
integrity sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==
esbuild@^0.15.9:
version "0.15.18"
resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz"
integrity sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==
@ -1850,7 +1906,7 @@ escape-html@^1.0.3:
resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz"
integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5, escape-string-regexp@1.0.5:
escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
@ -1923,7 +1979,7 @@ eslint-visitor-keys@^3.3.0:
resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz"
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
eslint@*, "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.2.0 || ^7.0.0 || ^8.0.0", eslint@^8.5.0, "eslint@>= 7.28.0", eslint@>=5, eslint@>=6.0.0, eslint@>=7.0.0, eslint@>=7.28.0:
eslint@^8.5.0:
version "8.21.0"
resolved "https://registry.npmmirror.com/eslint/-/eslint-8.21.0.tgz"
integrity sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA==
@ -1996,12 +2052,7 @@ estraverse@^4.1.1:
resolved "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz"
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
estraverse@^5.1.0:
version "5.3.0"
resolved "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz"
integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
estraverse@^5.2.0:
estraverse@^5.1.0, estraverse@^5.2.0:
version "5.3.0"
resolved "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz"
integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
@ -2071,15 +2122,7 @@ extend-shallow@^2.0.1:
dependencies:
is-extendable "^0.1.0"
extend-shallow@^3.0.0:
version "3.0.2"
resolved "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz"
integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==
dependencies:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
extend-shallow@^3.0.2:
extend-shallow@^3.0.0, extend-shallow@^3.0.2:
version "3.0.2"
resolved "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz"
integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==
@ -2229,6 +2272,11 @@ fs.realpath@^1.0.0:
resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz"
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
fsevents@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
@ -2261,14 +2309,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2:
dependencies:
is-glob "^4.0.1"
glob-parent@^6.0.1:
version "6.0.2"
resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz"
integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
dependencies:
is-glob "^4.0.3"
glob-parent@^6.0.2:
glob-parent@^6.0.1, glob-parent@^6.0.2:
version "6.0.2"
resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz"
integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
@ -2401,7 +2442,7 @@ header-case@^2.0.4:
capital-case "^1.0.4"
tslib "^2.0.3"
highlight.js@^11.0.1, highlight.js@^11.6.0:
highlight.js@^11.6.0:
version "11.6.0"
resolved "https://registry.npmmirror.com/highlight.js/-/highlight.js-11.6.0.tgz"
integrity sha512-ig1eqDzJaB0pqEvlPVIpSSyMaO92bH1N2rJpLMN/nX396wTpDA4Eq0uK+7I/2XG17pFaaKE0kjV/XPeGt7Evjw==
@ -2486,7 +2527,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
inherits@^2.0.1, inherits@^2.0.3, inherits@2:
inherits@2, inherits@^2.0.1, inherits@^2.0.3:
version "2.0.4"
resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@ -2602,14 +2643,7 @@ is-plain-obj@^1.1:
resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz"
integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
is-plain-object@^2.0.3:
version "2.0.4"
resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz"
integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
dependencies:
isobject "^3.0.1"
is-plain-object@^2.0.4:
is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz"
integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
@ -2646,26 +2680,14 @@ isexe@^2.0.0:
resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz"
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
isobject@^2.0.0:
isobject@^2.0.0, isobject@^2.1.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/isobject/-/isobject-2.1.0.tgz"
integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==
dependencies:
isarray "1.0.0"
isobject@^2.1.0:
version "2.1.0"
resolved "https://registry.npmmirror.com/isobject/-/isobject-2.1.0.tgz"
integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==
dependencies:
isarray "1.0.0"
isobject@^3.0.0:
version "3.0.1"
resolved "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz"
integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
isobject@^3.0.1:
isobject@^3.0.0, isobject@^3.0.1:
version "3.0.1"
resolved "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz"
integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
@ -2728,14 +2750,7 @@ jsonfile@^6.0.1:
optionalDependencies:
graceful-fs "^4.1.6"
kind-of@^3.0.2, kind-of@^3.0.3:
version "3.2.2"
resolved "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz"
integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==
dependencies:
is-buffer "^1.1.5"
kind-of@^3.2.0:
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
version "3.2.2"
resolved "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz"
integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==
@ -2754,12 +2769,7 @@ kind-of@^5.0.0, kind-of@^5.0.2:
resolved "https://registry.npmmirror.com/kind-of/-/kind-of-5.1.0.tgz"
integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
kind-of@^6.0.0:
version "6.0.3"
resolved "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
kind-of@^6.0.2:
kind-of@^6.0.0, kind-of@^6.0.2:
version "6.0.3"
resolved "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
@ -2798,7 +2808,7 @@ locate-path@^6.0.0:
dependencies:
p-locate "^5.0.0"
lodash-es@*, lodash-es@^4.17.21:
lodash-es@^4.17.21:
version "4.17.21"
resolved "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz"
integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
@ -2848,7 +2858,7 @@ lodash.toarray@^4.4.0:
resolved "https://registry.npmmirror.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz"
integrity sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==
lodash@*, lodash@^4.17.21:
lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@ -2874,14 +2884,7 @@ magic-string@^0.25.7:
dependencies:
sourcemap-codec "^1.4.8"
magic-string@^0.26.2:
version "0.26.7"
resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.26.7.tgz"
integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==
dependencies:
sourcemap-codec "^1.4.8"
magic-string@^0.26.7:
magic-string@^0.26.2, magic-string@^0.26.7:
version "0.26.7"
resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz"
integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==
@ -2934,14 +2937,6 @@ merge2@^1.3.0, merge2@^1.4.1:
resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
micromatch@^4.0.4:
version "4.0.5"
resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz"
integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
dependencies:
braces "^3.0.2"
picomatch "^2.3.1"
micromatch@3.1.0:
version "3.1.0"
resolved "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.0.tgz"
@ -2961,6 +2956,14 @@ micromatch@3.1.0:
snapdragon "^0.8.1"
to-regex "^3.0.1"
micromatch@^4.0.4:
version "4.0.5"
resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz"
integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
dependencies:
braces "^3.0.2"
picomatch "^2.3.1"
mime-db@1.52.0:
version "1.52.0"
resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz"
@ -3032,11 +3035,6 @@ mlly@^1.2.0:
pkg-types "^1.0.3"
ufo "^1.1.2"
ms@^2.1.1:
version "2.1.3"
resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
ms@2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz"
@ -3047,6 +3045,11 @@ ms@2.1.2:
resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
ms@^2.1.1:
version "2.1.3"
resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
namespace-emitter@^2.0.1:
version "2.0.1"
resolved "https://registry.npmmirror.com/namespace-emitter/-/namespace-emitter-2.0.1.tgz"
@ -3280,12 +3283,7 @@ pathe@^0.3.2:
resolved "https://registry.npmmirror.com/pathe/-/pathe-0.3.9.tgz"
integrity sha512-6Y6s0vT112P3jD8dGfuS6r+lpa0qqNrLyHPOwvXMnyNTQaYiwgau2DP3aNDsR13xqtGj7rrPo+jFUATpU6/s+g==
pathe@^1.0.0:
version "1.1.1"
resolved "https://registry.npmmirror.com/pathe/-/pathe-1.1.1.tgz"
integrity sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==
pathe@^1.1.0, pathe@^1.1.1:
pathe@^1.0.0, pathe@^1.1.0, pathe@^1.1.1:
version "1.1.1"
resolved "https://registry.npmmirror.com/pathe/-/pathe-1.1.1.tgz"
integrity sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==
@ -3386,7 +3384,7 @@ postcss@^5.2.17:
source-map "^0.5.6"
supports-color "^3.2.3"
postcss@^8.0.0, postcss@^8.1.0, postcss@^8.1.10, postcss@^8.2.14, postcss@^8.3.3, postcss@^8.4.14, postcss@^8.4.18, postcss@>=8.0.9, "postcss@>4 <9":
postcss@^8.1.10, postcss@^8.4.14, postcss@^8.4.18:
version "8.4.27"
resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz"
integrity sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==
@ -3450,7 +3448,7 @@ prettier-linter-helpers@^1.0.0:
dependencies:
fast-diff "^1.1.2"
prettier@^2.5.1, "prettier@>= 2.0.0", prettier@>=2.0.0:
prettier@^2.5.1:
version "2.7.1"
resolved "https://registry.npmmirror.com/prettier/-/prettier-2.7.1.tgz"
integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==
@ -3580,7 +3578,7 @@ rimraf@^3.0.2:
dependencies:
glob "^7.1.3"
rollup@^2.50.0, rollup@^2.79.1:
rollup@^2.79.1:
version "2.79.1"
resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz"
integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==
@ -3611,7 +3609,7 @@ safe-regex@^1.1.0:
dependencies:
ret "~0.1.10"
sass@*, sass@^1.53.0:
sass@^1.53.0:
version "1.54.2"
resolved "https://registry.npmmirror.com/sass/-/sass-1.54.2.tgz"
integrity sha512-wbVV26sejsCIbBScZZtNkvnrB/bVCQ8hSlZ01D9nzsVh9zLqCkWrlpvTb3YEb6xsuNi9cx75hncqwikHFSz7tw==
@ -3642,21 +3640,7 @@ semver@^6.3.0:
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
semver@^7.3.5:
version "7.5.4"
resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"
semver@^7.3.6:
version "7.5.4"
resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"
semver@^7.3.7:
semver@^7.3.5, semver@^7.3.6, semver@^7.3.7:
version "7.5.4"
resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
@ -3711,7 +3695,7 @@ slate-history@^0.66.0:
dependencies:
is-plain-object "^5.0.0"
slate@^0.72.0, slate@>=0.65.3:
slate@^0.72.0:
version "0.72.8"
resolved "https://registry.npmmirror.com/slate/-/slate-0.72.8.tgz"
integrity sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==
@ -3768,7 +3752,7 @@ sortablejs@1.14.0:
resolved "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.14.0.tgz"
integrity sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==
source-map-js@^1.0.2, "source-map-js@>=0.6.2 <2.0.0":
"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2:
version "1.0.2"
resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
@ -3953,7 +3937,7 @@ systemjs@^6.13.0:
resolved "https://registry.npmjs.org/systemjs/-/systemjs-6.13.0.tgz"
integrity sha512-P3cgh2bpaPvAO2NE3uRp/n6hmk4xPX4DQf+UzTlCAycssKdqhp6hjw+ENWe+aUS7TogKRFtptMosTSFeC6R55g==
tailwindcss@^3.0.24, "tailwindcss@>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1":
tailwindcss@^3.0.24:
version "3.1.7"
resolved "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-3.1.7.tgz"
integrity sha512-r7mgumZ3k0InfVPpGWcX8X/Ut4xBfv+1O/+C73ar/m01LxGVzWvPxF/w6xIUPEztrCoz7axfx0SMdh8FH8ZvRQ==
@ -3981,7 +3965,7 @@ tailwindcss@^3.0.24, "tailwindcss@>=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1":
quick-lru "^5.1.1"
resolve "^1.22.1"
terser@^5.15.1, terser@^5.4.0:
terser@^5.15.1:
version "5.16.4"
resolved "https://registry.npmjs.org/terser/-/terser-5.16.4.tgz"
integrity sha512-5yEGuZ3DZradbogeYQ1NaGz7rXVBDWujWlx1PT8efXO6Txn+eWbfKqB2bTDVmFXmePFkoLU6XI8UektMIEA0ug==
@ -4053,16 +4037,16 @@ traverse@^0.6.6:
resolved "https://registry.npmmirror.com/traverse/-/traverse-0.6.7.tgz"
integrity sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==
tslib@2.3.0, tslib@^2.0.3:
version "2.3.0"
resolved "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz"
integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
tslib@^1.8.1:
version "1.14.1"
resolved "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
tslib@^2.0.3, tslib@2.3.0:
version "2.3.0"
resolved "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz"
integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
tsutils@^3.21.0:
version "3.21.0"
resolved "https://registry.npmmirror.com/tsutils/-/tsutils-3.21.0.tgz"
@ -4092,7 +4076,7 @@ type@^2.5.0:
resolved "https://registry.npmmirror.com/type/-/type-2.7.0.tgz"
integrity sha512-NybX0NBIssNEj1efLf1mqKAtO4Q/Np5mqpa57be81ud7/tNHIXn48FDVXiyGMBF90FfXc5o7RPsuRQrPzgMOMA==
typescript@*, "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", typescript@>=4.4.4, typescript@~4.7.4:
typescript@~4.7.4:
version "4.7.4"
resolved "https://registry.npmmirror.com/typescript/-/typescript-4.7.4.tgz"
integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
@ -4268,7 +4252,7 @@ vite-plugin-vue-setup-extend@^0.4.0:
"@vue/compiler-sfc" "^3.2.29"
magic-string "^0.25.7"
"vite@^2.3.0 || ^3.0.0-0", vite@^3.0.0, vite@>=2.0.0:
vite@^3.0.0:
version "3.2.7"
resolved "https://registry.npmjs.org/vite/-/vite-3.2.7.tgz"
integrity sha512-29pdXjk49xAP0QBr0xXqu2s5jiQIXNvE/xwd0vUizYT2Hzqe4BksNNoWllFVXJf4eLZ+UlVQmXfB4lWrc+t18g==
@ -4334,7 +4318,16 @@ vue-tsc@^0.38.1:
dependencies:
"@volar/vue-typescript" "0.38.9"
"vue@^2.6.0 || ^3.2.0", "vue@^2.6.12 || ^3.1.1", "vue@^2.6.14 || ^3.2.0", vue@^3, vue@^3.0.0, "vue@^3.0.0-0 || ^2.6.0", vue@^3.0.1, vue@^3.0.5, vue@^3.2.0, vue@^3.2.2, vue@^3.2.25, vue@^3.2.37, vue@^3.2.47, "vue@2 || 3", vue@3.3.4:
vue3-video-play@^1.3.1-beta.6:
version "1.3.1-beta.6"
resolved "https://registry.npmmirror.com/vue3-video-play/-/vue3-video-play-1.3.1-beta.6.tgz"
integrity sha512-Olrx2/LNAds7fuor/yX9ZKT9sOcwcfTt2g2YbbCrEaAmZ5Tb0hwBr5z+/CoLwELzzRzXCHPmWWoT0Wm5W/Nwpw==
dependencies:
hls.js "^1.0.10"
throttle-debounce "^3.0.1"
vue "^3.2.2"
vue@^3.2.2, vue@^3.2.37, vue@^3.2.47:
version "3.3.4"
resolved "https://registry.npmmirror.com/vue/-/vue-3.3.4.tgz"
integrity sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==
@ -4345,15 +4338,6 @@ vue-tsc@^0.38.1:
"@vue/server-renderer" "3.3.4"
"@vue/shared" "3.3.4"
vue3-video-play@^1.3.1-beta.6:
version "1.3.1-beta.6"
resolved "https://registry.npmmirror.com/vue3-video-play/-/vue3-video-play-1.3.1-beta.6.tgz"
integrity sha512-Olrx2/LNAds7fuor/yX9ZKT9sOcwcfTt2g2YbbCrEaAmZ5Tb0hwBr5z+/CoLwELzzRzXCHPmWWoT0Wm5W/Nwpw==
dependencies:
hls.js "^1.0.10"
throttle-debounce "^3.0.1"
vue "^3.2.2"
vuedraggable@^4.1.0:
version "4.1.0"
resolved "https://registry.npmmirror.com/vuedraggable/-/vuedraggable-4.1.0.tgz"