Browse Source

修改审批流打包问题

jzy 1 year ago
parent
commit
9dd308d4c7

+ 1 - 1
src/components/designer/DesignerHeader.vue

@@ -18,7 +18,7 @@ const handleRemove = () => {
 const handlePreview = () => {
   dialogVisible.value = true
 }
-const handleChanging = e => {
+const handleChanging = (e: any) => {
   designerHeaderType.type = e
 }
 

+ 1 - 1
src/components/designer/DesignerSetting.vue

@@ -329,7 +329,7 @@ watch(
             </el-radio-group>
           </el-form-item>
           <el-form-item label="标签宽度">
-            <el-input-number v-model="formProps.labelWidth"></el-input-number>
+            <el-input v-model="formProps.labelWidth"></el-input>
           </el-form-item>
         </el-form>
       </el-tab-pane>

+ 1 - 1
src/components/workflow/addNode.vue

@@ -45,7 +45,7 @@ const props = defineProps({
 })
 const emits = defineEmits(['update:childNodeP'])
 const visible = ref(false)
-const addType = type => {
+const addType = (type: any) => {
   visible.value = false
   if (type != 2) {
     let data

+ 8 - 2
src/components/workflow/dialog/errorDialog.vue

@@ -13,7 +13,7 @@
         <div>
           <p class="error-modal-desc">以下内容不完善,需进行修改</p>
           <div class="error-modal-list">
-            <div class="error-modal-item" v-for="(item, index) in list" :key="index">
+            <div class="error-modal-item" v-for="item in props.list">
               <div class="error-modal-item-label">流程设计</div>
               <div class="error-modal-item-content">{{ item.name }} 未选择{{ item.type }}</div>
             </div>
@@ -29,9 +29,15 @@
 </template>
 
 <script setup lang="ts">
+import type { PropType } from 'vue'
+
+export type Ilist = {
+  name: string
+  type: string
+}
 const props = defineProps({
   list: {
-    type: Array,
+    type: Array as unknown as PropType<[Ilist]>,
     default: () => []
   },
   visible: {

+ 19 - 18
src/components/workflow/nodeWrap.vue

@@ -4,7 +4,7 @@
     <add-node v-model:childNodeP="nodeConfig.childNode" :operateShow="operateShow" />
   </div>
   <div class="node-wrap" v-if="(nodeConfig.nodeType == 1 || nodeConfig.nodeType == 4) && nodeConfig.nodeType != 0">
-    <div class="node-wrap-box" :class="isTried && nodeConfig.error ? 'active error' : ''">
+    <div class="node-wrap-box" :class="nodeConfig.error ? 'active error' : ''">
       <div class="title" :style="`background: rgb(${bgColors[nodeConfig.nodeType]});`">
         <template v-if="nodeConfig.nodeType != 0">
           <span class="iconfont">{{ nodeConfig.nodeType == 1 ? '' : '' }}</span>
@@ -13,15 +13,15 @@
             type="text"
             class="ant-input editable-title-input"
             :disabled="props.operateShow"
-            @blur="blurEvent()"
+            @blur="blurEvent(-1)"
             v-model="nodeConfig.nodeName"
             :placeholder="defaultText"
           />
-          <span v-else class="editable-title" @click="clickEvent()">{{ nodeConfig.nodeName }}</span>
+          <span v-else class="editable-title" @click="clickEvent(false)">{{ nodeConfig.nodeName }}</span>
           <span
             v-if="nodeConfig.nodeName == '' && nodeConfig.nodeType == 1"
             class="editable-title"
-            @click="clickEvent()"
+            @click="clickEvent(false)"
             >请输入节点名称</span
           >
 
@@ -35,7 +35,7 @@
         </div>
         <i class="anticon anticon-right arrow"></i>
       </div>
-      <div class="error_tip" v-if="isTried && nodeConfig.error">
+      <div class="error_tip" v-if="nodeConfig.error">
         <i class="anticon anticon-exclamation-circle"></i>
       </div>
     </div>
@@ -48,7 +48,7 @@
         <div class="col-box" v-for="(item, index) in nodeConfig.conditionNodes" :key="index">
           <div class="condition-node">
             <div class="condition-node-box">
-              <div class="auto-judge" :class="isTried && item.error ? 'error active' : ''">
+              <div class="auto-judge" :class="item.error ? 'error active' : ''">
                 <div class="sort-left" v-if="index != 0 && !props.operateShow" @click="arrTransfer(index, -1)">
                   &lt;
                 </div>
@@ -77,7 +77,7 @@
                 <div class="content" @click="setPerson(item.priorityLevel)">
                   {{ $func.conditionStr(nodeConfig, index) }}
                 </div>
-                <div class="error_tip" v-if="isTried && item.error">
+                <div class="error_tip" v-if="item.error">
                   <i class="anticon anticon-exclamation-circle"></i>
                 </div>
               </div>
@@ -102,9 +102,10 @@
 </template>
 <script lang="ts" setup>
 import $func from '@/utils/preload'
+import { getCurrentInstance } from 'vue'
 import { useWorkflow } from '@/stores/workflow'
 const workFlow = useWorkflow()
-const _uid = getCurrentInstance().uid
+const _uid = getCurrentInstance()?.uid
 const bgColors = ['87, 106, 149', '255, 148, 62', '50, 150, 250']
 const placeholderList = ['发起人', '', '抄送人']
 const props = defineProps({
@@ -126,7 +127,7 @@ const showText = computed(() => {
   return $func.copyerStr(props.nodeConfig)
 })
 
-const isInputList = ref([])
+const isInputList = ref<any>([])
 const isInput = ref(false)
 const resetConditionNodesErr = () => {
   for (let i = 0; i < props.nodeConfig.conditionNodes.length; i++) {
@@ -145,7 +146,7 @@ onMounted(() => {
 })
 const emits = defineEmits(['update:nodeConfig'])
 
-watch(workFlow, val => {
+watch(workFlow, (val: any) => {
   if (val.approverConfig1.flag && val.approverConfig1.id === _uid) {
     emits('update:nodeConfig', val.approverConfig1.value)
   }
@@ -157,14 +158,14 @@ watch(workFlow, val => {
   }
 })
 
-const clickEvent = index => {
+const clickEvent = (index: any) => {
   if (index || index === 0) {
     isInputList.value[index] = true
   } else {
     isInput.value = true
   }
 }
-const blurEvent = index => {
+const blurEvent = (index: any) => {
   if (index || index === 0) {
     isInputList.value[index] = false
     props.nodeConfig.conditionNodes[index].nodeName = props.nodeConfig.conditionNodes[index].nodeName || '条件'
@@ -192,9 +193,9 @@ const addTerm = () => {
   resetConditionNodesErr()
   emits('update:nodeConfig', props.nodeConfig)
 }
-const delTerm = index => {
+const delTerm = (index: any) => {
   props.nodeConfig.conditionNodes.splice(index, 1)
-  props.nodeConfig.conditionNodes.map((item, index) => {
+  props.nodeConfig.conditionNodes.map((item: any, index: any) => {
     item.priorityLevel = index + 1
     item.nodeName = `条件${index + 1}`
   })
@@ -211,14 +212,14 @@ const delTerm = index => {
     emits('update:nodeConfig', props.nodeConfig.conditionNodes[0].childNode)
   }
 }
-const reData = (data, addData) => {
+const reData = (data: any, addData: any) => {
   if (!data.childNode) {
     data.childNode = addData
   } else {
     reData(data.childNode, addData)
   }
 }
-const setPerson = priorityLevel => {
+const setPerson = (priorityLevel: any) => {
   const { nodeType } = props.nodeConfig
   if (nodeType == 1) {
     workFlow.approverDrawer = true
@@ -247,14 +248,14 @@ const setPerson = priorityLevel => {
     })
   }
 }
-const arrTransfer = (index, type = 1) => {
+const arrTransfer = (index: any, type = 1) => {
   //向左-1,向右1
   props.nodeConfig.conditionNodes[index] = props.nodeConfig.conditionNodes.splice(
     index + type,
     1,
     props.nodeConfig.conditionNodes[index]
   )[0]
-  props.nodeConfig.conditionNodes.map((item, index) => {
+  props.nodeConfig.conditionNodes.map(({ item, index }: any) => {
     item.priorityLevel = index + 1
   })
   resetConditionNodesErr()

+ 4 - 2
src/components/workflow/selectBox.vue

@@ -21,6 +21,8 @@ interface Props {
   list: Array<{
     data: Array<{
       id: string
+      departmentNames: string
+      name: string
     }>
     isActive: Function
     change: Function
@@ -47,13 +49,13 @@ withDefaults(defineProps<Props>(), {
       color: #3195f8;
       font-size: 12px;
       cursor: pointer;
-      background: url(~@/assets/images/workflow/next_level_active.png) no-repeat 10px center;
+
       border-left: 1px solid rgb(238, 238, 238);
     }
 
     a.active + i {
       color: rgb(197, 197, 197);
-      background-image: url(~@/assets/images/workflow/next_level.png);
+
       pointer-events: none;
     }
 

+ 10 - 5
src/components/workflow/selectResult.vue

@@ -8,16 +8,18 @@
       <template v-for="{ type, data, cancel } in list" :key="type">
         <template v-if="type === 'role'">
           <li v-for="item in data" :key="item.roleId">
-            <img src="@/assets/images/workflow/icon_role.png" />
+            <!-- <img src="@/assets/images/workflow/icon_role.png" /> -->
             <span>{{ item.roleName }}</span>
-            <img src="@/assets/images/workflow/cancel.png" @click="cancel(item)" />
+            <!-- <img src="@/assets/images/workflow/cancel.png" @click="cancel(item)" /> -->
+            <div @click="cancel(item)">删除</div>
           </li>
         </template>
         <template v-if="type === 'department'">
           <li v-for="item in data" :key="item.id">
-            <img src="@/assets/images/workflow/icon_file.png" />
+            <!-- <img src="@/assets/images/workflow/icon_file.png" /> -->
             <span>{{ item.departmentName }}</span>
-            <img src="@/assets/images/workflow/cancel.png" @click="cancel(item)" />
+            <!-- <img src="@/assets/images/workflow/cancel.png" @click="cancel(item)" /> -->
+            <div @click="cancel(item)">删除</div>
           </li>
         </template>
         <template v-if="type === 'employee'">
@@ -41,8 +43,11 @@ interface List {
   data?: Array<{
     name: string
     id: string
+    roleId: string
+    roleName: string
+    departmentName: string
   }>
-  cancel?: Function
+  cancel: Function
 }
 
 interface Props {

+ 1 - 11
src/css/dialog.css

@@ -3,16 +3,7 @@
   height: 500px;
 }
 
-.tree_nav span {
-  display: inline-block;
-  padding-right: 10px;
-  margin-right: 5px;
-  max-width: 6em;
-  color: #38adff;
-  font-size: 12px;
-  cursor: pointer;
-  background: url(~@/assets/images/workflow/jiaojiao.png) no-repeat right center;
-}
+
 
 .tree_nav span:last-of-type {
   background: none;
@@ -32,7 +23,6 @@
   font-size: 12px;
   border-radius: 2px;
   border: 1px solid #d5dadf;
-  background: url(~@/assets/images/workflow/list_search.png) no-repeat 10px center;
   background-size: 14px 14px;
   margin-bottom: 14px;
 }

+ 8 - 3
src/stores/workflow.ts

@@ -4,14 +4,19 @@ export const useWorkflow = defineStore({
     isTried: false,
     promoterDrawer: false,
     approverDrawer: false,
-    approverConfig1: {},
+    approverConfig1: {
+      id: ''
+    },
     approverConfig: {},
     copyerDrawer: false,
-    copyerConfig1: {},
+    copyerConfig1: {
+      id: ''
+    },
     copyerConfig: {},
     conditionDrawer: false,
     conditionsConfig1: {
-      conditionNodes: []
+      conditionNodes: [],
+      id: ''
     }
   }),
   actions: {

+ 1 - 1
src/utils/preload.ts

@@ -105,4 +105,4 @@ All.prototype = {
   }
 }
 
-export default new All()
+export default new (All as any)()