田源
2025-01-09 d7e3c8a813f8f85c89c06782f1e36e8089ffc31b
Source/UBCS-WEB/src/components/dockingSearch/VciDockingSearch.vue
@@ -1,20 +1,21 @@
<template>
  <div style="display: flex" >
  <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" :key="item.value" v-for="(item,index) in SearchObject.searchData"></el-option>
          <el-option v-for="(item,index) in SearchObject.searchData" :key="item.value" :label="item.label"
                     :value="item.value"></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 == 'loge' && status.typeFlag)" size="small">
        <el-select v-model="formInline.cut" placeholder="请选择类型">
          <el-option label="数据推送" value="pushData"></el-option>
@@ -24,17 +25,20 @@
          <el-option label="分类查询" value="queryClassify"></el-option>
          <el-option label="含编码规则的分类查询" value="queryClassifyRule"></el-option>
          <el-option label="数据查询" value="queryData"></el-option>
          <el-option label="标准申请" value="applyCodeForBZ"></el-option>
          <el-option label="部门申请" value="syncDataForOrg"></el-option>
          <el-option label="人员申请" value="syncDataForPerson"></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>
@@ -42,43 +46,45 @@
          <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-form-item v-if="((status.type == 'loge' ||status.type == 'task') && status.dateFlag)" size="small">
        <el-date-picker
          v-model="formInline.Date"
          type="date"
          placeholder="选择日期时间">
          placeholder="选择日期时间"
          type="date">
        </el-date-picker>
      </el-form-item>
<!--      集成任务 最后推送时间-->
      <el-form-item size="small" v-if="status.type == 'task' && status.lastDateFlag">
      <!--      集成任务 最后推送时间-->
      <el-form-item v-if="status.type == 'task' && status.lastDateFlag" size="small">
        <el-date-picker
          v-model="formInline.lastDate"
          type="date"
          placeholder="选择日期时间">
          placeholder="选择日期时间"
          type="date">
        </el-date-picker>
      </el-form-item>
<!--      公用模块-->
<!--      输入内容-->
      <el-form-item size="small" v-if="shouldShowInput">
      <!--      公用模块-->
      <!--      输入内容-->
      <el-form-item v-if="shouldShowInput" size="small">
        <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 v-if="shouldShowButton" size="small">
        <el-button size="small" type="success" @click="handleSearch">查询</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>
<script>
import {getList} from "@/api/docking/loge";
import {getLogoList} from "@/api/docking/loge";
import {getDataList} from "@/api/docking/data";
import {getTaskList} from "@/api/docking/task";
export default {
  name: "VciDockingSearch",
  props:['SearchObject','page','formInline','status'],
  props: ['SearchObject', 'page', 'formInline', 'status'],
  data() {
    return {
    }
    return {}
  },
  computed: {
    //输入框判断
@@ -97,14 +103,14 @@
      const isLogeType = this.status.type === 'loge';
      const isTaskType = this.status.type === 'task';
      const isDataType = this.status.type === 'data';
      return(
      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:{
  methods: {
    SelectChange(val) {
      const logeType = this.status.type === 'loge';
      const taskType = this.status.type === 'task';
@@ -116,22 +122,52 @@
      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, { [`conditionMap[${name}_like]`]: this.formInline.text}).then(res => {
        if(!res.data.data.records){
          this.$message.error('暂未查到数据!')
        }else {
          let Data=res.data.data;
          this.$emit('getList',Data);
        }
      });
    SaveHandler() {
      let searchDataItem = Object.values(this.SearchObject.searchData).find(item => item.value === this.formInline.type);
      let name = searchDataItem ? searchDataItem.prop : null;
      if (!searchDataItem) {
        this.$message.error('未找到对应搜索类型请查看控制台输出!')
      }
      const requestApi = (api) => {
        api(this.page.currentPage, this.page.pageSize, 'createTime', 'desc', {[`conditionMap[${name}_like]`]: this.formInline.text})
          .then(res => {
            if (!res.data.data.records) {
              this.$message.error('暂未查到数据!');
            } else {
              let Data = res.data.data;
              this.$emit('getList', Data);
            }
          });
      }
      //日志
      if (this.status.type == 'loge') {
        requestApi(getLogoList);
      }
      //数据
      if (this.status.type == 'data') {
        requestApi(getDataList);
      }
      //任务
      if (this.status.type == 'task') {
        requestApi(getTaskList);
      }
    },
    handleSearch() {
      const { type, typeFlag, stateFlag, stateTaskDataFlag, dateFlag, lastDateFlag ,sendTypeFlga} = this.status;
      const { currentPage, pageSize } = this.page;
      const { cut, state, stateTask, Date, lastDate, taskCut } = this.formInline;
      const {type, typeFlag, stateFlag, stateTaskDataFlag, dateFlag, lastDateFlag, sendTypeFlga} = this.status;
      const {currentPage, pageSize} = this.page;
      const {cut, state, stateTask, Date, lastDate, taskCut} = this.formInline;
      const requestParams = {};
      const requestApi = (api) => {
        api(currentPage, pageSize, 'createTime', 'desc', requestParams).then(res => {
          if (!res.data.data.records) {
            this.$message.error('暂未查到数据!');
          } else {
            let Data = res.data.data;
            this.$emit('getList', Data);
          }
        });
      }
      // 集成日志类型
      if (type === 'loge' && typeFlag) {
        requestParams['conditionMap[type_like]'] = cut;
@@ -158,15 +194,16 @@
      if ((type === 'task' || type === 'data') && sendTypeFlga) {
        requestParams['conditionMap[sendType_like]'] = taskCut;
      }
      // 请求
      getList(currentPage, pageSize, requestParams).then(res => {
        if(!res.data.data.records){
          this.$message.error('暂未查到数据!')
        }else {
          let Data=res.data.data;
          this.$emit('getList',Data);
        }
      });
      if (type == 'loge') {
        requestApi(getLogoList);
      }
      if (type == 'data') {
        requestApi(getDataList);
      }
      if (type == 'task') {
        requestApi(getTaskList);
      }
    }
  }
}