index.html 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. {include file="/shopro/common/script" /}
  2. <style>
  3. .dispatch-index {
  4. font-size: 14px;
  5. color: var(--sa-font);
  6. }
  7. .dispatch-index .dispatch-item {
  8. min-width: 100%;
  9. display: inline-block;
  10. border-radius: 4px;
  11. border: 1px solid var(--sa-space);
  12. margin-bottom: 20px;
  13. }
  14. .dispatch-index .template-header {
  15. height: 40px;
  16. background: var(--t-bg-disabled);
  17. border-radius: 4px;
  18. padding-left: 20px;
  19. }
  20. .dispatch-index .template-header .name {
  21. min-width: 570px;
  22. }
  23. .dispatch-index .template-header .right {
  24. flex-shrink: 0;
  25. padding-right: 20px;
  26. }
  27. .dispatch-index .template-body .template-item {
  28. border-bottom: 1px solid var(--sa-space);
  29. padding: 10px 0 10px 16px;
  30. font-size: 14px;
  31. color: var(--sa-font);
  32. }
  33. .dispatch-index .template-body .template-item:first-of-type {
  34. border-bottom: none;
  35. box-shadow: 0 2px 6px #8c8c8c1f;
  36. }
  37. .dispatch-index .template-body .template-item .area {
  38. min-width: 600px;
  39. font-size: 12px;
  40. }
  41. .dispatch-index .template-body .template-item .district {
  42. min-width: 88px;
  43. padding: 0 18px;
  44. text-align: center;
  45. }
  46. </style>
  47. <div id="index" class="dispatch-index panel panel-default panel-intro" v-cloak>
  48. <el-container class="panel-block">
  49. <el-header class="sa-header">
  50. <el-tabs class="sa-tabs" v-model="state.dispatch_type" @tab-change="onChangeTab">
  51. <el-tab-pane label="物流快递" name="express"></el-tab-pane>
  52. <el-tab-pane label="自动发货" name="autosend"></el-tab-pane>
  53. </el-tabs>
  54. <div class="sa-title sa-flex sa-row-between">
  55. <div class="sa-title-left">
  56. <div class="left-name">配送设置</div>
  57. </div>
  58. <div class="sa-title-right">
  59. <el-button class="sa-button-refresh" icon="RefreshRight" @click="getData"></el-button>
  60. {if $auth->check('shopro/dispatch/dispatch/add')}
  61. <el-button icon="Plus" type="primary" @click="onAdd">添加</el-button>
  62. {/if}
  63. </div>
  64. </div>
  65. </el-header>
  66. <el-main class="sa-main">
  67. <el-scrollbar v-if="state.dispatch_type=='express'">
  68. <div class="dispatch-item" v-for="item in state.data" :key="item">
  69. <div class="template-header sa-flex sa-row-between">
  70. <div class="name sa-flex">
  71. <div class="mr-2">#{{ item.id }}</div>
  72. <div>{{ item.name }}</div>
  73. </div>
  74. <div class="right sa-flex">
  75. <div class="mr-1">最后编辑时间:{{ item.updatetime }}</div>
  76. {if $auth->check('shopro/dispatch/dispatch/edit')}
  77. <el-button type="primary" class="is-link" @click="onEdit(item.id)">编辑</el-button>
  78. {/if}
  79. {if $auth->check('shopro/dispatch/dispatch/add')}
  80. <el-button type="info" link @click="onCopy(item.id)">复制</el-button>
  81. {/if}
  82. <el-popconfirm width="fit-content" confirm-button-text="确认" cancel-button-text="取消"
  83. title="确认删除这条记录?" @confirm="onDelete(item.id)">
  84. <template #reference>
  85. {if $auth->check('shopro/dispatch/dispatch/delete')}
  86. <el-button type="danger" link> 删除</el-button>
  87. {/if}
  88. </template>
  89. </el-popconfirm>
  90. </div>
  91. </div>
  92. <div class="template-body">
  93. <template v-for="(inneritem, index) in item.express" :key="index">
  94. <div v-if="index == 0" class="template-item sa-flex sa-row-between">
  95. <div class="area">可配送区域</div>
  96. <div class="sa-flex">
  97. <div class="district">
  98. {{ inneritem.type == 'weight' ? '首重(kg)' : '首件' }}
  99. </div>
  100. <div class="district">运费(元)</div>
  101. <div class="district">
  102. {{ inneritem.type == 'weight' ? '续重(kg)' : '续件' }}
  103. </div>
  104. <div class="district">续费(元)</div>
  105. </div>
  106. </div>
  107. <div class="template-item sa-flex sa-row-between">
  108. <div class="area">{{ inneritem.district_text || '-' }}</div>
  109. <div class="sa-flex">
  110. <div class="district">{{ inneritem.first_num }}</div>
  111. <div class="district">{{ inneritem.first_price }}</div>
  112. <div class="district">{{ inneritem.additional_num }}</div>
  113. <div class="district">{{ inneritem.additional_price }}</div>
  114. </div>
  115. </div>
  116. </template>
  117. </div>
  118. </div>
  119. </el-scrollbar>
  120. <el-table v-if="state.dispatch_type=='autosend'" class="sa-table" :data="state.data">
  121. <el-table-column prop="id" label="ID" min-width="90">
  122. </el-table-column>
  123. <el-table-column label="模板名称" min-width="140">
  124. <template #default="scope">
  125. <div class="sa-line-1">
  126. {{scope.row.name}}
  127. </div>
  128. </template>
  129. </el-table-column>
  130. <el-table-column label="自动发货内容" min-width="400">
  131. <template #default="scope">
  132. <div>
  133. <div v-if="scope.row.autosend?.type=='text'">
  134. {{scope.row.autosend?.content}}</div>
  135. <div v-else>
  136. <template v-for="(item,index) in scope.row.autosend?.content">
  137. {{item.title}}:{{item.content}}
  138. <span v-if="index!=scope.row.autosend?.content.length-1" class="sa-m-r-4">;</span>
  139. </template>
  140. </div>
  141. </div>
  142. </template>
  143. </el-table-column>
  144. <el-table-column prop="updatetime" label="最后编辑时间" min-width="172">
  145. </el-table-column>
  146. <el-table-column label="操作" min-width="180">
  147. <template #default="scope">
  148. {if $auth->check('shopro/dispatch/dispatch/edit')}
  149. <el-button type="primary" class="is-link" @click="onEdit(scope.row.id)">编辑</el-button>
  150. {/if}
  151. {if $auth->check('shopro/dispatch/dispatch/add')}
  152. <el-button type="info" link @click="onCopy(scope.row.id)">复制</el-button>
  153. {/if}
  154. <el-popconfirm width="fit-content" confirm-button-text="确认" cancel-button-text="取消"
  155. title="确认删除这条记录?" @confirm="onDelete(scope.row.id)">
  156. <template #reference>
  157. {if $auth->check('shopro/dispatch/dispatch/delete')}
  158. <el-button type="danger" link> 删除</el-button>
  159. {/if}
  160. </template>
  161. </el-popconfirm>
  162. </template>
  163. </el-table-column>
  164. </el-table>
  165. </el-main>
  166. <el-footer class="sa-footer sa-flex sa-row-right">
  167. <sa-pagination v-model="pagination" @pagination-change="getData"></sa-pagination>
  168. </el-footer>
  169. </el-container>
  170. </div>