wenhongquan 2 years ago
parent
commit
4d95e85b51
3 changed files with 282 additions and 336 deletions
  1. 44 1
      src/views/detection/list/index.vue
  2. 236 333
      src/views/maintain/list/index.vue
  3. 2 2
      vite.config.js

+ 44 - 1
src/views/detection/list/index.vue

@@ -2,6 +2,7 @@
   <div style="padding: 10px">
     <div class="formbody">
       <el-form :inline="true" v-model="queryparameters" class="demo-form-inline">
+        <el-col :span="6">
         <el-form-item label="设施台账">
           <el-select
             v-model="queryparameters.facilitiesId"
@@ -15,6 +16,8 @@
             ></el-option>
           </el-select>
         </el-form-item>
+        </el-col>
+        <el-col :span="6">
         <el-form-item label="计划状态" v-if="currentstatus == 1">
           <el-select v-model="queryparameters.status" class="m-1" placeholder="请选择">
             <el-option
@@ -24,6 +27,8 @@
             ></el-option>
           </el-select>
         </el-form-item>
+        </el-col>
+        <el-col :span="6">
         <el-form-item label="道路名">
           <el-select v-model="queryparameters.taskArea" class="m-2" placeholder="请选择">
             <el-option
@@ -33,6 +38,25 @@
             ></el-option>
           </el-select>
         </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="班组区域">
+            <el-tree-select v-model="queryparameters.taskDeptRange" multiple :data="treedept" check-strictly="true" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="任务时间">
+            <el-date-picker v-model="qdate" type="daterange" value-format="YYYY-MM-DD" range-separator="到"
+              start-placeholder="开始时间" end-placeholder="结束时间" />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="6">
+          <el-form-item label="关键字">
+            <el-input v-model="queryparameters.searchkey" placeholder="设施名称/道路"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
         <div style="float: right">
           <el-form-item>
             <el-button type="primary" @click="resetall">重置</el-button>
@@ -44,6 +68,7 @@
             <el-button type="success" @click="adddetection">新增</el-button>
           </el-form-item>
         </div>
+        </el-col>
       </el-form>
 
       <div>
