formData.js 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. const formLayout = {
  2. fieldId: '101', //对应一级表单层级
  3. fieldName: '基本信息',
  4. formInfo: [ //每个层级下面 具体表单元素
  5. {
  6. label: '经销商ID',//标题
  7. type: 'link', //表单类型 text,upload,picker,datepicker
  8. url:'/pages/saler/agentList/index',
  9. id: 'sys_enterpriseid', //表单id
  10. placeholder: '输入详细地址',//设置文本框默认提示
  11. hide:[{id:'',value:[]}],
  12. data: [], //填充表单的数据 例如下拉框
  13. inputValue:'',
  14. role: {
  15. type: 'reg',
  16. formatter:(v)=>{
  17. if (v == '') {
  18. return '经销商不能为空'
  19. }
  20. return ''
  21. }
  22. },
  23. force: true,//是否必输入
  24. },
  25. {
  26. label: '服务类型',//标题
  27. type: 'picker', //表单类型 text,upload,picker,time
  28. id: 'servicetype', //表单id
  29. placeholder: '选择服务类型',//设置文本框默认提示
  30. inputValue:'',
  31. data: [
  32. { value: '售前', label: '售前' ,hide:'sa_orderid'},
  33. { value: '售中', label: '售中' },
  34. { value: '售后', label: '售后' },
  35. { value: '历史售后', label: '历史售后',hide:'sa_orderid' },
  36. ], //填充表单的数据 例如下拉框
  37. role: {
  38. type: 'reg',
  39. value: '',//正则表达式
  40. },
  41. force: true,//是否必输入
  42. },
  43. {
  44. label: '服务开始时间',//标题
  45. type: 'datepicker', //表单类型 text,upload,picker,time
  46. id: 'begdate', //表单id
  47. inputValue:(new Date()).toISOString().split('T')[0],
  48. placeholder: '选择日期',//设置文本框默认提示
  49. role: {
  50. type: 'reg',
  51. value: '',//正则表达式
  52. },
  53. force: false,//是否必输入
  54. },
  55. {
  56. label: '服务结束时间',//标题
  57. type: 'datepicker', //表单类型 text,upload,picker,time
  58. id: 'enddate', //表单id
  59. inputValue:(new Date()).toISOString().split('T')[0],
  60. placeholder: '选择日期',//设置文本框默认提示
  61. role: {
  62. type: 'reg',
  63. value: '',//正则表达式
  64. },
  65. force: false,//是否必输入
  66. },
  67. {
  68. label: '省市县',//标题
  69. type: 'cascader', //表单类型 text,upload,picker,datepicker
  70. id: 'provinceArr', //表单id
  71. placeholder: '选择省市县',//设置文本框默认提示
  72. inputValue:'',
  73. data: [], //填充表单的数据 例如下拉框
  74. role: {
  75. type: 'reg',
  76. formatter:(v)=>{
  77. console.log(v)
  78. if (v == '') return '省市县不能为空'
  79. return ''
  80. }
  81. },
  82. force: true,//是否必输入
  83. },
  84. {
  85. label: '详细地址',//标题
  86. type: 'text', //表单类型 text,upload,picker,datepicker
  87. id: 'address', //表单id
  88. placeholder: '输入详细地址',//设置文本框默认提示
  89. inputValue:'',
  90. data: [], //填充表单的数据 例如下拉框
  91. role: {
  92. type: 'reg',
  93. },
  94. force: true,//是否必输入
  95. },
  96. {
  97. label: '关联订单',//标题
  98. type: 'link', //表单类型 text,upload,picker,datepicker
  99. url:'/pages/saler/orderList/index',
  100. id: 'sa_orderid', //表单id
  101. placeholder: '输入详细地址',//设置文本框默认提示
  102. data: [], //填充表单的数据 例如下拉框
  103. inputValue:'',
  104. hide:[{id:'servicetype',value:['售前','历史售后']},{id:'sys_enterpriseid',value:['']}],
  105. role: {
  106. type: 'reg',
  107. formatter:(v)=>{
  108. if (v === '') {
  109. return '订单不能为空'
  110. }
  111. return ''
  112. }
  113. },
  114. force: true,//是否必输入
  115. },
  116. {
  117. label: '联系人',//标题
  118. type: 'text', //表单类型 text,upload,picker,time
  119. id: 'scenecontact', //表单id
  120. placeholder: '输入现场联系人',//设置文本框默认提示
  121. data: [], //填充表单的数据 例如下拉框
  122. inputValue:'',
  123. role: {
  124. type: 'reg',
  125. },
  126. force: true,//是否必输入
  127. },
  128. {
  129. label: '手机号',//标题
  130. type: 'text', //表单类型 text,upload,picker,time
  131. id: 'scenecontactphonenumber', //表单id
  132. placeholder: '输入现场联系人手机号',//设置文本框默认提示
  133. data: [], //填充表单的数据 例如下拉框
  134. inputValue:'',
  135. role: {
  136. type: 'reg',
  137. formatter:(v)=>{
  138. let reg = /^1[3-9]\d{9}$/
  139. if (!reg.test(v)) return '手机号输入有误'
  140. return ''
  141. }
  142. },
  143. force: true,//是否必输入
  144. },
  145. {
  146. label: '身份备注',//标题
  147. type: 'text', //表单类型 text,upload,picker,time
  148. id: 'scenecontactrole', //表单id
  149. placeholder: '输入现场联系人身份备注',//设置文本框默认提示
  150. data: [], //填充表单的数据 例如下拉框
  151. inputValue:'',
  152. role: {
  153. type: 'reg',
  154. },
  155. force: true,//是否必输入
  156. },
  157. {
  158. label: '客诉大类',//标题
  159. type: 'picker', //表单类型 text,upload,picker,time
  160. id: 'class2', //表单id
  161. placeholder: '选择客诉大类',//设置文本框默认提示
  162. inputValue:'漏水',
  163. data: [
  164. { value: '漏水', label: '漏水' },
  165. { value: '未能保压', label: '未能保压' },
  166. { value: '拖拔', label: '拖拔' },
  167. { value: '卡压脱皮', label: '卡压脱皮' },
  168. { value: '外观异常', label: '外观异常' },
  169. { value: '数量缺失', label: '数量缺失' },
  170. { value: '质量异常', label: '质量异常' },
  171. { value: '工具及卡钳', label: '工具及卡钳' },
  172. { value: '打压指导', label: '打压指导' },
  173. { value: '试点指导', label: '试点指导' },
  174. { value: '其他', label: '其他' },
  175. ], //填充表单的数据 例如下拉框
  176. role: {
  177. type: 'reg',
  178. value: '',//正则表达式
  179. },
  180. force: false,//是否必输入
  181. },
  182. {
  183. label: '应用系统',//标题
  184. type: 'picker', //表单类型 text,upload,picker,time
  185. id: 'class1', //表单id
  186. placeholder: '选择客应用系统',//设置文本框默认提示
  187. inputValue:'燃气系统',
  188. data: [
  189. { value: '燃气系统', label: '燃气系统' },
  190. { value: '消防系统', label: '消防系统' },
  191. { value: '给水系统', label: '给水系统' },
  192. { value: '暖通系统', label: '暖通系统' },
  193. ], //填充表单的数据 例如下拉框
  194. role: {
  195. type: 'reg',
  196. value: '',//正则表达式
  197. },
  198. force: false,//是否必输入
  199. },
  200. {
  201. label: '问题描述',//标题
  202. type: 'text', //表单类型 text,upload,picker,time
  203. id: 'reason', //表单id
  204. placeholder: '输入问题描述',//设置文本框默认提示
  205. data: [], //填充表单的数据 例如下拉框
  206. role: {
  207. type: 'reg',
  208. },
  209. force: false,//是否必输入
  210. },
  211. {
  212. label: '附件上传',//标题
  213. type: 'upload', //表单类型 text,upload,picker,time
  214. id: 'attachmentids', //表单id
  215. placeholder: '请上传附件',//设置文本框默认提示
  216. data: {
  217. ownertable:'sa_serviceorder'
  218. }, //填充表单的数据 例如下拉框
  219. role: {
  220. type: 'reg',
  221. },
  222. force: false,//是否必输入
  223. },
  224. ]
  225. }
  226. module.exports = {
  227. formLayout
  228. }