| src/assets/images/task/create.png | patch | view | raw | blame | history | |
| src/assets/images/task/reset.png | patch | view | raw | blame | history | |
| src/assets/images/task/search.png | patch | view | raw | blame | history | |
| src/views/TaskManage/SearchBox.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/TaskManage/TaskIntermediateContent/TaskIntermediateContent.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/TaskManage/TaskTop/TaskTop.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/TaskManage/components/TaskAlgorithmBusiness.vue | ●●●●● patch | view | raw | blame | history |
src/assets/images/task/create.png
src/assets/images/task/reset.png
src/assets/images/task/search.png
src/views/TaskManage/SearchBox.vue
@@ -1,84 +1,47 @@ <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"> --> <div class="search-first"> <el-form-item> <el-input v-model="searchForm.key_word" placeholder="请输入任务/机巢名称" clearable /> </el-form-item> <el-form-item label="区域"> <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-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 style="width: 520px;"> <CommonDateTime style="width: 520px;" 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 label="任务算法:" v-if="isExpand"> <TaskAlgorithmBusiness :setWidth="200" :showAlgorithm="true" @algorithmChange="algorithmChange"/> </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" /> </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> <!-- </div> --> <!-- <div class="search-row"> --> <!-- <el-form-item label="所属部门"> <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> @@ -188,73 +151,90 @@ </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-more { .search-btn { 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; // 为分页预留空间 bottom: 2px; cursor: pointer; img { width: 82px; height: 32px; margin-right: 10px; } } } :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-form) { :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%; box-shadow: none; box-shadow: 0 0 0 1px #026AD6; height: 32px; 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; } } :deep(.el-pagination) { src/views/TaskManage/TaskIntermediateContent/TaskIntermediateContent.vue
@@ -2,17 +2,17 @@ <template> <div class="task-intermediate-content"> <SearchBox @search="searchClick" @addTask="handleAddTask"></SearchBox> <el-table :data="jobListData" style="width: 100%" height="calc(100vh - 180px)"> <el-table :data="jobListData" style="width: 100%" height="calc(100vh - 502px)"> <el-table-column label="序号" width="60"> <template #default="scope"> {{ (jobListParams.current - 1) * jobListParams.size + scope.$index + 1 }} </template> </el-table-column> <el-table-column prop="job_info_num" label="任务编号" /> <el-table-column prop="name" label="任务名称" /> <el-table-column prop="job_info_num" label="任务编号" show-overflow-tooltip /> <el-table-column prop="name" label="任务名称" show-overflow-tooltip /> <el-table-column prop="dept_name" label="所属部门" /> <el-table-column prop="device_names" label="所属机巢" /> <el-table-column prop="ai_type_str" label="关联算法" /> <el-table-column prop="ai_type_str" label="关联算法" show-overflow-tooltip /> <el-table-column label="任务状态" > <template #default="scope"> {{ scope.row.status ? getStatusText(scope.row.status) : '' }} @@ -24,16 +24,16 @@ <el-table-column prop="creator_name" label="创建人" /> <el-table-column label="操作" > <template #default="scope"> <el-button link type="primary" @click="handleDetail(scope.row)">查看</el-button> <el-button class="current-details" link type="primary" @click="handleDetail(scope.row)">查看</el-button> </template> </el-table-column> </el-table> <div class="pagination"> <el-pagination <el-pagination class="btn-prev" v-model:current-page="jobListParams.current" v-model:page-size="jobListParams.size" :page-sizes="[10, 20, 30, 50]" layout="total, sizes, prev, pager, next" layout="prev, pager, next, sizes, jumper" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" @@ -54,7 +54,7 @@ const jobListParams = reactive({ current: 1, size: 10, size: 5, searchParams:{} }); const jobListData = ref([]); @@ -119,10 +119,26 @@ }); </script> <style lang="scss"> .task-intermediate-content { .el-table__body tr { background: #0B1D38; border-bottom: 1px solid; border-image: linear-gradient(270deg, rgba(81, 168, 255, 0), rgba(48, 111, 202, 1), rgba(81, 168, 255, 0)) 2 2; } .el-pagination__sizes { .el-select { .el-input__wrapper { background-color: #021022; box-shadow: 0 0 0 1px #1479EF inset; } } } } </style> <style lang="scss" scoped> .task-intermediate-content { margin-left: 38px; margin-top: 16px; margin: 16px 38px 16px 38px; background: linear-gradient( 27deg, #1F3E7A 0%, rgba(31,62,122,0.35) 79%, rgba(31,62,122,0) 100%); padding: 14px 18px; @@ -134,21 +150,50 @@ --el-table-header-bg-color: rgba(31, 62, 122, 0.5); --el-table-header-text-color: #fff; --el-table-text-color: #fff; .el-table__header { background: #0F1929; box-shadow: inset 0px -50px 50px 0px rgba(27,148,255,0.13); border-radius: 20px 0px 0px 0px; border-bottom: 2px solid; border-image: linear-gradient(90deg, rgba(81, 168, 255, 0), rgba(48, 111, 202, 1), rgba(81, 168, 255, 0)) 2 2; } .el-table__body tr:hover > td { background-color: rgba(31, 62, 122, 0.3) !important; } } .current-details { width: 53px; height: 27px; background: #001F4E; border-radius: 0px 0px 0px 0px; border: 1px solid #51A8FF; } .pagination { padding: 20px 0; // padding: 20px 0; display: flex; justify-content: flex-end; justify-content: center; :deep(.el-pagination) { --el-pagination-bg-color: transparent; --el-pagination-text-color: #fff; --el-pagination-button-color: #fff; --el-pagination-text-color: #8EB8EA; --el-pagination-button-color: #8EB8EA; --el-pagination-hover-color: #409eff; .btn-prev { background: transparent; } .el-pager li.is-active { background: #021022; color: #8EB8EA; border: 1px solid #1479EF; padding: 0 6px; } .el-pagination__jump { background: transparent; color: #8EB8EA; } } } } src/views/TaskManage/TaskTop/TaskTop.vue
@@ -2,7 +2,7 @@ <div class="task-top"> <!--时间 天气--> <common-weather/> <UserOperate/> <UserOperate :style="{top: pxToRem(15)}"/> <div class="statistical-chart"> <TaskTotal /> <TaskIndustry /> @@ -13,6 +13,7 @@ </template> <script setup> import { pxToRem } from '@/utils/rem' import CommonWeather from '@/components/CommonWeather.vue'; import UserOperate from '@/components/UserOperate.vue'; import TaskTotal from './TaskTotal.vue'; @@ -36,7 +37,7 @@ ); border-radius: 0px 0px 0px 0px; opacity: 0.85; margin-left: 38px; margin-left: 29px; margin-right: 29px; } } src/views/TaskManage/components/TaskAlgorithmBusiness.vue
@@ -1,12 +1,12 @@ <!-- 关联算法和综合业务 --> <template> <div class="task-algorithm" v-if="showAlgorithm"> <el-select v-model="ai_types" multiple collapse-tags collapse-tags-tooltip placeholder="请选择算法" clearable @change="handleAlgorithmChange"> <el-select :style="{ width:setWidth +'px' }" v-model="ai_types" multiple collapse-tags collapse-tags-tooltip placeholder="请选择算法" clearable @change="handleAlgorithmChange"> <el-option v-for="item in taskAlgorithm" :key="item.id" :label="item.dictValue" :value="item.dictKey" /> </el-select> </div> <div class="task-business" v-if="showBusiness"> <el-select v-model="industry_type" placeholder="请选择类型" clearable @change="handleBusinessChange"> <el-select :style="{ width:setWidth +'px' }" v-model="industry_type" placeholder="请选择类型" clearable @change="handleBusinessChange"> <el-option v-for="item in taskBusiness" :key="item.id" :label="item.dictValue" :value="item.dictKey" /> </el-select> </div> @@ -25,6 +25,10 @@ showBusiness: { type: Boolean, default: false }, setWidth: { type: String, default: '100%' } });