index.wxml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. <view class="item" wx:for="{{editFields}}" wx:key="index">
  2. <view class="name"> <text wx:if="{{item.required}}" style="color: red;">*</text> {{item.name}}:</view>
  3. <view class="content">
  4. <block wx:if="{{item.type=='String'}}">
  5. <block wx:if="{{!item.view}}">
  6. <view class="text">
  7. <textarea value="{{editMap[item.key].val}}" data-key="{{item.key}}" bindblur="changeTextarea" placeholder="请输入{{item.name}}" auto-height disabled="{{item.disabled}}"></textarea>
  8. </view>
  9. </block>
  10. <block wx:elif="{{item.view=='edit-image'}}">
  11. <view class="image">
  12. <block wx:if="{{item.disabled}}">
  13. <image style="width:160rpx;height: 160rpx;" src="{{editMap[item.key].val[0].url}}" mode="" />
  14. </block>
  15. <block wx:else>
  16. <upload fileList="{{editMap[item.key].val}}" accept="all" data-key="{{item.key}}" bind:onChangeFile="changeFile" accept="image" maxCount="1" uploadURL="{{uploadURL}}" domain="{{domain}}" uptokenURL="{{uptokenURL}}"></upload>
  17. </block>
  18. </view>
  19. </block>
  20. <block wx:elif="{{item.view=='edit-select'}}">
  21. <van-radio-group disabled="{{item.disabled}}" value="{{editMap[item.key].val}}" class="radioGroup" data-key="{{item.key}}" bind:change="radioChange">
  22. <view wx:for="{{item.options}}" wx:for-item="option" wx:key="option" class="radio">
  23. <van-radio checked-color="{{color}}" name="{{option.value}}">{{option.label}}</van-radio>
  24. </view>
  25. </van-radio-group>
  26. </block>
  27. </block>
  28. <block wx:elif="{{item.type=='Number'}}">
  29. <van-field disabled="{{item.disabled}}" value="{{editMap[item.key].val}}" data-key="{{item.key}}" bindblur="changeNumber" type="digit" placeholder="请输入{{item.name}}" border="{{ false }}" />
  30. </block>
  31. <block wx:elif="{{item.type=='Boolean'}}">
  32. <van-switch disabled="{{item.disabled}}" active-color="{{color}}" checked="{{ editMap[item.key].val }}" data-key="{{item.key}}" bind:change="switchChange" size="40rpx" />
  33. </block>
  34. <block wx:elif="{{item.type=='Array'}}">
  35. <block wx:if="{{!item.view}}">
  36. <view class="tags">
  37. <block wx:for="{{editMap[item.key].val}}" wx:for-item="tag" wx:for-index="tag_index" wx:key="tag">
  38. <van-tag type="primary" closeable="{{!item.disabled}}" size="medium" data-key="{{item.key}}" data-index="{{tag_index}}" bind:close="delTextarea" color="{{color}}" text-color="{{text_color}}">{{tag}}</van-tag>
  39. </block>
  40. </view>
  41. <view class="text">
  42. <textarea disabled="{{item.disabled}}" confirm-type="点击添加" data-key="{{item.key}}" bindconfirm="addTextarea" placeholder="请输入{{item.name}}" auto-height></textarea>
  43. </view>
  44. </block>
  45. <block wx:elif="{{item.view=='edit-image'}}">
  46. <block wx:if="{{item.disabled}}">
  47. <image wx:for="{{editMap[item.key].val}}" wx:for-item="disabled_item" wx:for-index="disabled_index" wx:key="disabled_item" style="width:160rpx;height: 160rpx;margin-right: 10rpx;" src="{{disabled_item.url}}" mode="" />
  48. </block>
  49. <block wx:else>
  50. <upload fileList="{{editMap[item.key].val}}" data-key="{{item.key}}" bind:onChangeFile="changeFile_array" accept="image" maxCount="9" uploadURL="{{uploadURL}}" domain="{{domain}}" uptokenURL="{{uptokenURL}}"></upload>
  51. </block>
  52. </block>
  53. <block wx:elif="{{item.view=='pointer-array'}}">
  54. <view class="tags">
  55. <block wx:for="{{editMap[item.key].text}}" wx:for-item="tag" wx:for-index="tag_index" wx:key="tag">
  56. <van-tag type="primary" closeable="{{!item.disabled}}" size="medium" data-key="{{item.key}}" data-index="{{tag_index}}" bind:close="delPointer" color="{{color}}" text-color="{{text_color}}">{{tag}}</van-tag>
  57. </block>
  58. </view>
  59. <view class="btn_Pointer" wx:if="{{!item.disabled}}">
  60. <button data-index="{{index}}" data-key="{{item.key}}" bind:tap="openPointer" style="background: {{color}};color: {{text_color}};">
  61. <van-icon name="plus" />添加
  62. </button>
  63. </view>
  64. </block>
  65. </block>
  66. <block wx:elif="{{item.type=='Pointer'}}">
  67. <view class="text" data-index="{{index}}" data-key="{{item.key}}" bind:tap="openPointer">
  68. <text class="title">{{editMap[item.key].text||'请选择'}}</text>
  69. <van-icon name="arrow" />
  70. </view>
  71. </block>
  72. <block wx:elif="{{item.type=='GeoPoint'}}">
  73. <view class="btn_Pointer" wx:if="{{!item.disabled}}">
  74. <button data-index="{{index}}" data-key="{{item.key}}" bind:tap="chooseGeoPoint" style="background: {{color}};color: {{text_color}};">
  75. 选择{{item.name}}
  76. </button>
  77. </view>
  78. <view class="geoPoint" wx:if="{{editMap[item.key].val.longitude&&editMap[item.key].val.latitude}}">
  79. <block wx:if="{{editMap[item.key].val.longitude}}">
  80. 经:{{editMap[item.key].val.longitude}}
  81. </block>
  82. <block wx:if="{{editMap[item.key].val.latitude}}">
  83. 纬:{{editMap[item.key].val.latitude}}
  84. </block>
  85. <view wx:if="{{editMap[item.key].text}}" data-str="{{editMap[item.key].text}}" bind:tap="copyStr">
  86. {{editMap[item.key].text}}
  87. <van-icon name="orders-o" />
  88. </view>
  89. </view>
  90. </block>
  91. <block wx:elif="{{item.type=='Object'}}">
  92. <block wx:if="{{item.view=='edit-spec'}}">
  93. <view class="specMap">
  94. <view class="tip">不同规格价格不同可在规格属性里面填写价格,价格一样可不填写,编辑完之后需要保存</view>
  95. <view class="list">
  96. <view class="tags">
  97. <text class="title">属性名称:</text>
  98. <block wx:for="{{editMap[item.key].val.specList}}" wx:for-item="spec_item" wx:for-index="spec_index" wx:key="spec_item">
  99. <van-tag closeable="{{!item.disabled}}" type="primary" size="medium" color="{{color}}" text-color="{{text_color}}" data-key="{{item.key}}" data-spec_index="{{spec_index}}" bind:close="delKey_ShopGoods_specMap">{{spec_item}}</van-tag>
  100. </block>
  101. </view>
  102. <view class="text">
  103. <textarea disabled="{{item.disabled}}" confirm-type="点击添加" data-key="{{item.key}}" bindconfirm="addKey_ShopGoods_specMap" placeholder="请输入规格名称(可填多个)" auto-height></textarea>
  104. </view>
  105. </view>
  106. <view class="obj">
  107. <view class="title">属性对象:</view>
  108. <block wx:for="{{editMap[item.key].val.specList}}" wx:for-item="spec_item" wx:for-index="spec_index" wx:key="spec_item">
  109. <view class="obj_item">
  110. <view class="key">{{spec_item}}:</view>
  111. <view class="info">
  112. <block wx:for="{{editMap[item.key].val[spec_item]}}" wx:for-item="spec_map_item" wx:for-index="spec_map_index" wx:key="spec_map_item">
  113. <view class="info_item">
  114. <view>
  115. <text>属性值:</text>
  116. <input disabled="{{item.disabled}}" data-key="{{item.key}}" data-spec="{{spec_item}}" data-spec_map_index="{{spec_map_index}}" bindinput="setValue" value="{{spec_map_item.value}}" placeholder="输入属性值" type="text" />
  117. </view>
  118. <view>
  119. <text>价格:</text>
  120. <input disabled="{{item.disabled}}" data-key="{{item.key}}" data-spec="{{spec_item}}" data-spec_map_index="{{spec_map_index}}" bindinput="setPrice" value="{{spec_map_item.price}}" placeholder="输入价格" type="digit" />
  121. </view>
  122. <view>
  123. <text>会员价格:</text>
  124. <input disabled="{{item.disabled}}" data-key="{{item.key}}" data-spec="{{spec_item}}" data-spec_map_index="{{spec_map_index}}" bindinput="setVipPrice" value="{{spec_map_item.vipPrice}}" placeholder="输入会员价格" type="digit" />
  125. </view>
  126. <view wx:if="{{editMap[item.key].val[spec_item].length>1&&!item.disabled}}" class="del" data-key="{{item.key}}" data-spec="{{spec_item}}" data-spec_map_index="{{spec_map_index}}" bind:tap="delSpecMapItem">
  127. <van-icon name="cross" />
  128. </view>
  129. </view>
  130. </block>
  131. <view wx:if="{{!item.disabled}}" class="btn_specMap" style="border:1rpx solid {{color}};">
  132. <button data-key="{{item.key}}" data-spec="{{spec_item}}" bind:tap="addSpecMap" style="color: {{color}};">
  133. <van-icon name="plus" />添加
  134. </button>
  135. </view>
  136. </view>
  137. </view>
  138. </block>
  139. </view>
  140. </view>
  141. </block>
  142. <block wx:elif="{{item.view=='json-object'}}">
  143. <view class="jsonObj">
  144. <block wx:for="{{item.jsonArr}}" wx:for-item="json_item" wx:for-index="json_index" wx:key="json_item">
  145. <view class="">{{json_item.label}}:</view>
  146. <view class="text">
  147. <textarea value="{{editMap[item.key].val[json_item.key]}}" data-json_key="{{json_item.key}}" data-key="{{item.key}}" bindblur="changeJsonTextarea" placeholder="{{json_item.value}}" auto-height disabled="{{item.disabled}}"></textarea>
  148. </view>
  149. </block>
  150. </view>
  151. </block>
  152. </block>
  153. </view>
  154. </view>
  155. <block wx:if="{{is_btn}}">
  156. <view class="footer">
  157. <button class="btn" style="background: {{color}};color: {{text_color}};" bindtap="submit">提交</button>
  158. </view>
  159. </block>
  160. <!-- 指针查询 -->
  161. <van-popup show="{{ isShowPointer }}" position="bottom" bind:close="closePointer" round>
  162. <view class="popup">
  163. <view class="title">选择内容</view>
  164. <van-search bind:change="valChange" placeholder="请输入搜索关键词" />
  165. <scroll-view class="itemBox" bindscrolltolower="getPointerItem" scroll-y>
  166. <block wx:for="{{pointerList}}" wx:for-item="pointer_item" wx:key="pointer_item">
  167. <view class="item" data-index="{{index}}" bind:tap="{{editFields[fieldIndex].type=='Array'?'checkPointer_Array':'checkPointer'}}" style="color:{{pointer_item.dev_router_check?color:'black'}};">
  168. {{pointer_item.storeName||pointer_item.name||pointer_item.title||pointer_item.orderNum||pointer_item.mobile}}
  169. <van-icon name="success" wx:if="{{pointer_item.dev_router_check}}" color="{{color}}" />
  170. </view>
  171. </block>
  172. </scroll-view>
  173. </view>
  174. </van-popup>