CreateReservoir.vue 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <template>
  2. <uni-drawer ref="drawer" mode="left" :mask-click="false" width="85%" :maskClick='true'>
  3. <scroll-view class="scroll-view" scroll-y="true">
  4. <uni-section :title="(type==='edit'?'编辑':'新增')+'水库淤堤坝'" type="line"></uni-section>
  5. <view class="form-wrap" >
  6. <uni-forms ref="form" label-position="top" :rules="rules" :model="form" :label-width='200' >
  7. <uni-forms-item label="水库名称" name="rdName" required>
  8. <uni-easyinput v-model="form.rdName" placeholder="请输入水库名称" :clearable="false" />
  9. </uni-forms-item>
  10. <uni-forms-item label="巡查责任人" name="respName" required>
  11. <uni-easyinput v-model="form.respName" placeholder="请输入巡查责任人" :clearable="false"></uni-easyinput>
  12. </uni-forms-item>
  13. <uni-forms-item label="地址" >
  14. <uni-easyinput v-model="form.rdAddress" placeholder="请输入地址" :clearable="false" />
  15. </uni-forms-item>
  16. <uni-forms-item label="联系电话" >
  17. <uni-easyinput v-model="form.respPhone" placeholder="请输入联系电话" :clearable="false"></uni-easyinput>
  18. </uni-forms-item>
  19. <uni-forms-item label="备注说明">
  20. <uni-easyinput type="textarea" :maxlength="500" v-model="form.remark" placeholder="请输入备注说明" autoHeight ></uni-easyinput>
  21. <view class="word-limit">{{form.remark.length||0}}/500</view>
  22. </uni-forms-item>
  23. </uni-forms>
  24. <view class="handle-container">
  25. <button class="save" type="primary" @click="onSubmit">保存</button>
  26. <button class="cancel" type="default" @click="close">取消</button>
  27. </view>
  28. </view>
  29. </scroll-view>
  30. </uni-drawer>
  31. </template>
  32. <script>
  33. import disasterApi from '@/api/disaster.js'
  34. export default{
  35. name:"CreateDisaster",
  36. computed:{
  37. accountInfo(){
  38. let accountInfo=uni.getStorageSync('accountInfo')
  39. if(!accountInfo) return {}
  40. return accountInfo
  41. },
  42. disasterLevels(){
  43. let disasterLevels=uni.getStorageSync('disasterLevels')
  44. if(!disasterLevels)return []
  45. return disasterLevels.map(item=>{
  46. return{
  47. value:item.disasterLevelId,
  48. text:item.disasterLevelTitle
  49. }
  50. })
  51. },
  52. disasterCats(){
  53. let disasterCats=uni.getStorageSync('disasterCats')
  54. if(!disasterCats)return []
  55. return disasterCats.map(item=>{
  56. return{
  57. value:item.disasterCatId,
  58. text:item.disasterCatTitle
  59. }
  60. })
  61. }
  62. },
  63. data(){
  64. return{
  65. type:undefined,
  66. rules:{
  67. rdName:{
  68. rules:[
  69. {
  70. required: true,
  71. errorMessage:"请输入水库名称"
  72. }
  73. ],
  74. validateTrigger:'submit'
  75. },
  76. respName:{
  77. rules:[
  78. {
  79. required: true,
  80. errorMessage:"请输入巡查责任人"
  81. }
  82. ],
  83. validateTrigger:'submit'
  84. }
  85. },
  86. form:{
  87. ocId: 0,
  88. rdId: 0,
  89. groupId: 0,
  90. rdName: '',
  91. rdAddress: '',
  92. respName: '',
  93. respPhone: '',
  94. remark: ''
  95. }
  96. }
  97. },
  98. methods:{
  99. resetForm(){
  100. this.form={
  101. ocId: 0,
  102. rdId: 0,
  103. groupId: 0,
  104. rdName: '',
  105. rdAddress: '',
  106. respName: '',
  107. respPhone: '',
  108. remark: ''
  109. }
  110. },
  111. onSubmit(){
  112. this.$refs.form.validate().then(res=>{
  113. let submitFx=this.type==='create'?disasterApi.createReservoirDam:disasterApi.updateReservoirDam
  114. this.form.ocId= this.accountInfo.ocId,
  115. this.form.groupId= this.accountInfo.groupId
  116. submitFx(this.form).then(()=>{
  117. uni.showToast({
  118. icon:"none",
  119. title:"成功!!"
  120. })
  121. this.$emit('success')
  122. this.close();
  123. })
  124. }).catch(err =>{
  125. uni.showToast({
  126. icon:"none",
  127. title:"请检查填写信息!"
  128. })
  129. })
  130. },
  131. show(type,item){
  132. this.resetForm()
  133. this.form={...this.form,...item}
  134. this.type=type
  135. this.$refs.drawer.open()
  136. },
  137. close(){
  138. this.$refs.drawer.close()
  139. }
  140. }
  141. }
  142. </script>
  143. <style lang="scss" scoped>
  144. .scroll-view {
  145. height: 100%;
  146. padding: 20rpx;
  147. box-sizing: border-box;
  148. .form-wrap{
  149. padding:40rpx 20rpx;
  150. .handle-container{
  151. display: flex;
  152. justify-content: center;
  153. align-items: center;
  154. button{
  155. width: 160rpx;
  156. padding: 20rpx 16rpx;
  157. line-height: 1;
  158. font-size: 28rpx;
  159. &.save{
  160. background-color: #007aff;
  161. }
  162. }
  163. }
  164. .word-limit{
  165. text-align: right;
  166. padding: 10rpx 0;
  167. color: #999;
  168. font-size: 26rpx;
  169. }
  170. }
  171. }
  172. </style>