更多ruoyi-nbcio功能请看演示系统
gitee源代码地址
前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio
演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/
更多nbcio-boot功能请看演示系统
gitee源代码地址
后端代码: https://gitee.com/nbacheng/nbcio-boot
前端代码:https://gitee.com/nbacheng/nbcio-vue.git
在线演示(包括H5) : http://218.75.87.38:9888
1、原先vue2的ActCancelBtn.vue代码如下:
<style lang="less"> </style> <template> <span> <a-button :type="btnType" @click="cancel()" >{{text}}</a-button> <a-modal title="确认撤回" v-model="modalCancelVisible" :mask-closable="false" :width="500"> <a-form ref="delForm" v-model="cancelForm" :label-width="70" v-if="modalCancelVisible"> <a-form-item label="撤回原因" prop="reason"> <a-input type="textarea" v-model="cancelForm.reason" :rows="4" /> </a-form-item> </a-form> <div slot="footer"> <a-button type="text" @click="modalCancelVisible = false">取消</a-button> <a-button type="primary" :disabled="submitLoading" @click="handelSubmitCancel">提交</a-button> </div> </a-modal> </span> </template> <script> import {deleteByDataId} from "@/api/workflow/process"; export default { name: 'ActCancelBtn', components: {}, props: { btnType: { type: String, default: 'link', required: false }, /**/ dataId: { type: String, default: '', required: true }, instanceId: { type: String, default: '', required: false }, text: { type: String, default: '撤回', required: false } }, data() { return { modalCancelVisible: false, cancelForm: { reason: '' }, submitLoading: false, }; }, created() { }, watch: { }, methods: { cancel() { this.modalCancelVisible = true; }, handelSubmitCancel() { this.submitLoading = true; deleteByDataId(this.instanceId, this.cancelForm.reason,this.dataId) .then(res => { if (res.success) { this.$message.success('操作成功'); this.modalCancelVisible = false; this.$emit('success'); } else { this.$message.error(res.message); } }) .finally(() => (this.submitLoading = false)); } } }; </script>
2、升级到vue3的代码如下:
<template> <span> <a-button :type="btnType" @click="cancel()" >{{text}}</a-button> <a-modal title="确认撤回" v-model="modalCancelVisible" :mask-closable="false" :width="500"> <a-form ref="delForm" v-model="cancelForm" :label-width="70" v-if="modalCancelVisible"> <a-form-item label="撤回原因" prop="reason"> <a-input type="textarea" v-model="cancelForm.reason" :rows="4" /> </a-form-item> </a-form> <div slot="footer"> <a-button type="primary" @click="modalCancelVisible = false">取消</a-button> <a-button type="primary" :disabled="submitLoading" @click="handelSubmitCancel">提交</a-button> </div> </a-modal> </span> </template> <script setup lang="ts"> import {deleteByDataId} from "@/api/workflow/process"; defineOptions({ name: 'ActCancelBtn' }) const props = defineProps({ btnType: { type: String, default: 'link', required: false , }, dataId: { type: String, default: '', required: true }, instanceId: { type: String, default: '', required: false }, text: { type: String, default: '撤回', required: false } }) const emit = defineEmits([ 'success' ]) const { proxy } = getCurrentInstance() as ComponentInternalInstance; const modalCancelVisible = ref(false) const cancelForm = ref({ reason: '' }) const submitLoading = ref(false) const cancel = () => { modalCancelVisible.value = true; } const handelSubmitCancel = () => { submitLoading.value = true; deleteByDataId(props.instanceId, cancelForm.value.reason,props.dataId) .then(res => { if (res.success) { proxy?.$modal.msgSuccess('操作成功'); modalCancelVisible.value = false; emit('success'); } else { proxy?.$modal.msgError(res.message); } }) .finally(() => (submitLoading.value = false)); } </script>
3、目前这个组件按钮被注释掉,暂时也不用,需要的时候也可以用