Procházet zdrojové kódy

工作流以及开发配置

he.dujuan před 3 roky
rodič
revize
86babdaaea

+ 2 - 1
src/api/activiti/activiti.js

@@ -18,7 +18,8 @@ export function getAllModel() {
 export function add(data) {
   return request({
     url: 'api/activiti/model/createModel',
-    method: 'get'
+    method: 'POST',
+    data: data
   })
 }
 

+ 15 - 2
src/views/activiti/index.vue

@@ -6,8 +6,14 @@
     </div>
     <!--表格渲染-->
     <el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
-      <el-table-column prop="name" label="NAME" />
-      <el-table-column prop="key" label="KEY" />
+      <el-table-column prop="name" label="模型名称" />
+      <el-table-column prop="key" label="模型key" />
+      <el-table-column prop="metaInfo" label="模型描述">
+        <!--        <template scope="row">-->
+        <!--          {{JSON.parse(row.metaInfo)}}-->
+        <!--          {{row.metaInfo = JSON.parse(row.metaInfo).description}}-->
+        <!--        </template>-->
+      </el-table-column>
       <el-table-column prop="createTime" label="创建日期" />
       <el-table-column prop="lastUpdateTime" label="最后更新时间" />
       <!--   编辑与删除   -->
@@ -50,6 +56,7 @@ import acticitiDialog from './module/activiti-dialog'
 import { Notification } from 'element-ui'
 export default {
   name: 'Activiti',
+  // eslint-disable-next-line vue/no-unused-components
   components: { eHeader, eForm, pagination, acticitiDialog },
   cruds() {
     return CRUD({
@@ -74,6 +81,7 @@ export default {
     ...crudActiviti,
     toEditPage(modelId) {
       this.activitiEditorVisible = true
+      console.log(process.env.VUE_APP_BASE_API + '/static/modeler.html?modelId=' + modelId)
       this.activitiEditorUrl = process.env.VUE_APP_BASE_API + '/static/modeler.html?modelId=' + modelId
     },
     toDeploy(modelId) {
@@ -113,6 +121,11 @@ export default {
     refreshList() {
       console.log('重新刷新页面数据信息')
       this.crud.refresh()
+    },
+    [CRUD.HOOK.afterRefresh]() {
+      for (let i = 0; i < this.crud.data.length; i++) {
+        this.crud.data[i].metaInfo = JSON.parse(this.crud.data[i].metaInfo).description
+      }
     }
   }
 }

+ 85 - 4
src/views/activiti/module/header.vue

@@ -4,20 +4,57 @@
     <!-- <date-range-picker v-model="query.createDateStr" class="date-item" />
     <date-range-picker v-model="query.lastUpdateDateStr" class="date-item" /> -->
     <rrOperation />
-    <el-button class="filter-item" size="mini" type="primary" icon="el-icon-plus" @click="toEditPage()">新增</el-button>
+    <el-button class="filter-item" size="mini" type="primary" icon="el-icon-plus" @click="showForm">新增</el-button>
     <acticitiDialog :page-url.sync="activitiEditorUrl" :activiti-editor-visible.sync="activitiEditorVisible" />
+    <el-dialog
+      append-to-body
+      :close-on-click-modal="false"
+      :before-close="closeForm"
+      :visible="formBoolean"
+      :title="crud.status.title"
+      width="500px"
+    >
+      <el-form label-width="80px" :rules="rules" :model="formLabelAlign">
+        <el-form-item label="模型名称">
+          <el-input v-model="formLabelAlign.name" />
+        </el-form-item>
+        <el-form-item label="模型key">
+          <el-input v-model="formLabelAlign.key" />
+        </el-form-item>
+        <el-form-item label="模型描述">
+          <el-input v-model="formLabelAlign.description" />
+        </el-form-item>
+      </el-form>
+      <div
+        slot="footer"
+        class="dialog-footer"
+      >
+        <el-button
+          type="text"
+          @click="closeForm"
+        >
+          取消
+        </el-button>
+        <el-button
+          type="primary"
+          @click="submitCU"
+        >
+          确认
+        </el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
 <script>
-import { header } from '@crud/crud'
+import { header, crud } from '@crud/crud'
 import rrOperation from '@crud/RR.operation'
 // import DateRangePicker from '@/components/DateRangePicker'
 import { add } from '@/api/activiti/activiti'
 import acticitiDialog from './activiti-dialog'
 export default {
   components: { rrOperation, acticitiDialog/* , DateRangePicker */ },
-  mixins: [header()],
+  mixins: [header(), crud()],
   props: {
     permission: {
       type: Object,
@@ -27,7 +64,24 @@ export default {
   data() {
     return {
       activitiEditorVisible: false,
-      activitiEditorUrl: ''
+      activitiEditorUrl: '',
+      formLabelAlign: {
+        name: '',
+        key: '',
+        description: ''
+      },
+      formBoolean: false,
+      rules: {
+        name: [
+          { required: true, message: '请输入模型名称', trigger: 'blur' }
+        ],
+        key: [
+          { required: true, message: '请输入模型key', trigger: 'blur' }
+        ],
+        description: [
+          { required: false, message: '请输入模型描述', trigger: 'blur' }
+        ]
+      }
     }
   },
   methods: {
@@ -36,6 +90,33 @@ export default {
         this.activitiEditorVisible = true
         this.activitiEditorUrl = process.env.VUE_APP_BASE_API + '/static/modeler.html?modelId=' + modelId
       })
+    },
+    showForm() {
+      // this.crud.status.cu = 1
+      // this.crud.status.add = 1
+      this.formBoolean = true
+    },
+    closeForm() {
+      this.formBoolean = false
+    },
+    submitCU() {
+      if (this.formLabelAlign.name === '' || this.formLabelAlign.key === '') {
+        this.$message.info('模型名称和key不能为空')
+        return false
+      }
+      // eslint-disable-next-line no-unused-vars
+      const map = {
+        'name': this.formLabelAlign.name,
+        'key': this.formLabelAlign.key,
+        'description': this.formLabelAlign.description
+      }
+      add(map).then(res => {
+        this.$message.info('添加成功')
+        this.formBoolean = false
+        this.activitiEditorVisible = true
+        this.activitiEditorUrl = process.env.VUE_APP_BASE_API + '/static/modeler.html?modelId=' + res
+        this.crud.refresh()
+      })
     }
   }
 }

+ 25 - 3
src/views/dm/api/index.vue

@@ -16,6 +16,22 @@
             <el-input v-model="systemNames" :rows="3" type="textarea" style="width: 370px;" />
             <el-button type="primary" @click="openDmSystem(form)">选择子系统</el-button>
           </el-form-item>
+          <el-form-item label="接口状态">
+            <el-select
+              v-model="form.status"
+              clearable
+              placeholder="接口状态"
+              style="width: 370px;"
+              class="filter-item"
+            >
+              <el-option
+                v-for="item in dict.api_status"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              />
+            </el-select>
+          </el-form-item>
           <el-form-item label="接口地址">
             <el-input v-model="form.apiUrl" style="width: 370px;" />
           </el-form-item>
@@ -53,6 +69,11 @@
             {{ row[column.property] && row[column.property].map(item => item.systemName).join(',') }}
           </template>
         </el-table-column>
+        <el-table-column prop="status" label="接口状态">
+          <template slot-scope="{ row }">
+            {{ row.status === '1' ? '禁用' : '启用' }}
+          </template>
+        </el-table-column>
         <el-table-column prop="createTime" label="创建时间" />
         <el-table-column v-if="checkPer(['admin','dmApi:edit','dmApi:del'])" label="操作" width="150px" align="center">
           <template slot-scope="scope">
@@ -73,17 +94,18 @@
 import crudDmApi from '@/api/dm/api/dmApi'
 import { getToken } from '@/utils/auth'
 import CRUD, { presenter, header, form, crud } from '@crud/crud'
-import rrOperation from '@crud/RR.operation'
+// import rrOperation from '@crud/RR.operation'
 import crudOperation from '@crud/CRUD.operation'
 import udOperation from '@crud/UD.operation'
 import pagination from '@crud/Pagination'
 import { mapGetters } from 'vuex'
 import dmSystemTemp from '@/components/DmSystem/index'
 
-const defaultForm = { id: null, apiName: null, apiUrl: null, dmSystems: [], localStorage: {}, createBy: null, updateBy: null, createTime: null, updateTime: null }
+const defaultForm = { id: null, apiName: null, apiUrl: null, dmSystems: [], localStorage: {}, createBy: null, updateBy: null, createTime: null, updateTime: null, status: null }
 export default {
+  dicts: ['api_status'],
   name: 'DmApi',
-  components: { pagination, crudOperation, rrOperation, udOperation, dmSystemTemp },
+  components: { pagination, crudOperation, udOperation, dmSystemTemp },
   mixins: [presenter(), header(), form(defaultForm), crud()],
   cruds() {
     return CRUD({ title: '接口管理', url: 'api/dmApi', idField: 'id', sort: 'id,desc', crudMethod: { ...crudDmApi }})