Просмотр исходного кода

任务管理-查询和界面优化

LZH 2 лет назад
Родитель
Сommit
4615a886d2

+ 165 - 76
ruoyi-ui/src/views/ams/task/index.vue

@@ -1,24 +1,46 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="起始点位" prop="locationFrom">
+      <el-form-item label="任务编号" prop="taskNo">
         <el-input
-          v-model="queryParams.locationFrom"
-          placeholder="请输入起始点位"
+          v-model="queryParams.taskNo"
+          placeholder="请输入任务编号"
           clearable
           size="small"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+
       <el-form-item label="起始区域" prop="areaFrom">
+        <!--        <el-input-->
+        <!--          v-model="queryParams.areaFrom"-->
+        <!--          placeholder="请输入起始区域"-->
+        <!--          clearable-->
+        <!--          size="small"-->
+        <!--          @keyup.enter.native="handleQuery"-->
+        <!--        />-->
+        <el-select v-model="queryParams.areaFrom" @change="locationZoneFromChange" placeholder="请选择起始区域" clearable
+                   size="small" style="width: 100%">
+          <el-option
+            v-for="dict in this.locationZoneCombo"
+            :key="dict.zoneId"
+            :label="dict.zoneName"
+            :value="dict.zoneId"
+          />
+        </el-select>
+      </el-form-item>
+
+
+      <el-form-item label="起始点位" prop="locationFrom">
         <el-input
-          v-model="queryParams.areaFrom"
-          placeholder="请输入起始区域"
+          v-model="queryParams.locationFrom"
+          placeholder="请输入起始点位"
           clearable
           size="small"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+
       <el-form-item label="终点点位" prop="locationTo">
         <el-input
           v-model="queryParams.locationTo"
@@ -29,65 +51,86 @@
         />
       </el-form-item>
       <el-form-item label="终点区域" prop="areaTo">
-        <el-input
-          v-model="queryParams.areaTo"
-          placeholder="请输入终点区域"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
+        <!--        <el-input-->
+        <!--          v-model="queryParams.areaTo"-->
+        <!--          placeholder="请输入终点区域"-->
+        <!--          clearable-->
+        <!--          size="small"-->
+        <!--          @keyup.enter.native="handleQuery"-->
+        <!--        />-->
+        <el-select v-model="queryParams.areaTo" @change="locationZoneToChange" placeholder="请选择终点区域" clearable
+                   size="small" style="width: 100%">
+          <el-option
+            v-for="dict in this.locationZoneCombo"
+            :key="dict.zoneId"
+            :label="dict.zoneName"
+            :value="dict.zoneId"
+          />
+        </el-select>
       </el-form-item>
       <el-form-item label="ִ状态" prop="state">
-        <el-input
-          v-model="queryParams.state"
-          placeholder="请输入ִ状态"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="创建人" prop="createUser">
-        <el-input
-          v-model="queryParams.createUser"
-          placeholder="请输入创建人"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
+<!--        <el-input-->
+<!--          v-model="queryParams.state"-->
+<!--          placeholder="请输入ִ状态"-->
+<!--          clearable-->
+<!--          size="small"-->
+<!--          @keyup.enter.native="handleQuery"-->
+<!--        />-->
+        <el-select v-model="queryParams.state" clearable placeholder="请选择">
+          <el-option
+            v-for="item in options"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value">
+          </el-option>
+        </el-select>
       </el-form-item>
+      <!--      <el-form-item label="创建人" prop="createUser">-->
+      <!--        <el-input-->
+      <!--          v-model="queryParams.createUser"-->
+      <!--          placeholder="请输入创建人"-->
+      <!--          clearable-->
+      <!--          size="small"-->
+      <!--          @keyup.enter.native="handleQuery"-->
+      <!--        />-->
+      <!--      </el-form-item>-->
       <el-form-item label="创建时间" prop="createDate">
-        <el-date-picker clearable size="small"
-          v-model="queryParams.createDate"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="选择创建时间">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="仓库" prop="shopId">
-        <el-input
-          v-model="queryParams.shopId"
-          placeholder="请输入仓库"
-          clearable
+        <el-date-picker
+          v-model="dateRange"
           size="small"
-          @keyup.enter.native="handleQuery"
-        />
+          style="width: 240px"
+          value-format="yyyy-MM-dd"
+          type="daterange"
+          range-separator="-"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
+        ></el-date-picker>
       </el-form-item>
