insert.js 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362
  1. const _Http = getApp().globalData.http,
  2. getTime = require("../../utils/getTime");
  3. Page({
  4. data: {
  5. loading: false,
  6. showAll: false,
  7. disabled: true,
  8. form: [{
  9. label: "省市县",
  10. error: false,
  11. errMsg: "",
  12. type: "region",
  13. value: [],
  14. placeholder: "省,市,县",
  15. valueName: "region",
  16. required: true
  17. }, {
  18. label: "详细地址",
  19. error: false,
  20. errMsg: "",
  21. type: "textarea",
  22. value: "",
  23. placeholder: "例: 科创园11栋1103室",
  24. valueName: "address",
  25. required: true,
  26. checking: "base"
  27. }, {
  28. label: "现场联系人",
  29. error: false,
  30. errMsg: "",
  31. type: "text",
  32. value: "",
  33. placeholder: "现场联系人",
  34. valueName: "scenecontact",
  35. required: true,
  36. checking: "base"
  37. }, {
  38. label: "身份备注",
  39. error: false,
  40. errMsg: "",
  41. type: "text",
  42. value: "",
  43. placeholder: "现场联系人身份备注",
  44. valueName: "scenecontactrole",
  45. required: true,
  46. checking: "base"
  47. }, {
  48. label: "现场联系人电话",
  49. error: false,
  50. errMsg: "",
  51. type: "number",
  52. value: "",
  53. placeholder: "联系人手机号码",
  54. valueName: "scenecontactphonenumber",
  55. required: true,
  56. checking: "phone"
  57. }, {
  58. label: "应用系统",
  59. error: false,
  60. errMsg: "",
  61. hint: "",
  62. type: "radio",
  63. value: "",
  64. interrupt: false,
  65. radioList: [],
  66. valueName: "class1", //绑定的字段名称
  67. required: true, //必填
  68. checking: `base`,
  69. }, {
  70. label: "客诉大类",
  71. error: false,
  72. errMsg: "",
  73. hint: "",
  74. type: "radio",
  75. value: "",
  76. interrupt: false,
  77. radioList: [],
  78. valueName: "class2", //绑定的字段名称
  79. required: true, //必填
  80. checking: `base`,
  81. }, {
  82. label: "问题描述",
  83. error: false,
  84. errMsg: "",
  85. type: "reason",
  86. value: "",
  87. placeholder: "请填写",
  88. valueName: "reason",
  89. required: true,
  90. checking: "base"
  91. }, {
  92. label: "异常类型",
  93. error: false,
  94. errMsg: "",
  95. hint: "",
  96. type: "radio",
  97. value: "",
  98. interrupt: false,
  99. radioList: [],
  100. valueName: "exception_type", //绑定的字段名称
  101. required: true, //必填
  102. checking: `base`,
  103. }, {
  104. label: "服务等级",
  105. error: false,
  106. errMsg: "",
  107. hint: "",
  108. type: "radio",
  109. value: "",
  110. interrupt: false,
  111. radioList: [],
  112. valueName: "service_level", //绑定的字段名称
  113. required: true, //必填
  114. checking: `base`,
  115. }, {
  116. label: "备注",
  117. error: false,
  118. errMsg: "",
  119. type: "textarea",
  120. value: "",
  121. placeholder: "请填写",
  122. valueName: "remarks",
  123. required: false,
  124. checking: "base"
  125. }],
  126. sa_orderid: "",
  127. sa_workorderid: 0
  128. },
  129. onLoad(options) {
  130. getApp().globalData.Language.getLanguagePackage(this, '编辑工单');
  131. let form = this.data.form,
  132. data = getCurrentPages().find(v => v.__route__ == 'E-service/workOrder/detail').data.detail;
  133. data.region = data.province ? [data.province, data.city, data.county] : [];
  134. form = form.map(v => {
  135. switch (v.valueName) {
  136. case 'sys_enterpriseid':
  137. v.value = data[v.valueName] ? [data.enterprisename, [data.sys_enterpriseid]] : ''
  138. break;
  139. default:
  140. v.value = data[v.valueName] || ''
  141. break;
  142. }
  143. return v
  144. })
  145. this.setData({
  146. form,
  147. sa_workorderid: data.sa_workorderid
  148. })
  149. this.getOptions();
  150. },
  151. submit() {
  152. this.setData({
  153. loading: true
  154. })
  155. let content = {
  156. sa_workorderid: this.data.sa_workorderid,
  157. ...this.selectComponent("#Form").submit()
  158. };
  159. content.province = content.region[0] || "";
  160. content.city = content.region[1] || "";
  161. content.county = content.region[2] || "";
  162. delete content.region
  163. _Http.basic({
  164. "id": 2026020514064602,
  165. content
  166. }).then(res => {
  167. this.setData({
  168. loading: false
  169. })
  170. console.log("编辑工单", res)
  171. if (res.code == 1) {
  172. getCurrentPages().find(v => v.__route__ == 'E-service/workOrder/detail').getDetail();
  173. wx.navigateBack({
  174. success() {
  175. wx.showToast({
  176. title: getApp().globalData.Language.getMapText('保存成功'),
  177. icon: "none",
  178. mask: true
  179. })
  180. }
  181. });
  182. } else {
  183. wx.showToast({
  184. title: res.code != '1' ? res.msg : getApp().globalData.Language.getMapText('保存成功'),
  185. icon: "none",
  186. mask: true
  187. })
  188. }
  189. })
  190. },
  191. getOptions() {
  192. let form = this.data.form;
  193. // 应用系统
  194. let class1s = _Http.class1s || [];
  195. if (!class1s.length) {
  196. _Http.basic({
  197. "classname": "sysmanage.develop.optiontype.optiontype",
  198. "method": "optiontypeselect",
  199. "content": {
  200. "pageNumber": 1,
  201. "pageSize": 1000,
  202. "typename": "systemapp",
  203. },
  204. }).then(res => {
  205. console.log("应用系统", res)
  206. if (res.code == 1) {
  207. class1s = res.data.map(v => {
  208. return {
  209. id: v.value,
  210. name: v.value,
  211. }
  212. });
  213. let data = form.find(v => v.valueName == 'class1');
  214. data.radioList = class1s;
  215. data.value = data.value || class1s[0].id;
  216. _Http.class1s = class1s;
  217. this.setData({
  218. form
  219. })
  220. }
  221. })
  222. } else {
  223. let data = form.find(v => v.valueName == 'class1');
  224. data.radioList = class1s;
  225. data.value = data.value || class1s[0].id;
  226. this.setData({
  227. form
  228. })
  229. }
  230. // 客诉大类
  231. let class2s = _Http.class2s || [];
  232. if (!class2s.length) {
  233. _Http.basic({
  234. "classname": "sysmanage.develop.optiontype.optiontype",
  235. "method": "optiontypeselect",
  236. "content": {
  237. "pageNumber": 1,
  238. "pageSize": 1000,
  239. "typename": "customerclass",
  240. },
  241. }).then(res => {
  242. console.log("客诉大类", res)
  243. if (res.code == 1) {
  244. class2s = res.data.map(v => {
  245. return {
  246. id: v.value,
  247. name: v.value,
  248. }
  249. });
  250. let data = form.find(v => v.valueName == 'class2');
  251. data.radioList = class2s;
  252. data.value = data.value || class2s[0].id;
  253. _Http.class2s = class2s;
  254. this.setData({
  255. form
  256. })
  257. }
  258. })
  259. } else {
  260. let data = form.find(v => v.valueName == 'class2');
  261. data.radioList = class2s;
  262. data.value = data.value || class2s[0].id;
  263. this.setData({
  264. form
  265. })
  266. }
  267. // 异常类型
  268. let exception_types = _Http.exception_types || [];
  269. if (!exception_types.length) {
  270. _Http.basic({
  271. "classname": "sysmanage.develop.optiontype.optiontype",
  272. "method": "optiontypeselect",
  273. "content": {
  274. "pageNumber": 1,
  275. "pageSize": 1000,
  276. "typename": "exceptiontype",
  277. },
  278. }).then(res => {
  279. console.log("异常类型", res)
  280. if (res.code == 1) {
  281. exception_types = res.data.map(v => {
  282. return {
  283. id: v.value,
  284. name: v.value,
  285. }
  286. });
  287. let data = form.find(v => v.valueName == 'exception_type');
  288. data.radioList = exception_types;
  289. data.value = data.value || exception_types[0].id;
  290. _Http.exception_types = exception_types;
  291. this.setData({
  292. form
  293. })
  294. }
  295. })
  296. } else {
  297. let data = form.find(v => v.valueName == 'exception_type');
  298. data.radioList = exception_types;
  299. data.value = data.value || exception_types[0].id;
  300. this.setData({
  301. form
  302. })
  303. }
  304. // 服务等级
  305. let service_levels = _Http.service_levels || [];
  306. if (!service_levels.length) {
  307. _Http.basic({
  308. "classname": "sysmanage.develop.optiontype.optiontype",
  309. "method": "optiontypeselect",
  310. "content": {
  311. "pageNumber": 1,
  312. "pageSize": 1000,
  313. "typename": "servicelevel",
  314. },
  315. }).then(res => {
  316. console.log("服务等级", res)
  317. if (res.code == 1) {
  318. service_levels = res.data.map(v => {
  319. return {
  320. id: v.value,
  321. name: v.value,
  322. }
  323. });
  324. let data = form.find(v => v.valueName == 'service_level');
  325. data.radioList = service_levels;
  326. data.value = data.value || service_levels[0].id;
  327. _Http.service_levels = service_levels;
  328. this.setData({
  329. form
  330. })
  331. }
  332. })
  333. } else {
  334. let data = form.find(v => v.valueName == 'service_level');
  335. data.radioList = service_levels;
  336. data.value = data.value || service_levels[0].id;
  337. this.setData({
  338. form
  339. })
  340. }
  341. },
  342. // 是否显示全部
  343. onChange({
  344. detail
  345. }) {
  346. this.setData({
  347. showAll: detail
  348. })
  349. },
  350. /* 表单必填项是否完成 */
  351. onConfirm({
  352. detail
  353. }) {
  354. this.setData({
  355. disabled: detail
  356. })
  357. }
  358. })