Commit 768d9a49 authored by 刘殿昕's avatar 刘殿昕

Merge branch 'ldx' into dev

parents d6535d1d 197448d1
<template>
<div class="block_radius">
<slot></slot>
</div>
</template>
<script>
export default {
components: {},
data: () => ({}),
computed: {},
watch: {},
methods: {},
mounted() {}
};
</script>
<style scoped>
.block_radius {
background-color: #fff;
border-radius: 10px;
padding: 10px;
}
</style>
<template>
<div>
<div class="ace-container">
<div class="ace-editor" ref="ace"></div>
</div>
</div>
</template>
<script>
import ace from "ace-builds";
import "ace-builds/webpack-resolver"; // 在 webpack 环境中使用必须要导入
import "ace-builds/src-noconflict/mode-yaml"; // 默认设置的语言模式
import "ace-builds/src-noconflict/mode-json"; // 默认设置的语言模式
import yaml from "json2yaml"; //json转yaml
import json from "js-yaml"; //yaml转json
export default {
props: ["items", "acemodePath"],
data() {
return {
aceEditor: null,
themePath: "ace/theme/monokai", // 不导入 webpack-resolver,该模块路径会报错
modePath: this.acemodePath
};
},
mounted() {
this.aceEditor = ace.edit(this.$refs.ace, {
maxLines: 40,
minLines: 10,
fontSize: 14,
mode: this.acemodePath,
wrap: this.wrap,
tabSize: 4,
highlightActiveLine: false
});
if (this.acemodePath == "ace/mode/yaml") {
var obj = yaml.stringify(this.items);
this.aceEditor.getSession().setValue(obj);
} else if (this.acemodePath == "ace/mode/json") {
this.aceEditor
.getSession()
.setValue(JSON.stringify(this.items, null, "\t"));
}
},
watch: {},
methods: {
// updatechild: function() {
// json.load(this.aceEditor.getSession().getValue());
// console.log(json.load(this.aceEditor.getSession().getValue()));
// },
parentHandleclick: function() {
this.$emit(
"jsonyamlvalue",
json.load(this.aceEditor.getSession().getValue())
);
}
}
};
</script>
<style scoped>
.ace-container {
width: 60%;
height: 629px;
margin: 50px;
}
</style>
<style>
.ace-container /deep/ .ace-editor {
width: 100% !important;
height: 633px !important;
}
.ace-container /deep/ .ace_content {
/* width: 100% !important; */
height: 633px !important;
}
.ace-container /deep/ .ace_text-layer {
/* width: 100% !important; */
word-break: break-all;
/* background:yellowgreen; */
}
.ace_print-margin {
display: none !important;
}
.ace-tm {
background-color: #f8f9fd !important;
border-radius: 0 8px 8px 0 !important;
}
.ace-tm .ace_gutter {
background-color: #1a2236 !important;
border-radius: 8px 0px 0px 8px !important;
color: #e3e5ef !important;
}
.ace_gutter-layer {
background-color: #1a2236 !important;
border-radius: 8px 0px 0px 8px !important;
color: #e3e5ef !important;
}
.ace-tm .ace_gutter-active-line {
background-color: #315efc !important;
}
.ace_editor {
overflow: inherit;
}
</style>
<template>
<div class="add_img">
<div class="add_pic">
<i class="el-icon-plus add_icon"></i>
<input
type="file"
id="uploads"
class="up_input"
accept="image/png, image/jpeg, image/gif, image/jpg"
@change="uploadImg($event,1)"
/>
</div>
<!-- 弹出层-裁剪 -->
<el-dialog
title="编辑图片"
:visible.sync="dialogVisible"
:before-close="handleClose"
:close-on-click-modal="false"
class="cropper_dia"
>
<div style="width; 100%">
<div class="cropper_container">
<!-- 裁剪 -->
<div class="croppers">
<vueCropper
style="width:100%;height:300px"
ref="cropper"
:img="attach.customaryUrl"
:autoCrop="options.autoCrop"
:fixedBox="options.fixedBox"
:canMoveBox="options.canMoveBox"
:autoCropWidth="options.autoCropWidth"
:autoCropHeight="options.autoCropHeight"
:centerBox="options.centerBox"
@realTime="realTime"
></vueCropper>
</div>
<!-- 实时裁剪结果 -->
<div :style="previews.div" class="preview">
<img :src="previews.url" :style="previews.img" />
</div>
</div>
<el-row class="footerBtn" align="center">
<el-button type="primary" size="small" round @click="cut('blob')">确认</el-button>
<el-button type="primary" size="small" round @click="handleClose">取消</el-button>
</el-row>
</div>
</el-dialog>
</div>
</template>
<script>
import { VueCropper } from "vue-cropper";
export default {
components: {
VueCropper
},
data() {
return {
dialogVisible: false,
options: {
autoCrop: true, //默认生成截图框
fixedBox: true, //固定截图框大小
canMoveBox: true, //截图框不能拖动
autoCropWidth: 200, //截图框宽度
autoCropHeight: 200, //截图框高度
centerBox: false //截图框被限制在图片里面
},
previews: {}, //实时预览图数据
attach: {
id: "",
userId: "",
customaryUrl: "", //原图片路径
laterUrl: "", //裁剪后图片路径
attachType: "photo" //附件类型
},
fileName: "", //本机文件地址
uploadImgRelaPath: "" //上传后图片地址
};
},
methods: {
//控制弹出层关闭
handleClose() {
this.dialogVisible = false;
},
//实时预览
realTime(data) {
this.previews = data;
},
//加载图片信息
find() {
this.userId = sessionStorage.getItem("userId");
this.$http.post("ssapi", this.attach).then(res => {
console.log(res);
});
},
//选择本地图片
uploadImg(e, num) {
var file = e.target.files[0];
if (!/\.(gif|jpg|jpeg|png|bmp|GIF|JPG|PNG)$/.test(e.target.value)) {
this.$message.error("图片类型必须是.gif,jpeg,jpg,png,bmp中的一种");
return false;
}
// console.log(e.target);
//fileReader 接口,用于异步读取文件数据
var reader = new FileReader();
reader.readAsDataURL(file); //重要 以dataURL形式读取文件
reader.onload = e => {
// data = window.URL.createObjectURL(new Blob([e.target.result])) 转化为blob格式
let data = e.target.result;
this.attach.customaryUrl = data;
// 转化为base64
// reader.readAsDataURL(file)
// 转化为blob
};
this.dialogVisible = true;
},
//确认截图,上传
cut(type) {
var formData = new FormData();
this.$refs.cropper.getCropBlob(res => {
//res是裁剪后图片的bolb对象
formData.append("file", res, this.userId);
let url = "ssurl";
this.$http
.post(url, formData, {
contentType: false,
processData: false,
headers: { "Content-Type": "multipart/form-data" }
})
.then(res => {
// 上传图片后服务器返回访问路径
this.$emit("getNewUrl", res.data.visitUrl);
});
});
}
}
};
</script>
<style scoped>
.add_img {
display: inline-block;
margin-left: 10px;
}
.add_pic {
width: 100px;
height: 100px;
border: 1px #409eff solid;
border-radius: 5px;
position: relative;
}
.add_icon {
position: absolute;
top: calc((100% - 40px) / 2);
left: calc((100% - 40px) / 2);
color: #409eff;
font-size: 40px;
}
.up_input {
display: inline-block;
width: 100%;
height: 100%;
opacity: 0;
}
.cropper_container {
width: 100%;
}
.croppers {
display: inline-block;
width: 400px;
}
.preview {
display: inline-block;
overflow: hidden;
border: 1px solid #cccccc;
background: #cccccc;
margin-left: 20px;
}
.footerBtn {
display: flex;
justify-content: center;
margin-top: 15px;
}
</style>
<style>
.cropper_dia .el-dialog {
width: 860px;
}
</style>
\ No newline at end of file
<template> <template>
<div class="text-xs-center" @click="changeStatus"> <div class="text-xs-center">
<input ref="inp" v-show="inputStatus" v-model="inputText" @blur="changeStatus" class="table_in_input" /> <el-input ref="inp" v-model="inputText" size="small" @input="changeValue" class="table_in_input"></el-input>
<span v-show="!inputStatus">{{ item }}</span>
</div> </div>
</template> </template>
<script> <script>
import helper from "@/services/helper"; import helper from "@/services/helper";
export default { export default {
props: ["item", "header", "rowId"], props: {
item: {
type: String,
default: ""
},
header: {
type: String,
default: ""
},
rowId: {
type: Number,
default: 0
}
},
data: () => ({ data: () => ({
inputStatus: false,
inputText: "" inputText: ""
}), }),
methods: { mounted() {
changeStatus() {
this.inputStatus = !this.inputStatus;
if (this.inputStatus) {
// 聚焦事件需要延时
setTimeout(() => {
this.$refs.inp.focus();
}, 100);
this.inputText = this.item; this.inputText = this.item;
} else { },
methods: {
changeValue() {
this.$emit("changeInputValue", { this.$emit("changeInputValue", {
rowId: this.rowId, rowId: this.rowId,
header: this.header, header: this.header,
...@@ -30,18 +36,21 @@ export default { ...@@ -30,18 +36,21 @@ export default {
}); });
} }
} }
}
}; };
</script> </script>
<style scoped> <style scoped>
.text-xs-center { .text-xs-center {
height: 24px; height: 32px;
}
.text-xs-center input {
width: 100%;
} }
.table_in_input { .table_in_input {
text-align: center; text-align: center;
font-size: 14px; font-size: 14px;
} }
</style> </style>
<style>
.text-xs-center input {
width: 100%;
background-color: #f7f8f9;
}
</style>
\ No newline at end of file
...@@ -25,17 +25,24 @@ ...@@ -25,17 +25,24 @@
<el-table <el-table
:data="selectedTabsPage" :data="selectedTabsPage"
:size="size" :size="size"
:border="isBorder" :border="border"
@select="select" @select="select"
@select-all="selectAll" @select-all="selectAll"
:defaultSelections="defaultSelections" :defaultSelections="defaultSelections"
element-loading-text="加载中..." element-loading-text="加载中..."
:empty-text="emptyText"
:stripe="stripe"
row-key="id"
default-expand-all
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
ref="cesTable" ref="cesTable"
:class="radius?'table_radius':''"
:header-cell-class-name="headerCellClassName"
v-cloak v-cloak
> >
<el-table-column v-if="isSelection" type="selection" align="center"></el-table-column> <el-table-column v-if="isSelection" type="selection" align="center"></el-table-column>
<!-- 序号 --> <!-- 序号 -->
<el-table-column v-if="isIndex" type="index" :label="indexLabel" width="40" align="center"></el-table-column> <el-table-column v-if="isIndex" type="index" :label="indexLabel" width="80" align="center"></el-table-column>
<!-- 数据栏 --> <!-- 数据栏 -->
<el-table-column <el-table-column
...@@ -61,20 +68,20 @@ ...@@ -61,20 +68,20 @@
</b> </b>
</span> </span>
<!--href 链接--> <!--href 链接-->
<v-cloud-table-umhref <v-apaas-table-umhref
v-else-if="item.type =='href'" v-else-if="item.type =='href'"
:header="item" :header="item"
:row="scope.row" :row="scope.row"
:detailsUrl="detailsUrl" :detailsUrl="detailsUrl"
></v-cloud-table-umhref> ></v-apaas-table-umhref>
<!-- could edit --> <!-- could edit -->
<v-cloud-table-input <v-apaas-table-input
v-else-if="item.type==='input'" v-else-if="item.type==='input'"
:item="helper.GetProperty(scope.row, item.prop)" :item="helper.GetProperty(scope.row, item.prop)"
:header="item.prop" :header="item.prop"
:rowId="scope.$index" :rowId="scope.$index"
@changeInputValue="changeInputValue" @changeInputValue="changeInputValue"
></v-cloud-table-input> ></v-apaas-table-input>
<!-- 其他 --> <!-- 其他 -->
<span <span
v-else v-else
...@@ -85,9 +92,9 @@ ...@@ -85,9 +92,9 @@
</el-table> </el-table>
</section> </section>
<!-- 分页 --> <!-- 分页 -->
<section class="ces-pagination" v-if="selectedTabsPage && selectedTabsPage.length != 0"> <section class="ces-pagination" v-if="paginationShow">
<div class="ces_page_total">共 {{ pagination.total }} 个条目</div> <div class="ces_page_total">共 {{ pagination.total }} 个条目</div>
<div class="ces_page_num"> <div class="ces_page_num" v-if="pageSizeShow">
<div class="ces_page_num_sel"> <div class="ces_page_num_sel">
<el-select <el-select
v-model="pagination.rowsPerPage" v-model="pagination.rowsPerPage"
...@@ -142,14 +149,13 @@ import DConfirm from "@/components/dialog-remove"; ...@@ -142,14 +149,13 @@ import DConfirm from "@/components/dialog-remove";
import tableUmhref from "@/components/table-umhref"; import tableUmhref from "@/components/table-umhref";
export default { export default {
components: { components: {
"v-cloud-table-input": tableInput, "v-apaas-table-input": tableInput,
"v-cloud-table-umhref": tableUmhref, "v-apaas-table-umhref": tableUmhref,
"d-confirm": DConfirm "d-confirm": DConfirm
}, },
props: { props: {
// 表格型号:mini,medium,small // 表格型号:mini,medium,small
size: { type: String, default: "medium" }, size: { type: String, default: "medium" },
isBorder: { type: Boolean, default: false },
loading: { type: Boolean, default: false }, loading: { type: Boolean, default: false },
// 表格数据 // 表格数据
headers: { type: Array, default: () => [] }, headers: { type: Array, default: () => [] },
...@@ -210,7 +216,43 @@ export default { ...@@ -210,7 +216,43 @@ export default {
type: String, type: String,
default: "" default: ""
}, },
searchNoName: { type: Boolean, default: false } searchNoName: { type: Boolean, default: false },
emptyText: {
type: String,
default: "暂无数据"
},
autoAdd: {
type: Boolean,
default: false
},
border: {
type: Boolean,
default: false
},
stripe: {
type: Boolean,
default: false
},
radius: {
type: Boolean,
default: false
},
pageSizeShow: {
type: Boolean,
default: false
},
paginationShow: {
type: Boolean,
default: false
},
couldEditStyle: {
type: Boolean,
default: false
},
headerCellClassName: {
type: String,
default: ""
},
}, },
data() { data() {
return { return {
...@@ -243,13 +285,13 @@ export default { ...@@ -243,13 +285,13 @@ export default {
date: "2016-05-02", date: "2016-05-02",
name: "王小虎", name: "王小虎",
address: "上海市普陀区金沙江路 1518 弄", address: "上海市普陀区金沙江路 1518 弄",
id: "ssss222" id: "ssss2722"
}, },
{ {
date: "2016-05-04", date: "2016-05-04",
name: "王小虎", name: "王小虎",
address: "上海市普陀区金沙江路 1517 弄", address: "上海市普陀区金沙江路 1517 弄",
id: "ssss222" id: "ssss2224"
}, },
{ {
date: "2016-05-01", date: "2016-05-01",
...@@ -261,7 +303,47 @@ export default { ...@@ -261,7 +303,47 @@ export default {
date: "2016-05-03", date: "2016-05-03",
name: "王小虎", name: "王小虎",
address: "上海市普陀区金沙江路 1516 弄", address: "上海市普陀区金沙江路 1516 弄",
id: "ssss222" id: "ssss22"
}
],
tableData1: [
{
id: 1,
date: "2016-05-02",
name: "王小虎",
address: "上海市普陀区金沙江路 1518 弄"
},
{
id: 2,
date: "2016-05-04",
name: "王小虎",
address: "上海市普陀区金沙江路 1517 弄"
},
{
id: 3,
date: "2016-05-01",
name: "王小虎",
address: "上海市普陀区金沙江路 1519 弄",
children: [
{
id: 31,
date: "2016-05-01",
name: "王小虎",
address: "上海市普陀区金沙江路 1519 弄"
},
{
id: 32,
date: "2016-05-01",
name: "王小虎",
address: "上海市普陀区金沙江路 1519 弄"
}
]
},
{
id: 4,
date: "2016-05-03",
name: "王小虎",
address: "上海市普陀区金沙江路 1516 弄"
} }
], ],
search: "", search: "",
...@@ -291,13 +373,27 @@ export default { ...@@ -291,13 +373,27 @@ export default {
getDataFromApiSync() { getDataFromApiSync() {
console.log("get data >>>"); console.log("get data >>>");
if (this.url == "") { if (this.url == "") {
// console.log(this.emptyText);
// the if statement is to choose which data could be show, only used for test and template
if (this.emptyText == "暂时没数据") {
this.selectedTabsPage = this.tableData; this.selectedTabsPage = this.tableData;
} else if (this.emptyText == "可输入表格暂时没数据") {
this.selectedTabsPage = this.tableData;
} else if (this.emptyText == "树结构暂时没数据") {
this.selectedTabsPage = this.tableData1;
}
this.pagination.total = this.selectedTabsPage.length; this.pagination.total = this.selectedTabsPage.length;
if (this.autoAdd) {
this.addRow();
}
} else { } else {
this.getDataFromApi().then( this.getDataFromApi().then(
data => { data => {
this.selectedTabsPage = JSON.parse(JSON.stringify(data.newArr)); this.selectedTabsPage = JSON.parse(JSON.stringify(data.newArr));
this.pagination.total = data.total; this.pagination.total = data.total;
if (this.autoAdd) {
this.addRow();
}
}, },
err => { err => {
console.log("失败" + err); console.log("失败" + err);
...@@ -309,24 +405,13 @@ export default { ...@@ -309,24 +405,13 @@ export default {
getDataFromApi() { getDataFromApi() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
const { page, rowsPerPage } = this.pagination; const { page, rowsPerPage } = this.pagination;
this.all_url = `${this.url}?filterBy=${ this.all_url = `${this.url}`;
this.searchNoName
? this.search
: this.search && this.search.length > 0
? "name," + this.search
: ""
}&itemsPerPage=${rowsPerPage}&page=${page}&sortBy=${
this.sortBy != null && this.sortBy.length != ""
? this.sortBy
: "d,creationTimestamp"
}`;
this.$http this.$http
.get(this.all_url) .get(this.all_url)
.then(response => { .then(response => {
let newArr = response.data[this.rowprop]; let newArr = response.data[this.rowprop];
let total = response.data.listMeta.totalItems; let total = response.data.listMeta.totalItems;
resolve({ newArr, total }); resolve({ newArr, total });
this.$emit("userInfo", response.data);
}) })
.catch(function(response) { .catch(function(response) {
// this.loading = false; // this.loading = false;
...@@ -384,7 +469,16 @@ export default { ...@@ -384,7 +469,16 @@ export default {
}, },
// 表格编辑修改数据 // 表格编辑修改数据
changeInputValue(val) { changeInputValue(val) {
// You can delete the row when the row of data is empty, but I didn't do that
// console.log(this.$refs.cesTable)
this.selectedTabsPage[val.rowId][val.header] = val.inputValue; this.selectedTabsPage[val.rowId][val.header] = val.inputValue;
if (
this.autoAdd &&
val.inputValue != "" &&
val.rowId + 1 == this.selectedTabsPage.length
) {
this.addRow();
}
}, },
// 新增表格行 // 新增表格行
addRow() { addRow() {
...@@ -410,13 +504,14 @@ export default { ...@@ -410,13 +504,14 @@ export default {
.ces-table .el-table colgroup.gutter { .ces-table .el-table colgroup.gutter {
display: table-cell !important; display: table-cell !important;
} }
.ces-table .el-table tbody tr:nth-child(odd) {
background: #f8f9fd;
}
.ces-table .el-table td, .ces-table .el-table td,
.ces-table .el-table th.is-leaf { .ces-table .el-table th.is-leaf {
border-bottom: none !important; border-bottom: none !important;
} }
.ces-table .el-table--border td,
.ces-table .el-table th.is-leaf {
border-bottom: 1px solid #ebeef5 !important;
}
/* .ces-table .el-table--enable-row-hover, */ /* .ces-table .el-table--enable-row-hover, */
.ces-table .el-table tbody tr:hover > td { .ces-table .el-table tbody tr:hover > td {
background-color: #e4ecf8 !important; background-color: #e4ecf8 !important;
...@@ -453,10 +548,6 @@ em { ...@@ -453,10 +548,6 @@ em {
.ces-table .el-table::before { .ces-table .el-table::before {
background: #fff; background: #fff;
} }
.ces-table .el-table .cell,
.ces-table .el-table th div {
padding-right: 0 !important;
}
.ces-table .switchStyle .el-switch__label { .ces-table .switchStyle .el-switch__label {
position: absolute; position: absolute;
display: none; display: none;
...@@ -519,9 +610,19 @@ em { ...@@ -519,9 +610,19 @@ em {
.ces-table .disture { .ces-table .disture {
color: #bcc1d0 !important; color: #bcc1d0 !important;
} }
.el-table__row--striped td {
background: #f8f9fd !important;
}
/* .el-table th>.cell { /* .el-table th>.cell {
padding-left: 14px; padding-left: 14px;
} */ } */
.el-table__placeholder {
display: inline-block;
width: 40px;
}
.th_pink {
background-color: #faf2e2 !important;
}
</style> </style>
<style scoped> <style scoped>
.ces-table { .ces-table {
...@@ -558,4 +659,7 @@ em { ...@@ -558,4 +659,7 @@ em {
.ces_page_num_sel { .ces_page_num_sel {
width: 66px; width: 66px;
} }
.table_radius {
border-radius: 10px;
}
</style> </style>
\ No newline at end of file
<template>
<div>
<div v-if="!needCropper">
<el-upload
action="ssurl"
:file-list="fileArray"
:list-type="type=='picture'?'picture-card':''"
:limit="max"
:multiple="multiple"
:on-remove="handleRemove"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
:class="{hide:hideUpload || readOnly}"
:readOnly="readOnly"
:data="anotherData"
>
<el-button size="small" type="primary" v-if="type=='mp3'">上传文件</el-button>
<div slot="tip" class="el-upload__tip" v-if="type=='mp3'">支持文件格式:.mp3,单个文件不能超过20M。</div>
<i class="el-icon-plus" v-if="type=='picture'"></i>
</el-upload>
</div>
<div class="img_crop" v-else>
<div v-for="(item, index) in fileArray" :key="'img' + index" class="list_img">
<div v-if="!readOnly" @click="deleteImg(item, index)" class="list_img_back">
<i class="el-icon-delete img_del"></i>
</div>
<el-image class="list_img_item" :src="item.url" :fit="fit"></el-image>
</div>
<cropper v-if="fileArray.length <= max" @getNewUrl="getNewUrl"></cropper>
</div>
</div>
</template>
<script>
import cropper from "@/components/cropper";
export default {
components: {
cropper
},
data() {
return {
hideUpload: false,
fileArray: [],
anotherData: {}
};
},
props: {
multiple: {
type: Boolean,
default: false
},
max: {
type: Number,
default: 1
},
needCropper: {
type: Boolean,
default: false
},
list: {
type: Array,
default: []
},
type: {
type: String,
default: ""
},
readOnly: {
type: Boolean,
default: false
},
fit: {
type: String,
default: ""
}
},
watch: {
list(value) {
var getListImg = [];
if (value && value.length != 0) {
for (var i = 0; i < value.length; i++) {
getListImg.push({
name: value[i],
url: value[i]
});
}
}
this.fileArray = [...getListImg];
this.hideUpload = this.fileArray.length >= this.max;
}
},
methods: {
beforeAvatarUpload(file) {
if (this.type == "mp3") {
const isMP3 = file.type === "audio/mp3";
const isLt10M = file.size / 1024 / 1024 < 20;
if (!isMP3) {
this.$message.error("只支持 MP3 格式!");
}
if (!isLt10M) {
this.$message.error("上传 MP3 文件大小不能超过 20MB!");
}
return isMP3 && isLt10M;
} else if (this.type == "picture") {
const isJPG = file.type === "image/jpeg" || file.type === "image/png";
const isLt10M = file.size / 1024 / 1024 < 10;
if (!isJPG) {
this.$message.error("上传图片只能是 JPG 和 PNG 格式!");
}
if (!isLt10M) {
this.$message.error("上传图片大小不能超过 10MB!");
}
return isJPG && isLt10M;
}
},
handleAvatarSuccess(response, file, fileList) {
// 上传图片
if (this.type == "mp3") {
if (response.success == 1) {
this.fileArray.push({
url: response.data.dbUrl,
name: response.data.fileName
});
}
this.$emit("getNewList", this.fileArray);
} else if (this.type == "picture") {
if (response.success == 1) {
this.fileArray.push({
url: response.data.dbUrl,
name: response.data.fileName
});
}
this.$emit("getNewList", this.fileArray);
}
this.hideUpload = fileList.length >= this.max;
},
handleRemove(file, fileList) {
let url = file.url;
let detection = true;
// 等于 true 说明是刚刚上传的
// 判断方法有很多 随便用一种。
if (url) detection = url.indexOf("blob") != -1;
if (detection) {
this.fileArray.forEach((item, i, arr) => {
if (item.url === file.response.data.dbUrl) {
this.fileArray.splice(i, 1);
}
});
} else {
this.fileArray.forEach((item, i, arr) => {
if (item.url === file.url) {
this.fileArray.splice(i, 1);
}
});
}
this.hideUpload = fileList.length >= this.max;
this.$emit("getNewList", this.fileArray);
},
getNewUrl(val) {
this.fileArray.push({ name: val, url: val });
this.$emit("getNewList", this.fileArray);
},
deleteImg(item, index) {
this.fileArray.splice(index, 1);
this.$emit("getNewList", this.fileArray);
}
}
};
</script>
<style>
.hide .el-upload--picture-card {
display: none;
}
</style>
<style scoped>
.list_img {
width: 100px;
height: 100px;
border-radius: 5px;
overflow: hidden;
margin-left: 10px;
position: relative;
cursor: pointer;
}
.list_img_back {
position: absolute;
width: 100%;
height: 100%;
background-color: #000;
z-index: 1;
opacity: 0;
}
.list_img:hover .list_img_back {
opacity: 0.5;
}
.list_img_item {
width: 100%;
height: 100%;
}
.img_crop {
display: flex;
align-items: center;
}
.img_del {
position: absolute;
top: calc((100% - 24px) / 2);
left: calc((100% - 24px) / 2);
color: #fff;
font-size: 24px;
}
</style>
\ No newline at end of file
<template>
<div class="code-main">
<v-apaas-code></v-apaas-code>
</div>
</template>
<script>
import codes from "@/components/codes";
export default {
data() {
return {};
},
components: {
"v-apaas-code": codes
},
mounted: function() {
// this.init();
},
computed: {},
watch: {
search: {
handler() {
this.getDataFromApiSync();
},
deep: true
},
namespace: {
handler() {
this.getDataFromApiSync();
},
deep: true
}
},
methods: {}
};
</script>
<style scoped>
.detail_container {
margin: 8px 0 30px 0;
}
.tab-tit {
height: 48px;
background-color: #e1e3ee;
border-radius: 8px;
list-style: none;
padding: 6px 0 6px 6px;
display: inline-block;
}
.tab-li {
display: inline-block;
height: 36px;
line-height: 36px;
padding: 0 10px;
color: #58617a;
margin-right: 10px;
cursor: pointer;
}
.tabactive {
padding: 0 10px;
height: 36px;
background-color: #264dd9;
box-shadow: 0px 2px 4px 0px #5d7be5;
border-radius: 6px;
color: #f4f7fc;
}
.tab-content {
margin-top: 30px;
padding: 20px;
background: #fff;
border-radius: 8px;
}
.tab-bgcolor {
background: #fff;
border-radius: 8px;
}
.gray-btn {
width: 150px;
height: 40px;
background-color: #e3e5ef;
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
margin: 46px auto 40px;
}
.gray-btn span {
margin-left: 20px;
}
.cpu-info {
font-size: 18px;
color: #242c43;
text-align: center;
margin-top: 30px;
margin-bottom: 30px;
width: 170px;
}
.cpu-info span {
font-size: 16px;
color: #8890a7;
}
.code-main {
margin-top: 100px;
}
</style>
\ No newline at end of file
<template>
<div class="fwcs">
<block-radius>
<el-row>
<el-button>默认按钮</el-button>
<el-button>默认按钮</el-button>
<el-button>默认按钮</el-button>
<el-button>默认按钮</el-button>
<el-button>默认按钮</el-button>
</el-row>
<div class="gray_line"></div>
</block-radius>
</div>
</template>
<script>
import blockRadius from "@/components/block-radius";
export default {
components: {
blockRadius
},
data: () => ({
activeName: "second"
}),
computed: {},
watch: {},
methods: {
handleClick(tab, event) {
console.log(tab, event);
}
},
mounted() {}
};
</script>
<style scoped>
.fwcs {
}
.gray_line {
width: 98%;
margin: 20px auto;
height: 1px;
background-color: #DCDFE6;
}
</style>
<template> <template>
<div class="index_container"> <div class="tab_ex_container">
<div style="height: 100px"></div> <div style="height: 60px"></div>
<h3>常规表格</h3>
<ces-table <ces-table
class="r_yhgl_table" class="r_yhgl_table"
size="mini" size="mini"
:border="false"
:headers="headers" :headers="headers"
:url="url" :url="url"
:searchShow="true" :searchShow="true"
:addRowBtn="addRowBtn" :addRowBtn="addRowBtn"
:autoAdd="false"
:isDialog="true" :isDialog="true"
:isSelection="true" :isSelection="true"
:isIndex="true" :isIndex="true"
:confirmOptions="confirmOptions" :confirmOptions="confirmOptions"
:detailsUrl="detailsUrl" :detailsUrl="detailsUrl"
@primary-edit="editItem" @primary-edit="editItem"
:emptyText="emptyText"
:stripe="true"
:pageSizeShow="true"
></ces-table>
<h3>可编辑表格,供服务测试用</h3>
<ces-table
class="r_yhgl_table"
size="mini"
:border="true"
:headers="headers1"
:url="url"
:searchShow="false"
:addRowBtn="false"
:autoAdd="true"
:isDialog="false"
:isSelection="false"
:isIndex="true"
:confirmOptions="confirmOptions"
:detailsUrl="detailsUrl"
:radius="true"
@primary-edit="editItem"
:emptyText="emptyText1"
:stripe="false"
:paginationShow="false"
:pageSizeShow="false"
></ces-table>
<h3>带树结构表格,供服务测试用</h3>
<ces-table
class="r_yhgl_table"
size="mini"
:border="true"
:headers="headers2"
:url="url"
:searchShow="false"
:addRowBtn="false"
:autoAdd="false"
:isDialog="false"
:isSelection="false"
:isIndex="true"
:confirmOptions="confirmOptions"
:detailsUrl="detailsUrl"
:radius="true"
@primary-edit="editItem"
:emptyText="emptyText2"
:stripe="false"
:paginationShow="false"
:pageSizeShow="false"
headerCellClassName="th_pink"
></ces-table> ></ces-table>
</div> </div>
</template> </template>
...@@ -24,8 +75,8 @@ export default { ...@@ -24,8 +75,8 @@ export default {
data: () => ({ data: () => ({
headers: [ headers: [
{ label: "服务url", prop: "date", type: "href", align: "left" }, { label: "服务url", prop: "date", type: "href", align: "left" },
{ label: "服务名称", prop: "name", type: "input", align: "center" }, { label: "服务名称", prop: "name", type: "href", align: "center" },
{ label: "中文名", prop: "address", type: "input", align: "right" }, { label: "中文名", prop: "address", type: "href", align: "right" },
{ {
label: "操作", label: "操作",
type: "Button", type: "Button",
...@@ -43,6 +94,16 @@ export default { ...@@ -43,6 +94,16 @@ export default {
] ]
} }
], ],
headers1: [
{ label: "服务url", prop: "date", type: "input", align: "left" },
{ label: "服务名称", prop: "name", type: "input", align: "center" },
{ label: "中文名", prop: "address", type: "input", align: "right" },
],
headers2: [
{ label: "服务url", prop: "date", type: "", align: "left" },
{ label: "服务名称", prop: "name", type: "input", align: "center" },
{ label: "中文名", prop: "address", type: "input", align: "center" },
],
url: "", url: "",
detailsUrl: "ss/", detailsUrl: "ss/",
addRowBtn: true, addRowBtn: true,
...@@ -52,6 +113,9 @@ export default { ...@@ -52,6 +113,9 @@ export default {
btnCancelText: "取消", //取消 btnCancelText: "取消", //取消
btnSubmitText: "确定" //确定 btnSubmitText: "确定" //确定
}, },
emptyText: "暂时没数据",
emptyText1: "可输入表格暂时没数据",
emptyText2: "树结构暂时没数据",
}), }),
components: { components: {
cesTable cesTable
...@@ -65,8 +129,9 @@ export default { ...@@ -65,8 +129,9 @@ export default {
</script> </script>
<style scoped> <style scoped>
.index_container { .tab_ex_container {
height: 100%; padding: 20px 0;
margin-top: 84px;
overflow-x: hidden; overflow-x: hidden;
overflow-y: auto; overflow-y: auto;
} }
......
<template>
<div class="up_ex_container">
<h3>带有裁剪功能的图片上传</h3>
<upload-file
:multiple="false"
:max="4"
:needCropper="true"
type="cropper"
:readOnly="false"
:list="imgList"
@getNewList="getNewList"
></upload-file>
<h3>element的图片上传</h3>
<upload-file
:multiple="false"
:max="4"
:needCropper="false"
type="picture"
:readOnly="false"
fit="fill"
:list="imgList"
@getNewList="getNewList"
></upload-file>
<h3>其他类型的文件上传,</h3>
<upload-file
:multiple="false"
:max="4"
:needCropper="false"
type="mp3"
:readOnly="false"
fit="fill"
:list="imgList"
@getNewList="getNewList"
></upload-file>
</div>
</template>
<script>
import uploadFile from "@/components/upload_file";
export default {
data() {
return {
imgList: [],
imgList1: [
"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
]
};
},
mounted() {
setTimeout(() => {
this.imgList = this.imgList1;
}, 1000);
},
methods: {
// get a new file list as an array
getNewList(val) {
console.log(val);
}
},
components: {
uploadFile
}
};
</script>
<style scoped>
.up_ex_container {
padding: 20px 0;
margin-top: 84px;
overflow-x: hidden;
overflow-y: auto;
}
</style>
\ No newline at end of file
...@@ -16,18 +16,40 @@ export default new Router({ ...@@ -16,18 +16,40 @@ export default new Router({
name: "index", name: "index",
component: Index, component: Index,
redirect: "/workplace", redirect: "/workplace",
children:[{ children: [{
path: "/workplace", path: "/workplace",
name: "workPlace", name: "workPlace",
component: workPlace, component: workPlace,
}] },
{
path: "/fwzc", // 服务注册
name: "fwzc",
redirect: "/fwzc/fwcs",
component: () => import("@/pages/fwzc_fwcs"),
children: [
{
path: "/fwzc/fwcs", // 服务注册/服务测试
name: "fwcs",
component: () => import("@/pages/fwzc_fwcs")
},
]
}
]
}, },
{ {
path: "/table_example", // 表格实例 path: "/table_example", // 表格实例
name: "table_example", name: "table_example",
component: () => import("@/pages/table_example") component: () => import("@/pages/table_example")
}, },
{
path: "/upload_example", // 表格实例
name: "upload_example",
component: () => import("@/pages/upload_example")
},
{
path: "/code_example", // 编辑器实例
name: "code_example",
component: () => import("@/pages/code_example")
}
] ]
}); });
...@@ -28,17 +28,6 @@ ...@@ -28,17 +28,6 @@
"@babel/runtime" "^7.7.7" "@babel/runtime" "^7.7.7"
hammerjs "^2.0.8" hammerjs "^2.0.8"
"@antv/f2@^3.6.0-alpha.2":
version "3.6.0-alpha.2"
resolved "https://registry.yarnpkg.com/@antv/f2/-/f2-3.6.0-alpha.2.tgz#52459236b1ee02bfb84df5ed7360db1691a70a0b"
integrity sha512-h8VC1YqVYwtbMv17FYQVnreQSbovcuGp7sMYOH3lbxFXu6BeXQ5Y3c0VnSY1E7yLFk28VOJUsi2CgWbX1NISKg==
dependencies:
"@antv/adjust" "~0.1.1"
"@antv/scale" "~0.1.2"
"@antv/util" "~2.0.6"
"@babel/runtime" "^7.7.7"
hammerjs "^2.0.8"
"@antv/gl-matrix@^2.7.1": "@antv/gl-matrix@^2.7.1":
version "2.7.1" version "2.7.1"
resolved "https://registry.yarnpkg.com/@antv/gl-matrix/-/gl-matrix-2.7.1.tgz#acb8e37f7ab3df01345aba4372d7942be42eba14" resolved "https://registry.yarnpkg.com/@antv/gl-matrix/-/gl-matrix-2.7.1.tgz#acb8e37f7ab3df01345aba4372d7942be42eba14"
...@@ -66,13 +55,6 @@ ...@@ -66,13 +55,6 @@
dependencies: dependencies:
"@antv/gl-matrix" "^2.7.1" "@antv/gl-matrix" "^2.7.1"
"@antv/util@~2.0.6":
version "2.0.6"
resolved "https://registry.yarnpkg.com/@antv/util/-/util-2.0.6.tgz#cf0a97de31d4594ab53f49ebcdb7dee85d3e600e"
integrity sha512-kWoEiM5OyT2NieEM67rHwoXP/09iRJAho7+TP+FEUWIrJRA6KkSLNipwHhm7D+mA8BuwcKtOe2i7zewobMfJuQ==
dependencies:
tslib "^1.10.0"
"@babel/code-frame@^7.8.3": "@babel/code-frame@^7.8.3":
version "7.8.3" version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
...@@ -765,7 +747,7 @@ ...@@ -765,7 +747,7 @@
levenary "^1.1.1" levenary "^1.1.1"
semver "^5.5.0" semver "^5.5.0"
"@babel/runtime@7.x", "@babel/runtime@^7.4.2", "@babel/runtime@^7.7.7": "@babel/runtime@^7.4.2", "@babel/runtime@^7.7.7":
version "7.8.4" version "7.8.4"
resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.8.4.tgz#d79f5a2040f7caa24d53e563aad49cbc05581308" resolved "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.8.4.tgz#d79f5a2040f7caa24d53e563aad49cbc05581308"
integrity sha1-159aIED3yqJNU+VjqtScvAVYEwg= integrity sha1-159aIED3yqJNU+VjqtScvAVYEwg=
...@@ -844,16 +826,6 @@ ...@@ -844,16 +826,6 @@
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8"
integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==
"@vant/icons@1.2.1":
version "1.2.1"
resolved "https://registry.npm.taobao.org/@vant/icons/download/@vant/icons-1.2.1.tgz#309fecb97a4989866f045ce676b545c454701c8f"
integrity sha1-MJ/suXpJiYZvBFzmdrVFxFRwHI8=
"@vue/babel-helper-vue-jsx-merge-props@^1.0.0":
version "1.0.0"
resolved "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.0.0.tgz#048fe579958da408fb7a8b2a3ec050b50a661040"
integrity sha1-BI/leZWNpAj7eosqPsBQtQpmEEA=
"@vue/component-compiler-utils@^3.1.0": "@vue/component-compiler-utils@^3.1.0":
version "3.1.1" version "3.1.1"
resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.1.1.tgz#d4ef8f80292674044ad6211e336a302e4d2a6575" resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.1.1.tgz#d4ef8f80292674044ad6211e336a302e4d2a6575"
...@@ -1033,6 +1005,11 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: ...@@ -1033,6 +1005,11 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7:
mime-types "~2.1.24" mime-types "~2.1.24"
negotiator "0.6.2" negotiator "0.6.2"
ace-builds@^1.4.11:
version "1.4.11"
resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.4.11.tgz#b1f19a891afcef1d26522473082baf80067e855f"
integrity sha512-keACH1d7MvAh72fE/us36WQzOFQPJbHphNpj33pXwVZOM84pTWcdFzIAvngxOGIGLTm7gtUP2eJ4Ku6VaPo8bw==
acorn-walk@^6.1.1: acorn-walk@^6.1.1:
version "6.2.0" version "6.2.0"
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c"
...@@ -1145,11 +1122,6 @@ array-filter@^1.0.0: ...@@ -1145,11 +1122,6 @@ array-filter@^1.0.0:
resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83"
integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=
array-find-index@^1.0.2:
version "1.0.2"
resolved "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
array-find@^1.0.0: array-find@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/array-find/-/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8" resolved "https://registry.yarnpkg.com/array-find/-/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8"
...@@ -2713,11 +2685,6 @@ esrecurse@^4.1.0: ...@@ -2713,11 +2685,6 @@ esrecurse@^4.1.0:
dependencies: dependencies:
estraverse "^4.1.0" estraverse "^4.1.0"
esri-loader@^2.13.0:
version "2.13.0"
resolved "https://registry.yarnpkg.com/esri-loader/-/esri-loader-2.13.0.tgz#2faea3dc21f34b2ecc1421c29420829f871577a8"
integrity sha512-8a0sKovo1p3udCzj4ybT4/bn4+1w3tAhRIKbrL+KrV08919luOc+PR0gsnh4X7fbZ1KaU8uLt3KcpIhio71TlA==
estraverse@^4.1.0, estraverse@^4.1.1: estraverse@^4.1.0, estraverse@^4.1.1:
version "4.3.0" version "4.3.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
...@@ -3977,6 +3944,13 @@ json-schema-traverse@^0.4.1: ...@@ -3977,6 +3944,13 @@ json-schema-traverse@^0.4.1:
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
json2yaml@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/json2yaml/-/json2yaml-1.1.0.tgz#5414d907f9816586b80c513ec2e3aeb2ab819a6c"
integrity sha1-VBTZB/mBZYa4DFE+wuOusquBmmw=
dependencies:
remedial "1.x"
json3@^3.3.2: json3@^3.3.2:
version "3.3.3" version "3.3.3"
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81"
...@@ -4418,15 +4392,6 @@ minimist@^1.2.0: ...@@ -4418,15 +4392,6 @@ minimist@^1.2.0:
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
mint-ui@^2.2.13:
version "2.2.13"
resolved "https://registry.npm.taobao.org/mint-ui/download/mint-ui-2.2.13.tgz#856a2cba9608c6ecf21f0e521ce89ed8ddfe33d3"
integrity sha1-hWosupYIxuzyHw5SHOie2N3+M9M=
dependencies:
array-find-index "^1.0.2"
raf.js "0.0.4"
vue-lazyload "^1.0.1"
mississippi@^2.0.0: mississippi@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f"
...@@ -5646,11 +5611,6 @@ querystringify@^2.1.1: ...@@ -5646,11 +5611,6 @@ querystringify@^2.1.1:
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"
integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==
raf.js@0.0.4:
version "0.0.4"
resolved "https://registry.npm.taobao.org/raf.js/download/raf.js-0.0.4.tgz#f15af445d241b27fa7131a57450b67ef9c402fec"
integrity sha1-8Vr0RdJBsn+nExpXRQtn75xAL+w=
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
...@@ -5805,6 +5765,11 @@ relateurl@0.2.x: ...@@ -5805,6 +5765,11 @@ relateurl@0.2.x:
resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
remedial@1.x:
version "1.0.8"
resolved "https://registry.yarnpkg.com/remedial/-/remedial-1.0.8.tgz#a5e4fd52a0e4956adbaf62da63a5a46a78c578a0"
integrity sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==
remove-trailing-separator@^1.0.1: remove-trailing-separator@^1.0.1:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
...@@ -6654,7 +6619,7 @@ tryer@^1.0.1: ...@@ -6654,7 +6619,7 @@ tryer@^1.0.1:
resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8"
integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==
tslib@^1.10.0, tslib@^1.9.0: tslib@^1.9.0:
version "1.11.1" version "1.11.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35"
integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==
...@@ -6903,16 +6868,6 @@ vanilla-masker@^1.2.0: ...@@ -6903,16 +6868,6 @@ vanilla-masker@^1.2.0:
resolved "https://registry.yarnpkg.com/vanilla-masker/-/vanilla-masker-1.2.0.tgz#c2830e9d994a5fecd2261506477c2707fe589756" resolved "https://registry.yarnpkg.com/vanilla-masker/-/vanilla-masker-1.2.0.tgz#c2830e9d994a5fecd2261506477c2707fe589756"
integrity sha1-woMOnZlKX+zSJhUGR3wnB/5Yl1Y= integrity sha1-woMOnZlKX+zSJhUGR3wnB/5Yl1Y=
vant@^2.5.3:
version "2.5.3"
resolved "https://registry.npm.taobao.org/vant/download/vant-2.5.3.tgz#1c34ea853a2db62c6c6dcc45b4673ab27696c82e"
integrity sha1-HDTqhTottixsbcxFtGc6snaWyC4=
dependencies:
"@babel/runtime" "7.x"
"@vant/icons" "1.2.1"
"@vue/babel-helper-vue-jsx-merge-props" "^1.0.0"
vue-lazyload "1.2.3"
vary@~1.1.2: vary@~1.1.2:
version "1.1.2" version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
...@@ -6928,21 +6883,16 @@ vm-browserify@^1.0.1: ...@@ -6928,21 +6883,16 @@ vm-browserify@^1.0.1:
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
vue-cropper@^0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/vue-cropper/-/vue-cropper-0.5.2.tgz#069b2ffe5336b3f800d3049df2b0746263bd8642"
integrity sha512-51lj/7s3ok6pVvceibc/dM4zFccrx3020CX7i/k6Kl9K3M9ot8NXRvXf813ME2Dwwa3Eb/TeSM87+zu5ZcXAZA==
vue-hot-reload-api@^2.3.0: vue-hot-reload-api@^2.3.0:
version "2.3.4" version "2.3.4"
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2"
integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==
vue-lazyload@1.2.3:
version "1.2.3"
resolved "https://registry.npm.taobao.org/vue-lazyload/download/vue-lazyload-1.2.3.tgz#901f9ec15c7e6ca78781a2bae4a343686bdedb2c"
integrity sha1-kB+ewVx+bKeHgaK65KNDaGve2yw=
vue-lazyload@^1.0.1:
version "1.3.3"
resolved "https://registry.npm.taobao.org/vue-lazyload/download/vue-lazyload-1.3.3.tgz#4df50a271bde9b74c3caf7a228d6e0af50d5682f"
integrity sha1-TfUKJxvem3TDyveiKNbgr1DVaC8=
vue-loader@^15.7.0: vue-loader@^15.7.0:
version "15.9.0" version "15.9.0"
resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.0.tgz#5d4b0378a4606188fc83e587ed23c94bc3a10998" resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.0.tgz#5d4b0378a4606188fc83e587ed23c94bc3a10998"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment