Jelajahi Sumber

Merge branch 'master' of http://114.242.31.4:3000/zyz/vm_pro

zyz 3 tahun lalu
induk
melakukan
738b5bd0e8

+ 1 - 1
index.html

@@ -5,7 +5,7 @@
   <meta charset="UTF-8">
   <link rel="icon" href="/favicon.ico" />
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <title>element-plus-admin</title>
+  <title>抄表器设备应用平台</title>
 </head>
 
 <body>

+ 25 - 26
src/api/downlinktask/taskremotecfg/index.ts

@@ -1,53 +1,52 @@
-import { TaskRemoteCfg,TaskRemoteCfgQueryParam } from '@/types'
+import { TaskRemoteCfg, TaskRemoteCfgQueryParam } from '@/types'
 import request from '@/until/request'
 
 /**
  * 获取远程配置任务列表
  * @param data TaskRemoteCfgQueryParam
  */
- const QueryTaskRemoteCfgList = (data: TaskRemoteCfgQueryParam) =>
- request({
-    //如何优雅的调用正在找方法
-     //url: '/TaskRemoteCfgAction/list/' + '\'\'' +'/' + '\'\'' + '/' + '\'\'' + '/' + data.page+ '/' +data.rows,
-     url: '/TTaskDownAction/list/' + data.page + '/' + data.rows,
-     method: 'get'
- })
+const QueryTaskRemoteCfgList = (data: TaskRemoteCfgQueryParam) =>
+    request({
+        url: '/TaskRemoteCfgAction/list',
+        method: 'post',
+        data: data
+    })
 
 /**
 * 新增远程配置任务
 * @param data TaskRemoteCfg
 */
 const AddTaskRemoteCfg = (data: TaskRemoteCfg) =>
- request({
-     url: '/TaskRemoteCfgAction/saveTaskRemoteCfg',
-     method: 'post',
-     data: data
- })
+    request({
+        url: '/TaskRemoteCfgAction/saveTaskRemoteCfg',
+        method: 'post',
+        data: data
+    })
 
 /**
 * 编辑远程配置任务
 * @param data TaskRemoteCfg
 */
 const EditTaskRemoteCfg = (data: TaskRemoteCfg) =>
- request({
-     url: '/TaskRemoteCfgAction/updateTaskRemoteCfg',
-     method: 'post',
-     data: data
- })
+    request({
+        url: '/TaskRemoteCfgAction/updateTaskRemoteCfg',
+        method: 'post',
+        data: data
+    })
 
 /**
 * 删除远程配置任务
 * @param  id number
 */
 const DeleteTaskRemoteCfg = (id: number) =>
- request({
-     url: '/TaskRemoteCfgAction/deleteTaskRemoteCfg/' + id,
-     method: 'get',
- })
+    request({
+        url: '/TaskRemoteCfgAction/deleteTaskRemoteCfg/' + id,
+        method: 'get',
+    })
 
 export default {
- QueryTaskRemoteCfgList,
- AddTaskRemoteCfg,
- EditTaskRemoteCfg,
- DeleteTaskRemoteCfg
+    QueryTaskRemoteCfgList,
+    AddTaskRemoteCfg,
+    EditTaskRemoteCfg,
+    DeleteTaskRemoteCfg
 }

+ 3 - 2
src/api/downlinktask/ttaskdown/index.ts

