duanxinlist.vue 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. <template>
  2. <div>
  3. <div style="display: inline-block;">
  4. <span>状态:</span>
  5. <el-select v-model="successFlag" style="width:150px;margin-left: 10px;" @change="select()">
  6. <el-option v-for="item in statesnum2" :key="item.value" :label="item.label" :value="item.value">
  7. </el-option>
  8. </el-select>&nbsp;&nbsp;
  9. <div style="position: relative;display: inline-block;">
  10. <span>订单id:</span>
  11. <el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入订单编号" v-model="orderId">
  12. </el-input>&nbsp;&nbsp;
  13. </div>
  14. <div style="position: relative;display: inline-block;">
  15. <span>发送商户:</span>
  16. <el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入发送商户手机号" v-model="fromTo">
  17. </el-input>&nbsp;&nbsp;
  18. </div>
  19. <div style="position: relative;display: inline-block;">
  20. <span>接收人:</span>
  21. <el-input style="width: 200px;" @keydown.enter.native="select" placeholder="请输入接收人手机号" v-model="sendTo">
  22. </el-input>&nbsp;&nbsp;
  23. </div>
  24. <div style="margin:5px;display: inline-block;">
  25. <span>开始时间:</span>
  26. <el-date-picker style="width: 160px;margin-left: 10px;" v-model="startTime" align="right"
  27. type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择开始时间">
  28. </el-date-picker>&nbsp;&nbsp;&nbsp;
  29. </div>
  30. <div style="margin:5px;display: inline-block;">
  31. <span>截止时间:</span>
  32. <el-date-picker style="width: 160px;margin-left: 10px;" v-model="endTime" align="right"
  33. type="datetime" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择截止时间">
  34. </el-date-picker>
  35. </div>
  36. <el-button style='margin-left:15px;' size="mini" type="primary" icon="document" @click="select">查询
  37. </el-button>
  38. <el-button style='margin-left:15px;' size="mini" type="primary" icon="document" @click="cleans">重置
  39. </el-button>
  40. <!-- <el-button style='margin:0 0 20px 20px;' v-if="isAuth('autonym:tongguo')" size="mini" type="primary"
  41. icon="document" @click="passClick()" :disabled="checkBoxData.length <= 0">通过</el-button> -->
  42. </div>
  43. <el-table v-loading="tableDataLoading" :data="duanxinData.list">
  44. <el-table-column fixed prop="complaintId" label="编号" width="80">
  45. <template slot-scope="scope">
  46. <span>{{scope.$index+1}}</span>
  47. </template>
  48. </el-table-column>
  49. <el-table-column prop="orderId" label="订单id" width="200" align="center">
  50. </el-table-column>
  51. <el-table-column prop="goodsCover" label="图片" width="150">
  52. <template slot-scope="scope">
  53. <div v-for="(item,index) in scope.row.imgs" :key="index"
  54. style="display: inline-block; margin: 3px;">
  55. <el-popover placement="top-start" title="" trigger="hover">
  56. <img style="width: 50px; height: 50px" :src="item" alt="" slot="reference">
  57. <img style="width: 300px; height: auto" :src="item" alt="">
  58. </el-popover>
  59. </div>
  60. </template>
  61. </el-table-column>
  62. <el-table-column prop="successFlag" label="发送状态" width="150">
  63. <template slot-scope="scope">
  64. <div v-if="scope.row.successFlag==0">发送失败</div>
  65. <div v-if="scope.row.successFlag==1">发送成功</div>
  66. </template>
  67. </el-table-column>
  68. <el-table-column prop="sendContent" label="短信内容" width="180"></el-table-column>
  69. <el-table-column prop="sendResult" label="发送结果" width="120" align="center">
  70. </el-table-column>
  71. <el-table-column prop="sendTo" label="接受人" width="180"></el-table-column>
  72. <el-table-column prop="sendFromShopName" label="发送商户" width="180"></el-table-column>
  73. <el-table-column prop="sendTime" label="发送时间" width="100"></el-table-column>
  74. </el-table>
  75. <div style="text-align: center;margin-top: 10px;">
  76. <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
  77. :page-sizes="[10, 20, 30, 40]" :page-size="limit" :current-page="page"
  78. layout="total,sizes, prev, pager, next,jumper" :total="duanxinData.totalCount">
  79. </el-pagination>
  80. </div>
  81. </div>
  82. </template>
  83. <script>
  84. export default {
  85. data() {
  86. return {
  87. limit: 10,
  88. page: 1,
  89. activeName: 'first',
  90. tableDataLoading: false,
  91. dialogFormVisible: false,
  92. tableData: [],
  93. checkBoxData: [], //多选框选择的值
  94. helpTakeId:'',
  95. info: {
  96. stockDate: this.getNowTime(), //日期
  97. },
  98. info1: {
  99. stockDate1: this.getNowTime1(), //日期
  100. },
  101. info2: {
  102. stockDate2: this.getNowTime2(), //日期
  103. },
  104. startTime: '',
  105. endTime: '',
  106. orderId:'',
  107. sendTo:'',
  108. fromTo:'',
  109. statesnum2: [{
  110. label: '全部',
  111. value: ''
  112. },
  113. {
  114. label: '发送成功',
  115. value: 1
  116. },
  117. {
  118. label: '发送失败',
  119. value: 0
  120. },
  121. ],
  122. successFlag:'',
  123. duanxinData:[],
  124. // info: {
  125. // stockDate: this.getNowTime(), //日期
  126. // },
  127. // info1: {
  128. // stockDate1: this.getNowTime1(), //日期
  129. // },
  130. // info2: {
  131. // stockDate2: this.getNowTime2(), //日期
  132. // },
  133. }
  134. },
  135. methods: {
  136. handleSizeChange(val) {
  137. this.limit = val;
  138. this.dataSelect()
  139. },
  140. handleCurrentChange(val) {
  141. this.page = val;
  142. this.dataSelect()
  143. },
  144. //处理默认选中当前日期
  145. getNowTime1() {
  146. var now = new Date();
  147. var year = now.getFullYear(); //得到年份
  148. var month = now.getMonth(); //得到月份
  149. var date = now.getDate(); //得到日期
  150. var hh = now.getHours() < 10 ? "0" + now.getHours() : now.getHours();
  151. var mm = now.getMinutes() < 10 ? "0" + now.getMinutes() : now.getMinutes();
  152. var ss = now.getSeconds() < 10 ? "0" + now.getSeconds() : now.getSeconds();
  153. month = month + 1;
  154. month = month.toString().padStart(2, "0");
  155. date = date.toString().padStart(2, "0");
  156. var defaultDate = `${year}-${month}-${date} ${hh}:${mm}:${ss}`;
  157. return defaultDate;
  158. this.$set(this.info, "stockDate", defaultDate);
  159. },
  160. getNowTime2() {
  161. var now = new Date();
  162. var year = now.getFullYear(); //得到年份
  163. var month = now.getMonth(); //得到月份
  164. var date = now.getDate(); //得到日期
  165. month = month + 1;
  166. month = month.toString().padStart(2, "0");
  167. date = date.toString().padStart(2, "0");
  168. var defaultDate = `${year}-${month}-${date}`;
  169. return defaultDate;
  170. this.$set(this.info, "stockDate", defaultDate);
  171. },
  172. //处理默认选中当前日期
  173. getNowTime() {
  174. var now = new Date()
  175. var year = now.getFullYear() //得到年份
  176. var month = now.getMonth() - now.getMonth() //得到月份
  177. var date = now.getDate() - now.getDate() + 1 //得到日期
  178. month = month + 1
  179. month = month.toString().padStart(2, '0')
  180. date = date.toString().padStart(2, '0')
  181. var defaultDate = `${year}-${month}-${date}`
  182. return defaultDate
  183. this.$set(this.info, 'stockDate', defaultDate)
  184. },
  185. // 查询
  186. select() {
  187. this.page = 1
  188. this.limit = 10
  189. this.dataSelect()
  190. },
  191. // 重置
  192. cleans() {
  193. this.orderId = ''
  194. this.successFlag = ''
  195. this.sendTo = ''
  196. this.fromTo= ''
  197. this.startTime = ''
  198. this.endTime = ''
  199. this.page = 1
  200. this.dataSelect()
  201. },
  202. // 获取派单数据列表
  203. dataSelect() {
  204. // if (this.endTime == '') {
  205. // this.endTime = this.info2.stockDate2
  206. // }
  207. // if (this.startTime == '') {
  208. // this.startTime = this.info.stockDate
  209. // }
  210. this.tableDataLoading = true
  211. this.$http({
  212. url: this.$http.adornUrl('admin/tb-indent-sms/log'),
  213. method: 'get',
  214. params: this.$http.adornParams({
  215. 'page': this.page,
  216. 'limit': this.limit,
  217. 'orderId': this.orderId,//订单id
  218. 'successFlag': this.successFlag,//是否发送成功
  219. 'sendTo': this.sendTo,//接受人
  220. 'fromTo': this.fromTo,//发送骑手
  221. 'startTime': this.startTime,//开始时间
  222. 'endTime': this.endTime,//结束时间
  223. 'sourceType':2//1骑手、2商家,默认为1
  224. })
  225. }).then(({
  226. data
  227. }) => {
  228. if (data && data.code === 0) {
  229. this.tableDataLoading = false
  230. for (var i in data.data.list) {
  231. if (data.data.list[i].imgs) {
  232. data.data.list[i].imgs = data.data.list[i].imgs.split(',')
  233. }
  234. }
  235. let returnData = data.data
  236. this.duanxinData = returnData
  237. }
  238. })
  239. }
  240. },
  241. mounted() {
  242. this.dataSelect()
  243. }
  244. };
  245. </script>
  246. <style>
  247. </style>