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