quwangxin преди 3 години
родител
ревизия
30c904aa9c

+ 10 - 0
src/api/maintenance/patrol_maintenance.js

@@ -0,0 +1,10 @@
+import request from '@/utils/request';
+
+// 更新或保存
+export async function getPage (data) {
+  const res = await request.get('/eam/planmaintenance/page', data);
+  if (res.data.code == 0) {
+    return res.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}

+ 114 - 0
src/api/maintenance/plan.js

@@ -0,0 +1,114 @@
+import request from '@/utils/request';
+
+// 获取规则名称下拉
+export async function getRule (data) {
+	let par = new URLSearchParams(data);
+  const res = await request.get(`/main/ruleinfo/page?` + par, {});
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+// 获取类别信息列表
+export async function getCategory (data) {
+  const res = await request.post(`/main/category/getList` , data);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+
+// 获取实体列表分页
+export async function getAssetList (data) {
+  let par = new URLSearchParams(data);
+  const res = await request.get(`/main/asset/page?` + par, {});
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+// 巡点检计划配置新增或更新 
+export async function saveOrUpdate (data) {
+  const res = await request.post('/eam/planconfig/saveOrUpdate' , data );
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+// 获取巡点检分页数据
+export async function planConfigPage (data) {
+	let par = new URLSearchParams(data);
+  const res = await request.get(`/eam/planconfig/page?`+ par , {} );
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+// 获取详情  
+export async function getInfoById (id) {
+  const res = await request.get(`/eam/planconfig/getById/`+ id , {} );
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+/**
+ * 删除事项
+ */
+export async function removeRule(data) {
+  const res = await request.delete('/eam/planconfig/delete', { data } );
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+
+
+// // 更新或保存
+// export async function saveOrUpdate (data) {
+//   const res = await request.post('/main/ruleinfo/saveOrEdit', data);
+//   if (res.data.code == 0) {
+//     return res.data;
+//   }
+//   return Promise.reject(new Error(res.data.message));
+// }
+
+// // 生成编码
+// export async function getCode (code) {
+//   const res = await request.get(`/main/codemanage/getCode/` + code, {});
+//   if (res.data.code == 0) {
+//     return res.data.data;
+//   }
+//   return Promise.reject(new Error(res.data.message));
+// }
+
+// // 获取规则列表页
+// export async function getList (data) {
+// 	let par = new URLSearchParams(data);
+//   const res = await request.get(`/main/ruleinfo/page?` + par, {});
+//   if (res.data.code == 0) {
+//     return res.data.data;
+//   }
+//   return Promise.reject(new Error(res.data.message));
+// }
+
+// // 获取规则详情
+// export async function getDetail (id) {
+//   const res = await request.get(`/main/ruleinfo/getById/` + id, {});
+//   if (res.data.code == 0) {
+//     return res.data.data;
+//   }
+//   return Promise.reject(new Error(res.data.message));
+// }
+
+
+
+
+
+

+ 6 - 5
src/components/Dict/DictSelection.vue

@@ -2,6 +2,7 @@
   <el-select
     v-model="selectVal"
     size="small"
+    filterable
     style="width: 100%"
     v-bind="$attrs"
     v-on="$listeners"
@@ -41,27 +42,27 @@
         default: 'dictCode'
       }
     },
-    data() {
+    data () {
       return {};
     },
     computed: {
       ...mapGetters(['dict', 'getDict']),
-      dictList() {
+      dictList () {
         return this.dict[dictEnum[this.dictName]] || [];
       },
       selectVal: {
-        set(val) {
+        set (val) {
           this.$emit('updateVal', val);
           // change获取选中项所有数据
 
           this.$emit('itemChange', this.getDict(this.dictName, val));
         },
-        get() {
+        get () {
           return this.value;
         }
       }
     },
-    created() {
+    created () {
       if (this.dictName) {
         this.requestDict(this.dictName);
       }

+ 54 - 50
src/views/maintenance/patrol/plan/components/plan-search.vue

@@ -9,15 +9,18 @@
     <el-row :gutter="15">
       <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="计划单号:">
-          <el-input clearable v-model="where.code" placeholder="请输入" />
+          <el-input clearable v-model="where.planCode" placeholder="请输入" />
+        </el-form-item>
+        <el-form-item label="计划性质:">
+          <el-select clearable filterable v-model="where.cycleType">
+            <el-option label="自动" :value="1"></el-option>
+            <el-option label="手动" :value="2"></el-option>
+          </el-select>
         </el-form-item>
-		<el-form-item label="计划性质:">
-			<el-input clearable v-model="where.name" placeholder="请输入" />
-		</el-form-item>
       </el-col>
       <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="计划名称:">
-          <el-input clearable v-model="where.name" placeholder="请输入" />
+          <el-input clearable v-model="where.planName" placeholder="请输入" />
         </el-form-item>
         <el-form-item label="设备分类:">
           <DictSelection dictName="规则状态" clearable v-model="where.staus">
@@ -28,39 +31,41 @@
         <el-form-item label="规则名称:">
           <el-input clearable v-model="where.dep" placeholder="请输入" />
         </el-form-item>
-		<el-form-item label="生成时间:">
-			<el-date-picker
-				v-model="where.time"
-				type="daterange"
-				range-separator="至"
-				start-placeholder="开始日期"
-				end-placeholder="结束日期"
-				value-format="yyyy-MM-dd HH:mm:ss"
-				:default-time="['00:00:00', '23:59:59']"
-			  >
-			</el-date-picker>
-		</el-form-item>
+        <el-form-item label="生成时间:">
+          <el-date-picker
+            v-model="where.time"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            :default-time="['00:00:00', '23:59:59']"
+          >
+          </el-date-picker>
+        </el-form-item>
       </el-col>
       <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="状态:">
           <el-input clearable v-model="where.texture" placeholder="请输入" />
         </el-form-item>
-		<div class="ele-form-actions">
-			<el-button
-				type="primary"
-				icon="el-icon-search"
-				class="ele-btn-icon"
-				@click="search"
-				size="small"
-			>
-				查询
-			</el-button>
-			 <el-button @click="reset"
-				 icon="el-icon-refresh-left"
-				 size="small"
-				 type="primary"
-			 >重置</el-button>
-		</div>
+        <div class="ele-form-actions">
+          <el-button
+            type="primary"
+            icon="el-icon-search"
+            class="ele-btn-icon"
+            @click="search"
+            size="small"
+          >
+            查询
+          </el-button>
+          <el-button
+            @click="reset"
+            icon="el-icon-refresh-left"
+            size="small"
+            type="primary"
+            >重置</el-button
+          >
+        </div>
       </el-col>
     </el-row>
   </el-form>
@@ -69,36 +74,35 @@
 <script>
   import { login } from '@/api/login';
   export default {
-    data() {
+    data () {
       // 默认表单数据
       const defaultWhere = {
-        name: '',
-        code: '',
-        fixCode:'',
-        ownershipGroupId:''
+        planName: '',
+        planCode: '',
+        fixCode: '',
+        ownershipGroupId: ''
       };
       return {
         // 表单数据
         where: { ...defaultWhere },
-        treeData:[]
+        treeData: []
       };
     },
     computed: {
       // 是否开启响应式布局
-      styleResponsive() {
+      styleResponsive () {
         return this.$store.state.theme.styleResponsive;
       }
     },
-    created(){
-    },
+    created () {},
     methods: {
       /* 搜索 */
-      search() {
+      search () {
         console.log(this.where);
         this.$emit('search', this.where);
       },
       /*  重置 */
-      reset() {
+      reset () {
         this.where = { ...this.defaultWhere };
         this.search();
       }
@@ -106,9 +110,9 @@
   };
 </script>
 <style lang="scss" scoped>
-    .ele-form-actions{
-		display:flex;
-		align-items: center;
-		justify-content: flex-end;
-	}
-</style>
+  .ele-form-actions {
+    display: flex;
+    align-items: center;
+    justify-content: flex-end;
+  }
+</style>

+ 157 - 163
src/views/maintenance/patrol/plan/index.vue

@@ -1,36 +1,35 @@
 <template>
   <div class="ele-body">
-     <el-card shadow="never" v-loading="loading">
-	   <plan-search @search="reload">
-	   </plan-search>
-	   <!-- 数据表格 -->
-	   <ele-pro-table
-	     ref="table"
-	     :columns="columns"
-	     :datasource="datasource"
-	     cache-key="systemRoleTable"
-	   >
-	     <!-- 表头工具栏 -->
-	     <template v-slot:toolbar>
-	       <el-button
-	         size="small"
-	         type="primary"
-	         icon="el-icon-plus"
-	         class="ele-btn-icon"
-	         @click="openEdit()"
-	       >
-	         新建临时计划
-	       </el-button>
-		   <el-button
-		     size="small"
-		     type="primary"
-		     class="ele-btn-icon"
-		     @click="goDetail()"
-		   >
-		     详情
-		   </el-button>
-	     </template>
-<!-- 	     <template v-slot:enable="{ row }">
+    <el-card shadow="never" v-loading="loading">
+      <plan-search @search="reload"> </plan-search>
+      <!-- 数据表格 -->
+      <ele-pro-table
+        ref="table"
+        :columns="columns"
+        :datasource="datasource"
+        cache-key="systemRoleTable"
+      >
+        <!-- 表头工具栏 -->
+        <template v-slot:toolbar>
+          <el-button
+            size="small"
+            type="primary"
+            icon="el-icon-plus"
+            class="ele-btn-icon"
+            @click="openEdit()"
+          >
+            新建临时计划
+          </el-button>
+          <el-button
+            size="small"
+            type="primary"
+            class="ele-btn-icon"
+            @click="goDetail()"
+          >
+            详情
+          </el-button>
+        </template>
+        <!-- 	     <template v-slot:enable="{ row }">
 	       <el-switch
 	         v-model="row.enable"
 	         active-color="#13ce66"
@@ -41,21 +40,21 @@
 	       >
 	       </el-switch>
 	     </template> -->
-	     <!-- 操作列 -->
-	     <template v-slot:action="{ row }">
-	       <el-link
-	         type="primary"
-	         :underline="false"
-	         icon="el-icon-edit"
-	         @click="openEdit(row)"
-	       >
-	         撤回
-	       </el-link>
-	     </template>
-	   </ele-pro-table>
-     </el-card>
-	 
-	 <!-- 新建或编辑弹窗 -->
+        <!-- 操作列 -->
+        <template v-slot:action="{ row }">
+          <el-link
+            type="primary"
+            :underline="false"
+            icon="el-icon-edit"
+            @click="openEdit(row)"
+          >
+            撤回
+          </el-link>
+        </template>
+      </ele-pro-table>
+    </el-card>
+
+    <!-- 新建或编辑弹窗 -->
     <AddPatrolPlanDialog
       ref="addPatrolPlanDialogRef"
       :dialogTitle="dialogTitle"
@@ -65,120 +64,118 @@
 </template>
 
 <script>
-  import AddPatrolPlanDialog from '@/components/addPatrolPlanDialog'
+  import AddPatrolPlanDialog from '@/components/addPatrolPlanDialog';
   import PlanSearch from './components/plan-search.vue';
-  import { pageRoles } from '@/api/system/role'; 
+  import { getPage } from '@/api/maintenance/patrol_maintenance';
   export default {
     components: {
       PlanSearch,
-	    AddPatrolPlanDialog
+      AddPatrolPlanDialog
     },
     data () {
       return {
-		// 表格列配置
-		columns: [
-		  {
-		    columnKey: 'index',
-		    label: '序号',
-		    type: 'index',
-		    width: 55,
-		    align: 'center',
-		    showOverflowTooltip: true,
-		    fixed: 'left'
-		  },
-		  {
-		    prop: 'code',
-		    label: '计划单号',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'groupId',
-		    label: '计划名称',
-		    align: 'center',
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'enable',
-		    label: '计划规则',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    slot: 'enable',
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'name',
-		    label: '设备分类',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'cycle',
-		    label: '设备性质',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-			{
-			  prop: 'auto',
-			  label: '状态',
-			  align: 'center',	
-			  showOverflowTooltip: true,
-			  minWidth: 110
-			},
-			{
-			  prop: 'status',
-			  label: '审批人',
-			  align: 'center',	
-			  showOverflowTooltip: true,
-			  minWidth: 110
-			},
-		  {
-		    prop: 'creater',
-		    label: '创建人',
-		    align: 'center',	
-		    showOverflowTooltip: true,
-		    minWidth: 110
-		  },
-		  {
-		    prop: 'createTime',
-		    label: '生成时间',
-		    align: 'center',
-		    showOverflowTooltip: true,
-		    minWidth: 110,
-		    formatter: (_row, _column, cellValue) => {
-		      return this.$util.toDateString(cellValue);
-		    }
-		  },
-		  {
-		    columnKey: 'action',
-		    label: '操作',
-		    width: 230,
-		    align: 'center',
-		    resizable: false,
-		    slot: 'action',
-		    showOverflowTooltip: true
-		  }
-		],
+        // 表格列配置
+        columns: [
+          {
+            columnKey: 'index',
+            label: '序号',
+            type: 'index',
+            width: 55,
+            align: 'center',
+            showOverflowTooltip: true,
+            fixed: 'left'
+          },
+          {
+            prop: 'code',
+            label: '计划单号',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'groupId',
+            label: '计划名称',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'enable',
+            label: '计划规则',
+            align: 'center',
+            showOverflowTooltip: true,
+            slot: 'enable',
+            minWidth: 110
+          },
+          {
+            prop: 'name',
+            label: '设备分类',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'cycle',
+            label: '设备性质',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'auto',
+            label: '状态',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'status',
+            label: '审批人',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'creater',
+            label: '创建人',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: 'createTime',
+            label: '生成时间',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110,
+            formatter: (_row, _column, cellValue) => {
+              return this.$util.toDateString(cellValue);
+            }
+          },
+          {
+            columnKey: 'action',
+            label: '操作',
+            width: 230,
+            align: 'center',
+            resizable: false,
+            slot: 'action',
+            showOverflowTooltip: true
+          }
+        ],
         // 加载状态
         loading: false,
         pageType: 'add',
         dialogTitle: '',
-		isBindPlan:false,
+        isBindPlan: false
       };
     },
-    computed: {
-
-    },
+    computed: {},
     methods: {
       /* 表格数据源 */
-      datasource({ page, limit, where, order }) {
-        return pageRoles({ pageNum: page, size: limit, ...where });
+      datasource ({ page, limit, where, order }) {
+        return getPage({ pageNum: page, size: limit, ...where });
       },
-      async changeEnable(row) {
+      async changeEnable (row) {
         const res = await putRoles(row);
         if (res.code == 0) {
           this.$message({
@@ -190,28 +187,25 @@
         }
       },
       /* 刷新表格 */
-      reload(where) {
+      reload (where) {
         this.$refs.table.reload({ page: 1, where });
       },
-	  
-	  openEdit(row){
-		  this.$refs.addPatrolPlanDialogRef.addPatrolPlanDialog = true
-		  this.dialogTitle = '新增巡点检计划'
-	  },
-	  
-	  goDetail(){
-		  this.$router.push({
-		    path: '/maintenance/patrol/plan/details',
-		    // query: {
-		    //   id
-		    // }
-		  })
-	  }
-	  
+
+      openEdit (row) {
+        this.$refs.addPatrolPlanDialogRef.addPatrolPlanDialog = true;
+        this.dialogTitle = '新增巡点检计划';
+      },
+
+      goDetail () {
+        this.$router.push({
+          path: '/maintenance/patrol/plan/details'
+          // query: {
+          //   id
+          // }
+        });
+      }
     }
   };
 </script>
 
-<style lang="scss" scoped>
-
-</style>
+<style lang="scss" scoped></style>