Jelajahi Sumber

计划规则调整

LAPTOP-16IUEB3P\Lenovo 3 tahun lalu
induk
melakukan
8cb515fbfa

+ 7 - 1
src/components/CommomSelect/dept-select.vue

@@ -11,6 +11,7 @@
     :placeholder="placeholder"
     @input="updateValue"
     v-on="$listeners"
+		@change="changeChoose"
   />
 </template>
 
@@ -46,7 +47,12 @@
       /* 更新选中数据 */
       updateValue (value) {
         this.$emit('input', value);
-      }
+      },
+			
+		changeChoose(val){
+			this.$emit('changeGroup', val);
+		}
+			
     }
   };
 </script>

+ 7 - 1
src/components/CommomSelect/equipment-select.vue

@@ -11,6 +11,7 @@
     :placeholder="placeholder"
     @input="updateValue"
     v-on="$listeners"
+		@change="chooseNode"
   />
 </template>
 
@@ -38,6 +39,7 @@
       async getData () {
         const res = await getTreeByType(1);
         this.treeData = res.data;
+		this.$emit('setRootId', res.data[0].id);
         // this.treeData = this.$util.toTreeData({
         //   data: data || [],
         //   idField: 'id',
@@ -47,7 +49,11 @@
       /* 更新选中数据 */
       updateValue (value) {
         this.$emit('input', value);
-      }
+      },
+			
+		chooseNode(node){
+			this.$emit('changeNode', node);
+		}
     }
   };
 </script>

+ 41 - 50
src/components/addPatrolConfigDialog/index.vue

@@ -56,7 +56,8 @@
                 size="small"
                 style="width: 100%"
                 @change="handleRuleNameChange"
-                 :disabled="isBindPlan"
+                :disabled="isBindPlan"
+				filterable
               >
                 <el-option
                   v-for="item in ruleNameList"
@@ -84,7 +85,7 @@
           </el-col>
 		  <el-col :span="8">
 		    <el-form-item label="设备分类" prop="categoryLevelId">
-		        <ele-tree-select
+		       <!-- <ele-tree-select
 		            clearable
 		            :data="classifyTree"
 		            v-model="addForm.categoryLevelId"
@@ -93,7 +94,8 @@
 		            labelKey="name"
 		            valueKey="id"
 		        	@change="chooseClassify"
-		        />
+		        /> -->
+				<equipmentSelect v-model="addForm.categoryLevelId" @changeNode="chooseClassify" @setRootId="getRootId"/>
 		    </el-form-item>
 		  </el-col>
           <el-col :span="8">
@@ -102,7 +104,8 @@
                 v-model="addForm.categoryId"
                 size="small"
                 style="width: 100%"
-                 :disabled="isBindPlan"
+                :disabled="isBindPlan"
+				filterable
               >
                 <el-option
                   v-for="item in equipmentList"
@@ -121,7 +124,8 @@
                 size="small"
                 clearable
                 style="width: 100%"
-                 :disabled="isBindPlan"
+                :disabled="isBindPlan"
+				filterable
               >
                 <el-option
                   v-for="item in uerList"
@@ -134,7 +138,8 @@
           </el-col>
           <el-col :span="8" v-if="addForm.autoOrder">
             <el-form-item :label="formLabel + '部门'" prop="groupId">
-				<ele-tree-select
+				<deptSelect v-model="addForm.groupId" @changeGroup="searchDeptNodeClick"/>
+				<!-- <ele-tree-select
 						clearable
 						:data="deptData"
 						v-model="addForm.groupId"
@@ -143,7 +148,7 @@
 						labelKey="name"
 						valueKey="id"
 					@change="searchDeptNodeClick"
-				/>
+				/> -->
             </el-form-item>
           </el-col>
           <el-col :span="8" v-if="addForm.autoOrder">
@@ -154,6 +159,7 @@
                 style="width: 100%"
                 :disabled="isBindPlan"
 				multiple 
+				filterable
               >
                 <el-option
                   v-for="item in executorList"
@@ -273,16 +279,16 @@
 				  <el-table-column label="规格型号" align="center" prop="model">
 				  </el-table-column>
 				  <el-table-column label="所需数量" align="center" prop="num">
-					<template slot-scope="scope">
-					  <el-input
-						v-model.number="scope.row.num"
-						size="small"
-						oninput="value=value.replace(/[^\d]/g,'')"
-						style="width: 100%"
-						placeholder="输入数量"
-						@input="changeNum"
-					  ></el-input>
-					</template>
+						<template slot-scope="scope">
+							<el-input
+							v-model.number="scope.row.num"
+							size="small"
+							oninput="value=value.replace(/[^\d]/g,'')"
+							style="width: 100%"
+							placeholder="输入数量"
+							@input="changeNum"
+							></el-input>
+						</template>
 				  </el-table-column>
 				  <el-table-column label="单位" align="center" prop="measuringUnit">
 				  </el-table-column>
