index.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <template>
  2. <view class="width100 borderBottom1pxf2f2f2" @tap.stop.prevent="show">
  3. <QStemplate :title="title" :titleHide="titleHide" :fontSize="fontSize" :width="width" :titleFlex="titleFlex"
  4. :contentFlex="contentFlex" :titleStyle="titleStyle" :contentStyle="contentStyle" :required="required" :requiredSign="requiredSign"
  5. :layout="layout" :titleLayout="titleLayout" :itemDisabled="itemDisabled" :titleColor="titleColor">
  6. <view class="flex_row width100">
  7. <block v-if="linkage">
  8. <block v-if="linkageNum == 2">
  9. <view class="flex_row_e_c padding_10rpx_15rpx Flex5" :class="nValue.data && nValue.data.steps1 && nValue.data.steps2?'':'fontColorADADAD'">
  10. {{
  11. nValue.data && nValue.data.steps1 && nValue.data.steps2?
  12. (nValue.data.steps1[steps.step_1_value] + '-' +
  13. (steps.step_2_value?nValue.data.steps2[steps.step_2_value]:nValue.data.steps2)):
  14. placherhold
  15. }}
  16. </view>
  17. </block>
  18. <block v-if="linkageNum == 3">
  19. <view class="flex_row_e_c padding_10rpx_15rpx Flex5" :class="nValue.data && nValue.data.steps1 && nValue.data.steps2 && nValue.data.steps3?'':'fontColorADADAD'">
  20. {{
  21. nValue.data && nValue.data.steps1 && nValue.data.steps2 && nValue.data.steps3?
  22. (nValue.data.steps1[steps.step_1_value] + '-' +
  23. (steps.step_2_value?nValue.data.steps2[steps.step_2_value]:nValue.data.steps2) + '-' +
  24. (steps.step_3_value?nValue.data.steps3[steps.step_3_value]:nValue.data.steps3)):
  25. placherhold
  26. }}
  27. </view>
  28. </block>
  29. </block>
  30. <block v-else>
  31. <block v-if="nValue.data && nValue.data.length > 0">
  32. <view class="flex_row_e_c padding_10rpx_15rpx Flex5">
  33. <view
  34. v-for="(i, d) in nValue.data"
  35. :key="d">
  36. {{
  37. d==0?
  38. (steps?
  39. steps.step_1_value?
  40. i[steps.step_1_value]:
  41. i:
  42. i):
  43. '-' +
  44. (steps?
  45. steps.step_1_value?
  46. i[steps.step_1_value]:
  47. i:
  48. i)
  49. }}
  50. </view>
  51. </view>
  52. </block>
  53. <block v-else>
  54. <view class="flex_row_e_c padding_10rpx_15rpx Flex5 fontColorADADAD">
  55. {{placherhold}}
  56. </view>
  57. </block>
  58. </block>
  59. <view class="Flex1_5 flex_row_c_c">
  60. <uniIcon type="forward" :size="fontSize" color="#666"></uniIcon>
  61. </view>
  62. </view>
  63. </QStemplate>
  64. <pickerCustom
  65. ref="inputsRef"
  66. :height="height"
  67. :fontScale="fontScale"
  68. :buttonSet="buttonSet"
  69. :dataSet="dataSet"
  70. :showReset="showReset"
  71. :title="pickerTitle"
  72. :mode="mode"
  73. :zIndex="zIndex"
  74. :bgColor_title="bgColor_title"
  75. :titleColor="pickerTitleColor"
  76. :autoHide="autoHide"
  77. @confirm="confirm"
  78. @pickerChange="pickerChange"
  79. :linkage="linkage"
  80. :linkageNum="linkageNum"
  81. :steps="steps"
  82. :async="async"
  83. :customId="customId"></pickerCustom>
  84. </view>
  85. </template>
  86. <script>
  87. import _app from '../../js/app.js';
  88. import QStemplate from '../../template/template.vue';
  89. import QSInputsMixin from '../../js/QSInputsMixin.js';
  90. import QSInputsPickerMixin from '../../js/QSInputsPickerMixin.js';
  91. import pickerCustom from '../../template/QS-picker/elements/QS-picker-custom.vue';
  92. import uniIcon from '../../uniIcons/uni-icons.vue';
  93. export default {
  94. components: {
  95. QStemplate,
  96. pickerCustom,
  97. uniIcon
  98. },
  99. props: {
  100. linkage: {
  101. type: Boolean,
  102. default: false
  103. },
  104. linkageNum: {
  105. type: [Number, String],
  106. default: 2
  107. },
  108. steps: Object,
  109. async: {
  110. type: Boolean,
  111. default: false
  112. }
  113. },
  114. mixins: [QSInputsMixin({
  115. QSInputsType: _app.typeObj.picker_custom
  116. }), QSInputsPickerMixin()]
  117. };
  118. </script>
  119. <style scoped>
  120. @import url("../../css/inputs.css");
  121. </style>