update bugs #98
4
.env.dev
4
.env.dev
@ -13,11 +13,11 @@ VUE_APP_TITLE = MES系统
|
|||||||
|
|
||||||
# 芋道管理系统/开发环境
|
# 芋道管理系统/开发环境
|
||||||
# VUE_APP_BASE_API = 'http://100.64.0.26:48082'
|
# VUE_APP_BASE_API = 'http://100.64.0.26:48082'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.0.33:48082'
|
VUE_APP_BASE_API = 'http://192.168.0.33:48082'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.4.173:48080'
|
# VUE_APP_BASE_API = 'http://192.168.4.173:48080'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.2.173:48080'
|
# VUE_APP_BASE_API = 'http://192.168.2.173:48080'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.1.49:48080'
|
# VUE_APP_BASE_API = 'http://192.168.1.49:48080'
|
||||||
VUE_APP_BASE_API = 'http://192.168.1.8:48082'
|
# VUE_APP_BASE_API = 'http://192.168.1.8:48082'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.4.159:48080'
|
# VUE_APP_BASE_API = 'http://192.168.4.159:48080'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.1.56:48080'
|
# VUE_APP_BASE_API = 'http://192.168.1.56:48080'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.4.159:48080'
|
# VUE_APP_BASE_API = 'http://192.168.4.159:48080'
|
||||||
|
@ -31,25 +31,56 @@
|
|||||||
|
|
||||||
<div class="form-part" v-if="section.key == 'base'">
|
<div class="form-part" v-if="section.key == 'base'">
|
||||||
<el-skeleton v-if="!showForm" animated />
|
<el-skeleton v-if="!showForm" animated />
|
||||||
<BaseInfoForm
|
<!-- <BaseInfoForm
|
||||||
key="drawer-dialog-form"
|
key="drawer-dialog-form"
|
||||||
v-if="showForm"
|
v-if="showForm"
|
||||||
ref="form"
|
ref="form"
|
||||||
:disabled="mode.includes('detail')"
|
:disabled="mode.includes('detail')"
|
||||||
:dataForm="form"
|
:dataForm="form"
|
||||||
:rows="formRows" />
|
:rows="formRows" /> -->
|
||||||
|
|
||||||
|
<el-row style="margin-bottom: 24px">
|
||||||
|
<el-col :span="8">
|
||||||
|
<div
|
||||||
|
class="title"
|
||||||
|
style="font-weight: 700; font-size: 16px; margin: 8px 0">
|
||||||
|
设备分组名称
|
||||||
|
</div>
|
||||||
|
<div class="value" style="font-size: 14px">{{ form.name }}</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<div
|
||||||
|
class="title"
|
||||||
|
style="font-weight: 700; font-size: 16px; margin: 8px 0">
|
||||||
|
设备分组编码
|
||||||
|
</div>
|
||||||
|
<div class="value" style="font-size: 14px">
|
||||||
|
{{ form.code }}
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="section.key == 'attrs'" style="margin-top: 12px">
|
<div
|
||||||
|
v-if="section.key == 'attrs'"
|
||||||
|
style="position: relative; margin-top: 12px">
|
||||||
|
<div
|
||||||
|
v-if="!mode.includes('detail')"
|
||||||
|
style="position: absolute; top: -40px; right: 0">
|
||||||
|
<el-button @click="handleAddAttr" type="text">
|
||||||
|
<i class="el-icon-plus"></i>
|
||||||
|
添加报警
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
<base-table
|
<base-table
|
||||||
v-loading="attrListLoading"
|
v-loading="attrListLoading"
|
||||||
:table-props="section.props"
|
:table-props="section.props"
|
||||||
:page="attrQuery?.params.pageNo || 1"
|
:page="attrQuery?.params.pageNo || 1"
|
||||||
:limit="attrQuery?.params.pageSize || 10"
|
:limit="attrQuery?.params.pageSize || 10"
|
||||||
:table-data="list"
|
:table-data="list"
|
||||||
:add-button-show="mode.includes('detail') ? null : '添加属性'"
|
|
||||||
@emitButtonClick="handleAddAttr"
|
|
||||||
@emitFun="handleEmitFun">
|
@emitFun="handleEmitFun">
|
||||||
|
<!-- :add-button-show="mode.includes('detail') ? null : '添加属性'"
|
||||||
|
@emitButtonClick="handleAddAttr" -->
|
||||||
<method-btn
|
<method-btn
|
||||||
v-if="section.tableBtn"
|
v-if="section.tableBtn"
|
||||||
slot="handleBtn"
|
slot="handleBtn"
|
||||||
@ -74,14 +105,7 @@
|
|||||||
<el-button v-if="mode == 'detail'" type="primary" @click="toggleEdit">
|
<el-button v-if="mode == 'detail'" type="primary" @click="toggleEdit">
|
||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-else type="primary" @click="handleCancel">确定</el-button>
|
<!-- <el-button v-else type="primary" @click="handleCancel">确定</el-button> -->
|
||||||
<!-- sections的第二项必须是 属性列表 -->
|
|
||||||
<!-- <el-button
|
|
||||||
v-if="sections[1].allowAdd"
|
|
||||||
type="primary"
|
|
||||||
@click="handleAddAttr">
|
|
||||||
添加属性
|
|
||||||
</el-button> -->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -226,7 +250,7 @@ export default {
|
|||||||
bind: {
|
bind: {
|
||||||
// 详情 模式下,禁用各种输入
|
// 详情 模式下,禁用各种输入
|
||||||
// disabled: this.mode == 'detail',
|
// disabled: this.mode == 'detail',
|
||||||
disabled: true
|
disabled: true,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
@ -31,25 +31,56 @@
|
|||||||
|
|
||||||
<div class="form-part" v-if="section.key == 'base'">
|
<div class="form-part" v-if="section.key == 'base'">
|
||||||
<el-skeleton v-if="!showForm" animated />
|
<el-skeleton v-if="!showForm" animated />
|
||||||
<BaseInfoForm
|
<!-- <BaseInfoForm
|
||||||
key="drawer-dialog-form"
|
key="drawer-dialog-form"
|
||||||
v-if="showForm"
|
v-if="showForm"
|
||||||
ref="form"
|
ref="form"
|
||||||
:disabled="true"
|
:disabled="true"
|
||||||
:dataForm="form"
|
:dataForm="form"
|
||||||
:rows="formRows" />
|
:rows="formRows" /> -->
|
||||||
|
|
||||||
|
<el-row style="margin-bottom: 24px">
|
||||||
|
<el-col :span="8">
|
||||||
|
<div
|
||||||
|
class="title"
|
||||||
|
style="font-weight: 700; font-size: 16px; margin: 8px 0">
|
||||||
|
设备分组名称
|
||||||
|
</div>
|
||||||
|
<div class="value" style="font-size: 14px">{{ form.name }}</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<div
|
||||||
|
class="title"
|
||||||
|
style="font-weight: 700; font-size: 16px; margin: 8px 0">
|
||||||
|
设备分组编码
|
||||||
|
</div>
|
||||||
|
<div class="value" style="font-size: 14px">
|
||||||
|
{{ form.code }}
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="section.key == 'attrs'" style="margin-top: 12px">
|
<div
|
||||||
|
v-if="section.key == 'attrs'"
|
||||||
|
style="position: relative; margin-top: 12px">
|
||||||
|
<div
|
||||||
|
v-if="!mode.includes('detail')"
|
||||||
|
style="position: absolute; top: -40px; right: 0">
|
||||||
|
<el-button @click="handleAddAttr" type="text">
|
||||||
|
<i class="el-icon-plus"></i>
|
||||||
|
添加属性
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
<base-table
|
<base-table
|
||||||
v-loading="attrListLoading"
|
v-loading="attrListLoading"
|
||||||
:table-props="section.props"
|
:table-props="section.props"
|
||||||
:page="attrQuery?.params.pageNo || 1"
|
:page="attrQuery?.params.pageNo || 1"
|
||||||
:limit="attrQuery?.params.pageSize || 10"
|
:limit="attrQuery?.params.pageSize || 10"
|
||||||
:table-data="list"
|
:table-data="list"
|
||||||
:add-button-show="mode.includes('detail') ? null : '添加属性'"
|
|
||||||
@emitButtonClick="handleAddAttr"
|
|
||||||
@emitFun="handleEmitFun">
|
@emitFun="handleEmitFun">
|
||||||
|
<!-- :add-button-show="mode.includes('detail') ? null : '添加属性'"
|
||||||
|
@emitButtonClick="handleAddAttr" -->
|
||||||
<method-btn
|
<method-btn
|
||||||
v-if="section.tableBtn"
|
v-if="section.tableBtn"
|
||||||
slot="handleBtn"
|
slot="handleBtn"
|
||||||
@ -74,14 +105,7 @@
|
|||||||
<el-button v-if="mode == 'detail'" type="primary" @click="toggleEdit">
|
<el-button v-if="mode == 'detail'" type="primary" @click="toggleEdit">
|
||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-else type="primary" @click="handleCancel">确定</el-button>
|
<!-- <el-button v-else type="primary" @click="handleCancel">确定</el-button> -->
|
||||||
<!-- sections的第二项必须是 属性列表 -->
|
|
||||||
<!-- <el-button
|
|
||||||
v-if="sections[1].allowAdd"
|
|
||||||
type="primary"
|
|
||||||
@click="handleAddAttr">
|
|
||||||
添加属性
|
|
||||||
</el-button> -->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -31,25 +31,58 @@
|
|||||||
|
|
||||||
<div class="form-part" v-if="section.key == 'base'">
|
<div class="form-part" v-if="section.key == 'base'">
|
||||||
<el-skeleton v-if="!showForm" animated />
|
<el-skeleton v-if="!showForm" animated />
|
||||||
<BaseInfoForm
|
<!-- <BaseInfoForm
|
||||||
key="drawer-dialog-form"
|
key="drawer-dialog-form"
|
||||||
v-if="showForm"
|
v-if="showForm"
|
||||||
ref="form"
|
ref="form"
|
||||||
:disabled="mode.includes('detail')"
|
:disabled="mode.includes('detail')"
|
||||||
v-model="form"
|
v-model="form"
|
||||||
:rows="formRows" />
|
:rows="formRows" /> -->
|
||||||
|
|
||||||
|
<el-row style="margin-bottom: 24px">
|
||||||
|
<el-col :span="8">
|
||||||
|
<div
|
||||||
|
class="title"
|
||||||
|
style="font-weight: 700; font-size: 16px; margin: 8px 0">
|
||||||
|
设备名
|
||||||
|
</div>
|
||||||
|
<div class="value" style="font-size: 14px">
|
||||||
|
{{ form.equipmentName }}
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<div
|
||||||
|
class="title"
|
||||||
|
style="font-weight: 700; font-size: 16px; margin: 8px 0">
|
||||||
|
关联表名
|
||||||
|
</div>
|
||||||
|
<div class="value" style="font-size: 14px">
|
||||||
|
{{ form.plcTableName }}
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="section.key == 'attrs'" style="margin-top: 12px">
|
<div
|
||||||
|
v-if="section.key == 'attrs'"
|
||||||
|
style="position: relative; margin-top: 12px">
|
||||||
|
<div
|
||||||
|
v-if="!mode.includes('detail')"
|
||||||
|
style="position: absolute; top: -40px; right: 0">
|
||||||
|
<el-button @click="handleAddAttr" type="text">
|
||||||
|
<i class="el-icon-plus"></i>
|
||||||
|
添加属性
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
<base-table
|
<base-table
|
||||||
v-loading="attrListLoading"
|
v-loading="attrListLoading"
|
||||||
:table-props="section.props"
|
:table-props="section.props"
|
||||||
:page="attrQuery?.params.pageNo || 1"
|
:page="attrQuery?.params.pageNo || 1"
|
||||||
:limit="attrQuery?.params.pageSize || 10"
|
:limit="attrQuery?.params.pageSize || 10"
|
||||||
:table-data="list"
|
:table-data="list"
|
||||||
:add-button-show="mode.includes('detail') ? null : '添加属性'"
|
|
||||||
@emitButtonClick="handleAddAttr"
|
|
||||||
@emitFun="handleEmitFun">
|
@emitFun="handleEmitFun">
|
||||||
|
<!-- :add-button-show="mode.includes('detail') ? null : '添加属性'"
|
||||||
|
@emitButtonClick="handleAddAttr" -->
|
||||||
<method-btn
|
<method-btn
|
||||||
v-if="section.tableBtn"
|
v-if="section.tableBtn"
|
||||||
slot="handleBtn"
|
slot="handleBtn"
|
||||||
@ -74,14 +107,7 @@
|
|||||||
<el-button v-if="mode == 'detail'" type="primary" @click="toggleEdit">
|
<el-button v-if="mode == 'detail'" type="primary" @click="toggleEdit">
|
||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button v-else type="primary" @click="handleCancel">确定</el-button>
|
<!-- <el-button v-else type="primary" @click="handleCancel">确定</el-button> -->
|
||||||
<!-- sections的第二项必须是 属性列表 -->
|
|
||||||
<!-- <el-button
|
|
||||||
v-if="sections[1].allowAdd"
|
|
||||||
type="primary"
|
|
||||||
@click="handleAddAttr">
|
|
||||||
添加属性
|
|
||||||
</el-button> -->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -214,7 +240,6 @@ export default {
|
|||||||
{ label: '出片数量', value: 2 },
|
{ label: '出片数量', value: 2 },
|
||||||
{ label: '破损数量', value: 3 },
|
{ label: '破损数量', value: 3 },
|
||||||
{ label: '无类型', value: 4 },
|
{ label: '无类型', value: 4 },
|
||||||
|
|
||||||
],
|
],
|
||||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
||||||
},
|
},
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import basicPageMixin from '@/mixins/lb/basicPageMixin';
|
import basicPageMixin from '@/mixins/lb/basicPageMixin';
|
||||||
import Editor from '@/components/Editor';
|
import Editor from '@/components/Editor';
|
||||||
import { deleteEqMaintainLog } from '@/api/equipment/base/maintain/record'
|
import { deleteEqMaintainLog } from '@/api/equipment/base/maintain/record';
|
||||||
|
|
||||||
const timeFilter = (val) => moment(val).format('yyyy-MM-DD HH:mm:ss');
|
const timeFilter = (val) => moment(val).format('yyyy-MM-DD HH:mm:ss');
|
||||||
|
|
||||||
@ -64,7 +64,6 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
searchBarKeys: [
|
searchBarKeys: [
|
||||||
'maintainPlanId',
|
|
||||||
'maintainPlanId',
|
'maintainPlanId',
|
||||||
'startTime',
|
'startTime',
|
||||||
'relatePlan',
|
'relatePlan',
|
||||||
@ -190,7 +189,6 @@ export default {
|
|||||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// TODO: 和班组联动
|
|
||||||
select: true,
|
select: true,
|
||||||
label: '保养人员',
|
label: '保养人员',
|
||||||
prop: 'maintainWorker',
|
prop: 'maintainWorker',
|
||||||
@ -222,11 +220,10 @@ export default {
|
|||||||
},
|
},
|
||||||
{},
|
{},
|
||||||
{
|
{
|
||||||
// TODO: 和计划联动
|
|
||||||
select: true,
|
select: true,
|
||||||
label: '所属计划',
|
label: '所属计划',
|
||||||
prop: 'maintainPlanId',
|
prop: 'maintainPlanId',
|
||||||
url: '',
|
url: '/base/equipment-maintain-plan/page',
|
||||||
bind: {
|
bind: {
|
||||||
filterable: true,
|
filterable: true,
|
||||||
clearable: true,
|
clearable: true,
|
||||||
@ -273,9 +270,16 @@ export default {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
// TODO: 富文本
|
// TODO: 富文本
|
||||||
[{ label: '保养描述', prop: 'maintenanceDes', subcomponent: Editor, bind: {
|
[
|
||||||
'min-height': 192
|
{
|
||||||
} }],
|
label: '保养描述',
|
||||||
|
prop: 'maintenanceDes',
|
||||||
|
subcomponent: Editor,
|
||||||
|
bind: {
|
||||||
|
'min-height': 192,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
[{ input: true, label: '备注', prop: 'remark' }],
|
[{ input: true, label: '备注', prop: 'remark' }],
|
||||||
],
|
],
|
||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
@ -293,20 +297,26 @@ export default {
|
|||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
basePath: '/base/equipment-maintain-log',
|
basePath: '/base/equipment-maintain-log',
|
||||||
mode: null
|
mode: null,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.initSearchBar();
|
this.initSearchBar();
|
||||||
if (this.$route.query) {
|
if (this.$route.query) {
|
||||||
this.queryParams.equipmentId = this.$route.query?.equipmentId ?? undefined
|
this.queryParams.equipmentId =
|
||||||
this.queryParams.maintainPlanId = this.$route.query?.maintainPlanId ?? undefined
|
this.$route.query?.equipmentId ?? undefined;
|
||||||
this.queryParams.relatePlan = this.$route.query?.relatePlan ?? undefined
|
this.queryParams.maintainPlanId =
|
||||||
this.queryParams.startTime = this.$route.query?.createTime ?? undefined
|
this.$route.query?.maintainPlanId ?? undefined;
|
||||||
this.searchBarFormConfig[0].defaultSelect = this.$route.query.equipmentId ?? undefined
|
this.queryParams.relatePlan = this.$route.query?.relatePlan ?? undefined;
|
||||||
this.searchBarFormConfig[1].defaultSelect = Number(this.$route.query.maintainPlanId) ?? undefined
|
this.queryParams.startTime = this.$route.query?.createTime ?? undefined;
|
||||||
this.searchBarFormConfig[2].defaultSelect = this.$route.query?.createTime ?? undefined
|
this.searchBarFormConfig[0].defaultSelect =
|
||||||
this.searchBarFormConfig[3].defaultSelect = Number(this.$route.query.relatePlan) ?? undefined
|
this.$route.query.equipmentId ?? undefined;
|
||||||
|
this.searchBarFormConfig[1].defaultSelect =
|
||||||
|
Number(this.$route.query.maintainPlanId) ?? undefined;
|
||||||
|
this.searchBarFormConfig[2].defaultSelect =
|
||||||
|
this.$route.query?.createTime ?? undefined;
|
||||||
|
this.searchBarFormConfig[3].defaultSelect =
|
||||||
|
Number(this.$route.query.relatePlan) ?? undefined;
|
||||||
}
|
}
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
@ -399,7 +409,7 @@ export default {
|
|||||||
this.info({ id }).then((response) => {
|
this.info({ id }).then((response) => {
|
||||||
this.form = response.data;
|
this.form = response.data;
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.form.maintainWorker = this.form.maintainWorker.split(',')
|
this.form.maintainWorker = this.form.maintainWorker.split(',');
|
||||||
this.title = '修改保养记录';
|
this.title = '修改保养记录';
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -409,7 +419,7 @@ export default {
|
|||||||
if (!valid) {
|
if (!valid) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.form.maintainWorker = this.form.maintainWorker.join(',')
|
this.form.maintainWorker = this.form.maintainWorker.join(',');
|
||||||
// 修改的提交
|
// 修改的提交
|
||||||
if (this.form.id != null) {
|
if (this.form.id != null) {
|
||||||
this.put(this.form).then((response) => {
|
this.put(this.form).then((response) => {
|
||||||
@ -431,7 +441,9 @@ export default {
|
|||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
const id = row.id;
|
const id = row.id;
|
||||||
this.$modal
|
this.$modal
|
||||||
.confirm('是否删除设备保养单号为"' + row.maintainOrderNumber + '"的数据项?')
|
.confirm(
|
||||||
|
'是否删除设备保养单号为"' + row.maintainOrderNumber + '"的数据项?'
|
||||||
|
)
|
||||||
.then(function () {
|
.then(function () {
|
||||||
return deleteEqMaintainLog(id);
|
return deleteEqMaintainLog(id);
|
||||||
})
|
})
|
||||||
@ -443,7 +455,7 @@ export default {
|
|||||||
},
|
},
|
||||||
handleDetail({ id }) {
|
handleDetail({ id }) {
|
||||||
this.reset();
|
this.reset();
|
||||||
this.mode = 'detail'
|
this.mode = 'detail';
|
||||||
this.info({ id }).then((response) => {
|
this.info({ id }).then((response) => {
|
||||||
this.form = response.data;
|
this.form = response.data;
|
||||||
this.open = true;
|
this.open = true;
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
ref="form"
|
ref="form"
|
||||||
:model="dataForm"
|
:model="dataForm"
|
||||||
label-width="100px"
|
label-width="100px"
|
||||||
|
label-position="top"
|
||||||
v-loading="formLoading">
|
v-loading="formLoading">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
@ -213,7 +214,7 @@ export default {
|
|||||||
this.visible = false;
|
this.visible = false;
|
||||||
},
|
},
|
||||||
goEdit() {
|
goEdit() {
|
||||||
this.isdetail = false;
|
this.disabled = false;
|
||||||
},
|
},
|
||||||
/** 模拟透传 ref */
|
/** 模拟透传 ref */
|
||||||
validate(cb) {
|
validate(cb) {
|
||||||
|
Loading…
Reference in New Issue
Block a user