田源
2023-09-12 d53d2ceccf1163e11c635037c67b88a907b4cdf7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<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-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="(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 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" 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>
</template>
 
<script>
import {getList} from "@/api/docking/loge";
export default {
  name: "VciDockingSearch",
  props:['SearchObject','page','formInline','status'],
  data() {
    return {
    }
  },
  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) {
      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;
      getList(this.page.currentPage, this.page.pageSize, {[name]: this.formInline.text}).then(res => {
        console.log(res);
      });
    }
  }
}
</script>
 
<style lang="scss" scoped>
</style>