田源
2023-09-12 ade4735384aa2b35f54799c64973342d6ab76b9a
Source/UBCS-WEB/src/components/dockingSearch/VciDockingSearch.vue
@@ -1,26 +1,70 @@
<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 == '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.type == 'data')&& status.stateTaskDataFlag)" 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 === 'task' || status.type === 'data') && 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" @click="handleSearch">查询</el-button>
      </el-form-item>
    </el-form>
  </div>
@@ -30,46 +74,59 @@
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';
      const isDataType = this.status.type === 'data';
      return (
        (isLogeType && !this.status.stateFlag && !this.status.dateFlag && !this.status.typeFlag) ||
        (isTaskType && !this.status.stateTaskDataFlag && !this.status.dateFlag && !this.status.lastDateFlag && !this.status.sendTypeFlga) ||
        (isDataType && !this.status.stateTaskDataFlag && !this.status.sendTypeFlga)
      );
    },
    //按钮判断
    shouldShowButton() {
      const isLogeType = this.status.type === 'loge';
      const isTaskType = this.status.type === 'task';
      const isDataType = this.status.type === 'data';
      return(
        (isLogeType && (this.status.dateFlag || this.status.stateFlag || this.status.typeFlag)) ||
        (isTaskType && (this.status.stateTaskDataFlag || this.status.dateFlag || this.status.lastDateFlag || this.status.sendTypeFlga)) ||
        (isDataType && (this.status.stateTaskDataFlag || this.status.sendTypeFlga))
      );
    }
  },
  methods:{
    SelectChange(val){
      this.typeFlag = (this.SearchObject.type === 'loge' && val === 5);
      this.dateFlag = (this.SearchObject.type === 'loge' && val === 6);
      // 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';
      const dataType = this.status.type === 'data';
      this.status.typeFlag = logeType && val === 5;
      this.status.dateFlag = (logeType && val === 6) || (taskType && val === 6);
      this.status.stateFlag = logeType && val === 7;
      this.status.lastDateFlag = taskType && val === 7;
      this.status.stateTaskDataFlag = (taskType && val === 8) || (dataType && val === 4);
      this.status.sendTypeFlga = (taskType && val === 5) || (dataType && val === 3);
    },
    SaveHandler(){
      let name = this.SearchObject.searchData[this.formInline.type].prop;
      getList(this.page.currentPage, this.page.pageSize, {[name]: this.formInline.text}).then(res => {
      getList(this.page.currentPage, this.page.pageSize, { [`conditionMap['${name}_like']`]: this.formInline.text}).then(res => {
        console.log(res);
      });
    },
    handleSearch(){
      console.log(this.formInline.Date)
    }
  }
}
</script>
<style scoped>
<style lang="scss" scoped>
</style>