| | |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="审批" append-to-body v-model="approveBox" width="20%"> |
| | | <avue-form ref="form" :option="optionApprove" v-model="formApprove" @submit="handleSubmit" /> |
| | | <!-- <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="deployBox = false">取 消</el-button> |
| | | <el-button type="primary" @click="handleDoDeploy" :loading="deployLoading">确 定</el-button> |
| | | </span> |
| | | </template> --> |
| | | </el-dialog> |
| | | <!-- <el-dialog title="审批" append-to-body v-model="approveBox" width="100%"> |
| | | <div class="approve-box"> |
| | | <div class="left"> |
| | | <TodolistLeft :row="row"/> |
| | | </div> |
| | | <div class="right"> |
| | | <TodolistRightTop :row="row" /> |
| | | <avue-form ref="form" :option="optionApprove" v-model="formApprove" @submit="handleSubmit" /> |
| | | </div> |
| | | </div> |
| | | </el-dialog> --> |
| | | <el-drawer title="审批" append-to-body v-model="approveBox" size="100%" v-if="approveBox"> |
| | | <div class="approve-box"> |
| | | <div class="left"> |
| | | <TodolistLeft :row="row" @selection-change="selectionChange"/> |
| | | </div> |
| | | <div class="right"> |
| | | <TodolistRightTop :row="row" /> |
| | | <avue-form ref="form" :option="optionApprove" v-model="formApprove" @submit="handleSubmit" /> |
| | | </div> |
| | | </div> |
| | | </el-drawer> |
| | | </basic-container> |
| | | </template> |
| | | |
| | |
| | | import { getList, approve,getAssignee } from '@/api/flow/todolist'; |
| | | import { mapGetters } from 'vuex'; |
| | | import dayjs from 'dayjs'; |
| | | import TodolistLeft from './components/TodolistLeft.vue'; |
| | | import TodolistRightTop from './components/TodolistRightTop.vue'; |
| | | export default { |
| | | components: { |
| | | TodolistLeft, |
| | | TodolistRightTop |
| | | }, |
| | | data() { |
| | | return { |
| | | applist: [], |
| | | assigneeData: [], |
| | | row: {}, |
| | | approveBox: false, |
| | |
| | | rules: [{ required: true, message: '请选择审批结果', trigger: 'blur' }], |
| | | }, |
| | | { |
| | | label: '下一审批用户', |
| | | label: '发送给', |
| | | prop: 'assignee', |
| | | type: 'select', |
| | | // dicUrl: `/blade-mdm/flow/flow-user-list?deptId=0`, |
| | |
| | | form: {}, |
| | | query: {}, |
| | | loading: true, |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | }, |
| | | option: { |
| | | addBtn: false, |
| | | editBtn: false, |
| | |
| | | // viewBtn: true, |
| | | menuWidth: 100, |
| | | dialogClickModal: false, |
| | | |
| | | column: [ |
| | | { |
| | | label: '关键字', |
| | |
| | | // hide: true, |
| | | }, |
| | | { |
| | | label: '上一步用户', |
| | | width: 200, |
| | | prop: '', |
| | | formatter: (val, value, label) => { |
| | | return `${val?.variables?.approveUserNickName || ''}`; |
| | | }, |
| | | }, |
| | | { |
| | | label: '当前节点', |
| | | width: 200, |
| | | prop: 'taskName', |
| | | }, |
| | | { |
| | | label: '文件', |
| | | width: 200, |
| | | prop: '', |
| | | }, |
| | | { |
| | | label: '到达时间', |
| | | width: 200, |
| | | prop: 'createTime', |
| | |
| | | label: '到达描述', |
| | | width: 200, |
| | | prop: 'comment', |
| | | }, |
| | | { |
| | | label: '文件', |
| | | width: 200, |
| | | prop: '', |
| | | }, |
| | | { |
| | | label: '当前节点', |
| | | prop: 'taskName', |
| | | }, |
| | | |
| | | ], |
| | |
| | | ...this.formApprove, |
| | | taskId: this.row.taskId, |
| | | processInstanceId: this.row.processInstanceId, |
| | | programIds: this.applist.map(v => v.id).join(','), |
| | | }).then(res => { |
| | | this.$message.success('审批成功'); |
| | | this.approveBox = false; |
| | |
| | | createTimeEnd: params.createTimeEnd, |
| | | keyword: params.keyword || '' |
| | | } |
| | | this.query = data |
| | | this.onLoad(this.page, data); |
| | | done(); |
| | | }, |
| | |
| | | this.loading = false; |
| | | }); |
| | | }, |
| | | selectionChange (applist) { |
| | | this.applist = applist |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
| | | <style scoped="scoped" lang="scss"> |
| | | .approve-box { |
| | | display: flex; |
| | | & > div { |
| | | border: 1px solid #ccc; |
| | | } |
| | | .left { |
| | | width: 400px; |
| | | } |
| | | .right { |
| | | flex:1; |
| | | } |
| | | } |
| | | </style> |