Merge remote-tracking branch 'origin/feature-20240104' into feature-20240104

master
382696293@qq.com 2 years ago
commit 363801934e

@ -49,6 +49,9 @@ public class WxClockLog extends BaseEntity {
@Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private Long status;
// 微信用户实体
private WxUserMember wxUserMember;
public void setId(Long id) {
this.id = id;
}
@ -97,6 +100,14 @@ public class WxClockLog extends BaseEntity {
return status;
}
public WxUserMember getWxUserMember() {
return wxUserMember;
}
public void setWxUserMember(WxUserMember wxUserMember) {
this.wxUserMember = wxUserMember;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)

@ -9,6 +9,7 @@ import com.alibaba.nacos.common.utils.CollectionUtils;
import com.flossom.common.core.domain.entity.SysTag;
import com.flossom.common.core.domain.R;
import com.flossom.common.core.domain.entity.WxMode;
import com.flossom.common.core.domain.entity.WxModeCombineInfo;
import com.flossom.common.core.domain.entity.WxModeTag;
import com.flossom.common.core.enums.TagTypeStatusEnum;
import com.flossom.common.core.utils.poi.ExcelUtil;
@ -19,6 +20,7 @@ import com.flossom.common.log.annotation.Log;
import com.flossom.common.log.enums.BusinessType;
import com.flossom.common.security.annotation.RequiresPermissions;
import com.flossom.system.service.ISysTagService;
import com.flossom.system.service.IWxModeCombineInfoService;
import com.flossom.system.service.IWxModeTagService;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.factory.annotation.Autowired;
@ -48,7 +50,8 @@ public class WxModeController extends BaseController
private IWxModeTagService wxModeTagService;
@Autowired
private ISysTagService sysTagService;
@Autowired
private IWxModeCombineInfoService wxModeCombineInfoService;
/**
*
*/
@ -155,6 +158,19 @@ public class WxModeController extends BaseController
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
Boolean delFlag = false;
// 先查询是否被占用
for (long id : ids) {
WxModeCombineInfo combineInfo = new WxModeCombineInfo();
combineInfo.setCombineModeId(id);
List<WxModeCombineInfo> wxModeCombineInfos = wxModeCombineInfoService.selectWxModeCombineInfoList(combineInfo);
if (CollectionUtils.isNotEmpty(wxModeCombineInfos)) {
delFlag = true;
}
}
if (delFlag) {
return error("删除的组合已经被占用,不支持上传");
}
return toAjax(wxModeService.deleteWxModeByIds(ids));
}
}

