Преглед на файлове

!7 测试人员所提bug修改
Merge pull request !7 from 周建/master

芋道源码 преди 2 години
родител
ревизия
b85046c4e1

+ 9 - 6
src/components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue

@@ -80,7 +80,8 @@ const resetFlowCondition = () => {
   if (
     bpmnElementSourceRef.value &&
     bpmnElementSourceRef.value.default &&
-    bpmnElementSourceRef.value.default.id === bpmnElement.value.id
+    bpmnElementSourceRef.value.default.id === bpmnElement.value.id &&
+    flowConditionForm.value.type == 'default'
   ) {
     // 默认
     flowConditionForm.value = { type: 'default' }
@@ -176,11 +177,13 @@ onBeforeUnmount(() => {
 watch(
   () => props.businessObject,
   (val) => {
-    if (val) {
-      nextTick(() => {
-        resetFlowCondition()
-      })
-    }
+    console.log(val, 'val')
+    nextTick(() => {
+      resetFlowCondition()
+    })
+  },
+  {
+    immediate: true
   }
 )
 </script>

+ 7 - 1
src/views/bpm/oa/leave/detail.vue

@@ -2,6 +2,7 @@
   <ContentWrap>
     <!-- 详情 -->
     <Descriptions :schema="allSchemas.detailSchema" :data="formData" />
+    <el-button @click="routerReturn" type="primary">返回</el-button>
   </ContentWrap>
 </template>
 
@@ -9,7 +10,8 @@
 // 业务相关的 import
 import * as LeaveApi from '@/api/bpm/leave'
 import { allSchemas } from '@/views/bpm/oa/leave/leave.data'
-
+import { useRouter } from 'vue-router'
+const router = useRouter()
 const { query } = useRoute() // 查询参数
 const message = useMessage() // 消息弹窗
 
@@ -22,6 +24,10 @@ const formData = ref({
   reason: undefined
 })
 
+const routerReturn = () => {
+  router.back()
+}
+
 onMounted(() => {
   id.value = query.id
   if (!id.value) {

+ 5 - 0
src/views/bpm/processInstance/create.vue

@@ -3,6 +3,10 @@
     <!-- 第一步,通过流程定义的列表,选择对应的流程 -->
     <div v-if="!selectProcessInstance">
       <XTable @register="registerTable">
+        <!-- 流程分类 -->
+        <template #category_default="{ row }">
+          <DictTag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="Number(row?.category)" />
+        </template>
         <template #version_default="{ row }">
           <el-tag v-if="row">v{{ row.version }}</el-tag>
         </template>
@@ -56,6 +60,7 @@ import * as DefinitionApi from '@/api/bpm/definition'
 import * as ProcessInstanceApi from '@/api/bpm/processInstance'
 import { setConfAndFields2 } from '@/utils/formCreate'
 import { ApiAttrs } from '@form-create/element-ui/types/config'
+import { DICT_TYPE } from '@/utils/dict'
 
 const router = useRouter() // 路由
 const message = useMessage() // 消息

+ 6 - 1
src/views/bpm/processInstance/process.create.ts

@@ -14,7 +14,12 @@ const crudSchemas = reactive<VxeCrudSchema>({
       title: '流程分类',
       field: 'category',
       dictType: DICT_TYPE.BPM_MODEL_CATEGORY,
-      dictClass: 'number'
+      dictClass: 'number',
+      table: {
+        slots: {
+          default: 'category_default'
+        }
+      }
     },
     {
       title: '流程版本',

+ 10 - 2
src/views/bpm/taskAssignRule/index.vue

@@ -1,7 +1,7 @@
 <template>
   <ContentWrap>
     <!-- 列表 -->
-    <XTable @register="registerTable">
+    <XTable @register="registerTable" ref="xGrid">
       <template #options_default="{ row }">
         <span :key="option" v-for="option in row.options">
           <el-tag>
@@ -145,11 +145,12 @@ import { listSimpleUserGroupsApi } from '@/api/bpm/userGroup'
 import { listSimpleDeptApi } from '@/api/system/dept'
 import { DICT_TYPE, getDictOptions } from '@/utils/dict'
 import { handleTree, defaultProps } from '@/utils/tree'
-import { allSchemas, rules } from './taskAssignRule.data'
+import { allSchemas, rules, idShowActionClick } from './taskAssignRule.data'
 
 const { t } = useI18n() // 国际化
 const message = useMessage() // 消息弹窗
 const { query } = useRoute()
+const xGrid = ref()
 
 // ========== 列表相关 ==========
 
@@ -165,6 +166,8 @@ const taskAssignScriptDictDatas = getDictOptions(DICT_TYPE.BPM_TASK_ASSIGN_SCRIP
 const modelId = query.modelId
 // 流程定义的编号。如果 processDefinitionId 非空,则用于流程定义的查看,不支持配置
 const processDefinitionId = query.processDefinitionId
+let isShow = idShowActionClick(modelId)
+
 // 查询参数
 const queryParams = reactive({
   modelId: modelId,
@@ -346,5 +349,10 @@ onMounted(() => {
   listSimpleUserGroupsApi().then((data) => {
     userGroupOptions.value.push(...data)
   })
+  if (!isShow) {
+    setTimeout(() => {
+      xGrid.value.Ref.hideColumn('actionbtns')
+    }, 100)
+  }
 })
 </script>

+ 8 - 0
src/views/bpm/taskAssignRule/taskAssignRule.data.ts

@@ -43,4 +43,12 @@ const crudSchemas = reactive<VxeCrudSchema>({
     }
   ]
 })
+
+export const idShowActionClick = (modelId?: any) => {
+  if (modelId) {
+    return true
+  } else {
+    return false
+  }
+}
 export const { allSchemas } = useVxeCrudSchemas(crudSchemas)

+ 9 - 1
src/views/system/dept/dept.data.ts

@@ -6,7 +6,15 @@ const { t } = useI18n() // 国际化
 export const rules = reactive({
   name: [required],
   sort: [required],
-  email: [required],
+  // email: [required],
+  email: [
+    { required: true, message: t('profile.rules.mail'), trigger: 'blur' },
+    {
+      type: 'email',
+      message: t('profile.rules.truemail'),
+      trigger: ['blur', 'change']
+    }
+  ],
   phone: [
     {
       len: 11,

+ 11 - 1
src/views/system/mail/account/account.data.ts

@@ -1,8 +1,18 @@
 import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
 
+const { t } = useI18n() // 国际化
+
 // 表单校验
 export const rules = reactive({
-  mail: [required],
+  // mail: [required],
+  mail: [
+    { required: true, message: t('profile.rules.mail'), trigger: 'blur' },
+    {
+      type: 'email',
+      message: t('profile.rules.truemail'),
+      trigger: ['blur', 'change']
+    }
+  ],
   username: [required],
   password: [required],
   host: [required],

+ 10 - 3
src/views/system/role/role.data.ts

@@ -9,12 +9,19 @@ export const rules = reactive({
 })
 // CrudSchema
 const crudSchemas = reactive<VxeCrudSchema>({
-  primaryKey: 'id',
-  primaryTitle: '角色编号',
-  primaryType: 'seq',
+  // primaryKey: 'id',
+  // primaryTitle: '角色编号',
+  // primaryType: 'seq',
   action: true,
   actionWidth: '400px',
   columns: [
+    {
+      title: '角色编号',
+      field: 'id',
+      table: {
+        width: 200
+      }
+    },
     {
       title: '角色名称',
       field: 'name',

+ 23 - 16
src/views/system/user/index.vue

@@ -386,24 +386,31 @@ const handleDetail = async (rowId: number) => {
 
 // 提交按钮
 const submitForm = async () => {
-  loading.value = true
   // 提交请求
-  try {
-    const data = unref(formRef)?.formModel as UserApi.UserVO
-    if (actionType.value === 'create') {
-      await UserApi.createUserApi(data)
-      message.success(t('common.createSuccess'))
-    } else {
-      await UserApi.updateUserApi(data)
-      message.success(t('common.updateSuccess'))
+  const elForm = unref(formRef)?.getElFormRef()
+  if (!elForm) return
+  elForm.validate(async (valid) => {
+    if (valid) {
+      try {
+        const data = unref(formRef)?.formModel as UserApi.UserVO
+        if (actionType.value === 'create') {
+          await UserApi.createUserApi(data)
+          loading.value = true
+          message.success(t('common.createSuccess'))
+        } else {
+          await UserApi.updateUserApi(data)
+          loading.value = true
+          message.success(t('common.updateSuccess'))
+        }
+        dialogVisible.value = false
+      } finally {
+        // unref(formRef)?.setSchema(allSchemas.formSchema)
+        // 刷新列表
+        await reload()
+        loading.value = false
+      }
     }
-    dialogVisible.value = false
-  } finally {
-    // unref(formRef)?.setSchema(allSchemas.formSchema)
-    // 刷新列表
-    await reload()
-    loading.value = false
-  }
+  })
 }
 // 改变用户状态操作
 const handleStatusChange = async (row: UserApi.UserVO) => {

+ 2 - 0
src/views/system/user/user.data.ts

@@ -5,6 +5,8 @@ const { t } = useI18n()
 export const rules = reactive({
   username: [required],
   nickname: [required],
+  password: [required],
+  deptId: [required],
   email: [
     { required: true, message: t('profile.rules.mail'), trigger: 'blur' },
     {