Prechádzať zdrojové kódy

临时首页/隐藏kformdesign的按钮/OA相关暂存进度

lph 1 rok pred
rodič
commit
0f3c7aca6d

+ 6 - 0
zkqy-ui/src/components/updateModule/k-form-design/packages/components/KFormDesign/index.vue

@@ -152,6 +152,8 @@ import { Modal, message } from "ant-design-vue";
 import { revoke, nodeSchema } from "../../utils/index";
 import formItemProperties from "./module/formItemProperties";
 import formProperties from "./module/formProperties";
+import { black } from '@/components/updateModule/bpmn-js/lib/draw/BpmnRenderUtil'
+
 
 export default {
   name: "KFormDesign",
@@ -520,8 +522,12 @@ export default {
     }
   },
   created() {
+    let blackList=['评分','警告提示','HTML','富文本','按钮']
     this.loadState = true;
     nodeSchema.addComputed(this.schemaGroup);
+    this.schemaGroup[0].list = this.schemaGroup[0].list.filter(item => {
+      return !blackList.some(v=>v==item.label)
+    })
   }
 };
 </script>

+ 8 - 1
zkqy-ui/src/components/updateModule/k-form-design/packages/components/KFormDesign/module/formItemProperties.vue

@@ -31,7 +31,7 @@
               :key="item.tableName"
               :label="item.tableComment"
               :value="item.tableName">
-              <span style="float: left">{{ item.tableComment }}</span>
+              <span class="discribe" style="float: left">{{ item.tableComment }}</span>
       <span style="float: right; color: #8492a6; font-size: 13px">{{ item.tableName }}</span>
             </el-option>
           </el-select>
@@ -768,5 +768,12 @@ export default {
   align-items: center;
 
 }
+.discribe{
+  display: block;
+  max-width: 200px;
+  white-space:nowrap;
+  overflow:hidden;
+  text-overflow:ellipsis;
+}
 
 </style>

+ 11 - 1
zkqy-ui/src/components/updateModule/k-form-design/packages/components/KFormDesign/module/formProperties.vue

@@ -22,7 +22,7 @@
               :key="item.tableName"
               :label="item.tableComment"
               :value="item.tableName">
-              <span style="float: left">{{ item.tableComment }}</span>
+              <span class="discribe" style="float: left">{{ item.tableComment }}</span>
       <span style="float: right; color: #8492a6; font-size: 13px">{{ item.tableName }}</span>
             </el-option>
           </el-select>
@@ -249,3 +249,13 @@ sessionStorage.setItem('sqlKey',sqlKey)
   
 };
 </script>
+
+<style lang="scss" scoped>
+.discribe{
+  display: block;
+  max-width: 200px;
+  white-space:nowrap;
+  overflow:hidden;
+  text-overflow:ellipsis;
+}
+</style>

+ 9 - 1
zkqy-ui/src/store/modules/user.js

