LAPTOP-16IUEB3P\Lenovo hace 3 años
padre
commit
0738da4cde

+ 11 - 10
src/api/ruleManagement/plan.js

@@ -58,6 +58,17 @@ export async function getInfoById (id) {
   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) {
@@ -97,16 +108,6 @@ export async function getInfoById (id) {
 // }
 
 
-// /**
-//  * 删除事项
-//  */
-// export async function removeRule(data) {
-//   const res = await request.delete('/main/ruleinfo/delete', { data } );
-//   if (res.data.code == 0) {
-//     return res.data.data;
-//   }
-//   return Promise.reject(new Error(res.data.message));
-// }
 
 
 

+ 55 - 38
src/components/addPatrolConfigDialog/index.vue

@@ -83,11 +83,11 @@
             </el-form-item>
           </el-col>
 		  <el-col :span="8">
-		    <el-form-item label="设备分类" prop="classify">
+		    <el-form-item label="设备分类" prop="categoryLevelId">
 		        <ele-tree-select
 		            clearable
 		            :data="classifyTree"
-		            v-model="addForm.classify"
+		            v-model="addForm.categoryLevelId"
 		            placeholder="请选择"
 		            default-expand-all
 		            labelKey="name"
@@ -147,12 +147,13 @@
             </el-form-item>
           </el-col>
           <el-col :span="8" v-if="addForm.autoOrder">
-            <el-form-item :label="formLabel + '人员'" prop="executeId">
+            <el-form-item :label="formLabel + '人员'" prop="executeIdList">
               <el-select
-                v-model="addForm.executeId"
+                v-model="addForm.executeIdList"
                 size="small"
                 style="width: 100%"
-                 :disabled="isBindPlan"
+                :disabled="isBindPlan"
+				multiple 
               >
                 <el-option
                   v-for="item in executorList"
@@ -341,8 +342,7 @@ import AddSpareDialog from '@/components/addSpareDialog'
 // import { mapGetters } from 'vuex'
 // import { getRuleNameList } from '@/api/stockManagement/stocking'
 import {deepClone} from "@/utils"
-
-  import { getRule , getCategory , getAssetList , saveOrUpdate } from '@/api/ruleManagement/plan';
+  import { getRule , getCategory , getAssetList , saveOrUpdate , getInfoById } from '@/api/ruleManagement/plan';
   import {  getDetail , getCode } from '@/api/ruleManagement/matter';
   import {  listOrganizations , getUserPage } from '@/api/system/organization';
   import { getTreeByType } from '@/api/classifyManage'
@@ -395,13 +395,12 @@ export default {
         categoryId: '', // 设备类别id
         approvalUserId: '', // 审核人id
         groupId: '', // 巡点检部门code
-        executeId: '', // 巡点检人员id
+        executeIdList: [], // 巡点检人员id
         executorPhone: '',
         status: 1, // 状态
         remark: '', // 备注
 		urgent:'',
 		bizType:0
-        // planRuleType: 'PATROL', // 计划规则类型 巡点检: 'PATROL', 保养: 'MAINTAIN', 盘点: 'INVENTORY'
       },
 	  // 计划规则设备列表
 	  planRuleEquiList: [
@@ -431,7 +430,7 @@ export default {
         duration: [
           { required: true, message: '请输入计划完成时长', trigger: 'blur' }
         ],
-		classify:[
+		categoryLevelId:[
 			{ required: true, message: '请选择设备分类', trigger: 'change' }
 		],
         categoryId: [
@@ -440,7 +439,7 @@ export default {
         groupId: [
           { required: true, message: '请选择巡点检部门', trigger: 'change' }
         ],
-        executeId: [
+        executeIdList: [
           { required: true, message: '请选择巡点检人员', trigger: 'change' }
         ],
 		urgent: [
@@ -471,12 +470,6 @@ export default {
           : this.dialogTitle.includes('保养')
           ? '保养'
           : '盘点'
-        // const planRuleTypeObj = {
-        //   巡点检: 'PATROL',
-        //   保养: 'MAINTAIN',
-        //   盘点: 'INVENTORY'
-        // }
-        // this.addForm.planRuleType = planRuleTypeObj[this.formLabel]
         // 获取审核人列表数据
         this.getUserList()
         // 获取部门
@@ -485,8 +478,6 @@ export default {
         this._getRuleNameList()
 		// 获取设备分类树
 		this.getClassifyTree()
-		//  获取计划配置单号
-		this.getOrderCode()
 		
       }
     },
@@ -543,6 +534,40 @@ export default {
   created(){
   },
   methods: {
+	async init(row){
+		if(row){
+			this.getInfo(row.id)
+		}else{
+			//  获取计划配置单号
+			this.getOrderCode()
+			this.planRuleEquiList = []
+			this.matterRulesList = []
+		}
+	},  
+	  
+	async getInfo(id){
+		const res = await getInfoById(id)
+		console.log('ree',res)
+		this.addForm = res
+		this.categoryEquipment(res.categoryLevelId)
+		const params = { groupId: res.groupId }
+		this.getUserList(params)
+		this._getEquipmentList(res.categoryId)
+		this._getMatterRulesDetails(res.ruleId)
+		this.$set(this.addForm,'code',res.code)
+		this.$set(this.addForm,'urgent', JSON.stringify(res.urgent) )
+		this.$set(this.addForm,'executeIdList',res.executeId.split(','))
+		this.$set(this.addForm,'imageUrl',{})
+		let keys = []
+		res.deviceInfo.map(item=>{
+			keys.push(item.substanceId)
+		})
+		this.$nextTick(() => {
+		  this.$refs.equiListTree.setCheckedKeys(keys)
+		})
+	},
+	
+	  
     handleClose () {
       this.addPatrolConfigDialog = false
       this.$refs.addFormRef.resetFields()
@@ -560,29 +585,16 @@ export default {
         categoryId: '', // 设备类别
         approvalUserId: '', // 审核人id
         groupId: '', // 巡点检部门code
-        executeId: '', // 巡点检人员id
+        executeIdList: [], // 巡点检人员id
         executorPhone: '',
         status: 1, // 状态
         remark: '', // 备注
 		urgent:'',
 		bizType:0,
-        // planRuleType: 'PATROL', // 计划规则类型 巡点检: 'PATROL', 保养: 'MAINTAIN', 盘点: 'INVENTORY'
-      }
-	  // // 计划规则设备列表
-	  // planRuleEquiList: [
-	  //   {
-	  //     equiTypeId: '', // 设备分类Id
-	  //     equiTypeName: '', // 设备分类名字
-	  //     equiCode: '', // 设备编码 equCode
-	  //     equiName: '', // 设备名称 name
-	  //     equiModel: '', // 设备型号 specifications
-	  //     equiLocation: '', // 设备位置
-	  //     equiLocationCode: '', // 设备位置 code
-	  //     // 设备备品备件 - 巡点检不需要备品备件,保养需要
-	  //     partJson: [],
-	  //     totalCost:0
-	  //   }
-	  // ]
+	  }
+	  this.equipmentList = []
+	  // deptData:[],   //部门树
+	  // classifyTree:[],  //设备分类树
 	  
     },
     // 设备分类选择
@@ -846,13 +858,17 @@ export default {
         if (valid) {
           try {
 		    const selectList = this.$refs.equiListTree.getCheckedNodes();
-			console.log('selectList',selectList)
+			// console.log('selectList',selectList)
 			this.addForm.deviceInfo = selectList.map(
 			  item => {
+				const { equiLocation, equiLocationCode } = this.getEquiLocation(item)
 			    return {
 			      substanceName: item.name,
 			      substanceId: item.id,
 			      sparePart: item.partJson?item.partJson:[],
+				  substanceCode: item.code,
+				  mode: item.category.modelType,
+				  position: equiLocation
 			    }
 			  }
 			)
@@ -883,6 +899,7 @@ export default {
       //             }
       //         }
       //         this.planRuleEquiList = newArr
+	          this.addForm.executeId = this.addForm.executeIdList.join(',')
               const res = await saveOrUpdate(this.addForm)
               if (res) {
                 const type = this.dialogTitle.includes('新增') ? '新增' : '编辑'

+ 37 - 29
src/views/rulesManagement/planRules/PatrolConfig/detail.vue

@@ -11,15 +11,15 @@
         <el-row class="base_info_content">
           <el-col :span="6">
             <span>计划单号:</span>
-            <span>{{ detailsForm.planRuleCode }}</span>
+            <span>{{ detailsForm.code }}</span>
           </el-col>
           <el-col :span="6">
             <span>巡点检名称:</span>
-            <span>{{ detailsForm.planRuleName }}</span>
+            <span>{{ detailsForm.name }}</span>
           </el-col>
           <el-col :span="6">
             <span>巡点检部门:</span>
-            <span>{{ detailsForm.executorDeptName }}</span>
+            <span>{{ detailsForm.groupName }}</span>
           </el-col>
           <el-col :span="6">
             <span>巡点检人员:</span>
@@ -31,16 +31,16 @@
           </el-col>
           <el-col :span="6">
             <span>设备分类:</span>
-            <span>{{ detailsForm.equiTypeName }}</span>
+            <span>{{ detailsForm.categoryName }}</span>
           </el-col>
           <el-col :span="6">
             <span>规则名称:</span>
             <span>{{ detailsForm.ruleName }}</span>
           </el-col>
-          <el-col :span="6">
+<!--          <el-col :span="6">
             <span>创建部门:</span>
             <span>{{ detailsForm.createOrgName }}</span>
-          </el-col>
+          </el-col> -->
           <el-col :span="6">
             <span>创建人:</span>
             <span>{{ detailsForm.createUserName }}</span>
@@ -51,7 +51,7 @@
           </el-col>
           <el-col :span="6">
             <span>审核人:</span>
-            <span>{{ detailsForm.verifyUserName }}</span>
+            <span>{{ detailsForm.approvalUserName }}</span>
           </el-col>
           <el-col :span="24">
             <span>备注:</span>
@@ -65,30 +65,30 @@
         <div class="patrol_equipment_info_content">
           <div
             class="equipment_item"
-            v-for="item in detailsForm.planRuleEquiList"
+            v-for="item in detailsForm.deviceInfo"
             :key="item.id"
           >
             <div class="equipment_info">
               <div class="item_info">
                 <span class="item_label">设备编码</span>
-                <span class="item_value">{{ item.equiCode }}</span>
+                <span class="item_value">{{ item.substanceCode }}</span>
               </div>
               <div class="item_info">
                 <span class="item_label">设备名称</span>
-                <span class="item_value">{{ item.equiName }}</span>
+                <span class="item_value">{{ item.substanceName }}</span>
               </div>
               <div class="item_info">
                 <span class="item_label">设备型号</span>
-                <span class="item_value">{{ item.equiModel }}</span>
+                <span class="item_value">{{ item.mode }}</span>
               </div>
               <div class="item_info">
                 <span class="item_label">设备位置</span>
-                <span class="item_value">{{ item.equiLocation }}</span>
+                <span class="item_value">{{ item.position }}</span>
               </div>
             </div>
             <p>操作事项</p>
             <div class="matter_info">
-              <el-table :data="item.itemJson" border>
+              <el-table :data="matterRulesList" border>
                 <el-table-column label="序号" align="center" width="80">
                   <template slot-scope="scope">
                     <span>{{ scope.$index + 1 }}</span>
@@ -107,41 +107,49 @@
 </template>
 
 <script>
-// import planRules from '@/api/planRules/patrolConfig'
-// import { mapGetters } from 'vuex'
-
+  import { getInfoById } from '@/api/ruleManagement/plan';
+  import {  getDetail } from '@/api/ruleManagement/matter';
 export default {
   name: 'patrolConfigDetail',
   data () {
     return {
       detailsLoading: false,
-      detailsForm: {}
+      detailsForm: {},
+	  matterRulesList:[]
     }
   },
   mounted () {
-    // this.getDetailsData(this.$route.query.id)
+    this.getDetailsData(this.$route.query.id)
   },
   computed: {
-    // ...mapGetters(['equipmentList', 'ruleNameList'])
+		
   },
   methods: {
     // 获取详情数据
-    getDetailsData (id) {
+    async getDetailsData (id) {
       this.detailsLoading = true
-      planRules
-        .getPlanRulesDetails(id)
+      getInfoById(id)
         .then(res => {
-          // console.log(res.data)
           this.detailsLoading = false
-          this.detailsForm = res.data
-          this.detailsForm['equiTypeName'] = this.equipmentList.filter(item => item.id == this.detailsForm.bizTypeId)[0].name
-          this.detailsForm['ruleName'] = this.ruleNameList.filter(item => item.id == this.detailsForm.ruleId)[0].name
-          this.detailsForm.planRuleEquiList = this.detailsForm.planRuleEquiList.filter(item => item.itemJson != null)
+          this.detailsForm = res
+			let arr = []
+			res.execute.map(item=>{
+				 arr.push(item.userName)
+			})
+			 this.$set(this.detailsForm,'executorName',arr.join(','))
+			 this._getMatterRulesDetails(res.ruleId)
         })
         .catch(() => {
           this.detailsLoading = false
         })
-    }
+    },
+	
+	// 封装 - 获取规则下面的详情数据及事项
+	async _getMatterRulesDetails (val) {		
+	  const res = await getDetail(val)
+	   this.matterRulesList = res.ruleItems
+	},
+	
   }
 }
 </script>
@@ -178,7 +186,7 @@ export default {
         }
       }
       .base_info_content {
-        padding: 0 100px;
+        padding: 0 60px;
         font-size: 14px;
         ::v-deep .el-col {
           margin-bottom: 20px;

+ 20 - 7
src/views/rulesManagement/planRules/PatrolConfig/index.vue

@@ -39,7 +39,7 @@
 	       </el-link>
 	       <el-popconfirm
 	         class="ele-action"
-	         title="确定要删除此角色吗?"
+	         title="确定要删除此巡检点配置吗?"
 	         @confirm="remove(row)"
 	       >
 	         <template v-slot:reference>
@@ -65,7 +65,7 @@
 <script>
   import AddPatrolConfigDialog from '@/components/addPatrolConfigDialog'
   import PatrolSearch from './components/patrol-search.vue';
-  import { planConfigPage } from '@/api/ruleManagement/plan'; 
+  import { planConfigPage , removeRule } from '@/api/ruleManagement/plan'; 
   import dictMixins from '@/mixins/dictMixins';
   export default {
 	mixins: [dictMixins],
@@ -207,15 +207,28 @@
 	  openEdit(row){
 		  this.isBindPlan = false
 		  this.$refs.addPatrolConfigDialogRef.addPatrolConfigDialog = true
-		  this.dialogTitle = '新增巡点检计划配置'
+		  this.$refs.addPatrolConfigDialogRef.init(row)
+			if(row){
+				this.dialogTitle = '编辑巡点检计划配置'
+			}else{
+				this.dialogTitle = '新增巡点检计划配置'
+			}
+			
 	  },
 	  
-	  goDetail(){
+	  remove(row){
+		  removeRule([row.id]).then(res=>{
+			  this.$message.success('删除成功!')
+			  this.reload()
+		  })
+	  },
+	  
+	  goDetail({id}){
 		  this.$router.push({
 		    path: '/rulesManagement/planRules/PatrolConfig/detail',
-		    // query: {
-		    //   id
-		    // }
+		    query: {
+		      id
+		    }
 		  })
 	  }