<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" :key="item.value" v-for="(item,index) 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 == '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" 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>
|
</template>
|
|
<script>
|
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'],
|
data() {
|
return {
|
}
|
},
|
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) {
|
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;
|
const requestApi = (api) => {
|
api(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);
|
}
|
});
|
}
|
//日志
|
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 requestParams = {};
|
const requestApi = (api) => {
|
api(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' && typeFlag) {
|
requestParams['conditionMap[type_like]'] = cut;
|
}
|
// 集成日志是否成功
|
if (type === 'loge' && stateFlag) {
|
requestParams['conditionMap[interfaceStatus_like]'] = state;
|
}
|
// 集成任务 是否推送成功 集成数据 是否分解任务
|
if ((type === 'task' || type === 'data') && stateTaskDataFlag) {
|
requestParams['conditionMap[sendFlag_like]'] = stateTask;
|
}
|
// 集成任务 创建日期 和 集成日志 记录时间
|
if ((type === 'loge' || type === 'task') && dateFlag) {
|
const formattedDate = this.$moment(Date).format('YYYY-M-D');
|
requestParams['conditionMap[createTime_like]'] = formattedDate;
|
}
|
// 集成任务 最后推送时间
|
if (type === 'task' && lastDateFlag) {
|
const formattedDate = this.$moment(lastDate).format('YYYY-M-D');
|
requestParams['conditionMap[lastModifyTime_like]'] = formattedDate;
|
}
|
// 集成任务 集成数据 推送类型
|
if ((type === 'task' || type === 'data') && sendTypeFlga) {
|
requestParams['conditionMap[sendType_like]'] = taskCut;
|
}
|
|
if (type == 'loge') {
|
requestApi(getLogoList);
|
}
|
if (type == 'data') {
|
requestApi(getDataList);
|
}
|
if (type == 'task') {
|
requestApi(getTaskList);
|
}
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
</style>
|