ItdmWeituoInfoForm.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <template>
  2. <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
  3. <a-row :gutter="16">
  4.     <a-col :span="24">
  5.       <a-form-model-item label="审核状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shenheStatus">
  6.         <a-radio-group v-model="model.shenheStatus" :disabled="formDisabled">
  7.           <a-radio-button value="0">未审核</a-radio-button>
  8.           <a-radio-button value="1">审核确认</a-radio-button>
  9.           <a-radio-button value="2">审核拒绝</a-radio-button>
  10.         </a-radio-group>
  11.       </a-form-model-item>
  12.     </a-col>
  13.     <a-col :span="24" v-if="model.shenheStatus === '2'">
  14.       <a-form-model-item label="拒绝理由" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shenheMsg">
  15.         <a-textarea v-model="model.shenheMsg" placeholder="请输入拒绝理由" :disabled="formDisabled"></a-textarea>
  16.       </a-form-model-item>
  17.     </a-col>
  18.    <a-col :span="24" v-else-if="model.shenheStatus === '1'">
  19.       <a-form-model-item label="委托单编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="weituoNo">
  20.         <a-textarea v-model="model.weituoNo" placeholder="请输入委托单编号" :disabled="formDisabled"></a-textarea>
  21.       </a-form-model-item>
  22.     </a-col>
  23.   </a-row>
  24. </a-form-model>
  25. </template>
  26. <script>
  27. import { httpAction, getAction } from '@/api/manage'
  28. import { validateDuplicateValue } from '@/utils/util'
  29. export default {
  30. name: 'ItdmWeituoInfoForm',
  31. components: {
  32. },
  33. props: {
  34. //表单禁用
  35. disabled: {
  36. type: Boolean,
  37. default: false,
  38. required: false
  39. }
  40. },
  41. data () {
  42. return {
  43. model:{
  44. },
  45. labelCol: {
  46. xs: { span: 24 },
  47. sm: { span: 5 },
  48. },
  49. wrapperCol: {
  50. xs: { span: 24 },
  51. sm: { span: 16 },
  52. },
  53. confirmLoading: false,
  54. validatorRules: {
  55. weituoNo: [
  56. { min: 1, max: 12, message: "长度不超过12个字符", trigger: "blur" }
  57. ],
  58. },
  59. url: {
  60. add: "/weituo/itdmWeituoInfo/add",
  61. edit: "/weituo/itdmWeituoInfo/saveOrUpdateWeituo",
  62. queryById: "/weituo/itdmWeituoInfo/queryById"
  63. }
  64. }
  65. },
  66. computed: {
  67. formDisabled(){
  68. return this.disabled
  69. },
  70. },
  71. created () {
  72. //备份model原始值
  73. this.modelDefault = JSON.parse(JSON.stringify(this.model));
  74. },
  75. methods: {
  76. add () {
  77. this.edit(this.modelDefault);
  78. },
  79. edit (record) {
  80. this.model = Object.assign({}, record);
  81. this.visible = true;
  82. },
  83. submitForm () {
  84. const that = this;
  85. // 触发表单验证
  86. this.$refs.form.validate(valid => {
  87. if (valid) {
  88. that.confirmLoading = true;
  89. let httpurl = '';
  90. let method = '';
  91. if(!this.model.id){
  92. httpurl+=this.url.add;
  93. method = 'post';
  94. }else{
  95. httpurl+=this.url.edit;
  96. method = 'put';
  97. }
  98. httpAction(httpurl,this.model,method).then((res)=>{
  99. if(res.success){
  100. that.$message.success(res.message);
  101. that.$emit('ok');
  102. }else{
  103. that.$message.warning(res.message);
  104. }
  105. }).finally(() => {
  106. that.confirmLoading = false;
  107. })
  108. }
  109. })
  110. },
  111. handleCategoryChange(value,backObj){
  112. this.model = Object.assign(this.model, backObj);
  113. }
  114. }
  115. }
  116. </script>