-      <!--<el-form-item label="任务开始时间" prop="startTime">-->
-        <!--<el-date-picker clearable size="small"-->
-          <!--v-model="queryParams.startTime"-->
-          <!--type="date"-->
-          <!--value-format="yyyy-MM-dd"-->
-          <!--placeholder="选择任务开始时间">-->
-        <!--</el-date-picker>-->
-      <!--</el-form-item>-->
-      <!--<el-form-item label="任务结束时间" prop="endTime">-->
-        <!--<el-date-picker clearable size="small"-->
-          <!--v-model="queryParams.endTime"-->
-          <!--type="date"-->
-          <!--value-format="yyyy-MM-dd"-->
-          <!--placeholder="选择任务结束时间">-->
-        <!--</el-date-picker>-->
-      <!--</el-form-item>-->
+      <!--      <el-form-item label="仓库" prop="shopId">-->
+      <!--        <el-input-->
+      <!--          v-model="queryParams.shopId"-->
+      <!--          placeholder="请输入仓库"-->
+      <!--          clearable-->
+      <!--          size="small"-->
+      <!--          @keyup.enter.native="handleQuery"-->
+      <!--        />-->
+      <!--      </el-form-item>-->
+<!--      <el-form-item label="任务开始时间" prop="startTime">-->
+<!--        <el-date-picker clearable size="small"-->
+<!--                        v-model="queryParams.startTime"-->
+<!--                        type="date"-->
+<!--                        value-format="yyyy-MM-dd"-->
+<!--                        placeholder="选择任务开始时间">-->
+<!--        </el-date-picker>-->
+<!--      </el-form-item>-->
+<!--      <el-form-item label="任务结束时间" prop="endTime">-->
+<!--        <el-date-picker clearable size="small"-->
+<!--                        v-model="queryParams.endTime"-->
+<!--                        type="date"-->
+<!--                        value-format="yyyy-MM-dd"-->
+<!--                        placeholder="选择任务结束时间">-->
+<!--        </el-date-picker>-->
+<!--      </el-form-item>-->
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -125,17 +168,17 @@
           v-hasPermi="['ams:wcsTask:edit']"
         >修改</el-button>
       </el-col>-->
-<!--      <el-col :span="1.5">-->
-<!--        <el-button-->
-<!--          type="danger"-->
-<!--          plain-->
-<!--          icon="el-icon-delete"-->
-<!--          size="mini"-->
-<!--          :disabled="multiple"-->
-<!--          @click="handleCancel()"-->
-<!--          v-hasPermi="['ams:wcsTask:remove']"-->
-<!--        >取消任务</el-button>-->
-<!--      </el-col>-->
+      <!--      <el-col :span="1.5">-->
+      <!--        <el-button-->
+      <!--          type="danger"-->
+      <!--          plain-->
+      <!--          icon="el-icon-delete"-->
+      <!--          size="mini"-->
+      <!--          :disabled="multiple"-->
+      <!--          @click="handleCancel()"-->
+      <!--          v-hasPermi="['ams:wcsTask:remove']"-->
+      <!--        >取消任务</el-button>-->
+      <!--      </el-col>-->
       <!--<el-col :span="1.5">
         <el-button
           type="warning"
@@ -155,11 +198,12 @@
       <!--<el-table-column label="仓库" align="center" prop="shopId" />-->
       <!--<el-table-column label="调用系统名称" align="center" prop="sysName" />-->
       <!--<el-table-column label="调用设备名称" align="center" prop="deviceName" />-->
-      <el-table-column label="起始点位" align="center" prop="locationFrom" />
       <el-table-column label="起始区域" align="center" prop="areaFrom" />
+      <el-table-column label="起始点位" align="center" prop="locationFrom" />
       <el-table-column label="终点点位" align="center" prop="locationTo" />
+      <el-table-column label="AGV站点" align="center" prop="agvStation" />
       <el-table-column label="终点区域" align="center" prop="areaTo" />
-      <el-table-column label="优先级" align="center" prop="priority" />
+      <!--      <el-table-column label="优先级" align="center" prop="priority" />-->
       <el-table-column label="ִ状态" align="center" prop="state" >
         <template slot-scope="scope">
           <div v-if="scope.row.state === 1">开始</div>
@@ -202,8 +246,8 @@
             @click="handleCancel(scope.row)"
             v-hasPermi="['ams:wcsTask:remove']"
           >取消</el-button>
-<!--          <el-button size="mini" type="text" v-if="scope.row.state === 7" @click="handleDisposition(scope.row, 'disFrom')">归于起点</el-button>-->
-<!--          <el-button size="mini" type="text" v-if="scope.row.state === 7" @click="handleDisposition(scope.row, 'disTo')">归于终点</el-button>-->
+          <!--          <el-button size="mini" type="text" v-if="scope.row.state === 7" @click="handleDisposition(scope.row, 'disFrom')">归于起点</el-button>-->
+          <!--          <el-button size="mini" type="text" v-if="scope.row.state === 7" @click="handleDisposition(scope.row, 'disTo')">归于终点</el-button>-->
         </template>
       </el-table-column>
     </el-table>
