|
|
@@ -0,0 +1,144 @@
|
|
|
+<route lang="yaml">
|
|
|
+meta:
|
|
|
+ enabled: false
|
|
|
+</route>
|
|
|
+
|
|
|
+<script lang="ts" setup>
|
|
|
+import { ElMessage } from 'element-plus'
|
|
|
+import type { FormInstance, FormRules } from 'element-plus'
|
|
|
+import { createWfActivityDef, getWfActivityDefById, updateWfActivityDef } from '@/api/system/wfActivityDefApi'
|
|
|
+const emit = defineEmits(['success'])
|
|
|
+
|
|
|
+const formRef = ref<FormInstance>()
|
|
|
+const formRules = ref<FormRules>({
|
|
|
+ wfDefId: [
|
|
|
+ { required: true, message: '请选择流程定义', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ activityDefTitle: [
|
|
|
+ { required: true, message: '请输入标题', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ activityCode: [
|
|
|
+ { required: true, message: '请输入标题', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ formCode: [
|
|
|
+ { required: true, message: '请输入描述', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ activityDefDesc: [
|
|
|
+ { required: false, message: '请输入简要说明', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+})
|
|
|
+
|
|
|
+const state = reactive({
|
|
|
+ title: '',
|
|
|
+ dialogVisible: false,
|
|
|
+ loading: false,
|
|
|
+ formData: {
|
|
|
+ wfDefId: 0,
|
|
|
+ activityDefId: 0,
|
|
|
+ activityDefTitle: '',
|
|
|
+ activityCode: '',
|
|
|
+ formCode: '',
|
|
|
+ ractivityDefDesc: '',
|
|
|
+ },
|
|
|
+ search: {
|
|
|
+ wfDefId: 0,
|
|
|
+ activityDefId: 0,
|
|
|
+ },
|
|
|
+ actionType: 1,
|
|
|
+})
|
|
|
+
|
|
|
+onMounted(() => {})
|
|
|
+
|
|
|
+const getData = async () => {
|
|
|
+ state.loading = true
|
|
|
+ const { wfDefId, activityDefId } = state.search
|
|
|
+ const { data } = await getWfActivityDefById(wfDefId, activityDefId)
|
|
|
+ state.loading = false
|
|
|
+ state.formData = data
|
|
|
+}
|
|
|
+
|
|
|
+function onSubmit() {
|
|
|
+ formRef.value && formRef.value.validate(async (valid) => {
|
|
|
+ if (valid) {
|
|
|
+ if (state.actionType === 1) {
|
|
|
+ const { msg } = await createWfActivityDef(state.formData)
|
|
|
+ ElMessage.success(msg)
|
|
|
+ state.dialogVisible = false
|
|
|
+ emit('success')
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ const { msg } = await updateWfActivityDef(state.formData)
|
|
|
+ ElMessage.success(msg)
|
|
|
+ state.dialogVisible = false
|
|
|
+ emit('success')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+function onCancel() {
|
|
|
+ state.dialogVisible = false
|
|
|
+}
|
|
|
+
|
|
|
+function resetFormData() {
|
|
|
+ state.formData = {
|
|
|
+ wfDefId: 0,
|
|
|
+ activityDefId: 0,
|
|
|
+ activityDefTitle: '',
|
|
|
+ activityCode: '',
|
|
|
+ formCode: '',
|
|
|
+ ractivityDefDesc: '',
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+defineExpose({
|
|
|
+ showAddModel(wfDefId: number) {
|
|
|
+ resetFormData()
|
|
|
+ state.search.wfDefId = wfDefId
|
|
|
+ state.formData.wfDefId = wfDefId
|
|
|
+ state.title = '新增'
|
|
|
+ state.actionType = 1
|
|
|
+ state.dialogVisible = true
|
|
|
+ },
|
|
|
+ showEditModel(wfDefId: number, activityDefId: number) {
|
|
|
+ resetFormData()
|
|
|
+ state.search.wfDefId = wfDefId
|
|
|
+ state.search.activityDefId = activityDefId
|
|
|
+ state.title = '编辑'
|
|
|
+ state.actionType = 2
|
|
|
+ state.dialogVisible = true
|
|
|
+ getData()
|
|
|
+ },
|
|
|
+})
|
|
|
+</script>
|
|
|
+
|
|
|
+<template>
|
|
|
+ <el-drawer v-model="state.dialogVisible" :title="state.title" width="600px" :close-on-click-modal="false" append-to-body destroy-on-close>
|
|
|
+ <el-form ref="formRef" :model="state.formData" :rules="formRules" label-width="120px" label-suffix=":">
|
|
|
+ <el-form-item label="关卡名称" prop="activityDefTitle">
|
|
|
+ <el-input v-model="state.formData.activityDefTitle" placeholder="请输入标题" />
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="关卡编码" prop="activityCode">
|
|
|
+ <el-input v-model="state.formData.activityCode" placeholder="编码" />
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="表单编码" prop="formCode">
|
|
|
+ <el-input v-model="state.formData.formCode" placeholder="编码" />
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="简要说明" prop="activityDefDesc">
|
|
|
+ <el-input v-model="state.formData.activityDefDesc" type="textarea" rows="10" placeholder="请输入简要说明" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+ <template #footer>
|
|
|
+ <el-button size="large" @click="onCancel">
|
|
|
+ 取消
|
|
|
+ </el-button>
|
|
|
+ <el-button type="primary" size="large" @click="onSubmit">
|
|
|
+ 保存
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </el-drawer>
|
|
|
+</template>
|