riskAssessment.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. // pages/form/riskAssessment/riskAssessment.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. patentNos:[]
  15. },
  16. labelWidth:200,
  17. fileList:[],
  18. },
  19. /**
  20. * 生命周期函数--监听页面加载
  21. */
  22. onLoad(options) {
  23. const eventChannel = this.getOpenerEventChannel()
  24. var that = this
  25. eventChannel.on('acceptDataFromOpenerPage', function(data) {
  26. that.setData(
  27. {
  28. ["form.patentNos"]:data.patentNoList
  29. }
  30. )
  31. })
  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.patentExport"]:e.detail
  133. }
  134. )
  135. },
  136. //提交工单
  137. submit(){
  138. var key = api.isLogin()
  139. if(!key){
  140. return false
  141. }
  142. const { validateFields } = $wuxForm()
  143. validateFields((err, values) => {
  144. console.log(err)
  145. if (!err) {
  146. var params = {
  147. ticketType:1,
  148. contactPerson:this.data.form.contactPerson,
  149. contactPhone:this.data.form.contactPhone,
  150. contactMail:this.data.form.contactMail,
  151. fileGuids:this.data.form.fileGuids,
  152. ticketFillInAddDTO:this.data.form
  153. }
  154. wx.showLoading({
  155. title: '加载中',
  156. })
  157. api.addTicket(params).then(res=>{
  158. if(res.code == 200){
  159. wx.navigateTo({
  160. url: '/pages/successReminder/successReminder?id=1',
  161. })
  162. }
  163. })
  164. }else{
  165. var error = Object.keys(err)
  166. var key = error[0]
  167. var len = err[key].errors.length
  168. var message = err[key].errors[len-1].message
  169. wx.showModal({
  170. title: '提示',
  171. content: message,
  172. complete: (res) => {
  173. if (res.cancel) {
  174. }
  175. if (res.confirm) {
  176. }
  177. }
  178. })
  179. }
  180. })
  181. },
  182. /**
  183. * 生命周期函数--监听页面隐藏
  184. */
  185. onHide() {
  186. },
  187. /**
  188. * 生命周期函数--监听页面卸载
  189. */
  190. onUnload() {
  191. },
  192. /**
  193. * 页面相关事件处理函数--监听用户下拉动作
  194. */
  195. onPullDownRefresh() {
  196. },
  197. /**
  198. * 页面上拉触底事件的处理函数
  199. */
  200. onReachBottom() {
  201. },
  202. /**
  203. * 用户点击右上角分享
  204. */
  205. onShareAppMessage() {
  206. }
  207. })