Parcourir la source

修改流程分类

k3sc il y a 4 ans
Parent
commit
df88fec464

+ 62 - 0
src/api/activiti/category/category.js

@@ -0,0 +1,62 @@
+import request from '@/utils/request'
+
+// 查询流程分类列表
+export function listCategory(query) {
+  return request({
+    url: '/activiti/category/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询流程分类详细
+export function getCategory(id) {
+  return request({
+    url: '/activiti/category/' + id,
+    method: 'get'
+  })
+}
+
+// 新增流程分类
+export function addCategory(data) {
+  return request({
+    url: '/activiti/category',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改流程分类
+export function updateCategory(data) {
+  return request({
+    url: '/activiti/category',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除流程分类
+export function delCategory(id) {
+  return request({
+    url: '/activiti/category/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出流程分类
+export function exportCategory(query) {
+  return request({
+    url: '/activiti/category/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 修改流程分类
+export function updateActCategory(data) {
+  return request({
+    url: '/activiti/category/act',
+    method: 'post',
+    params: data
+  })
+}

+ 7 - 0
src/api/activiti/modeler/activiti_list.js

@@ -38,3 +38,10 @@ export function delModeler(id) {
     }
   })
 }
+
+export function getActCategroy() {
+  return request({
+    url: '/activiti/category/listCategory',
+    method: 'get'
+  })
+}

+ 325 - 0
src/views/activiti/category/index.vue

@@ -0,0 +1,325 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['activiti:category:add']"
+        >新增
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['activiti:category:edit']"
+        >修改
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['activiti:category:remove']"
+        >删除
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['activiti:category:export']"
+        >导出
+        </el-button>
+      </el-col>
+    </el-row>
+
+    <el-table
+      v-loading="loading"
+      :data="categoryList"
+      @selection-change="handleSelectionChange"
+      row-key="id"
+      :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
+    >
+      <el-table-column label="分类名称" align="left" prop="categoryName"/>
+      <el-table-column label="排序" align="center" prop="orderBy"/>
+      <el-table-column label="创建时间" align="center" prop="createTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['activiti:category:edit']"
+          >{{scope.row.act?'移动至':'修改'}}
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['activiti:category:remove']"
+            v-if="!scope.row.act"
+          >删除
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改流程分类对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="分类名称" prop="categoryName">
+          <el-input v-model="form.categoryName" placeholder="请输入分类名称"/>
+        </el-form-item>
+        <el-form-item label="排序" prop="orderBy">
+          <el-input v-model="form.orderBy" placeholder="请输入排序"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+    <!-- 添加或修改流程分类对话框 -->
+    <el-dialog title="移动至..." :visible.sync="openChangeCategroy" width="500px" append-to-body>
+      <el-form ref="changeCategroyForm" :model="changeCategroyForm" label-width="80px">
+        <el-form-item v-for="item in categoryList">
+          <el-radio v-model="changeCategroyForm.toCategroyId" :label="item.id">
+            {{item.categoryName}}
+          </el-radio>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitChangeCategroyForm">确 定</el-button>
+        <el-button @click="cancelChangeCategroyForm">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import {
+    listCategory,
+    getCategory,
+    delCategory,
+    addCategory,
+    updateCategory,
+    exportCategory,
+    updateActCategory
+  } from '@/api/activiti/category/category'
+
+  export default {
+    name: 'Category',
+    data() {
+      return {
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 总条数
+        total: 0,
+        // 流程分类表格数据
+        categoryList: [],
+        categoryParentList: [],
+        // 弹出层标题
+        title: '',
+        // 是否显示弹出层
+        open: false,
+        openChangeCategroy: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10
+        },
+        // 表单参数
+        form: {},
+        changeCategroyForm: {
+          id: undefined,
+          toCategroyId: undefined
+        },
+        // 表单校验
+        rules: {
+          categoryName: [
+            { required: true, message: '分类名称不能为空', trigger: 'blur' }
+          ],
+          orderBy: [
+            { required: true, message: '排序不能为空', trigger: 'blur' }
+          ]
+        }
+      }
+    },
+    created() {
+      this.getList()
+    },
+    methods: {
+      /** 查询流程分类列表 */
+      getList() {
+        this.loading = true
+        listCategory(this.queryParams).then(response => {
+          this.categoryList = this.handleTree(response.rows, 'id')
+          this.total = response.total
+          this.loading = false
+        })
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false
+        this.reset()
+      },
+      cancelChangeCategroyForm() {
+        this.openChangeCategroy = false
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          id: undefined,
+          categoryName: undefined,
+          orderBy: undefined,
+          createTime: undefined,
+          createBy: undefined
+        }
+        this.resetForm('form')
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1
+        this.getList()
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm('queryForm')
+        this.handleQuery()
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.id)
+        this.single = selection.length != 1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset()
+        this.open = true
+        this.title = '添加流程分类'
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        if (!row.act) {
+          this.reset()
+          const id = row.id || this.ids
+          getCategory(id).then(response => {
+            this.form = response.data
+            this.open = true
+            this.title = '修改流程分类'
+          })
+        } else {
+          this.changeCategroyForm = {
+            id: row.id,
+            toCategroyId: row.parentId
+          }
+          console.log(this.changeCategroyForm)
+          this.openChangeCategroy = true
+        }
+      },
+      /** 提交按钮 */
+      submitChangeCategroyForm: function() {
+        updateActCategory(this.changeCategroyForm).then(response => {
+          if (response.code === 200) {
+            this.msgSuccess('修改成功')
+            this.openChangeCategroy = false
+            this.getList()
+          }
+        })
+      },
+      /** 提交按钮 */
+      submitForm: function() {
+        this.$refs['form'].validate(valid => {
+          if (valid) {
+            if (this.form.id != undefined) {
+              updateCategory(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess('修改成功')
+                  this.open = false
+                  this.getList()
+                }
+              })
+            } else {
+              addCategory(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess('新增成功')
+                  this.open = false
+                  this.getList()
+                }
+              })
+            }
+          }
+        })
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const ids = row.id || this.ids
+        this.$confirm('是否确认删除流程分类编号为"' + ids + '"的数据项?', '警告', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(function() {
+          return delCategory(ids)
+        }).then(() => {
+          this.getList()
+          this.msgSuccess('删除成功')
+        }).catch(function() {
+        })
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        const queryParams = this.queryParams
+        this.$confirm('是否确认导出所有流程分类数据项?', '警告', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(function() {
+          return exportCategory(queryParams)
+        }).then(response => {
+          this.download(response.msg)
+        }).catch(function() {
+        })
+      }
+    }
+  }
+</script>

+ 12 - 6
src/views/system/process/index.vue

@@ -6,7 +6,7 @@
           <div class="title">流程分类</div>
           <div class="left">
             <ul>
-              <li @click="liucheng(item)" v-for="item in processList">{{item.dictLabel}}</li>
+              <li @click="changeCategroy(item.id)" v-for="item in processList">{{item.categoryName}}</li>
             </ul>
           </div>
         </el-aside>
@@ -170,13 +170,19 @@
 </template>
 
 <script>
-  import { listModeler, deployModeler, suspendOrActiveApply, delModeler } from '@/api/activiti/modeler/activiti_list'
+  import {
+    listModeler,
+    deployModeler,
+    suspendOrActiveApply,
+    delModeler,
+    getActCategroy
+  } from '@/api/activiti/modeler/activiti_list'
   import { getToken } from '@/utils/auth'
 
   export default {
     created() {
-      this.getDicts('Act_ProcessType').then(response => {
-        this.processList = response.data
+      getActCategroy().then(response => {
+        this.processList = response.rows
       })
       this.getList()
     },
@@ -218,8 +224,8 @@
       }
     },
     methods: {
-      liucheng(item) {
-        this.queryParams.activitiCategory = item.dictValue
+      changeCategroy(item) {
+        this.queryParams.activitiCategory = item
         this.handleQuery()
       },
       /** 查询登录日志列表 */