血透系统PC前端

goodInfoDailog.vue 6.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. <template>
  2. <el-dialog width="854px" :title="titles" :visible.sync="visibility" :close-on-click-modal="isClose"
  3. :close-on-press-escape="isClose">
  4. <el-form class="demo-form-inline"
  5. :rules="rules" :model="form" ref="form"
  6. label-width="116px">
  7. <el-row>
  8. <el-col :span="8">
  9. <el-form-item label="商品类型" prop="good_id">
  10. <el-select v-model="form.good_id" placeholder="请选择" size="small" >
  11. <el-option
  12. v-for="item in form.goodType"
  13. :key="item.id"
  14. :label="item.type_name"
  15. :value="item.id">
  16. </el-option>
  17. </el-select>
  18. </el-form-item>
  19. </el-col>
  20. <el-col :span="8">
  21. <el-form-item label="规格名称" prop="specification_name">
  22. <el-input v-model="form.specification_name"></el-input>
  23. </el-form-item>
  24. </el-col>
  25. <el-col :span="8">
  26. <el-form-item label="单位" prop="good_unit">
  27. <el-select v-model="good_unit" @change="changeSelected" placeholder="请选择">
  28. <el-option
  29. v-for="item in form.goodUnit"
  30. :key="item.id"
  31. :label="item.name"
  32. :value="item.id">
  33. </el-option>
  34. </el-select>
  35. </el-form-item>
  36. </el-col>
  37. </el-row>
  38. <el-row>
  39. <el-col :span="8">
  40. <el-form-item label="生产厂家" prop="dealer">
  41. <el-select v-model="form.manufacturer" placeholder="请选择">
  42. <el-option
  43. v-for="item in form.manufacturers"
  44. :key="item.id"
  45. :label="item.manufacturer_name"
  46. :value="item.id">
  47. </el-option>
  48. </el-select>
  49. </el-form-item>
  50. </el-col>
  51. <el-col :span="8">
  52. <el-form-item label="经销商" prop="manufacturer">
  53. <el-select v-model="form.dealer" placeholder="请选择">
  54. <el-option
  55. v-for="item in form.dealers"
  56. :key="item.id"
  57. :label="item.dealer_name"
  58. :value="item.id">
  59. </el-option>
  60. </el-select>
  61. </el-form-item>
  62. </el-col>
  63. <el-col :span="8">
  64. <el-form-item label="进货价" prop="buy_price">
  65. <el-input type="number" v-model="form.buy_price"></el-input>
  66. </el-form-item>
  67. </el-col>
  68. </el-row>
  69. <el-row>
  70. <el-col :span="8">
  71. <el-form-item label="出货价" prop="sell_price">
  72. <el-input type="number" v-model="form.sell_price"></el-input>
  73. </el-form-item>
  74. </el-col>
  75. <el-col :span="8">
  76. <el-form-item label="有效期预警天数" prop="expiry_date_warn_day_count">
  77. <el-input type="number" v-model="form.expiry_date_warn_day_count"></el-input>
  78. </el-form-item>
  79. </el-col>
  80. <el-col :span="8">
  81. <el-form-item label="库存预警数量" prop="stock_warn_count">
  82. <el-input type="number" v-model="form.stock_warn_count"></el-input>
  83. </el-form-item>
  84. </el-col>
  85. </el-row>
  86. <el-row>
  87. <el-col :span="16">
  88. <el-form-item label="是否可复用" prop="is_reuse">
  89. <el-radio v-model="form.is_reuse" label="1">可以</el-radio>
  90. <el-radio v-model="form.is_reuse" label="2">不可以</el-radio>
  91. </el-form-item>
  92. </el-col>
  93. </el-row>
  94. <el-col>
  95. <el-form-item label="备注" prop="remark">
  96. <el-input type="textarea" :row="5" v-model="form.remark"
  97. placeholder="请输入内容">
  98. </el-input>
  99. </el-form-item>
  100. </el-col>
  101. </el-form>
  102. <span slot="footer" class="dialog-footer">
  103. <el-button v-if="isCreated == 3" @click="cancle('form')">取 消</el-button>
  104. <el-button v-if="isCreated != 3 " @click="cancle('form')">取 消</el-button>
  105. <el-button v-if="isCreated != 3" type="primary" @click="comfirm('form')">保 存</el-button>
  106. </span>
  107. </el-dialog>
  108. </template>
  109. <script>
  110. export default {
  111. name: 'goodInfoDailog',
  112. data() {
  113. return {
  114. good_unit: '',
  115. isClose: false,
  116. size: 11,
  117. visibility:false,
  118. form: {
  119. good_id: '',
  120. specification_name: '',
  121. buy_price: '',
  122. sell_price: '',
  123. remark: '',
  124. manufacturer: '',
  125. dealer: '',
  126. expiry_date_warn_day_count: '',
  127. stock_warn_count: '',
  128. is_reuse: '2'
  129. },
  130. rules: {
  131. specification_name: [
  132. { required: true, message: '请输入规格名称', trigger: 'blur' }
  133. ],
  134. good_id: [
  135. { required: true, message: '请选择商品类型', trigger: 'change' }
  136. ]
  137. }
  138. }
  139. },
  140. props: {
  141. titles: {
  142. type: String,
  143. default: ''
  144. },
  145. formValue: {
  146. type: Object
  147. },
  148. isCreated: {
  149. type: Number,
  150. default: 1
  151. }
  152. },
  153. methods: {
  154. show:function(){
  155. this.visibility = true
  156. },hide:function(){
  157. this.visibility = false
  158. },
  159. cancle: function(formName) {
  160. this.$emit('dialog-cancle', this.getValue())
  161. },
  162. comfirm: function(formName) {
  163. this.$refs[formName].validate((valid) => {
  164. if (valid) {
  165. this.$emit('dialog-comfirm', this.getValue())
  166. }
  167. })
  168. },
  169. getValue: function() {
  170. const form = {}
  171. form['specification_name'] = this.form.specification_name
  172. form['good_unit'] = this.good_unit
  173. form['buy_price'] = this.form.buy_price
  174. form['sell_price'] = this.form.sell_price
  175. form['remark'] = this.form.remark
  176. form['manufacturer'] = this.form.manufacturer
  177. form['dealer'] = this.form.dealer
  178. form['expiry_date_warn_day_count'] = this.form.expiry_date_warn_day_count
  179. form['stock_warn_count'] = this.form.stock_warn_count
  180. form['is_reuse'] = this.form.is_reuse
  181. form['isCreated'] = this.isCreated
  182. form['good_id'] = this.form.good_id
  183. return form
  184. }, changeSelected: function(val) {
  185. console.log(val)
  186. }
  187. },
  188. watch: {
  189. visibility(val) {
  190. this.form = this.formValue
  191. console.log(this.form)
  192. this.good_unit = this.formValue.good_unit
  193. if (this.isCreated == 1) {
  194. this.good_unit = ''
  195. }
  196. }
  197. }
  198. }
  199. </script>
  200. <style scoped>
  201. </style>