system 模块,quartz job 页面中新增弹窗调整
This commit is contained in:
		
							parent
							
								
									781a4be8a1
								
							
						
					
					
						commit
						736ee50711
					
				| 
						 | 
				
			
			@ -3,7 +3,7 @@
 | 
			
		|||
    <a-input :placeholder="placeholder" v-model="editCronValue" :disabled="disabled">
 | 
			
		||||
      <a slot="addonAfter" @click="showConfigDlg" class="config-btn" :disabled="disabled">
 | 
			
		||||
        <a-icon type="setting"></a-icon>
 | 
			
		||||
        选择
 | 
			
		||||
        Select
 | 
			
		||||
      </a>
 | 
			
		||||
    </a-input>
 | 
			
		||||
    <j-modal :visible.sync="show" title="Cron表达式" width="800px">
 | 
			
		||||
| 
						 | 
				
			
			@ -24,44 +24,44 @@ import EasyCron from './EasyCron.vue'
 | 
			
		|||
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'input-cron',
 | 
			
		||||
  components: {EasyCron},
 | 
			
		||||
  components: { EasyCron },
 | 
			
		||||
  model: {
 | 
			
		||||
    prop: 'cronValue',
 | 
			
		||||
    event: 'change'
 | 
			
		||||
    event: 'change',
 | 
			
		||||
  },
 | 
			
		||||
  props: {
 | 
			
		||||
    cronValue: {
 | 
			
		||||
      type: String,
 | 
			
		||||
      default: ''
 | 
			
		||||
      default: '',
 | 
			
		||||
    },
 | 
			
		||||
    width: {
 | 
			
		||||
      type: String,
 | 
			
		||||
      default: '800px'
 | 
			
		||||
      default: '800px',
 | 
			
		||||
    },
 | 
			
		||||
    placeholder: {
 | 
			
		||||
      type: String,
 | 
			
		||||
      default: '请输入cron表达式'
 | 
			
		||||
      default: '请输入cron表达式',
 | 
			
		||||
    },
 | 
			
		||||
    disabled: {
 | 
			
		||||
      type: Boolean,
 | 
			
		||||
      default: false
 | 
			
		||||
      default: false,
 | 
			
		||||
    },
 | 
			
		||||
    exeStartTime: {
 | 
			
		||||
      type: [Number, String, Object],
 | 
			
		||||
      default: 0
 | 
			
		||||
      default: 0,
 | 
			
		||||
    },
 | 
			
		||||
    hideSecond: {
 | 
			
		||||
      type: Boolean,
 | 
			
		||||
      default: false
 | 
			
		||||
      default: false,
 | 
			
		||||
    },
 | 
			
		||||
    hideYear: {
 | 
			
		||||
      type: Boolean,
 | 
			
		||||
      default: false
 | 
			
		||||
      default: false,
 | 
			
		||||
    },
 | 
			
		||||
    remote: {
 | 
			
		||||
      type: Function,
 | 
			
		||||
      default: null
 | 
			
		||||
    }
 | 
			
		||||
      default: null,
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
| 
						 | 
				
			
			@ -78,22 +78,20 @@ export default {
 | 
			
		|||
    },
 | 
			
		||||
    editCronValue(newVal, oldVal) {
 | 
			
		||||
      this.$emit('change', newVal)
 | 
			
		||||
    }
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    showConfigDlg() {
 | 
			
		||||
      if (!this.disabled) {
 | 
			
		||||
        this.show = true
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style scoped>
 | 
			
		||||
 | 
			
		||||
  .config-btn {
 | 
			
		||||
    cursor: pointer;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
.config-btn {
 | 
			
		||||
  cursor: pointer;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,27 +6,32 @@
 | 
			
		|||
    :confirmLoading="confirmLoading"
 | 
			
		||||
    @ok="handleOk"
 | 
			
		||||
    @cancel="handleCancel"
 | 
			
		||||
    okText="保存并安排任务"
 | 
			
		||||
    cancelText="关闭">
 | 
			
		||||
 | 
			
		||||
    okText="Save And Schedule Tasks"
 | 
			
		||||
    cancelText="Close"
 | 
			
		||||
  >
 | 
			
		||||
    <a-spin :spinning="confirmLoading">
 | 
			
		||||
      <a-form-model ref="form" :model="model" :rules="validatorRules">
 | 
			
		||||
 | 
			
		||||
        <a-form-model-item :labelCol="labelCol"  :wrapperCol="wrapperCol" label="任务类名" prop="jobClassName" hasFeedback >
 | 
			
		||||
          <a-input placeholder="请输入任务类名" v-model="model.jobClassName" />
 | 
			
		||||
        <a-form-model-item
 | 
			
		||||
          :labelCol="labelCol"
 | 
			
		||||
          :wrapperCol="wrapperCol"
 | 
			
		||||
          label="Task Class Name"
 | 
			
		||||
          prop="jobClassName"
 | 
			
		||||
          hasFeedback
 | 
			
		||||
        >
 | 
			
		||||
          <a-input placeholder="Please enter a task class name" v-model="model.jobClassName" />
 | 
			
		||||
        </a-form-model-item>
 | 
			
		||||
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="Cron表达式" prop="cronExpression">
 | 
			
		||||
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="Cron Expression" prop="cronExpression">
 | 
			
		||||
          <!-- <j-cron v-model="model.cronExpression"/>-->
 | 
			
		||||
          <j-easy-cron v-model="model.cronExpression" />
 | 
			
		||||
        </a-form-model-item>
 | 
			
		||||
        <a-form-model-item  :labelCol="labelCol" :wrapperCol="wrapperCol" label="参数" prop="parameter" >
 | 
			
		||||
          <a-textarea placeholder="请输入参数" :rows="5" v-model="model.parameter" />
 | 
			
		||||
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="Arguments" prop="parameter">
 | 
			
		||||
          <a-textarea placeholder="Please enter parameters" :rows="5" v-model="model.parameter" />
 | 
			
		||||
        </a-form-model-item>
 | 
			
		||||
        <a-form-model-item :labelCol="labelCol"  :wrapperCol="wrapperCol" label="描述" prop="description">
 | 
			
		||||
          <a-textarea placeholder="请输入描述" :rows="3" v-model="model.description" />
 | 
			
		||||
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="Description" prop="description">
 | 
			
		||||
          <a-textarea placeholder="Please enter a description" :rows="3" v-model="model.description" />
 | 
			
		||||
        </a-form-model-item>
 | 
			
		||||
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol"  label="状态" prop="status">
 | 
			
		||||
          <j-dict-select-tag type="radioButton" v-model="model.status" dictCode="quartz_status"/>
 | 
			
		||||
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="Status" prop="status">
 | 
			
		||||
          <j-dict-select-tag type="radioButton" v-model="model.status" dictCode="quartz_status" />
 | 
			
		||||
        </a-form-model-item>
 | 
			
		||||
      </a-form-model>
 | 
			
		||||
    </a-spin>
 | 
			
		||||
| 
						 | 
				
			
			@ -34,108 +39,103 @@
 | 
			
		|||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
  import { httpAction } from '@/api/manage'
 | 
			
		||||
  // import JCron from "@/components/jeecg/JCron";
 | 
			
		||||
  import cronValidator from "@/components/jeecg/JEasyCron/validator";
 | 
			
		||||
import { httpAction } from '@/api/manage'
 | 
			
		||||
// import JCron from "@/components/jeecg/JCron";
 | 
			
		||||
import cronValidator from '@/components/jeecg/JEasyCron/validator'
 | 
			
		||||
 | 
			
		||||
  export default {
 | 
			
		||||
    name: "QuartzJobModal",
 | 
			
		||||
    components: {
 | 
			
		||||
      // JCron,
 | 
			
		||||
    },
 | 
			
		||||
    data () {
 | 
			
		||||
      return {
 | 
			
		||||
        title:"操作",
 | 
			
		||||
        buttonStyle: 'solid',
 | 
			
		||||
        visible: false,
 | 
			
		||||
        model: {},
 | 
			
		||||
        labelCol: {
 | 
			
		||||
          xs: { span: 24 },
 | 
			
		||||
          sm: { span: 5 },
 | 
			
		||||
        },
 | 
			
		||||
        wrapperCol: {
 | 
			
		||||
          xs: { span: 24 },
 | 
			
		||||
          sm: { span: 16 },
 | 
			
		||||
        },
 | 
			
		||||
        cron: {
 | 
			
		||||
          label: '',
 | 
			
		||||
          value: ''
 | 
			
		||||
        },
 | 
			
		||||
        confirmLoading: false,
 | 
			
		||||
        validatorRules: {
 | 
			
		||||
          cronExpression: [
 | 
			
		||||
            {required: true, message: '请输入cron表达式!'},
 | 
			
		||||
            {validator: cronValidator,}
 | 
			
		||||
          ],
 | 
			
		||||
          jobClassName: [{required: true, message: '请输入任务类名!'}]
 | 
			
		||||
        },
 | 
			
		||||
        url: {
 | 
			
		||||
          add: "/sys/quartzJob/add",
 | 
			
		||||
          edit: "/sys/quartzJob/edit",
 | 
			
		||||
        },
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    created () {
 | 
			
		||||
    },
 | 
			
		||||
    methods: {
 | 
			
		||||
      add() {
 | 
			
		||||
        // 统一设置默认值
 | 
			
		||||
        this.edit({
 | 
			
		||||
          cronExpression: '* * * * * ? *',
 | 
			
		||||
          status: 0,
 | 
			
		||||
        })
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'QuartzJobModal',
 | 
			
		||||
  components: {
 | 
			
		||||
    // JCron,
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      title: '操作',
 | 
			
		||||
      buttonStyle: 'solid',
 | 
			
		||||
      visible: false,
 | 
			
		||||
      model: {},
 | 
			
		||||
      labelCol: {
 | 
			
		||||
        xs: { span: 24 },
 | 
			
		||||
        sm: { span: 5 },
 | 
			
		||||
      },
 | 
			
		||||
      edit (record) {
 | 
			
		||||
        this.visible = true;
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.form.resetFields()
 | 
			
		||||
          this.model = Object.assign({}, record)
 | 
			
		||||
        })
 | 
			
		||||
      wrapperCol: {
 | 
			
		||||
        xs: { span: 24 },
 | 
			
		||||
        sm: { span: 16 },
 | 
			
		||||
      },
 | 
			
		||||
      close () {
 | 
			
		||||
        this.$emit('close');
 | 
			
		||||
        this.visible = false;
 | 
			
		||||
      cron: {
 | 
			
		||||
        label: '',
 | 
			
		||||
        value: '',
 | 
			
		||||
      },
 | 
			
		||||
      handleOk () {
 | 
			
		||||
        const that = this;
 | 
			
		||||
        // 触发表单验证
 | 
			
		||||
        this.$refs.form.validate((ok, err) => {
 | 
			
		||||
          if (ok) {
 | 
			
		||||
            that.confirmLoading = true;
 | 
			
		||||
            let httpurl = '';
 | 
			
		||||
            let method = '';
 | 
			
		||||
            if(!this.model.id){
 | 
			
		||||
              httpurl+=this.url.add;
 | 
			
		||||
              method = 'post';
 | 
			
		||||
            }else{
 | 
			
		||||
              httpurl+=this.url.edit;
 | 
			
		||||
              method = 'put';
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            console.log('提交参数',this.model)
 | 
			
		||||
            httpAction(httpurl,this.model,method).then((res)=>{
 | 
			
		||||
              if(res.success){
 | 
			
		||||
                that.$message.success(res.message);
 | 
			
		||||
                that.$emit('ok');
 | 
			
		||||
                that.close();
 | 
			
		||||
              }else{
 | 
			
		||||
                that.$message.warning(res.message);
 | 
			
		||||
              }
 | 
			
		||||
            }).finally(() => {
 | 
			
		||||
              that.confirmLoading = false;
 | 
			
		||||
            })
 | 
			
		||||
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      confirmLoading: false,
 | 
			
		||||
      validatorRules: {
 | 
			
		||||
        cronExpression: [{ required: true, message: '请输入cron表达式!' }, { validator: cronValidator }],
 | 
			
		||||
        jobClassName: [{ required: true, message: '请输入任务类名!' }],
 | 
			
		||||
      },
 | 
			
		||||
      handleCancel () {
 | 
			
		||||
        this.close()
 | 
			
		||||
      url: {
 | 
			
		||||
        add: '/sys/quartzJob/add',
 | 
			
		||||
        edit: '/sys/quartzJob/edit',
 | 
			
		||||
      },
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  },
 | 
			
		||||
  created() {},
 | 
			
		||||
  methods: {
 | 
			
		||||
    add() {
 | 
			
		||||
      // 统一设置默认值
 | 
			
		||||
      this.edit({
 | 
			
		||||
        cronExpression: '* * * * * ? *',
 | 
			
		||||
        status: 0,
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    edit(record) {
 | 
			
		||||
      this.visible = true
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        this.$refs.form.resetFields()
 | 
			
		||||
        this.model = Object.assign({}, record)
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    close() {
 | 
			
		||||
      this.$emit('close')
 | 
			
		||||
      this.visible = false
 | 
			
		||||
    },
 | 
			
		||||
    handleOk() {
 | 
			
		||||
      const that = this
 | 
			
		||||
      // 触发表单验证
 | 
			
		||||
      this.$refs.form.validate((ok, err) => {
 | 
			
		||||
        if (ok) {
 | 
			
		||||
          that.confirmLoading = true
 | 
			
		||||
          let httpurl = ''
 | 
			
		||||
          let method = ''
 | 
			
		||||
          if (!this.model.id) {
 | 
			
		||||
            httpurl += this.url.add
 | 
			
		||||
            method = 'post'
 | 
			
		||||
          } else {
 | 
			
		||||
            httpurl += this.url.edit
 | 
			
		||||
            method = 'put'
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
          console.log('提交参数', this.model)
 | 
			
		||||
          httpAction(httpurl, this.model, method)
 | 
			
		||||
            .then((res) => {
 | 
			
		||||
              if (res.success) {
 | 
			
		||||
                that.$message.success(res.message)
 | 
			
		||||
                that.$emit('ok')
 | 
			
		||||
                that.close()
 | 
			
		||||
              } else {
 | 
			
		||||
                that.$message.warning(res.message)
 | 
			
		||||
              }
 | 
			
		||||
            })
 | 
			
		||||
            .finally(() => {
 | 
			
		||||
              that.confirmLoading = false
 | 
			
		||||
            })
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    handleCancel() {
 | 
			
		||||
      this.close()
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style scoped>
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user