|
@@ -5,8 +5,8 @@
|
|
|
width="800"
|
|
|
>
|
|
|
<el-form
|
|
|
-
|
|
|
- :action="approvalUrl + '?updateSupport=' + updateSupport">
|
|
|
+ v-loading="formLoading"
|
|
|
+ >
|
|
|
<el-form-item>
|
|
|
<el-radio-group v-model="approvalStatus">
|
|
|
<el-radio :label="1">通过</el-radio>
|
|
@@ -15,13 +15,12 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="approvalStatus === 2">
|
|
|
<el-input
|
|
|
- v-model="chkRemarks"
|
|
|
+ v-model="formData.remarks"
|
|
|
style="width:800px ;height: 200px"
|
|
|
placeholder="请输入驳回原因"
|
|
|
type="textarea"
|
|
|
autosize
|
|
|
/>
|
|
|
-
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
|
|
@@ -30,67 +29,87 @@
|
|
|
<el-button type="danger" @click="dialogVisible = false">取消</el-button>
|
|
|
</div>
|
|
|
</Dialog>
|
|
|
+
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
-import { getAccessToken, getTenantId } from '@/utils/auth'
|
|
|
-import { ref } from 'vue'
|
|
|
-const approvalUrl =
|
|
|
- import.meta.env.VITE_BASE_URL + import.meta.env.VITE_API_URL + '/museums/specimen-outbound/reject'
|
|
|
+import { ref, defineEmits, nextTick } from 'vue'
|
|
|
|
|
|
+import {SpecimenOutboundApi} from "@/api/museums/specimenoutbound";
|
|
|
const {t} = useI18n() // 国际化
|
|
|
const approvalStatus = ref(0);
|
|
|
const uploadRef = ref()
|
|
|
const formLoading = ref(false) // 表单的加载中
|
|
|
const dialogVisible = ref(false) // 弹窗的是否展示
|
|
|
-const dialogTitle = ref('') // 弹窗的标题
|
|
|
+
|
|
|
const chkRemarks = ref('')
|
|
|
const message = useMessage() // 消息弹窗
|
|
|
-const processInstanceId = ref([]) // 文件列表
|
|
|
-const uploadHeaders = ref() // 上传 Header 头
|
|
|
-const updateSupport = ref(0) // 是否更新已经存在的用户数据
|
|
|
+// const processInstanceId = ref([]) // 文件列表
|
|
|
+
|
|
|
+// const updateSupport = ref(0) // 是否更新已经存在的标本数据
|
|
|
+const formData = ref({
|
|
|
+ id: undefined,
|
|
|
+ processInstanceId:undefined,
|
|
|
+ remarks : undefined
|
|
|
+})
|
|
|
/** 打开弹窗 */
|
|
|
-const open = async (type: string, ) => {
|
|
|
+const open = async (id?: number) => {
|
|
|
dialogVisible.value = true
|
|
|
- formLoading.value = true
|
|
|
+ // formLoading.value = true
|
|
|
approvalStatus.value = 0
|
|
|
- dialogVisible.value = true
|
|
|
- updateSupport.value = 0
|
|
|
- dialogTitle.value = t('action.' + type)
|
|
|
- processInstanceId.value = []
|
|
|
+
|
|
|
+ // updateSupport.value = 0
|
|
|
+ // processInstanceId.value = []
|
|
|
+ chkRemarks.value = '';
|
|
|
+ formData.value.id = id
|
|
|
resetForm()
|
|
|
+ console.log(id)
|
|
|
+ // if (id) {
|
|
|
+ // // console.log(id,formData)
|
|
|
+ // formData.value.id = id
|
|
|
+ // console.log(formData.value)
|
|
|
+ // formLoading.value = true
|
|
|
+ // // try {
|
|
|
+ // // // formData.value = await SpecimenOutboundApi.ApprovalSpecimenOutbound(id)
|
|
|
+ // // }
|
|
|
+ // finally {
|
|
|
+ // formLoading.value = false
|
|
|
+ // }
|
|
|
+ // }
|
|
|
}
|
|
|
defineExpose({ open })// 提供 open 方法,用于打开弹窗
|
|
|
|
|
|
|
|
|
+
|
|
|
/** 提交审批 */
|
|
|
+const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
|
|
|
const submitApproval = async () => {
|
|
|
+
|
|
|
+ // const id= formData.value as unknown as SpecimenOutboundVO
|
|
|
if (approvalStatus.value === 2 && !chkRemarks.value.trim()) {
|
|
|
- message.error('请输入驳回原因')
|
|
|
- formLoading.value = false
|
|
|
- return
|
|
|
- }
|
|
|
- // 提交请求
|
|
|
- uploadHeaders.value = {
|
|
|
- Authorization: 'Bearer ' + getAccessToken(),
|
|
|
- 'tenant-id': getTenantId()
|
|
|
+ // await SpecimenOutboundApi.ApprovalSpecimenOutbound(formData.value.id)
|
|
|
+ message.error(t('请输入驳回原因'))
|
|
|
+ return// 阻止表单提交
|
|
|
}
|
|
|
- formLoading.value = true
|
|
|
-
|
|
|
+ // formLoading.value = true;
|
|
|
try {
|
|
|
- // 这里应该添加实际的请求发送代码,例如使用 axios 或其他 HTTP 库
|
|
|
- // await axios.post(approvalUrl, { approvalStatus, chkRemarks, updateSupport }, { headers })
|
|
|
- console.log('提交审批请求...')
|
|
|
- dialogVisible.value = false;
|
|
|
- } catch (error) {
|
|
|
- message.error('审批提交失败')
|
|
|
+ formLoading.value = true;
|
|
|
+ if (approvalStatus.value === 1) {
|
|
|
+ await SpecimenOutboundApi.ApprovalPassSpecimenOutbound(formData.value)
|
|
|
+ } else {
|
|
|
+ await SpecimenOutboundApi.ApprovalSpecimenOutbound(formData.value);
|
|
|
+ }
|
|
|
+ message.success(t('common.updateSuccess'));
|
|
|
+ dialogVisible.value = false
|
|
|
+ // 发送操作成功的事件
|
|
|
+ emit('success')
|
|
|
} finally {
|
|
|
formLoading.value = false
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
/** 重置表单 */
|
|
|
const resetForm = async (): Promise<void> => {
|
|
|
// 重置上传状态和文件
|