:feat:consulting/device.view.py 设备台账搜索
This commit is contained in:
parent
80a8bd19c7
commit
5552a52b79
File diff suppressed because one or more lines are too long
|
@ -17,3 +17,10 @@ export function DeviceImp(data) {
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getDeviceListAll() {
|
||||||
|
return request({
|
||||||
|
url: '/consulting/device/no_page',
|
||||||
|
method: 'get',
|
||||||
|
})
|
||||||
|
}
|
|
@ -207,7 +207,7 @@ export const asyncRoutes = [
|
||||||
path: 'device',
|
path: 'device',
|
||||||
name: 'device',
|
name: 'device',
|
||||||
component: () => import('@/views/consulting/device.vue'),
|
component: () => import('@/views/consulting/device.vue'),
|
||||||
meta: { title: '设备台账', perms: ['policy_view'] }
|
meta: { title: '设备台账', perms: ['device_view'] }
|
||||||
}, {
|
}, {
|
||||||
path: 'validation',
|
path: 'validation',
|
||||||
name: 'validation',
|
name: 'validation',
|
||||||
|
|
|
@ -379,8 +379,6 @@
|
||||||
this.qtaskId = sessionStorage.getItem('qtaskId');
|
this.qtaskId = sessionStorage.getItem('qtaskId');
|
||||||
this.getOptions();
|
this.getOptions();
|
||||||
this.getQtaskDept();
|
this.getQtaskDept();
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
//领域类型和领域名称
|
//领域类型和领域名称
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
icon="el-icon-upload"
|
icon="el-icon-upload"
|
||||||
:disabled="checkPermission['device_import']"
|
:disabled="checkPermission['device_import']"
|
||||||
>导入Excel</el-button>
|
>导入Excel</el-button>
|
||||||
|
<el-button @click="clearFilter" icon="el-icon-clear" type="primary" >清除所有过滤器</el-button>
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-card style="margin-top: 10px">
|
<el-card style="margin-top: 10px">
|
||||||
<el-table
|
<el-table
|
||||||
|
@ -27,25 +28,50 @@
|
||||||
stripe
|
stripe
|
||||||
highlight-current-row
|
highlight-current-row
|
||||||
max-height="700"
|
max-height="700"
|
||||||
|
ref="filterTable"
|
||||||
>
|
>
|
||||||
<el-table-column type="index" width="50" />
|
<el-table-column type="index" width="50" />
|
||||||
<el-table-column align="left" label="公司名称">
|
<el-table-column align="left"
|
||||||
<template slot-scope="scope">{{ scope.row.company_name }}</template>
|
label="公司名称"
|
||||||
|
prop="company_name"
|
||||||
|
column-key="company_name"
|
||||||
|
:filters="companylist"
|
||||||
|
:filter-method="filterHandler"
|
||||||
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="left" label="设备名称">
|
<el-table-column align="left"
|
||||||
<template slot-scope="scope">{{ scope.row.device_name }}</template>
|
label="设备名称"
|
||||||
|
prop="device_name"
|
||||||
|
column-key="device_name"
|
||||||
|
:filters="devicelist"
|
||||||
|
:filter-method="filterHandler" >
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="left" label="设备编号">
|
<el-table-column align="left" label="设备编号">
|
||||||
<template slot-scope="scope">{{ scope.row.device_number }}</template>
|
<template slot-scope="scope">{{ scope.row.device_number }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="left" label="规格型号">
|
<el-table-column align="left"
|
||||||
<template slot-scope="scope">{{ scope.row.spec }}</template>
|
label="规格型号"
|
||||||
|
prop="spec"
|
||||||
|
column-key="spec"
|
||||||
|
:filters="speclist"
|
||||||
|
:filter-method="filterHandler"
|
||||||
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="left" label="生产厂家">
|
<el-table-column align="left"
|
||||||
<template slot-scope="scope">{{ scope.row.manufactor }}</template>
|
label="生产厂家"
|
||||||
|
prop="manufactor"
|
||||||
|
column-key="manufactor"
|
||||||
|
:filters="manufactorlist"
|
||||||
|
:filter-method="filterHandler"
|
||||||
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="left" label="检测参数">
|
<el-table-column align="left"
|
||||||
<template slot-scope="scope">{{ scope.row.dec_parameter }}</template>
|
label="检测参数"
|
||||||
|
prop="dec_parameter"
|
||||||
|
column-key="dec_parameter"
|
||||||
|
:filters="dec_parameterlist"
|
||||||
|
:filter-method="filterHandler"
|
||||||
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="left" label="量程">
|
<el-table-column align="left" label="量程">
|
||||||
<template slot-scope="scope">{{ scope.row.range }}</template>
|
<template slot-scope="scope">{{ scope.row.range }}</template>
|
||||||
|
@ -59,8 +85,13 @@
|
||||||
<el-table-column align="left" label="使用部门">
|
<el-table-column align="left" label="使用部门">
|
||||||
<template slot-scope="scope">{{ scope.row.department }}</template>
|
<template slot-scope="scope">{{ scope.row.department }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="left" label="采购时间">
|
<el-table-column align="left"
|
||||||
<template slot-scope="scope">{{ scope.row.procurement_time }}</template>
|
label="采购时间"
|
||||||
|
prop="procurement_time"
|
||||||
|
column-key="procurement_time"
|
||||||
|
:filters="procurement_timelist"
|
||||||
|
:filter-method="filterHandler"
|
||||||
|
>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="left" label="资产原值">
|
<el-table-column align="left" label="资产原值">
|
||||||
<template slot-scope="scope">{{ scope.row.original_price }}</template>
|
<template slot-scope="scope">{{ scope.row.original_price }}</template>
|
||||||
|
@ -145,6 +176,7 @@
|
||||||
import {
|
import {
|
||||||
getDeviceList,
|
getDeviceList,
|
||||||
DeviceImp,
|
DeviceImp,
|
||||||
|
getDeviceListAll,
|
||||||
} from "@/api/device";
|
} from "@/api/device";
|
||||||
import checkPermission from "@/utils/permission";
|
import checkPermission from "@/utils/permission";
|
||||||
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
|
import Pagination from "@/components/Pagination"; // secondary package based on el-pagination
|
||||||
|
@ -163,6 +195,12 @@ export default {
|
||||||
fileList:[],
|
fileList:[],
|
||||||
Content: defaultContent,
|
Content: defaultContent,
|
||||||
listLoading:false,
|
listLoading:false,
|
||||||
|
devicelist:[],
|
||||||
|
companylist:[],
|
||||||
|
speclist:[],
|
||||||
|
procurement_timelist:[],
|
||||||
|
manufactorlist:[],
|
||||||
|
dec_parameterlist:[],
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
listQuery: {
|
listQuery: {
|
||||||
page: 1,
|
page: 1,
|
||||||
|
@ -178,6 +216,9 @@ export default {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
mounted(){
|
||||||
|
this.getALLData();
|
||||||
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
watch: {
|
watch: {
|
||||||
filterOrgText(val) {
|
filterOrgText(val) {
|
||||||
|
@ -209,6 +250,10 @@ export default {
|
||||||
that.Content.excel_path = null;
|
that.Content.excel_path = null;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
filterHandler(value, row, column) {
|
||||||
|
const property = column['property'];
|
||||||
|
return row[property] === value;
|
||||||
|
},
|
||||||
importExcel(){
|
importExcel(){
|
||||||
this.dialogVisible = true;
|
this.dialogVisible = true;
|
||||||
},
|
},
|
||||||
|
@ -222,6 +267,23 @@ export default {
|
||||||
this.contentList = response.data;
|
this.contentList = response.data;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
clearFilter() {
|
||||||
|
this.getList();
|
||||||
|
this.$refs.filterTable.clearFilter();
|
||||||
|
},
|
||||||
|
getALLData(){
|
||||||
|
getDeviceListAll().then((response) => {
|
||||||
|
if (response.data){
|
||||||
|
this.devicelist = Array.from(new Set(response.data.map(item => JSON.stringify({text:item.device_name, value:item.device_name})))).map(item => JSON.parse(item));
|
||||||
|
this.companylist = Array.from(new Set(response.data.map(item => JSON.stringify({text:item.company_name, value:item.company_name})))).map(item => JSON.parse(item));
|
||||||
|
this.speclist = Array.from(new Set(response.data.map(item => JSON.stringify({text:item.spec, value:item.spec})))).map(item => JSON.parse(item));
|
||||||
|
this.procurement_timelist = Array.from(new Set(response.data.map(item => JSON.stringify({text:item.procurement_time, value:item.procurement_time})))).map(item => JSON.parse(item));
|
||||||
|
this.manufactorlist = Array.from(new Set(response.data.map(item => JSON.stringify({text:item.manufactor, value:item.manufactor})))).map(item => JSON.parse(item));
|
||||||
|
this.dec_parameterlist = Array.from(new Set(response.data.map(item => JSON.stringify({text:item.dec_parameter, value:item.dec_parameter})))).map(item => JSON.parse(item));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
async confirm(){
|
async confirm(){
|
||||||
let that = this;
|
let that = this;
|
||||||
|
|
|
@ -23,11 +23,11 @@
|
||||||
<el-table-column label="活动参与单位数量" prop="participations"></el-table-column>
|
<el-table-column label="活动参与单位数量" prop="participations"></el-table-column>
|
||||||
<el-table-column label="活动中发挥的作用" prop="function"></el-table-column>
|
<el-table-column label="活动中发挥的作用" prop="function"></el-table-column>
|
||||||
<el-table-column label="活动收益(元)" prop="earnings" ></el-table-column>
|
<el-table-column label="活动收益(元)" prop="earnings" ></el-table-column>
|
||||||
<!-- <el-table-column align="center" label="文件下载">
|
<el-table-column align="center" label="文件下载">
|
||||||
<template slot-scope="scope" v-if="scope.row.file_.file">
|
<template slot-scope="scope" v-if="scope.row.file">
|
||||||
<el-link :href="scope.row.file_.file" type="primary">下载</el-link>
|
<el-link :href="scope.row.file" type="primary">下载</el-link>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column> -->
|
</el-table-column>
|
||||||
<el-table-column align="center" label="操作" width="120px" fixed="right">
|
<el-table-column align="center" label="操作" width="120px" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-link :disabled="!checkPermission(['infoCollect_QA'])" type="primary" size="small"
|
<el-link :disabled="!checkPermission(['infoCollect_QA'])" type="primary" size="small"
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
:limit.sync="listQuery.page_size" @pagination="getTableList" />
|
:limit.sync="listQuery.page_size" @pagination="getTableList" />
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-dialog :visible.sync="dialogVisible" :title="dialogType === 'edit' ? '编辑' : '新增'">
|
<el-dialog :visible.sync="dialogVisible" :title="dialogType === 'edit' ? '编辑' : '新增'">
|
||||||
<el-form ref="Form" :model="Content" label-width="80px" label-position="right" :rules="rule">
|
<el-form ref="Form" :model="Content" label-width="80px" label-position="right">
|
||||||
<el-form-item label="名称" prop="name">
|
<el-form-item label="名称" prop="name">
|
||||||
<el-input v-model="Content.name" placeholder="名称"/>
|
<el-input v-model="Content.name" placeholder="名称"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -102,6 +102,19 @@
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="文件路径" prop="file">
|
||||||
|
<el-upload
|
||||||
|
ref="upload"
|
||||||
|
:action="upUrl"
|
||||||
|
:on-success="handleUpSuccess1"
|
||||||
|
:on-remove="handleRemove1"
|
||||||
|
:headers="upHeaders"
|
||||||
|
:file-list="fileList"
|
||||||
|
:limit="1">
|
||||||
|
<el-button size="small" type="primary">上传文件</el-button>
|
||||||
|
<div slot="tip" class="el-upload__tip">上传相关材料/照片压缩包</div>
|
||||||
|
</el-upload>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
</el-form>
|
</el-form>
|
||||||
<div style="text-align: right">
|
<div style="text-align: right">
|
||||||
|
@ -133,10 +146,10 @@
|
||||||
:headers="upHeaders"
|
:headers="upHeaders"
|
||||||
:file-list="fileList"
|
:file-list="fileList"
|
||||||
:limit="1"
|
:limit="1"
|
||||||
accept=".doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip">
|
accept=".doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip, .rar">
|
||||||
<el-button size="small" type="primary">上传文件</el-button>
|
<el-button size="small" type="primary">上传文件</el-button>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</el-form-item>``
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div style="text-align: right">
|
<div style="text-align: right">
|
||||||
<el-button type="danger" @click="close_dialog">取消</el-button>
|
<el-button type="danger" @click="close_dialog">取消</el-button>
|
||||||
|
@ -193,9 +206,11 @@ const defaultContent = {
|
||||||
activate_time: "",
|
activate_time: "",
|
||||||
participations: "",
|
participations: "",
|
||||||
function: "",
|
function: "",
|
||||||
earnings: ""
|
earnings: "",
|
||||||
|
file:"",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { Pagination, Treeselect },
|
components: { Pagination, Treeselect },
|
||||||
data(){
|
data(){
|
||||||
|
@ -210,6 +225,21 @@ export default {
|
||||||
participations: "",
|
participations: "",
|
||||||
function: "",
|
function: "",
|
||||||
earnings: "",
|
earnings: "",
|
||||||
|
file: " "
|
||||||
|
},
|
||||||
|
formLabelWidth: "120px",
|
||||||
|
dialogFormVisible: false,
|
||||||
|
dialogStatus: "",
|
||||||
|
rules: {
|
||||||
|
name: [{ required: true, message: "请输入名称", trigger: "blur" }],
|
||||||
|
},
|
||||||
|
list: null,
|
||||||
|
listLoading: true,
|
||||||
|
downloadLoading: false,
|
||||||
|
filename: "",
|
||||||
|
autoWidth: true,
|
||||||
|
bookType: "xlsx",
|
||||||
|
importHeaders: {
|
||||||
},
|
},
|
||||||
upHeaders: upHeaders(),
|
upHeaders: upHeaders(),
|
||||||
upUrl: upUrl(),
|
upUrl: upUrl(),
|
||||||
|
@ -254,7 +284,6 @@ export default {
|
||||||
let height1 = document.getElementsByClassName('app-main')[0].clientHeight;
|
let height1 = document.getElementsByClassName('app-main')[0].clientHeight;
|
||||||
let height2 = document.getElementsByClassName('elHeader')[0].clientHeight;
|
let height2 = document.getElementsByClassName('elHeader')[0].clientHeight;
|
||||||
that.tableHeight = height1 - height2 - 70;
|
that.tableHeight = height1 - height2 - 70;
|
||||||
console.log(that.tableHeight)
|
|
||||||
that.getList();
|
that.getList();
|
||||||
|
|
||||||
},
|
},
|
||||||
|
@ -310,12 +339,10 @@ export default {
|
||||||
if (!this.exportForm.startDate || !this.exportForm.endDate) {
|
if (!this.exportForm.startDate || !this.exportForm.endDate) {
|
||||||
this.$message.error('请选择完整的起止日期!');
|
this.$message.error('请选择完整的起止日期!');
|
||||||
return;}
|
return;}
|
||||||
console.log(this.exportForm)
|
|
||||||
exportData(this.exportForm).then((response) => {
|
exportData(this.exportForm).then((response) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
let filename = '质量活动表.xlsx';
|
let filename = '质量活动表.xlsx';
|
||||||
let tableData = response.data;
|
let tableData = response.data;
|
||||||
console.log(tableData)
|
|
||||||
const ws = XLSX.utils.json_to_sheet(tableData.results);
|
const ws = XLSX.utils.json_to_sheet(tableData.results);
|
||||||
const wb = XLSX.utils.book_new();
|
const wb = XLSX.utils.book_new();
|
||||||
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
|
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
|
||||||
|
@ -353,6 +380,13 @@ export default {
|
||||||
this.Content.file = res.data.id;
|
this.Content.file = res.data.id;
|
||||||
this.impForm.file = res.data.path;
|
this.impForm.file = res.data.path;
|
||||||
},
|
},
|
||||||
|
handleUpSuccess1(res, file, filelist) {
|
||||||
|
console.log(res)
|
||||||
|
this.Content.file = res.data.path;
|
||||||
|
},
|
||||||
|
handleRemove1(file, filelist) {
|
||||||
|
this.Content.file = null;
|
||||||
|
},
|
||||||
handleRemove(file, filelist) {
|
handleRemove(file, filelist) {
|
||||||
this.Content.file = null;
|
this.Content.file = null;
|
||||||
this.fileList = [];
|
this.fileList = [];
|
||||||
|
@ -370,7 +404,6 @@ export default {
|
||||||
this.tableData.results =[];
|
this.tableData.results =[];
|
||||||
this.tableData.count =0;
|
this.tableData.count =0;
|
||||||
getgetMyRcs(this.listQuery).then((response) => {
|
getgetMyRcs(this.listQuery).then((response) => {
|
||||||
console.log(response);
|
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
this.tableData = response.data;
|
this.tableData = response.data;
|
||||||
|
|
||||||
|
@ -399,7 +432,7 @@ export default {
|
||||||
if (this.Content.file) {
|
if (this.Content.file) {
|
||||||
this.fileList = [
|
this.fileList = [
|
||||||
{
|
{
|
||||||
name: this.Content.file_.name,
|
name: this.Content.name,
|
||||||
url: this.Content.file,
|
url: this.Content.file,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
@ -431,7 +464,6 @@ export default {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
const isEdit = this.dialogType === "edit";
|
const isEdit = this.dialogType === "edit";
|
||||||
if (isEdit) {
|
if (isEdit) {
|
||||||
console.log(this.Content)
|
|
||||||
updateRc(this.Content.id, this.Content).then((response) => {
|
updateRc(this.Content.id, this.Content).then((response) => {
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
this.tableData = response.data;
|
this.tableData = response.data;
|
||||||
|
|
|
@ -30,6 +30,11 @@
|
||||||
<el-table-column label="获奖日期">
|
<el-table-column label="获奖日期">
|
||||||
<template slot-scope="scope">{{ scope.row.awarded_date }}</template>
|
<template slot-scope="scope">{{ scope.row.awarded_date }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column align="center" label="文件下载">
|
||||||
|
<template slot-scope="scope" v-if="scope.row.file">
|
||||||
|
<el-link :href="scope.row.file" type="primary">下载</el-link>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column align="center" label="操作" width="120px" fixed="right">
|
<el-table-column align="center" label="操作" width="120px" fixed="right">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-link :disabled="!checkPermission(['infoCollect_QC'])" type="primary" size="small"
|
<el-link :disabled="!checkPermission(['infoCollect_QC'])" type="primary" size="small"
|
||||||
|
@ -73,6 +78,19 @@
|
||||||
style="width:50%"
|
style="width:50%"
|
||||||
></el-date-picker>
|
></el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="文件路径" prop="file">
|
||||||
|
<el-upload
|
||||||
|
ref="upload"
|
||||||
|
:action="upUrl"
|
||||||
|
:on-success="handleUpSuccess1"
|
||||||
|
:on-remove="handleRemove1"
|
||||||
|
:headers="upHeaders"
|
||||||
|
:file-list="fileList"
|
||||||
|
:limit="1">
|
||||||
|
<el-button size="small" type="primary">上传文件</el-button>
|
||||||
|
<div slot="tip" class="el-upload__tip">上传相关材料/照片压缩包</div>
|
||||||
|
</el-upload>
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div style="text-align: right">
|
<div style="text-align: right">
|
||||||
<el-button type="danger" @click="dialogVisible = false">取消</el-button>
|
<el-button type="danger" @click="dialogVisible = false">取消</el-button>
|
||||||
|
@ -159,7 +177,8 @@ const defaultContent = {
|
||||||
awardee_company: "",
|
awardee_company: "",
|
||||||
awardee_people: "",
|
awardee_people: "",
|
||||||
awarded_by: "",
|
awarded_by: "",
|
||||||
awarded_date: ""
|
awarded_date: "",
|
||||||
|
file:"",
|
||||||
};
|
};
|
||||||
export default {
|
export default {
|
||||||
components: { Pagination, Treeselect },
|
components: { Pagination, Treeselect },
|
||||||
|
@ -172,7 +191,8 @@ export default {
|
||||||
awardee_company: "",
|
awardee_company: "",
|
||||||
awardee_people: "",
|
awardee_people: "",
|
||||||
awarded_by: "",
|
awarded_by: "",
|
||||||
awarded_date: ""
|
awarded_date: "",
|
||||||
|
file:"",
|
||||||
},
|
},
|
||||||
upHeaders: upHeaders(),
|
upHeaders: upHeaders(),
|
||||||
upUrl: upUrl(),
|
upUrl: upUrl(),
|
||||||
|
@ -272,6 +292,13 @@ export default {
|
||||||
this.Content.file = null;
|
this.Content.file = null;
|
||||||
this.impForm.file = '';
|
this.impForm.file = '';
|
||||||
},
|
},
|
||||||
|
handleUpSuccess1(res, file, filelist) {
|
||||||
|
console.log(res)
|
||||||
|
this.Content.file = res.data.path;
|
||||||
|
},
|
||||||
|
handleRemove1(file, filelist) {
|
||||||
|
this.Content.file = null;
|
||||||
|
},
|
||||||
checkPermission,
|
checkPermission,
|
||||||
|
|
||||||
filterNode(value, data) {
|
filterNode(value, data) {
|
||||||
|
|
Loading…
Reference in New Issue