index.vue 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <!-- 商品详情-询价申请 -->
  2. <template>
  3. <app-drawer title="询价" :width="600" v-model:show="show" :loading="loading">
  4. <el-form ref="formRef" label-width="60px" :model="formData" :rules="formRules">
  5. <el-form-item label="价格" prop="ApplyPrice">
  6. <div class="el-form-item--col">
  7. <el-input type="number" placeholder="请输入" v-model.number="formData.ApplyPrice" />
  8. <span style="white-space:nowrap;">汇率:6.7500</span>
  9. </div>
  10. </el-form-item>
  11. <el-form-item label="备注" prop="ApplyRemark">
  12. <el-input type="textarea" :rows="3" v-model="formData.ApplyRemark" />
  13. </el-form-item>
  14. </el-form>
  15. <template #footer>
  16. <el-button @click="onCancel" plain>取消</el-button>
  17. <el-button type="primary" @click="onSubmit">确认</el-button>
  18. </template>
  19. </app-drawer>
  20. </template>
  21. <script lang="ts" setup>
  22. import { ref, PropType } from 'vue'
  23. import { ElMessage } from 'element-plus'
  24. import type { FormInstance, FormRules } from 'element-plus'
  25. import { useBuyOrderInquiry } from '@/business/order/desting'
  26. import AppDrawer from '@pc/components/base/drawer/index.vue'
  27. const props = defineProps({
  28. selectedRow: {
  29. type: Object as PropType<Ermcp.MyWRPositionRsp>,
  30. default: () => ({})
  31. }
  32. })
  33. const { loading, formData, formSubmit } = useBuyOrderInquiry(props.selectedRow)
  34. const formRef = ref<FormInstance>()
  35. const show = ref(true)
  36. const formRules: FormRules = {
  37. ApplyPrice: [{ required: true, message: '请输入价格', trigger: 'blur' }],
  38. }
  39. const onCancel = () => {
  40. show.value = false
  41. }
  42. const onSubmit = () => {
  43. formRef.value?.validate((valid) => {
  44. if (valid) {
  45. formSubmit().then(() => {
  46. ElMessage.success('提交成功')
  47. onCancel()
  48. }).catch((err) => {
  49. ElMessage.error('提交失败:' + err)
  50. })
  51. }
  52. })
  53. }
  54. </script>