dk-form.js 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821
  1. /*******************************************************************************
  2. * Copyright(c) 2024 dongke All rights reserved. / Confidential
  3. * 类的信息:
  4. * 1.程序名称:
  5. * 2.功能描述:表单-(基础数据)
  6. * 编辑履历:
  7. * 作者 日期 版本 修改内容
  8. * 周兴 2024-1-30 1.00 新建
  9. *******************************************************************************/
  10. const common = require('@/utils/common');
  11. const Constants = require('@/utils/Constants');
  12. const util = require('@/utils/util.js')
  13. const chooseLocation = requirePlugin('chooseLocation');
  14. const config = require('@/config/config.js')
  15. const app = getApp();
  16. Component({
  17. /**
  18. * 组件的属性列表
  19. */
  20. properties: {
  21. // 区域
  22. cardList: {
  23. type: Array,
  24. value: []
  25. },
  26. // 表名,用于上传附件
  27. table: {
  28. type: String,
  29. },
  30. // 内容
  31. contentObj: {
  32. type: Object,
  33. },
  34. // 结果集
  35. value: {
  36. type: String,
  37. observer: function (newVal) {
  38. if (newVal) {
  39. this.setData({
  40. form: JSON.parse(newVal) || {}
  41. })
  42. } else {
  43. this.setData({
  44. form: {}
  45. })
  46. }
  47. }
  48. },
  49. routeObjName: {
  50. type: String,
  51. }
  52. },
  53. /**
  54. * 组件的初始数据
  55. */
  56. data: {
  57. // 是否显示pop
  58. show: false,
  59. mutishow: false,
  60. showDate: false,
  61. showDateTime: false,
  62. currentDate: new Date().getTime(),
  63. $t: app.globalData.lang,
  64. routeUrl: app.globalData['routeUrl'],
  65. item: null,
  66. index: null,
  67. card: null,
  68. // 下拉类型
  69. dropType: null,
  70. dropCode: null,
  71. dropName: null,
  72. // 根据值控制组件的显示隐藏
  73. changeObj: null,
  74. form: {},
  75. maxSize: Constants.uploadFileConfig.maxSize,
  76. checked: false
  77. },
  78. lifetimes: {
  79. attached: function () {},
  80. detached: function () {
  81. // 在组件实例被从页面节点树移除时执行
  82. },
  83. },
  84. pageLifetimes: {
  85. /**
  86. * @desc : 生命周期函数--监听页面显示
  87. * @author : 周兴
  88. * @date : 2024/2/19 12:16
  89. */
  90. show: function () {
  91. const location = chooseLocation.getLocation();
  92. let form = this.data.form
  93. if (location) {
  94. form['address'] = location;
  95. form['addressName'] = location.name;
  96. form['addressFull'] = form['addressFull'] ? form['addressFull'] : location.address + location.name;
  97. form['addressGcj02'] = {
  98. latitude: location.latitude,
  99. longitude: location.longitude
  100. };
  101. form['addressArea'] = {
  102. province: location.province,
  103. city: location.city,
  104. district: location.district == undefined || !location.district ? location.city : location.district
  105. }
  106. // 如果有校验信息就清除掉
  107. let card = this.data.card;
  108. let index = this.data.index;
  109. let contentObj = this.data.contentObj;
  110. if (card && contentObj[card][index]?.errMsg) {
  111. contentObj[card][index].errMsg = undefined;
  112. this.setData({
  113. contentObj: contentObj
  114. })
  115. }
  116. }
  117. this.setData({
  118. value: JSON.stringify(form),
  119. form: form
  120. })
  121. }
  122. },
  123. /**
  124. * 组件的方法列表
  125. */
  126. methods: {
  127. /**
  128. * @desc : 显示tip
  129. * @author : 周兴
  130. * @date : 2024/4/25 11:46
  131. */
  132. showTip(e) {
  133. let item = e.currentTarget.dataset.item
  134. if (item.tip) {
  135. util.showToast(item.tip);
  136. }
  137. },
  138. /**
  139. * @desc : 打开下拉
  140. * @author : 周兴
  141. * @date : 2024/1/26 11:46
  142. */
  143. open(e) {
  144. let item = e.currentTarget.dataset;
  145. if (item.item.readonly) {
  146. return
  147. }
  148. this.setData({
  149. dropCode: item.key,
  150. dropName: item.name,
  151. dropType: item.type,
  152. index: item.index,
  153. card: item.card
  154. })
  155. console.log('ee', e);
  156. // 单选
  157. if (item.item.type == 'drop') {
  158. this.setData({
  159. show: true,
  160. changeObj: item.item.changeObj,
  161. })
  162. // 多选
  163. } else if (item.item.type == 'mutidrop') {
  164. this.setData({
  165. mutishow: true
  166. })
  167. } else if (item.item.type == 'choose') {
  168. let that = this
  169. console.log(item, this.data.routeObjName, this.data.routeUrl);
  170. that.setData({
  171. changeObj: item.item.changeObj,
  172. })
  173. // 跳转链接
  174. if (item.item.urlKey) {
  175. let route = this.data.routeUrl[this.data.routeObjName][item.item.urlKey]
  176. let url = route.url
  177. // TODO
  178. // url = '/package-base-select/pages/select-customers/select-customers'
  179. if (url) {
  180. wx.navigateTo({
  181. url: url,
  182. events: {
  183. // 回调后
  184. bindData: function (data) {
  185. let contentObj = that.data.contentObj
  186. // 是否根据值进行控制其他组件显示、隐藏
  187. let changeObj = that.data.changeObj
  188. let key = data.data ? data.data.id : null;
  189. let card = that.data.card;
  190. if (changeObj && changeObj[key]) {
  191. // 显示
  192. if (changeObj[key]['visible']) {
  193. changeObj[key]['visible'].forEach(it => {
  194. let index = contentObj[card].findIndex(t => t.code == it)
  195. console.log('index', index);
  196. if (contentObj[card][index]) {
  197. contentObj[card][index].hide = false
  198. }
  199. })
  200. }
  201. // 隐藏
  202. if (changeObj[key]['hide']) {
  203. changeObj[key]['hide'].forEach(it => {
  204. let index = contentObj[card].findIndex(t => t.code == it)
  205. console.log('index', index);
  206. if (contentObj[card][index]) {
  207. contentObj[card][index].hide = true
  208. }
  209. })
  210. }
  211. }
  212. that.setData({
  213. contentObj: contentObj
  214. })
  215. that.triggerEvent("chooseData", {
  216. code: item.key,
  217. data: data
  218. })
  219. }
  220. },
  221. success: function (res) {
  222. console.log('item', that.data.form)
  223. let data = {
  224. item: {
  225. data: item.item.datalist || []
  226. },
  227. route: route,
  228. formMode: item.item.formMode,
  229. id: that.data.form[item.item.idKey],
  230. chooseType: item.item.chooseType
  231. }
  232. if (that.data.form[item.item.code]) {
  233. data[item.item.code] = that.data.form[item.item.code]
  234. }
  235. // 通过eventChannel向被打开页面传送数据
  236. // that.data.form.formMode = item.item.formMode
  237. // that.data.form.id = that.data.form[item.item.idKey]
  238. // that.data.form.chooseType = item.item.chooseType
  239. res.eventChannel.emit('params', data)
  240. }
  241. })
  242. }
  243. }
  244. }
  245. },
  246. /**
  247. * @desc : 非空校验
  248. * @author : 周兴
  249. * @date : 2024/2/20 11:46
  250. */
  251. validData() {
  252. let flag = true;
  253. let cardList = this.data.cardList;
  254. if (!cardList || cardList.length == 0) {
  255. return flag;
  256. }
  257. let form = this.data.form;
  258. let contentObj = this.data.contentObj;
  259. cardList.forEach(card => {
  260. if (contentObj[card]) {
  261. contentObj[card].forEach(item => {
  262. let title = this.$t(item.title ? item.title : item.code)
  263. // 如果必须输入,就要进行判断
  264. if (item.required && !form[item.code]) {
  265. item.errMsg = title + '不为空'
  266. flag = false;
  267. }
  268. })
  269. }
  270. })
  271. this.setData({
  272. contentObj: contentObj
  273. })
  274. return flag;
  275. },
  276. /**
  277. * @desc : 默认隐藏或者显示列 四个参数(1.contentObj 要改变的对象列表 2. 对象列表需要改变的块名 3.改变块 里的 changeObj 改变规则 4.规则里的 规则名)
  278. * @author : 周兴
  279. * @date : 2024/1/26 11:46
  280. */
  281. defaultvisibleOrHide(contentObj, card, changeObj, key) {
  282. // 是否根据值进行控制其他组件显示、隐藏
  283. if (changeObj && changeObj[key]) {
  284. // 显示
  285. if (changeObj[key]['visible']) {
  286. changeObj[key]['visible'].forEach(it => {
  287. let index = contentObj[card].findIndex(t => t.code == it)
  288. console.log('index', index);
  289. if (contentObj[card][index]) {
  290. contentObj[card][index].hide = false
  291. }
  292. })
  293. }
  294. // 隐藏
  295. if (changeObj[key]['hide']) {
  296. changeObj[key]['hide'].forEach(it => {
  297. let index = contentObj[card].findIndex(t => t.code == it)
  298. console.log('index', index);
  299. if (contentObj[card][index]) {
  300. contentObj[card][index].hide = true
  301. }
  302. })
  303. }
  304. }
  305. this.setData({
  306. contentObj: contentObj
  307. })
  308. },
  309. /**
  310. * @desc : 选择数据
  311. * @author : 周兴
  312. * @date : 2024/1/26 11:46
  313. */
  314. chooseData(e) {
  315. let contentObj = this.data.contentObj;
  316. let form = this.data.form
  317. if (e.detail.ids) {
  318. form[this.data.dropCode + 's'] = e.detail.ids;
  319. form[this.data.dropName + 's'] = e.detail.names;
  320. } else {
  321. form[this.data.dropCode] = e.detail.value;
  322. form[this.data.dropName] = e.detail.text;
  323. }
  324. let card = this.data.card;
  325. // 选择后清空校验提示信息
  326. if (card && contentObj[card][this.data.index]?.errMsg && e.detail) {
  327. contentObj[card][this.data.index].errMsg = undefined;
  328. }
  329. this.setData({
  330. value: JSON.stringify(form),
  331. form: form,
  332. contentObj: contentObj
  333. })
  334. // 是否根据值进行控制其他组件显示、隐藏
  335. let changeObj = this.data.changeObj
  336. let key = e.detail.value //util.getKeyByValue(Constants.kindCode, e.detail.value);
  337. if (changeObj && changeObj[key]) {
  338. // 显示
  339. if (changeObj[key]['visible']) {
  340. changeObj[key]['visible'].forEach(it => {
  341. let index = contentObj[card].findIndex(t => t.code == it)
  342. console.log('index', index);
  343. if (contentObj[card][index]) {
  344. contentObj[card][index].hide = false
  345. }
  346. })
  347. }
  348. // 隐藏
  349. if (changeObj[key]['hide']) {
  350. changeObj[key]['hide'].forEach(it => {
  351. let index = contentObj[card].findIndex(t => t.code == it)
  352. console.log('index', index);
  353. if (contentObj[card][index]) {
  354. contentObj[card][index].hide = true
  355. }
  356. })
  357. }
  358. }
  359. this.setData({
  360. contentObj: contentObj
  361. })
  362. // 如果处理id,name还需要赋值其他,需要在页面事件中自行处理
  363. this.triggerEvent("chooseData", {
  364. code: this.data.dropCode,
  365. list: e.detail.list
  366. })
  367. },
  368. /**
  369. * @desc : 打开日期pop
  370. * @author : 周兴
  371. * @date : 2024/1/26 11:46
  372. */
  373. openDatePop(e) {
  374. let item = e.currentTarget.dataset;
  375. if (item.item.readonly) {
  376. return
  377. }
  378. this.setData({
  379. showDate: true,
  380. index: item.index,
  381. key: item.key,
  382. card: item.card
  383. })
  384. },
  385. /**
  386. * @desc : 关闭日期pop
  387. * @author : 周兴
  388. * @date : 2024/1/26 11:46
  389. */
  390. cancelDatePop() {
  391. this.setData({
  392. showDate: false
  393. })
  394. },
  395. /**
  396. * @desc : 选择日期
  397. * @author : 周兴
  398. * @date : 2024/1/26 11:46
  399. */
  400. chooseDate(e) {
  401. let form = this.data.form;
  402. let index = this.data.index;
  403. let card = this.data.card;
  404. let code = this.data.key;
  405. form[code + '_time'] = e.detail
  406. form[code] = util.toDateStr(e.detail);
  407. let contentObj = this.data.contentObj;
  408. if (card && contentObj[card][index]?.errMsg && e.detail) {
  409. contentObj[card][index].errMsg = undefined;
  410. }
  411. this.setData({
  412. value: JSON.stringify(form),
  413. form: form,
  414. contentObj: contentObj,
  415. showDate: false
  416. })
  417. },
  418. /**
  419. * @desc : 修改输入框的值
  420. * @author : 周兴
  421. * @date : 2024/2/2 11:46
  422. */
  423. changeField(e) {
  424. let ds = e.currentTarget.dataset
  425. let key = ds.key
  426. let item = ds.item
  427. let form = this.data.form
  428. if (e.detail) {
  429. form[key] = e.detail;
  430. } else {
  431. delete form[key]
  432. }
  433. let contentObj = this.data.contentObj;
  434. // 输入值后清空校验提示信息
  435. if (item.errMsg && e.detail) {
  436. contentObj[ds.card][ds.index].errMsg = undefined;
  437. }
  438. this.setData({
  439. form: form,
  440. contentObj: contentObj
  441. })
  442. },
  443. /**
  444. * @desc : 失去焦点,把值传出
  445. * @author : 周兴
  446. * @date : 2024/2/2 11:46
  447. */
  448. blurField(e) {
  449. this.setData({
  450. value: JSON.stringify(this.data.form)
  451. })
  452. },
  453. /**
  454. * @desc : 清空输入框的值
  455. * @author : 周兴
  456. * @date : 2024/2/2 11:46
  457. */
  458. clearField(e) {
  459. console.log('eee', e);
  460. let ds = e.currentTarget.dataset
  461. let key = ds.key
  462. let form = this.data.form
  463. form[key] = undefined
  464. this.setData({
  465. value: JSON.stringify(form),
  466. form: form
  467. })
  468. // 如果要清除其他值,需要调用
  469. this.triggerEvent("clear", {
  470. code: ds.key
  471. })
  472. },
  473. /**
  474. * @desc : 清空选单的值
  475. * @author : 周兴
  476. * @date : 2024/2/2 11:46
  477. */
  478. clearChoose(e) {
  479. let ds = e.currentTarget.dataset
  480. let key = ds.key
  481. let name = ds.name
  482. let form = this.data.form
  483. if (ds.item.readonly) {
  484. return
  485. }
  486. form[key] = undefined
  487. form[name] = undefined
  488. this.setData({
  489. value: JSON.stringify(form),
  490. form: form
  491. })
  492. // 如果要清除其他值,需要调用
  493. this.triggerEvent("clear", {
  494. code: ds.key
  495. })
  496. },
  497. /**
  498. * @desc : 清空地址的值
  499. * @author : 周兴
  500. * @date : 2024/2/2 11:46
  501. */
  502. clearAddress(e) {
  503. let form = this.data.form
  504. form['address'] = undefined
  505. this.setData({
  506. value: JSON.stringify(form),
  507. form: form
  508. })
  509. // 如果要清除其他值,需要调用
  510. this.triggerEvent("clear", {
  511. code: ds.key
  512. })
  513. },
  514. /**
  515. * @desc : 清空日期的值
  516. * @author : 周兴
  517. * @date : 2024/2/2 11:46
  518. */
  519. clearDate(e) {
  520. let ds = e.currentTarget.dataset
  521. if (ds.item.readonly) {
  522. return
  523. }
  524. let key = ds.key
  525. let form = this.data.form
  526. form[key] = undefined
  527. form[key + '_time'] = undefined
  528. this.setData({
  529. value: JSON.stringify(form),
  530. form: form
  531. })
  532. },
  533. /**
  534. * @desc : 修改数值输入框的值
  535. * @author : 周兴
  536. * @date : 2024/2/2 11:46
  537. */
  538. changeNumberField(e) {
  539. let ds = e.currentTarget.dataset
  540. let key = ds.key
  541. let item = ds.item
  542. let form = this.data.form
  543. form[key] = e.detail.value
  544. let contentObj = this.data.contentObj;
  545. // 输入值后清空校验提示信息
  546. if (item.errMsg && e.detail) {
  547. contentObj[ds.card][ds.index].errMsg = undefined;
  548. }
  549. this.setData({
  550. value: JSON.stringify(form),
  551. form: form,
  552. contentObj: contentObj
  553. })
  554. // 如果要清除其他值,需要调用
  555. this.triggerEvent("changeNumberField", {
  556. code: ds.key
  557. })
  558. },
  559. /**
  560. * @desc : 修改电话的值
  561. * @author : 周兴
  562. * @date : 2024/2/2 11:46
  563. */
  564. changePhone(e) {
  565. let ds = e.currentTarget.dataset;
  566. let key = ds.key;
  567. let index = ds.index;
  568. let card = ds.card;
  569. let form = this.data.form
  570. form[key] = e.detail.detail
  571. let contentObj = this.data.contentObj;
  572. if (card && contentObj[card][index]?.errMsg && e.detail.detail) {
  573. contentObj[card][index].errMsg = undefined;
  574. }
  575. this.setData({
  576. value: JSON.stringify(form),
  577. form: form,
  578. contentObj: contentObj
  579. })
  580. },
  581. /**
  582. * @desc : 给电话赋值错误信息
  583. * @author : 周兴
  584. * @date : 2024/2/20 11:46
  585. */
  586. changePhoneblur(e) {
  587. let ds = e.currentTarget.dataset
  588. let errMsg = e.detail.errMsg;
  589. let card = ds.card;
  590. let index = ds.index;
  591. let contentObj = this.data.contentObj;
  592. if (errMsg && card && contentObj[card][index]) {
  593. contentObj[card][index].errMsg = errMsg;
  594. this.setData({
  595. errMsg: errMsg
  596. })
  597. }
  598. this.triggerEvent('changePhoneblur', e)
  599. },
  600. /**
  601. * @desc : 小程序地图调用
  602. * @author : 周兴
  603. * @date : 2024/2/18 18:16
  604. */
  605. onClickWxchartAddress(e) {
  606. // 跳转新建地图实例
  607. common.onClickWxchartAddress();
  608. let item = e.currentTarget.dataset;
  609. this.setData({
  610. index: item.index,
  611. card: item.card
  612. })
  613. },
  614. /**
  615. * @desc : 改变选择框内容
  616. * @author : 周兴
  617. * @date : 2024/1/26 11:46
  618. */
  619. onChange(e) {
  620. let key = e.currentTarget.dataset.key
  621. let item = e.currentTarget.dataset.item
  622. let checkFlag = e.currentTarget.dataset.value
  623. let form = this.data.form
  624. if (item.readonly) {
  625. return
  626. }
  627. form[key] = !checkFlag
  628. this.setData({
  629. value: JSON.stringify(form),
  630. form: form
  631. })
  632. this.triggerEvent("onSwitchChange", {
  633. code: key,
  634. checkFlag: checkFlag
  635. })
  636. },
  637. /**
  638. * @desc : 改变选择框内容
  639. * @author : 周兴
  640. * @date : 2024/1/26 11:46
  641. */
  642. changeTabs(e) {
  643. let key = e.currentTarget.dataset.key
  644. let id = e.detail.id
  645. let form = this.data.form
  646. form[key] = id
  647. this.setData({
  648. value: JSON.stringify(form),
  649. form: form
  650. })
  651. },
  652. /**
  653. * @desc : 打开日期pop
  654. * @author : 周兴
  655. * @date : 2024/1/26 11:46
  656. */
  657. openDatePopTime(e) {
  658. console.log('openDatePopTime')
  659. let item = e.currentTarget.dataset;
  660. this.setData({
  661. showDateTime: true,
  662. index: item.index,
  663. key: item.key,
  664. card: item.card
  665. })
  666. },
  667. /**
  668. * @desc : 关闭日期pop
  669. * @author : 周兴
  670. * @date : 2024/1/26 11:46
  671. */
  672. cancelDatePopTime() {
  673. this.setData({
  674. showDateTime: false
  675. })
  676. },
  677. /**
  678. * @desc : 选择日期
  679. * @author : 周兴
  680. * @date : 2024/1/26 11:46
  681. */
  682. chooseDateTime(e) {
  683. let form = this.data.form;
  684. let index = this.data.index;
  685. let card = this.data.card;
  686. let code = this.data.key;
  687. form[code + '_time'] = e.detail
  688. form[code] = util.formatDataTime(new Date(e.detail));
  689. let contentObj = this.data.contentObj;
  690. if (card && contentObj[card][index]?.errMsg && e.detail) {
  691. contentObj[card][index].errMsg = undefined;
  692. }
  693. this.setData({
  694. value: JSON.stringify(form),
  695. form: form,
  696. contentObj: contentObj,
  697. showDateTime: false
  698. })
  699. },
  700. /**
  701. * @desc : 是点击事件
  702. * @author : 于继渤
  703. * @date : 2024/1/26 11:46
  704. */
  705. onChangeCheckedBoxYes(e) {
  706. let form = this.data.form;
  707. let code = e.currentTarget.dataset.key;
  708. form[code] = e.detail
  709. this.setData({
  710. value: JSON.stringify(form),
  711. form: form,
  712. })
  713. },
  714. /**
  715. * @desc : 否点击事件
  716. * @author : 于继渤
  717. * @date : 2024/1/26 11:46
  718. */
  719. onChangeCheckedBoxNo(e) {
  720. let form = this.data.form;
  721. let code = e.currentTarget.dataset.key;
  722. form[code] = !e.detail
  723. this.setData({
  724. value: JSON.stringify(form),
  725. form: form,
  726. })
  727. },
  728. /**
  729. * @desc : 上传附件超出大小
  730. * @author : 周兴
  731. * @date : 2024/3/27 16:16
  732. */
  733. overSize(e) {
  734. util.showToast('文件超出' + Constants.uploadFileConfig.maxSizeMB);
  735. },
  736. /**
  737. * @desc : 删除图片
  738. * @author : 周兴
  739. * @date : 2024/4/29 18:16
  740. */
  741. deleteImg(e) {
  742. let form = this.data.form;
  743. let index = e.detail.index;
  744. let arr = form['annexPaths']
  745. arr.splice(index, 1);
  746. this.setData({
  747. form: form,
  748. value: JSON.stringify(form)
  749. })
  750. },
  751. /**
  752. * @desc : 上传附件
  753. * @author : 周兴
  754. * @date : 2024/3/27 16:16
  755. */
  756. afterRead(e) {
  757. // this.setData({
  758. // uploadFileFlag:true
  759. // })
  760. const _this = this;
  761. const {
  762. file
  763. } = e.detail;
  764. // 配置存放的文件夹 公司code - 表名 - 年月 -- 日
  765. let folder = app.globalData.company.cpCode + '/' + this.data.table + '/' + new Date().toYearMonth2() + '/' + new Date().toDay()
  766. let url = config.upload_url;
  767. url = url.replace('mdm-server', 'mdm-server' + '-' + app.globalData.company.svcCode.replace('_', '-'))
  768. file.forEach(res => {
  769. // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
  770. wx.uploadFile({
  771. url: url,
  772. filePath: res.path,
  773. name: 'file',
  774. formData: {
  775. 'folder': folder
  776. },
  777. header: {
  778. 'Authorization': 'Bearer ' + app.globalData.token
  779. },
  780. success(res) {
  781. let data = JSON.parse(res.data)
  782. if (data.code === 200) {
  783. _this.setData({
  784. uploadFileFlag: false
  785. })
  786. let form = _this.data.form
  787. let annexPaths = form['annexPaths'] || []
  788. data.data.url = config.image_url + data.data.path
  789. annexPaths.push(data.data)
  790. form.annexPaths = annexPaths;
  791. _this.setData({
  792. form: form,
  793. value: JSON.stringify(form)
  794. })
  795. console.log('ff', _this.data.form);
  796. }
  797. },
  798. })
  799. })
  800. },
  801. /**
  802. * @desc : 获取语言的方法
  803. * @author : 周兴
  804. * @date : 2024/1/19
  805. */
  806. $t(name) {
  807. if (this.data.$t[name]) {
  808. return this.data.$t[name];
  809. } else {
  810. return name;
  811. }
  812. },
  813. },
  814. })