test #47
@ -8,7 +8,9 @@ VUE_APP_TITLE = 芋道管理系统
|
|||||||
VUE_APP_BASE_API = '/prod-api'
|
VUE_APP_BASE_API = '/prod-api'
|
||||||
|
|
||||||
# 根据服务器或域名修改
|
# 根据服务器或域名修改
|
||||||
PUBLIC_PATH = 'http://my-pi.com:8888/yudao-admin/'
|
# PUBLIC_PATH = 'http://my-pi.com:8888/yudao-admin/'
|
||||||
|
PUBLIC_PATH = 'http://192.168.0.33:8888/'
|
||||||
|
|
||||||
# 二级部署路径
|
# 二级部署路径
|
||||||
VUE_APP_APP_NAME ='yudao-admin'
|
VUE_APP_APP_NAME ='yudao-admin'
|
||||||
|
|
||||||
|
@ -247,7 +247,7 @@ Router.prototype.push = function push(location) {
|
|||||||
|
|
||||||
export default new Router({
|
export default new Router({
|
||||||
base: process.env.VUE_APP_APP_NAME ? process.env.VUE_APP_APP_NAME : "/",
|
base: process.env.VUE_APP_APP_NAME ? process.env.VUE_APP_APP_NAME : "/",
|
||||||
mode: 'history', // 去掉url中的#
|
mode: 'hash', // 去掉url中的#
|
||||||
scrollBehavior: () => ({y: 0}),
|
scrollBehavior: () => ({y: 0}),
|
||||||
routes: constantRoutes
|
routes: constantRoutes
|
||||||
})
|
})
|
||||||
|
219
src/views/base/equipmentBindSection/dialogForm.vue
Normal file
219
src/views/base/equipmentBindSection/dialogForm.vue
Normal file
@ -0,0 +1,219 @@
|
|||||||
|
<!--
|
||||||
|
filename: dialogForm.vue
|
||||||
|
author: liubin
|
||||||
|
date: 2023-09-11 15:55:13
|
||||||
|
description: DialogForm for equipmentBindSection only
|
||||||
|
-->
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<el-form
|
||||||
|
ref="form"
|
||||||
|
:model="dataForm"
|
||||||
|
label-width="100px"
|
||||||
|
v-loading="formLoading">
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="产线"
|
||||||
|
prop="productionLineId"
|
||||||
|
:rules="[{ required: true, message: '不能为空', trigger: 'blur' }]">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.productionLineId"
|
||||||
|
placeholder="请选择产线"
|
||||||
|
@change="handleProductlineChange">
|
||||||
|
<el-option
|
||||||
|
v-for="opt in productionLineList"
|
||||||
|
:key="opt.value"
|
||||||
|
:label="opt.label"
|
||||||
|
:value="opt.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="工段"
|
||||||
|
prop="workshopSectionId"
|
||||||
|
:rules="[{ required: true, message: '不能为空', trigger: 'blur' }]">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.workshopSectionId"
|
||||||
|
placeholder="请选择工段"
|
||||||
|
@change="$emit('update', dataForm)">
|
||||||
|
<el-option
|
||||||
|
v-for="opt in worksectionList"
|
||||||
|
:key="opt.value"
|
||||||
|
:label="opt.label"
|
||||||
|
:value="opt.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item
|
||||||
|
label="设备"
|
||||||
|
prop="equipmentId"
|
||||||
|
:rules="[{ required: true, message: '不能为空', trigger: 'blur' }]">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.equipmentId"
|
||||||
|
placeholder="请选择设备"
|
||||||
|
@change="$emit('update', dataForm)">
|
||||||
|
<el-option
|
||||||
|
v-for="opt in equipmentList"
|
||||||
|
:key="opt.value"
|
||||||
|
:label="opt.label"
|
||||||
|
:value="opt.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="工段排序" prop="sort">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.sort"
|
||||||
|
@change="$emit('update', dataForm)"
|
||||||
|
placeholder="请输入工段排序" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="产线数据类型" prop="lineDataType">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.lineDataType"
|
||||||
|
placeholder="请选择产线数据类型"
|
||||||
|
@change="$emit('update', dataForm)">
|
||||||
|
<el-option
|
||||||
|
v-for="opt in [
|
||||||
|
{ label: '无类型', value: 0 },
|
||||||
|
{ label: '进口统计', value: 1 },
|
||||||
|
{ label: '出口统计', value: 2 },
|
||||||
|
]"
|
||||||
|
:key="opt.value"
|
||||||
|
:label="opt.label"
|
||||||
|
:value="opt.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="工段数据类型" prop="sectionDataType">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.sectionDataType"
|
||||||
|
placeholder="请选择工段数据类型"
|
||||||
|
@change="$emit('update', dataForm)">
|
||||||
|
<el-option
|
||||||
|
v-for="opt in [
|
||||||
|
{ label: '无类型', value: 0 },
|
||||||
|
{ label: '进口统计', value: 1 },
|
||||||
|
{ label: '出口统计', value: 2 },
|
||||||
|
]"
|
||||||
|
:key="opt.value"
|
||||||
|
:label="opt.label"
|
||||||
|
:value="opt.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'DialogForm',
|
||||||
|
model: {
|
||||||
|
prop: 'dataForm',
|
||||||
|
event: 'update',
|
||||||
|
},
|
||||||
|
emits: ['update'],
|
||||||
|
components: {},
|
||||||
|
props: {
|
||||||
|
dataForm: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({}),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
formLoading: true,
|
||||||
|
productionLineList: [],
|
||||||
|
equipmentList: [],
|
||||||
|
worksectionList: [],
|
||||||
|
dataFormCache: null,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
Promise.all([this.getProductLineList(), this.getEquipmentList()]).then(
|
||||||
|
() => {
|
||||||
|
this.formLoading = false;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
'dataForm.productionLineId': {
|
||||||
|
handler: async function (plId) {
|
||||||
|
if (plId) await this.getWorksectionList(plId);
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 模拟透传 ref */
|
||||||
|
validate(cb) {
|
||||||
|
return this.$refs.form.validate(cb);
|
||||||
|
},
|
||||||
|
resetFields(args) {
|
||||||
|
return this.$refs.form.resetFields(args);
|
||||||
|
},
|
||||||
|
async handleProductlineChange(id) {
|
||||||
|
await this.getWorksectionList(id);
|
||||||
|
this.dataForm.workshopSectionId = null;
|
||||||
|
this.$emit('update', this.dataForm);
|
||||||
|
},
|
||||||
|
// getCode
|
||||||
|
async getCode(url) {
|
||||||
|
const response = await this.$axios(url);
|
||||||
|
return response.data;
|
||||||
|
},
|
||||||
|
// 获取产线列表
|
||||||
|
async getProductLineList() {
|
||||||
|
const response = await this.$axios('/base/production-line/listAll');
|
||||||
|
this.productionLineList = response.data.map((item) => ({
|
||||||
|
label: item.name,
|
||||||
|
value: item.id,
|
||||||
|
}));
|
||||||
|
},
|
||||||
|
// 获取设备列表
|
||||||
|
async getEquipmentList() {
|
||||||
|
const response = await this.$axios(
|
||||||
|
'/base/equipment/page?pageNo=1&pageSize=100'
|
||||||
|
);
|
||||||
|
this.equipmentList = response.data.list.map((item) => ({
|
||||||
|
label: item.name,
|
||||||
|
value: item.id,
|
||||||
|
}));
|
||||||
|
},
|
||||||
|
// 获取工段列表
|
||||||
|
async getWorksectionList(plId) {
|
||||||
|
const response = await this.$axios(
|
||||||
|
'/base/workshop-section/listByParentId',
|
||||||
|
{
|
||||||
|
params: {
|
||||||
|
id: plId,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
);
|
||||||
|
this.worksectionList = response.data.map((item) => ({
|
||||||
|
label: item.name,
|
||||||
|
value: item.id,
|
||||||
|
}));
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.el-date-editor,
|
||||||
|
.el-select {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
@ -37,7 +37,7 @@
|
|||||||
@close="cancel"
|
@close="cancel"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
@confirm="submitForm">
|
@confirm="submitForm">
|
||||||
<DialogForm v-if="open" ref="form" :dataForm="form" :rows="rows" />
|
<DialogForm v-if="open" ref="form" v-model="form" :rows="rows" />
|
||||||
</base-dialog>
|
</base-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -53,10 +53,10 @@ import {
|
|||||||
} from '@/api/base/equipmentBindSection';
|
} from '@/api/base/equipmentBindSection';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import basicPageMixin from '@/mixins/lb/basicPageMixin';
|
import basicPageMixin from '@/mixins/lb/basicPageMixin';
|
||||||
|
import DialogForm from './dialogForm.vue';
|
||||||
export default {
|
export default {
|
||||||
name: 'EquipmentBindSection',
|
name: 'EquipmentBindSection',
|
||||||
components: {},
|
components: { DialogForm },
|
||||||
mixins: [basicPageMixin],
|
mixins: [basicPageMixin],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -181,8 +181,8 @@ export default {
|
|||||||
select: true,
|
select: true,
|
||||||
label: '工段',
|
label: '工段',
|
||||||
url: '/base/workshop-section/listByParentId', // 根据产线获取
|
url: '/base/workshop-section/listByParentId', // 根据产线获取
|
||||||
// depends: '__product_line', // 依赖产线获取数据
|
// depends: '__product_line', // 依赖产线获取数据
|
||||||
depends: 'productionLineId',
|
depends: 'productionLineId',
|
||||||
prop: 'workshopSectionId',
|
prop: 'workshopSectionId',
|
||||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
||||||
},
|
},
|
||||||
|
@ -12,31 +12,7 @@
|
|||||||
ref="search-bar"
|
ref="search-bar"
|
||||||
@headBtnClick="handleSearchBarBtnClick" />
|
@headBtnClick="handleSearchBarBtnClick" />
|
||||||
|
|
||||||
<!-- <base-table
|
<div v-if="tableList.length" class="tables">
|
||||||
:table-props="[
|
|
||||||
{ type: 'index', label: '序号' },
|
|
||||||
{ prop: 'name', label: '设备名称', align: 'center' },
|
|
||||||
{ prop: 'code', label: '设备代码', align: 'center' },
|
|
||||||
{ prop: 'time', label: '时间', align: 'center' },
|
|
||||||
]"
|
|
||||||
:table-data="[
|
|
||||||
{ index: 1, name: '1', code: 'c1', time: '2021-08-31 09:14:19' },
|
|
||||||
{ index: 2, name: '2', code: 'c2', time: '2021-08-31 09:14:19' },
|
|
||||||
{ index: 3, name: '3', code: 'c3', time: '2021-08-31 09:14:19' },
|
|
||||||
{ index: 4, name: '4', code: 'c4', time: '2021-08-31 09:14:19' },
|
|
||||||
{ index: 5, name: '5', code: 'c5', time: '2021-08-31 09:14:19' },
|
|
||||||
]"
|
|
||||||
:span-method="
|
|
||||||
({ rowIndex, columnIndex }) => {
|
|
||||||
if (rowIndex == 1 && columnIndex == 0) {
|
|
||||||
return [1, 3];
|
|
||||||
}
|
|
||||||
return [1, 1];
|
|
||||||
}
|
|
||||||
"
|
|
||||||
@emitFun="(val) => handleEmitFun(table, val)"></base-table> -->
|
|
||||||
|
|
||||||
<div class="tables">
|
|
||||||
<div class="custom-table" v-for="table in tableList" :key="table.key">
|
<div class="custom-table" v-for="table in tableList" :key="table.key">
|
||||||
<!-- {{ JSON.stringify(spanMethod) }} -->
|
<!-- {{ JSON.stringify(spanMethod) }} -->
|
||||||
<base-table
|
<base-table
|
||||||
@ -58,16 +34,14 @@
|
|||||||
getListFor(table, { page, limit, current })
|
getListFor(table, { page, limit, current })
|
||||||
" />
|
" />
|
||||||
</div>
|
</div>
|
||||||
<!-- v-show="table.dataManager?.total > 0"
|
|
||||||
:total="table.dataManager?.total || 0" -->
|
|
||||||
<!-- @size-change="($event) => handleSizeChange(table, $event)" -->
|
|
||||||
</div>
|
</div>
|
||||||
|
<div v-else style="margin-top: 20px; color: #c7c7c7; text-align: center;">暂无数据</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import LocalDataManager from './utils/local-data-manager';
|
import LocalDataManager from './utils/local-data-manager';
|
||||||
import response from './response';
|
// import response from './response';
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -123,14 +97,14 @@ export default {
|
|||||||
time: [new Date(aWeekAgo), new Date(today)],
|
time: [new Date(aWeekAgo), new Date(today)],
|
||||||
},
|
},
|
||||||
tableList: [
|
tableList: [
|
||||||
{
|
// {
|
||||||
key: 'base-table__key__1',
|
// key: 'base-table__key__1',
|
||||||
tableProps: [],
|
// tableProps: [],
|
||||||
list: [],
|
// list: [],
|
||||||
pageNo: 1,
|
// pageNo: 1,
|
||||||
pageSize: 3,
|
// pageSize: 3,
|
||||||
total: 0,
|
// total: 0,
|
||||||
},
|
// },
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -152,7 +126,7 @@ export default {
|
|||||||
if (this.name)
|
if (this.name)
|
||||||
this.$set(this.searchBarFormConfig[1], 'defaultSelect', this.name);
|
this.$set(this.searchBarFormConfig[1], 'defaultSelect', this.name);
|
||||||
|
|
||||||
this.handleResponse();
|
// this.handleResponse();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
buildProps(table) {
|
buildProps(table) {
|
||||||
@ -199,11 +173,9 @@ export default {
|
|||||||
return { props, firstLineData };
|
return { props, firstLineData };
|
||||||
},
|
},
|
||||||
|
|
||||||
handleResponse() {
|
handleResponse(response) {
|
||||||
const { code, data } = response;
|
const { code, data } = response;
|
||||||
if (code == 0) {
|
if (code == 0) {
|
||||||
console.log('response', code, data);
|
|
||||||
|
|
||||||
// 处理一个表格
|
// 处理一个表格
|
||||||
data.forEach((table, index) => {
|
data.forEach((table, index) => {
|
||||||
console.log('handle index:', index, table);
|
console.log('handle index:', index, table);
|
||||||
@ -220,26 +192,28 @@ export default {
|
|||||||
|
|
||||||
// 处理某一表格的各个行
|
// 处理某一表格的各个行
|
||||||
const { data } = table;
|
const { data } = table;
|
||||||
data.forEach((row, idx) => {
|
if (data) {
|
||||||
const listItem = {
|
data.forEach((row, idx) => {
|
||||||
index: idx + 1,
|
const listItem = {
|
||||||
time: moment(+row.time).format('YYYY-MM-DD HH:mm:ss'),
|
index: idx + 1,
|
||||||
plcCode: row.plcCode,
|
time: moment(+row.time).format('YYYY-MM-DD HH:mm:ss'),
|
||||||
};
|
plcCode: row.plcCode,
|
||||||
row.data.forEach((column) => {
|
};
|
||||||
listItem[column.dynamicName] = column.dynamicValue;
|
row.data.forEach((column) => {
|
||||||
|
listItem[column.dynamicName] = column.dynamicValue;
|
||||||
|
});
|
||||||
|
this.tableList[index].list.push(listItem);
|
||||||
|
this.tableList[index].total++;
|
||||||
});
|
});
|
||||||
this.tableList[index].list.push(listItem);
|
|
||||||
this.tableList[index].total++;
|
|
||||||
});
|
|
||||||
|
|
||||||
// 处理分页
|
// 处理分页
|
||||||
const { pageNo, pageSize, list } = this.tableList[index];
|
const { pageNo, pageSize, list } = this.tableList[index];
|
||||||
this.tableList[index].dataManager = new LocalDataManager(
|
this.tableList[index].dataManager = new LocalDataManager(
|
||||||
list,
|
list,
|
||||||
pageNo,
|
pageNo,
|
||||||
pageSize
|
pageSize
|
||||||
);
|
);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -255,12 +229,13 @@ export default {
|
|||||||
|
|
||||||
/** 查询 */
|
/** 查询 */
|
||||||
async handleQuery() {
|
async handleQuery() {
|
||||||
const { data } = this.$axios({
|
this.handleResponse(
|
||||||
url: '/monitoring/equipment-monitor/runLog',
|
await this.$axios({
|
||||||
method: 'get',
|
url: '/monitoring/equipment-monitor/runLog',
|
||||||
params: this.queryParams,
|
method: 'get',
|
||||||
});
|
params: this.queryParams,
|
||||||
console.log('data', data);
|
})
|
||||||
|
);
|
||||||
},
|
},
|
||||||
|
|
||||||
async handleSearchBarBtnClick({ btnName, timeVal }) {
|
async handleSearchBarBtnClick({ btnName, timeVal }) {
|
||||||
|
58
yarn.lock
58
yarn.lock
@ -1859,6 +1859,11 @@ address@^1.1.2:
|
|||||||
resolved "https://registry.npmmirror.com/address/-/address-1.2.1.tgz"
|
resolved "https://registry.npmmirror.com/address/-/address-1.2.1.tgz"
|
||||||
integrity sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==
|
integrity sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==
|
||||||
|
|
||||||
|
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==
|
||||||
|
|
||||||
aes-decrypter@1.0.3:
|
aes-decrypter@1.0.3:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.npmmirror.com/aes-decrypter/-/aes-decrypter-1.0.3.tgz"
|
resolved "https://registry.npmmirror.com/aes-decrypter/-/aes-decrypter-1.0.3.tgz"
|
||||||
@ -2739,6 +2744,14 @@ caseless@~0.12.0:
|
|||||||
resolved "https://registry.npmmirror.com/caseless/-/caseless-0.12.0.tgz"
|
resolved "https://registry.npmmirror.com/caseless/-/caseless-0.12.0.tgz"
|
||||||
integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==
|
integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==
|
||||||
|
|
||||||
|
cfb@~1.2.1:
|
||||||
|
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@2.3.0:
|
chalk@2.3.0:
|
||||||
version "2.3.0"
|
version "2.3.0"
|
||||||
resolved "https://registry.npmmirror.com/chalk/-/chalk-2.3.0.tgz"
|
resolved "https://registry.npmmirror.com/chalk/-/chalk-2.3.0.tgz"
|
||||||
@ -2999,6 +3012,11 @@ code-brick-zj@^1.0.2:
|
|||||||
resolved "https://registry.npmmirror.com/code-brick-zj/-/code-brick-zj-1.0.2.tgz#f9f5fa97faa65262e887a3a15014827ac95b1fea"
|
resolved "https://registry.npmmirror.com/code-brick-zj/-/code-brick-zj-1.0.2.tgz#f9f5fa97faa65262e887a3a15014827ac95b1fea"
|
||||||
integrity sha512-V8XwYqXjIPMfPCaZMja4I2MJPT45EEnzRmTL1Ps6aMsmUQ/PhZ48OwUvddBFNqNZeVV13aPm1b5K1c3ogfad8Q==
|
integrity sha512-V8XwYqXjIPMfPCaZMja4I2MJPT45EEnzRmTL1Ps6aMsmUQ/PhZ48OwUvddBFNqNZeVV13aPm1b5K1c3ogfad8Q==
|
||||||
|
|
||||||
|
codepage@~1.15.0:
|
||||||
|
version "1.15.0"
|
||||||
|
resolved "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz#2e00519024b39424ec66eeb3ec07227e692618ab"
|
||||||
|
integrity sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==
|
||||||
|
|
||||||
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"
|
resolved "https://registry.npmmirror.com/collection-visit/-/collection-visit-1.0.0.tgz"
|
||||||
@ -3324,6 +3342,11 @@ cosmiconfig@^5.0.0:
|
|||||||
js-yaml "^3.13.1"
|
js-yaml "^3.13.1"
|
||||||
parse-json "^4.0.0"
|
parse-json "^4.0.0"
|
||||||
|
|
||||||
|
crc-32@~1.2.0, crc-32@~1.2.1:
|
||||||
|
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"
|
resolved "https://registry.npmmirror.com/create-ecdh/-/create-ecdh-4.0.4.tgz"
|
||||||
@ -4849,6 +4872,11 @@ forwarded@0.2.0:
|
|||||||
resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz"
|
resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz"
|
||||||
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"
|
resolved "https://registry.npmmirror.com/fragment-cache/-/fragment-cache-0.2.1.tgz"
|
||||||
@ -9131,6 +9159,13 @@ sprintf-js@~1.0.2:
|
|||||||
resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz"
|
resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz"
|
||||||
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
|
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
|
||||||
|
|
||||||
|
ssf@~0.11.2:
|
||||||
|
version "0.11.2"
|
||||||
|
resolved "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz#0b99698b237548d088fc43cdf2b70c1a7512c06c"
|
||||||
|
integrity sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==
|
||||||
|
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"
|
resolved "https://registry.npmmirror.com/sshpk/-/sshpk-1.17.0.tgz"
|
||||||
@ -10461,11 +10496,21 @@ which@^2.0.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
isexe "^2.0.0"
|
isexe "^2.0.0"
|
||||||
|
|
||||||
|
wmf@~1.0.1:
|
||||||
|
version "1.0.2"
|
||||||
|
resolved "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz#7d19d621071a08c2bdc6b7e688a9c435298cc2da"
|
||||||
|
integrity sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==
|
||||||
|
|
||||||
word-wrap@^1.2.3:
|
word-wrap@^1.2.3:
|
||||||
version "1.2.3"
|
version "1.2.3"
|
||||||
resolved "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.3.tgz"
|
resolved "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.3.tgz"
|
||||||
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
|
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
|
||||||
|
|
||||||
|
word@~0.3.0:
|
||||||
|
version "0.3.0"
|
||||||
|
resolved "https://registry.npmmirror.com/word/-/word-0.3.0.tgz#8542157e4f8e849f4a363a288992d47612db9961"
|
||||||
|
integrity sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==
|
||||||
|
|
||||||
worker-farm@^1.7.0:
|
worker-farm@^1.7.0:
|
||||||
version "1.7.0"
|
version "1.7.0"
|
||||||
resolved "https://registry.npmmirror.com/worker-farm/-/worker-farm-1.7.0.tgz"
|
resolved "https://registry.npmmirror.com/worker-farm/-/worker-farm-1.7.0.tgz"
|
||||||
@ -10522,6 +10567,19 @@ xhr@2.4.0:
|
|||||||
parse-headers "^2.0.0"
|
parse-headers "^2.0.0"
|
||||||
xtend "^4.0.0"
|
xtend "^4.0.0"
|
||||||
|
|
||||||
|
xlsx@^0.18.5:
|
||||||
|
version "0.18.5"
|
||||||
|
resolved "https://registry.npmmirror.com/xlsx/-/xlsx-0.18.5.tgz#16711b9113c848076b8a177022799ad356eba7d0"
|
||||||
|
integrity sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==
|
||||||
|
dependencies:
|
||||||
|
adler-32 "~1.3.0"
|
||||||
|
cfb "~1.2.1"
|
||||||
|
codepage "~1.15.0"
|
||||||
|
crc-32 "~1.2.1"
|
||||||
|
ssf "~0.11.2"
|
||||||
|
wmf "~1.0.1"
|
||||||
|
word "~0.3.0"
|
||||||
|
|
||||||
xml-js@1.6.11:
|
xml-js@1.6.11:
|
||||||
version "1.6.11"
|
version "1.6.11"
|
||||||
resolved "https://registry.npmmirror.com/xml-js/-/xml-js-1.6.11.tgz"
|
resolved "https://registry.npmmirror.com/xml-js/-/xml-js-1.6.11.tgz"
|
||||||
|
Loading…
Reference in New Issue
Block a user