@@ -11,7 +11,8 @@ const user = {
     roles: [],
     permissions: [],
     tenant: {},
-    dataSource: {}
+    dataSource: {},
+    nickName: "",
   },
 
   mutations: {
@@ -21,6 +22,9 @@ const user = {
     SET_NAME: (state, name) => {
       state.name = name
     },
+    SET_NICKNAME: (state, nickName) => {
+      state.nickName = nickName
+    },
     SET_USER_ID: (state, userId) => {
       state.userId = userId
     },
@@ -46,11 +50,13 @@ const user = {
     Login({ commit }, userInfo) {
       const username = userInfo.username.trim()
       const password = userInfo.password
+
       const code = userInfo.code
       const uuid = userInfo.uuid
       return new Promise((resolve, reject) => {
         login(username, password, code, uuid).then(res => {
           commit('SET_NAME', username)
+
           setToken(res.token)
           commit('SET_TOKEN', res.token)
           resolve()
@@ -65,7 +71,9 @@ const user = {
       return new Promise((resolve, reject) => {
         getInfo().then(res => {
           const user = res.user
+          const nickName = res.user?.nickName
           commit('SET_USER_ID', res.user.userId)
+          commit('SET_NICKNAME', nickName)
           const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
           if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
             commit('SET_ROLES', res.roles)

+ 15 - 270
zkqy-ui/src/views/bussiness/OAMange.vue

@@ -29,11 +29,14 @@
             <el-button
               type="primary"
               size="medium"
-              @click="onSubmit"
+              @click="() => {}"
               icon="el-icon-search"
               >搜索</el-button
             >
             <el-button size="medium" icon="el-icon-refresh">重置</el-button>
+            <el-button type="info" size="medium" @click="toDetail"
+              >详情</el-button
+            >
           </el-form-item>
         </el-form>
       </div>
@@ -43,7 +46,7 @@
           v-loading="loading"
           :data="tableData"
           border
-          @selection-change="handleSelectionChange"
+          @selection-change="() => {}"
         >
           <el-table-column type="selection" width="55" align="center" />
           <el-table-column
@@ -113,17 +116,14 @@
             class-name="small-padding fixed-width"
           >
             <template slot-scope="scope">
-              <el-button
-                @click="handleFlowRecord(scope.row)"
-                type="text"
-                size="small"
+              <el-button @click="(scope) => {}" type="text" size="small"
                 >详情</el-button
               >
-              <el-button @click="handleStop(scope.row)" type="text" size="small"
+              <el-button @click="() => {}" type="text" size="small"
                 >取消申请</el-button
               >
               <el-button
-                @click="handleDelete(scope.row)"
+                @click="() => {}"
                 type="text"
                 size="small"
                 v-hasPermi="['system:deployment:remove']"
@@ -134,13 +134,13 @@
         </el-table>
 
         <!--    分页    -->
-        <pagination
+        <!-- <pagination
           v-show="total > 0"
           :total="total"
           :page.sync="queryParams.pageNum"
           :limit.sync="queryParams.pageSize"
           @pagination="getList"
-        />
+        /> -->
       </div>
     </el-card>
   </div>
@@ -164,6 +164,7 @@ export default {
   dicts: ["bpm_type", "task_process_state"],
   data() {
     return {
+      loading: false,
       row: {}, //当前操作行数据
       myForm: "", //自定义表单组件名
       // 节点弹窗title
@@ -239,269 +240,13 @@ export default {
     };
   },
   computed: {},
-  mounted() {
-    this.getList();
-  },
+  mounted() {},
   methods: {
-    // 获取列表数据
-    getList() {
-      processList(this.queryParams).then((res) => {
-        if (res.code == 200) {
-          this.tableData = res.rows.map((item) => item.resultMap);
-          this.total = res.total;
-          console.log(this.tableData);
-        } else {
-          this.$message.error("网络异常,请稍后再试");
-        }
+    toDetail() {
+      this.$router.push({
+        path: "/processMange/detail",
       });
     },
-    // 获取表单数据
-    async getFormData() {
-      let formData = {};
-      // switch (this.formType) {
-      //   case "dragForm":
-      //     try {
-      //       formData = await this.$refs.addFromRef.getData();
-      //     } catch (error) {
-      //       console.log(error);
-      //       this.$message.error("表单校验异常,请稍后重试");
-      //       return {};
-      //     }
-      //     break;
-      //   case "designForm":
-      //     let temp = await this.$refs.myFormRef.getFormData();
-      //     if (!temp.flag) {
-      //       this.$message.error(temp.msg);
-      //       return {};
-      //     } else {
-      //       formData = temp.data;
-      //     }
-      //     break;
-      //   default:
-      //     break;
-      // }
-      let temp = await this.$refs.myFormRef?.getFormData();
-      if (!temp?.flag) {
-        this.$message.error(temp.msg);
-        return false;
-      } else {
-        formData = temp.data;
-      }
-      return formData;
-    },
-    // 重置弹窗数据
-    resetDialogForm() {
-      this.formType = ""; //表单类型 dragForm:拖拽表单 composeForm:工艺组合表单   designForm:定制表单
-      // k-form-build 数据
-      this.dynamicData = {};
-      this.defaultValue = {};
-      this.jsonData = {};
-    },
-    // 打开运行节点弹窗
-    async opneExecuteNode(row) {
-      this.resetDialogForm();
-      console.log(row);
-      this.nodeTitle = row.benTaskNodeName;
-      // let preFix = row.benTaskNodeName.split("-")[0];
-      let preFix = row.benTaskNodeFormKey;
-      let {
-        benTaskNodeFormKey,
-        benTaskNodeFormType,
-        bepTaskPlanKey,
-        bepTaskKey,
-        bepTaskNodeKey,
-        benTaskProcessKey,
-        benmTaskAutomaticScriptTriggerType,
-        bepTaskNodeNextKey,
-      } = row;
-      // 新的运行逻辑
-      let payLoad = {
-        taskNodeKey: bepTaskNodeNextKey,
-        taskProcessKey: benTaskProcessKey,
-        taskAutomaticScriptTriggerType: benmTaskAutomaticScriptTriggerType,
-        taskPlanKey: bepTaskPlanKey,
-      };
-
-      // let formData = await getProcessNodeFormTemplate(payLoad);
-      // console.log(formData);
-      // if (benTaskNodeFormKey) {
-      //   if (benTaskNodeFormType == "dragForm") {
-      //     let templateInfo = formData.data[0]?.template;
-      //     //拖拽表单
-      //     this.formType = "dragForm";
-      //     this.jsonData = JSON.parse(templateInfo.dfVueTemplate);
-      //     this.tableName = templateInfo.dfTableName;
-      //     if (Object.keys(JSON.parse(templateInfo.dfFormSql)).length) {
-      //       this.dynamicData = JSON.parse(templateInfo.dfFormSql);
-      //     }
-      //     // await this.getDragFormInfo(benTaskNodeFormKey);
-      //   } else if (benTaskNodeFormType == "composeForm") {
-      //     //工艺组合表单
-      //     this.formType = "composeForm";
-      //     this.groupKey = benTaskNodeFormKey;
-      //     let queryPayload = {
-      //       row,
-      //       groupKey: benTaskNodeFormKey,
-      //     };
-      //     this.$nextTick(() => {
-      //       this.$refs.dialogRef.getLists(queryPayload);
-      //     });
-      //   }
-      // } else if (preFix) {
-      //   //定制表单
-      //   this.formType = "designForm";
-      //   this.myForm = preFix;
-      // }
-      //定制表单
-      this.formType = "designForm";
-      this.myForm = preFix;
-      let res = await getProcessNodeFormInfoData(payLoad);
-      if (res.code == 200) {
-        this.formData = res.data;
-      } else {
-        this.$message.error("网络异常,请稍后再试");
-      }
-
-      this.row = row; //记录当前行数据
-      // if (!this.formType) return; //没有表单,直接掉运行逻辑
-      this.open = true; // 打开弹窗
-      this.$nextTick(() => {
-        this.$refs.myFormRef?.resetForm();
-      });
-      // 根据当前节点绑定的表单信息查询对应的表单进行展示
-    },
-    // 运行节点按钮 确认运行回调
-    async executeNode() {
-      let { benTaskNodeKey, bepTaskProcessXmlContent, implementationName } =
-        this.row;
-      let { nodeId, nextNodeId } = this.getNextNodeKey(
-        benTaskNodeKey,
-        bepTaskProcessXmlContent
-      );
-      // 只有完成状态的可以运行
-      if (this.formType == "composeForm") {
-        let res = this.$refs.dialogRef.getComposeFormData();
-        if (!res.isSuccess) {
-          this.$message.warning("非完成状态节点不能运行!");
-          return;
-        }
-      }
-      // return;
-      let formData = await this.getFormData();
-      if (!formData) return;
-      formData.taskPlanKey = this.row.bepTaskPlanKey;
-      let payLoad = {
-        taskProcessKey: this.row.bepTaskKey, //当前任务流程编码
-        taskNodeKey: nodeId, //当前执行节点唯一编码
-        nextNodeKey: nextNodeId, //下一节点编码
-        implementationName: this.row.benmTaskAutomaticScriptTriggerType, //当前节点绑定的脚本名
-        // taskProcessXmlContent: this.row.bepTaskProcessXmlContent, //当前流程xml
-        tableName: this.tableName,
-        formDataMap: JSON.stringify(formData), //自定义表单组件收集的表单数据
-        taskNodeType: this.backExceptionTaskList.includes(
-          this.row.benTaskNodeFormKey
-        )
-          ? "backExceptionTask"
-          : this.row.benTaskNodeType,
-      };
-      let fileXML = new File(
-        [this.row.bepTaskProcessXmlContent],
-        this.row.bepTaskKey + ".bpmn",
-        {
-          type: "text/bpmn",
-        }
-      );
-      const subformData = new FormData();
-      subformData.append("fileXML", fileXML);
-      for (let key in payLoad) {
-        subformData.append(key, payLoad[key] == null ? "" : payLoad[key]);
-      }
-      runProcessNodeExecution(subformData).then((res) => {
-        if (res.code == 200) {
-          this.$message.success("运行成功!");
-          this.getList();
-          this.open = false;
-        }
-      });
-    },
-    // 获取拖拽表单数据
-    async getDragFormInfo(fid) {
-      try {
-        let res = await getForm(fid);
-        console.log(res);
-        if (res.code == 200) {
-          this.jsonData = JSON.parse(res.data.dfVueTemplate);
-          this.tableName = res.data.dfTableName;
-          if (res.data.dfFormSql) {
-            this.dynamicData = JSON.parse(res.data.dfFormSql);
-            console.log(this.dynamicData);
-          }
-        } else {
-          console.log(res);
-          throw new Error(res);
-        }
-      } catch (error) {
-        console.log(error);
-        this.$message.error("网络异常,请稍后再试");
-      }
-    },
-    // 关闭运行节点弹窗
-    closeExecuteNode(row) {
-      this.open = false;
-    },
-    // 获取下一个节点的nodekey
-    getNextNodeKey(nodeKey, xmlStr) {
-      let xmlObj = this.xmlStr2XmlObj(xmlStr);
-      let nodeSequence = getNodeSequence(xmlObj);
-      return nodeSequence.find((item) => item.nodeId == nodeKey) || {};
-    },
-    // xml字符串转xml对象
-    xmlStr2XmlObj(xmlStr) {
-      var xmlObj = {};
-      if (document.all) {
-        var xmlDom = new ActiveXObject("Microsoft.XMLDOM");
-        xmlDom.loadXML(xmlStr);
-        xmlObj = xmlDom;
-      } else {
-        xmlObj = new DOMParser().parseFromString(xmlStr, "text/xml");
-      }
-      return xmlObj;
-    },
-    // 触发异常回调
-    exceptionTrigger(row, scriptData) {
-      let _this = this;
-      this.$modal
-        .confirm("是否确认触发<" + scriptData.scriptName + ">异常?")
-        .then(function (val) {
-          console.log(val);
-          // 发送触发异常节点的请求
-          let payLoad = {
-            taskProcessKey: row.bepTaskKey,
-            taskNodeKey: row.benTaskNodeKey,
-            sysBpmNodeScriptVO: scriptData,
-          };
-          triggerExceptionNode(payLoad).then((res) => {
-            console.log(res);
-            if (res.code == 200) {
-              _this.$message.success("触发成功");
-              _this.open = false;
-              _this.getList();
-            } else {
-              _this.$message.error("触发失败请稍后再试");
-            }
-          });
-        })
-        .catch(() => {
-          _this.open = false;
-          _this.$message.info("取消成功");
-        });
-    },
-    // 获取字典对应label
-    getDictLabel(value, dictLsit = []) {
-      return dictLsit.find((item) => {
-        return item.value == value;
-      })?.label;
-    },
   },
 };
 </script>

+ 6 - 2
zkqy-ui/src/views/bussiness/components/TaskItem.vue

@@ -8,7 +8,11 @@
   >
     <div class="task-title">
       <span class="mr5">{{ cardData.num }}.</span>
-      <span>{{ cardData.nodeInfo.name }}</span>
+      <span class="mr5">{{ cardData.nodeInfo.name }}</span>
+      <i
+        v-if="cardData.nodeInfo.localName == 'exceptionTask'"
+        class="el-icon-warning icon"
+      ></i>
     </div>
     <div class="msg-list">
       <div class="msg-item">
@@ -23,7 +27,7 @@
         <i v-if="cardData.isDone" class="el-icon-success icon"></i>
         <i v-else-if="cardData.isNow" class="el-icon-loading icon"></i>
         <i v-else class="el-icon-more icon"></i>
-        <!-- <span>admin</span> -->
+        <span>{{ cardData.nodeInfo.localName }}</span>
       </div>
     </div>
   </div>

+ 3 - 2
zkqy-ui/src/views/bussiness/detail/formList.js

@@ -1,4 +1,4 @@
-export default List = [
+const List = [
 	{
 		jsonData: {
 			list: [
@@ -235,4 +235,5 @@ export default List = [
 			tdId: 1,
 		},
 	},
-]
+]
+export default List

+ 0 - 1
zkqy-ui/src/views/bussiness/detail/formList.vue

@@ -12,7 +12,6 @@
 </template>
 
 <script>
-import formList from "./formList.js";
 export default {
   name: "FormList",
   props: [],

+ 9 - 6
zkqy-ui/src/views/bussiness/detail/index.vue

@@ -7,7 +7,7 @@
           style="float: right"
           size="mini"
           type="danger"
-          @click="goBack"
+          @click="() => {}"
           >关闭</el-button
         >
       </div>
@@ -30,15 +30,18 @@
 </template>
 
 <script>
+import FormList from "./formList.vue";
+
+// 模拟表单列表数据
+import formList from "./formList.js";
 export default {
   name: "Record",
-  components: {
-    Parser,
-    flow,
-  },
+  components: { FormList },
   props: {},
   data() {
-    return {};
+    return {
+      activeName: "1",
+    };
   },
   created() {},
   methods: {},

+ 9 - 4
zkqy-ui/src/views/bussiness/progressShow.vue

@@ -22,9 +22,13 @@
         </div>
         <div class="search-list">
           <div class="search-tab">
-            <el-radio-group v-model="processType">
-              <el-radio-button :label="1">进行</el-radio-button>
-              <el-radio-button :label="2">完成</el-radio-button>
+            <el-radio-group
+              v-model="queryParams.taskProcessState"
+              @change="getList"
+            >
+              <el-radio-button label="3">已完成</el-radio-button>
+              <el-radio-button label="0">进行中</el-radio-button>
+              <el-radio-button label="">所有</el-radio-button>
             </el-radio-group>
           </div>
           <div class="search-input">
@@ -68,12 +72,13 @@ export default {
   components: { TaskList },
   data() {
     return {
-      processType: 1,
+      // processType: 1,
       queryString: "",
       total: 0,
       queryParams: {
         pageNum: 1,
         pageSize: 10,
+        taskProcessState: "0",
       },
       tableData: [], //列表数据
     };

+ 71 - 8
zkqy-ui/src/views/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container home">
-    <el-row :gutter="20"></el-row>
+    <!-- <el-row :gutter="20"></el-row>
     <el-row :gutter="20"></el-row>
     <el-divider/>
 
@@ -47,12 +47,23 @@
           <div class="body"></div>
         </el-card>
       </el-col>
-    </el-row>
+    </el-row> -->
+    <div class="info-content">
+      <div class="header" @click="toPersonalCenter">
+        <img :src="avatar" class="user-avatar" />
+      </div>
+      <div class="name">{{ nickName }}</div>
+      <div class="tenant-name">{{ tenantName }}</div>
+      <div class="date">{{ date }}</div>
+      <div class="title">欢迎登录CALL智能制造平台</div>
+    </div>
   </div>
 </template>
 
 <script>
-import {getToken} from "@/utils/auth";
+import { formatDate } from "@/utils";
+import { getToken } from "@/utils/auth";
+import { mapGetters, mapState } from "vuex";
 
 export default {
   name: "Index",
@@ -69,7 +80,7 @@ export default {
         // 是否更新已经存在的用户数据
         updateSupport: 0,
         // 设置上传的请求头部
-        headers: {Authorization: "Bearer " + getToken()},
+        headers: { Authorization: "Bearer " + getToken() },
         // 上传的地址
         url: process.env.VUE_APP_BASE_API3 + "common/importDataInfo",
       },
@@ -78,7 +89,6 @@ export default {
     };
   },
   methods: {
-
     /** 导入按钮操作 */
     handleImport() {
       this.upload.title = "用户导入";
@@ -103,10 +113,10 @@ export default {
       this.$refs.upload.clearFiles();
       this.$alert(
         "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
-        response.msg +
-        "</div>",
+          response.msg +
+          "</div>",
         "导入结果",
-        {dangerouslyUseHTMLString: true}
+        { dangerouslyUseHTMLString: true }
       );
       this.getList();
     },
@@ -117,11 +127,64 @@ export default {
     goTarget(href) {
       window.open(href, "_blank");
     },
+
+    toPersonalCenter() {
+      this.$router.push("/user/profile");
+    },
+  },
+  computed: {
+    ...mapState({
+      username: (state) => state.user.name,
+      owner: (state) => state.user?.tenant.owner,
+      tenantName: (state) => state.user?.tenant.tenantName,
+      nickName: (state) => state.user?.nickName,
+    }),
+
+    ...mapGetters(["avatar"]),
+    date: () => {
+      return formatDate(new Date());
+    },
   },
 };
 </script>
 
 <style lang="scss" scoped>
+.home {
+  position: relative;
+  width: 100%;
+  height: 500px;
+  .info-content {
+    position: absolute;
+    left: 50%;
+    top: 30%;
+    transform: translateX(-50%);
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    .header {
+      white-space: nowrap;
+      margin-bottom: 5px;
+      cursor: pointer;
+      .user-avatar {
+        width: 160px;
+        border-radius: 50%;
+      }
+    }
+    .name {
+      font-size: 30px;
+      margin-bottom: 5px;
+    }
+    .tenant-name {
+      font-size: 20px;
+    }
+    .date {
+      margin-bottom: 10px;
+    }
+    .title {
+      font-size: 16px;
+    }
+  }
+}
 .home {
   blockquote {
     padding: 10px 20px;

+ 2 - 2
zkqy-ui/src/views/system/bpmnPro/index.vue

@@ -8,7 +8,7 @@
     </div>
     <bpmn-settings v-show="false" />
     <bpmn-context-menu />
-    <el-dialog
+    <!-- <el-dialog
       title="请选择流程类型"
       :visible.sync="show"
       width="30%"
@@ -48,7 +48,7 @@
           <el-button type="primary" @click="confirmHandler">确认</el-button>
         </span>
       </template>
-    </el-dialog>
+    </el-dialog> -->
   </div>
 </template>