MainForm.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <template>
  2. <div>
  3. <el-form label-width="88px" ref="form" :model="form" style="display:flex;flex-wrap: wrap">
  4. <el-form-item :label="item.name" v-for="(item,index) in searchdata" :key="item.index":label-width="item.labelSize + 'px'" :rules="[item.rules]" :prop="item.label" v-if="(index+1) <= inDex">
  5. <el-select v-if="item.form == 1" filterable @change="changeWarehouse" :disabled="item.disabled" clearable v-model="form[item.label]" :style="{ width: item.width + 'px' }">
  6. <el-option v-for="(item,index) in item.data"
  7. :key="index"
  8. :label="item.label"
  9. :value="item.value"/>
  10. </el-select>
  11. <el-input v-if="item.form == 2" :placeholder="'请输入'+item.name" :disabled="item.disabled" v-model="form[item.label]" :style="{ width: item.width + 'px' }"></el-input>
  12. <el-input v-if="item.form == 4":disabled="item.disabled" type="textarea" v-model="form[item.label]" :style="{ width: item.width + 'px' }"></el-input>
  13. <el-date-picker
  14. v-if="item.form == 3"
  15. :disabled="item.disabled"
  16. v-model="form[item.label]"
  17. :style="{ width: item.width + 'px' }"
  18. type="date" placeholder="选择日期"
  19. format="yyyy - MM - dd"
  20. value-format="yyyy-MM-dd"/>
  21. <el-date-picker
  22. v-if="item.form == 6"
  23. :disabled="item.disabled"
  24. v-model="form[item.label]"
  25. type="daterange"
  26. range-separator="至"
  27. start-placeholder="开始日期"
  28. end-placeholder="结束日期"
  29. value-format="yyyy-MM-dd"/>
  30. <div v-if="item.form == 5" v-model="form[item.label]" style="width: 100%;display:flex;">
  31. <el-input clearable v-model="form.first " oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")'></el-input>
  32. <span style="padding-left: 10px;padding-right: 10px">至</span>
  33. <el-input v-model="form.last" clearable oninput='this.value=this.value.replace(/[^\-?\d.]/g,"").replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")' @change="changeMoney"></el-input></div>
  34. </el-form-item>
  35. </el-form>
  36. </div>
  37. </template>
  38. <script>
  39. export default {
  40. name: 'MainForm',
  41. props:['searchdata','hidedata','display','queryParms','form','data','show','inDex'],
  42. data() {
  43. return{
  44. }
  45. },
  46. created() {
  47. console.log(this.searchdata)
  48. },
  49. methods:{
  50. changeWarehouse(){
  51. this.$emit('changeWarehouse')
  52. },
  53. hide() {
  54. if(this.form.first && this.form.last){
  55. this.form.moneys = [this.form.first,this.form.last]
  56. }
  57. },
  58. rules(){
  59. console.log(this.form)
  60. this.$refs["form"].validate((valid) => {
  61. this.$emit('verificationRules',valid)
  62. })
  63. },
  64. saveRules(res){
  65. this.$refs["form"].validate((valid) => {
  66. if (res == 1 || res == 2){
  67. this.$emit('backSave',valid,res)
  68. }else {
  69. this.$emit('backSave',valid)
  70. }
  71. })
  72. },
  73. changeMoney(){
  74. if(parseInt(this.form.last) < parseInt(this.form.first)){
  75. this.$message.error("第二个金额不能小于第一个金额,请重新输入")
  76. this.form.last = ''
  77. }
  78. },
  79. }
  80. }
  81. </script>
  82. <style scoped>
  83. </style>