Jelajahi Sumber

收入分析

2545307760@qq.com 1 tahun lalu
induk
melakukan
758de5ee23

+ 17 - 3
web/src/api/approver.js

@@ -19,10 +19,24 @@ export const getApprovePerson = () => {
 // 新增审批人
 export const postApprovePerson = (data) => {
   return service({
-    url: '/approver/queryAllApprover',
-    method: 'GET'
+    url: '/approver/createApprover',
+    method: 'POST',
+    data
   })
 }
 // 修改审批人
-
+export const putApprovePerson = (data) => {
+  return service({
+    url: '/approver/updateApprover',
+    method: 'PUT',
+    data
+  })
+}
 // 删除审批人
+export const deleteApprovePerson = (data) => {
+  return service({
+    url: '/approver/deleteApprover',
+    method: 'DELETE',
+    data
+  })
+}

+ 0 - 0
web/src/api/flow.js


+ 43 - 0
web/src/api/node.js

@@ -0,0 +1,43 @@
+import service from '@/utils/request'
+
+// 查询所有节点
+export const getAllNode = () => {
+  return service({
+    url: '/node/queryAllNode',
+    method: 'GET'
+  })
+}
+// 按审批人查询节点
+export const getApproverNode = (params) => {
+  return service({
+    url: '/node/QueryNodeByApproverId',
+    method: 'GET',
+    params
+  })
+}
+// 新增节点
+export const postNode = (data) => {
+  return service({
+    url: '/node/createNode',
+    method: 'POST',
+    data
+  })
+}
+
+// 修改节点
+export const putNode = (data) => {
+  return service({
+    url: '/node/updateNode',
+    method: 'PUT',
+    data
+  })
+}
+
+// 删除节点
+export const delNode = (data) => {
+  return service({
+    url: '/node/deleteNode',
+    method: 'DELETE',
+    data
+  })
+}

+ 235 - 21
web/src/view/approve/approveList/approveList.vue

@@ -3,53 +3,211 @@
     <el-button
       type="primary"
       icon="Edit"
-      @click="editApproverShow = true"
+      @click="openApproverEdit"
     >审核人编辑</el-button>
     <el-dialog
       v-model="editApproverShow"
       title="编辑审核人"
+      width="40%"
     >
-      <el-form>
-        <el-form-item label="审核人"></el-form-item>
-        <el-form-item label="审核人详情">
-          <el-input v-model="approverInfo.approverDescription"/>
-        </el-form-item>
-        <el-form-item label="审批人权限详情"></el-form-item>
-      </el-form>
+      <el-tabs type="border-card">
+        <el-tab-pane label="新增与修改">
+          <el-alert
+            :title="prompt"
+            type="info"
+            :closable="false"
+          />
+          <el-form
+            label-width="90px"
+            label-position="left"
+            size="large"
+            style="margin-top: 20px"
+          >
+            <el-form-item label="审核人:">
+              <el-select
+                v-model="approverId"
+                placeholder="请选择人员名称"
+                filterable
+                clearable
+                @clear="clearApproverId"
+                @change="changeApproverId"
+              >
+                <el-option
+                  v-for="item in approverList"
+                  :key="item.ID"
+                  :label="item.user.nickName"
+                  :value="item.ID"
+                />
+              </el-select>
+            </el-form-item>
+            <el-form-item label="用户:">
+              <el-select
+                v-model="approverInfo.userId"
+                placeholder="请选择人员名称"
+                filterable
+              >
+                <el-option
+                  v-for="item in userList"
+                  :key="item.ID"
+                  :label="item.nickName"
+                  :value="item.ID"
+                />
+              </el-select>
+            </el-form-item>
+            <el-form-item label="详情:">
+              <el-input
+                v-model="approverInfo.approverDescription"
+                placeholder="请输入审核人详情"
+                clearable
+              />
+            </el-form-item>
+            <el-form-item label="权限详情:">
+              <el-input
+                v-model="approverInfo.approverRightsDescription"
+                placeholder="请输入审核人权限详情"
+                clearable
+              />
+            </el-form-item>
+            <el-row
+              justify="end"
+              style="margin-top: 40px"
+            >
+              <el-col :span="2">
+                <el-button
+                  type="primary"
+                  size="large"
+                  @click="editApprover"
+                >
+                  确认
+                </el-button>
+              </el-col>
+            </el-row>
+          </el-form>
+        </el-tab-pane>
+        <el-tab-pane label="删除">
+          <el-row justify="center">
+            <el-col :span="10">
+              <el-select
+                v-model="delApproverId"
+                placeholder="请选择审核人员"
+                size="large"
+                filterable
+              >
+                <el-option
+                  v-for="item in approverList"
+                  :key="item.ID"
+                  :label="item.user.nickName"
+                  :value="item.ID"
+                />
+              </el-select>
+            </el-col>
+            <el-col
+              :span="3"
+              :offset="2"
+            >
+              <el-button
+                type="primary"
+                size="large"
+                @click="delApprover"
+              >删除</el-button>
+            </el-col>
+          </el-row>
+        </el-tab-pane>
+      </el-tabs>
     </el-dialog>
   </div>
 </template>
 
 <script setup>
 import { onMounted, reactive, ref } from 'vue'
-import { getApprovePerson } from '@/api/approver'
+import { getApprovePerson, postApprovePerson, putApprovePerson, deleteApprovePerson } from '@/api/approver'
+import { getAllUsers } from '@/api/user'
+import { ElMessage, ElMessageBox } from 'element-plus'
+
 defineOptions({
   name: 'ApproveList'
 })
 onMounted(() => {
   // queryApproveList()
   queryApprover()
+  queryAllUsers()
 })
-
-// 新增审核人
-const editApproverShow = ref(false)
-const approverInfo = reactive({
-  userId: 0,
-  approverDescription: '',
-  approverRightsDescription: ''
-})
-// const addApprover = () => {
-//
-// }
 // 查询审核人列表
+const approverList = reactive([])
 const queryApprover = () => {
   getApprovePerson().then(res => {
     if (res.code === 0) {
-      console.log('审核人列表', res.data)
+      approverList.length = 0
+      approverList.push(...res.data)
+      if (approverList.length !== 0) {
+        delApproverId.value = approverList[0].ID
+      } else {
+        delApproverId.value = 0
+      }
     }
   })
 }
+// .................................................................................
+// 新增、编辑审核人
+const prompt = '注意:如果不选择审核人则默认为添加审核人,如果选择审核人则默认修改该审核人信息'
+const approverId = ref('')
+const approverInfo = reactive({
+  id: 0,
+  userId: 0,
+  approverDescription: '',
+  approverRightsDescription: ''
+})
+const editApproverShow = ref(false)
+const editApprover = () => {
+  if (approverId.value === '') {
+    // 新增审批人
+    approverInfo.id = 0
+    const add = {
+      userId: approverInfo.userId,
+      approverDescription: approverInfo.approverDescription,
+      approverRightsDescription: approverInfo.approverRightsDescription
+    }
+    postApprovePerson(add).then(res => {
+      if (res.code === 0) {
+        ElMessage.success('添加成功')
+        queryApprover()
+      }
+    })
+  } else {
+    // 修改审批人
+    approverInfo.id = approverId.value
+    const modify = {
+      id: approverInfo.id,
+      userId: approverInfo.userId,
+      approverDescription: approverInfo.approverDescription,
+      approverRightsDescription: approverInfo.approverRightsDescription
+    }
+    putApprovePerson(modify).then(res => {
+      if (res.code === 0) {
+        ElMessage.success('修改成功')
+        queryApprover()
+      }
+    })
+  }
+}
+const clearApproverId = () => {
+  approverId.value = ''
+  approverInfo.id = 0
+  approverInfo.userId = userList[0].ID
+  approverInfo.approverDescription = ''
+  approverInfo.approverRightsDescription = ''
+}
 
+const changeApproverId = (val) => {
+  approverList.forEach(item => {
+    if (item.ID === val) {
+      approverInfo.userId = item.user.ID
+      approverInfo.approverDescription = item.approverDescription
+      approverInfo.approverRightsDescription = item.approverRightsDescription
+    }
+  })
+}
+// ..............................................................................
 // 获取审批列表
 // const condition = reactive({
 //   page: 1,
@@ -62,6 +220,62 @@ const queryApprover = () => {
 //     }
 //   })
 // }
+
+// 打开审核人编辑窗口
+const openApproverEdit = () => {
+  editApproverShow.value = true
+  approverInfo.userId = userList[0].ID
+  if (approverList.length !== 0) {
+    delApproverId.value = approverList[0].ID
+  }
+}
+// .................................................................................
+// 删除审核人
+const delApproverId = ref(0)
+const delApprover = () => {
+  if (approverList.length === 0) {
+    ElMessage.error('暂无审核人')
+    return
+  }
+  ElMessageBox.confirm(
+    '你确定进行删除此审核人吗?',
+    '删除',
+    {
+      confirmButtonText: '确定',
+      cancelButtonText: '取消',
+      type: 'warning',
+    }
+  )
+    .then(() => {
+      const deleteId = {
+        id: delApproverId.value
+      }
+      deleteApprovePerson(deleteId).then(res => {
+        if (res.code === 0) {
+          ElMessage.success('删除成功')
+          queryApprover()
+          console.log(approverList.length)
+        }
+      })
+    })
+    .catch(() => {
+      ElMessage({
+        type: 'info',
+        message: '取消删除',
+      })
+    })
+}
+// .................................................................................
+// 获取用户列表
+const userList = reactive([])
+const queryAllUsers = () => {
+  getAllUsers().then(res => {
+    if (res.code === 0) {
+      userList.length = 0
+      userList.push(...res.data)
+    }
+  })
+}
 </script>
 
 <style scoped>