editPrice.vue 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <template>
  2. <div>
  3. <el-button size="mini" type="text" :disabled="isEdit()" @click="editBtn">编 辑 价 格</el-button>
  4. <el-dialog title="编辑价格调整单商品价格" append-to-body :visible.sync="dialogFormVisible" size="500px">
  5. <div class="container">
  6. <el-row>
  7. <el-form :model="form" :rules="rules" ref="form" label-width="100px" label-position="right" size="mini">
  8. <!-- <el-col :span="24">
  9. <el-form-item label="价格等级" prop="pricegrade">
  10. <el-select v-model="form.pricegrade" placeholder="请选择价格等级">
  11. <el-option
  12. v-for="item in priceGrade()"
  13. :key="item.rowindex"
  14. :label="item.value"
  15. :value="item.rowindex">
  16. </el-option>
  17. </el-select>
  18. </el-form-item>
  19. </el-col> -->
  20. <!-- <el-col :span="24">
  21. <el-form-item label="牌价" prop="marketprice">
  22. <el-input size="mini" placeholder="请输入牌价" v-model="form.marketprice"></el-input>
  23. </el-form-item>
  24. </el-col> -->
  25. <el-col :span="12">
  26. <el-form-item label="一级原价" prop="price">
  27. <el-input size="mini" :disabled="true" placeholder="请输入调整价" v-model="form.oldprice1"></el-input>
  28. </el-form-item>
  29. </el-col>
  30. <el-col :span="12">
  31. <el-form-item label="一级调整价" prop="price1">
  32. <el-input size="mini" placeholder="请输入调整价" v-model="form.price1"></el-input>
  33. </el-form-item>
  34. </el-col>
  35. <!-- <el-col :span="12">
  36. <el-form-item label="二级原价" prop="price">
  37. <el-input size="mini" placeholder="请输入调整价" :disabled="true" v-model="form.oldprice2"></el-input>
  38. </el-form-item>
  39. </el-col>
  40. <el-col :span="12">
  41. <el-form-item label="二级调整价" prop="price2">
  42. <el-input size="mini" placeholder="请输入调整价" v-model="form.price2"></el-input>
  43. </el-form-item>
  44. </el-col>
  45. <el-col :span="12">
  46. <el-form-item label="三级原价" disabled prop="price">
  47. <el-input size="mini" placeholder="请输入调整价" :disabled="true" v-model="form.oldprice3"></el-input>
  48. </el-form-item>
  49. </el-col>
  50. <el-col :span="12">
  51. <el-form-item label="三级调整价" prop="price3">
  52. <el-input size="mini" placeholder="请输入调整价" v-model="form.price3"></el-input>
  53. </el-form-item>
  54. </el-col>
  55. <el-col :span="12">
  56. <el-form-item label="四级原价" disabled prop="price">
  57. <el-input size="mini" placeholder="请输入调整价" :disabled="true" v-model="form.oldprice4"></el-input>
  58. </el-form-item>
  59. </el-col>
  60. <el-col :span="12">
  61. <el-form-item label="四级调整价" prop="price4">
  62. <el-input size="mini" placeholder="请输入调整价" v-model="form.price4"></el-input>
  63. </el-form-item>
  64. </el-col>
  65. <el-col :span="12">
  66. <el-form-item label="五级原价" disabled prop="oldprice5">
  67. <el-input size="mini" placeholder="请输入调整价" :disabled="true" v-model="form.oldprice5"></el-input>
  68. </el-form-item>
  69. </el-col>
  70. <el-col :span="12">
  71. <el-form-item label="五级调整价" prop="price5">
  72. <el-input size="mini" placeholder="请输入调整价" v-model="form.price5"></el-input>
  73. </el-form-item>
  74. </el-col> -->
  75. </el-form>
  76. </el-row>
  77. </div>
  78. <div class="dialog-footer">
  79. <el-button size="small" @click="dialogFormVisible = false" class="normal-btn-width">取 消</el-button>
  80. <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
  81. </div>
  82. </el-dialog>
  83. </div>
  84. </template>
  85. <script>
  86. import { log } from '@antv/g2plot/lib/utils'
  87. export default {
  88. name: "add",
  89. components:{},
  90. props:['data'],
  91. inject:['priceGrade','isEdit'],
  92. data(){
  93. return {
  94. dialogFormVisible:false,
  95. projectAddress:[],
  96. priceArr:['price1','price2','price3','price4','price5'],
  97. form:{
  98. "price1":'',
  99. "price2":'',
  100. "price3":'',
  101. "price4":'',
  102. "price5":'',
  103. "oldprice1":'',
  104. "oldprice2":'',
  105. "oldprice3":'',
  106. "oldprice4":'',
  107. "oldprice5":'',
  108. "marketprice":''
  109. },
  110. rules:{
  111. price1:[
  112. { required: true, message: '请输入1级调整价', trigger: 'blur'},
  113. ],
  114. price2:[
  115. { required: true, message: '请输入2级调整价', trigger: 'blur'},
  116. ],
  117. price3:[
  118. { required: true, message: '请输入3级调整价', trigger: 'blur'},
  119. ],
  120. price4:[
  121. { required: true, message: '请输入4级调整价', trigger: 'blur'},
  122. ],
  123. price5:[
  124. { required: true, message: '请输入5级调整价', trigger: 'blur'},
  125. ],
  126. marketprice:[
  127. { required: true, message: '请输入牌价', trigger: 'blur'},
  128. ]
  129. }
  130. }
  131. },
  132. created () {
  133. },
  134. methods:{
  135. editBtn () {
  136. this.dialogFormVisible = true
  137. this.form = Object.assign({},this.form,this.data)
  138. },
  139. onSubmit(){
  140. this.$refs['form'].validate(async (valid) => {
  141. if (!valid) return false
  142. let content = this.priceArr.map((item,index) => {
  143. if (this.form[item] !== 0) {
  144. return {
  145. "pricegrade":index + 1,
  146. "price":this.form[item]
  147. }
  148. }
  149. }).filter(item => item)
  150. const res = await this.$api.requested({
  151. "id": "20221025165904",
  152. "content": {
  153. "sa_itempriceadjustid": this.$route.query.id,
  154. "marketprice":this.form.price1,
  155. "sa_itempriceadjust_itemsid":this.data.sa_itempriceadjust_itemsid,
  156. "sa_itempriceadjust_itemprice": content
  157. }
  158. })
  159. this.tool.showMessage(res,()=>{
  160. this.$emit('onSuccess')
  161. this.$refs['form'].resetFields();
  162. this.dialogFormVisible = false
  163. })
  164. })
  165. },
  166. }
  167. }
  168. </script>
  169. <style scoped>
  170. /deep/.el-select {
  171. height: 28px !important;
  172. width: 100%;
  173. }
  174. /deep/.el-input__inner {
  175. height: 28px !important;
  176. }
  177. </style>