storeSetup.vue 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194
  1. <template>
  2. <view class="container">
  3. <form @submit="onSubmit">
  4. <view class="page-block">
  5. <view class="page-title-block">
  6. <view class="title">基本信息</view>
  7. </view>
  8. <view class="content">
  9. <view class="cell flex flex-y-center arr-r">
  10. <view class="title-block required">
  11. <text>配送方式</text>
  12. </view>
  13. <view class="desc">
  14. <picker mode="selector" :range="printerAddrList" @change="onPrinterAddrChange">
  15. <view :class="[printerAddr?'':'desc-placeholder','input-box']">{{printerAddr || '请选择'}}
  16. </view>
  17. </picker>
  18. </view>
  19. </view>
  20. </view>
  21. </view>
  22. <!-- -->
  23. <view class="page-block">
  24. <view class="content">
  25. <block v-if="ps_mode==2">
  26. <view class="cell flex flex-y-center">
  27. <view class="title-block required">
  28. <text>达达接单</text>
  29. </view>
  30. <view class="desc">
  31. <view class="flex-center flex-x-start">
  32. <view class="checklist-box " @click="choiceDada(item.num)"
  33. v-for="(item,index) of dada_arr" :key='index'
  34. :class="is_dada==item.num?'actt':''">
  35. <view class="radio__inner" :class="is_dada==item.num?'act_border':''">
  36. <view :class="is_dada==item.num?'is-default-checked':''"
  37. class="radio__inner-icon radio__inner-icon ">
  38. </view>
  39. </view>
  40. <text class="checklist-text">{{item.name}}</text>
  41. </view>
  42. </view>
  43. </view>
  44. </view>
  45. <view class="cell flex flex-y-center">
  46. <view class="title-block required">
  47. <text>商户ID</text>
  48. </view>
  49. <view class="desc">
  50. <input type="text" :value="info.source_id" name="source_id" class="input-box"
  51. placeholder="商户ID" placeholder-class="desc-placeholder">
  52. </view>
  53. </view>
  54. <view class="cell flex flex-y-center">
  55. <view class="title-block required">
  56. <text>门店编号</text>
  57. </view>
  58. <view class="desc">
  59. <input type="text" :value="info.shop_no" name="shop_no" class="input-box"
  60. placeholder="门店编号" placeholder-class="desc-placeholder">
  61. </view>
  62. </view>
  63. <view class="red" @click="copyText(1)">
  64. *点击复制去http://newopen.imdada.cn申请
  65. </view>
  66. </block>
  67. <view class="cell flex flex-y-center">
  68. <view class="title-block required">
  69. <text>起送价</text>
  70. </view>
  71. <view class="desc">
  72. <input type="text" :value="info.delivery_price" name="delivery_price" class="input-box"
  73. placeholder="起送价" placeholder-class="desc-placeholder">
  74. </view>
  75. </view>
  76. <view class="cell flex flex-y-center">
  77. <view class="title-block required">
  78. <text>默认配送费</text>
  79. </view>
  80. <view class="desc">
  81. <input type="text" :value="info.default_delivery_price" name="default_delivery_price"
  82. class="input-box" placeholder="默认配送费" placeholder-class="desc-placeholder">
  83. </view>
  84. </view>
  85. <view class="cell flex flex-y-center">
  86. <view class="title-block required">
  87. <text>配送距离设置</text>
  88. </view>
  89. <view class="desc">
  90. <input type="text" :value="info.number" name="number" class="input-box" placeholder="配送距离设置"
  91. placeholder-class="desc-placeholder">
  92. </view>
  93. </view>
  94. <view class="red">
  95. *单位为:公里(千米),*0不限制距离
  96. </view>
  97. <view class="cell flex flex-y-center" @click="bindMap">
  98. <view class="title-block required">
  99. <text>门店坐标</text>
  100. </view>
  101. <view class="desc">
  102. <view class="input-box">{{coordinates}}</view>
  103. </view>
  104. </view>
  105. <view class="red" @click="copyText(2)">
  106. *点击复制去http://lbs.qq.com/tool/getpoint/申请
  107. </view>
  108. </view>
  109. </view>
  110. <!-- -->
  111. <view class="page-block">
  112. <view class="content">
  113. <view class="cell flex flex-y-center">
  114. <view class="title-block required">
  115. <text>是否开启DIY装修</text>
  116. </view>
  117. <view class="desc">
  118. <view class="flex-center flex-x-start">
  119. <view class="checklist-box " @click="choiceDiy(item.num)"
  120. v-for="(item,index) of diy_arr" :key='index' :class="is_diy==item.num?'actt':''">
  121. <view class="radio__inner" :class="is_diy==item.num?'act_border':''">
  122. <view :class="is_diy==item.num?'is-default-checked':''"
  123. class="radio__inner-icon radio__inner-icon ">
  124. </view>
  125. </view>
  126. <text class="checklist-text">{{item.name}}</text>
  127. </view>
  128. </view>
  129. </view>
  130. </view>
  131. <block v-if="ps_mode != 1">
  132. <view class="cell flex flex-y-center">
  133. <view class="title-block required">
  134. <text>是否自动派单功能</text>
  135. </view>
  136. <view class="desc">
  137. <view class="flex-center flex-x-start">
  138. <view class="checklist-box " @click="choiceSingleStatus(item.num)"
  139. v-for="(item,index) of single_status_arr" :key='index'
  140. :class="single_status==item.num?'actt':''">
  141. <view class="radio__inner" :class="single_status==item.num?'act_border':''">
  142. <view :class="single_status==item.num?'is-default-checked':''"
  143. class="radio__inner-icon radio__inner-icon ">
  144. </view>
  145. </view>
  146. <text class="checklist-text">{{item.name}}</text>
  147. </view>
  148. </view>
  149. </view>
  150. </view>
  151. <block v-if="single_status == 1">
  152. <block v-if="ps_mode == 3">
  153. <view class="cell flex flex-y-center arr-r">
  154. <view class="title-block required">
  155. <text>配送模式</text>
  156. </view>
  157. <view class="desc">
  158. <picker mode="selector" :range="sendModeArr" range-key="name"
  159. @change="onSendModeChange">
  160. <view :class="['input-box']">
  161. {{sendModeArr[sendModeIndex].name}}
  162. </view>
  163. </picker>
  164. </view>
  165. </view>
  166. <view class="cell flex flex-y-center arr-r" v-if="sendModeIndex == 2">
  167. <view class="title-block required">
  168. <text>配送名称</text>
  169. </view>
  170. <view class="desc">
  171. <picker mode="selector" :range="sendModeNameArr" range-key="name"
  172. @change="onSendModeNameChange">
  173. <view :class="['input-box']">
  174. {{sendModeNameArr[sendModeNameIndex].name}}
  175. </view>
  176. </picker>
  177. </view>
  178. </view>
  179. </block>
  180. <view class="cell flex flex-y-center">
  181. <view class="title-block required">
  182. <text>缓冲时间</text>
  183. </view>
  184. <view class="desc">
  185. <input type="text" :value="info.single_status_time" name="single_status_time"
  186. class="input-box" placeholder="多少分钟" placeholder-class="desc-placeholder">
  187. </view>
  188. </view>
  189. </block>
  190. </block>
  191. <view class="cell flex flex-y-center">
  192. <view class="title-block required">
  193. <text>支付时提示开通会员</text>
  194. </view>
  195. <view class="desc">
  196. <view class="flex-center flex-x-start">
  197. <view class="checklist-box " @click="choiceOpen(item.num)"
  198. v-for="(item,index) of open_arr" :key='index'
  199. :class="open==item.num?'actt':''">
  200. <view class="radio__inner" :class="open==item.num?'act_border':''">
  201. <view :class="open==item.num?'is-default-checked':''"
  202. class="radio__inner-icon radio__inner-icon ">
  203. </view>
  204. </view>
  205. <text class="checklist-text">{{item.name}}</text>
  206. </view>
  207. </view>
  208. </view>
  209. </view>
  210. <view class="cell flex flex-y-center">
  211. <view class="title-block required">
  212. <text>换桌开启</text>
  213. </view>
  214. <view class="desc">
  215. <view class="flex-center flex-x-start">
  216. <view class="checklist-box " @click="choiceTable(item.num)"
  217. v-for="(item,index) of table_arr" :key='index'
  218. :class="is_table==item.num?'actt':''">
  219. <view class="radio__inner" :class="is_table==item.num?'act_border':''">
  220. <view :class="is_table==item.num?'is-default-checked':''"
  221. class="radio__inner-icon radio__inner-icon ">
  222. </view>
  223. </view>
  224. <text class="checklist-text">{{item.name}}</text>
  225. </view>
  226. </view>
  227. </view>
  228. </view>
  229. <view class="cell flex flex-y-center">
  230. <view class="title-block required">
  231. <text>余额支付优先等级</text>
  232. </view>
  233. <view class="desc">
  234. <view class="flex-center flex-x-start">
  235. <view class="checklist-box " @click="choiceYuer(item.num)"
  236. v-for="(item,index) of yuer_arr" :key='index' :class="is_yuer==item.num?'actt':''">
  237. <view class="radio__inner" :class="is_yuer==item.num?'act_border':''">
  238. <view :class="is_yuer==item.num?'is-default-checked':''"
  239. class="radio__inner-icon radio__inner-icon ">
  240. </view>
  241. </view>
  242. <text class="checklist-text">{{item.name}}</text>
  243. </view>
  244. </view>
  245. </view>
  246. </view>
  247. <view class="cell flex flex-y-center">
  248. <view class="title-block required">
  249. <text>DIY首页购物车</text>
  250. </view>
  251. <view class="desc">
  252. <view class="flex-center flex-x-start">
  253. <view class="checklist-box " @click="choiceCart(item.num)"
  254. v-for="(item,index) of cart_arr" :key='index' :class="is_cart==item.num?'actt':''">
  255. <view class="radio__inner" :class="is_cart==item.num?'act_border':''">
  256. <view :class="is_cart==item.num?'is-default-checked':''"
  257. class="radio__inner-icon radio__inner-icon ">
  258. </view>
  259. </view>
  260. <text class="checklist-text">{{item.name}}</text>
  261. </view>
  262. </view>
  263. </view>
  264. </view>
  265. <view class="red">
  266. *开启此功能DIY装修的商品模块只能放1个
  267. </view>
  268. <view class="cell flex flex-y-center">
  269. <view class="title-block required">
  270. <text>商品加载模式</text>
  271. </view>
  272. <view class="desc">
  273. <view class="flex-center flex-x-start">
  274. <view class="checklist-box " @click="choiceLoad(item.num)"
  275. v-for="(item,index) of load_arr" :key='index' :class="is_rebate==item.num?'actt':''">
  276. <view class="radio__inner" :class="is_rebate==item.num?'act_border':''">
  277. <view :class="is_rebate==item.num?'is-default-checked':''"
  278. class="radio__inner-icon radio__inner-icon ">
  279. </view>
  280. </view>
  281. <text class="checklist-text">{{item.name}}</text>
  282. </view>
  283. </view>
  284. </view>
  285. </view>
  286. <view class="red">
  287. *商品数量多的话建议选择分类加载
  288. </view>
  289. <view class="cell flex flex-y-center">
  290. <view class="title-block required">
  291. <text>点餐标签</text>
  292. </view>
  293. <view class="desc">
  294. <input type="text" :value="info.desc" name="desc" class="input-box" placeholder="点餐标签"
  295. placeholder-class="desc-placeholder">
  296. </view>
  297. </view>
  298. <view class="red">
  299. *默认2个关键词(英文逗号隔开):例如:下单,配送
  300. </view>
  301. <view class="cell flex flex-y-center">
  302. <view class="title-block required">
  303. <text>就餐方式</text>
  304. </view>
  305. <view class="desc">
  306. <input type="text" :value="info.eat_mode" name="eat_mode" class="input-box"
  307. placeholder="就餐方式" placeholder-class="desc-placeholder">
  308. </view>
  309. </view>
  310. <view class="red">
  311. *默认3个关键词(英文逗号隔开):例如:购买方式,店内下单,到店自取
  312. </view>
  313. <view class="cell flex flex-y-center">
  314. <view class="title-block ">
  315. <text>位置类型</text>
  316. </view>
  317. <view class="desc">
  318. <input type="text" :value="info.table_type" name="table_type" class="input-box"
  319. placeholder="标题文字修改" placeholder-class="desc-placeholder">
  320. </view>
  321. </view>
  322. <view class="cell flex flex-y-center">
  323. <view class="title-block ">
  324. <text>位置管理</text>
  325. </view>
  326. <view class="desc">
  327. <input type="text" :value="info.table_manager" name="table_manager" class="input-box"
  328. placeholder="标题文字修改" placeholder-class="desc-placeholder">
  329. </view>
  330. </view>
  331. <view class="cell flex flex-y-center">
  332. <view class="title-block required">
  333. <text>未支付订单取消时间(分钟)</text>
  334. </view>
  335. <view class="desc">
  336. <input type="number" :value="info.cancel_time" name="cancel_time" class="input-box"
  337. placeholder="未支付订单取消时间" placeholder-class="desc-placeholder">
  338. </view>
  339. </view>
  340. <view class="cell flex flex-y-center mrt10">
  341. <view class="title-block required">
  342. <text>是否开启积分功能</text>
  343. </view>
  344. <view class="desc">
  345. <view class="flex-center flex-x-start">
  346. <view class="checklist-box " @click="choicepay(item.num)"
  347. v-for="(item,index) of integral_arr" :key='index'
  348. :class="is_integral==item.num?'actt':''">
  349. <view class="radio__inner" :class="is_integral==item.num?'act_border':''">
  350. <view :class="is_integral==item.num?'is-default-checked':''"
  351. class="radio__inner-icon radio__inner-icon ">
  352. </view>
  353. </view>
  354. <text class="checklist-text">{{item.name}}</text>
  355. </view>
  356. </view>
  357. </view>
  358. </view>
  359. <block v-if="is_integral == 3">
  360. <view class="cell flex flex-y-center arr-r">
  361. <view class="title-block required">
  362. <text>微信</text>
  363. </view>
  364. <view class="desc">
  365. <picker mode="selector" :range="jifen_jump_arr" range-key="name" @change="onWxChange">
  366. <view :class="['input-box']">
  367. {{jifen_jump_arr[wx_index].name}}
  368. </view>
  369. </picker>
  370. </view>
  371. </view>
  372. <!-- 微信内部URL -->
  373. <view class="cell flex flex-y-center" v-if="wx == 1">
  374. <view class="title-block required">
  375. <text>微信内部URL</text>
  376. </view>
  377. <view class="desc">
  378. <input type="text" :value="info.wx_url" name="wx_url" class="input-box"
  379. placeholder="请输入" placeholder-class="desc-placeholder">
  380. </view>
  381. </view>
  382. <!-- 微信外部跳转小程序 -->
  383. <block v-if="wx == 2">
  384. <view class="cell flex flex-y-center">
  385. <view class="title-block required">
  386. <text>微信外部appid</text>
  387. </view>
  388. <view class="desc">
  389. <input type="text" :value="info.wx_app_id" name="wx_app_id" class="input-box"
  390. placeholder="请输入" placeholder-class="desc-placeholder">
  391. </view>
  392. </view>
  393. <view class="cell flex flex-y-center">
  394. <view class="title-block required">
  395. <text>微信外部URL</text>
  396. </view>
  397. <view class="desc">
  398. <input type="text" :value="info.wx_app_url" name="wx_app_url" class="input-box"
  399. placeholder="请输入" placeholder-class="desc-placeholder">
  400. </view>
  401. </view>
  402. </block>
  403. <view class="cell flex flex-y-center arr-r">
  404. <view class="title-block required">
  405. <text>支付宝</text>
  406. </view>
  407. <view class="desc">
  408. <picker mode="selector" :range="jifen_jump_arr" range-key="name" @change="onZfbChange">
  409. <view :class="['input-box']">
  410. {{jifen_jump_arr[zfb_index].name}}
  411. </view>
  412. </picker>
  413. </view>
  414. </view>
  415. <!-- 支付宝内部URL -->
  416. <view class="cell flex flex-y-center" v-if="zfb == 1">
  417. <view class="title-block required">
  418. <text>支付宝内部URL</text>
  419. </view>
  420. <view class="desc">
  421. <input type="text" :value="info.zfb_url" name="zfb_url" class="input-box"
  422. placeholder="请输入" placeholder-class="desc-placeholder">
  423. </view>
  424. </view>
  425. <!-- 支付宝外部跳转小程序 -->
  426. <block v-if="zfb == 2">
  427. <view class="cell flex flex-y-center">
  428. <view class="title-block required">
  429. <text>支付宝外部appid</text>
  430. </view>
  431. <view class="desc">
  432. <input type="text" :value="info.zfb_app_id" name="zfb_app_id" class="input-box"
  433. placeholder="请输入" placeholder-class="desc-placeholder">
  434. </view>
  435. </view>
  436. <view class="cell flex flex-y-center">
  437. <view class="title-block required">
  438. <text>支付宝外部URL</text>
  439. </view>
  440. <view class="desc">
  441. <input type="text" :value="info.zfb_app_url" name="zfb_app_url" class="input-box"
  442. placeholder="请输入" placeholder-class="desc-placeholder">
  443. </view>
  444. </view>
  445. </block>
  446. </block>
  447. <view class="cell flex flex-y-center">
  448. <view class="title-block required">
  449. <text>积分兑换模式</text>
  450. </view>
  451. <view class="desc">
  452. <view class="flex-center flex-x-start">
  453. <view class="checklist-box " @click="choicepayType(item.num)"
  454. v-for="(item,index) of integral_arr_type" :key='index'
  455. :class="is_integral_type==item.num?'actt':''">
  456. <view class="radio__inner" :class="is_integral_type==item.num?'act_border':''">
  457. <view :class="is_integral_type==item.num?'is-default-checked':''"
  458. class="radio__inner-icon radio__inner-icon ">
  459. </view>
  460. </view>
  461. <text class="checklist-text">{{item.name}}</text>
  462. </view>
  463. </view>
  464. </view>
  465. </view>
  466. <view class="cell flex flex-y-center">
  467. <view class="title-block required">
  468. <text>分享得积分</text>
  469. </view>
  470. <view class="desc">
  471. <input type="number" :value="info.share_num" name="share_num" class="input-box"
  472. placeholder="分享得积分" placeholder-class="desc-placeholder">
  473. </view>
  474. </view>
  475. <view class="cell flex flex-y-center">
  476. <view class="title-block required">
  477. <text>分享时间</text>
  478. </view>
  479. <view class="desc">
  480. <view class="flex-center flex-x-start">
  481. <view class="checklist-box " @click="choiceFenxiang(item.num)"
  482. v-for="(item,index) of fenxiang_arr" :key='index'
  483. :class="is_fenxiang==item.num?'actt':''">
  484. <view class="radio__inner" :class="is_fenxiang==item.num?'act_border':''">
  485. <view :class="is_fenxiang==item.num?'is-default-checked':''"
  486. class="radio__inner-icon radio__inner-icon ">
  487. </view>
  488. </view>
  489. <text class="checklist-text">{{item.name}}</text>
  490. </view>
  491. </view>
  492. </view>
  493. </view>
  494. <view class="cell flex flex-y-center">
  495. <view class="title-block required">
  496. <text>有效次数</text>
  497. </view>
  498. <view class="desc">
  499. <input type="number" :value="info.fenxiaing_num" name="fenxiaing_num" class="input-box"
  500. placeholder="有效次数" placeholder-class="desc-placeholder">
  501. </view>
  502. </view>
  503. <view class="red">
  504. *单个用户观看有效次数
  505. </view>
  506. <view class="cell flex flex-y-center">
  507. <view class="title-block required">
  508. <text>消费得积分(%)</text>
  509. </view>
  510. <view class="desc">
  511. <input type="text" :value="info.integral" name="integral" class="input-box"
  512. placeholder="消费得积分(%)" placeholder-class="desc-placeholder">
  513. </view>
  514. </view>
  515. <view class="red">
  516. *实际到账积分=按实际消费金额*消费得积分的比例%,不满足1积分,不计算入内,如:设置消费得积分的比例是1%,实际支付100元,获得1积分(1%*100元=1积分);
  517. </view>
  518. <view class="cell flex flex-y-center">
  519. <view class="title-block required">
  520. <text>看广告得积分</text>
  521. </view>
  522. <view class="desc">
  523. <input type="text" :value="info.adv_jf" name="adv_jf" class="input-box"
  524. placeholder="看广告得积分" placeholder-class="desc-placeholder">
  525. </view>
  526. </view>
  527. <view class="red">
  528. *针对微信激励视频广告,请前往商家小程序开通流量主-激励广告
  529. </view>
  530. <view class="cell flex flex-y-center mrt10">
  531. <view class="title-block required">
  532. <text>设置打包费</text>
  533. </view>
  534. <view class="desc">
  535. <view class="flex-center flex-x-start">
  536. <view class="checklist-box " @click="choiceBox(item.num)"
  537. v-for="(item,index) of box_arr" :key='index'
  538. :class="is_box==item.num?'actt':''">
  539. <view class="radio__inner" :class="is_box==item.num?'act_border':''">
  540. <view :class="is_box==item.num?'is-default-checked':''"
  541. class="radio__inner-icon radio__inner-icon ">
  542. </view>
  543. </view>
  544. <text class="checklist-text">{{item.name}}</text>
  545. </view>
  546. </view>
  547. </view>
  548. </view>
  549. <block v-if="is_box!=1">
  550. <view class="cell flex flex-y-center">
  551. <view class="title-block required">
  552. <text>打包费</text>
  553. </view>
  554. <view class="desc">
  555. <input type="digit" :value="info.is_box_money" name="is_box_money" class="input-box"
  556. placeholder="请输入打包费" placeholder-class="desc-placeholder">
  557. </view>
  558. </view>
  559. <view class="red">
  560. *只限外卖、自提订单:按订单:如设置5元,则每笔订单收5元打包费;按商品:如设置为5元,则每个商品收5元打包费,商品中单独设置打包费不为0时,则按照商品中设置的打包费收取
  561. </view>
  562. </block>
  563. </view>
  564. </view>
  565. <view class=" page-block" style="background-color: #FFF;padding: 20rpx 25rpx; margin-top: 10px;">
  566. <view class="flex box-pack-between">
  567. <view class="title-block required"
  568. style="font-size: 30rpx;color: #333;font-weight: 600;padding-right: 20rpx;">
  569. <text>会员权益</text>
  570. </view>
  571. <view class="flex-center" @click="getEnit">
  572. <text style="color: #007AFF;">{{is_enit?'取消编辑':'编辑'}}</text>
  573. <text class="iconfont icongengduo"></text>
  574. </view>
  575. </view>
  576. <view class="desc">
  577. <view>
  578. <block v-if="is_enit">
  579. <textarea type="text" :value="info.member_content" name="member_content"
  580. class="input-box flex-grow-1" placeholder="请输入"
  581. placeholder-class="desc-placeholder"></textarea>
  582. </block>
  583. <block v-else>
  584. <rich-text :nodes="info.member_content"></rich-text>
  585. <textarea type="text" :value="info.member_content" name="member_content"
  586. style="display: none;" class="input-box" placeholder=""
  587. placeholder-class="desc-placeholder"></textarea>
  588. </block>
  589. </view>
  590. </view>
  591. </view>
  592. <view class="footer-bar" style="position: relative;">
  593. <view class="content flex flex-center" style="background: none;">
  594. <button hover-class="none" class="btn" form-type="submit">
  595. 保存
  596. </button>
  597. </view>
  598. </view>
  599. </form>
  600. </view>
  601. </template>
  602. <script>
  603. export default {
  604. data() {
  605. return {
  606. is_enit: false,
  607. info: {
  608. // desc:'下单,配送',
  609. // eat_mode:'购买方式,店内下单,到店自取',
  610. },
  611. printerAddrList: ['商家配送', '达达配送', '松鼠屋配送'],
  612. printerAddr: '达达配送',
  613. ps_mode: 2,
  614. dada_arr: [{
  615. num: 0,
  616. name: "正式接单",
  617. },
  618. {
  619. num: 1,
  620. name: "测试接单"
  621. }
  622. ],
  623. is_dada: 0,
  624. diy_arr: [{
  625. num: 1,
  626. name: "开启"
  627. },
  628. {
  629. num: 0,
  630. name: "关闭"
  631. }
  632. ],
  633. is_diy: 0,
  634. single_status_arr: [{
  635. num: 1,
  636. name: "开启"
  637. },
  638. {
  639. num: 2,
  640. name: "关闭"
  641. }
  642. ],
  643. single_status: 2, //是否自动派单 1是 2否
  644. open_arr:[{
  645. num: 1,
  646. name: "开启"
  647. },{
  648. num: 2,
  649. name: "关闭"
  650. }
  651. ],
  652. open:2,
  653. table_arr: [{
  654. num: 1,
  655. name: "开启"
  656. },
  657. {
  658. num: 0,
  659. name: "关闭"
  660. }
  661. ],
  662. is_table: 0,
  663. yuer_arr: [{
  664. num: 1,
  665. name: "开启"
  666. },
  667. {
  668. num: 0,
  669. name: "关闭"
  670. }
  671. ],
  672. is_yuer: 0,
  673. cart_arr: [{
  674. num: 1,
  675. name: "开启"
  676. },
  677. {
  678. num: 0,
  679. name: "关闭"
  680. }
  681. ],
  682. is_cart:0,
  683. load_arr: [{
  684. num: 0,
  685. name: "一次性加载"
  686. },
  687. {
  688. num: 1,
  689. name: "分类加载"
  690. }
  691. ],
  692. is_rebate:0,
  693. integral_arr: [{
  694. num: 1,
  695. name: "自动"
  696. },
  697. {
  698. num: 3,
  699. name: "手动"
  700. }, {
  701. num: 2,
  702. name: "关闭"
  703. }
  704. ],
  705. is_integral: 1,
  706. integral_arr_type: [{
  707. num: 1,
  708. name: "快递或自提"
  709. },
  710. {
  711. num: 2,
  712. name: "仅快递"
  713. },
  714. {
  715. num: 3,
  716. name: "仅自提"
  717. },
  718. ],
  719. is_integral_type: 1,
  720. fenxiang_arr: [{
  721. num: 1,
  722. name: "每天"
  723. },
  724. {
  725. num: 2,
  726. name: "每星期"
  727. },
  728. {
  729. num: 3,
  730. name: "每月 "
  731. },
  732. ],
  733. is_fenxiang: 1,
  734. store_id: "",
  735. coordinates: "",
  736. jifen_jump_arr: [{
  737. num: 1,
  738. name: "内部跳转页面"
  739. }, {
  740. num: 2,
  741. name: "外部跳转小程序"
  742. }],
  743. wx: 1,
  744. wx_index: 0,
  745. zfb: 1,
  746. zfb_index: 0,
  747. sendModeArr: [{
  748. num: 1,
  749. name: "省钱"
  750. }, {
  751. num: 2,
  752. name: "最快"
  753. }, {
  754. num: 3,
  755. name: "指派"
  756. }, {
  757. num: 4,
  758. name: "价格从低到高依次呼叫"
  759. }],
  760. sendModeIndex: 0,
  761. sendModeNameArr: [{
  762. num: 'mtps',
  763. name: "美团"
  764. }, {
  765. num: 'fengniao',
  766. name: "蜂鸟"
  767. }, {
  768. num: 'dada',
  769. name: "达达"
  770. }, {
  771. num: 'shunfeng',
  772. name: "顺丰"
  773. }, {
  774. num: 'bingex',
  775. name: "闪送"
  776. }, {
  777. num: 'uupt',
  778. name: "UU跑腿"
  779. }, {
  780. num: 'dianwoda',
  781. name: "点我达"
  782. }, {
  783. num: 'aipaotui',
  784. name: "爱跑腿"
  785. }, {
  786. num: 'caocao',
  787. name: "曹操"
  788. }, {
  789. num: 'bangla',
  790. name: "帮啦"
  791. }, ],
  792. sendModeNameIndex: 0,
  793. box_arr:[
  794. { num: '1',
  795. name: "免打包费"},
  796. { num: '2',
  797. name: "按订单"},
  798. { num: '3',
  799. name: "按商品"}
  800. ],
  801. is_box:1,
  802. }
  803. },
  804. onLoad(e) {
  805. this.store_id = uni.getStorageSync("store_id")
  806. this.peisongset_list();
  807. },
  808. methods: {
  809. getEnit(e) {
  810. this.is_enit = !this.is_enit;
  811. },
  812. bindMap(e) {
  813. uni.chooseLocation({
  814. success: (res) => {
  815. console.log(res, "res")
  816. this.coordinates = res.latitude + "," + res.longitude;
  817. }
  818. })
  819. },
  820. choiceDiy(index) {
  821. this.is_diy = index;
  822. },
  823. choiceSingleStatus(index) {
  824. this.single_status = index;
  825. },
  826. //配送模式
  827. onSendModeChange(e) {
  828. this.sendModeIndex = e.detail.value
  829. },
  830. //配送方式
  831. onSendModeNameChange(e) {
  832. this.sendModeNameIndex = e.detail.value
  833. },
  834. choiceOpen(index) {
  835. this.open = index;
  836. },
  837. choiceTable(index) {
  838. this.is_table = index;
  839. },
  840. choiceYuer(index) {
  841. this.is_yuer = index;
  842. },
  843. choiceCart(index) {
  844. this.is_cart = index;
  845. },
  846. choiceLoad(index) {
  847. this.is_rebate = index;
  848. },
  849. choicepay(index) {
  850. this.is_integral = index;
  851. },
  852. onWxChange(e) {
  853. let index = e.detail.value
  854. this.wx = this.jifen_jump_arr[index].num
  855. this.wx_index = index
  856. },
  857. onZfbChange(e) {
  858. let index = e.detail.value
  859. this.zfb = this.jifen_jump_arr[index].num
  860. this.zfb_index = index
  861. },
  862. choicepayType(index) {
  863. this.is_integral_type = index;
  864. },
  865. choiceFenxiang(index) {
  866. this.is_fenxiang = index;
  867. },
  868. choiceDada(index) {
  869. this.is_dada = index;
  870. },
  871. choiceBox(index) {
  872. this.is_box = index;
  873. },
  874. copyText(e) {
  875. let a = e == 1 ? 'http://newopen.imdada.cn/' : 'http://lbs.qq.com/tool/getpoint/';
  876. uni.setClipboardData({
  877. data: a,
  878. success: function() {
  879. console.log('success');
  880. }
  881. });
  882. },
  883. peisongset_list() {
  884. this.request({
  885. url: 'Smdcshop/peisongset_list',
  886. data: {
  887. store_id: this.store_id,
  888. }
  889. }).then(res => {
  890. if (res.code == "200") {
  891. console.log(res, "res")
  892. res.data.member_content = res.data.member_content.replace(/\<img/gi,
  893. '<img style="max-width:100%;height:auto" ')
  894. this.info = res.data;
  895. this.printerAddr = res.data.ps_mode == 1 ? '商家配送' : res.data.ps_mode == 3 ? '聚合配送' :
  896. '达达配送';
  897. this.ps_mode = res.data.ps_mode;
  898. this.is_integral = res.data.is_jf;
  899. this.is_integral_type = res.data.is_delivery;
  900. this.printerStatus = this.state == 1 ? '开启' : '关闭';
  901. this.coordinates = res.data.coordinates;
  902. this.is_dada = res.data.is_dada;
  903. this.is_diy = res.data.is_diy;
  904. this.single_status = res.data.single_status || 2;
  905. this.is_table = res.data.change_table;
  906. this.is_yuer = res.data.is_yuer;
  907. this.wx = res.data.wx
  908. this.wx_index = res.data.wx == 1 ? 0 : 1
  909. this.zfb = res.data.zfb
  910. this.zfb_index = res.data.zfb == 1 ? 0 : 1
  911. this.open = res.data.open
  912. this.is_cart=res.data.is_cart
  913. this.is_rebate = res.data.is_rebate
  914. this.is_box=res.data.is_box
  915. this.is_fenxiang=res.data.is_fenxiang
  916. if (res.data.ps_mode == 3) {
  917. this.single_status = res.data.single_status
  918. if (res.data.single_status == 1) {
  919. this.sendModeIndex = this.getSendModeIndex(res.data.dispatch_mode)
  920. this.sendModeNameIndex = this.getSendModeNameIndex(res.data.logistic)
  921. }
  922. } else {
  923. this.single_status = 2
  924. }
  925. }
  926. })
  927. },
  928. getSendModeIndex(num) {
  929. let index = this.sendModeArr.findIndex(item => {
  930. return item.num == num
  931. })
  932. return index
  933. },
  934. getSendModeNameIndex(num) {
  935. let index = this.sendModeNameArr.findIndex(item => {
  936. return item.num == num
  937. })
  938. return index
  939. },
  940. onPrinterAddrChange(e) {
  941. console.log(e)
  942. this.printerAddr = this.printerAddrList[e.detail.value];
  943. this.ps_mode = Number(e.detail.value) + 1;
  944. if (e.detail.value == 0) {
  945. //非聚合派送
  946. this.single_status = 2
  947. }
  948. },
  949. onSubmit(e) {
  950. let params = {
  951. id: this.info.id,
  952. store_id: this.store_id,
  953. is_jf: this.is_integral,
  954. ps_mode: this.ps_mode,
  955. source_id: this.info.source_id,
  956. is_delivery: this.is_integral_type,
  957. coordinates: this.coordinates,
  958. is_dada: this.is_dada,
  959. is_diy: this.is_diy,
  960. change_table: this.is_table,
  961. is_yuer: this.is_yuer,
  962. admin_id: uni.getStorageSync("admin_id"),
  963. wx: this.wx,
  964. zfb: this.zfb,
  965. open:this.open,
  966. is_cart:this.is_cart,
  967. is_rebate:this.is_rebate,
  968. is_box:this.is_box,
  969. is_fenxiang:this.is_fenxiang,
  970. },
  971. url;
  972. if (params.ps_mode == 3) {
  973. params.single_status = this.single_status
  974. params.single_status_time = this.single_status_time
  975. if (params.single_status == 1) {
  976. params.dispatch_mode = this.sendModeArr[this.sendModeIndex].num
  977. params.logistic = this.sendModeNameArr[this.sendModeNameIndex].num
  978. }
  979. } else {
  980. params.single_status = 2
  981. }
  982. var data = Object.assign(params, e.detail.value);
  983. if (data.name == "") {
  984. uni.showToast({
  985. title: "请输入名称",
  986. icon: 'none'
  987. })
  988. return false
  989. }
  990. console.log('提交数据', data)
  991. //return
  992. this.request({
  993. url: "Smdcshop/peisongset_edit",
  994. data: data
  995. }).then(res => {
  996. if (res.code == 200) {
  997. uni.showToast({
  998. title: res.message,
  999. icon: 'none'
  1000. })
  1001. setTimeout(() => {
  1002. uni.navigateBack()
  1003. }, 2000)
  1004. }
  1005. }).catch((res) => {
  1006. uni.showToast({
  1007. title: res.message,
  1008. icon: 'none'
  1009. })
  1010. });
  1011. },
  1012. }
  1013. }
  1014. </script>
  1015. <style>
  1016. @import url("./static/css/common.css");
  1017. .flex-x-start {
  1018. justify-content: flex-start;
  1019. }
  1020. page {
  1021. background-color: #F4F5F7;
  1022. }
  1023. page .page-block .content {
  1024. background-color: #F4F5F7;
  1025. padding: 0;
  1026. }
  1027. page .page-block .cell {
  1028. background-color: #FFF;
  1029. padding: 0 25rpx;
  1030. }
  1031. .mrt10{
  1032. margin-top: 20rpx;
  1033. }
  1034. .red {
  1035. color: red;
  1036. padding: 10rpx 25rpx;
  1037. font-size: 26rpx;
  1038. }
  1039. .checklist-box {
  1040. display: -webkit-box;
  1041. display: -webkit-flex;
  1042. display: flex;
  1043. -webkit-box-orient: horizontal;
  1044. -webkit-box-direction: normal;
  1045. -webkit-flex-direction: row;
  1046. flex-direction: row;
  1047. -webkit-box-align: center;
  1048. -webkit-align-items: center;
  1049. align-items: center;
  1050. margin: 5px 0;
  1051. margin-right: 25rpx;
  1052. }
  1053. .radio__inner {
  1054. -webkit-flex-shrink: 0;
  1055. flex-shrink: 0;
  1056. display: -webkit-box;
  1057. display: -webkit-flex;
  1058. display: flex;
  1059. -webkit-box-pack: center;
  1060. -webkit-justify-content: center;
  1061. justify-content: center;
  1062. -webkit-box-align: center;
  1063. -webkit-align-items: center;
  1064. align-items: center;
  1065. position: relative;
  1066. border: 1px solid #DCDFE6;
  1067. border-radius: 2px;
  1068. box-sizing: border-box;
  1069. width: 16px;
  1070. height: 16px;
  1071. border-radius: 16px;
  1072. background-color: #fff;
  1073. z-index: 1;
  1074. -webkit-transition: border-color .3s;
  1075. transition: border-color .3s;
  1076. }
  1077. .radio__inner-icon {
  1078. width: 8px;
  1079. height: 8px;
  1080. border-radius: 10px;
  1081. opacity: 0;
  1082. -webkit-transition: -webkit-transform .3s;
  1083. transition: -webkit-transform .3s;
  1084. transition: transform .3s;
  1085. transition: transform .3s, -webkit-transform .3s;
  1086. }
  1087. .is-default-checked {
  1088. opacity: 1;
  1089. background-color: #007aff;
  1090. -webkit-transform: rotate(45deg) scaleY(1);
  1091. transform: rotate(45deg) scaleY(1);
  1092. }
  1093. .checklist-text {
  1094. font-size: 28rpx;
  1095. margin-left: 5px;
  1096. -webkit-transition: color 0.2s;
  1097. transition: color 0.2s;
  1098. color: #000;
  1099. }
  1100. .act_border {
  1101. border: 1rpx solid #007aff;
  1102. }
  1103. </style>