@@ -7,8 +7,9 @@ import request from '@/until/request'
  */
  const QueryTTaskDownList = (data: TTaskDownQueryParam) =>
  request({
-     url: '/TTaskDownAction/list/' + data.page + '/' + data.rows,
-     method: 'get'
+     url: '/TTaskDownAction/list',
+     method: 'post',
+     data: data
  })
 
 /**

+ 3 - 2
src/api/taicbqcfg/index.ts

@@ -7,8 +7,9 @@ import request from '@/until/request'
  */
 const QueryTAicbqCfgList = (data: TAicbqCfgQueryParam) =>
     request({
-        url: '/TAicbqCfgAction/list/' + data.page + '/' + data.rows,
-        method: 'get'
+        url: '/TAicbqCfgAction/list',
+        method: 'post',
+        data: data
     })
 
 /**

+ 2 - 0
src/types/api/downlinktask/ttaskdown/index.ts

@@ -6,6 +6,8 @@ import { PageQueryParam } from '@/types/api/base';
 export interface TTaskDownQueryParam extends PageQueryParam {
     deviceSn?:string,
     stationCode?: string;
+    taskType?:string;
+    taskLevel?:number;
     finishedFlag?:string;
     createTimeStart?:Date;
     createTimeEnd?:Date;

+ 72 - 65
src/views/downlinktask/taskremotecfg/index.vue

@@ -1,29 +1,29 @@
 <template>
   <div>
     <el-form ref="queryFormRef" :model="queryParams" :inline="true">
-      <el-form-item label="设备SN">
-        <el-input v-model="queryParams.deviceSn" placeholder="设备SN" size="small" style="max-width:110px;" />
+      <el-form-item label="设备SN:">
+        <el-input v-model="queryParams.deviceSn" placeholder="设备SN" size="small" style="max-width:110px;" maxlength="11"/>
       </el-form-item>
-      <el-form-item label="遥测站编码">
-        <el-input v-model="queryParams.stationCode" placeholder="遥测站编码" size="small" style="max-width:100px;" />
+      <el-form-item label="遥测站编码:" style="margin-left: 10px;">
+        <el-input v-model="queryParams.stationCode" placeholder="遥测站编码" size="small" style="max-width:100px;" maxlength="10"/>
       </el-form-item>
-      <el-form-item label="任务状态" style="margin-left: 10px;">
+      <el-form-item label="任务状态:" style="margin-left: 10px;">
         <el-select v-model="queryParams.finishedFlag" class="filter-item" placeholder="任务状态" size="small"
           style="max-width: 150px;">
           <el-option v-for="(key, value) in finishedFlagMap" :key="key" :label="key" :value="value" />
         </el-select>
       </el-form-item>
-      <el-form-item label="创建日期" style="margin-left: 10px;">
+      <el-form-item label="创建日期:" style="margin-left: 10px;">
         <el-config-provider :locale="locale">
-          <el-date-picker v-model="queryParams.createTimeStart" type="date" placeholder="选择开始日期" :shortcuts="shortcuts"
-            size="small" style="max-width: 150px;" />
+          <el-date-picker v-model="queryParams.createTimeStart" type="date" placeholder="选择开始日期" :shortcuts="shortcuts"
+            value-format="YYYY-MM-DD 00:00:00" size="small" style="max-width: 150px;" />
         </el-config-provider>
       </el-form-item>
 
       <el-form-item>
         <el-config-provider :locale="locale">
-          <el-date-picker v-model="queryParams.createTimeEnd" type="date" placeholder="选择结束日期" :shortcuts="shortcuts"
-            size="small" style="max-width: 150px;" />
+          <el-date-picker v-model="queryParams.createTimeEnd" type="date" placeholder="选择结束日期" :shortcuts="shortcuts"
+            value-format="YYYY-MM-DD 23:59:59" size="small" style="max-width: 150px;" />
         </el-config-provider>
       </el-form-item>
 
@@ -45,27 +45,28 @@
         <template #default="props">
           <div m="4">
             <p m="t-0 b-2" v-if="props.row.stationCode != null">遥测站编码: {{ props.row.stationCode }}</p>
-            <p m="t-0 b-2" v-if="props.row.ip1Port1 != null">通道1地址:: {{ props.row.ip1Port1 }}</p>
-            <p m="t-0 b-2" v-if="props.row.ip2Port2 != null">通道2地址:: {{ props.row.ip2Port2 }}</p>
-            <p m="t-0 b-2" v-if="props.row.ip3Port3 != null">通道3地址:: {{ props.row.ip3Port3 }}</p>
-            <p m="t-0 b-2" v-if="props.row.ip4Port4 != null">通道4地址:: {{ props.row.ip4Port4 }}</p>
+            <p m="t-0 b-2" v-if="props.row.ip1Port1 != null">通道1地址: {{ props.row.ip1Port1 }}</p>
+            <p m="t-0 b-2" v-if="props.row.ip2Port2 != null">通道2地址: {{ props.row.ip2Port2 }}</p>
+            <p m="t-0 b-2" v-if="props.row.ip3Port3 != null">通道3地址: {{ props.row.ip3Port3 }}</p>
+            <p m="t-0 b-2" v-if="props.row.ip4Port4 != null">通道4地址: {{ props.row.ip4Port4 }}</p>
             <p m="t-0 b-2" v-if="props.row.domainNamePort != null">紧急域名及端口: {{ props.row.domainNamePort }}</p>
             <p m="t-0 b-2" v-if="props.row.dnType != null">水表口径: {{ props.row.dnType }}</p>
             <p m="t-0 b-2" v-if="props.row.digitNum != null">数字个数: {{ props.row.digitNum }}</p>
             <p m="t-0 b-2" v-if="props.row.uintType != null">水表尾数单位: {{ props.row.uintType }}</p>
-            <p m="t-0 b-2" v-if="props.row.setupDir != null">安装方向: {{ props.row.setupDir=='0'?'正向':'反向' }}</p>
+            <p m="t-0 b-2" v-if="props.row.setupDir != null">安装方向: {{ props.row.setupDir == '0' ? '正向' : '反向' }}</p>
             <p m="t-0 b-2" v-if="props.row.sampleInterval != null">采样间隔: {{ props.row.sampleInterval }} 分钟</p>
             <p m="t-0 b-2" v-if="props.row.upInterval != null">上传服务器间隔: {{ props.row.upInterval }} 分钟</p>
             <p m="t-0 b-2" v-if="props.row.ltSampleInterval != null">低温采样间隔: {{ props.row.ltSampleInterval }} 小时</p>
-            <p m="t-0 b-2" v-if="props.row.workLt != null">工作温度范围: {{ props.row.workLt }} -- {{props.row.workHt}}</p>
+            <p m="t-0 b-2" v-if="props.row.workLt != null">工作温度范围: {{ props.row.workLt }} -- {{ props.row.workHt }}</p>
             <p m="t-0 b-2" v-if="props.row.batAlarmSoc != null">电池报警电量: {{ props.row.batAlarmSoc }} %</p>
             <!-- <p m="t-0 b-2" v-if="props.row.workHt != null">最高工作温度: {{ props.row.workHt }}</p> -->
             <p m="t-0 b-2" v-if="props.row.batAlarmVt != null">电压报警值: {{ props.row.batAlarmVt }}</p>
             <p m="t-0 b-2" v-if="props.row.cpuVersion != null">CPU版本: {{ props.row.cpuVersion }}</p>
             <p m="t-0 b-2" v-if="props.row.tongxunVersion != null">通讯版本: {{ props.row.tongxunVersion }}</p>
-            <p m="t-0 b-2" v-if="props.row.tianxianType != null">天线类型: {{ props.row.tianxianType=='0'?'内置':'外置' }}</p>
-            <p m="t-0 b-2" v-if="props.row.tongxunWay != null">通讯方式: {{ props.row.tongxunWay=='0'?'NB':'CAT1' }}</p>
-            <p m="t-0 b-2" v-if="props.row.networkRegTimeout != null">网络注册超时时间(秒): {{ props.row.networkRegTimeout }} 秒</p>
+            <p m="t-0 b-2" v-if="props.row.tianxianType != null">天线类型: {{ props.row.tianxianType == '0' ? '内置' : '外置' }}</p>
+            <p m="t-0 b-2" v-if="props.row.tongxunWay != null">通讯方式: {{ props.row.tongxunWay == '0' ? 'NB' : 'CAT1' }}</p>
+            <p m="t-0 b-2" v-if="props.row.networkRegTimeout != null">网络注册超时时间(秒): {{ props.row.networkRegTimeout }} 秒
+            </p>
             <p m="t-0 b-2" v-if="props.row.setupYear != null">安装年份: {{ props.row.setupYear }} 年</p>
             <p m="t-0 b-2" v-if="props.row.aiBestConf != null">强制拉回概率: {{ props.row.aiBestConf }}</p>
             <p m="t-0 b-2" v-if="props.row.aiGoodConf != null">识别概率阈值: {{ props.row.aiGoodConf }}</p>
@@ -73,7 +74,8 @@
             <!-- <p m="t-0 b-2" v-if="props.row.aiThreshole3 != null">AI阈值4: {{ props.row.aiThreshole4 }}</p> -->
             <p m="t-0 b-2" v-if="props.row.pwmHz != null">屏闪: {{ props.row.pwmHz }} HZ</p>
             <p m="t-0 b-2" v-if="props.row.pwmDuty != null">占空比: {{ props.row.pwmDuty }}</p>
-            <p m="t-0 b-2" v-if="props.row.flashBrightMin != null">亮度范围: {{ props.row.flashBrightMin }} -- {{props.row.flashBrightMax}}</p>
+            <p m="t-0 b-2" v-if="props.row.flashBrightMin != null">亮度范围: {{ props.row.flashBrightMin }} --
+              {{ props.row.flashBrightMax }}</p>
             <!-- <p m="t-0 b-2" v-if="props.row.flashBrightMax != null">亮度最高值: {{ props.row.flashBrightMax }}</p> -->
             <p m="t-0 b-2" v-if="props.row.upWholeImgWeekRule != null">带图上传周规则: {{
                 jxweekString(props.row.upWholeImgWeekRule)
@@ -87,9 +89,9 @@
       <el-table-column prop="deviceSn" label="设备SN" header-align="center" width="110" />
       <el-table-column prop="stationCode" label="遥测站编码" header-align="center" width="100" />
       <!-- <el-table-column prop="finishedFlag" label="执行状态" header-align="center" min-width="80" /> -->
-      
-      <el-table-column prop="createMan" label="创建人" header-align="center" width="100" align="center"/>
-      <el-table-column prop="createTime" label="创建时间" header-align="center" width="160" align="center"/>
+
+      <el-table-column prop="createMan" label="创建人" header-align="center" width="100" align="center" />
+      <el-table-column prop="createTime" label="创建时间" header-align="center" width="160" align="center" />
       <el-table-column label="执行状态" header-align="center" align="center" width="100">
         <template #default="scope">
           <span v-if="scope.row.finishedFlag === '0'">未执行</span>
@@ -98,7 +100,7 @@
         </template>
       </el-table-column>
 
-      <el-table-column prop="finishedTime" label="完成时间" header-align="center" width="130" align="center"/>
+      <el-table-column prop="finishedTime" label="完成时间" header-align="center" width="130" align="center" />
 
       <el-table-column label="" align="left" width="150">
         <template #default="scope">
@@ -106,7 +108,7 @@
           <el-button type="text" @click="submitDeleteForm(scope.row)">删除</el-button>
         </template>
       </el-table-column>
-      <el-table-column  fixed="right" />
+      <el-table-column fixed="right" />
     </el-table>
 
     <!-- 分页开始 -->
@@ -123,11 +125,12 @@
     <el-dialog :title="adddialog.title" v-model="adddialog.visible" width="1300px" draggable center
       @close="dialogClose">
 
-      <el-form v-if="state.isAdd"  v-model="aiCbqCfgQueryParams" ref="loadFormRef">
+      <el-form v-if="state.isAdd" v-model="aiCbqCfgQueryParams" ref="loadFormRef">
         <el-row>
           <el-col :span="7">
-            <el-form-item label="设备SN:" label-width="150px"  prop="deviceSn">
-              <el-input v-model="aiCbqCfgQueryParams.deviceSn" placeholder="设备SN"  maxlength="11" style="width: 150px;"/>
+            <el-form-item label="设备SN:" label-width="150px" prop="deviceSn">
+              <el-input v-model="aiCbqCfgQueryParams.deviceSn" placeholder="设备SN" maxlength="11"
+                style="width: 150px;" />
             </el-form-item>
           </el-col>
           <el-col :span="1" />
@@ -521,7 +524,7 @@
 
           <el-col :span="7">
             <el-form-item label="天线类型:" label-width="150px">
-             <el-radio-group v-model="formAddData.tianxianType" :disabled="!tianxianType">
+              <el-radio-group v-model="formAddData.tianxianType" :disabled="!tianxianType">
                 <el-radio label="0">内置</el-radio>
                 <el-radio label="1">外置</el-radio>
               </el-radio-group>
@@ -557,7 +560,7 @@
 
       <template #footer style="margin">
         <span class="dialog-footer">
-          <el-button @click="cancel(0)">取消</el-button>
+          <el-button @click="cancel()">取消</el-button>
           <el-button type="primary" @click="submitAddForm">确定</el-button>
         </span>
       </template>
@@ -578,15 +581,13 @@ import moment from "moment";
 let locale = ref(zhCn);
 const loading = ref(false);
 const addFormRef = ref(ElForm); // 属性名必须和元素的ref属性值一致
-const loadFormRef=ref(ElForm);
-
-const value1 = ref(false);
+const loadFormRef = ref(ElForm);
 
 const finishedFlagMap = {
-  0: "全部",
-  1: "未执行",
-  2: "已执行",
-  3:"已完成",
+  9: "全部",
+  0: "未执行",
+  1: "已执行",
+  2: "已完成",
 };
 
 const unitTypeMap = {
@@ -597,7 +598,7 @@ const unitTypeMap = {
 }
 
 const state = reactive({
-  queryParams: { page: 1, rows: 10,deviceSn:'',stationCode:'',finishedFlag: '', createTimeStart: new Date(), createTimeEnd: new Date() } as TaskRemoteCfgQueryParam,
+  queryParams: { page: 1, rows: 10, deviceSn: '', stationCode: '', finishedFlag: '' } as TaskRemoteCfgQueryParam,
   aiCbqCfgQueryParams: { deviceSn: '', stationCode: '', useFlag: '1' } as TAicbqCfgQueryParam,
   total: 0,
   small: false,
@@ -640,7 +641,7 @@ const handleAdd = () => {
 const handleEdit = (row: any) => {
   state.isAdd = false;
   //state.formAddData = row;
-  state.formAddData={ ...row }    //深复制 ?
+  state.formAddData = { ...row }    //深复制 ?
   loadDateByEdit();
   state.adddialog = {
     title: "修改远程配置计划",
@@ -651,6 +652,7 @@ const handleEdit = (row: any) => {
 const queryList = () => {
   loading.value = true;
   state.search_disabled = true;
+
   TaskRemoteCfgAction.QueryTaskRemoteCfgList(state.queryParams)
     .then((result) => {
       if (result.status === 200) {
@@ -668,7 +670,7 @@ const queryList = () => {
     })
     .catch((error) => {
       //请求失败时的操作
-      console.log(error);
+      ElMessage.error(error);
       loading.value = false;
       state.search_disabled = false;
     });
@@ -757,7 +759,7 @@ const submitAddForm = () => {
         weeks += week5.value ? "1" : "0";
         weeks += week6.value ? "1" : "0";
         weeks += week7.value ? "1" : "0";
-        state.submitData.upWholeImgWeekRule = weeks;        
+        state.submitData.upWholeImgWeekRule = weeks;
       }
 
       if (state.isAdd) {
@@ -767,11 +769,11 @@ const submitAddForm = () => {
           const { res, flag, error } = result.data;
           if (flag === "1") {
             ElMessage.success("新增成功");
-            cancel(0);
+            cancel();
             queryList();
           }
           else {
-            ElMessage.success(error);
+            ElMessage.warning(error);
           }
         });
       }
@@ -787,7 +789,7 @@ const submitAddForm = () => {
           const { res, flag, error } = result.data;
           if (flag === "1") {
             ElMessage.success("修改成功");
-            cancel(0);
+            cancel();
             queryList();
           }
           else {
@@ -801,19 +803,23 @@ const submitAddForm = () => {
 
 //修改时回填数据
 const loadDateByEdit = () => {
-  if(state.formAddData!=null&&state.formAddData.upWholeImgWeekRule!=null&&state.formAddData.upWholeImgWeekRule.length==7){
-  week1.value = state.formAddData.upWholeImgWeekRule[0] == "1";
-  week2.value = state.formAddData.upWholeImgWeekRule[1] == "1";
-  week3.value = state.formAddData.upWholeImgWeekRule[2] == "1";
-  week4.value = state.formAddData.upWholeImgWeekRule[3] == "1";
-  week5.value = state.formAddData.upWholeImgWeekRule[4] == "1";
-  week6.value = state.formAddData.upWholeImgWeekRule[5] == "1";
-  week7.value = state.formAddData.upWholeImgWeekRule[6] == "1";
+  if (state.formAddData != null && state.formAddData.upWholeImgWeekRule != null && state.formAddData.upWholeImgWeekRule.length == 7) {
+    week1.value = state.formAddData.upWholeImgWeekRule[0] == "1";
+    week2.value = state.formAddData.upWholeImgWeekRule[1] == "1";
+    week3.value = state.formAddData.upWholeImgWeekRule[2] == "1";
+    week4.value = state.formAddData.upWholeImgWeekRule[3] == "1";
+    week5.value = state.formAddData.upWholeImgWeekRule[4] == "1";
+    week6.value = state.formAddData.upWholeImgWeekRule[5] == "1";
+    week7.value = state.formAddData.upWholeImgWeekRule[6] == "1";
   }
 };
 
-const cancel = (dialogType: number) => {
+const cancel = () => {
+  state.queryParams = { page: 1, rows: 10, deviceSn: '', stationCode: '', finishedFlag: '' } as TaskRemoteCfgQueryParam;
+  state.aiCbqCfgQueryParams = { deviceSn: '', stationCode: '', useFlag: '1' } as TAicbqCfgQueryParam;
   state.formAddData = {} as TaskRemoteCfg;
+  state.formAddCfgData = {} as TAicbqCfg;
+  state.submitData = {} as TaskRemoteCfg;
   state.adddialog.visible = false;
   initData();
   addFormRef.value.resetFields();
@@ -835,7 +841,7 @@ const jxweekString = (weeks: string) => {
 /* 新增面板开始 */
 //根据遥测代码加载配置
 const loadConfig = () => {
-  if(state.aiCbqCfgQueryParams.deviceSn==''||state.aiCbqCfgQueryParams.deviceSn=='undefined'){
+  if (state.aiCbqCfgQueryParams.deviceSn == '' || state.aiCbqCfgQueryParams.deviceSn == 'undefined') {
     return;
   }
 
@@ -846,7 +852,7 @@ const loadConfig = () => {
         const cfgs = res as TAicbqCfg[];
         if (cfgs != null && cfgs.length > 0) {
 
-          state.formAddCfgData = cfgs[0];        
+          state.formAddCfgData = cfgs[0];
           state.formAddData.deviceSn = state.formAddCfgData.deviceSn;
           if (state.formAddCfgData.serverIp1 != null && state.formAddCfgData.serverPort1 != null) {
             state.formAddData.ip1Port1 = state.formAddCfgData.serverIp1 + ':' + state.formAddCfgData.serverPort1;
@@ -908,21 +914,21 @@ const loadConfig = () => {
         }
         else {
           //此处的情况是,数据库中没有该设备的有效配置
-            ElMessageBox.confirm("未查询到设备[" + state.aiCbqCfgQueryParams.deviceSn + "]的配置,是否继续添加? ", "提示", {
+          ElMessageBox.confirm("未查询到设备[" + state.aiCbqCfgQueryParams.deviceSn + "]的配置,是否继续添加? ", "提示", {
             cancelButtonText: "取消",
             confirmButtonText: "确认",
             type: "warning",
             center: true,
-        })
-          .then(() => {
-            state.formAddData.deviceSn=state.aiCbqCfgQueryParams.deviceSn;
           })
-          .catch(() => {
-            ElMessage({
-              type: "info",
-              message: "取消添加设备[" + state.aiCbqCfgQueryParams.deviceSn + "]的远程配置任务!",
+            .then(() => {
+              state.formAddData.deviceSn = state.aiCbqCfgQueryParams.deviceSn;
+            })
+            .catch(() => {
+              ElMessage({
+                type: "info",
+                message: "取消添加设备[" + state.aiCbqCfgQueryParams.deviceSn + "]的远程配置任务!",
+              });
             });
-          });
         }
       }
     }
@@ -960,12 +966,13 @@ const shortcuts = [
 ]
 /* 日期控件结束 */
 
-onMounted(()=>{queryList()});
+onMounted(() => { queryList() });
 
 // onUnmounted(()=>{});
 
 const dialogClose = () => {
   addFormRef.value.resetFields();
+  cancel();
 }
 /* 开始 ---- 记录打开了那一项的配置开关,简单写法,应该可优化 */
 const stationCode = ref(false);

+ 97 - 6
src/views/downlinktask/ttaskdown/index.vue

@@ -1,12 +1,40 @@
 <template>
   <!-- <div class="title">召测配置页面</div> -->
   <el-form ref="queryFormRef" :model="queryParams" :inline="true">
-    <el-form-item label="设备SN">
-      <el-input v-model="queryParams.deviceSn" placeholder="设备SN" width="120px" />
+    <el-form-item label="设备SN:" style="width: 190px;">
+      <el-input v-model="queryParams.deviceSn" placeholder="设备SN" width="90px" size="small" maxlength="11" />
     </el-form-item>
-    <el-form-item label="遥测站">
-      <el-input v-model="queryParams.stationCode" placeholder="遥测站" width="120px" />
+    <el-form-item label="遥测站编码:" style="margin-left: 10px;width: 200px;">
+      <el-input v-model="queryParams.stationCode" placeholder="遥测站编码" width="90px" size="small" maxlength="10"/>
     </el-form-item>
+
+      <el-form-item label="任务类型:" style="margin-left: 10px;width: 220px;">
+        <el-select v-model="queryParams.taskType" class="filter-item" placeholder="安装/召测/配置" size="small"
+          style="max-width: 150px;">
+          <el-option v-for="(key, value) in taskTypeQueryMap" :key="key" :label="key" :value="value" />
+        </el-select>
+      </el-form-item>
+
+      <el-form-item label="任务等级:" style="margin-left: 10px;width: 200px;">
+        <el-select v-model="queryParams.taskLevel" class="filter-item" placeholder="任务等级" size="small">
+          <el-option v-for="item in taskLevelsQuery" :key="item.value" :label="item.label" :value="item.value" />
+        </el-select>
+      </el-form-item>
+
+    <el-form-item label="创建日期:" style="margin-left: 10px;">
+      <el-config-provider :locale="locale">
+        <el-date-picker v-model="queryParams.createTimeStart" type="date" placeholder="选择开始日期" :shortcuts="shortcuts"
+          value-format="YYYY-MM-DD 00:00:00" size="small" style="max-width: 150px;" />
+      </el-config-provider>
+    </el-form-item>
+
+    <el-form-item>
+      <el-config-provider :locale="locale">
+        <el-date-picker v-model="queryParams.createTimeEnd" type="date" placeholder="选择结束日期" :shortcuts="shortcuts"
+          value-format="YYYY-MM-DD 23:59:59" size="small" style="max-width: 150px;" />
+      </el-config-provider>
+    </el-form-item>
+
     <el-form-item>
       <el-button type="primary" class="button" :disabled="state.search_disabled" @click="queryList">
         查询任务
@@ -108,7 +136,7 @@
       </el-form-item>
       <el-form-item label="任务等级:">
         <el-select v-model="formEditData.taskLevel" class="filter-item" placeholder="任务等级" width="120px">
-           <el-option v-for="item in taskLevels" :key="item.value" :label="item.label" :value="item.value" />
+          <el-option v-for="item in taskLevels" :key="item.value" :label="item.label" :value="item.value" />
         </el-select>
       </el-form-item>
     </el-form>
@@ -180,6 +208,14 @@ const taskTypeMap = {
   '4': "审核结果",
 };
 
+const taskTypeQueryMap = {
+  '1': "召测配置",
+  '2': "召测数据",
+  '3': "远程配置",
+  '4': "审核结果",
+  '0': "全部",
+};
+
 
 /* const taskLevelMap = {
   1: "常规任务",
@@ -208,6 +244,30 @@ const taskLevels = [
   },
 ]
 
+//任务等级
+const taskLevelsQuery = [
+  {
+    value: 1,
+    label: '常规任务',
+  },
+  {
+    value: 2,
+    label: '普通任务',
+  },
+  {
+    value: 3,
+    label: '紧急任务',
+  },
+  {
+    value: 99,
+    label: '特权任务',
+  },
+    {
+    value: 0,
+    label: '全部',
+  },
+]
+
 const handleAdd = () => {
   state.adddialog = {
     title: "新增召测任务",
@@ -242,7 +302,7 @@ const queryList = () => {
     })
     .catch((error) => {
       //请求失败时的操作
-      console.log(error);
+      ElMessage.error(error);
       loading.value = false;
       state.search_disabled = false;
     });
@@ -271,6 +331,9 @@ const submitAddForm = () => {
           cancel(0);
           queryList();
         }
+        else{
+          ElMessage.warning(error);
+        }
       });
     }
   });
@@ -309,9 +372,11 @@ const cancel = (dialogType: number) => {
   if (dialogType == 0) {
     //addFormRef.value.resetFields();
     state.formAddData = {} as TTaskDown;
+    state.formEditData= {} as TTaskDown;
     state.adddialog.visible = false;
   } else {
     //editFormRef.value.resetFields();
+    state.formAddData = {} as TTaskDown;
     state.formEditData = {} as TTaskDown;
     state.editdialog.visible = false;
   }
@@ -324,6 +389,32 @@ onMounted(() => {
 
   queryList();
 });
+
+/* 日期控件开始 */
+const size = ref<'' | 'large' | 'small'>('')
+const shortcuts = [
+  {
+    text: '今天',
+    value: new Date(),
+  },
+  {
+    text: '昨天',
+    value: () => {
+      const date = new Date()
+      date.setTime(date.getTime() - 3600 * 1000 * 24)
+      return date
+    },
+  },
+  {
+    text: '前一周',
+    value: () => {
+      const date = new Date()
+      date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
+      return date
+    },
+  },
+]
+/* 日期控件结束 */
 </script>
 
 <style lang="scss" scoped>

+ 13 - 14
src/views/taicbqcfg/index.vue

@@ -2,29 +2,29 @@
   <!-- <div class="title">AI抄表器参数配置</div> -->
   <div>
     <el-form ref="queryFormRef" :model="queryParams" :inline="true">
-      <el-form-item label="设备SN">
-        <el-input v-model="queryParams.deviceSn" placeholder="设备SN" size="small" style="max-width:110px;" />
+      <el-form-item label="设备SN:">
+        <el-input v-model="queryParams.deviceSn" placeholder="设备SN" size="small" style="max-width:110px;" maxlength="11"/>
       </el-form-item>
-      <el-form-item label="遥测站编码">
-        <el-input v-model="queryParams.stationCode" placeholder="遥测站编码" size="small" style="max-width:100px;" />
+      <el-form-item label="遥测站编码:" style="margin-left: 10px;">
+        <el-input v-model="queryParams.stationCode" placeholder="遥测站编码" size="small" style="max-width:100px;" maxlength="10"/>
       </el-form-item>
-      <el-form-item label="数据来源" style="margin-left: 10px;">
+      <el-form-item label="数据来源:" style="margin-left: 10px;">
         <el-select v-model="queryParams.dataFrom" class="filter-item" placeholder="安装/召测/配置" size="small"
           style="max-width: 150px;">
           <el-option v-for="(key, value) in dataFrom" :key="key" :label="key" :value="value" />
         </el-select>
       </el-form-item>
-      <el-form-item label="更新时间" style="margin-left: 10px;">
+      <el-form-item label="创建时间:" style="margin-left: 10px;">
         <el-config-provider :locale="locale">
-          <el-date-picker v-model="queryParams.createTimeStart" type="date" placeholder="选择开始日期" :shortcuts="shortcuts"
-            size="small" style="max-width: 160px;" />
+          <el-date-picker v-model="queryParams.createTimeStart" type="date" placeholder="选择开始日期" :shortcuts="shortcuts"
+            size="small" style="max-width: 160px;" value-format="YYYY-MM-DD 00:00:00" />
         </el-config-provider>
       </el-form-item>
 
       <el-form-item>
         <el-config-provider :locale="locale">
-          <el-date-picker v-model="queryParams.createTimeEnd" type="date" placeholder="选择结束日期" :shortcuts="shortcuts"
-            size="small" style="max-width: 160px;" />
+          <el-date-picker v-model="queryParams.createTimeEnd" type="date" placeholder="选择结束日期" :shortcuts="shortcuts"
+            size="small" style="max-width: 160px;" value-format="YYYY-MM-DD 23:59:59" />
         </el-config-provider>
       </el-form-item>
 
@@ -137,13 +137,12 @@
           <span v-if="scope.row.dataFrom === '1'">设备安装</span>
           <span v-if="scope.row.dataFrom === '2'">配置召测</span>
           <span v-if="scope.row.dataFrom === '3'">远程配置</span>
-          <span v-if="scope.row.dataFrom === '99'">人工录入</span>
         </template>
       </el-table-column>
 
-      <el-table-column fit prop="createTime" label="创建时间" header-align="center" width="110" />
+      <el-table-column fit prop="createTime" label="创建时间" header-align="center" width="160" />
 
-      <el-table-column fit prop="invalidTime" label="失效时间" header-align="center" width="110" />
+      <el-table-column fit prop="invalidTime" label="失效时间" header-align="center" width="160" />
 
       <el-table-column label="是否有效" header-align="center" width="90">
         <template #default="scope">
@@ -177,7 +176,7 @@ const dataFrom = {
   1: "设备安装",
   2: "配置召测",
   3: "远程配置",
-  99: "人工录入",
+  9: "全部",
 };
 
 const state = reactive({