@@ -324,16 +330,18 @@
 </template>
 
 <script>
-import RuleItemSelection from '@/components/ruleItemSelection'
-import AddSpareDialog from '@/components/addSpareDialog'
-import {deepClone} from "@/utils"
+import RuleItemSelection from '@/components/ruleItemSelection';
+import AddSpareDialog from '@/components/addSpareDialog';
+import {deepClone} from "@/utils";
   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'
+  import { getTreeByType } from '@/api/classifyManage';
+  import equipmentSelect from '@/components/CommomSelect/equipment-select.vue';
+  import deptSelect from '@/components/CommomSelect/dept-select.vue';
 export default {
   name: 'addPatrolConfigDialog',
-  components: { RuleItemSelection, AddSpareDialog },
+  components: { RuleItemSelection, AddSpareDialog , equipmentSelect , deptSelect },
   props: {
     dialogTitle: {
       type: String,
@@ -429,8 +437,8 @@ export default {
       ruleNameList:[],
 	  addDialogLoading:false,	  
 	  equipmentList:[],	  
-	  deptData:[],   //部门树
-	  classifyTree:[],  //设备分类树
+	  // deptData:[],   //部门树
+	  // classifyTree:[],  //设备分类树
 	  rootId:null,
     }
   },
@@ -448,11 +456,9 @@ export default {
         // 获取审核人列表数据
         this.getUserList()
         // 获取部门
-        this.getDeptList()		
+        // this.getDeptList()		
         // 获取规则名称
-        this._getRuleNameList()
-		// 获取设备分类树
-		this.getClassifyTree()		
+        this._getRuleNameList()	
       }
     },
   },
@@ -557,6 +563,7 @@ export default {
 			    for (let j = 0; j < this.addForm.deviceInfo.length; j++) {
 			      if ( this.planRuleEquiList[i].code === this.addForm.deviceInfo[j].substanceCode ) {
 			        this.planRuleEquiList[i]['sparePart'] = this.addForm.deviceInfo[j]['sparePart']
+					this.$set(this.planRuleEquiList[i],'totalCost',this.addForm.deviceInfo[j]['totalCost'])
 			  		// this.planRuleEquiList[i]['totalCost'] = this.addForm.deviceInfo[j]['totalCost']
 			      }
 			    }
@@ -585,17 +592,7 @@ export default {
         }
       } catch (error) {}
     },