@@ -419,6 +463,8 @@ export default {
   name: "WcsTask",
   data() {
     return {
+      //创建时间范围
+      dateRange: [],
       // 遮罩层
       loading: true,
       // 选中数组
@@ -456,7 +502,7 @@ export default {
         startTime: null,
         endTime: null,
         parentTask: null,
-        agvNo: null,
+        agvNo: null
       },
       // 表单参数
       form: {},
@@ -477,7 +523,50 @@ export default {
       ],
       locationFromCombo: [],
       locationToCombo: [],
-      locationZoneCombo: []
+      locationZoneCombo: [],
+     options: [{//状态栏下拉选项
+       value: '1',
+       label: '开始'
+     }, {
+       value: '2',
+       label: '完成'
+     }, {
+       value: '3',
+       label: '开始取货'
+     }, {
+       value: '4',
+       label: '取货完成'
+     }, {
+       value: '5',
+       label: '开始卸货'
+     },{
+       value: '6',
+       label: '卸货完成'
+     },{
+       value: '7',
+       label: '取消'
+     },{
+       value: '8',
+       label: '异常'
+     },{
+       value: '9',
+       label: '待下发'
+     },{
+       value: '10',
+       label: '已下发'
+     },{
+       value: '11',
+       label: '取消并归于起点'
+     },{
+       value: '12',
+       label: '取消并归于终点'
+     },{
+       value: '13',
+       label: '取货待确认'
+     },{
+       value: '14',
+       label: '卸货待确认'
+     }],
     };
   },
   created() {
@@ -493,7 +582,7 @@ export default {
     /** 查询AGV任务列表 */
     getList() {
       this.loading = true;
-      listWcsTask(this.queryParams).then(response => {
+      listWcsTask(/*this.queryParams,*/this.addDateRange(this.queryParams, this.dateRange)).then(response => {
         this.wcsTaskList = response.rows;
         this.total = response.total;
         this.loading = false;

+ 12 - 5
warewms-ams/src/main/resources/mapper/ams/WcsTaskMapper.xml

@@ -118,18 +118,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         left join base_location_zone fz on t.area_from = fz.zone_id
         left join base_location_zone tz on t.area_to = tz.zone_id
         <where>
-            <if test="locationFrom != null  and locationFrom != ''"> and t.location_from = #{locationFrom}</if>
+            <if test="locationFrom != null  and locationFrom != ''"> and bf.location_no like concat('%', #{locationFrom}, '%') </if>
+            <if test="taskNo != null  and taskNo != ''"> and t.task_no like concat('%', #{taskNo}, '%') </if>
             <if test="areaFrom != null  and areaFrom != ''"> and t.area_from = #{areaFrom}</if>
-            <if test="locationTo != null  and locationTo != ''"> and t.location_to = #{locationTo}</if>
+            <if test="locationTo != null  and locationTo != ''"> and bt.location_no like concat('%', #{locationTo}, '%')</if>
             <if test="areaTo != null  and areaTo != ''"> and t.area_to = #{areaTo}</if>
             <if test="priority != null "> and t.priority = #{priority}</if>
             <if test="state != null "> and t.state = #{state}</if>
             <if test="createUser != null  and createUser != ''"> and t.create_user = #{createUser}</if>
-            <if test="createDate != null "> and t.create_date = #{createDate}</if>
+<!--            <if test="createDate != null "> and t.create_date = #{createDate}</if>-->
             <if test="taskType != null  and taskType != ''"> and t.task_type = #{taskType}</if>
             <if test="shopId != null  and shopId != ''"> and t.shop_id = #{shopId}</if>
-            <if test="startTime != null "> and t.start_time = #{startTime}</if>
-            <if test="endTime != null "> and t.end_time = #{endTime}</if>
+<!--            <if test="startTime != null "> and t.start_time = #{startTime}</if>-->
+<!--            <if test="endTime != null "> and t.end_time = #{endTime}</if>-->
+            <if test="createDate != null and createDate != ''"><!-- 开始时间检索 -->
+                AND date_format(t.create_time,'%y%m%d') &gt;= date_format(#{createDate},'%y%m%d')
+            </if>
+            <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
+                AND date_format(t.create_time,'%y%m%d') &lt;= date_format(#{createDate},'%y%m%d')
+            </if>
             <if test="parentTask != null  and parentTask != ''"> and t.parent_task = #{parentTask}</if>
             <if test="agvNo != null  and agvNo != ''"> and t.agv_no like concat('%', #{agvNo}, '%')</if>
         </where>