Browse Source

Merge branch 'dev-calendar'

feature
jianjun 3 years ago
parent
commit
a2efb47b65
  1. BIN
      src/assets/img/modules/communityparty/ding.png
  2. BIN
      src/assets/img/modules/communityparty/rili1.png
  3. BIN
      src/assets/img/modules/communityparty/rili2.png
  4. 21
      src/views/modules/communityParty/calendar/cpts/calendar.vue
  5. 123
      src/views/modules/communityParty/calendar/index.vue
  6. 2
      src/views/modules/communityParty/orgActivity/activivityList/addActivity.vue
  7. 39
      src/views/modules/communityParty/orgActivity/activivityList/addRule.vue
  8. 4
      src/views/modules/communityParty/orgActivity/activivityList/scheduleForm.vue
  9. 593
      src/views/modules/communityParty/orgActivity/activivityList/scheduleList.vue
  10. 6
      src/views/modules/communityParty/orgActivity/activivityList/yearplanList.vue

BIN
src/assets/img/modules/communityparty/ding.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B

BIN
src/assets/img/modules/communityparty/rili1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 836 B

BIN
src/assets/img/modules/communityparty/rili2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 B

21
src/views/modules/communityParty/calendar/cpts/calendar.vue

@ -163,9 +163,11 @@ export default {
.top {
position: relative;
width: 14.285%;
padding: 10px 0;
padding: 20px 0;
font-size: 20px;
font-weight:bold;
background-color: #E6A23C;
text-align: center;
background-color: #ffffff;
&::after {
content: "";
@ -196,7 +198,7 @@ export default {
text-align: center;
box-sizing: border-box;
padding: 8px 0;
height: 90px;
height: 100px;
background-color: #ffffff;
opacity: 0.4;
@ -214,16 +216,21 @@ export default {
}
.date {
margin-bottom: 5px;
line-height: 30px;
font-size: 16px;
margin-bottom: 10px;
line-height: 50px;
font-size: 28px;
font-weight: bold;
color:#3e8ef7;
}
&.z-on {
z-index: 21;
box-shadow: 0 0 15px 5px #a8cee0;
background:#3E8EF7;
.date {
font-size: 20px;
font-size: 30px;
color:#ffffff;
font-weight: bold;
}
}

123
src/views/modules/communityParty/calendar/index.vue

@ -8,7 +8,7 @@
<div class="item">
<el-cascader class="customer_cascader"
ref="myCascader"
size="small"
size="big"
v-model="fmData.orgId"
:options="partyOptions"
:props="partyOptionsProps"
@ -63,6 +63,7 @@
<div v-if="item.isMe"
class="item-ope">
<el-button type="primary"
v-if="item.isPublish === '0'"
size="mini"
@click="handleClickHuodong('publish', item)">发布</el-button>
<el-button type="success"
@ -114,9 +115,9 @@
<el-date-picker v-model="currentYearStr"
value-format="yyyy"
type="year"
placeholder="选择年"
size="small"
style="width: 150px">
placeholder="选择年"
size="big"
style="width: 100px;">
</el-date-picker>
</div>
<div class="hd-month">
@ -134,8 +135,8 @@
</div>
<div class="hd-btn">
<el-button type="primary"
size="small"
@click="handleAddYearPlan">生成年度活动计划</el-button>
size="big"
@click="handleAddYearPlan" style="padding-left:10px; padding-right:10px;">生成年度活动计划</el-button>
</div>
</div>
<calendar :currentYear="currentYear"
@ -603,6 +604,7 @@ export default {
this.monthData[index] = parseInt(item.count);
});
console.log("--------------monthData", this.monthData);
this.$forceUpdate()
}
} else {
this.$message.error(msg);
@ -684,13 +686,15 @@ $red: #f33;
.hd {
display: flex;
margin-bottom: 20px;
.hd-year {
margin-top: 6px;
}
.hd-month {
display: flex;
.month-item {
position: relative;
margin-left: 10px;
margin-left: 8px;
/deep/ .el-badge__content {
z-index: 1;
@ -698,33 +702,36 @@ $red: #f33;
&.z-on {
.month-text {
background-color: $blue;
color: #ffffff;
background-image: url("../../../../assets/img/modules/communityparty/rili2.png");
color: #e60000;
}
}
.month-text {
position: relative;
z-index: 0;
width: 40px;
height: 30px;
width: 50px;
height: 50px;
background-image: url("../../../../assets/img/modules/communityparty/rili1.png");
text-align: center;
background-color: #eeeeee;
border-radius: 8px;
line-height: 30px;
line-height: 66px;
color:#666666;
font-size: 14px;
font-weight:bold;
cursor: pointer;
}
}
}
.hd-btn {
margin-top: 6px;
margin-left: auto;
}
}
.all-list {
position: absolute;
z-index: 100;
z-index: 999999;
padding: 0 10px;
width: 300px;
max-height: 200px;
@ -732,7 +739,7 @@ $red: #f33;
background-color: rgba(#ffffff, 0.9);
box-shadow: 0 0 10px 3px rgba(#000, 0.1);
text-align: left;
color: #999;
color: #999999;
transition: all ease 0.13s;
transform: scale(0);
@ -763,19 +770,27 @@ $red: #f33;
.tip {
position: relative;
margin: 0 3px;
padding: 3px 2px 3px 12px;
line-height: 16px;
box-shadow: 0 0 5px 1px #eee;
margin: -15px 0px 0px 0px;
padding: 8px 2px 3px 12px;
line-height: 18px;
box-shadow: 0 0 10px 5px #eee;
background-color: #ffffff;
font-size: 12px;
border-radius: 4px;
cursor: pointer;
color: #999999;
color: #666666;
&:hover {
.all-list {
transform: scale(1);
background:#f3ca7e;
color:#333333;
font-size:14px;
border:1px #ffCC00 solid;
border-radius:5px;
line-height:20px;
z-index:9999;
}
}
.tip-num {
@ -784,17 +799,19 @@ $red: #f33;
top: -7px;
right: -7px;
border-radius: 100%;
width: 14px;
height: 14px;
line-height: 14px;
width: 22px;
height: 22px;
line-height: 20px;
text-align: center;
font-size: 10px;
font-size: 12px;
text-align: center;
color: #ffffff;
background-color: #f1ba06;
background-color: #ff3300;
border:#ffffff 2px solid;
}
.z-on {
color: $red;
font-weight:bold;
}
.tip-text {
@include toe;
@ -808,16 +825,17 @@ $red: #f33;
&::before {
position: absolute;
background-image: url("../../../../assets/img/modules/communityparty/ding.png");
background-size: 26px 26px;
content: "";
left: 4px;
top: 0;
left: 0px;
top: -56px;
bottom: 0;
margin: auto;
display: block;
width: 4px;
height: 4px;
border-radius: 100%;
background-color: $red;
width: 26px;
height: 26px;
}
}
@ -831,29 +849,38 @@ $red: #f33;
&:hover {
.all-list {
transform: scale(1);
background:#f3ca7e;
color:#333333;
font-size:14px;
border:1px #ffCC00 solid;
border-radius:5px;
line-height:20px;
}
}
.corn-num {
position: absolute;
z-index: 10;
top: -7px;
right: -7px;
top: -10px;
right: -14px;
border-radius: 100%;
width: 14px;
height: 14px;
line-height: 14px;
width: 22px;
height: 22px;
line-height: 20px;
text-align: center;
font-size: 10px;
font-size: 12px;
font-weight:bold;
text-align: center;
color: #ffffff;
background-color: #f1ba06;
background-color: #F56C6C;
border:#ffffff 2px solid;
}
.corn-text {
position: relative;
z-index: 1;
font-size: 12px;
line-height: 18px;
padding-right: 3px;
font-size: 14px;
line-height: 27px;
font-weight: bold;
padding-right: 5px;
}
&::before {
@ -865,16 +892,16 @@ $red: #f33;
right: 0;
width: 0px;
height: 0;
border-top: 17px solid #f33;
border-right: 25px solid #f33;
border-bottom: 17px solid transparent;
border-left: 25px solid transparent;
border-top: 25px solid #E60000;
border-right: 28px solid #E60000;
border-bottom: 25px solid transparent;
border-left: 28px solid transparent;
}
}
}
.m-sizer {
.item {
margin-bottom: 10px;
margin-bottom: 20px;
}
}

2
src/views/modules/communityParty/orgActivity/activivityList/addActivity.vue

@ -220,7 +220,7 @@ export default {
actType: '',// value
holdYearId: '',//yyyy
holdMonthId: '',//yyyyMM
holdTime: '',//yyyy-MM-dd HH:mm:ss
holdTime: new Date(),//yyyy-MM-dd HH:mm:ss
topic: '',//
address: '',//
latitude: '',//

39
src/views/modules/communityParty/orgActivity/activivityList/addRule.vue

@ -60,6 +60,7 @@
format="yyyy-MM-dd hh:mm:ss"
value-format="yyyy-MM-dd hh:mm:ss"
type="datetime"
default-time="09:00:00"
placeholder="选择日期">
</el-date-picker>
@ -471,7 +472,7 @@ export default {
async handleDelete (row, tableIndex) {
this.$confirm("活动删除后不可恢复,您确定要删除吗?", "提示", {
this.$confirm("您确定要删除该条活动计划吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
@ -528,28 +529,28 @@ export default {
}
let obj = {
icPartyActId: '',//
actType: this.actType,// value
holdYearId: '',//yyyy
holdMonthId: '',//yyyyMM
holdTime: '',//yyyy-MM-dd HH:mm:ss
topic: '',//
address: '',//
latitude: '',//
longitude: '',//
autoPublicType: '',//key;
publishPartyOrgId: this.defaultPublishParty.defaultPartyOrgId,// id
publishPartyOrgName: this.defaultPublishParty.defaultPartyOrgName,//
publishOrgPid: this.defaultPublishParty.defaultPartyOrgPid,// ID
publishOrgType: this.defaultPublishParty.orgType,// 0,1,2,3,4,56
publishOrgPathShow: this.defaultPublishParty.defaultPartyOrgPath,//PUBLISH_PARTY_ORG_ID便
joinUserType: '',//01
isAutoInform: '',// 01
icPartyActId: '',//
actType: this.actType,// value
holdYearId: '',//yyyy
holdMonthId: '',//yyyyMM
holdTime: '',//yyyy-MM-dd HH:mm:ss
topic: '',//
address: '',//
latitude: '',//
longitude: '',//
autoPublicType: this.autoTimeArray[1].value ||'',//key; 3
publishPartyOrgId: this.defaultPublishParty.defaultPartyOrgId,// id
publishPartyOrgName: this.defaultPublishParty.defaultPartyOrgName,//
publishOrgPid: this.defaultPublishParty.defaultPartyOrgPid,// ID
publishOrgType: this.defaultPublishParty.orgType,// 0,1,2,3,4,56
publishOrgPathShow: this.defaultPublishParty.defaultPartyOrgPath,//PUBLISH_PARTY_ORG_ID便
joinUserType: this.joinArray[0].value ||'',//01
isAutoInform: '',// 01
introduce: '',//
attachmentList: [],
joinOrgList: [],
publichIdArray: this.defaultPublishParty.defaultPartyOrgPath.split(':'),
publichIdArray: this.defaultPublishParty.defaultPartyOrgId.split(':') || [],//
// publichIdArray: ['1536584227130798081'],
joinIdArray: [],
isAutoInformShow: true

4
src/views/modules/communityParty/orgActivity/activivityList/scheduleForm.vue

@ -50,10 +50,10 @@
style="display: block">
<el-input class="item_width_1"
type="textarea"
maxlength="1000"
maxlength="500"
show-word-limit
:rows="3"
placeholder="请输入日程介绍,不超过1000字"
placeholder="请输入日程介绍,不超过500字"
v-model="formData.remark"></el-input>
</el-form-item>

593
src/views/modules/communityParty/orgActivity/activivityList/scheduleList.vue

@ -0,0 +1,593 @@
<template>
<div class="div_main">
<div v-if="showType==='list'">
<div class="div_search">
<el-form :inline="true"
:model="formData"
ref="ref_searchform"
:label-width="'80px'">
<div>
<el-form-item label="提醒时间"
prop="startTime">
<el-date-picker v-model="formData.startTime"
class="item_width_2"
size="small"
type="date"
value-format="yyyyMMdd"
format="yyyy-MM-dd"
placeholder="开始时间">
</el-date-picker>
<span class="data-tag"></span>
<el-date-picker v-model="formData.endTime"
:picker-options="endPickerOptions"
class="item_width_2 data-tag"
size="small"
type="date"
value-format="yyyyMMdd"
format="yyyy-MM-dd"
placeholder="结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="日程标题"
prop="topic">
<el-input v-model="formData.title"
class="item_width_2"
size="small"
clearable
placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="是否公开"
prop="isPublic">
<el-select v-model="formData.isPublic" clearable placeholder="请选择">
<el-option
v-for="item in isPublicList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-button style="margin-left:30px"
size="small"
class="diy-button--search"
@click="handleSearch">查询</el-button>
<el-button style="margin-left:10px"
size="small"
class="diy-button--reset"
@click="resetSearch">重置</el-button>
</div>
</el-form>
</div>
<div class="div_table">
<div class="div_btn">
<el-button class="diy-button--add"
size="small"
@click="handleAddSchedule">添加日程提醒</el-button>
<el-button style="float:left;margin-left:10px"
class="diy-button--delete"
size="small"
@click="deleteBatch">批量删除</el-button>
<!--<el-button @click="handleExport"
class="diy-button&#45;&#45;reset"
size="small">导出</el-button>-->
</div>
<el-table :data="tableData"
border
v-loading="tableLoading"
:header-cell-style="{background:'#2195FE',color:'#FFFFFF'}"
class="table"
style="width: 100%"
@select-all="selectAll"
@selection-change="selectionChange"
:height="maxTableHeight">
<el-table-column :selectable="checkSelf"
type="selection"
width="55">
</el-table-column>
<el-table-column label="序号"
fixed="left"
type="index"
align="center"
width="50" />
<el-table-column prop="title"
align="center"
min-width="150"
label="日程标题"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="remindTime"
label="提醒时间"
align="center"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="remark"
align="center"
width="150"
label="备注"
:show-overflow-tooltip="true">
</el-table-column>
<el-table-column fixed="right"
label="操作"
align="center"
width="180">
<template slot-scope="scope">
<el-button v-if="user.id===scope.row.staffId"
@click="handleEdit(scope.row)"
type="text"
size="small"
class="div-table-button--edit">修改</el-button>
<el-button v-if="user.id===scope.row.staffId"
@click="handleDel(scope.row)"
type="text"
size="small"
class="div-table-button--delete">删除</el-button>
</template>
</el-table-column>
</el-table>
<div>
<el-pagination @size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="pageNo"
:page-sizes="[20, 50, 100, 200]"
:page-size="parseInt(pageSize)"
layout="sizes, prev, pager, next, total"
:total="total">
</el-pagination>
</div>
</div>
</div>
<el-dialog v-if="showAdd"
:visible.sync="showAdd"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="addDiaTitle"
width="850px"
top="5vh"
class="dialog-h"
@closed="showAdd = false">
<add-activity ref="ref_add_form"
:formType="formType"
:icPartyActId="icPartyActId"
@handleOk="handleOk"
@handleClose="handleClose"></add-activity>
</el-dialog>
<el-dialog v-if="showSchedule"
:visible.sync="showSchedule"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'添加日程提醒'"
width="850px"
top="5vh"
class="dialog-h"
@closed="showSchedule = false">
<schedule-form ref="ref_schedule_form"
:formType="formType"
@handleOk="handleOk"
@handleClose="handleClose">
</schedule-form>
</el-dialog>
<div v-if="showType==='yearplan'">
<yearplan-list @handleOk="handleAddPlanOk"
@handleClose="handleAddPlanClose"></yearplan-list>
</div>
<el-dialog
title="修改日程提醒"
:visible.sync="dialogVisible"
width="850px"
top="5vh"
class="dialog-h"
:before-close="handleClose">
<el-form ref="ref_form"
:inline="true"
:model="scFormData"
:rules="dataRule"
class="div_form">
<el-form-item label="日程标题"
prop="title"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
placeholder="请输入活动标题"
v-model="scFormData.title">
</el-input>
</el-form-item>
<el-form-item label="提醒时间"
style="display: block"
prop="remindTime"
label-width="150px">
<el-date-picker v-model="scFormData.remindTime"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss"
type="datetime"
placeholder="选择时间">
</el-date-picker>
</el-form-item>
<el-form-item label="是否公开"
label-width="150px"
prop="isPublic">
<el-select v-model="scFormData.isPublic"
placeholder="请选择"
clearable
class="item_width_1">
<el-option v-for="item in gongkaiArray"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="日程介绍"
prop="remark"
label-width="150px"
style="display: block">
<el-input class="item_width_1"
type="textarea"
maxlength="500"
show-word-limit
:rows="3"
placeholder="请输入日程介绍,不超过500字"
v-model="scFormData.remark"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="editSchedule"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { requestPost, requestGet } from "@/js/dai/request";
import { mapGetters } from "vuex";
import axios from "axios";
import scheduleForm from "./scheduleForm";
export default {
components: { scheduleForm },
data () {
let endDisabledDate = (time) => {//datareturn
let nowData = Date.now()
if (this.formData.startTime) {
let startTime = new Date(this.formData.startTime)
return time.getTime() < startTime || time.getTime() === startTime
}
}
let startDisabledDate = (time) => {//datareturn
let nowData = Date.now()
return time.getTime() > nowData
}
return {
dialogVisible: false,
isPublicList: [
{
value: '0',
label: '仅自己可见'
},
{
value: '1',
label: '组织内其他人可见'
}
],
tableLoading: false,
user: {},
agencyId: '',
gongkaiArray: [
{
value: '0',
label: '仅自己可见'
},
{
value: '1',
label: '组织内其他人可见'
},
],
tableData: [],
scFormData: {
title: '',
remindTime: '',
remark: '',
scheduleId: '',
isPublic: ''
},
formData: {
title: '',
startTime: '',//20220817
endTime: '',//20220817
isPublish: ''
},
pageNo: 1,
pageSize: window.localStorage.getItem("pageSize") || 20,
total: 1,
endPickerOptions: {
disabledDate: endDisabledDate
},
agencyIdArray: [],
showAdd: false,
formType: 'add',
addDiaTitle: '添加活动计划',
showSchedule: false,
showType: 'list',
scheduleId: '',
selection: [],
scheduleDiaTitle: '',
isPublic: '',
title: '',
remindTime: ''
};
},
computed: {
dataRule () {
return {
title: [
{ required: true, message: '日程标题不能为空', trigger: 'change' },
],
remindTime: [
{ required: true, message: '提醒时间不能为空', trigger: 'change' }
],
isPublic: [
{ required: true, message: '是否公开不能为空', trigger: 'change' }
],
}
},
maxTableHeight () {
return this.$store.state.inIframe
? this.clientHeight - 410 + this.iframeHeigh
: this.clientHeight - 410;
},
...mapGetters(["clientHeight", "iframeHeight"]),
},
watch: {
},
mounted () {
this.user = this.$store.state.user
this.agencyId = this.user.agencyId
this.getTableData();
},
methods: {
checkSelf (row) {
return this.$store.state.user.id === row.staffId
},
handleAddYearPlan () {
this.showType = 'yearplan'
},
handleAddPlanOk () {
this.showType = 'list'
},
handleAddPlanClose () {
this.showType = 'list'
},
handleAddSchedule () {
this.formType = 'schedule'
this.showSchedule = true;
},
handleSearch (val) {
this.pageNo = 1;
this.getTableData();
},
async handleAdd () {
this.icPartyActId = ''
this.addDiaTitle = '新增活动计划'
this.formType = 'add'
this.showAdd = true;
},
async handlePublish (row) {
this.icPartyActId = row.icPartyActId
this.$confirm("确认发布活动?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.publishActivity()
})
.catch(err => {
if (err == "cancel") {
// this.$message({
// type: "info",
// message: ""
// });
}
});
},
async handleEdit (row) {
this.scFormData = row
this.dialogVisible = true
this.scFormData.scheduleId = row.id
},
async editSchedule () {
const url = '/resi/partymember/icSchedule/addOrEdit'
// const url = 'http://yapi.elinkservice.cn/mock/245/icSchedule/addOrEdit'
let params = {
...this.scFormData
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.$message.success('操作成功')
this.$emit('handleOk')
} else {
this.$message.error(msg)
}
this.dialogVisible = false
},
handleClose () {
this.formType = ''
this.showAdd = false
this.showSchedule = false
this.dialogVisible = false
},
handleOk () {
this.handleClose()
this.pageNo = 1
this.getTableData()
},
async handleDel (row) {
this.scheduleId = row.id
this.$confirm("活动删除后不可恢复,您确定要删除吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.deleteActBatch()
})
.catch(err => {
if (err == "cancel") {
// this.$message({
// type: "info",
// message: ""
// });
}
});
},
selectAll (selection) {
this.selection = selection
},
selectionChange (selection) {
this.selection = selection
},
deleteBatch () {
if (this.selection.length > 0) {
this.$confirm("确认删除选择的活动?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.deleteActBatch()
})
.catch(err => {
if (err == "cancel") {
// this.$message({
// type: "info",
// message: ""
// });
}
});
} else {
this.$message.warning('请先选择要删除的活动')
}
},
async deleteActBatch () {
let params = []
this.selection.forEach(element => {
params.push(element.id)
});
if (this.scheduleId !== null && this.scheduleId !== '' && this.scheduleId !== undefined){
params.push(this.scheduleId)
}
const url = "/resi/partymember/icSchedule/del";
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.$message.success("删除成功!");
this.getTableData();
} else {
this.$message.error('操作失败!')
}
},
async getTableData () {
this.tableLoading = true
const url = "/resi/partymember/icSchedule/list";
const { pageSize, pageNo, formData } = this;
const { data, code, msg } = await requestPost(url, {
pageSize,
pageNo,
...formData,
});
this.tableLoading = false
if (code === 0) {
this.total = data.total || 0;
this.tableData = data.list;
} else {
this.$message.error(msg);
}
},
handleSizeChange (val) {
this.pageSize = val;
window.localStorage.setItem("pageSize", val);
this.getTableData();
},
handleCurrentChange (val) {
this.pageNo = val;
this.getTableData();
},
resetSearch () {
this.agencyIdArray = []
this.formData = {
startTime: '',//20220817
endTime: '',//20220817
isPublish: '',
title: '',
}
this.pageNo = 1
this.getTableData()
},
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/scss/buttonstyle.scss";
@import "@/assets/scss/modules/management/list-main.scss";
@import "@/assets/scss/modules/shequzhili/event-info.scss";
</style>

6
src/views/modules/communityParty/orgActivity/activivityList/yearplanList.vue

@ -30,10 +30,10 @@
</el-select> -->
</el-form-item>
<el-button style="margin-left:30px"
<!--<el-button style="margin-left:30px"
size="small"
class="diy-button--search"
@click="handleSearch">查询</el-button>
class="diy-button&#45;&#45;search"
@click="handleSearch">查询</el-button>-->
</div>
</el-form>

Loading…
Cancel
Save