service.js 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. define({
  2. name: "service",
  3. template: `
  4. <div>
  5. <el-form ref="form" label-width="15%">
  6. <div id="vue_head">
  7. <div class="base_set">
  8. <div class="vue-main-title">
  9. <div class="vue-main-title-left"></div>
  10. <div class="vue-main-title-content">服务提供</div>
  11. </div>
  12. <div class="vue-main-form">
  13. <el-form-item label="是否自动上下架">
  14. <el-radio v-model="form.is_automatic" :label="1">是</el-radio>
  15. <el-radio v-model="form.is_automatic" :label="0">否</el-radio>
  16. </el-form-item>
  17. <el-form-item label="时间方式">
  18. <el-radio v-model="form.time_type" :label="0">固定</el-radio>
  19. <el-radio v-model="form.time_type" :label="1">循环</el-radio>
  20. <div class="tip">固定:在设置的时间商品自动上下架时间</div>
  21. <div class="tip">循环:在循环日期内商品每天在设置的时间点自动循环上下架</div>
  22. </el-form-item>
  23. <el-form-item label="上下架时间" v-if="form.time_type==0">
  24. <el-date-picker
  25. v-model="shelves_time"
  26. type="datetimerange"
  27. value-format="timestamp"
  28. align="right"
  29. unlink-panels
  30. range-separator="至"
  31. start-placeholder="开始日期"
  32. end-placeholder="结束日期"
  33. :picker-options="pickerOptions">
  34. </el-date-picker>
  35. </el-form-item>
  36. <el-form-item label="循环日期" v-if="form.time_type==1">
  37. <el-date-picker
  38. v-model="loop_date"
  39. type="daterange"
  40. value-format="timestamp"
  41. align="right"
  42. unlink-panels
  43. range-separator="至"
  44. start-placeholder="开始日期"
  45. end-placeholder="结束日期"
  46. :picker-options="pickerOptions"
  47. >
  48. </el-date-picker>
  49. </el-form-item>
  50. <el-form-item label="上架时间" v-if="form.time_type==1">
  51. <el-time-select
  52. v-model="form.loop_time_up"
  53. value-format="timestamp"
  54. :picker-options="{
  55. start: '00:00',
  56. step: '00:05',
  57. end: '24:00'
  58. }"
  59. placeholder="选择时间">
  60. </el-time-select>
  61. <span style="margin-left: 15px;margin-right: 8px">下架时间</span>
  62. <el-time-select
  63. v-model="form.loop_time_down"
  64. value-format="timestamp"
  65. :picker-options="{
  66. start: '00:00',
  67. step: '00:05',
  68. end: '24:00',
  69. minTime: form.loop_time_up
  70. }"
  71. placeholder="选择时间">
  72. </el-time-select>
  73. </el-form-item>
  74. <el-form-item label="库存自动刷新" v-if="form.time_type==1">
  75. <el-switch v-model="form.auth_refresh_stock" active-color="#13ce66" inactive-color="#ff4949" :active-value="1" :inactive-value="0"></el-switch>
  76. <div class="tip">开启后,循环日期期间,每日重新上架时,库存商品数自动刷新为原始库存数</div>
  77. </el-form-item>
  78. <el-form-item label="原始库存" v-if="form.time_type==1">
  79. <el-input v-model="form.original_stock" style="width:30%;"></el-input>
  80. </el-form-item>
  81. </div>
  82. </div>
  83. </div>
  84. </el-form>
  85. </div>
  86. `,
  87. data(){
  88. return {
  89. // shelves:"1",
  90. pickerOptions: {
  91. shortcuts: [{
  92. text: "最近一周",
  93. onClick(picker) {
  94. const end = new Date();
  95. const start = new Date();
  96. start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  97. picker.$emit("pick", [start, end]);
  98. }
  99. }, {
  100. text: "最近一个月",
  101. onClick(picker) {
  102. const end = new Date();
  103. const start = new Date();
  104. start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  105. picker.$emit("pick", [start, end]);
  106. }
  107. }, {
  108. text: "最近三个月",
  109. onClick(picker) {
  110. const end = new Date();
  111. const start = new Date();
  112. start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
  113. picker.$emit("pick", [start, end]);
  114. }
  115. }]
  116. },
  117. shelves_time: [],
  118. loop_date: [],
  119. widgets:{
  120. service:{
  121. is_automatic:"1",
  122. }
  123. }
  124. }
  125. },
  126. style: ``,
  127. mounted() {
  128. // console.log(this.form,'服务提供')
  129. this.shelves_time = [this.form.starttime * 1000,this.form.endtime * 1000]
  130. this.loop_date = [this.form.loop_date_start * 1000,this.form.loop_date_end * 1000]
  131. },
  132. methods:{
  133. extraDate(){
  134. },
  135. validate(){
  136. return {
  137. starttime:this.shelves_time[0] / 1000,
  138. endtime:this.shelves_time[1] / 1000,
  139. loop_date_start:this.loop_date[0] / 1000,
  140. loop_date_end:this.loop_date[1] / 1000,
  141. is_automatic:this.form.is_automatic,
  142. time_type:this.form.time_type,
  143. loop_time_up:this.form.loop_time_up,
  144. loop_time_down:this.form.loop_time_down,
  145. auth_refresh_stock:this.form.auth_refresh_stock,
  146. original_stock:this.form.original_stock,
  147. }
  148. }
  149. },
  150. props: {
  151. form: {
  152. type: Object,
  153. default() {
  154. return {}
  155. }
  156. }
  157. }
  158. })