You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
2.6 KiB
106 lines
2.6 KiB
<template> |
|
<uni-forms ref="form" :modelValue="formData" :rules="rules" label-width="210rpx" style="margin: 12px"> |
|
<uni-forms-item label="附件" name="files" label-position="top" required> |
|
<upload v-model="formData.files" /> |
|
</uni-forms-item> |
|
<uni-forms-item label="是否存在问题" name="hasProblem" required> |
|
<uni-data-checkbox v-model="formData.hasProblem" :localdata="hasProblem" /> |
|
</uni-forms-item> |
|
<uni-forms-item label="涉及人员" name="peoples" v-if="formData.hasProblem === true"> |
|
<police-picker v-model="formData.peoples" :departId="formData.departId" /> |
|
</uni-forms-item> |
|
<uni-forms-item label="检查情况" name="thingDesc" label-position="top" required v-if="formData.hasProblem === true"> |
|
<uni-easyinput type="textarea" :input-border="false" placeholder="请输入检查情况" v-model="formData.thingDesc" /> |
|
</uni-forms-item> |
|
</uni-forms> |
|
<view class="footer col-24 flex gap-8"> |
|
<button class="col-12" @tap="back">取消</button> |
|
<button type="primary" @tap="submit" class="col-12">确定</button> |
|
</view> |
|
</template> |
|
|
|
<script> |
|
import { |
|
departTree |
|
} from '@/api/depart' |
|
import { |
|
addProblem |
|
} from '@/api/taskProblem.js' |
|
|
|
let _this; |
|
export default { |
|
data() { |
|
return { |
|
formData: { |
|
files: this.$page.options.files? JSON.parse(this.$page.options.files) : [], |
|
taskId: this.$page.options.taskId || '', |
|
contentId: this.$page.options.contentId, |
|
departId: this.$page.options.departId |
|
}, |
|
hasProblem: [ |
|
{ |
|
text: '是', |
|
value: true |
|
}, |
|
{ |
|
text: '否', |
|
value: false |
|
}, |
|
], |
|
rules: { |
|
files: { |
|
rules: [{ |
|
validateFunction: function(rule,value,data,callback){ |
|
if (!value || value.length === 0) { |
|
callback('请上传附件') |
|
} |
|
return true |
|
} |
|
}] |
|
}, |
|
hasProblem: { |
|
rules: [{ |
|
required: true, |
|
errorMessage: '请选择是否存在问题', |
|
}] |
|
}, |
|
thingDesc: { |
|
rules: [{ |
|
required: true, |
|
errorMessage: '请输入检测情况', |
|
}] |
|
}, |
|
}, |
|
needSeelctTaskFlag: true |
|
} |
|
}, |
|
onLoad() { |
|
_this = this; |
|
}, |
|
methods: { |
|
submit() { |
|
this.$refs.form.validate().then(res => { |
|
addProblem(this.formData.taskId, this.formData).then(data => { |
|
_this.formData = { |
|
files: [], |
|
taskId: _this.$page.options.taskId || '' |
|
} |
|
uni.navigateBack({ |
|
|
|
}); |
|
}) |
|
}).catch(err => { |
|
console.log('表单错误信息:', err, this.formData); |
|
}) |
|
}, |
|
back() { |
|
uni.navigateBack({ |
|
|
|
}); |
|
} |
|
} |
|
} |
|
</script> |
|
|
|
<style> |
|
</style> |