From 441b91381f8ec1551d37680727b70b5aba4884bb Mon Sep 17 00:00:00 2001 From: dhb52 Date: Tue, 27 Feb 2024 23:45:13 +0800 Subject: [PATCH 001/142] =?UTF-8?q?feat:=20CRM/=E6=95=B0=E6=8D=AE=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1/=E5=AE=A2=E6=88=B7=E6=80=BB=E9=87=8F=E5=88=86?= =?UTF-8?q?=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/crm/statistics/customer.ts | 24 ++++ .../components/TotalCustomerCount.vue | 113 ++++++++++++++++ src/views/crm/statistics/customer/index.vue | 125 ++++++++++++++++++ 3 files changed, 262 insertions(+) create mode 100644 src/api/crm/statistics/customer.ts create mode 100644 src/views/crm/statistics/customer/components/TotalCustomerCount.vue create mode 100644 src/views/crm/statistics/customer/index.vue diff --git a/src/api/crm/statistics/customer.ts b/src/api/crm/statistics/customer.ts new file mode 100644 index 00000000..37c93b47 --- /dev/null +++ b/src/api/crm/statistics/customer.ts @@ -0,0 +1,24 @@ +import request from '@/config/axios' + +export interface StatisticsCustomerRespVO { + count: number + category: string +} + +// 客户总量分析 API +export const StatisticsCustomerApi = { + // 客户总量(新建) + getTotalCustomerCount: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-total-customer-count', + params + }) + }, + // 客户总量(成交) + getDealTotalCustomerCount: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-deal-total-customer-count', + params + }) + }, +} diff --git a/src/views/crm/statistics/customer/components/TotalCustomerCount.vue b/src/views/crm/statistics/customer/components/TotalCustomerCount.vue new file mode 100644 index 00000000..c1c5dfcd --- /dev/null +++ b/src/views/crm/statistics/customer/components/TotalCustomerCount.vue @@ -0,0 +1,113 @@ + + + diff --git a/src/views/crm/statistics/customer/index.vue b/src/views/crm/statistics/customer/index.vue new file mode 100644 index 00000000..ea2edef4 --- /dev/null +++ b/src/views/crm/statistics/customer/index.vue @@ -0,0 +1,125 @@ + + + -- Gitee From c9d5ec26a277dcdab9612fdd2df3b65f332bba60 Mon Sep 17 00:00:00 2001 From: puhui999 Date: Wed, 28 Feb 2024 09:35:12 +0800 Subject: [PATCH 002/142] =?UTF-8?q?fix:=20=E4=B8=BB=E5=AD=90=E8=A1=A8=20de?= =?UTF-8?q?mo03=20List=20props?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/components/Demo03CourseList.vue | 42 +++++----- .../demo03/erp/components/Demo03GradeList.vue | 42 +++++----- src/views/infra/demo/demo03/erp/index.vue | 80 ++++++++++--------- 3 files changed, 90 insertions(+), 74 deletions(-) diff --git a/src/views/infra/demo/demo03/erp/components/Demo03CourseList.vue b/src/views/infra/demo/demo03/erp/components/Demo03CourseList.vue index 9d5e2705..3dce77e9 100644 --- a/src/views/infra/demo/demo03/erp/components/Demo03CourseList.vue +++ b/src/views/infra/demo/demo03/erp/components/Demo03CourseList.vue @@ -2,39 +2,40 @@ - 新增 + + 新增 - - - - + + + + - + - diff --git a/src/views/crm/statistics/customer/components/CustomerCycle.vue b/src/views/crm/statistics/customer/components/CustomerCycle.vue new file mode 100644 index 00000000..d28f345d --- /dev/null +++ b/src/views/crm/statistics/customer/components/CustomerCycle.vue @@ -0,0 +1,112 @@ + + + diff --git a/src/views/crm/statistics/customer/components/FollowupCount.vue b/src/views/crm/statistics/customer/components/FollowupCount.vue new file mode 100644 index 00000000..e0ae1274 --- /dev/null +++ b/src/views/crm/statistics/customer/components/FollowupCount.vue @@ -0,0 +1,112 @@ + + + diff --git a/src/views/crm/statistics/customer/components/FollowupType.vue b/src/views/crm/statistics/customer/components/FollowupType.vue new file mode 100644 index 00000000..2debcb1c --- /dev/null +++ b/src/views/crm/statistics/customer/components/FollowupType.vue @@ -0,0 +1,98 @@ + + + diff --git a/src/views/crm/statistics/customer/components/TotalCustomerCount.vue b/src/views/crm/statistics/customer/components/TotalCustomerCount.vue index c1c5dfcd..84c50d04 100644 --- a/src/views/crm/statistics/customer/components/TotalCustomerCount.vue +++ b/src/views/crm/statistics/customer/components/TotalCustomerCount.vue @@ -1,6 +1,6 @@ diff --git a/src/views/crm/contract/detail/index.vue b/src/views/crm/contract/detail/index.vue index bd30489a..f3b038ed 100644 --- a/src/views/crm/contract/detail/index.vue +++ b/src/views/crm/contract/detail/index.vue @@ -48,7 +48,7 @@ - + diff --git a/src/views/bpm/taskAssignRule/index.vue b/src/views/bpm/taskAssignRule/index.vue deleted file mode 100644 index 0fe9bde6..00000000 --- a/src/views/bpm/taskAssignRule/index.vue +++ /dev/null @@ -1,136 +0,0 @@ - - -- Gitee From c5b1ad480fe69c0081cc60be4d3e094663cf7620 Mon Sep 17 00:00:00 2001 From: owen Date: Thu, 14 Mar 2024 00:13:40 +0800 Subject: [PATCH 016/142] =?UTF-8?q?=E9=80=82=E9=85=8D=E9=A1=B6=E9=83=A8?= =?UTF-8?q?=E5=AF=BC=E8=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/imgs/diy/app-nav-bar-mp.png | Bin 0 -> 3595 bytes .../NavigationBar/components/CellProperty.vue | 90 ++++++++++++++++++ .../components/mobile/NavigationBar/config.ts | 84 ++++++++++++---- .../components/mobile/NavigationBar/index.vue | 80 +++++++++++----- .../mobile/NavigationBar/property.vue | 85 +++++++++++------ src/components/MagicCubeEditor/index.vue | 2 +- 6 files changed, 263 insertions(+), 78 deletions(-) create mode 100644 src/assets/imgs/diy/app-nav-bar-mp.png create mode 100644 src/components/DiyEditor/components/mobile/NavigationBar/components/CellProperty.vue diff --git a/src/assets/imgs/diy/app-nav-bar-mp.png b/src/assets/imgs/diy/app-nav-bar-mp.png new file mode 100644 index 0000000000000000000000000000000000000000..c982804c7287c904468dad6252fd393c6cbd271f GIT binary patch literal 3595 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 +
+ + +
+ + + + + + diff --git a/src/components/DiyEditor/components/mobile/NavigationBar/config.ts b/src/components/DiyEditor/components/mobile/NavigationBar/config.ts index f722d525..36612a3f 100644 --- a/src/components/DiyEditor/components/mobile/NavigationBar/config.ts +++ b/src/components/DiyEditor/components/mobile/NavigationBar/config.ts @@ -2,22 +2,53 @@ import { DiyComponent } from '@/components/DiyEditor/util' /** 顶部导航栏属性 */ export interface NavigationBarProperty { - // 页面标题 - title: string - // 页面描述 - description: string - // 顶部导航高度 - navBarHeight: number - // 页面背景颜色 - backgroundColor: string - // 页面背景图片 - backgroundImage: string + // 背景类型 + bgType: 'color' | 'img' + // 背景颜色 + bgColor: string + // 图片链接 + bgImg: string // 样式类型:默认 | 沉浸式 - styleType: 'default' | 'immersion' + styleType: 'normal' | 'inner' // 常驻显示 alwaysShow: boolean - // 是否显示返回按钮 - showGoBack: boolean + // 小程序单元格列表 + mpCells: NavigationBarCellProperty[] + // 其它平台单元格列表 + otherCells: NavigationBarCellProperty[] + // 本地变量 + _local: { + // 预览顶部导航(小程序) + previewMp: boolean + // 预览顶部导航(非小程序) + previewOther: boolean + } +} + +/** 顶部导航栏 - 单元格 属性 */ +export interface NavigationBarCellProperty { + // 类型:文字 | 图片 | 搜索框 + type: 'text' | 'image' | 'search' + // 宽度 + width: number + // 高度 + height: number + // 顶部位置 + top: number + // 左侧位置 + left: number + // 文字内容 + text: string + // 文字颜色 + textColor: string + // 图片地址 + imgUrl: string + // 图片链接 + url: string + // 搜索框:提示文字 + placeholder: string + // 搜索框:边框圆角半径 + borderRadius: number } // 定义组件 @@ -26,13 +57,26 @@ export const component = { name: '顶部导航栏', icon: 'tabler:layout-navbar', property: { - title: '页面标题', - description: '', - navBarHeight: 35, - backgroundColor: '#fff', - backgroundImage: '', - styleType: 'default', + bgType: 'color', + bgColor: '#fff', + bgImg: '', + styleType: 'normal', alwaysShow: true, - showGoBack: true + mpCells: [ + { + type: 'text', + textColor: '#111111' + } + ], + otherCells: [ + { + type: 'text', + textColor: '#111111' + } + ], + _local: { + previewMp: true, + previewOther: false + } } } as DiyComponent diff --git a/src/components/DiyEditor/components/mobile/NavigationBar/index.vue b/src/components/DiyEditor/components/mobile/NavigationBar/index.vue index f5cfff8c..c684aee7 100644 --- a/src/components/DiyEditor/components/mobile/NavigationBar/index.vue +++ b/src/components/DiyEditor/components/mobile/NavigationBar/index.vue @@ -1,45 +1,73 @@ diff --git a/src/components/MagicCubeEditor/index.vue b/src/components/MagicCubeEditor/index.vue index 26ea179d..9b9a43cc 100644 --- a/src/components/MagicCubeEditor/index.vue +++ b/src/components/MagicCubeEditor/index.vue @@ -189,7 +189,7 @@ const emit = defineEmits(['update:modelValue', 'hotAreaSelected']) const emitUpdateModelValue = () => emit('update:modelValue', hotAreas) // 热区选中 -const selectedHotAreaIndex = ref(-1) +const selectedHotAreaIndex = ref(0) const handleHotAreaSelected = (hotArea: Rect, index: number) => { selectedHotAreaIndex.value = index emit('hotAreaSelected', hotArea, index) -- Gitee From 960f27f6efd6e7768ab93ff5d4713cb0157981a5 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Thu, 14 Mar 2024 12:54:28 +0800 Subject: [PATCH 017/142] =?UTF-8?q?BPM=EF=BC=9A=E6=96=B0=E5=A2=9E=20flowab?= =?UTF-8?q?le=20expression=20=E8=A1=A8=E8=BE=BE=E5=BC=8F=EF=BC=8C=E6=9B=BF?= =?UTF-8?q?=E4=BB=A3=E7=8E=B0=E6=9C=89=20BpmTaskAssignScript=EF=BC=8C?= =?UTF-8?q?=E6=9B=B4=E5=8A=A0=E7=81=B5=E6=B4=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../penal/task/task-components/UserTask.vue | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/components/bpmnProcessDesigner/package/penal/task/task-components/UserTask.vue b/src/components/bpmnProcessDesigner/package/penal/task/task-components/UserTask.vue index aca53a9d..18553b9f 100644 --- a/src/components/bpmnProcessDesigner/package/penal/task/task-components/UserTask.vue +++ b/src/components/bpmnProcessDesigner/package/penal/task/task-components/UserTask.vue @@ -117,6 +117,15 @@ /> + + + @@ -160,7 +169,13 @@ const resetTaskForm = () => { userTaskForm.value.assignType = undefined } if (businessObject.assignOptions && businessObject.assignOptions.length > 0) { - userTaskForm.value.assignOptions = businessObject.assignOptions?.split(',').map((item) => +item) + if (userTaskForm.value.assignType === 60) { + userTaskForm.value.assignOptions = [businessObject.assignOptions] + } else { + userTaskForm.value.assignOptions = businessObject.assignOptions + .split(',') + .map((item) => +item) + } } else { userTaskForm.value.assignOptions = [] } -- Gitee From 5f7ccd4e7ce73ebc8f74825902cbcd13d4b68f4d Mon Sep 17 00:00:00 2001 From: YunaiV Date: Fri, 15 Mar 2024 00:19:23 +0800 Subject: [PATCH 018/142] =?UTF-8?q?BPM=EF=BC=9A=E9=87=8D=E6=9E=84=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=E5=88=86=E9=85=8D=E4=BA=BA=E7=9A=84=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=EF=BC=8C=E9=80=9A=E8=BF=87=20BpmTaskCandidateStrategy=20?= =?UTF-8?q?=E7=AD=96=E7=95=A5=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../descriptor/activitiDescriptor.json | 4 +- .../plugins/descriptor/camundaDescriptor.json | 4 +- .../descriptor/flowableDescriptor.json | 4 +- .../penal/task/task-components/UserTask.vue | 103 +++++++++--------- src/utils/dict.ts | 3 +- .../detail/TaskCCDialogForm.vue | 2 +- 6 files changed, 57 insertions(+), 63 deletions(-) diff --git a/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/activitiDescriptor.json b/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/activitiDescriptor.json index ef1371e2..94ba8f6c 100644 --- a/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/activitiDescriptor.json +++ b/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/activitiDescriptor.json @@ -334,12 +334,12 @@ "type": "String" }, { - "name": "assignType", + "name": "candidateStrategy", "isAttr": true, "type": "String" }, { - "name": "assignOptions", + "name": "candidateParam", "isAttr": true, "type": "String" } diff --git a/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/camundaDescriptor.json b/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/camundaDescriptor.json index ccf06d4e..8322561e 100644 --- a/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/camundaDescriptor.json +++ b/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/camundaDescriptor.json @@ -321,12 +321,12 @@ "type": "String" }, { - "name": "assignType", + "name": "candidateStrategy", "isAttr": true, "type": "String" }, { - "name": "assignOptions", + "name": "candidateParam", "isAttr": true, "type": "String" } diff --git a/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/flowableDescriptor.json b/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/flowableDescriptor.json index 3a80c232..4ea632a0 100644 --- a/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/flowableDescriptor.json +++ b/src/components/bpmnProcessDesigner/package/designer/plugins/descriptor/flowableDescriptor.json @@ -321,12 +321,12 @@ "type": "String" }, { - "name": "assignType", + "name": "candidateStrategy", "isAttr": true, "type": "String" }, { - "name": "assignOptions", + "name": "candidateParam", "isAttr": true, "type": "String" } diff --git a/src/components/bpmnProcessDesigner/package/penal/task/task-components/UserTask.vue b/src/components/bpmnProcessDesigner/package/penal/task/task-components/UserTask.vue index 18553b9f..013719ea 100644 --- a/src/components/bpmnProcessDesigner/package/penal/task/task-components/UserTask.vue +++ b/src/components/bpmnProcessDesigner/package/penal/task/task-components/UserTask.vue @@ -1,23 +1,27 @@ diff --git a/src/views/bpm/processInstance/detail/index.vue b/src/views/bpm/processInstance/detail/index.vue index 3ce665f6..800ff2f3 100644 --- a/src/views/bpm/processInstance/detail/index.vue +++ b/src/views/bpm/processInstance/detail/index.vue @@ -31,6 +31,16 @@ type="textarea" /> + + + + +
@@ -118,6 +128,7 @@ import TaskDelegateForm from './TaskDelegateForm.vue' import TaskAddSignDialogForm from './TaskAddSignDialogForm.vue' import { registerComponent } from '@/utils/routerHelper' import { isEmpty } from '@/utils/is' +import * as UserApi from '@/api/system/user' defineOptions({ name: 'BpmProcessInstanceDetail' }) @@ -161,7 +172,8 @@ const handleAudit = async (task, pass) => { // 2.1 提交审批 const data = { id: task.id, - reason: auditForms.value[index].reason + reason: auditForms.value[index].reason, + copyUserIds: auditForms.value[index].copyUserIds } if (pass) { await TaskApi.approveTask(data) @@ -180,21 +192,20 @@ const openTaskUpdateAssigneeForm = (id: string) => { taskUpdateAssigneeFormRef.value.open(id) } -const taskDelegateForm = ref() /** 处理审批退回的操作 */ +const taskDelegateForm = ref() const handleDelegate = async (task) => { taskDelegateForm.value.open(task.id) } -//回退弹框组件 -const taskReturnDialogRef = ref() /** 处理审批退回的操作 */ +const taskReturnDialogRef = ref() const handleBack = async (task) => { taskReturnDialogRef.value.open(task.id) } -const taskAddSignDialogForm = ref() /** 处理审批加签的操作 */ +const taskAddSignDialogForm = ref() const handleSign = async (task) => { taskAddSignDialogForm.value.open(task.id) } @@ -304,13 +315,17 @@ const loadRunningTask = (tasks) => { // 2.3 添加到处理任务 runningTasks.value.push({ ...task }) auditForms.value.push({ - reason: '' + reason: '', + copyUserIds: [] }) }) } /** 初始化 */ -onMounted(() => { +const userOptions = ref([]) // 用户列表 +onMounted(async () => { getDetail() + // 获得用户列表 + userOptions.value = await UserApi.getSimpleUserList() }) diff --git a/src/views/bpm/task/cc/index.vue b/src/views/bpm/task/copy/index.vue similarity index 74% rename from src/views/bpm/task/cc/index.vue rename to src/views/bpm/task/copy/index.vue index 50ddf889..dd41b2e1 100644 --- a/src/views/bpm/task/cc/index.vue +++ b/src/views/bpm/task/copy/index.vue @@ -11,14 +11,6 @@ placeholder="请输入流程名称" /> - - - - - - - - - + + + + + - + @@ -78,14 +75,14 @@ import { dateFormatter } from '@/utils/formatTime' import * as ProcessInstanceApi from '@/api/bpm/processInstance' -defineOptions({ name: 'BpmCCProcessInstance' }) +defineOptions({ name: 'BpmProcessInstanceCopy' }) const { push } = useRouter() // 路由 const loading = ref(false) // 列表的加载中 const total = ref(0) // 列表的总页数 const list = ref([]) // 列表的数据 -const queryParams = ref({ +const queryParams = reactive({ pageNo: 1, pageSize: 10, processInstanceId: '', @@ -98,7 +95,7 @@ const queryFormRef = ref() // 搜索的表单 const getList = async () => { loading.value = true try { - const data = await ProcessInstanceApi.getProcessInstanceCCPage(queryParams) + const data = await ProcessInstanceApi.getProcessInstanceCopyPage(queryParams) list.value = data.list total.value = data.total } finally { @@ -118,7 +115,7 @@ const handleAudit = (row: any) => { /** 搜索按钮操作 */ const handleQuery = () => { - queryParams.value.pageNo = 1 + queryParams.pageNo = 1 getList() } diff --git a/src/views/bpm/task/done/TaskDetail.vue b/src/views/bpm/task/done/TaskDetail.vue deleted file mode 100644 index ff8f313d..00000000 --- a/src/views/bpm/task/done/TaskDetail.vue +++ /dev/null @@ -1,51 +0,0 @@ - - diff --git a/src/views/bpm/task/done/index.vue b/src/views/bpm/task/done/index.vue index b190bd4f..d9b32803 100644 --- a/src/views/bpm/task/done/index.vue +++ b/src/views/bpm/task/done/index.vue @@ -46,27 +46,50 @@ - - - - - - - - + + - + + + + + + + + + + + + @@ -78,15 +101,11 @@ @pagination="getList" /> - - - diff --git a/src/views/bpm/processInstance/detail/TaskAddSignDialogForm.vue b/src/views/bpm/processInstance/detail/dialog/TaskSignCreateForm.vue similarity index 85% rename from src/views/bpm/processInstance/detail/TaskAddSignDialogForm.vue rename to src/views/bpm/processInstance/detail/dialog/TaskSignCreateForm.vue index 40cd200e..9e4998c1 100644 --- a/src/views/bpm/processInstance/detail/TaskAddSignDialogForm.vue +++ b/src/views/bpm/processInstance/detail/dialog/TaskSignCreateForm.vue @@ -7,8 +7,8 @@ :rules="formRules" label-width="110px" > - - + + { formLoading.value = true formData.value.type = type try { - await TaskApi.taskAddSign(formData.value) + await TaskApi.signCreateTask(formData.value) message.success('加签成功') dialogVisible.value = false // 发送操作成功的事件 @@ -89,8 +90,9 @@ const submitForm = async (type: string) => { const resetForm = () => { formData.value = { id: '', - userIdList: [], - type: '' + userIds: [], + type: '', + reason: '' } formRef.value?.resetFields() } diff --git a/src/views/bpm/processInstance/detail/TaskSubSignDialogForm.vue b/src/views/bpm/processInstance/detail/dialog/TaskSignDeleteForm.vue similarity index 80% rename from src/views/bpm/processInstance/detail/TaskSubSignDialogForm.vue rename to src/views/bpm/processInstance/detail/dialog/TaskSignDeleteForm.vue index 61f7d68c..19bb2dce 100644 --- a/src/views/bpm/processInstance/detail/TaskSubSignDialogForm.vue +++ b/src/views/bpm/processInstance/detail/dialog/TaskSignDeleteForm.vue @@ -9,8 +9,10 @@ > - - {{ item.name }}({{ item.assigneeUser.deptName }}{{ item.assigneeUser.nickname }}--审批) + + {{ item.name }} + ({{ item.assigneeUser?.deptName || item.ownerUser?.deptName }} - + {{ item.assigneeUser?.nickname || item.ownerUser?.nickname }}) @@ -24,10 +26,12 @@ - diff --git a/src/views/bpm/processInstance/detail/index.vue b/src/views/bpm/processInstance/detail/index.vue index 4f889b8f..2aac5fad 100644 --- a/src/views/bpm/processInstance/detail/index.vue +++ b/src/views/bpm/processInstance/detail/index.vue @@ -92,7 +92,7 @@ - + - + diff --git a/src/views/bpm/category/index.vue b/src/views/bpm/category/index.vue new file mode 100644 index 00000000..0e11e819 --- /dev/null +++ b/src/views/bpm/category/index.vue @@ -0,0 +1,198 @@ + + + diff --git a/src/views/bpm/definition/index.vue b/src/views/bpm/definition/index.vue index 923a5901..9ebd28b1 100644 --- a/src/views/bpm/definition/index.vue +++ b/src/views/bpm/definition/index.vue @@ -11,11 +11,7 @@ - - - + @@ -200,9 +203,10 @@ const resetQuery = () => { } /** 发起流程操作 **/ -const handleCreate = () => { +const handleCreate = (id) => { router.push({ - name: 'BpmProcessInstanceCreate' + name: 'BpmProcessInstanceCreate', + query: { processInstanceId: id } }) } -- Gitee From c2f98043df94ef78503cc1f25dd7eb2f3c5a7301 Mon Sep 17 00:00:00 2001 From: AhJindeg Date: Thu, 21 Mar 2024 17:20:01 +0800 Subject: [PATCH 034/142] =?UTF-8?q?fix:=20=F0=9F=90=9E=20add=20inputChange?= =?UTF-8?q?=20for=20crontab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Crontab/src/Crontab.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/Crontab/src/Crontab.vue b/src/components/Crontab/src/Crontab.vue index 90b40b2f..e61fef89 100644 --- a/src/components/Crontab/src/Crontab.vue +++ b/src/components/Crontab/src/Crontab.vue @@ -503,9 +503,13 @@ const submit = () => { emit('update:modelValue', defaultValue.value) dialogVisible.value = false } + +const inputChange = () => { + emit('update:modelValue', defaultValue.value) +} diff --git a/src/views/bpm/processInstance/detail/index.vue b/src/views/bpm/processInstance/detail/index.vue index 6da1d415..f3072e56 100644 --- a/src/views/bpm/processInstance/detail/index.vue +++ b/src/views/bpm/processInstance/detail/index.vue @@ -24,15 +24,15 @@ {{ processInstance?.startUser.nickname }} {{ processInstance?.startUser.deptName }} - + @@ -91,7 +91,7 @@ - \ No newline at end of file diff --git a/src/views/report/ureport/index.vue b/src/views/report/ureport/index.vue deleted file mode 100644 index e9d6c0e4..00000000 --- a/src/views/report/ureport/index.vue +++ /dev/null @@ -1,13 +0,0 @@ -