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.

153 lines
5.4 KiB

7 months ago
7 months ago
7 months ago
  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="商品id" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="goodsId">-->
  8. <!-- <j-dict-select-tag type="list" v-model="model.goodsId" dictCode="" placeholder="请选择商品id" />-->
  9. <!-- </a-form-model-item>-->
  10. <!-- </a-col>-->
  11. <a-col :span="24">
  12. <a-form-model-item label="标题" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="title">
  13. <a-input v-model="model.title" placeholder="请输入标题" ></a-input>
  14. </a-form-model-item>
  15. </a-col>
  16. <a-col :span="24">
  17. <a-form-model-item label="颜色" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="colour">
  18. <a-input v-model="model.colour" placeholder="请输入颜色" ></a-input>
  19. </a-form-model-item>
  20. </a-col>
  21. <a-col :span="24">
  22. <a-form-model-item label="原价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="originalPrice">
  23. <a-input-number v-model="model.originalPrice" placeholder="请输入原价" style="width: 100%" />
  24. </a-form-model-item>
  25. </a-col>
  26. <a-col :span="24">
  27. <a-form-model-item label="租金" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="price">
  28. <a-input-number v-model="model.price" placeholder="请输入价格" style="width: 100%" />
  29. </a-form-model-item>
  30. </a-col>
  31. <a-col :span="24">
  32. <a-form-model-item label="图片" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="pic">
  33. <j-image-upload isMultiple v-model="model.pic" ></j-image-upload>
  34. </a-form-model-item>
  35. </a-col>
  36. <!-- <a-col :span="24">-->
  37. <!-- <a-form-model-item label="租金" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="depositPrice">-->
  38. <!-- <a-input-number v-model="model.depositPrice" placeholder="请输入租金" style="width: 100%" />-->
  39. <!-- </a-form-model-item>-->
  40. <!-- </a-col>-->
  41. <a-col :span="24">
  42. <a-form-model-item label="排序" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sort">
  43. <a-input-number v-model="model.sort" placeholder="请输入排序" style="width: 100%" />
  44. </a-form-model-item>
  45. </a-col>
  46. <!-- <a-col :span="24">-->
  47. <!-- <a-form-model-item label="delFlag" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag">-->
  48. <!-- <j-dict-select-tag type="radio" v-model="model.delFlag" dictCode="is_delete" placeholder="请选择delFlag" />-->
  49. <!-- </a-form-model-item>-->
  50. <!-- </a-col>-->
  51. </a-row>
  52. </a-form-model>
  53. </j-form-container>
  54. </a-spin>
  55. </template>
  56. <script>
  57. import { httpAction, getAction } from '@/api/manage'
  58. import { validateDuplicateValue } from '@/utils/util'
  59. export default {
  60. name: 'HotelGoodsSkuForm',
  61. components: {
  62. },
  63. props: {
  64. //表单禁用
  65. disabled: {
  66. type: Boolean,
  67. default: false,
  68. required: false
  69. }
  70. },
  71. data () {
  72. return {
  73. model:{
  74. delFlag:0,
  75. },
  76. labelCol: {
  77. xs: { span: 24 },
  78. sm: { span: 5 },
  79. },
  80. wrapperCol: {
  81. xs: { span: 24 },
  82. sm: { span: 16 },
  83. },
  84. confirmLoading: false,
  85. validatorRules: {
  86. sort: [
  87. { required: true, message: '请输入排序!'},
  88. ],
  89. delFlag: [
  90. { required: true, message: '请输入delFlag!'},
  91. ],
  92. },
  93. url: {
  94. add: "/hotelgoodssku/hotelGoodsSku/add",
  95. edit: "/hotelgoodssku/hotelGoodsSku/edit",
  96. queryById: "/hotelgoodssku/hotelGoodsSku/queryById"
  97. }
  98. }
  99. },
  100. computed: {
  101. formDisabled(){
  102. return this.disabled
  103. },
  104. },
  105. created () {
  106. //备份model原始值
  107. this.modelDefault = JSON.parse(JSON.stringify(this.model));
  108. },
  109. methods: {
  110. add () {
  111. this.edit(this.modelDefault);
  112. },
  113. edit (record) {
  114. this.model = Object.assign({}, record);
  115. this.visible = true;
  116. },
  117. submitForm () {
  118. const that = this;
  119. // 触发表单验证
  120. this.$refs.form.validate(valid => {
  121. if (valid) {
  122. that.confirmLoading = true;
  123. let httpurl = '';
  124. let method = '';
  125. // console.log("23123123123",this.model.selectedroles)
  126. // return;
  127. if(!this.model.id){
  128. httpurl+=this.url.add;
  129. method = 'post';
  130. }else{
  131. httpurl+=this.url.edit;
  132. method = 'put';
  133. }
  134. this.model.goodsId = this.model.selectedroles;
  135. httpAction(httpurl,this.model,method).then((res)=>{
  136. if(res.success){
  137. that.$message.success(res.message);
  138. that.$emit('ok');
  139. }else{
  140. that.$message.warning(res.message);
  141. }
  142. }).finally(() => {
  143. that.confirmLoading = false;
  144. })
  145. }
  146. })
  147. },
  148. }
  149. }
  150. </script>