ItdmGongdanDetailForm.vue 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <template>
  2. <a-spin :spinning="confirmLoading">
  3. <j-form-container :disabled="formDisabled">
  4. <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
  5. <a-row>
  6. <a-col :span="24">
  7. <a-form-model-item label="实绩任务日期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shijiWorkDate">
  8. <j-date placeholder="请选择实绩任务日期" v-model="model.shijiWorkDate" style="width: 100%" />
  9. </a-form-model-item>
  10. </a-col>
  11. <a-col :span="24">
  12. <a-form-model-item label="实绩试验开始时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shijiStartTime">
  13. <j-date placeholder="请选择实绩试验开始时间" v-model="model.shijiStartTime" :showTime="true" :dateFormat= "'HH:mm'" style="width: 100%" />
  14. </a-form-model-item>
  15. </a-col>
  16. <a-col :span="24">
  17. <a-form-model-item label="实绩试验结束时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shijiEndTime">
  18. <j-date placeholder="请选择实绩试验结束时间" v-model="model.shijiEndTime" :showTime="true" :dateFormat="'HH:mm'" style="width: 100%" />
  19. </a-form-model-item>
  20. </a-col>
  21. <!-- <a-col :span="24">-->
  22. <!-- <a-form-model-item label="状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">-->
  23. <!-- <j-dict-select-tag type="list" v-model="model.status" dictCode="test_plan_status" placeholder="请选择状态" />-->
  24. <!-- </a-form-model-item>-->
  25. <!-- </a-col>-->
  26. <a-col :span="24">
  27. <a-form-model-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
  28. <a-input v-model="model.remark" placeholder="请输入备注" ></a-input>
  29. </a-form-model-item>
  30. </a-col>
  31. </a-row>
  32. </a-form-model>
  33. </j-form-container>
  34. </a-spin>
  35. </template>
  36. <script>
  37. import { httpAction, getAction } from '@/api/manage'
  38. import { validateDuplicateValue } from '@/utils/util'
  39. export default {
  40. name: 'ItdmGongdanDetailForm',
  41. components: {
  42. },
  43. props: {
  44. //表单禁用
  45. disabled: {
  46. type: Boolean,
  47. default: false,
  48. required: false
  49. }
  50. },
  51. data () {
  52. return {
  53. model:{
  54. },
  55. labelCol: {
  56. xs: { span: 24 },
  57. sm: { span: 5 },
  58. },
  59. wrapperCol: {
  60. xs: { span: 24 },
  61. sm: { span: 16 },
  62. },
  63. confirmLoading: false,
  64. validatorRules: {
  65. woId: [
  66. { required: true, message: '请输入工单id!'},
  67. ],
  68. workDate: [
  69. { required: true, message: '请输入任务日期!'},
  70. ],
  71. startTime: [
  72. { required: true, message: '请输入试验开始时间!'},
  73. ],
  74. endTime: [
  75. { required: true, message: '请输入试验结束时间!'},
  76. ],
  77. },
  78. url: {
  79. add: "/gongdandetail/itdmGongdanDetail/add",
  80. edit: "/gongdandetail/itdmGongdanDetail/edit",
  81. queryById: "/gongdandetail/itdmGongdanDetail/queryById"
  82. }
  83. }
  84. },
  85. computed: {
  86. formDisabled(){
  87. return this.disabled
  88. },
  89. },
  90. created () {
  91. //备份model原始值
  92. this.modelDefault = JSON.parse(JSON.stringify(this.model));
  93. },
  94. methods: {
  95. add () {
  96. this.edit(this.modelDefault);
  97. },
  98. edit (record) {
  99. this.model = Object.assign({}, record);
  100. this.visible = true;
  101. },
  102. submitForm () {
  103. const that = this;
  104. // 触发表单验证
  105. this.$refs.form.validate(valid => {
  106. if (valid) {
  107. that.confirmLoading = true;
  108. let httpurl = '';
  109. let method = '';
  110. if(!this.model.id){
  111. httpurl+=this.url.add;
  112. method = 'post';
  113. }else{
  114. httpurl+=this.url.edit;
  115. method = 'put';
  116. }
  117. httpAction(httpurl,this.model,method).then((res)=>{
  118. if(res.success){
  119. that.$message.success(res.message);
  120. that.$emit('ok');
  121. }else{
  122. that.$message.warning(res.message);
  123. }
  124. }).finally(() => {
  125. that.confirmLoading = false;
  126. })
  127. }
  128. })
  129. },
  130. }
  131. }
  132. </script>