@@ -610,6 +635,8 @@ const { detection_status, detection_type } = useDict(
 const queryparameters = ref({
   status: "",
   facilitiesId: "",
+  taskDeptRange: [],
+  searchkey: "",
   pageNum: 1,
   pageSize: 10,
 });
@@ -620,6 +647,7 @@ const loading = ref(false);
 const tableData = ref([]);
 const pagedata = ref({});
 const route = useRoute();
+const qdate = ref([]);
 const currentstatus = computed(() => route.params.status);
 
 const alldevices = ref([]);
@@ -642,6 +670,8 @@ const resetall = () => {
   queryparameters.value = {
     status: "",
     facilitiesId: "",
+    taskDeptRange: [],
+    searchkey: "",
     pageNum: 1,
     pageSize: 10,
   }
@@ -727,7 +757,20 @@ const getList = () => {
   } else {
     queryparameters.value.status = "";
   }
-  listDetection(queryparameters.value).then((response) => {
+
+  var cq = cloneDeep(queryparameters.value);
+  var query = proxy.addDateRange(cq, qdate.value);
+  if (query.status == "0") {
+    delete query.status;
+  }
+  if (query.searchkey != undefined && query.searchkey !== "") {
+    query.params["searchkey"] = query.searchkey;
+  }
+  if (query.taskDeptRange != undefined) {
+    query.taskDeptRange = query.taskDeptRange.join(",");
+  }
+
+  listDetection(query).then((response) => {
     tableData.value = response.rows.map((i) => {
       i.ext1 = JSON.parse(i.ext1);
       return i;

+ 236 - 333
src/views/maintain/list/index.vue

@@ -2,47 +2,54 @@
   <div style="padding: 10px">
     <div class="formbody">
       <el-form :inline="true" v-model="queryparameters" class="demo-form-inline">
-        <el-form-item label="设施台账">
-          <el-select v-model="queryparameters.facilitiesId" class="m-1" placeholder="请选择">
-            <el-option v-for="item in alldevices" :label="item.exId" :value="item.exId"></el-option>
-          </el-select>
-        </el-form-item>
-
-        <el-form-item label="设施名称">
-          <el-select
-            v-model="queryparameters.facilitiesId"
-            class="m-1"
-            placeholder="请选择"
-          >
-            <el-option
-              v-for="item in alldevices"
-              :label="item.ext1.tz_ss_name"
-              :value="item.id"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="计划状态" v-if="currentstatus == 1">
-          <el-select v-model="queryparameters.status" class="m-1" placeholder="请选择">
-            <el-option
-              v-for="item in maintain_status"
-              :label="item.label"
-              :value="item.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="养护类型">
-          <el-select
-            v-model="queryparameters.maintainType"
-            class="m-2"
-            placeholder="请选择"
-          >
-            <el-option
-              v-for="item in maintain_type"
-              :label="item.label"
-              :value="item.value"
-            ></el-option>
-          </el-select>
-        </el-form-item>
+        <el-col :span="6">
+          <el-form-item label="设施台账">
+            <el-select v-model="queryparameters.facilitiesId" class="m-1" placeholder="请选择">
+              <el-option v-for="item in alldevices" :label="item.exId" :value="item.exId"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="6">
+          <el-form-item label="设施名称">
+            <el-select v-model="queryparameters.facilitiesId" class="m-1" placeholder="请选择">
+              <el-option v-for="item in alldevices" :label="item.ext1.tz_ss_name" :value="item.id"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="计划状态" v-if="currentstatus == 1">
+            <el-select v-model="queryparameters.status" class="m-1" placeholder="请选择">
+              <el-option v-for="item in maintain_status" :label="item.label" :value="item.value"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="养护类型">
+            <el-select v-model="queryparameters.maintainType" class="m-2" placeholder="请选择">
+              <el-option v-for="item in maintain_type" :label="item.label" :value="item.value"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="班组区域">
+            <el-tree-select v-model="queryparameters.taskDeptRange" multiple :data="treedept" check-strictly="true" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="任务时间">
+            <el-date-picker v-model="qdate" type="daterange" value-format="YYYY-MM-DD" range-separator="到"
+              start-placeholder="开始时间" end-placeholder="结束时间" />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="6">
+          <el-form-item label="关键字">
+            <el-input v-model="queryparameters.searchkey" placeholder="设施名称/道路"></el-input>
+          </el-form-item>
+        </el-col>
+
+     <el-col :span="12">
         <div style="float: right">
           <el-form-item>
             <el-button type="primary" @click="resetall">重置</el-button>
@@ -54,133 +61,130 @@
             <el-button type="success" @click="addmaintain">新增</el-button>
           </el-form-item>
         </div>
+        </el-col>
       </el-form>
 
       <div>
-        <el-table
-          :data="tableData"
-          class="eltable"
-          style="width: 100%"
-          @row-click="tblrowclick"
-        >
+        <el-table :data="tableData" class="eltable" style="width: 100%" @row-click="tblrowclick">
           <el-table-column prop="taskCode" label="台账编号">
             <template #default="scope">
               {{
-                alldevices.filter((i) => i.id === scope.row.facilitiesId)[0]?.ext1.tz_id ??
-                "-"
+                  alldevices.filter((i) => i.id === scope.row.facilitiesId)[0]?.ext1.tz_id ??
+                  "-"
               }}
             </template>
           </el-table-column>
           <el-table-column prop="taskCode" label="设施名称">
             <template #default="scope">
               {{
-                alldevices.filter((i) => i.id === scope.row.facilitiesId)[0]?.ext1.tz_ss_name ??
-                "-"
+                  alldevices.filter((i) => i.id === scope.row.facilitiesId)[0]?.ext1.tz_ss_name ??
+                  "-"
               }}
             </template>
           </el-table-column>
           <el-table-column prop="taskCode" label="城区">
             <template #default="scope">
               {{
-                 (sys_area ?? []).filter((i) => i.value === alldevices.filter((i) => i.id === scope.row.facilitiesId)[0]?.ext1.tz_area_new + "")[0]
-              ?.label ?? "-"
+                  (sys_area ?? []).filter((i) => i.value === alldevices.filter((i) => i.id ===
+                    scope.row.facilitiesId)[0]?.ext1.tz_area_new + "")[0]
+                    ?.label ?? "-"
               }}
             </template>
           </el-table-column>
-           <el-table-column label="养护类型">
+          <el-table-column label="养护类型">
             <template #default="scope">
               {{
-                maintain_type.filter(
-                  (i) => i.value + "" === scope.row.maintainType + ""
-                )[0]?.label ?? "-"
+                  maintain_type.filter(
+                    (i) => i.value + "" === scope.row.maintainType + ""
+                  )[0]?.label ?? "-"
               }}
             </template>
           </el-table-column>
-           <el-table-column label="路段范围">
+          <el-table-column label="路段范围">
             <template #default="scope">
               {{
-                 alldevices.filter((i) => i.id === scope.row.facilitiesId)[0]?.ext1.tz_ss_road_se ??
-                "-"
+                  alldevices.filter((i) => i.id === scope.row.facilitiesId)[0]?.ext1.tz_ss_road_se ??
+                  "-"
               }}
             </template>
           </el-table-column>
-          <el-table-column prop="ext1.task.datestart" label="计划时间"  />
+          <el-table-column prop="ext1.task.datestart" label="计划时间" />
           <el-table-column prop="ext1.task.dateend" label="完成时间" />
-          <el-table-column label="管径(mm)" >
+          <el-table-column label="管径(mm)">
             <template #default="scope">
               {{
-                scope.row.ext1.task.gd.map(i=>i.yh_gj).join("、")
+                  scope.row.ext1.task.gd.map(i => i.yh_gj).join("、")
               }}
             </template>
           </el-table-column>
-           <el-table-column label="管道清淤(米)"  >
+          <el-table-column label="管道清淤(米)">
             <template #default="scope">
               {{
-                 evilFn((scope.row.ext1.task.gd).map(i => (i.yh_length && i.yh_length != '' ? parseFloat(i.yh_length):0 ) ).join("+"))
+                  evilFn((scope.row.ext1.task.gd).map(i => (i.yh_length && i.yh_length != '' ? parseFloat(i.yh_length) : 0)
+                  ).join("+"))
               }}
             </template>
           </el-table-column>
 
-            <el-table-column label="雨水口清掏(座)"  >
+          <el-table-column label="雨水口清掏(座)">
             <template #default="scope">
               {{
-                scope.row.ext1.task.ysk
+                  scope.row.ext1.task.ysk
               }}
             </template>
           </el-table-column>
 
-            <el-table-column label="检查井清掏(座)"  >
+          <el-table-column label="检查井清掏(座)">
             <template #default="scope">
               {{
-               scope.row.ext1.task.jcj
+                  scope.row.ext1.task.jcj
               }}
             </template>
           </el-table-column>
 
 
 
-          <el-table-column label="计划状态" >
+          <el-table-column label="计划状态">
             <template #default="scope">
               {{
-                maintain_status.filter((i) => i.value === scope.row.status + "")[0]
-                  ?.label ?? "-"
+                  maintain_status.filter((i) => i.value === scope.row.status + "")[0]
+                    ?.label ?? "-"
               }}
             </template>
           </el-table-column>
 
-          <el-table-column prop="maintainUnit" label="辖区班组" >
+          <el-table-column prop="maintainUnit" label="辖区班组">
             <template #default="scope">
-          {{
-            (scope.row.ext1.facilities_unit == "" ? [] : scope.row.ext1.facilities_unit ?? [])
-              .map((i) => {
-                return (
-                  alldept.find((p) => {
-                    return p.deptId + "" === i + "";
-                  })?.deptName ?? "-"
-                );
-              })
-              .join("、")
-          }}
-        </template>
-            </el-table-column>
-             <el-table-column label="养护单位"  >
+              {{
+                  (scope.row.ext1.facilities_unit == "" ? [] : scope.row.ext1.facilities_unit ?? [])
+                    .map((i) => {
+                      return (
+                        alldept.find((p) => {
+                          return p.deptId + "" === i + "";
+                        })?.deptName ?? "-"
+                      );
+                    })
+                    .join("、")
+              }}
+            </template>
+          </el-table-column>
+          <el-table-column label="养护单位">
             <template #default="scope">
               {{
-               scope.row.maintainUnit
+                  scope.row.maintainUnit
               }}
             </template>
           </el-table-column>
-             <el-table-column label="备注"  >
+          <el-table-column label="备注">
             <template #default="scope">
               {{
-               scope.row.maintainRemark
+                  scope.row.maintainRemark
               }}
             </template>
           </el-table-column>
-                      <el-table-column prop="address" label="操作">
+          <el-table-column prop="address" label="操作">
             <template #default="scope">
-              <el-button text size="small" @click.stop="edittask(scope.row)"
-                >修改
+              <el-button text size="small" @click.stop="edittask(scope.row)">修改
               </el-button>
               <el-popconfirm title="确定删除?" @confirm="deltask(scope.row)">
                 <template #reference>
@@ -196,151 +200,90 @@
           </el-table-column> -->
         </el-table>
         <div style="position: relative; padding-right: 20px; margin-top: -20px">
-          <Pagination
-            :total="pagedata.total ?? 0"
-            v-show="pagedata.total > 0"
-            v-model:page="queryparameters.pageNum"
-            v-model:limit="queryparameters.pageSize"
-            @pagination="getList"
-          ></Pagination>
+          <Pagination :total="pagedata.total ?? 0" v-show="pagedata.total > 0" v-model:page="queryparameters.pageNum"
+            v-model:limit="queryparameters.pageSize" @pagination="getList"></Pagination>
         </div>
       </div>
     </div>
 
-    <el-dialog
-      v-model="showadd"
-      v-loading="loading"
-      title="新增养护计划"
-      width="70%"
-      append-to-body
-      draggable
-    >
+    <el-dialog v-model="showadd" v-loading="loading" title="新增养护计划" width="70%" append-to-body draggable>
       <div>
         <el-form :model="maintaininfo" ref="form">
           <div style="font-weight: bold; font-size: 15px; margin-bottom: 10px">
             任务基础信息
           </div>
           <el-row>
-            <el-col :span="12"
-              ><el-form-item label="关联设施" label-width="150px">
-                <el-select
-                  v-model="maintaininfo.facilitiesId"
-                  filterable
-                  placeholder="请选择设备"
-                >
-                  <el-option
-                    v-for="item in alldevices"
-                    :label="item.ext1.tz_id"
-                    :value="item.id"
-                  ></el-option>
-                </el-select> </el-form-item
-            ></el-col>
             <el-col :span="12">
-              <el-form-item
-                label="养护类型"
-                required
-                label-width="150px"
-                prop="maintainType"
-              >
-                <el-select
-                  v-model="maintaininfo.maintainType"
-                  filterable
-                  placeholder="请选择类型"
-                >
-                  <el-option
-                    v-for="item in maintain_type"
-                    :label="item.label"
-                    :value="parseInt(item.value)"
-                  ></el-option>
-                </el-select> </el-form-item
-            ></el-col>
+              <el-form-item label="关联设施" label-width="150px">
+                <el-select v-model="maintaininfo.facilitiesId" filterable placeholder="请选择设备">
+                  <el-option v-for="item in alldevices" :label="item.ext1.tz_id" :value="item.id"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="养护类型" required label-width="150px" prop="maintainType">
+                <el-select v-model="maintaininfo.maintainType" filterable placeholder="请选择类型">
+                  <el-option v-for="item in maintain_type" :label="item.label" :value="parseInt(item.value)">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
           </el-row>
           <el-row>
-            <el-col :span="12"
-              ><el-form-item label="设施名称" label-width="150px">
-                <el-input
-                  v-model="maintaininfo.ext1.facilities_name"
-                  placeholder="请输入"
-                ></el-input></el-form-item
-            ></el-col>
-            <el-col :span="12"
-              ><el-form-item label="所在道路" label-width="150px">
-                <el-input
-                  v-model="maintaininfo.ext1.facilities_road"
-                  placeholder="请输入"
-                ></el-input></el-form-item
-            ></el-col>
-
-            <el-col :span="6"
-              ><el-form-item label="运维长度" label-width="100px">
-                <el-input
-                  v-model="maintaininfo.ext1.facilities_length"
-                  placeholder="请输入"
-                  ><template #append>(米)</template></el-input
-                ></el-form-item
-              ></el-col
-            >
-
-            <el-col :span="6"
-              ><el-form-item label="管径范围" label-width="100px">
-                <el-input v-model="maintaininfo.ext1.facilities_gjfw" placeholder="请输入"
-                  ><template #append>(mm)</template></el-input
-                ></el-form-item
-              ></el-col
-            >
-            <el-col :span="12"
-              ><el-form-item
-                label="养护起点"
-                required
-                label-width="100px"
-                prop="ext1.facilities_start"
-              >
-                <el-input
-                  v-model="maintaininfo.ext1.facilities_start"
-                  placeholder="请输入"
-                ></el-input></el-form-item
-            ></el-col>
-
-            <el-col :span="12"
-              ><el-form-item label="辖区班组" label-width="100px">
-                <el-tree-select
-                  v-model="maintaininfo.ext1.facilities_unit"
-                  multiple
-                  :data="treedept"
-                  check-strictly="true"
-              /></el-form-item>
+            <el-col :span="12">
+              <el-form-item label="设施名称" label-width="150px">
+                <el-input v-model="maintaininfo.ext1.facilities_name" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="所在道路" label-width="150px">
+                <el-input v-model="maintaininfo.ext1.facilities_road" placeholder="请输入"></el-input>
+              </el-form-item>
             </el-col>
 
-            <el-col :span="12"
-              ><el-form-item
-                label="养护终点"
-                required
-                label-width="100px"
-                prop="ext1.facilities_end"
-              >
-                <el-input
-                  v-model="maintaininfo.ext1.facilities_end"
-                  placeholder="请输入"
-                ></el-input></el-form-item
-            ></el-col>
+            <el-col :span="6">
+              <el-form-item label="运维长度" label-width="100px">
+                <el-input v-model="maintaininfo.ext1.facilities_length" placeholder="请输入"><template
+                    #append>(米)</template></el-input>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="6">
+              <el-form-item label="管径范围" label-width="100px">
+                <el-input v-model="maintaininfo.ext1.facilities_gjfw" placeholder="请输入"><template
+                    #append>(mm)</template></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="养护起点" required label-width="100px" prop="ext1.facilities_start">
+                <el-input v-model="maintaininfo.ext1.facilities_start" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="12">
+              <el-form-item label="辖区班组" label-width="100px">
+                <el-tree-select v-model="maintaininfo.ext1.facilities_unit" multiple :data="treedept"
+                  check-strictly="true" />
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="12">
+              <el-form-item label="养护终点" required label-width="100px" prop="ext1.facilities_end">
+                <el-input v-model="maintaininfo.ext1.facilities_end" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
 
             <el-col :span="24">
               <el-form-item label="计划备注" label-width="150px">
-                <el-input
-                  v-model="maintaininfo.maintainDes"
-                  type="textarea"
-                  placeholder="请输入"
-                ></el-input></el-form-item
-            ></el-col>
+                <el-input v-model="maintaininfo.maintainDes" type="textarea" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
 
             <el-col :span="24">
               <el-form-item label="养护单位" label-width="150px">
-                <el-input
-                  v-model="maintaininfo.maintainUnit"
-                  type="textarea"
-                  placeholder="请输入"
-                ></el-input></el-form-item
-            ></el-col>
+                <el-input v-model="maintaininfo.maintainUnit" type="textarea" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
           </el-row>
           <div style="font-weight: bold; font-size: 15px; margin-bottom: 10px">
             养护计划量及任务派发
@@ -348,113 +291,77 @@
           <el-row>
             <el-col :span="8">
               <el-form-item label="检查井" label-width="100px">
-                <el-input
-                  v-model="maintaininfo.ext1.task.jcj"
-                  type="text"
-                  placeholder="请输入"
-                  ><template #append>(座)</template></el-input
-                ></el-form-item
-              >
+                <el-input v-model="maintaininfo.ext1.task.jcj" type="text" placeholder="请输入"><template
+                    #append>(座)</template></el-input>
+              </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="雨水口" label-width="100px">
-                <el-input
-                  v-model="maintaininfo.ext1.task.ysk"
-                  type="text"
-                  placeholder="请输入"
-                  ><template #append>(座)</template></el-input
-                ></el-form-item
-              >
+                <el-input v-model="maintaininfo.ext1.task.ysk" type="text" placeholder="请输入"><template
+                    #append>(座)</template></el-input>
+              </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="排河口" label-width="100px">
-                <el-input
-                  v-model="maintaininfo.ext1.task.phk"
-                  type="text"
-                  placeholder="请输入"
-                  ><template #append>(座)</template></el-input
-                ></el-form-item
-              >
+                <el-input v-model="maintaininfo.ext1.task.phk" type="text" placeholder="请输入"><template
+                    #append>(座)</template></el-input>
+              </el-form-item>
             </el-col>
           </el-row>
 
           <el-row>
             <el-col :span="4">
-              <div
-                style="
+              <div style="
                   font-weight: bold;
                   font-size: 15px;
                   text-align: right;
                   padding-right: 30px;
                   padding-top: 3px;
-                "
-              >
+                ">
                 雨水口养护详情
               </div>
             </el-col>
             <el-col :span="4" style="padding-right: 10px">
               <el-form-item label="单箅" label-width="40px">
-                <el-input
-                  v-model="maintaininfo.ext1.task.bz_dan"
-                  type="text"
-                  placeholder="请输入"
-                  ><template #append>(个)</template></el-input
-                ></el-form-item
-              >
+                <el-input v-model="maintaininfo.ext1.task.bz_dan" type="text" placeholder="请输入"><template
+                    #append>(个)</template></el-input>
+              </el-form-item>
             </el-col>
             <el-col :span="4" style="padding-right: 10px">
               <el-form-item label="双箅" label-width="40px">
-                <el-input
-                  v-model="maintaininfo.ext1.task.bz_shuang"
-                  type="text"
-                  placeholder="请输入"
-                  ><template #append>(个)</template></el-input
-                ></el-form-item
-              >
+                <el-input v-model="maintaininfo.ext1.task.bz_shuang" type="text" placeholder="请输入"><template
+                    #append>(个)</template></el-input>
+              </el-form-item>
             </el-col>
             <el-col :span="4" style="padding-right: 10px">
               <el-form-item label="三箅" label-width="40px">
-                <el-input
-                  v-model="maintaininfo.ext1.task.bz_san"
-                  type="text"
-                  placeholder="请输入"
-                  ><template #append>(个)</template></el-input
-                ></el-form-item
-              >
+                <el-input v-model="maintaininfo.ext1.task.bz_san" type="text" placeholder="请输入"><template
+                    #append>(个)</template></el-input>
+              </el-form-item>
             </el-col>
             <el-col :span="4" style="padding-right: 10px">
               <el-form-item label="四箅" label-width="40px">
-                <el-input
-                  v-model="maintaininfo.ext1.task.bz_si"
-                  type="text"
-                  placeholder="请输入"
-                  ><template #append>(个)</template></el-input
-                ></el-form-item
-              >
+                <el-input v-model="maintaininfo.ext1.task.bz_si" type="text" placeholder="请输入"><template
+                    #append>(个)</template></el-input>
+              </el-form-item>
             </el-col>
             <el-col :span="4" style="padding-right: 10px">
               <el-form-item label="多箅" label-width="40px">
-                <el-input
-                  v-model="maintaininfo.ext1.task.bz_duo"
-                  type="text"
-                  placeholder="请输入"
-                  ><template #append>(个)</template></el-input
-                ></el-form-item
-              >
+                <el-input v-model="maintaininfo.ext1.task.bz_duo" type="text" placeholder="请输入"><template
+                    #append>(个)</template></el-input>
+              </el-form-item>
             </el-col>
           </el-row>
 
           <el-row>
             <el-col :span="4">
-              <div
-                style="
+              <div style="
                   font-weight: bold;
                   font-size: 15px;
                   text-align: right;
                   padding-right: 30px;
                   padding-top: 3px;
-                "
-              >
+                ">
                 管道养护详情
               </div>
             </el-col>
@@ -464,39 +371,25 @@
                   <el-row v-for="(item, index) in maintaininfo.ext1.task.gd">
                     <el-col :span="8" style="padding-right: 10px">
                       <el-form-item label="管道养护" label-width="80px">
-                        <el-input
-                          v-model="item.yh_length"
-                          type="text"
-                          placeholder="请输入"
-                          ><template #append>(米)</template></el-input
-                        ></el-form-item
-                      >
+                        <el-input v-model="item.yh_length" type="text" placeholder="请输入"><template
+                            #append>(米)</template></el-input>
+                      </el-form-item>
                     </el-col>
 
                     <el-col :span="8" style="padding-right: 10px">
                       <el-form-item label="管径" label-width="80px">
-                        <el-input v-model="item.yh_gj" type="text" placeholder="请输入"
-                          ><template #append>(mm)</template></el-input
-                        ></el-form-item
-                      >
+                        <el-input v-model="item.yh_gj" type="text" placeholder="请输入"><template #append>(mm)</template>
+                        </el-input>
+                      </el-form-item>
                     </el-col>
                     <el-col :span="8" style="padding-right: 40px; position: relative">
                       <el-form-item label="备注" label-width="40px">
-                        <el-input
-                          v-model="item.yh_remark"
-                          type="text"
-                          placeholder="请输入"
-                        ></el-input
-                      ></el-form-item>
-                      <el-button
-                        style="position: absolute; right: 0; top: 3px"
-                        size="small"
-                        @click="gzloperat(index)"
-                        type="primary"
-                        :icon="
+                        <el-input v-model="item.yh_remark" type="text" placeholder="请输入"></el-input>
+                      </el-form-item>
+                      <el-button style="position: absolute; right: 0; top: 3px" size="small" @click="gzloperat(index)"
+                        type="primary" :icon="
                           index == maintaininfo.ext1.task.gd.length - 1 ? Plus : Minus
-                        "
-                      ></el-button>
+                        "></el-button>
                     </el-col>
                   </el-row>
                 </el-col>
@@ -504,19 +397,19 @@
                 <el-col :span="24">
                   <div style="font-weight: bold; font-size: 15px">
                     合计:{{
-                      evilFn(
-                        maintaininfo.ext1.task.gd
-                          .map((i) => {
-                            var p = 0;
-                            try {
-                              p = parseFloat(i.yh_length);
-                            } catch (e) {
-                              p = 0;
-                            }
-                            return p == "" || isNaN(p) ? 0 : p;
-                          })
-                          .join("+")
-                      )
+                        evilFn(
+                          maintaininfo.ext1.task.gd
+                            .map((i) => {
+                              var p = 0;
+                              try {
+                                p = parseFloat(i.yh_length);
+                              } catch (e) {
+                                p = 0;
+                              }
+                              return p == "" || isNaN(p) ? 0 : p;
+                            })
+                            .join("+")
+                        )
                     }}
                   </div>
@@ -528,22 +421,14 @@
           <el-row style="margin-top: 10px">
             <el-col :span="12" style="text-align: right">
               <el-form-item :label="`计划开始时间`">
-                <el-date-picker
-                  v-model="maintaininfo.ext1.task.datestart"
-                  value-format="YYYY-MM"
-                  type="month"
-                  placeholder="请选择"
-                />
+                <el-date-picker v-model="maintaininfo.ext1.task.datestart" value-format="YYYY-MM" type="month"
+                  placeholder="请选择" />
               </el-form-item>
             </el-col>
             <el-col :span="12" style="text-align: right">
               <el-form-item :label="`计划结束时间`">
-                <el-date-picker
-                  v-model="maintaininfo.ext1.task.dateend"
-                  value-format="YYYY-MM"
-                  type="month"
-                  placeholder="请选择"
-                />
+                <el-date-picker v-model="maintaininfo.ext1.task.dateend" value-format="YYYY-MM" type="month"
+                  placeholder="请选择" />
               </el-form-item>
             </el-col>
           </el-row>
@@ -589,6 +474,8 @@ const queryparameters = ref({
   status: "",
   maintainType: "",
   facilitiesId: "",
+  taskDeptRange: [],
+  searchkey: "",
   pageNum: 1,
   pageSize: 10,
 });
@@ -618,6 +505,7 @@ const currentstatus = computed(() => route.params.status);
 const alldevices = ref([]);
 const maintaininfo = ref();
 const alldept = ref([]);
+const qdate = ref([]);
 const treedept = ref([]);
 
 
@@ -626,6 +514,8 @@ const resetall = () => {
     status: "",
     maintainType: "",
     facilitiesId: "",
+    taskDeptRange: [],
+    searchkey: "",
     pageNum: 1,
     pageSize: 10,
   };
@@ -731,7 +621,19 @@ const getList = () => {
   } else {
     queryparameters.value.status = "";
   }
-  listMaintain(queryparameters.value).then((response) => {
+  var cq = cloneDeep(queryparameters.value);
+  var query = proxy.addDateRange(cq, qdate.value);
+  if (query.status == "0") {
+    delete query.status;
+  }
+  if (query.searchkey != undefined && query.searchkey !== "") {
+    query.params["searchkey"] = query.searchkey;
+  }
+  if (query.taskDeptRange != undefined) {
+    query.taskDeptRange = query.taskDeptRange.join(",");
+  }
+
+  listMaintain(query).then((response) => {
     tableData.value = response.rows.map((i) => {
       i.ext1 = JSON.parse(i.ext1);
       return i;
@@ -786,7 +688,7 @@ function setdatakey(dept) {
   return dept;
 }
 
-onMounted(() => {});
+onMounted(() => { });
 
 {
   listFacilities().then((res) => {
@@ -848,6 +750,7 @@ onBeforeRouteLeave((to, from, next) => {
   border-radius: 5px;
   min-height: 80vh;
   padding: 15px 10px;
+
   .eltable {
     border: 1px solid #e5e9f2;
     border-radius: 5px;

+ 2 - 2
vite.config.js

@@ -38,8 +38,8 @@ export default defineConfig(({ mode, command }) => {
             proxy: {
                 // 'http://nnbpbg.xt.wenhq.top:8083'
                 "/dev-api": {
-                    target: "http://localhost:8080/api",
-                    // target:"http://nnbpbg.xt.wenhq.top:8083/api",
+                    // target: "http://localhost:8080/api",
+                    target:"http://nnbpbg.xt.wenhq.top:8083/api",
                     changeOrigin: true,
                     rewrite: (p) => p.replace(/^\/dev-api/, ""),
                 },