| | |
| | | <template> |
| | | <div class="search-box" :class="{ 'is-expand': isExpand }"> |
| | | <div class="search-box-test" :class="{ 'is-expand': isExpand }"> |
| | | <el-form :model="searchForm" inline> |
| | | <!-- <div class="search-row"> --> |
| | | <!-- <div class="search-items"> --> |
| | | <el-form-item> |
| | | <el-input v-model="searchForm.key_word" placeholder="请输入任务/机巢名称" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="区域"> |
| | | <el-select v-model="searchForm.area_code" @change="deptChange" placeholder="请选择部门" clearable> |
| | | <el-option v-for="item in deptTreeData" :key="item.area_code" :label="item.area_name" :value="item.area_code" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="机巢"> |
| | | <el-select v-model="searchForm.device_sn" placeholder="请选择机巢" clearable> |
| | | <el-option v-for="item in machineData" :key="item.device_sn" :label="item.nickname" :value="item.device_sn" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <CommonDateTime v-model="newTime" @change="getData" /> |
| | | </el-form-item> |
| | | |
| | | <!-- </div> --> |
| | | <!-- <div class="search-btns"> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="handleSearch">查询</el-button> |
| | | <el-button @click="handleReset">重置</el-button> |
| | | <el-button @click="addTask">新增任务</el-button> |
| | | <el-button type="text" @click="toggleExpand"> |
| | | {{ isExpand ? '收起' : '展开' }} |
| | | <el-icon class="el-icon--right"> |
| | | <component :is="isExpand ? 'ArrowUp' : 'ArrowDown'" /> |
| | | </el-icon> |
| | | </el-button> |
| | | </el-form-item> |
| | | </div> --> |
| | | <!-- </div> --> |
| | | <!-- 展开后显示的更多搜索条件 --> |
| | | <!-- <div v-show="isExpand" class="search-more"> --> |
| | | <!-- <div class="search-row"> --> |
| | | <!-- <el-form-item label="周期类型"> |
| | | <el-select v-model="searchForm.date_enum" placeholder="请选择状态" clearable> |
| | | <el-option label="日" value="DAY" /> |
| | | <el-option label="周" value="CURRENT_WEEK" /> |
| | | <el-option label="月" value="CURRENT_MONTH" /> |
| | | <el-option label="年" value="CURRENT_YEAR" /> |
| | | <div class="search-first"> |
| | | <el-form-item> |
| | | <el-input v-model="searchForm.key_word" placeholder="请输入任务/机巢名称" clearable /> |
| | | </el-form-item> |
| | | <el-form-item label="行政区划:"> |
| | | <el-select v-model="searchForm.area_code" @change="deptChange" placeholder="请选择部门" clearable> |
| | | <el-option v-for="item in deptTreeData" :key="item.area_code" :label="item.area_name" :value="item.area_code" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="任务时间"> |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | | type="daterange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | value-format="YYYY-MM-DD" |
| | | /> |
| | | </el-form-item> --> |
| | | <el-form-item label="任务算法"> |
| | | <!-- <el-select v-model="searchForm.ai_types" placeholder="请选择算法" clearable> |
| | | <el-option v-for="item in taskAlgorithm" :key="item.id" :label="item.dictValue" :value="item.dictKey" /> |
| | | </el-select> --> |
| | | <TaskAlgorithmBusiness :showAlgorithm="true" @algorithmChange="algorithmChange"/> |
| | | <el-form-item label="所属机巢:"> |
| | | <el-select v-model="searchForm.device_sn" placeholder="请选择机巢" clearable> |
| | | <el-option v-for="item in machineData" :key="item.device_sn" :label="item.nickname" :value="item.device_sn" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <!-- </div> --> |
| | | <!-- <div class="search-row"> --> |
| | | <!-- <el-form-item label="所属部门"> |
| | | <el-form-item style="width: 520px;"> |
| | | <CommonDateTime style="width: 520px;" v-model="newTime" @change="getData" /> |
| | | </el-form-item> |
| | | <el-form-item label="任务算法:" v-if="isExpand"> |
| | | <TaskAlgorithmBusiness :setWidth="200" :showAlgorithm="true" @algorithmChange="algorithmChange"/> |
| | | </el-form-item> |
| | | <el-form-item label="所属部门:" v-if="isExpand"> |
| | | <el-select v-model="searchForm.create_dept" placeholder="请选择部门" clearable> |
| | | <el-option v-for="item in deptData" :key="item.id" :label="item.deptName" :value="item.id" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="任务状态"> |
| | | <el-form-item label="任务状态:" v-if="isExpand"> |
| | | <el-select v-model="searchForm.status" placeholder="请选择状态" clearable> |
| | | <el-option v-for="item in statusOptions" :key="item.value" :label="item.label" :value="item.value" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="任务类型"> |
| | | <TaskAlgorithmBusiness :showBusiness="true" @businessChange="businessChange"/> |
| | | </el-form-item> --> |
| | | <!-- </div> --> |
| | | <!-- </div> --> |
| | | <el-form-item label="任务类型:" v-if="isExpand"> |
| | | <TaskAlgorithmBusiness :setWidth="200" :showBusiness="true" @businessChange="businessChange"/> |
| | | </el-form-item> |
| | | <div class="more" v-if="isExpand" @click="toggleExpand">收起</div> |
| | | <div class="more" v-else @click="toggleExpand">更多</div> |
| | | <div class="search-btn"> |
| | | <img @click="handleReset" src="@/assets/images/task/reset.png" alt=""> |
| | | <img @click="handleSearch" src="@/assets/images/task/search.png" alt=""> |
| | | <img @click="addTask" src="@/assets/images/task/create.png" alt=""> |
| | | </div> |
| | | </div> |
| | | </el-form> |
| | | </div> |
| | | </template> |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .search-box { |
| | | .search-box-test { |
| | | transition: all 0.3s; |
| | | // &.is-expand { |
| | | // height: auto; |
| | | // } |
| | | .search-row { |
| | | .search-first { |
| | | position: relative; |
| | | display: flex; |
| | | // justify-content: space-between; |
| | | flex-wrap: wrap; |
| | | align-items: center; |
| | | |
| | | .search-items { |
| | | display: flex; |
| | | flex: 1; |
| | | gap: 20px 0; // 设置行间距和列间距 |
| | | .more { |
| | | cursor: pointer; |
| | | width: 32px; |
| | | height: 32px; |
| | | color: #60B2FF; |
| | | line-height: 32px; |
| | | font-size: 16px; |
| | | margin-right: 10px; |
| | | } |
| | | |
| | | .search-btns { |
| | | margin-left: 20px; |
| | | white-space: nowrap; |
| | | .search-btn { |
| | | position: absolute; |
| | | right: 0; |
| | | bottom: 2px; |
| | | cursor: pointer; |
| | | img { |
| | | width: 82px; |
| | | height: 32px; |
| | | margin-right: 10px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .search-more { |
| | | position: absolute; |
| | | top: 100%; |
| | | left: 0; |
| | | right: 0; |
| | | background: rgba(31, 62, 122, 0.95); |
| | | padding: 20px; |
| | | z-index: 10; |
| | | border-top: 1px solid rgba(255, 255, 255, 0.1); |
| | | box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); |
| | | margin-bottom: 60px; // 为分页预留空间 |
| | | } |
| | | |
| | | :deep(.el-form) { |
| | | :deep(.el-input__wrapper), |
| | | :deep(.el-select), |
| | | :deep(.el-select__wrapper) { |
| | | |
| | | background-color: #021740; |
| | | box-shadow: 0 0 0 1px #026AD6; |
| | | |
| | | &.is-focus { |
| | | box-shadow: 0 0 0 1px #026AD6; |
| | | } |
| | | } |
| | | |
| | | :deep(.el-input__wrapper.is-disabled) { |
| | | background-color: #021740; |
| | | box-shadow: 0 0 0 1px #026AD6; |
| | | } |
| | | .el-form-item { |
| | | margin-bottom: 0; |
| | | margin-right: 20px; |
| | | width: 260px; |
| | | |
| | | .el-form-item__label { |
| | | color: #fff; |
| | | line-height: 32px; |
| | | } |
| | | |
| | | .el-input, |
| | | .el-select, |
| | | .el-date-editor { |
| | | width: 200px; |
| | | width: 100%; |
| | | height: 32px; |
| | | --el-input-bg-color: transparent; |
| | | --el-input-border-color: rgba(255, 255, 255, 0.3); |
| | | --el-input-text-color: #fff; |
| | | --el-input-border-color: #178BFF; |
| | | --el-input-text-color: #296ACA; |
| | | --el-input-placeholder-color: rgba(255, 255, 255, 0.5); |
| | | |
| | | .el-input__wrapper { |
| | | height: 32px; |
| | | } |
| | | |
| | | .el-input__inner { |
| | | height: 32px; |
| | | line-height: 32px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | :deep() { |
| | | .el-select__wrapper { |
| | | background: transparent; |
| | | height: 100%; |
| | | padding-left: 20px; |
| | | } |
| | | |
| | | .el-select__selected-item { |
| | | font-family: Source Han Sans CN, Source Han Sans CN, serif; |
| | | font-weight: 400; |
| | | font-size: 14px; |
| | | color: #ffffff; |
| | | line-height: 18px; |
| | | } |
| | | .el-select__wrapper { |
| | | background: transparent; |
| | | box-shadow: none; |
| | | box-shadow: 0 0 0 1px #026AD6; |
| | | height: 32px; |
| | | padding-left: 20px; |
| | | } |
| | | :deep(.el-pagination) { |
| | | position: fixed; |
| | | bottom: 20px; |
| | | left: 50%; |
| | | transform: translateX(-50%); |
| | | background: rgba(31, 62, 122, 0.95); |
| | | padding: 15px 20px; |
| | | border-radius: 4px; |
| | | box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3); |
| | | } |
| | | } |
| | | :deep(.el-pagination) { |
| | | position: fixed; |
| | | bottom: 20px; |
| | | left: 50%; |
| | | transform: translateX(-50%); |
| | | background: rgba(31, 62, 122, 0.95); |
| | | padding: 15px 20px; |
| | | border-radius: 4px; |
| | | box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3); |
| | | } |
| | | } |
| | | </style> |