@ -1,108 +1,276 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="微信用户" prop="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入微信用户"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="当天使用过的仪器" prop="instrumentId">
<el-input
v-model="queryParams.instrumentId"
placeholder="请输入当天使用过的仪器"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="当天使用过的仪器" prop="instrumentName">
<el-input
v-model="queryParams.instrumentName"
placeholder="请输入当天使用过的仪器"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-collapse accordion style="margin-bottom: 10px" v-model="activeNames">
<el-collapse-item name="search">
<template slot="title">
<div class="margin-top" style="border-left: solid 2px #419eff;padding-left: 10px;font-size: 18px !important;color: #000;">
搜索
</div>
</template>
<div style="margin-top: 10px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<div style="display: flex">
<el-popover
placement="top-start"
width="200"
trigger="click"
content="手机号码和用户编号,满足其中之一内容即可"
>
<el-form-item label="用户编号" prop="id" slot="reference">
<el-input
v-model="queryParams.id"
placeholder="搜索多个请用英文逗号隔开"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-popover>
<el-form-item label="会员昵称" prop="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入单个会员昵称搜索"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-popover
placement="top-start"
trigger="click"
content="手机号码和用户编号,满足其中之一内容即可"
>
<el-form-item label="手机号码" prop="mobile" slot="reference">
<el-input
v-model="queryParams.mobile"
placeholder="搜索多个请用英文逗号隔开"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-popover>
<el-form-item label="仪器名称" prop="source">
<el-select
v-model="queryParams.instrumentIdArray"
placeholder="请选择类型"
multiple
:style="{ width: '100%' }"
clearable
>
<el-option
v-for="item in instrumentList"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</div>
<div style="display: flex">
<el-form-item label="打卡时间" prop="startTime">
<el-date-picker clearable
v-model="queryParams.startTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm"
placeholder="请选择操作开始时间">
</el-date-picker>
</el-form-item>
<el-form-item prop="endTime">
<el-date-picker clearable
v-model="queryParams.endTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm"
placeholder="请选择操作结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="用户注册时间" prop="startTime">
<el-date-picker clearable
v-model="queryParams.startTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm"
placeholder="请选择操作开始时间">
</el-date-picker>
</el-form-item>
<el-form-item prop="endTime">
<el-date-picker clearable
v-model="queryParams.endTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm"
placeholder="请选择操作结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="最新打卡时间" prop="startTime">
<el-date-picker clearable
v-model="queryParams.startTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm"
placeholder="请选择操作开始时间">
</el-date-picker>
</el-form-item>
<el-form-item prop="endTime">
<el-date-picker clearable
v-model="queryParams.endTime"
type="datetime"
value-format="yyyy-MM-dd HH:mm"
placeholder="请选择操作结束时间">
</el-date-picker>
</el-form-item>
</div>
<div style="display: flex">
<el-popover
placement="top-start"
width="200"
trigger="click"
content="外部标签和小程序标签,同时满足所选内容"
>
<el-form-item
label="外部标签"
prop="wecomTags"
slot="reference"
>
<el-select
v-model="queryParams.wecomTags"
multiple
placeholder="请选择"
>
<el-option
v-for="item in wecomTags"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-popover>
<el-popover
placement="top-start"
width="200"
trigger="click"
content="外部标签和小程序标签,同时满足所选内容"
>
<el-form-item
label="小程序标签"
prop="miniProgramTags"
slot="reference"
>
<el-select
v-model="queryParams.miniProgramTags"
multiple
placeholder="请选择"
>
<el-option
v-for="item in miniProgramTags"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-popover>
<el-form-item label="打卡范围" prop="credit">
<el-input-number
:min="0"
:precision="0"
v-model="queryParams.creditStart"
@keyup.enter.native="handleQuery"
></el-input-number>
<el-input-number
:min="0"
:precision="0"
v-model="queryParams.creditEnd"
@keyup.enter.native="handleQuery"
></el-input-number>
<el-button icon="el-icon-close" circle ></el-button>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索
</el-button
>
<el-button
icon="el-icon-refresh"
size="mini"
@click="resetQuery"
>重置
</el-button
>
</el-form-item>
</div>
</el-form>
</div>
</el-collapse-item>
</el-collapse>
<!-- 批量操作下拉选项 -->
<div
class="margin-top"
style="
border-left: solid 2px #419eff;
padding-left: 10px;
font-size: 18px;
color: #000;
margin-bottom: 10px;
"
>
批量操作
</div>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:clockLog:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
<el-select
v-model="batchOperateValue"
placeholder="批量操作"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:clockLog:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:clockLog:remove']"
>删除</el-button>
clearable
>
<el-option label="批量添加小程序标签" :value="1"></el-option>
<el-option label="批量删除小程序标签" :value="2"></el-option>
<el-option label="全量添加小程序标签" :value="3"></el-option>
<el-option label="全量删除小程序标签" :value="4"></el-option>
<el-option label="批量加减积分" :value="5"></el-option>
<el-option label="全量加减积分" :value="6"></el-option>
<el-option label="批量发送话术" :value="7"></el-option>
<el-option label="全量发送话术" :value="8"></el-option>
<el-option label="批量备注" :value="9"></el-option>
<el-option label="全量备注" :value="10"></el-option>
<el-option label="注销账号" :value="11"></el-option>
<el-option label="导出数据" :value="12"></el-option>
<el-option label="导出全量数据" :value="13"></el-option>
</el-select>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
type="primary"
plain
icon="el-icon-download"
icon="el-icon-warning"
size="mini"
@click="handleExport"
v-hasPermi="['system:clockLog:export']"
>导出</el-button>
>确认
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="clockLogList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="${comment}" align="center" prop="id" />
<el-table-column label="微信用户" align="center" prop="userId" />
<el-table-column label="当天使用过的仪器" align="center" prop="instrumentId" />
<el-table-column label="当天使用过的仪器" align="center" prop="instrumentName" />
<el-table-column label="打卡心得" align="center" prop="clockContent" />
<el-table-column label="头像" align="center" prop="userId" />
<el-table-column label="会员昵称" align="center" prop="userId" />
<el-table-column label="用户编号" align="center" prop="userId" />
<el-table-column label="手机号码" align="center" prop="userId" />
<el-table-column label="仪器名称" align="center" prop="userId" />
<el-table-column label="打卡记录" align="center" prop="userId" />
<el-table-column label="打卡天数" align="center" prop="instrumentId" />
<el-table-column label="最新打卡时间" align="center" prop="instrumentName" />
<el-table-column label="小程序标签" align="center" prop="clockContent" />
<el-table-column label="外部标签" align="center" prop="clockContent" />
<el-table-column label="用户注册时间" align="center" prop="clockContent" />
<el-table-column label="状态" align="center" prop="status" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:clockLog:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:clockLog:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
@ -112,38 +280,23 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改用户打卡对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="微信用户" prop="userId">
<el-input v-model="form.userId" placeholder="请输入微信用户" />
</el-form-item>
<el-form-item label="当天使用过的仪器" prop="instrumentId">
<el-input v-model="form.instrumentId" placeholder="请输入当天使用过的仪器" />
</el-form-item>
<el-form-item label="当天使用过的仪器" prop="instrumentName">
<el-input v-model="form.instrumentName" placeholder="请输入当天使用过的仪器" />
</el-form-item>
<el-form-item label="打卡心得">
<editor v-model="form.clockContent" :min-height="192"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listClockLog, getClockLog, delClockLog, addClockLog, updateClockLog } from "@/api/system/clockLog";
import {listInstrument} from "@/api/system/instrument";
import {
getMiniProgramTags,
getWecomTags,
} from '@/api/system/member'
export default {
name: "ClockLog",
data() {
return {
batchOperateValue: '',
//
activeNames: ['search'],
//
loading: true,
//
@ -158,6 +311,12 @@ export default {
total: 0,
//
clockLogList: [],
//
instrumentList: [],
//
miniProgramTags: [],
//
wecomTags: [],
//
title: "",
//
@ -181,8 +340,25 @@ export default {
},
created() {
this.getList();
this.queryInstrument();
this.getTag();
},
methods: {
getTag(){
//
getMiniProgramTags().then((Response) => {
this.miniProgramTags = Response.data
})
//
getWecomTags().then((Response) => {
this.wecomTags = Response.data
})
},
queryInstrument(){
listInstrument({}).then(response => {
this.instrumentList = response.rows;
});
},
/** 查询用户打卡列表 */
getList() {
this.loading = true;

@ -92,13 +92,17 @@
prop="banner"
width="150px"
>
<template slot-scope="scope">
<el-avatar
shape="square"
:size="100"
:src="scope.row.banner"
></el-avatar>
</template>
<template slot-scope="scope">
<el-image
:src="scope.row.banner"
style="width: 100px; height: 100px"
:preview-src-list="[scope.row.banner]"
>
<div slot="placeholder" class="image-slot">
<span class="dot"></span>
</div>
</el-image>
</template>
</el-table-column>
<el-table-column
label="仪器LOGO"
@ -106,13 +110,17 @@
prop="logo"
width="150px"
>
<template slot-scope="scope">
<el-avatar
shape="square"
:size="100"
:src="scope.row.logo"
></el-avatar>
</template>
<template slot-scope="scope">
<el-image
:src="scope.row.logo"
style="width: 100px; height: 100px"
:preview-src-list="[scope.row.logo]"
>
<div slot="placeholder" class="image-slot">
<span class="dot"></span>
</div>
</el-image>
</template>
</el-table-column>
<el-table-column
label="仪器名称"

@ -24,8 +24,19 @@
</template>
</el-table-column>
<el-table-column label="仪器型号" align="center" prop="instrumentModel" />
<el-table-column label="模式类型" align="center" prop="modeType" />
<el-table-column label="模式分类" align="center" prop="modeClass" />
<el-table-column label="模式类型" align="center" prop="modeType" >
<template slot-scope="scope">
<dict-tag :options="dict.type.instrument_model_type_fr200" :value="scope.row.modeType" v-if="scope.row.instrumentModel == 'FR200'"/>
<dict-tag :options="dict.type.instrument_model_type_wl200" :value="scope.row.modeType" v-if="scope.row.instrumentModel == 'WL200'"/>
<dict-tag :options="dict.type.instrument_model_type_m01" :value="scope.row.modeType" v-if="scope.row.instrumentModel == 'M01'"/>
</template>
</el-table-column>
<el-table-column label="模式分类" align="center" prop="modeClass" >
<template slot-scope="scope">
<dict-tag :options="dict.type.instrument_model_class_fr200" :value="scope.row.modeClass" v-if="scope.row.instrumentModel == 'FR200'"/>
<dict-tag :options="dict.type.instrument_model_class_wl200" :value="scope.row.modeClass" v-if="scope.row.instrumentModel == 'WL200'"/>
</template>
</el-table-column>
<el-table-column label="模式名称" align="center" prop="modeName" />
<el-table-column label="模式时长(分钟)" align="center" prop="modeTime" width="180" />
<el-table-column label="模式封面图片" align="center" prop="modeBanner" >
@ -104,15 +115,15 @@
<el-row>
<el-col :span ="12">
<el-form-item label="仪器类型" prop="instrumentType">
<el-select v-model="form.instrumentType" @change="setModeTitle">
<el-select v-model="form.instrumentType" @change="setModeTitle" :disabled="isDisabled(form)">
<el-option label="非iot仪器" :value="1" :key="1"></el-option>
<el-option label="iot仪器" :value="2" :key="2"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span ="12">
<el-form-item label="仪器型号" prop="instrumentModel" v-if="form.instrumentType == 2">
<el-select v-model="form.instrumentModel" @change="setModeType">
<el-form-item label="仪器型号" prop="instrumentModel" v-if="form.instrumentType == 2" >
<el-select v-model="form.instrumentModel" @change="setModeType" :disabled="isDisabled(form)">
<el-option
v-for="dict in dict.type.instrument_model"
:key="dict.value"
@ -125,7 +136,7 @@
</el-row>
<el-row>
<el-col :span ="12">
<el-form-item label="模式类型" prop="modeType" v-if="form.instrumentModel == 'FR200'">
<el-form-item label="模式类型" prop="modeType" v-if="form.instrumentType == 2&&form.instrumentModel == 'FR200'">
<el-select v-model="form.modeType">
<el-option
v-for="dict in dict.type.instrument_model_type_fr200"
@ -135,7 +146,7 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="模式类型" prop="modeType" v-if="form.instrumentModel == 'WL200'">
<el-form-item label="模式类型" prop="modeType" v-if="form.instrumentType == 2&&form.instrumentModel == 'WL200'">
<el-select v-model="form.modeType">
<el-option
v-for="dict in dict.type.instrument_model_type_wl200"
@ -145,7 +156,7 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="模式类型" prop="modeType" v-if="form.instrumentModel == 'M01'">
<el-form-item label="模式类型" prop="modeType" v-if="form.instrumentType == 2&&form.instrumentModel == 'M01'">
<el-select v-model="form.modeType">
<el-option
v-for="dict in dict.type.instrument_model_type_m01"
@ -157,7 +168,7 @@
</el-form-item>
</el-col>
<el-col :span ="12">
<el-form-item label="模式分类" prop="modeClass" v-if="form.instrumentModel == 'FR200'">
<el-form-item label="模式分类" prop="modeClass" v-if="form.instrumentType == 2&&form.instrumentModel == 'FR200'">
<el-select v-model="form.modeClass">
<el-option
v-for="dict in dict.type.instrument_model_class_fr200"
@ -167,7 +178,7 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="模式分类" prop="modeClass" v-if="form.instrumentModel == 'WL200'">
<el-form-item label="模式分类" prop="modeClass" v-if="form.instrumentType == 2&&form.instrumentModel == 'WL200'">
<el-select v-model="form.modeClass">
<el-option
v-for="dict in dict.type.instrument_model_class_wl200"
@ -181,7 +192,7 @@
</el-row>
<el-row>
<el-col :span ="12">
<el-form-item label="舱体模式" prop="isCabinMode" v-if="form.instrumentModel == 'WL200' & form.modeType != '10'">
<el-form-item label="舱体模式" prop="isCabinMode" v-if="form.instrumentType == 2&&form.instrumentModel == 'WL200' & form.modeType != 'MaskCustom'">
<el-select v-model="form.isCabinMode">
<el-option label="是" :value="1"></el-option>
<el-option label="否" :value="0"></el-option>
@ -189,7 +200,7 @@
</el-form-item>
</el-col>
<el-col :span ="12">
<el-form-item label="自定义组合" prop="isCustomMode" v-if="(form.modeType != '10'&&form.instrumentType==2)" label-width="100px">
<el-form-item label="自定义组合" prop="isCustomMode" v-if="(form.modeType != 'MaskCustom'&&form.instrumentType==2)" label-width="100px">
<el-select v-model="form.isCustomMode">
<el-option label="是" :value="1"></el-option>
<el-option label="否" :value="0"></el-option>
@ -204,7 +215,7 @@
<el-input v-model="form.modeDesc" placeholder="请输入模式描述" maxlength="10"/>
</el-form-item>
<el-form-item label="模式时长" prop="modeTime" v-if="form.instrumentType == 2">
<el-input v-model="form.modeTime" placeholder="请输入模式时间"/>
<el-input v-model="form.modeTime" placeholder="请输入模式时间" maxlength="5"/>
</el-form-item>
<el-form-item label="模式封面" prop="modeBanner">
<el-upload
@ -226,6 +237,7 @@
</el-form-item>
<el-form-item :label="modeVideoTitle" prop="modeVideo" label-width="100px">
<el-upload
ref = "modeVideo"
class="upload-demo"
:action="upload.url"
:before-upload="limitVideFileType"
@ -257,6 +269,7 @@
|| scope.row.openSourceSuffix === 'JPG'
|| scope.row.openSourceSuffix === 'svg'
|| scope.row.openSourceSuffix === 'SVG'
|| scope.row.openSourceSuffix === 'mp4'
">
<ImagePreview :src="scope.row.openSourceUrl" />
</template>
@ -344,7 +357,7 @@
</el-row>
</div>
</el-form-item>
<el-form-item v-if="form.instrumentType == 2" label="模式组合" required label-width="120px">
<el-form-item v-if="form.instrumentType == 2 && form.isCustomMode == 1" label="模式组合" required label-width="120px">
<el-button type="primary" @click="addCombine"></el-button>
<div v-for="(item,index) of combineData">
<el-divider content-position="left">组合{{index+1}}</el-divider>
@ -518,6 +531,9 @@ export default {
instrumentType: [
{ required: true, message: "仪器类型不能为空", trigger: "blur" }
],
modeBanner: [
{ required: true, message: "模式封面图片不能为空", trigger: "blur" }
],
instrumentModel: [
{ required: true, message: "仪器型号不能为空", trigger: "blur" }
],
@ -551,6 +567,12 @@ export default {
},
methods: {
isDisabled(row){
if (row.id) {
return true;
}
return false
},
getCombineList(){
listModeAll(this.combineModeQueryParams).then(response => {
this.combineModeList = response.data;
@ -695,15 +717,23 @@ export default {
//
this.form.serviceData = this.serviceData;
let flag = false;
let serverImageFlag = false;
if (this.form.serviceData.length > 0) {
this.form.serviceData.forEach(data => {
if(!data.startTimeArray) {
flag = true;
}
if (!data.startSourceArray || !data.stopSourceArray) {
serverImageFlag = true;
}
})
}
if (flag) {
this.$message.error("服务时间不能为空");
this.$message.error("护理时间不能为空");
return;
}
if (serverImageFlag) {
this.$message.error("启动/暂停图片不能为空");
return;
}
//
@ -719,7 +749,13 @@ export default {
effectContent = true;
}
})
} else {
if (this.form.instrumentType == 2) {
this.$message.error("模式组合不能为空");
return;
}
}
if (technologyFlag) {
this.$message.error("使用技术不能为空");
return;
@ -728,6 +764,13 @@ export default {
this.$message.error("模式功效不能为空");
return;
}
if (this.form.modeTime) {
const regex = /[^0-9]/g;
if (regex.test(this.form.modeTime)) {
this.$modal.msgError("时长仅支持输入正整数");
return;
}
}
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
@ -772,8 +815,9 @@ export default {
}, `mode_${new Date().getTime()}.xlsx`)
},
handleRemove(file, fileList) {
console.log('调用了')
this.$refs.modeVideo.clearFiles();
this.fileList = [];
this.form.modeVideo = null;
},
handleRemoveBanner(file, fileList) {
// console.log('')
@ -803,7 +847,7 @@ export default {
},
limitFileType(file) {
const imageType = ['image/jpeg', 'image/jpg', 'image/png', 'image/svg', ['image/jpeg', 'image/jpg', 'image/png', 'image/svg', 'video/mp4','video/avi','video/mov','video/rmvb','video/rm','video/flv','video/3gp']]
const imageType = ['image/jpeg', 'image/jpg', 'image/png', 'image/svg', 'video/mp4','video/avi','video/mov','video/rmvb','video/rm','video/flv','video/3gp']
let isVideo = imageType.includes(file.type)
//
if (!isVideo) {

@ -76,7 +76,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="操作开始" prop="startTime">
<el-form-item label="操作时间" prop="startTime">
<el-date-picker clearable
v-model="queryParams.startTime"
type="datetime"

Loading…
Cancel
Save