distributionedit.vue 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. <template>
  2. <view class="OutermostLayer">
  3. <!-- 注意,如果需要兼容微信小程序,最好通过setRules方法设置rules规则 -->
  4. <u--form labelPosition="left" :model="model1" :rules="rules" ref="form1">
  5. <u-form-item labelWidth='180' label="任务名称:" prop="userInfo.name" borderBottom ref="item1">
  6. <u--input v-model="model1.userInfo.name" border="none"></u--input>
  7. </u-form-item>
  8. <u-form-item labelWidth='180' label="办结日期:" prop="userInfo.mydays" borderBottom @click="showPicker = true;"
  9. ref="item1">
  10. <u--input v-model="model1.userInfo.mydays" disabled disabledColor="#ffffff" placeholder="请选择办结日期"
  11. border="none"></u--input>
  12. <u-icon slot="right" name="arrow-right"></u-icon>
  13. </u-form-item>
  14. <u-form-item labelWidth='180' label="任务类型:" prop="userInfo.tasktype" borderBottom @click="showSex = true;"
  15. ref="item1">
  16. <u--input v-model="model1.userInfo.tasktype" disabled disabledColor="#ffffff" placeholder="请选择任务类型"
  17. border="none"></u--input>
  18. <u-icon slot="right" name="arrow-right"></u-icon>
  19. </u-form-item>
  20. <u-form-item labelWidth='180' label="紧急程度:" prop="userInfo.taskdegree" borderBottom
  21. @click="showtaskdegree = true;" ref="item1">
  22. <u--input v-model="model1.userInfo.taskdegree" disabled disabledColor="#ffffff" placeholder="请选择紧急程度"
  23. border="none"></u--input>
  24. <u-icon slot="right" name="arrow-right"></u-icon>
  25. </u-form-item>
  26. <u-form-item labelWidth='180' label="办理人员:" prop="userInfo.taskdegree" borderBottom
  27. @click="showtaskpeople = true;" ref="item1">
  28. <u--input v-model="model1.userInfo.taskpeople" disabled disabledColor="#ffffff" placeholder="请选择办理人员"
  29. border="none"></u--input>
  30. <u-icon slot="right" name="arrow-right"></u-icon>
  31. </u-form-item>
  32. </u--form>
  33. <view class="guidang">
  34. <view class="queding">
  35. <u-button type="primary" :plain="true" text="返回" @click="returndata"></u-button>
  36. </view>
  37. <view class="queding">
  38. <u-button type="primary" text="确定" @click="editdata"></u-button>
  39. </view>
  40. </view>
  41. <u-picker @cancel='showtaskpeople = false' @confirm='peopleconfirm' :show="showtaskpeople"
  42. :columns="columnspeople" keyName="label">
  43. </u-picker>
  44. <u-picker @cancel='showtaskdegree = false' @confirm='degreeconfirm' :show="showtaskdegree"
  45. :columns="columnshowtaskdegree" keyName="label">
  46. </u-picker>
  47. <u-picker @cancel='showSex = false' @confirm='typeconfirm' :show="showSex" :columns="columns" keyName="label">
  48. </u-picker>
  49. <mx-date-picker :show="showPicker" type="date" :value="model1.userInfo.mydays" :show-tips="true"
  50. :begin-text="'入住'" :end-text="'离店'" :show-seconds="true" @confirm="ed" @cancel="ed" />
  51. </view>
  52. </template>
  53. <script>
  54. import MxDatePicker from "@/components/mx-datepicker/mx-datepicker.vue";
  55. export default {
  56. components: {
  57. MxDatePicker
  58. },
  59. data() {
  60. return {
  61. showSex: false,
  62. showday: false,
  63. showPicker: false,
  64. showtaskdegree: false,
  65. showtaskpeople: false,
  66. model1: {
  67. userInfo: {
  68. name: '维修灯具',
  69. tasktype: '维修',
  70. mydays: '2023/04/15',
  71. taskdegree: '一般',
  72. taskpeople: '杨刚',
  73. },
  74. },
  75. columns: [
  76. [{
  77. label: '巡查',
  78. id: 1
  79. }, {
  80. label: '维修',
  81. id: 2
  82. }]
  83. ],
  84. columnshowtaskdegree: [
  85. [{
  86. label: '一般',
  87. id: 1
  88. }, {
  89. label: '重要',
  90. id: 2
  91. },
  92. {
  93. label: '紧急',
  94. id: 3
  95. },
  96. {
  97. label: '非常紧急',
  98. id: 4
  99. },
  100. ]
  101. ],
  102. columnspeople: [
  103. [{
  104. label: '杨刚',
  105. id: 1
  106. }, {
  107. label: '李伟',
  108. id: 2
  109. }]
  110. ],
  111. rules: {
  112. 'userInfo.name': {
  113. type: 'string',
  114. required: true,
  115. message: '请填写姓名',
  116. trigger: ['blur', 'change']
  117. },
  118. 'userInfo.sex': {
  119. type: 'string',
  120. required: true,
  121. message: '请选择任务类型',
  122. trigger: ['blur', 'change']
  123. },
  124. 'userInfo.mydays': {
  125. type: 'string',
  126. required: true,
  127. message: '请选择办结日期',
  128. trigger: ['change']
  129. },
  130. 'userInfo.taskdegree': {
  131. type: 'string',
  132. required: true,
  133. message: '请选择紧急程度',
  134. trigger: ['blur', 'change']
  135. },
  136. 'userInfo.taskpeople': {
  137. type: 'string',
  138. required: true,
  139. message: '请选择办理人员',
  140. trigger: ['blur', 'change']
  141. },
  142. },
  143. };
  144. },
  145. methods: {
  146. onShowDatePicker() { //显示
  147. this.showPicker = true;
  148. // this.value =this.model1.userInfo.mydays;
  149. },
  150. ed(e) { //选择
  151. this.showPicker = false;
  152. if (e) {
  153. this.model1.userInfo.mydays = e.value;
  154. }
  155. },
  156. returndata() {
  157. uni.navigateBack({
  158. delta: 1
  159. });
  160. },
  161. editdata() {
  162. uni.navigateBack({
  163. delta: 1
  164. });
  165. },
  166. typeconfirm(e) {
  167. console.log('111111111111111111', e.value[0].label)
  168. this.model1.userInfo.tasktype = e.value[0].label;
  169. this.showSex = false;
  170. // this.model1.userInfo.sex = e.name
  171. this.$refs.form1.validateField('userInfo.tasktype')
  172. },
  173. degreeconfirm(e) {
  174. //console.log('111111111111111111', e.value[0].label)
  175. this.model1.userInfo.taskdegree = e.value[0].label;
  176. this.showtaskdegree = false;
  177. // this.model1.userInfo.sex = e.name
  178. this.$refs.form1.validateField('userInfo.taskdegree')
  179. },
  180. peopleconfirm(e) {
  181. //console.log('111111111111111111', e.value[0].label)
  182. this.model1.userInfo.taskpeople = e.value[0].label;
  183. this.showtaskpeople = false;
  184. // this.model1.userInfo.sex = e.name
  185. this.$refs.form1.validateField('userInfo.taskpeople')
  186. },
  187. },
  188. onReady() {
  189. //如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则。
  190. this.$refs.form1.setRules(this.rules)
  191. },
  192. };
  193. </script>
  194. <style>
  195. .guidang {
  196. display: flex;
  197. justify-content: space-between;
  198. align-items: center;
  199. margin-top: 40rpx;
  200. }
  201. .queding {
  202. width: 40%;
  203. }
  204. </style>