<template> <view class="content"> <view class="card"> <u-form labelPosition="top" :model="form" :rules="rules" ref="formRef" labelWidth="140px"> <u-form-item label="审批结果" prop="APPROVAL_RESULTS" borderBottom required labelPosition="left"> <u-radio-group v-model="form.APPROVAL_RESULTS"> <u-radio label="通过" name="1"/> <u-radio :customStyle="{marginLeft: '8px'}" label="不通过" name="0"/> </u-radio-group> </u-form-item> <u-form-item label="审批意见" prop="APPROVAL_OPINIONS" borderBottom required> <u-textarea v-model="form.APPROVAL_OPINIONS" border="none" autoHeight/> </u-form-item> <u-form-item label="签字" prop="SIGN" borderBottom required> <view style="flex: 1"> <view> <u-button type="primary" size="mini" text="签字" :customStyle="{position: 'absolute',top: '-46upx',right: '20upx',width: '100upx'}" @click="signVisible = true"/> </view> <view v-if="form.SIGN"> <u-image width="400rpx" height="200rpx" :src="form.SIGN"/> </view> </view> </u-form-item> </u-form> <view class="mt-10"> <u-button type="primary" text="下一步" @click="$u.debounce(fnSubmit, 1000,true)"/> </view> </view> <sign :signShow.sync="signVisible" @confirm="fnSign"/> </view> </template> <script> import Sign from '@/components/sign/sign.vue' import {setTaskFile, setTaskSign} from "@/api"; import {resolveNextOperation} from "@/utils/submitHomeworkProcess"; export default { components: { Sign, }, data() { return { EW_RU_JOB_ID: '', TYPE: '', taskId: '', CORP_ID: '', vernier: '', signVisible: false, form: { APPROVAL_RESULTS: '', APPROVAL_OPINIONS: '', SIGN: '', }, rules: { APPROVAL_RESULTS: [{type: 'string', required: true, message: '请选择审批结果', trigger: ['blur', 'change']}], APPROVAL_OPINIONS: [{type: 'string', required: true, message: '请输入审批意见', trigger: ['blur', 'change']}], SIGN: [{type: 'string', required: true, message: '请签字', trigger: ['blur', 'change']}], }, } }, onLoad(query) { this.EW_RU_JOB_ID = query.EW_RU_JOB_ID this.TYPE = query.TYPE this.taskId = query.taskId this.vernier = query.vernier }, methods: { fnSign(event) { this.form.SIGN = event.path }, async fnSubmit() { try { await this.$refs.formRef.validate() try { const {CODE} = await setTaskFile({formData: {type: 0}, name: 'files', filePath: this.form.SIGN}) await setTaskSign({ IMG_CODE: CODE, ...this.form, SIGN: '', EW_RU_JOB_ID: this.EW_RU_JOB_ID, EW_RU_TASK_ID: this.taskId }) await resolveNextOperation({ EW_RU_TASK_ID: this.taskId, CORP_ID: null, TYPE: this.TYPE, EW_RU_JOB_ID:this.EW_RU_JOB_ID, vernier: this.vernier }) } catch(e) { console.log(e) } } catch { uni.$u.toast('请补全必填项') } } }, } </script> <style scoped lang="scss"> </style>