|
|
@@ -358,6 +358,14 @@
|
|
|
<el-link type="primary" class="el-icon-plus" :underline="false" @click='addSetList()' >添加内容</el-link>
|
|
|
|
|
|
</el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="发送时间类型" prop="sendTimeType" v-if="msgForm.draftStrategy==1 || msgForm.draftStrategy==4" >
|
|
|
+ <el-radio-group v-model="msgForm.sendTimeType" @change="handleSendTimeTypeChange">
|
|
|
+ <el-radio :label="1">当天发送</el-radio>
|
|
|
+ <el-radio :label="2">次日发送</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
<el-form-item label="发送时间" prop="sendTime" v-if="msgForm.draftStrategy==1" >
|
|
|
<el-time-picker
|
|
|
class="custom-input"
|
|
|
@@ -367,7 +375,8 @@
|
|
|
placeholder="时间"
|
|
|
style="width: 100px;height: 20px;">
|
|
|
</el-time-picker>
|
|
|
- <span class="tip" style="margin-left: 2%"> 不填时,默认为系统当前时间(立即发送)</span>
|
|
|
+ <span class="tip" v-if="msgForm.sendTimeType === 1" style="margin-left: 2%"> 不填时,默认为系统当前时间(立即发送)</span>
|
|
|
+ <span class="tip" v-if="msgForm.sendTimeType === 2" style="margin-left: 2%; color: #E6A23C;"> 次日发送时,发送时间必填</span>
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-form>
|
|
|
@@ -486,6 +495,7 @@ export default {
|
|
|
startTime: null,
|
|
|
sendTime: null,
|
|
|
draftStrategy:1,
|
|
|
+ sendTimeType: 1, // 添加字段:1-当天发送,2-次日发送
|
|
|
},
|
|
|
// 表单校验
|
|
|
rules: {},
|
|
|
@@ -507,6 +517,12 @@ export default {
|
|
|
this.sysFsSopWatchStatus = response.data;
|
|
|
});
|
|
|
|
|
|
+ this.msgRules = {
|
|
|
+ sendTime: [
|
|
|
+ { validator: this.validateSendTimeRule, trigger: 'change' }
|
|
|
+ ]
|
|
|
+ };
|
|
|
+
|
|
|
courseList().then(response => {
|
|
|
this.courseList = response.list;
|
|
|
});
|
|
|
@@ -519,6 +535,20 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
methods: {
|
|
|
+ validateSendTimeRule(rule, value, callback) {
|
|
|
+ if (this.msgForm.draftStrategy == 1 && this.msgForm.sendTimeType === 2 && !value) {
|
|
|
+ callback(new Error('次日发送时,发送时间不能为空'));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleSendTimeTypeChange() {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ if (this.$refs.msgForm) {
|
|
|
+ this.$refs.msgForm.validateField('sendTime');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
getLuckyBagStatus(content) {
|
|
|
const selectedLuckyBag = this.luckyBagList.find(item => item.id === content.luckyBagId);
|
|
|
if (selectedLuckyBag) {
|
|
|
@@ -698,6 +728,7 @@ export default {
|
|
|
const newSetting = {
|
|
|
contentType:'1',
|
|
|
value: '',
|
|
|
+ sendTimeType: 1, // 为每个规则项添加发送时间类型
|
|
|
};
|
|
|
// 将新设置项添加到 content.setting 数组中
|
|
|
this.setting.push(newSetting);
|
|
|
@@ -886,6 +917,7 @@ export default {
|
|
|
setting:null,
|
|
|
sendTime:null,
|
|
|
draftStrategy:1,
|
|
|
+ sendTimeType: 1, // 添加默认值
|
|
|
};
|
|
|
this.resetForm("msgForm");
|
|
|
},
|
|
|
@@ -940,6 +972,10 @@ export default {
|
|
|
return this.$message.error("消息类型不能为空")
|
|
|
}
|
|
|
|
|
|
+ if (this.msgForm.sendTimeType === 2 && !this.msgForm.sendTime) {
|
|
|
+ return this.$message.error("次日发送时,发送时间不能为空")
|
|
|
+ }
|
|
|
+
|
|
|
for (let i = 0; i < this.setting.length; i++) {
|
|
|
if (this.setting[i].contentType == 1 && (this.setting[i].value == null || this.setting[i].value == "")) {
|
|
|
return this.$message.error("内容不能为空")
|