调整下伍总的前端代码emmm
This commit is contained in:
@@ -158,12 +158,14 @@ sudo dnf install php-pgsql
|
|||||||
```bash
|
```bash
|
||||||
npm i element-ui @d2-projects/d2-crud -S
|
npm i element-ui @d2-projects/d2-crud -S
|
||||||
npm install -S vue-cheetah-grid
|
npm install -S vue-cheetah-grid
|
||||||
|
npm i @d2-projects/vue-table-export --save
|
||||||
```
|
```
|
||||||
|
|
||||||
添加依赖(使用yarn):
|
添加依赖(使用yarn):
|
||||||
```bash
|
```bash
|
||||||
yarn add element-ui @d2-projects/d2-crud
|
yarn add element-ui @d2-projects/d2-crud
|
||||||
yarn add vue-cheetah-grid
|
yarn add vue-cheetah-grid
|
||||||
|
yarn add @d2-projects/vue-table-export
|
||||||
```
|
```
|
||||||
|
|
||||||
需要在`main.js`中增加(全局引入组件):
|
需要在`main.js`中增加(全局引入组件):
|
||||||
@@ -175,10 +177,13 @@ import 'element-ui/lib/theme-chalk/index.css'
|
|||||||
import D2Crud from '@d2-projects/d2-crud'
|
import D2Crud from '@d2-projects/d2-crud'
|
||||||
// Cheetah-Grid
|
// Cheetah-Grid
|
||||||
import vueCheetahGrid from 'vue-cheetah-grid'
|
import vueCheetahGrid from 'vue-cheetah-grid'
|
||||||
|
// 表格导出插件
|
||||||
|
import pluginExport from '@d2-projects/vue-table-export'
|
||||||
|
|
||||||
Vue.use(ElementUI)
|
Vue.use(ElementUI)
|
||||||
Vue.use(D2Crud)
|
Vue.use(D2Crud)
|
||||||
Vue.use(vueCheetahGrid)
|
Vue.use(vueCheetahGrid)
|
||||||
|
Vue.use(pluginExport)
|
||||||
```
|
```
|
||||||
|
|
||||||
*(可选)* 在`package.json`里更改`element-ui`版本:
|
*(可选)* 在`package.json`里更改`element-ui`版本:
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@d2-projects/d2-crud": "^2.1.2",
|
"@d2-projects/d2-crud": "^2.1.2",
|
||||||
|
"@d2-projects/vue-table-export": "^1.1.3",
|
||||||
"axios": "^0.19.0",
|
"axios": "^0.19.0",
|
||||||
"axios-mock-adapter": "^1.18.1",
|
"axios-mock-adapter": "^1.18.1",
|
||||||
"better-scroll": "^1.15.2",
|
"better-scroll": "^1.15.2",
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ import router from './router'
|
|||||||
import { menuAside } from '@/menu'
|
import { menuAside } from '@/menu'
|
||||||
import { frameInRoutes } from '@/router/routes'
|
import { frameInRoutes } from '@/router/routes'
|
||||||
|
|
||||||
|
|
||||||
// 核心插件
|
// 核心插件
|
||||||
Vue.use(d2Admin)
|
Vue.use(d2Admin)
|
||||||
Vue.use(ElementUI)
|
Vue.use(ElementUI)
|
||||||
|
|||||||
@@ -51,56 +51,46 @@
|
|||||||
|
|
||||||
<el-form :inline="true" :model="formInline" class="demo-form-inline">
|
<el-form :inline="true" :model="formInline" class="demo-form-inline">
|
||||||
<el-form-item label="值筛选">
|
<el-form-item label="值筛选">
|
||||||
<el-select v-model="valueType" @change="valueSearch">
|
<el-select v-model="chosenType" @change="changeChosenType">
|
||||||
<el-option v-for="(item, i) in options" :key="i" :label="item.label" :value="item.value">
|
<el-option v-for="filterType in filterTypes" :key="filterType.value" :label="filterType.label" :value="filterType.value">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item v-show="show_integer_input == 'bool'">
|
<el-form-item v-show="chosenType === 'bool'">
|
||||||
<el-radio v-model="selectData.selectBool" label="true">TRUE</el-radio>
|
<el-radio v-model="selected.bool" :label=true>TRUE</el-radio>
|
||||||
<el-radio v-model="selectData.selectBool" label="false">FALSE</el-radio>
|
<el-radio v-model="selected.bool" :label=false>FALSE</el-radio>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item v-show="chosenType === 'number'">
|
||||||
|
<div class="chosing">
|
||||||
<el-form-item v-show="show_integer_input == 'number'">
|
<el-select v-model="selected.numberCompareMethod" placeholder="请选择" style="width:85px;">
|
||||||
<div class="number_css">
|
<el-option v-for="numberCompareMethod in numberCompareMethods" :key="numberCompareMethod.value" :label="numberCompareMethod.label" :value="numberCompareMethod.value">
|
||||||
<el-select v-model="selectData.select" placeholder="请选择" style="width:85px;">
|
|
||||||
<el-option label="大于" value=">">
|
|
||||||
</el-option>
|
|
||||||
<el-option label="等于" value="==">
|
|
||||||
</el-option>
|
|
||||||
<el-option label="小于" value="<">
|
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-input-number v-model="selectData.max" placeholder="最大值" :min="0" style="width:100px;" :controls='false' />
|
<el-form-item v-if="selected.numberCompareMethod === 'between'">
|
||||||
|
<el-input-number v-model="selected.range[0]" placeholder="最小值" style="width:100px;" :controls='false' />
|
||||||
|
至
|
||||||
|
<el-input-number v-model="selected.range[1]" placeholder="最大值" style="width:100px;" :controls='false' />
|
||||||
|
</el-form-item>
|
||||||
|
<el-input-number v-else v-model="selected.threshold" placeholder="阈值" style="width:100px;" :controls='false' />
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item v-show="chosenType == 'string'">
|
||||||
<el-form-item label="数字区间筛选" v-show="show_integer_input == 'number'">
|
<div class="chosing">
|
||||||
<div class="number_css">
|
<el-select v-model="selected.stringCompareMethod" placeholder="请选择" style="width:85px;">
|
||||||
<el-input-number v-model="selectData.intervalNumber.min" placeholder="最小值" :min="0" style="width:100px;"
|
<el-option v-for="stringCompareMethod in stringCompareMethods" :key="stringCompareMethod.value" :label="stringCompareMethod.label" :value="stringCompareMethod.value">
|
||||||
:controls='false' />
|
|
||||||
<el-input-number v-model="selectData.intervalNumber.max" placeholder="最大值" :min="0" style="width:100px;"
|
|
||||||
:controls='false' />
|
|
||||||
</div>
|
|
||||||
</el-form-item>
|
|
||||||
|
|
||||||
<el-form-item v-show="show_integer_input == 'string'">
|
|
||||||
<div class="number_css">
|
|
||||||
<el-select v-model="selectData.selectStringCompare" placeholder="请选择" style="width:85px;">
|
|
||||||
<el-option v-for="(item, i) in stringOptions" :key="i" :label="item.label" :value="item.value">
|
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-input v-model="selectData.selectString" placeholder="请输入" style="width:100px;" />
|
<el-input v-model="selected.targetString" placeholder="请输入" style="width:100px;" />
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="search">筛选</el-button>
|
<el-button type="primary" @click="reRender">筛选</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="selectRestore"> 还原</el-button>
|
<el-button type="primary" @click="selectRestore"> 还原</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<c-grid
|
<c-grid
|
||||||
:filter="tableFilter"
|
:filter="tableFilter"
|
||||||
:key='key'
|
:key='key'
|
||||||
@@ -144,10 +134,51 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
class CustomFuctions {
|
||||||
|
isEqual (value, other) {
|
||||||
|
return value === other
|
||||||
|
}
|
||||||
|
|
||||||
|
notEqual (value, other) {
|
||||||
|
return typeof value === typeof other && value !== other
|
||||||
|
}
|
||||||
|
|
||||||
|
contains (value, other) {
|
||||||
|
return typeof value === 'string' && value.includes(other)
|
||||||
|
}
|
||||||
|
|
||||||
|
notContains (value, other) {
|
||||||
|
return typeof value === 'string' && !value.includes(other)
|
||||||
|
}
|
||||||
|
|
||||||
|
greaterThan (value, other) {
|
||||||
|
return typeof value === 'number' && value > other
|
||||||
|
}
|
||||||
|
|
||||||
|
greaterAndEqualThan (value, other) {
|
||||||
|
return typeof value === 'number' && value >= other
|
||||||
|
}
|
||||||
|
|
||||||
|
smallerThan (value, other) {
|
||||||
|
return typeof value === 'number' && value < other
|
||||||
|
}
|
||||||
|
|
||||||
|
smallerAndEqualThan (value, other) {
|
||||||
|
return typeof value === 'number' && value <= other
|
||||||
|
}
|
||||||
|
|
||||||
|
between (value, other) {
|
||||||
|
return typeof value === 'number' && value >= other[0] && value <= other[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const callCustomFuctions = new CustomFuctions()
|
||||||
|
|
||||||
const now = new Date()
|
const now = new Date()
|
||||||
|
|
||||||
//导出表头
|
export default {
|
||||||
const columns = [
|
data () {
|
||||||
|
return {
|
||||||
|
columns: [
|
||||||
{
|
{
|
||||||
label: '序号',
|
label: '序号',
|
||||||
prop: 'id'
|
prop: 'id'
|
||||||
@@ -172,47 +203,7 @@ const columns = [
|
|||||||
label: '采集时间',
|
label: '采集时间',
|
||||||
prop: 'capture_time'
|
prop: 'capture_time'
|
||||||
}
|
}
|
||||||
|
],
|
||||||
]
|
|
||||||
|
|
||||||
const options = [
|
|
||||||
{
|
|
||||||
value: 'string',
|
|
||||||
label: 'string(字符串)'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: 'number',
|
|
||||||
label: 'number(数字)'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: 'bool',
|
|
||||||
label: 'bool(逻辑值)'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
const stringOptions = [
|
|
||||||
{
|
|
||||||
value: '_.eq',
|
|
||||||
label: '等于'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: '!_.eq',
|
|
||||||
label: '不等于'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: 'this.stringCompare',
|
|
||||||
label: '包含'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: '!this.stringCompare',
|
|
||||||
label: '不包含'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
|
|
||||||
export default {
|
|
||||||
data () {
|
|
||||||
return {
|
|
||||||
formInline: {
|
formInline: {
|
||||||
workingSubclass: '',
|
workingSubclass: '',
|
||||||
time: [now - 3600 * 1000 * 24 * 7, +now],
|
time: [now - 3600 * 1000 * 24 * 7, +now],
|
||||||
@@ -249,22 +240,82 @@ export default {
|
|||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
excelData: [],
|
excelData: [],
|
||||||
stringOptions,
|
chosenType: '',
|
||||||
show_integer_input: '',
|
|
||||||
key: false,
|
key: false,
|
||||||
selectData: {
|
selected: {
|
||||||
select: '>',
|
numberCompareMethod: '',
|
||||||
max: 0,
|
threshold: 0,
|
||||||
selectBool: false,
|
range: [],
|
||||||
selectString: '',
|
bool: false,
|
||||||
selectStringCompare: '_.eq',
|
targetString: '',
|
||||||
|
stringCompareMethod: '',
|
||||||
intervalNumber: {
|
intervalNumber: {
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 0
|
max: 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
valueType: '',
|
filterTypes: [
|
||||||
options,
|
{
|
||||||
|
value: 'string',
|
||||||
|
label: 'string (字符串)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'number',
|
||||||
|
label: 'number (数字)'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'bool',
|
||||||
|
label: 'bool (逻辑值)'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
stringCompareMethods: [
|
||||||
|
{
|
||||||
|
value: 'isEqual',
|
||||||
|
label: '等于'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'notEqual',
|
||||||
|
label: '不等于'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'contains',
|
||||||
|
label: '包含'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'notContains',
|
||||||
|
label: '不包含'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
numberCompareMethods: [
|
||||||
|
{
|
||||||
|
value: 'greaterThan',
|
||||||
|
label: '>'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'greaterAndEqualThan',
|
||||||
|
label: '≥'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'smallerThan',
|
||||||
|
label: '<'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'smallerAndEqualThan',
|
||||||
|
label: '≤'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'isEqual',
|
||||||
|
label: '='
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'notEqual',
|
||||||
|
label: '≠'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 'between',
|
||||||
|
label: '介于'
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -299,7 +350,8 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
async exportExcel () {
|
async exportExcel () {
|
||||||
let data = this.excelData.length < 1 ? this.data : this.excelData //如果没有使用 this.excelData为空则代表没有使用筛选
|
const data = this.excelData.length < 1 ? this.data : this.excelData // 如果没有使用 this.excelData为空则代表没有使用筛选
|
||||||
|
const columns = this.columns
|
||||||
this.$export.excel({
|
this.$export.excel({
|
||||||
columns,
|
columns,
|
||||||
data
|
data
|
||||||
@@ -307,77 +359,68 @@ export default {
|
|||||||
this.$message.error('导出EXCEL成功!')
|
this.$message.error('导出EXCEL成功!')
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
valueSearch(e) {
|
changeChosenType (e) {
|
||||||
this.show_integer_input = e
|
this.chosenType = e
|
||||||
},
|
},
|
||||||
// 还原
|
// 还原
|
||||||
selectRestore () {
|
selectRestore () {
|
||||||
this.show_integer_input = ''
|
this.chosenType = ''
|
||||||
this.selectData = {
|
this.selected = {
|
||||||
select: '>',
|
numberCompareMethod: '',
|
||||||
max: 0,
|
threshold: 0,
|
||||||
selectBool: false,
|
range: [],
|
||||||
selectString: '',
|
bool: false,
|
||||||
selectStringCompare: '_.eq',
|
targetString: '',
|
||||||
|
stringCompareMethod: '',
|
||||||
intervalNumber: {
|
intervalNumber: {
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 0
|
max: 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.excelData = []
|
this.excelData = []
|
||||||
this.valueType = ''
|
|
||||||
this.key = !this.key // 取反重新渲染组件
|
this.key = !this.key // 取反重新渲染组件
|
||||||
},
|
},
|
||||||
// 筛选
|
// 筛选
|
||||||
search() {
|
reRender () {
|
||||||
let max = this.selectData.intervalNumber.max
|
if (this.selected.range[1] <= this.selected.range[0]) {
|
||||||
let min = this.selectData.intervalNumber.min
|
this.$message.error('区间筛选所设定最大值不能小于或等于最小值')
|
||||||
if (max < min) {
|
|
||||||
this.selectData.intervalNumber.min = 0
|
|
||||||
this.selectData.intervalNumber.max = 0
|
|
||||||
this.$message.error('数字区间筛选最大值不能小于最小值')
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
this.excelData = []
|
this.excelData = []
|
||||||
this.key = !this.key // 取反重新组件渲染
|
this.key = !this.key // 取反重新组件渲染
|
||||||
},
|
},
|
||||||
tableFilter (e) {
|
tableFilter (e) {
|
||||||
switch (this.valueType) {
|
switch (this.chosenType) {
|
||||||
case 'string':
|
case 'string':
|
||||||
if (eval(this.selectData.selectStringCompare + '("' + this.selectData.selectString + '","' + e.value + '")')) {
|
if (callCustomFuctions[this.selected.stringCompareMethod](e.value, this.selected.targetString)) {
|
||||||
this.excelData.push(e)
|
this.excelData.push(e)
|
||||||
return e;
|
return e
|
||||||
}
|
}
|
||||||
break;
|
break
|
||||||
case 'bool':
|
case 'bool':
|
||||||
if (e.value === this.selectData.selectBool) {
|
if (e.value === this.selected.bool) {
|
||||||
this.excelData.push(e)
|
this.excelData.push(e)
|
||||||
return e;
|
return e
|
||||||
}
|
}
|
||||||
break;
|
break
|
||||||
case 'number':
|
case 'number':
|
||||||
//判断值是否为数字并且不为Boolean
|
if (callCustomFuctions[this.selected.numberCompareMethod](
|
||||||
if (Number(e.value) && !isBoolean(e.value)) {
|
e.value,
|
||||||
let condition = e.value + this.selectData.select + this.selectData.max
|
this.selected.numberCompareMethod === 'between'
|
||||||
if (this.selectData.intervalNumber.max && this.selectData.select !== '=') {
|
? this.selected.range
|
||||||
//拼接区间判断
|
: this.selected.threshold
|
||||||
condition = '(' + condition + ') && '
|
)) {
|
||||||
condition += '(' + this.selectData.intervalNumber.min + ' < ' + e.value + ') && (' + e.value + ' < ' + this.selectData.intervalNumber.max + ')'
|
|
||||||
}
|
|
||||||
|
|
||||||
if (eval(condition)) {
|
|
||||||
this.excelData.push(e)
|
this.excelData.push(e)
|
||||||
return e;
|
return e
|
||||||
}
|
}
|
||||||
}
|
break
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
return e
|
return e
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
stringCompare (val, other) {
|
stringCompare (val, other) {
|
||||||
return other.indexOf(val) > -1 ? true : false
|
return other.indexOf(val) > -1
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
this.getworkingSubclasses()
|
this.getworkingSubclasses()
|
||||||
@@ -385,29 +428,29 @@ export default {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.number_css {
|
.chosing {
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
border: 1px solid #DCDFE6;
|
border: 1px solid #DCDFE6;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/.number_css .el-input__inner:hover {
|
:deep(.chosing) .el-input__inner:hover {
|
||||||
border-color: #fff
|
border-color: #fff
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/.number_css .el-input.is-active .el-input__inner,
|
:deep(.chosing) .el-input.is-active .el-input__inner,
|
||||||
.el-input__inner:focus {
|
.el-input__inner:focus {
|
||||||
border-color: #fff
|
border-color: #fff
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/.number_css .el-input__inner {
|
:deep(.chosing) .el-input__inner {
|
||||||
border: 1px solid #fff;
|
border: 1px solid #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/.number_css .el-select:hover .el-input__inner {
|
:deep(.chosing) .el-select:hover .el-input__inner {
|
||||||
border-color: #fff;
|
border-color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/.number_css .el-select .el-input.is-focus .el-input__inner {
|
:deep(.chosing) .el-select .el-input.is-focus .el-input__inner {
|
||||||
border-color: #fff;
|
border-color: #fff;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
89
yarn.lock
89
yarn.lock
@@ -1026,6 +1026,14 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
loader-utils "^1.4.0"
|
loader-utils "^1.4.0"
|
||||||
|
|
||||||
|
"@d2-projects/vue-table-export@^1.1.3":
|
||||||
|
version "1.1.3"
|
||||||
|
resolved "https://registry.npmmirror.com/@d2-projects/vue-table-export/-/vue-table-export-1.1.3.tgz#09f7a5f63010e4f368a8e4e811c54d8d2a46fccc"
|
||||||
|
integrity sha512-qL0rvQ1cGIQPAMmQL60xcDq+/vfmfmzzGoDjr0L5D6Z4CdeyFUl7S9y9COXB+nb1ZbAxLrL2TAIZ9XrfXbJWEA==
|
||||||
|
dependencies:
|
||||||
|
file-saver "^2.0.0"
|
||||||
|
xlsx "^0.14.1"
|
||||||
|
|
||||||
"@hapi/address@2.x.x":
|
"@hapi/address@2.x.x":
|
||||||
version "2.1.4"
|
version "2.1.4"
|
||||||
resolved "https://registry.npmmirror.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
|
resolved "https://registry.npmmirror.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
|
||||||
@@ -2127,6 +2135,19 @@ address@^1.1.2:
|
|||||||
resolved "https://registry.npmmirror.com/address/-/address-1.2.0.tgz#d352a62c92fee90f89a693eccd2a8b2139ab02d9"
|
resolved "https://registry.npmmirror.com/address/-/address-1.2.0.tgz#d352a62c92fee90f89a693eccd2a8b2139ab02d9"
|
||||||
integrity sha512-tNEZYz5G/zYunxFm7sfhAxkXEuLj3K6BKwv6ZURlsF6yiUQ65z0Q2wZW9L5cPUl9ocofGvXOdFYbFHp0+6MOig==
|
integrity sha512-tNEZYz5G/zYunxFm7sfhAxkXEuLj3K6BKwv6ZURlsF6yiUQ65z0Q2wZW9L5cPUl9ocofGvXOdFYbFHp0+6MOig==
|
||||||
|
|
||||||
|
adler-32@~1.2.0:
|
||||||
|
version "1.2.0"
|
||||||
|
resolved "https://registry.npmmirror.com/adler-32/-/adler-32-1.2.0.tgz#6a3e6bf0a63900ba15652808cb15c6813d1a5f25"
|
||||||
|
integrity sha512-/vUqU/UY4MVeFsg+SsK6c+/05RZXIHZMGJA+PX5JyWI0ZRcBpupnRuPLU/NXXoFwMYCPCoxIfElM2eS+DUXCqQ==
|
||||||
|
dependencies:
|
||||||
|
exit-on-epipe "~1.0.1"
|
||||||
|
printj "~1.1.0"
|
||||||
|
|
||||||
|
adler-32@~1.3.0:
|
||||||
|
version "1.3.1"
|
||||||
|
resolved "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz#1dbf0b36dda0012189a32b3679061932df1821e2"
|
||||||
|
integrity sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==
|
||||||
|
|
||||||
aggregate-error@^3.0.0:
|
aggregate-error@^3.0.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
|
resolved "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
|
||||||
@@ -3129,6 +3150,14 @@ caseless@~0.12.0:
|
|||||||
resolved "https://registry.npmmirror.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
|
resolved "https://registry.npmmirror.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
|
||||||
integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==
|
integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==
|
||||||
|
|
||||||
|
cfb@^1.1.2:
|
||||||
|
version "1.2.2"
|
||||||
|
resolved "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz#94e687628c700e5155436dac05f74e08df23bc44"
|
||||||
|
integrity sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==
|
||||||
|
dependencies:
|
||||||
|
adler-32 "~1.3.0"
|
||||||
|
crc-32 "~1.2.0"
|
||||||
|
|
||||||
chalk@^1.1.3:
|
chalk@^1.1.3:
|
||||||
version "1.1.3"
|
version "1.1.3"
|
||||||
resolved "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
|
resolved "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
|
||||||
@@ -3384,6 +3413,14 @@ coa@^2.0.2:
|
|||||||
chalk "^2.4.1"
|
chalk "^2.4.1"
|
||||||
q "^1.1.2"
|
q "^1.1.2"
|
||||||
|
|
||||||
|
codepage@~1.14.0:
|
||||||
|
version "1.14.0"
|
||||||
|
resolved "https://registry.npmmirror.com/codepage/-/codepage-1.14.0.tgz#8cbe25481323559d7d307571b0fff91e7a1d2f99"
|
||||||
|
integrity sha512-iz3zJLhlrg37/gYRWgEPkaFTtzmnEv1h+r7NgZum2lFElYQPi0/5bnmuDfODHxfp0INEfnRqyfyeIJDbb7ahRw==
|
||||||
|
dependencies:
|
||||||
|
commander "~2.14.1"
|
||||||
|
exit-on-epipe "~1.0.1"
|
||||||
|
|
||||||
collection-visit@^1.0.0:
|
collection-visit@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.npmmirror.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
|
resolved "https://registry.npmmirror.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
|
||||||
@@ -3444,7 +3481,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
|
|||||||
dependencies:
|
dependencies:
|
||||||
delayed-stream "~1.0.0"
|
delayed-stream "~1.0.0"
|
||||||
|
|
||||||
commander@2.17.x:
|
commander@2.17.x, commander@~2.17.1:
|
||||||
version "2.17.1"
|
version "2.17.1"
|
||||||
resolved "https://registry.npmmirror.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
|
resolved "https://registry.npmmirror.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
|
||||||
integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
|
integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
|
||||||
@@ -3454,6 +3491,11 @@ commander@^2.18.0, commander@^2.19.0, commander@^2.20.0:
|
|||||||
resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
|
resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
|
||||||
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
|
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
|
||||||
|
|
||||||
|
commander@~2.14.1:
|
||||||
|
version "2.14.1"
|
||||||
|
resolved "https://registry.npmmirror.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa"
|
||||||
|
integrity sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==
|
||||||
|
|
||||||
commander@~2.19.0:
|
commander@~2.19.0:
|
||||||
version "2.19.0"
|
version "2.19.0"
|
||||||
resolved "https://registry.npmmirror.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
|
resolved "https://registry.npmmirror.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
|
||||||
@@ -3701,6 +3743,11 @@ cosmiconfig@^7, cosmiconfig@^7.0.0:
|
|||||||
path-type "^4.0.0"
|
path-type "^4.0.0"
|
||||||
yaml "^1.10.0"
|
yaml "^1.10.0"
|
||||||
|
|
||||||
|
crc-32@~1.2.0:
|
||||||
|
version "1.2.2"
|
||||||
|
resolved "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff"
|
||||||
|
integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==
|
||||||
|
|
||||||
create-ecdh@^4.0.0:
|
create-ecdh@^4.0.0:
|
||||||
version "4.0.4"
|
version "4.0.4"
|
||||||
resolved "https://registry.npmmirror.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
|
resolved "https://registry.npmmirror.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
|
||||||
@@ -4966,6 +5013,11 @@ execa@^3.3.0:
|
|||||||
signal-exit "^3.0.2"
|
signal-exit "^3.0.2"
|
||||||
strip-final-newline "^2.0.0"
|
strip-final-newline "^2.0.0"
|
||||||
|
|
||||||
|
exit-on-epipe@~1.0.1:
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.npmmirror.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692"
|
||||||
|
integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==
|
||||||
|
|
||||||
exit@^0.1.2:
|
exit@^0.1.2:
|
||||||
version "0.1.2"
|
version "0.1.2"
|
||||||
resolved "https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
|
resolved "https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
|
||||||
@@ -5180,6 +5232,11 @@ file-loader@^4.2.0:
|
|||||||
loader-utils "^1.2.3"
|
loader-utils "^1.2.3"
|
||||||
schema-utils "^2.5.0"
|
schema-utils "^2.5.0"
|
||||||
|
|
||||||
|
file-saver@^2.0.0:
|
||||||
|
version "2.0.5"
|
||||||
|
resolved "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38"
|
||||||
|
integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==
|
||||||
|
|
||||||
file-uri-to-path@1.0.0:
|
file-uri-to-path@1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.npmmirror.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
|
resolved "https://registry.npmmirror.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
|
||||||
@@ -5383,6 +5440,11 @@ forwarded@0.2.0:
|
|||||||
resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
|
resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
|
||||||
integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
|
integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
|
||||||
|
|
||||||
|
frac@~1.1.2:
|
||||||
|
version "1.1.2"
|
||||||
|
resolved "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz#3d74f7f6478c88a1b5020306d747dc6313c74d0b"
|
||||||
|
integrity sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==
|
||||||
|
|
||||||
fragment-cache@^0.2.1:
|
fragment-cache@^0.2.1:
|
||||||
version "0.2.1"
|
version "0.2.1"
|
||||||
resolved "https://registry.npmmirror.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
|
resolved "https://registry.npmmirror.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
|
||||||
@@ -9125,6 +9187,11 @@ pretty@2.0.0, pretty@^2.0.0:
|
|||||||
extend-shallow "^2.0.1"
|
extend-shallow "^2.0.1"
|
||||||
js-beautify "^1.6.12"
|
js-beautify "^1.6.12"
|
||||||
|
|
||||||
|
printj@~1.1.0:
|
||||||
|
version "1.1.2"
|
||||||
|
resolved "https://registry.npmmirror.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222"
|
||||||
|
integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==
|
||||||
|
|
||||||
process-nextick-args@~2.0.0:
|
process-nextick-args@~2.0.0:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
|
||||||
@@ -10182,6 +10249,13 @@ sprintf-js@~1.0.2:
|
|||||||
resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
|
||||||
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
|
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
|
||||||
|
|
||||||
|
ssf@~0.10.2:
|
||||||
|
version "0.10.3"
|
||||||
|
resolved "https://registry.npmmirror.com/ssf/-/ssf-0.10.3.tgz#8eae1fc29c90a552e7921208f81892d6f77acb2b"
|
||||||
|
integrity sha512-pRuUdW0WwyB2doSqqjWyzwCD6PkfxpHAHdZp39K3dp/Hq7f+xfMwNAWIi16DyrRg4gg9c/RvLYkJTSawTPTm1w==
|
||||||
|
dependencies:
|
||||||
|
frac "~1.1.2"
|
||||||
|
|
||||||
sshpk@^1.7.0:
|
sshpk@^1.7.0:
|
||||||
version "1.17.0"
|
version "1.17.0"
|
||||||
resolved "https://registry.npmmirror.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5"
|
resolved "https://registry.npmmirror.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5"
|
||||||
@@ -11687,6 +11761,19 @@ ws@^7.0.0:
|
|||||||
resolved "https://registry.npmmirror.com/ws/-/ws-7.5.8.tgz#ac2729881ab9e7cbaf8787fe3469a48c5c7f636a"
|
resolved "https://registry.npmmirror.com/ws/-/ws-7.5.8.tgz#ac2729881ab9e7cbaf8787fe3469a48c5c7f636a"
|
||||||
integrity sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==
|
integrity sha512-ri1Id1WinAX5Jqn9HejiGb8crfRio0Qgu8+MtL36rlTA6RLsMdWt1Az/19A2Qij6uSHUMphEFaTKa4WG+UNHNw==
|
||||||
|
|
||||||
|
xlsx@^0.14.1:
|
||||||
|
version "0.14.5"
|
||||||
|
resolved "https://registry.npmmirror.com/xlsx/-/xlsx-0.14.5.tgz#3637e914d791bdca7382816e173f7d725ed0e0d2"
|
||||||
|
integrity sha512-s/5f4/mjeWREmIWZ+HtDfh/rnz51ar+dZ4LWKZU3u9VBx2zLdSIWTdXgoa52/pnZ9Oe/Vu1W1qzcKzLVe+lq4w==
|
||||||
|
dependencies:
|
||||||
|
adler-32 "~1.2.0"
|
||||||
|
cfb "^1.1.2"
|
||||||
|
codepage "~1.14.0"
|
||||||
|
commander "~2.17.1"
|
||||||
|
crc-32 "~1.2.0"
|
||||||
|
exit-on-epipe "~1.0.1"
|
||||||
|
ssf "~0.10.2"
|
||||||
|
|
||||||
xml-name-validator@^3.0.0:
|
xml-name-validator@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
|
resolved "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
|
||||||
|
|||||||
Reference in New Issue
Block a user