application.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. // pages/form/application/application.js
  2. const upload = require("../../../utils/upload")
  3. const api = require('../../../api/index')
  4. import { $wuxForm} from '../../../miniprogram_npm/wux-weapp/index'
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. validateMessages: {
  11. required: '%s 字段为必填',
  12. },
  13. form:{
  14. appType:'发明专利',
  15. appAbroad:true,
  16. appApostille:true,
  17. },
  18. labelWidth:350,
  19. typeOptions:[
  20. { text: '发明专利', value: '发明专利' },
  21. { text: '外观设计', value: '外观设计' },
  22. { text: '实用新型', value: '实用新型' },
  23. { text: '商标', value: '商标' },
  24. { text: '版权', value: '版权' },
  25. ]
  26. },
  27. /**
  28. * 生命周期函数--监听页面加载
  29. */
  30. onLoad(options) {
  31. },
  32. /**
  33. * 生命周期函数--监听页面初次渲染完成
  34. */
  35. onReady() {
  36. },
  37. /**
  38. * 生命周期函数--监听页面显示
  39. */
  40. onShow() {
  41. },
  42. /**
  43. * 页面方法集合
  44. */
  45. //表单栏位值发生变化时
  46. onValuesChange(e) {
  47. console.log(e)
  48. const { changedValues, allValues } = e.detail
  49. // this.setValues(changedValues)
  50. Object.keys(changedValues).forEach((field) => {
  51. this.setData({
  52. ['form.'+field]: changedValues[field],
  53. })
  54. })
  55. console.log('onValuesChange \n', changedValues, allValues)
  56. },
  57. //手机号校验
  58. checkPhone(rule, value){
  59. if(!value){
  60. return Promise.reject(new Error('手机号不能为空!'))
  61. }
  62. const isTel = (value) => /^1[34578]\d{9}$/.test(value)
  63. if(!isTel(value)){
  64. return Promise.reject(new Error('手机号输入错误!'))
  65. }
  66. return Promise.resolve()
  67. },
  68. //上传文件
  69. uploadFile(){
  70. const that = this;
  71. wx.chooseMessageFile({
  72. count: 1, // 默认9,表示一次最多可以选择的文件个数
  73. type: 'file', // 可以指定是文件
  74. success(res) {
  75. console.log(res)
  76. // 返回选定文件的本地文件路径列表,tempFilePath可以作为文件上传的标识
  77. const tempFilePaths = res.tempFiles[0].path;
  78. upload.upload(tempFilePaths).then(res=>{
  79. if(res.code == 200){
  80. var arr = this.data.form.fileGuids
  81. if(!arr){
  82. arr = []
  83. }
  84. arr.push(res.data[0])
  85. this.setData(
  86. {
  87. ["form.fileGuids"]:arr
  88. }
  89. )
  90. }
  91. })
  92. }
  93. });
  94. },
  95. //输入备注
  96. changRemark(e){
  97. this.setData(
  98. {
  99. ["form.description"]:e.detail.value
  100. }
  101. )
  102. },
  103. //修改是否海外申请
  104. onChange(e){
  105. this.setData(
  106. {
  107. ["form.appAbroad"]:e.detail
  108. }
  109. )
  110. },
  111. //修改一同申请海牙认证
  112. onChange1(e){
  113. this.setData(
  114. {
  115. ["form.appApostille"]:e.detail
  116. }
  117. )
  118. },
  119. //修改下拉菜单值
  120. changeVanDropdownnValue(e){
  121. var label = e.currentTarget.dataset.label
  122. if(label){
  123. var detail = e.detail
  124. this.setData(
  125. {
  126. ["form."+label]:detail
  127. }
  128. )
  129. }
  130. },
  131. //提交工单
  132. submit(){
  133. const { validateFields } = $wuxForm()
  134. var key = api.isLogin()
  135. if(!key){
  136. return false
  137. }
  138. validateFields((err, values) => {
  139. console.log(err)
  140. if (!err) {
  141. var params = {
  142. ticketType:4,
  143. contactPerson:this.data.form.contactPerson,
  144. contactPhone:this.data.form.contactPhone,
  145. contactMail:this.data.form.contactMail,
  146. fileGuids:this.data.form.fileGuids,
  147. ticketPatentApplyAddDTO:this.data.form
  148. }
  149. api.addTicket(params).then(res=>{
  150. if(res.code == 200){
  151. wx.navigateTo({
  152. url: '/pages/successReminder/successReminder?id=4',
  153. })
  154. }
  155. })
  156. }else{
  157. var error = Object.keys(err)
  158. var key = error[0]
  159. var len = err[key].errors.length
  160. var message = err[key].errors[len-1].message
  161. wx.showModal({
  162. title: '提示',
  163. content: message,
  164. complete: (res) => {
  165. if (res.cancel) {
  166. }
  167. if (res.confirm) {
  168. }
  169. }
  170. })
  171. }
  172. })
  173. },
  174. /**
  175. * 生命周期函数--监听页面隐藏
  176. */
  177. onHide() {
  178. },
  179. /**
  180. * 生命周期函数--监听页面卸载
  181. */
  182. onUnload() {
  183. },
  184. /**
  185. * 页面相关事件处理函数--监听用户下拉动作
  186. */
  187. onPullDownRefresh() {
  188. },
  189. /**
  190. * 页面上拉触底事件的处理函数
  191. */
  192. onReachBottom() {
  193. },
  194. /**
  195. * 用户点击右上角分享
  196. */
  197. onShareAppMessage() {
  198. }
  199. })