addimg.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <template>
  2. <view>
  3. <view class="status_bar"></view>
  4. <view class="" style="position: relative;top: 64px;">
  5. <view style="position: fixed;z-index: 100;">
  6. <uni-nav-bar @clickLeft="clickLeft" left-icon="back" title="手动添加"></uni-nav-bar>
  7. </view>
  8. <view class="imgform">
  9. <u-form :model="form" ref="uForm">
  10. <u-form-item label="害虫名称" :required="requireds" label-width="150rpx" prop="pest_name" class="form_item">
  11. <u-input v-model="form.pest_name" />
  12. </u-form-item>
  13. <u-form-item label="害虫数量" :required="requireds" label-width="150rpx" prop="pest_num" class="form_item">
  14. <u-input v-model="form.pest_num" type="number" />
  15. </u-form-item>
  16. <u-form-item label="作物种类" label-width="150rpx" class="form_item">
  17. <u-input v-model="form.crop_name" />
  18. </u-form-item>
  19. <u-form-item label="虫害阶段" label-width="150rpx" class="form_item">
  20. <u-input v-model="form.pest_case" />
  21. </u-form-item>
  22. </u-form>
  23. <view class="imgform_btn">
  24. <button @click="ensure">确定</button>
  25. <button @click="cancel">取消</button>
  26. </view>
  27. </view>
  28. </view>
  29. </view>
  30. </template>
  31. <script>
  32. export default {
  33. data() {
  34. return {
  35. requireds: true,
  36. form: {
  37. pest_name: '',
  38. pest_num: "",
  39. crop_name: '',
  40. pest_case: ""
  41. },
  42. rules: {
  43. pest_name: [{
  44. required: true,
  45. message: '请输入害虫名称',
  46. trigger: ['blur', 'change'],
  47. }],
  48. pest_num: [{
  49. required: true,
  50. message: '请输入害虫数量',
  51. trigger: ['blur', 'change'],
  52. }],
  53. },
  54. id: '',
  55. device_id: ""
  56. }
  57. },
  58. methods: {
  59. //describe: "{"pest_num":"1","crop_name":"水稻","pest_case":"1","pest_name":"七星瓢虫"}"
  60. // device_id: "819"
  61. // img_id: "2396"
  62. async species(id) { //统计
  63. const res = await this.$myRequest({
  64. url: '/api/api_gateway?method=forecast.forecast_system.equip_photo_species',
  65. data: {
  66. ret: "add_pest",
  67. pest: this.form.name,
  68. img_id: this.id,
  69. device_id: this.device_id,
  70. describe: JSON.stringify(this.form)
  71. }
  72. })
  73. },
  74. clickLeft() {
  75. uni.navigateBack({
  76. delta: 1
  77. })
  78. },
  79. cancel() { //取消
  80. this.clickLeft()
  81. },
  82. ensure() {
  83. if (this.form.pest_name.length == 0) {
  84. uni.showToast({
  85. title: '请输入害虫名称',
  86. duration: 1000,
  87. image: ""
  88. });
  89. } else if (this.form.pest_num.length == 0) {
  90. uni.showToast({
  91. title: '请输入害虫数量',
  92. duration: 1000,
  93. image: ""
  94. });
  95. } else {
  96. this.species()
  97. this.clickLeft()
  98. }
  99. }
  100. },
  101. onReady() {
  102. this.$refs.uForm.setRules(this.rules);
  103. },
  104. onLoad(option) {
  105. // this.species(this.id)
  106. this.id = option.id
  107. this.device_id = option.device_id
  108. }
  109. }
  110. </script>
  111. <style lang="scss">
  112. .imgform {
  113. position: absolute;
  114. top: 54px;
  115. width: 90%;
  116. left: 5%;
  117. .form_item{
  118. width: 90%;
  119. margin: 0 auto;
  120. border-bottom: 2rpx solid #dedede;
  121. }
  122. .imgform_btn {
  123. margin-top: 40rpx;
  124. display: flex;
  125. button {
  126. width: 300rpx;
  127. font-size: 28rpx;
  128. height: 60rpx;
  129. line-height: 60rpx;
  130. }
  131. button:first-child {
  132. color: #FFFFFF;
  133. background-color: #14A478;
  134. }
  135. }
  136. }
  137. </style>