addVisit.vue 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. <template>
  2. <view>
  3. <view class="content-box">
  4. <label class="content-label">
  5. <view class="label-name">
  6. <text>客户名称</text>
  7. </view >
  8. <view class="label-data">
  9. <!-- <input type="text" v-model="msgform.customerName" class="label-input"/> -->
  10. <!-- <uni-data-select
  11. v-model="value"
  12. :localdata="range"
  13. @change="change"
  14. ></uni-data-select> -->
  15. <picker @change="PickerChangeName" :value="indexName" :range="pickerName" class="common-picker">
  16. <view class="picker">
  17. {{indexName>-1?pickerName[indexName]:' 请选择 '}}
  18. </view>
  19. </picker>
  20. </view>
  21. </label>
  22. <label class="content-label">
  23. <view class="label-name">
  24. <text>拜访时间</text>
  25. </view >
  26. <view class="label-data">
  27. <picker mode="date" :value="date" start="2015-09-01" end="2024-09-01" @change="DateChange" class="common-picker">
  28. <view class="picker">
  29. {{date}}
  30. </view>
  31. </picker>
  32. <!-- <button @click="open">打开日历</button> -->
  33. <!-- <input type="text" @click="open" v-model="msgform.visitTime" class="label-input"/> -->
  34. </view>
  35. </label>
  36. <label class="content-label">
  37. <view class="label-name">
  38. <text>拜访方式</text>
  39. </view >
  40. <view class="label-data">
  41. <picker @change="PickerChangeMethod" :value="indexMethod" :range="pickerMethod" class="common-picker">
  42. <view class="picker">
  43. {{indexMethod>-1?pickerMethod[indexMethod]:' 请选择 '}}
  44. </view>
  45. </picker>
  46. </view>
  47. </label>
  48. <label class="content-label">
  49. <view class="label-name">
  50. <text>回访记录</text>
  51. </view >
  52. <view class="label-data">
  53. <input type="text" v-model="msgform.record" class="label-input"/>
  54. </view>
  55. </label>
  56. <label class="content-label">
  57. <view class="label-name">
  58. <text>是否内部人员</text>
  59. </view >
  60. <view class="label-data">
  61. <!-- <input type="text" v-model="msgform.isIn" class="label-input"/> -->
  62. <picker @change="PickerChangeIn" :value="indexIn" :range="pickerIn" class="common-picker">
  63. <view class="picker">
  64. {{indexIn>-1?pickerIn[indexIn]:' 请选择 '}}
  65. </view>
  66. </picker>
  67. </view>
  68. </label>
  69. </view>
  70. <button @click="addF()" style="width: 80%; background-color:cornflowerblue;color: white">保存</button>
  71. </view>
  72. </template>
  73. <script>
  74. import{ addVisit,updateVisit,getVisit } from "../../api/marketmini/index"
  75. import { listCustomerInfo } from "../../api/marketmini/index"
  76. export default {
  77. data() {
  78. return {
  79. msgform:{
  80. customerId: "",
  81. customerName: "",
  82. isIn: "",
  83. record: "",
  84. visitId: "",
  85. visitMethod: "",
  86. visitTime: ""
  87. },
  88. flag:'msg',
  89. id:'',
  90. value: 0,
  91. range: [],
  92. valueMethod: 0,
  93. rangeMethod: [
  94. { value: 1, text: "自驾" },
  95. { value: 2, text: "交通工具" },
  96. { value: 3, text: "步行" },
  97. { value: 4, text: "其他" }
  98. ],
  99. valueIn: 0,
  100. rangeIn: [
  101. { value: 1, text: "是" },
  102. { value: 2, text: "否" }
  103. ],
  104. queryParams: {
  105. pageNum: 1,
  106. pageSize: 10
  107. },
  108. msgdata : [],
  109. date: '请选择',
  110. pickerName: [],
  111. nameId:[],
  112. indexName: -1,
  113. pickerIn: ['是', '否'],
  114. indexIn: -1,
  115. pickerMethod: ['自驾', '交通工具','步行','其他'],
  116. indexMethod: -1,
  117. }
  118. },
  119. methods: {
  120. DateChange(e) {
  121. this.date = e.detail.value
  122. // console.log(this.date)
  123. this.msgform.visitTime = this.date
  124. },
  125. PickerChangeIn(e) {
  126. this.indexIn = e.detail.value
  127. // console.log(this.pickerIn[this.indexIn])
  128. this.msgform.isIn = this.indexIn + 1
  129. console.log(this.msgform.isIn)
  130. },
  131. PickerChangeMethod(e) {
  132. this.indexMethod = e.detail.value
  133. // console.log(this.pickerMethod[this.indexMethod])
  134. this.msgform.visitMethod = Number(this.indexMethod)+1
  135. console.log(this.msgform.visitMethod)
  136. },
  137. PickerChangeName(e) {
  138. this.indexName = e.detail.value
  139. this.msgform.customerId = this.nameId[this.indexName]
  140. this.msgform.customerName = this.pickerName[this.indexName]
  141. },
  142. open(){
  143. this.$refs.calendar.open();
  144. },
  145. confirm(e) {
  146. // console.log(e);
  147. this.msgform.visitTime = e.fulldate
  148. },
  149. change(e) {
  150. // console.log("e:", e);
  151. this.msgform.customerId = e
  152. // console.log(this.value)
  153. },
  154. changeMethod(e) {
  155. // console.log("e:", e);
  156. this.msgform.visitMethod = e
  157. // console.log(this.value)
  158. },
  159. changeIn(e) {
  160. // console.log("e:", e);
  161. this.msgform.isIn = e
  162. // console.log(this.value)
  163. },
  164. addF(){
  165. const form = this.msgform
  166. console.log(form)
  167. if(this.id !== ""){
  168. updateVisit(form).then(()=>{
  169. uni.navigateBack({
  170. delta: 1
  171. });
  172. })
  173. }else{
  174. addVisit(form).then(data=>{
  175. // uni.navigateTo({
  176. // url:"/pages/index/index"
  177. // })
  178. uni.switchTab({
  179. url:"/pages/index/index"
  180. })
  181. })
  182. }
  183. }
  184. },
  185. onLoad:function(option){
  186. if(option.id!=null){
  187. // console.log(option.id)
  188. this.id = option.id
  189. getVisit(option.id).then(data=>{
  190. // this.msgform = data.data
  191. // console.log(this.msgform)
  192. this.msgform.customerId = data.data.customerId,
  193. // this.msgform.customerName= data.data.,
  194. this.msgform.isIn= data.data.isIn,
  195. this.msgform.record= data.data.record,
  196. this.msgform.visitId= data.data.visitId,
  197. this.msgform.visitMethod= data.data.visitMethod,
  198. this.msgform.visitTime= data.data.visitTime
  199. this.indexIn = data.data.isIn - 1
  200. this.date = data.data.visitTime
  201. this.indexMethod = data.data.visitMethod - 1
  202. // console.log(this.msgform.customerId)
  203. listCustomerInfo(this.queryParams).then(data=>{
  204. this.msgdata = data.rows
  205. // console.log(this.msgdata)
  206. this.pickerName = this.msgdata.map(item =>{
  207. return item.customerName
  208. })
  209. this.nameId = this.msgdata.map(item =>{
  210. return item.customerId
  211. })
  212. const oindex = this.nameId.findIndex((value,index)=>{return value==this.msgform.customerId})
  213. // console.log(this.pickerName,this.nameId,oindex)
  214. this.indexName = oindex
  215. this.msgform.customerName = this.pickerName[oindex]
  216. })
  217. })
  218. }else{
  219. listCustomerInfo(this.queryParams).then(data=>{
  220. this.msgdata = data.rows
  221. // console.log(this.msgdata)
  222. this.pickerName = this.msgdata.map(item =>{
  223. return item.customerName
  224. })
  225. this.nameId = this.msgdata.map(item =>{
  226. return item.customerId
  227. })
  228. })
  229. }
  230. }
  231. }
  232. </script>
  233. <style>
  234. @import url("@/common/scss/core.scss");
  235. </style>