Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

basicInformation.vue 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <template>
  2. <view>
  3. <image class='bg-image' mode="widthFix"
  4. src="https://qtzl.etcjz.cn/default-bucket/20240324/3eba2095f5204798a1f8101b_beijing.jpg"></image>
  5. <view class="content-re">
  6. <custom-header :back="false" title="基本信息"></custom-header>
  7. <view style="padding-top: 20rpx" v-if="isShow">
  8. <form-builder-vue :formData="formData" :config="config" @submit="submit" :vanType="vanTypes"></form-builder-vue>
  9. </view>
  10. </view>
  11. </view>
  12. </template>
  13. <script setup lang="ts">
  14. import { unifyTemplate } from '@/hooks/unifyTemplate';
  15. import { TypeData, Index } from '@/components/form-builder/tools';
  16. import { nextTick, ref } from 'vue';
  17. import { onLoad } from '@dcloudio/uni-app';
  18. import { request } from '@/utils/network/request';
  19. import fromDatas from './fromData.js';
  20. let config = ref<any>({
  21. submitName: '下一步',
  22. titleWidth: 160
  23. });
  24. let formData = ref(fromDatas);
  25. const {
  26. formBuilderVue, //组件
  27. CustomHeader, //头部组件
  28. initData, //初始化数据
  29. isShow, //是否展示formBuilderVue组件
  30. qdOrderVal, //qdOrder中数据 ref
  31. cusQdOrderVal
  32. } = unifyTemplate(); //初始化数据
  33. let vanTypes = ref('all');
  34. //获取页面配置
  35. onLoad((opin) => {
  36. initData(opin, -1).then((data) => {
  37. formData.value = JSON.parse(data.config.tableConfig);
  38. if (!isSkip(qdOrderVal.value, formData.value)) {
  39. if (qdOrderVal.value.vanType == 1) {
  40. // 客车
  41. vanTypes.value = 'passengerCar';
  42. } else {
  43. // 货车
  44. vanTypes.value = 'truck';
  45. }
  46. isShow.value = true;
  47. delete data.config.tableConfig;
  48. config.value = Object.assign(data.config, config.value);
  49. nextTick(() => {
  50. handleHide();
  51. });
  52. } else {
  53. uni.navigateTo({
  54. url: '/' + data.config.jumpPage,
  55. animationType: 'pop-in',
  56. animationDuration: 500
  57. });
  58. }
  59. });
  60. });
  61. // let options = {
  62. // userType: '用户类型',
  63. // vehicleColor: '车牌颜色',
  64. // vehiclePlate: '车牌号'
  65. // }
  66. let hideArr = ref<any>([]);
  67. function isSkip(qdOrder, formData) {
  68. let formLen = formData.length;
  69. for (let item of formData) {
  70. if (qdOrder[item.value] !== undefined) {
  71. console.log(item);
  72. hideArr.value.push(item.title);
  73. formLen--;
  74. }
  75. }
  76. return !formLen;
  77. }
  78. //有哪些字段隐藏哪些字段
  79. function handleHide() {
  80. hideArr.value.forEach((item) => {
  81. console.log(item);
  82. formData.value[Index(item, formData.value)].show = true;
  83. });
  84. }
  85. /**
  86. * 请求函数,e为处理后的value
  87. * */
  88. function submit(e : any) {
  89. // qdorder数据
  90. cusQdOrderVal.value = {
  91. ...cusQdOrderVal.value,
  92. ...e
  93. };
  94. let data = {
  95. vehiclePlate: e.vehiclePlate,
  96. vehiclePlateColor: e.vehicleColor
  97. };
  98. console.log('车牌校验请求接口', data, cusQdOrderVal.value);
  99. request('147', {
  100. data
  101. }).then((res) => {
  102. if (res.statusCode === 0) {
  103. console.log(res);
  104. let { jumpPage } = config.value;
  105. uni.navigateTo({
  106. url: '/' + jumpPage,
  107. animationType: 'pop-in',
  108. animationDuration: 500
  109. });
  110. }
  111. });
  112. // let key = cusQdOrderVal.value.vehiclePlate.search('贵Z')
  113. // if (key === -1) {
  114. // uni.showModal({
  115. // title: '提示',
  116. // content: '当前功能正在内测中,敬请期待!',
  117. // success: function(res) {
  118. // if (res.confirm) {} else if (res.cancel) {}
  119. // }
  120. // });
  121. // return
  122. // }
  123. }
  124. </script>
  125. <style lang="scss" scoped></style>