2545307760@qq.com 1 рік тому
батько
коміт
a94e096a7e

+ 3 - 4
web/src/api/node.js

@@ -8,11 +8,10 @@ export const getAllNode = () => {
   })
 }
 // 按审批人查询节点
-export const getApproverNode = (params) => {
+export const getApproverNode = (approverId) => {
   return service({
-    url: '/node/QueryNodeByApproverId',
-    method: 'GET',
-    params
+    url: '/node/queryNodeByApproverId?approverId=' + approverId,
+    method: 'GET'
   })
 }
 

+ 11 - 3
web/src/pinia/node/node.js

@@ -1,6 +1,6 @@
 import { defineStore } from 'pinia'
 import { reactive } from 'vue'
-import { getNodeList } from '@/api/node'
+import { getNodeList, getApproverNode } from '@/api/node'
 export const nodeData = defineStore('node', () => {
   const nodeList = reactive([])
   const nodeListCondition = reactive({
@@ -10,14 +10,22 @@ export const nodeData = defineStore('node', () => {
   const queryNodeList = () => {
     getNodeList(nodeListCondition).then(res => {
       if (res.code === 0) {
-        console.log('节点列表', res.data)
         nodeList.length = 0
         nodeList.push(...res.data.list)
       }
     })
   }
+  const queryApproverNode = (condition) => {
+    getApproverNode(condition).then(res => {
+      if (res.code === 0) {
+        nodeList.length = 0
+        nodeList.push(...res.data)
+      }
+    })
+  }
   return {
     nodeList,
-    queryNodeList
+    queryNodeList,
+    queryApproverNode
   }
 })

+ 87 - 51
web/src/view/approve/flowManage/components/nodeManage.vue

@@ -11,24 +11,17 @@
               placeholder="请选择审核人员"
               filterable
               clearable
-              @click="changeApprover"
+              @change="changeApprover"
               @clear="clearApprover"
             >
               <el-option
                 v-for="item in approverList"
                 :key="item.ID"
-                :label="item.user.nickName"
+                :label="item.nickName"
                 :value="item.ID"
               />
             </el-select>
           </el-form-item>
-          <el-form-item>
-            <el-button
-              icon="Search"
-              type="primary"
-              @click="queryApproverNode"
-            >查询</el-button>
-          </el-form-item>
           <el-form-item>
             <el-button
               icon="Plus"
@@ -77,6 +70,13 @@
                   >描述</el-button>
                 </template>
               </el-popover>
+              <el-button
+                text
+                type="primary"
+                icon="Edit"
+                size="small"
+                @click="editNode(scope.row)"
+              >编辑</el-button>
               <el-button
                 text
                 type="primary"
@@ -91,7 +91,7 @@
     </el-row>
     <el-dialog
       v-model="addDialogShow"
-      title="新增节点"
+      :title="identifyType"
     >
       <el-form
         size="large"
@@ -113,7 +113,7 @@
             <el-option
               v-for="item in approverList"
               :key="item.ID"
-              :label="item.user.nickName"
+              :label="item.nickName"
               :value="item.ID"
             />
           </el-select>
@@ -154,11 +154,11 @@
 
 <script setup>
 import { reactive, onMounted, ref } from 'vue'
-import { getApprovePerson } from '@/api/approver'
-import { getApproverNode, delNode } from '@/api/node'
+import { delNode, putNode } from '@/api/node'
 import { nodeData } from '@/pinia/node/node'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import { postNode } from '@/api/node'
+import { getAllUsers } from '@/api/user'
 defineOptions({
   name: 'NodeManage'
 })
@@ -167,45 +167,38 @@ onMounted(() => {
 })
 const point = nodeData()
 // 按审核人查询节点
-const condition = reactive({
-  approverId: 0
-})
 const approverValue = ref('')
 
 const changeApprover = (val) => {
-  condition.approverId = val
   approverList.forEach(item => {
     if (item.ID === val) {
-      approverValue.value = item.user.nickName
+      approverValue.value = item.nickName
+      point.queryApproverNode(val)
     }
   })
 }
 const clearApprover = () => {
-  condition.approverId = 0
+  point.queryNodeList()
   approverValue.value = ''
 }
-const queryApproverNode = () => {
-  getApproverNode(condition).then(res => {
-    if (res.code === 0) {
-      console.log(res)
-    }
-  })
-}
 
 // 审核人列表
 const approverList = reactive([])
 const queryApprover = () => {
-  getApprovePerson().then(res => {
+  getAllUsers().then(res => {
     if (res.code === 0) {
       approverList.length = 0
       approverList.push(...res.data)
+      console.log(res.data)
     }
   })
 }
 
-// 新增节点
+// 新增、修改节点
 const addDialogShow = ref(false)
 const orderList = reactive([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20])
+const identifyType = ref('')
+// 新增、修改节点数据
 const createNodeData = reactive({
   nodeName: '',
   approverId: 0,
@@ -216,37 +209,80 @@ const openAddDialog = () => {
   addDialogShow.value = true
   createNodeData.approverId = approverList[0].ID
   createNodeData.nodeOrder = orderList[0]
+  identifyType.value = '新增节点'
+}
+
+const editId = ref(0)
+const editNode = (row) => {
+  editId.value = row.ID
+  createNodeData.approverId = row.approverId
+  createNodeData.nodeName = row.nodeName
+  createNodeData.nodeOrder = row.nodeOrder
+  createNodeData.nodeDescription = row.nodeDescription
+  addDialogShow.value = true
+  identifyType.value = '修改节点'
 }
+
 const createNode = () => {
-  postNode(createNodeData).then(res => {
-    console.log(res)
-    if (res.code === 0) {
-      point.queryNodeList()
-      ElMessage.success('新增节点成功')
+  if (identifyType.value === '新增节点') {
+    postNode(createNodeData).then(res => {
+      if (res.code === 0) {
+        point.queryNodeList()
+        ElMessage.success('新增节点成功')
+        createNodeData.nodeName = ''
+        createNodeData.approverId = approverList[0].ID
+        createNodeData.nodeOrder = orderList[0]
+        createNodeData.nodeDescription = ''
+        addDialogShow.value = false
+      }
+    })
+  } else {
+    const editData = {
+      id: editId.value,
+      nodeName: createNodeData.nodeName,
+      approverId: createNodeData.approverId,
+      nodeOrder: createNodeData.nodeOrder,
+      nodeDescription: createNodeData.nodeDescription
     }
-  })
+    putNode(editData).then(res => {
+      if (res.code === 0) {
+        ElMessage.success('修改成功')
+        addDialogShow.value = false
+      }
+    })
+  }
 }
 
 // 删除节点
 const deleteNode = (val) => {
-  console.log(val)
-  // ElMessageBox.confirm(
-  //   '确定要删除此费用记录吗?',
-  //   '删除记录',
-  //   {
-  //     confirmButtonText: '删除',
-  //     cancelButtonText: '取消',
-  //     type: 'warning',
-  //   }
-  // )
-  //   .then(() => {})
-  //   .catch(() => {
-  //     ElMessage({
-  //       type: 'info',
-  //       message: '取消删除',
-  //     })
-  //   })
+  ElMessageBox.confirm(
+    '确定要删除此费用记录吗?',
+    '删除记录',
+    {
+      confirmButtonText: '删除',
+      cancelButtonText: '取消',
+      type: 'warning',
+    }
+  )
+    .then(() => {
+      const delId = {
+        id: val.ID
+      }
+      delNode(delId).then(res => {
+        if (res.code === 0) {
+          ElMessage.success('删除成功')
+          queryApprover()
+        }
+      })
+    })
+    .catch(() => {
+      ElMessage({
+        type: 'info',
+        message: '取消删除',
+      })
+    })
 }
+
 </script>
 
 <style scoped>

+ 1 - 1
web/src/view/approve/flowManage/flowManage.vue

@@ -12,7 +12,7 @@
     <el-drawer
       v-model="nodeManageShow"
       title="节点管理"
-      size="50%"
+      size="55%"
     >
       <node-manage />
     </el-drawer>