From a4d7993d0b44faffe2e548250a9d2bc27c77e521 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期三, 19 七月 2023 12:27:46 +0800
Subject: [PATCH] 集成获取分类接口(包含编码规则码段码值信息)

---
 Source/UBCS-WEB/dist/src/views/work/start.vue |  214 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 214 insertions(+), 0 deletions(-)

diff --git a/Source/UBCS-WEB/dist/src/views/work/start.vue b/Source/UBCS-WEB/dist/src/views/work/start.vue
new file mode 100644
index 0000000..c7a3898
--- /dev/null
+++ b/Source/UBCS-WEB/dist/src/views/work/start.vue
@@ -0,0 +1,214 @@
+<template>
+  <basic-container>
+    <avue-crud :option="option"
+               :table-loading="loading"
+               :data="data"
+               :page.sync="page"
+               v-model="form"
+               ref="crud"
+               @search-change="searchChange"
+               @search-reset="searchReset"
+               @selection-change="selectionChange"
+               @current-change="currentChange"
+               @size-change="sizeChange"
+               @refresh-change="refreshChange"
+               @on-load="onLoad">
+      <template slot="menuLeft">
+        <el-radio-group v-model="mode" size="small">
+          <el-radio-button label="1">閫氱敤娴佺▼</el-radio-button>
+          <el-radio-button label="2">瀹氬埗娴佺▼</el-radio-button>
+        </el-radio-group>
+      </template>
+      <template slot-scope="scope" slot="menu">
+        <el-button type="text"
+                   size="small"
+                   icon="el-icon-video-play"
+                   v-if="permission.work_start_flow"
+                   @click.stop="handleStart(scope.row)">鍙戣捣
+        </el-button>
+        <el-button type="text"
+                   size="small"
+                   icon="el-icon-search"
+                   v-if="permission.work_start_image"
+                   @click.stop="handleImage(scope.row,scope.index)">娴佺▼鍥�
+        </el-button>
+      </template>
+      <template slot-scope="{row}"
+                slot="tenantId">
+        <el-tag>{{row.tenantId===''?'閫氱敤':row.tenantId}}</el-tag>
+      </template>
+      <template slot-scope="{row}"
+                slot="version">
+        <el-tag>v{{row.version}}</el-tag>
+      </template>
+      <template slot-scope="{row}"
+                slot="suspensionState">
+        <el-tag>{{row.suspensionState===1?'婵�娲�':'鎸傝捣'}}</el-tag>
+      </template>
+      <template slot-scope="{row}"
+                slot="category">
+        <el-tag>{{row.categoryName}}</el-tag>
+      </template>
+    </avue-crud>
+    <flow-design is-dialog :is-display.sync="flowBox" :process-definition-id="processDefinitionId"></flow-design>
+  </basic-container>
+</template>
+
+<script>
+  import {mapGetters} from "vuex";
+  import {startList} from "@/api/work/work";
+  import {flowCategory, flowRoute} from "@/util/flow";
+
+  export default {
+    data() {
+      return {
+        form: {},
+        mode: '1',
+        selectionId: '',
+        selectionList: [],
+        query: {},
+        loading: true,
+        page: {
+          pageSize: 10,
+          currentPage: 1,
+          total: 0
+        },
+        processDefinitionId: '',
+        flowBox: false,
+        workBox: false,
+        option: {
+          height: 'auto',
+          calcHeight: 30,
+          tip: false,
+          searchShow: true,
+          searchMenuSpan: 6,
+          border: true,
+          index: true,
+          selection: true,
+          editBtn: false,
+          addBtn: false,
+          viewBtn: false,
+          delBtn: false,
+          menuWidth: 150,
+          dialogWidth: 900,
+          dialogClickModal: false,
+          column: [
+            {
+              label: '绉熸埛缂栧彿',
+              prop: 'tenantId',
+              slot: true,
+              width: 120,
+            },
+            {
+              label: "娴佺▼鍒嗙被",
+              type: "select",
+              row: true,
+              dicUrl: "/api/ubcs-system/dict/dictionary?code=flow",
+              props: {
+                label: "dictValue",
+                value: "dictKey"
+              },
+              dataType: "number",
+              slot: true,
+              prop: "category",
+              search: true,
+              width: 100,
+            },
+            {
+              label: '娴佺▼鏍囪瘑',
+              prop: 'key',
+            },
+            {
+              label: '娴佺▼鍚嶇О',
+              prop: 'name',
+              search: true,
+            },
+            {
+              label: '娴佺▼鐗堟湰',
+              prop: 'version',
+              slot: true,
+              width: 80,
+            },
+            {
+              label: '鐘舵��',
+              prop: 'suspensionState',
+              slot: true,
+              width: 80,
+            },
+            {
+              label: '閮ㄧ讲鏃堕棿',
+              prop: 'deploymentTime',
+              width: 165,
+            },
+          ]
+        },
+        data: []
+      };
+    },
+    watch: {
+      'mode'() {
+        this.onLoad(this.page);
+      }
+    },
+    computed: {
+      ...mapGetters(["permission", "flowRoutes"]),
+      ids() {
+        let ids = [];
+        this.selectionList.forEach(ele => {
+          ids.push(ele.id);
+        });
+        return ids.join(",");
+      },
+    },
+    methods: {
+      searchReset() {
+        this.query = {};
+        this.onLoad(this.page);
+      },
+      searchChange(params, done) {
+        this.query = params;
+        this.page.currentPage = 1;
+        this.onLoad(this.page, params);
+        done();
+      },
+      selectionChange(list) {
+        this.selectionList = list;
+      },
+      selectionClear() {
+        this.selectionList = [];
+        this.$refs.crud.toggleSelection();
+      },
+      handleStart(row) {
+        this.$router.push({path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/form/${row.id}`});
+      },
+      handleImage(row) {
+        this.processDefinitionId = row.id;
+        this.flowBox = true;
+      },
+      currentChange(currentPage) {
+        this.page.currentPage = currentPage;
+      },
+      sizeChange(pageSize) {
+        this.page.pageSize = pageSize;
+      },
+      refreshChange() {
+        this.onLoad(this.page, this.query);
+      },
+      onLoad(page, params = {}) {
+        const query = {
+          ...this.query,
+          category: (params.category) ? flowCategory(params.category) : null,
+          mode: this.mode
+        };
+        this.loading = true;
+        startList(page.currentPage, page.pageSize, Object.assign(params, query)).then(res => {
+          const data = res.data.data;
+          this.page.total = data.total;
+          this.data = data.records;
+          this.loading = false;
+          this.selectionClear();
+        });
+      }
+    }
+  };
+</script>

--
Gitblit v1.9.3