application.js 5.2 KB

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