| 
					
				 | 
			
			
				@@ -2,7 +2,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   <div class="mod-menu"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div class="my-menu"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class="menu-head">流程类别</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <div v-for="(item, index) in menuList" :key="index" :class="{'menu-item': true, 'menu-active': active === index}">{{ item }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div v-for="(item, index) in menuList" :key="item.id" @click="choseOne(index, item.id)" :class="{'menu-item': true, 'menu-active': active === index}">{{ item.name }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div class="my-process"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class="template_box"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -32,22 +32,20 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     <el-input v-model="stepForm.step_name" @change='stepnameChange' :disabled="templateAddDisable" placeholder='请输入步骤名称' /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <el-form-item label="审批类型:" prop="step_type"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <el-radio-group v-model="stepForm.step_type" :disabled="templateAddDisable"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <el-radio-group v-model="stepForm.step_type" @change='steptypeChange' :disabled="templateAddDisable"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       <el-radio label="1">会签</el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       <el-radio label="2">或签</el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </el-radio-group> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   <el-form-item label="节点审批员:" prop="step_func"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    <el-select class='typeBox' v-model='stepForm.step_func' placeholder='节点审批员' @change='featureChange' :disabled="templateAddDisable"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                      <el-option v-for='i in featureItem' :key='i.id' :label='i.label' :value='i.value' /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <user-components v-model="stepForm.step_func" :userIds="stepForm.step_func" @change='featureChange' :disabled="templateAddDisable" style="width:100%;"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class='confirmBox'> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-button type='primary' size='medium' style='padding:8px 18px; margin-left:20px; font-size:14px;' @click="replace">重置</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-button type='success' size='medium' style='padding:8px 18px; margin-left:20px; font-size:14px;' @click="confirm">提交</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-button :disabled="list.length == 0" type='primary' size='medium' style='padding:8px 18px; margin-left:20px; font-size:14px;' @click="replace">重置</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-button :disabled="list.length == 0" type='success' size='medium' style='padding:8px 18px; margin-left:20px; font-size:14px;' @click="confirm">提交</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -63,6 +61,8 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // import AddOrUpdate from './menu-add-or-update' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   import draggable from 'vuedraggable' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import { workflowUpdate, workflowList, workflowInfot } from '@/api/workflow' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import UserComponents from '../common/user-components' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     data () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -70,7 +70,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         showEndSteps: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         dragging: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         active: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        menuList: ['订单流程', '采购流程'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        menuList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         list: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         templateAddDisable: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         featureItem: [ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -83,20 +83,22 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           new_or_edit: 'new', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           step_name: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           step_type: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          step_func: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          step_func: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         stepRules: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          step_name: [{ required: true, message: '步骤名不能为空', trigger: 'blur' }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          step_type: [{ required: true, message: '类型不能为空', trigger: 'blur' }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          step_func: [{ required: true, message: '功能不能为空', trigger: 'blur' }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          step_name: [{ required: true, message: '步骤名称不能为空', trigger: 'blur' }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          step_type: [{ required: true, message: '审批类型不能为空', trigger: 'blur' }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          step_func: [{ required: true, message: '节点审批员不能为空', trigger: 'change' }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         index: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         selectValue: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        addOrUpdateVisible: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        addOrUpdateVisible: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        item: {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     components: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      draggable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      draggable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      UserComponents 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     activated () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.getDataList() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -104,31 +106,41 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 获取数据列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       getDataList () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.dataListLoading = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.$http({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          url: this.$http.adornUrl('/user-service/menu/tree'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          method: 'get', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          params: this.$http.adornParams() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }).then(({data}) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        workflowList({ current: 1, size: 100 }).then(({ data }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           if (data.code === '200') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.dataList = JSON.parse(JSON.stringify(data.data).replace(/"list":/g, '"children":').replace(/"children":null/g, '"children":[]')) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            console.log(this.dataList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.menuList = data.data.records 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.workflowInfot(this.menuList[0].id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$message.error(data.msg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      workflowInfot (id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        workflowInfot(id).then(({ data }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (data.code === '200') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.item = data.data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$message.error(data.msg || '未获取到数据') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.dataListLoading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      choseOne (index, id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.active = index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.workflowInfot(id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 添加 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       addBefore (i) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.templateAddDisable = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.stepForm.step_name = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.stepForm.step_type = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.stepForm.step_func = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.stepForm.step_func = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.list.splice(i, 0, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           id: this.id++, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           new_or_edit: 'new', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           step_name: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           step_type: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          step_func: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          step_func: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (this.list.length !== 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.showEndSteps = false 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -148,7 +160,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       addAfter (i) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.stepForm.step_name = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.stepForm.step_type = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.stepForm.step_func = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.stepForm.step_func = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let stepsArrey = document.getElementsByTagName('textarea') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (i === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           i = i + 1 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -162,7 +174,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           new_or_edit: 'new', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           step_name: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           step_type: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          step_func: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          step_func: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       deleteStep (i) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -170,7 +182,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (this.list.length === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.showEndSteps = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.templateAddDisable = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.stepForm = { new_or_edit: 'new', step_name: '', step_type: '', step_func: '' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.stepForm = { new_or_edit: 'new', step_name: '', step_type: '', step_func: [] } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let stepsArrey = document.querySelectorAll('textarea') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (let i = 0; i < stepsArrey.length; i++) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -203,11 +215,12 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       featureChange (selVal) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.list[this.index].step_func = selVal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.stepForm.step_func = selVal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       confirm () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (this.stepForm.step_name === '') return this.$message.error('步骤名称不能为空') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (this.stepForm.step_type === '') return this.$message.error('审批类型不能为空') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (this.stepForm.step_func === '') return this.$message.error('节点审批员不能为空') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (this.stepForm.step_func.length === 0) return this.$message.error('节点审批员不能为空') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let stepsMessage = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let stepsArrey = document.querySelectorAll('textarea') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (let i = 0; i < stepsArrey.length; i++) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -227,13 +240,28 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return this.$message({type: 'error', message: '请填写完整的流程'}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const myList = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.list.forEach((v, index) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          myList.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            assigneeIds: v.step_func, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            assigneeType: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            name: v.step_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type: v.step_type, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sort: index + 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let params = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          id: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          name: this.templateForm.name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          msg: this.templateForm.msg, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          steps: this.list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          name: this.menuList[this.active], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          content: this.menuList[this.active], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          workFlowStepVOs: myList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        console.log(params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        workflowUpdate(params).then(({ data }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (data.code === '200') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$message.error(data.msg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       replace () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.list = [] 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -264,7 +292,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     line-height: 30px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     font-size: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     &:hover{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      background-color: #efefef; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 |