activity-edit.blade.php 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625
  1. @extends('layouts.base')
  2. @section('title', '编辑活动')
  3. @section('content')
  4. <link rel="stylesheet" href="{{resource_get('plugins/deposit-ladder/views/backend/index.css')}}">
  5. <link rel="stylesheet" href="{{static_url('css/public-number.css')}}">
  6. <style>
  7. th {border-bottom: 1px solid #EBEEF5 !important;}
  8. .dialog-cover{z-index:2001}
  9. .dialog-content{z-index:2002}
  10. /* 导航 */
  11. .el-radio-button .el-radio-button__inner,.el-radio-button:first-child .el-radio-button__inner {border-radius: 4px 4px 4px 4px;border-left: 0px;}
  12. .el-radio-button__inner{border:0;}
  13. .el-radio-button:last-child .el-radio-button__inner {border-radius: 4px 4px 4px 4px;}
  14. </style>
  15. <div class="all">
  16. <div id="app" v-cloak>
  17. <div class="vue-crumbs">
  18. <a @click="goParent(1)">定金阶梯团</a>
  19. >
  20. <a @click="goParent(2)">活动管理</a>
  21. >
  22. <a @click="goParent(3)">编辑活动</a>
  23. </div>
  24. <el-form ref="form" :model="form" :rules="rules" label-width="15%">
  25. <div class="vue-head">
  26. <el-radio-group v-model="sel_tab">
  27. <el-radio-button v-if="item.show" :label="item.value" @click.native="selectTab(item.value)" v-for="(item,index) in tab_list">
  28. [[item.name]]
  29. </el-radio-button>
  30. </el-radio-group>
  31. </div>
  32. <!-- 基础设置 -->
  33. <div class="vue-main" v-show="sel_tab=='basic'">
  34. <div class="vue-main-title">
  35. <div class="vue-main-title-left"></div>
  36. <div class="vue-main-title-content">基本信息</div>
  37. </div>
  38. <div class="vue-main-form">
  39. <el-form-item label="活动名称" prop="activity_name">
  40. <el-input v-model="form.basic.activity_name" style="width:70%;" placeholder="15个字以内" ></el-input>
  41. </el-form-item>
  42. <el-form-item label="主题色" prop="theme_color">
  43. <el-color-picker v-model="form.basic.theme_color" style="display:inline-block;float:left;"></el-color-picker>
  44. </el-form-item>
  45. <el-form-item label="活动时间" prop="" >
  46. <el-row>
  47. <el-col :span="8">
  48. <el-date-picker disabled="disabled" v-model="form.basic.activity_start" type="datetime" format="yyyy-MM-dd HH:mm:ss"
  49. value-format="timestamp" placeholder="选择活动开始时间" style="width:90%"></el-date-picker>
  50. </el-col>
  51. <el-col :span="10">
  52. <el-date-picker disabled="disabled" v-model="form.basic.activity_end" type="datetime" format="yyyy-MM-dd HH:mm:ss"
  53. value-format="timestamp" placeholder="选择动结束时间" style="width:70%"></el-date-picker>
  54. </el-col>
  55. </el-row>
  56. </el-form-item>
  57. <el-form-item label="活动说明" prop="activity_explain">
  58. <tinymceee v-model="form.basic.activity_explain" style="width:70%"></tinymceee>
  59. </el-form-item>
  60. <el-form-item label="活动商品" prop="">
  61. <div v-if="form.basic.status==2">
  62. <el-button size="mini" type="primary" icon="el-icon-plus" @click="selectGoods">选择商品</el-button>
  63. </div>
  64. <div v-if="form.basic.bind_goods && form.basic.bind_goods.title">
  65. <img :src="form.basic.bind_goods.thumb_src" style="width:100px;height:100px;">
  66. <div class="goods-info">
  67. <div>【[[form.basic.bind_goods.id]]】[[form.basic.bind_goods.title]]</div>
  68. <div v-if="form.basic.bind_goods.has_option && form.basic.goods_option">商品规格:¥[[form.basic.goods_option.title]]</div>
  69. </div>
  70. </div>
  71. <div class="tip">只能选择一个商品,创建后不能修改!</div>
  72. </el-form-item>
  73. <el-form-item label="每次限购数量" prop="" >
  74. <el-input v-model="form.basic.limit" style="width:70%;"></el-input>
  75. <div class="tip">每次下单限购数量,为0为空不限制</div>
  76. </el-form-item>
  77. <el-form-item label="会员限购总数" prop="" >
  78. <el-input v-model="form.basic.limit_total" style="width:70%;"></el-input>
  79. <div class="tip">会员限购的总数,为0为空不限制</div>
  80. </el-form-item>
  81. <el-form-item label="排行榜" prop="">
  82. <el-switch v-model="form.basic.ranking_list" :active-value="1"
  83. :inactive-value="0"></el-switch>
  84. </el-form-item>
  85. </div>
  86. <div class="vue-main-title">
  87. <div class="vue-main-title-left"></div>
  88. <div class="vue-main-title-content">定金设置</div>
  89. </div>
  90. <div class="vue-main-form">
  91. <el-form-item label="定金金额" prop="deposit">
  92. <el-input v-model="form.basic.deposit" style="width:70%;"></el-input><span style="margin-left:10px;">元</span>
  93. <div class="tip">定金订单不计算会员折扣</div>
  94. </el-form-item>
  95. <el-form-item label="定金协议" prop="agreement">
  96. <el-radio v-model="form.basic.agreement" :label="0">电子合同</el-radio>
  97. <el-radio v-model="form.basic.agreement" :label="1">弹窗确认</el-radio>
  98. <el-form-item label="" v-if="form.basic.agreement == 0">
  99. <el-select v-model="form.basic.contract_id" clearable placeholder="选择合同模板">
  100. <el-option :label="item.name" :value="item.id" v-for="(item,index) in contract"></el-option>
  101. </el-select>
  102. </el-form-item>
  103. <el-form-item label="" v-if="form.basic.agreement == 1">
  104. <el-input type="textarea"
  105. :autosize="{ minRows: 5, maxRows: 999}"
  106. placeholder="请输入协议内容"
  107. v-model="form.basic.agreement_content" ref="content">
  108. </el-input>
  109. <div class="tip" style="color: red">
  110. 弹窗客户点击确认,不会进行存证,后续如果有争议无法提供证据,建议使用电子合同!
  111. </div>
  112. </el-form-item>
  113. </el-form-item>
  114. </div>
  115. <div class="vue-main-title">
  116. <div class="vue-main-title-left"></div>
  117. <div class="vue-main-title-content">梯度设置</div>
  118. </div>
  119. <div class="tip" style="color: black;padding-left: 20px;">
  120. 活动结束后,根据定金支付人数/销售数量对应梯度确定最终活动价格(未达到任何梯度的,按商品现价),用户可按活动价格-定金作为活动商品最终支付金额。
  121. </div>
  122. <el-form-item label="" prop="ladder_type">
  123. <el-radio v-model="form.basic.ladder_type" :label="0">成交人数</el-radio>
  124. <el-radio v-model="form.basic.ladder_type" :label="1">销售数量</el-radio>
  125. </el-form-item>
  126. <el-form-item label="" prop="">
  127. <el-row v-for="(item,index) in form.basic.ladder">
  128. <el-col :span="8" v-if="form.basic.ladder_type==0">
  129. 成交人数达到:
  130. <el-input v-model="item.deal_num" style="width:45%;"></el-input><span style="margin-left:10px;">人</span>
  131. </el-col>
  132. <el-col :span="8" v-if="form.basic.ladder_type==1">
  133. 销售数量达到:
  134. <el-input v-model="item.sale_num" style="width:45%;"></el-input><span style="margin-left:10px;">件</span>
  135. </el-col>
  136. <el-col :span="8">
  137. 成交价:
  138. <el-input v-model="item.deal_price" style="width:50%;"></el-input><span style="margin-left:10px;">元</span>
  139. </el-col>
  140. <el-col :span="2">
  141. <el-button size="mini" type="danger" icon="el-icon-delete" circle @click="delLadder(index)">
  142. </el-button>
  143. </el-col>
  144. </el-row>
  145. <div>
  146. <el-button size="mini" type="primary" icon="el-icon-plus" @click="addLadder">添加一个梯度</el-button>
  147. </div>
  148. </el-form-item>
  149. </div>
  150. <!-- 分享设置 -->
  151. <div class="vue-main" v-show="sel_tab=='share'">
  152. <div class="vue-main-title">
  153. <div class="vue-main-title-left"></div>
  154. <div class="vue-main-title-content">分享设置</div>
  155. </div>
  156. <div class="vue-main-form">
  157. <el-form-item label="分享标题" prop="share_title">
  158. <el-input v-model="form.share.share_title" style="width:70%;" placeholder="请输入分享标题" ></el-input>
  159. <div class="tip">
  160. 默认活动名称-商城名称
  161. </div>
  162. </el-form-item>
  163. <el-form-item label="分享图标" prop="share_img">
  164. <div class="upload-box" @click="openUpload('share_img',0)" v-if="!form.share.share_img_src">
  165. <i class="el-icon-plus" style="font-size:32px"></i>
  166. </div>
  167. <div @click="openUpload('share_img',0)" class="upload-boxed" v-if="form.share.share_img_src" >
  168. <img :src="form.share.share_img_src" alt="" style="width:150px;height:150px;border-radius: 5px;cursor: pointer;">
  169. <i class="el-icon-close" @click.stop="clearImg('share_img',1)" title="点击清除图片"></i>
  170. <div class="upload-boxed-text">点击重新上传</div>
  171. </div>
  172. <div class="tip">
  173. 默认所选商品的主图
  174. </div>
  175. </el-form-item>
  176. <el-form-item label="分享描述" prop="share_desc">
  177. <el-input type="textarea"
  178. :autosize="{ minRows: 3, maxRows: 999}"
  179. placeholder="请输入分享描述"
  180. v-model="form.share.share_desc" ref="content">
  181. </el-input>
  182. <div class="tip">
  183. 默认活动说明前20字
  184. </div>
  185. </el-form-item>
  186. </div>
  187. <div class="vue-main-title">
  188. <div class="vue-main-title-left"></div>
  189. <div class="vue-main-title-content">海报设置</div>
  190. </div>
  191. <div class="vue-main-form">
  192. <el-form-item label="选择海报" prop="agreement">
  193. <el-form-item label="" v-if="pluginEnabled.new_poster">
  194. <el-select v-model="form.share.poster" clearable placeholder="选择海报">
  195. <el-option :label="item.title" :value="item.id" v-for="(item,index) in poster"></el-option>
  196. </el-select>
  197. </el-form-item>
  198. <div class="tip">
  199. 需要先在新海报插件中创建定金阶梯团海报!
  200. </div>
  201. </el-form-item>
  202. </div>
  203. </div>
  204. <!-- 营销设置 -->
  205. <div class="vue-main" v-show="sel_tab=='market'">
  206. <div class="vue-main-title">
  207. <div class="vue-main-title-left"></div>
  208. <div class="vue-main-title-content">余额设置</div>
  209. </div>
  210. <div class="vue-main-form">
  211. <el-form-item label="会员奖励余额" prop="market.balance.reward_balance">
  212. <el-input v-model="form.market.balance.reward_balance" style="width:70%;">
  213. <template slot="append">%</template>
  214. </el-input>
  215. </el-form-item>
  216. <el-form-item label="一级上级奖励余额" prop="market.balance.reward_balance_first">
  217. <el-input v-model="form.market.balance.reward_balance_first" style="width:70%;">
  218. <template slot="append">%</template>
  219. </el-input>
  220. </el-form-item>
  221. <el-form-item label="二级上级奖励余额" prop="market.balance.reward_balance_second">
  222. <el-input v-model="form.market.balance.reward_balance_second" style="width:70%;">
  223. <template slot="append">%</template>
  224. </el-input>
  225. </el-form-item>
  226. </div>
  227. <div class="vue-main-title">
  228. <div class="vue-main-title-left"></div>
  229. <div class="vue-main-title-content">积分设置</div>
  230. </div>
  231. <div class="vue-main-form">
  232. <el-form-item label="会员奖励积分" prop="market.point.reward_point">
  233. <el-input v-model="form.market.point.reward_point" style="width:70%;">
  234. <template slot="append">%</template>
  235. </el-input>
  236. </el-form-item>
  237. <el-form-item label="一级上级奖励积分" prop="market.point.reward_point_first">
  238. <el-input v-model="form.market.point.reward_point_first" style="width:70%;">
  239. <template slot="append">%</template>
  240. </el-input>
  241. </el-form-item>
  242. <el-form-item label="二级上级奖励积分" prop="market.point.reward_point_second">
  243. <el-input v-model="form.market.point.reward_point_second" style="width:70%;">
  244. <template slot="append">%</template>
  245. </el-input>
  246. </el-form-item>
  247. </div>
  248. <div class="vue-main-title" v-if="pluginEnabled.integral">
  249. <div class="vue-main-title-left"></div>
  250. <div class="vue-main-title-content">消费积分设置</div>
  251. </div>
  252. <div class="vue-main-form" v-if="pluginEnabled.integral">
  253. <el-form-item label="购物赠送比例" prop="market.integral.award_proportion">
  254. <el-input v-model="form.market.integral.award_proportion" style="width:70%;">
  255. <template slot="append">%</template>
  256. </el-input>
  257. </el-form-item>
  258. <el-form-item label="购物上一级赠送比例" prop="market.integral.parent_award_proportion">
  259. <el-input v-model="form.market.integral.parent_award_proportion" style="width:70%;">
  260. <template slot="append">%</template>
  261. </el-input>
  262. </el-form-item>
  263. <el-form-item label="购物上二级赠送比例" prop="market.integral.second_award_proportion">
  264. <el-input v-model="form.market.integral.second_award_proportion" style="width:70%;">
  265. <template slot="append">%</template>
  266. </el-input>
  267. </el-form-item>
  268. </div>
  269. </div>
  270. <!-- 分润设置 -->
  271. <div class="vue-main" v-show="sel_tab=='profit'">
  272. <!-- 分销设置 -->
  273. <div class="vue-head" v-if="pluginEnabled.commission">
  274. <div class="vue-main-title">
  275. <div class="vue-main-title-left"></div>
  276. <div class="vue-main-title-content">分销设置</div>
  277. </div>
  278. <div class="vue-main-form">
  279. <el-form-item label="是否开启分销" prop="profit.commission.is_commission">
  280. <el-switch v-model="form.profit.commission.is_commission" :active-value="1"
  281. :inactive-value="0"></el-switch>
  282. </el-form-item>
  283. <el-form-item label="分销" prop="">
  284. <table class="el-table" style="width:90%">
  285. <tr style="border-bottom:1px solid #EBEEF5">
  286. <th style="width:120px;padding-top:0">等级名称</th>
  287. <th style="padding-top:0">一级分销</th>
  288. <th style="padding-top:0">二级分销</th>
  289. </tr>
  290. <tr v-for="(item,index) in form.profit.commission.level">
  291. <td>
  292. [[item.level_name]]
  293. </td>
  294. <td>
  295. <el-input v-model="item.first_level_rate" style="width:80%">
  296. <template slot="append">%</template>
  297. </el-input>
  298. </td>
  299. <td>
  300. <el-input v-model="item.second_level_rate" style="width:80%">
  301. <template slot="append">%</template>
  302. </el-input>
  303. </td>
  304. </tr>
  305. </table>
  306. </el-form-item>
  307. </div>
  308. </div>
  309. <!-- 分销设置 -->
  310. <!-- 经销商设置 -->
  311. <div class="vue-head" v-if="pluginEnabled.team_dividend">
  312. <div class="vue-main-title">
  313. <div class="vue-main-title-left"></div>
  314. <div class="vue-main-title-content">经销商设置</div>
  315. </div>
  316. <div class="vue-main-form">
  317. <el-form-item label="是否开启经销商" prop="profit.team_dividend.is_dividend">
  318. <el-switch v-model="form.profit.team_dividend.is_dividend" :active-value="1"
  319. :inactive-value="0"></el-switch>
  320. </el-form-item>
  321. <el-form-item label="经销商提成" prop="">
  322. <table class="el-table" style="width:90%">
  323. <tr style="border-bottom:1px solid #EBEEF5">
  324. <th style="width:120px;padding-top:0">等级名称</th>
  325. <th style="padding-top:0">比例</th>
  326. </tr>
  327. <tr v-for="(item,index) in form.profit.team_dividend.level">
  328. <td>
  329. [[item.level_name]]
  330. </td>
  331. <td>
  332. <el-input v-model="item.level_rate" style="width:80%">
  333. <template slot="append">%</template>
  334. </el-input>
  335. </td>
  336. </tr>
  337. </table>
  338. </el-form-item>
  339. </div>
  340. </div>
  341. <!-- 经销商设置 -->
  342. <!-- 区域分红设置 -->
  343. <div class="vue-head" v-if="pluginEnabled.area_dividend">
  344. <div class="vue-main-title">
  345. <div class="vue-main-title-left"></div>
  346. <div class="vue-main-title-content">区域分红设置</div>
  347. </div>
  348. <div class="vue-main-form">
  349. <el-form-item label="是否开启区域分红" prop="profit.area_dividend.is_dividend">
  350. <el-switch v-model="form.profit.area_dividend.is_dividend" :active-value="1"
  351. :inactive-value="0"></el-switch>
  352. </el-form-item>
  353. <el-form-item label="区域分红" prop="">
  354. <el-input v-model="form.profit.area_dividend.has_dividend_rate" style="width:80%">
  355. <template slot="append">%</template>
  356. </el-input>
  357. </el-form-item>
  358. </div>
  359. </div>
  360. <!-- 区域分红设置 -->
  361. </div>
  362. </el-form>
  363. <!-- 选择商品 -->
  364. <el-dialog :visible.sync="goods_show" width="60%" center title="选择商品">
  365. <div>
  366. <div style="text-align: center">
  367. <el-input v-model="keyword_type" style="width:80%" placeholder="请输入商品ID/名称搜索"></el-input>
  368. <el-button type="primary" @click="searchGoods(0)" style="margin-left:20px;">搜索</el-button>
  369. </div>
  370. <el-table :data="goods_list" style="width: 100%;height:600px;overflow-y:auto" >
  371. <el-table-column prop="id" label="ID" align="center"></el-table-column>
  372. <el-table-column prop="id" label="商品信息" align="center">
  373. <template slot-scope="scope">
  374. <div style="display:flex;align-items:center;justify-content:center;">
  375. <img :src="scope.row.thumb_src" alt="" style="width:80px;height: 50px;">
  376. <div style="margin-left:10px">[[scope.row.title]]</div>
  377. </div>
  378. </template>
  379. </el-table-column>
  380. <el-table-column prop="" label="操作" align="center" >
  381. <template slot-scope="scope">
  382. <el-button @click="addGoods(scope.$index)" v-if="!scope.row.has_option">
  383. 选择
  384. </el-button>
  385. <el-select v-model="select_option" clearable placeholder="选择规格" v-if="scope.row.has_option" @change="changeOption(scope.$index)">
  386. <el-option v-for="(item,index) in scope.row.has_many_options" :key="index" :label="item.title" :value="item.id"></el-option>
  387. </el-select>
  388. </template>
  389. </el-table-column>
  390. </el-table>
  391. </div>
  392. </el-dialog>
  393. <!-- 分页 -->
  394. <div class="vue-page">
  395. <div class="vue-center">
  396. <el-button type="primary" @click="submitForm('form')" :disabled="btnChangeEnable">提交</el-button>
  397. <el-button @click="goBack">返回</el-button>
  398. </div>
  399. </div>
  400. <upload-img :upload-show="uploadShow" :name="chooseImgName" @replace="changeProp" @sure="sureImg"></upload-img>
  401. </div>
  402. </div>
  403. <script src="{{resource_get('static/yunshop/tinymce4.7.5/tinymce.min.js')}}"></script>
  404. @include('public.admin.tinymceee')
  405. @include('public.admin.uploadImg')
  406. <script>
  407. var app = new Vue({
  408. el:"#app",
  409. delimiters: ['[[', ']]'],
  410. name: 'test',
  411. data() {
  412. let tab_list = {!! json_encode($tab?:[]) !!};
  413. let pluginEnabled = {!! json_encode($plugin?:[]) !!};
  414. let activity = {!! json_encode($activity?:[]) !!};
  415. let poster = {!! json_encode($poster?:[]) !!};
  416. let contract = {!! json_encode($contract?:[]) !!};
  417. if(activity.basic.activity_start){
  418. activity.basic.activity_start = activity.basic.activity_start*1000
  419. }
  420. if(activity.basic.activity_end){
  421. activity.basic.activity_end = activity.basic.activity_end*1000;
  422. }
  423. // console.log(activity);
  424. return{
  425. uploadShow:false,
  426. chooseImgName:'',
  427. chooseImgIndex:'-1',
  428. loading: false,
  429. uploadImg1:'',
  430. table_loading:false,
  431. btnChangeEnable:false,
  432. id:activity.basic.id,
  433. keyword_type:"",
  434. goods_show:false,//选择商品弹窗
  435. goods_list:[],
  436. sel_tab:'basic',
  437. tab_list:tab_list,
  438. pluginEnabled:pluginEnabled,
  439. contract:contract,
  440. poster:poster,
  441. select_option:'',
  442. form:{
  443. basic:activity.basic?activity.basic:{},
  444. share:activity.share?activity.share:{},
  445. market:activity.market?activity.market:{},
  446. profit:activity.profit?activity.profit:{}
  447. },
  448. show:false,//是否开启公众号弹窗
  449. pro:false ,//是否开启小程序弹窗
  450. submit_url:'',
  451. showVisible:false,
  452. rules:{
  453. // combination_name:{ required: true, message: '请输入组合名称'},
  454. },
  455. }
  456. },
  457. created() {
  458. },
  459. mounted() {
  460. },
  461. methods: {
  462. getParam(name) {
  463. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  464. var r = window.location.search.substr(1).match(reg);
  465. if (r != null) return unescape(r[2]);
  466. return null;
  467. },
  468. goParent(level) {
  469. if(level==1) {
  470. window.location.href = `{!! yzWebFullUrl('plugin.deposit-ladder.backend.store.activity.show') !!}`;
  471. }
  472. else if(level==2) {
  473. window.location.href = `{!! yzWebFullUrl('plugin.deposit-ladder.backend.store.activity.show') !!}`;
  474. }
  475. else if(level==3) {
  476. window.location.href = `{!! yzWebFullUrl('plugin.deposit-ladder.backend.store.activity.add') !!}`;
  477. }
  478. },
  479. goBack() {
  480. history.go(-1)
  481. },
  482. openUpload(str,index) {
  483. this.chooseImgName = str;
  484. this.uploadShow = true;
  485. this.chooseImgIndex = "-1";
  486. if(index || index == 0) {
  487. this.chooseImgIndex = index;
  488. }
  489. },
  490. changeProp(val) {
  491. if(val == true) {
  492. this.uploadShow = false;
  493. }
  494. else {
  495. this.uploadShow = true;
  496. }
  497. },
  498. sureImg(name,image,image_url) {
  499. // 表格里
  500. if(this.chooseImgIndex != '-1') {
  501. this.form.share[name] = image;
  502. this.form.share[name+'_src'] = image_url;
  503. this.$forceUpdate();
  504. // console.log(this.chooseImgIndex)
  505. // console.log(this.form.goods[this.chooseImgIndex])
  506. }
  507. // 普通图片
  508. else {
  509. // console.log("afdfdfdff")
  510. this.form[name] = image;
  511. this.form[name+'_src'] = image_url;
  512. }
  513. },
  514. clearImg(str,index) {
  515. if (index) {
  516. this.form.share[str] = "";
  517. this.form.share[str+'_src'] = "";
  518. this.$forceUpdate();
  519. } else {
  520. this.form[str] = "";
  521. this.form[str+'_src'] = "";
  522. this.$forceUpdate();
  523. }
  524. },
  525. selectTab(value) {
  526. this.sel_tab = value;
  527. },
  528. addLadder() {
  529. this.form.basic.ladder.push({
  530. 'deal_num':'',
  531. 'sales_num':'',
  532. 'deal_price':''
  533. });
  534. },
  535. delLadder(index) {
  536. this.form.basic.ladder.splice(index,1);
  537. },
  538. searchGoods(){
  539. var url = '{!! yzWebFullUrl('plugin.deposit-ladder.backend.store.activity.search-goods') !!}';
  540. let json = {
  541. kwd:this.keyword_type,
  542. }
  543. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  544. this.$http.post(url,json).then(function (response) {
  545. if (response.data.result){
  546. this.goods_list = response.data.data.list
  547. }
  548. else {
  549. this.$message.error( response.data.msg );
  550. }
  551. loading.close();
  552. },function (response) {
  553. this.$message.error(response.data.msg);
  554. loading.close();
  555. }
  556. );
  557. },
  558. selectGoods(){
  559. this.goods_show = true;
  560. },
  561. addGoods(index){
  562. this.form.basic.bind_goods_id = this.goods_list[index].id;
  563. this.form.basic.bind_goods = this.goods_list[index];
  564. this.goods_show = false;
  565. },
  566. changeOption(index){
  567. var goods_option = null;
  568. this.goods_list[index].has_many_options.forEach((item,index) => {
  569. if(item.id == this.select_option){
  570. goods_option = item;
  571. }
  572. });
  573. // console.log(goods_option.title);
  574. this.form.basic.bind_goods_id = this.goods_list[index].id;
  575. this.form.basic.goods_option_id = this.select_option;
  576. this.form.basic.goods_option_title = goods_option?goods_option.title:'';
  577. this.form.basic.goods_option = goods_option;
  578. this.form.basic.bind_goods = this.goods_list[index];
  579. this.goods_show = false;
  580. },
  581. submitForm(formName) {
  582. this.btnChangeEnable = true;
  583. let json = JSON.parse(JSON.stringify(this.form));
  584. json.id = this.id;
  585. json.basic.activity_start = json.basic.activity_start/1000;
  586. json.basic.activity_end = json.basic.activity_end/1000;
  587. console.log(json);
  588. this.$refs[formName].validate((valid) => {
  589. if (valid) {
  590. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  591. this.$http.post('{!! yzWebFullUrl('plugin.deposit-ladder.backend.store.activity.edit') !!}',json).then(response => {
  592. if (response.data.result) {
  593. this.$message({type: 'success',message: '操作成功!'});
  594. window.location.href = `{!! yzWebFullUrl('plugin.deposit-ladder.backend.store.activity.show') !!}`;
  595. // this.goBack();
  596. } else {
  597. this.$message({message: response.data.msg,type: 'error'});
  598. }
  599. loading.close();
  600. },response => {
  601. loading.close();
  602. });
  603. }
  604. else {
  605. console.log('error submit!!');
  606. return false;
  607. }
  608. });
  609. this.btnChangeEnable = false;
  610. },
  611. },
  612. })
  613. </script>
  614. @endsection