-    // 获取部门列表数据
-    async getDeptList () {
-      try {
-        let list = await listOrganizations()
-        this.deptData = this.$util.toTreeData({
-			  data: list,
-			  idField: 'id',
-			  parentIdField: 'parentId'
-        });
-      } catch (error) {}
-    },
+
     //选择部门(搜索)
     searchDeptNodeClick (info) {
       if (info) {
@@ -607,18 +604,16 @@ export default {
       }
     },
 	
-	// 获取设备分类树
-	async getClassifyTree(){
-		const res = await getTreeByType(1)
-		this.classifyTree = res.data
-		this.rootId = res.data[0].id
-	},
 	
 	// 分类树的选择
 	chooseClassify(val){
 		this.categoryEquipment(val)
 	},
 	
+	getRootId(val){
+		this.rootId = val
+	},
+	
 	// 获取设备分类数据
 	async categoryEquipment(id){
 		const params = {categoryLevelId:id,pageNum:1,size:-1}
@@ -706,7 +701,7 @@ export default {
       } else {
         this.selectedSpare = []
       }
-	  console.log('this.selectedSpare',this.selectedSpare)
+	  // console.log('this.selectedSpare',this.selectedSpare)
     },
 
     // 从备品备件弹窗将数据丢到备品备件配置
@@ -768,12 +763,8 @@ export default {
 			  item => {
 				const { equiLocation, equiLocationCode } = this.getEquiLocation(item)
 			    return {
-			      substanceName: item.name,
 			      substanceId: item.id,
 			      sparePart: item.sparePart?item.sparePart:[],
-				  substanceCode: item.code,
-				  mode: item.category.modelType,
-				  position: equiLocation,
 				  totalCost:item.totalCost
 			    }
 			  }

+ 3 - 1
src/views/rulesManagement/planRules/InventoryConfig/components/inventory-search.vue

@@ -26,7 +26,7 @@
       </el-col>
       <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="盘点部门:">
-          <el-input clearable v-model="where.dep" placeholder="请输入" />
+          <deptSelect v-model="where.groupId" />
         </el-form-item>
 		<el-form-item label="创建时间:">
 			<el-date-picker
@@ -68,7 +68,9 @@
 
 <script>
   import { login } from '@/api/login';
+	import deptSelect from '@/components/CommomSelect/dept-select.vue';
   export default {
+		components: { deptSelect },
     data() {
       // 默认表单数据
       const defaultWhere = {

+ 8 - 27
src/views/rulesManagement/planRules/MaintainConfig/components/maintain-search.vue

@@ -26,15 +26,7 @@
       </el-col>
       <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="执行部门:">
-           <ele-tree-select
-				clearable
-				:data="deptData"
-				v-model="where.groupId"
-				placeholder="请选择"
-				default-expand-all
-				labelKey="name"
-				valueKey="id"
-           	/> 
+           <deptSelect v-model="where.groupId" />
         </el-form-item>
 		<el-form-item label="创建时间:">
 			<el-date-picker
@@ -51,7 +43,7 @@
       </el-col>
       <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="设备分类:">
-          <el-input clearable v-model="where.type" placeholder="请输入" />
+          <equipmentSelect v-model="where.categoryLevelId" />
         </el-form-item>
 		<div class="ele-form-actions">
 			<el-button
@@ -75,9 +67,11 @@
 </template>
 
 <script>
-  import { login } from '@/api/login';
-  import {  listOrganizations } from '@/api/system/organization';
+    import { login } from '@/api/login';
+	import equipmentSelect from '@/components/CommomSelect/equipment-select.vue';
+	import deptSelect from '@/components/CommomSelect/dept-select.vue';
   export default {
+		components: { equipmentSelect , deptSelect },
     data() {
       // 默认表单数据
       const defaultWhere = {
@@ -85,12 +79,12 @@
         ruleName: '',
         code: '',
         groupId:'',
-        status:''
+        status:'',
+		categoryLevelId:''
       };
       return {
         // 表单数据
         where: { ...defaultWhere },
-        deptData:[],   //部门树
         time:[]
       };
     },
@@ -101,7 +95,6 @@
       }
     },
     created(){
-		this.getDeptList()
     },
     methods: {
       /* 搜索 */
@@ -118,18 +111,6 @@
         this.where = { ...this.defaultWhere };
         this.search();
       },
-	  
-	  // 获取部门列表数据
-	  async getDeptList () {
-	    try {
-	      let list = await listOrganizations()
-	      this.deptData = this.$util.toTreeData({
-	  		  data: list,
-	  		  idField: 'id',
-	  		  parentIdField: 'parentId'
-	      });
-	    } catch (error) {}
-	  },
     }
   };
 </script>

+ 20 - 24
src/views/rulesManagement/planRules/PatrolConfig/components/patrol-search.vue

@@ -26,15 +26,7 @@
       </el-col>
       <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="巡点检部门:">
-          <ele-tree-select
-				clearable
-				:data="deptData"
-				v-model="where.groupId"
-				placeholder="请选择"
-				default-expand-all
-				labelKey="name"
-				valueKey="id"
-          	/>         
+		     <deptSelect v-model="where.groupId" />         
         </el-form-item>
 		<el-form-item label="创建时间:">
 			<el-date-picker
@@ -51,7 +43,7 @@
       </el-col>
       <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
         <el-form-item label="设备分类:">
-          <el-input clearable v-model="where.type" placeholder="请输入" />
+			<equipmentSelect v-model="where.categoryLevelId" />
         </el-form-item>
 		<div class="ele-form-actions">
 			<el-button
@@ -76,8 +68,11 @@
 
 <script>
   import { login } from '@/api/login';
-  import {  listOrganizations } from '@/api/system/organization';
+  // import {  listOrganizations } from '@/api/system/organization';
+  import equipmentSelect from '@/components/CommomSelect/equipment-select.vue';
+  import deptSelect from '@/components/CommomSelect/dept-select.vue';
   export default {
+	components: { equipmentSelect , deptSelect },
     data() {
       // 默认表单数据
       const defaultWhere = {
@@ -87,12 +82,13 @@
 		status:'',
 		ruleName:'',
 		startTime:'',
-		endTime:''
+		endTime:'',
+		categoryLevelId:''
       };
       return {
         // 表单数据
         where: { ...defaultWhere },
-        deptData:[],   //部门树
+        // deptData:[],   //部门树
 		time:[]
       };
     },
@@ -103,7 +99,7 @@
       }
     },
     created(){
-		this.getDeptList()
+		// this.getDeptList()
     },
     methods: {
       /* 搜索 */
@@ -122,16 +118,16 @@
       },
 	  
 	  // 获取部门列表数据
-	  async getDeptList () {
-	    try {
-	      let list = await listOrganizations()
-	      this.deptData = this.$util.toTreeData({
-	  		  data: list,
-	  		  idField: 'id',
-	  		  parentIdField: 'parentId'
-	      });
-	    } catch (error) {}
-	  },
+	  // async getDeptList () {
+	  //   try {
+	  //     let list = await listOrganizations()
+	  //     this.deptData = this.$util.toTreeData({
+	  // 		  data: list,
+	  // 		  idField: 'id',
+	  // 		  parentIdField: 'parentId'
+	  //     });
+	  //   } catch (error) {}
+	  // },
     }
   };
 </script>