田源
2023-09-12 d53d2ceccf1163e11c635037c67b88a907b4cdf7
Source/UBCS-WEB/src/components/dockingSearch/VciDockingSearch.vue
@@ -1,26 +1,68 @@
<template>
  <div style="display: flex" >
    <el-form :inline="true" :model="formInline" class="demo-form-inline">
      <el-form-item label="类型:" size="small">
        <el-select v-model="formInline.type" placeholder="请输入类型" @change="SelectChange">
      <el-form-item label="集成查询:" size="small">
        <el-select v-model="formInline.type" placeholder="请选择分类" @change="SelectChange">
          <el-option :label="item.label" :value="item.value" v-for="item in SearchObject.searchData" ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item v-if="typeFlag" size="small">
        <el-select v-model="formInline.check" placeholder="请选择分类">
          <el-option label="1" value="0"></el-option>
          <el-option label="2" value="1"></el-option>
<!--      集成日志是否成功-->
      <el-form-item v-if="(status.type == 'loge' && status.stateFlag)" size="small">
        <el-select v-model="formInline.state" placeholder="请选择状态">
          <el-option label="是" value="true"></el-option>
          <el-option label="否" value="false"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item size="small" v-if="dateFlag">
<!--      集成任务是否推送成功-->
      <el-form-item v-if="(status.type == 'task' && status.stateTaskFlag)" size="small">
        <el-select v-model="formInline.stateTask" placeholder="请选择状态">
          <el-option label="是" value="true"></el-option>
          <el-option label="否" value="false"></el-option>
        </el-select>
      </el-form-item>
<!--      集成日志类型-->
      <el-form-item v-if="(status.type == 'loge' && status.typeFlag)" size="small">
        <el-select v-model="formInline.cut" placeholder="请选择类型">
          <el-option label="数据推送" value="pushData"></el-option>
          <el-option label="分类推送" value="pushClassifyData"></el-option>
          <el-option label="编码申请" value="applyCode"></el-option>
          <el-option label="编码维护" value="syncEditData"></el-option>
          <el-option label="分类查询" value="queryClassify"></el-option>
          <el-option label="含编码规则的分类查询" value="queryClassifyRule"></el-option>
          <el-option label="数据查询" value="queryData"></el-option>
        </el-select>
      </el-form-item>
<!--      集成任务推送类型-->
      <el-form-item v-if="(status.type === 'task' && status.sendTypeFlga)" size="small">
        <el-select v-model="formInline.taskCut" placeholder="请选择推送类型">
          <el-option label="发布" value="Enabled"></el-option>
          <el-option label="回收" value="TakeBack"></el-option>
          <el-option label="停用" value="Disabled"></el-option>
        </el-select>
      </el-form-item>
<!--      创建日期-->
      <el-form-item size="small" v-if="((status.type == 'loge' ||status.type == 'task') && status.dateFlag)">
        <el-date-picker
          v-model="formInline.Date"
          type="date"
          placeholder="选择日期时间">
        </el-date-picker>
      </el-form-item>
      <el-form-item size="small" >
<!--      最后推送时间-->
      <el-form-item size="small" v-if="status.type == 'task' && status.lastDateFlag">
        <el-date-picker
          v-model="formInline.lastDate"
          type="date"
          placeholder="选择日期时间">
        </el-date-picker>
      </el-form-item>
<!--      输入内容-->
      <el-form-item size="small" v-if="shouldShowInput">
        <el-input v-model="formInline.text" placeholder="请输入内容" @keyup.enter.native="SaveHandler"></el-input>
      </el-form-item>
<!--      查询按钮-->
      <el-form-item size="small" v-if="shouldShowButton">
        <el-button type="success" size="small">查询</el-button>
      </el-form-item>
    </el-form>
  </div>
@@ -30,33 +72,41 @@
import {getList} from "@/api/docking/loge";
export default {
  name: "VciDockingSearch",
  props:['SearchObject','page'],
  props:['SearchObject','page','formInline','status'],
  data() {
    return {
      typeFlag:false,
      dateFlag:false,
      formInline:{
        type:'',
        check:'',
        text:'',
        Date:''
      },
    }
  },
  computed: {
    //输入框判断
    shouldShowInput() {
      const isLogeType = this.status.type === 'loge';
      const isTaskType = this.status.type === 'task';
      return (
        (isLogeType && !this.status.stateFlag && !this.status.dateFlag && !this.status.typeFlag) ||
        (isTaskType && !this.status.stateTaskFlag && !this.status.dateFlag && !this.status.lastDateFlag && !this.status.sendTypeFlga)
      );
    },
    //按钮判断
    shouldShowButton() {
      const isLogeType = this.status.type === 'loge';
      const isTaskType = this.status.type === 'task';
      return(
        (isLogeType && (this.status.dateFlag || this.status.stateFlag || this.status.typeFlag)) ||
        (isTaskType && (this.status.stateTaskFlag || this.status.dateFlag || this.status.lastDateFlag || this.status.sendTypeFlga))
      );
    }
  },
  methods:{
    SelectChange(val){
      if(this.SearchObject.type === 'loge'){
        if(val === 5){
          this.typeFlag=true;
        }else {
          this.typeFlag=false;
        }
        if(val === 6){
          this.dateFlag=true;
        }else {
          this.dateFlag=false;
        }
      }
    SelectChange(val) {
      const logeType = this.status.type === 'loge';
      const taskType = this.status.type === 'task';
      this.status.typeFlag = logeType && val === 5;
      this.status.dateFlag = (logeType && val === 6) || (taskType && val === 6);
      this.status.stateFlag = logeType && val === 7;
      this.status.stateTaskFlag = taskType && val === 8;
      this.status.lastDateFlag = taskType && val === 7;
      this.status.sendTypeFlga = taskType && val === 5;
    },
    SaveHandler(){
      let name = this.SearchObject.searchData[this.formInline.type].prop;
@@ -68,6 +118,5 @@
}
</script>
<style scoped>
<style lang="scss" scoped>
</style>