环卫车小程序前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

197 lines
5.3 KiB

11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
  1. <template>
  2. <view class="se-p-20 se-pb-200">
  3. <view v-if="list.length>0">
  4. <view class="se-grid-2 se-pt-10">
  5. <view class="items-box se-br-5 se-px-10 se-pos" v-for="(items,indexs) in list" :key="indexs">
  6. <text class="se-status se-bgc-gray" v-if="items.status==2">未通过</text>
  7. <text class="se-status se-bgc-blue" v-if="items.status==1">已通过</text>
  8. <text class="se-status se-bgc-red" v-if="items.status==0">审核中</text>
  9. <image class="se-w-p-100 se-h-200 se-bgc-f5 se-br-5 se-py-5" :src="items.images[0]" mode="" @click="onDetail(items)"></image>
  10. <view class="se-c-black se-fs-24 se-fw-6 se-mt-10" @click="onDetail(items)">
  11. {{ items.goodsName }}
  12. </view>
  13. <view class="se-flex se-flex-ff-rw se-mt-10" v-if="items.categoryoneName!='环卫设备及配件'" @click="onDetail(items)">
  14. <view class="se-tag">
  15. {{items.brand}}
  16. </view>
  17. <view class="se-tag">
  18. {{items.goodsTime}}
  19. </view>
  20. <view class="se-tag">
  21. {{items.mileage}}公里
  22. </view>
  23. </view>
  24. <view class="se-flex se-flex-h-sb se-w-p-100 se-pt-20" @click="onDetail(items)">
  25. <view class="se-fs-24 se-display-ib">
  26. <text class="se-c-orange se-fs-26 se-fw-6"><text class="se-fs-24"></text>{{items.price}}<text class="se-fs-24"></text><text class="se-fs-24" v-if="items.cartypeId=='1875536807086256130'">/</text></text>
  27. </view>
  28. </view>
  29. <view class="se-flex se-flex-h-sb se-w-p-100 se-pt-20">
  30. <text class="se-fs-22 se-c-white se-br-5 se-bgc-red se-px-10 se-py-5 se-br-5" @click="onDel(items)">删除</text>
  31. <text class="se-fs-22 se-c-white se-br-5 se-bgc-blue se-px-10 se-py-5 se-br-5" @click="onEdit(items)">修改</text>
  32. </view>
  33. </view>
  34. </view>
  35. <u-empty v-if="list && list.length==0" mode="list"></u-empty>
  36. </view>
  37. <view v-else>
  38. <u-empty mode="list" ></u-empty>
  39. </view>
  40. <view class="se-pos-fixed se-flex-h-c se-bs-t se-w-750 se-h-200" style="background-color: #fff;bottom: 0;left: 0;">
  41. <view @click="onApply()" class="se-mb-20 se-br-20 se-w-400 se-ml-20 se-flex-h-c se-h-80 se-lh-80 se-ta-c se-fs-32 se-c-white se-bgc-green">
  42. <text class="se-ml-10">立即发布</text>
  43. </view>
  44. </view>
  45. </view>
  46. </template>
  47. <script>
  48. import { queryGoodsList,deleteGoods } from "@/common/api.js"
  49. export default{
  50. data(){
  51. return{
  52. pageNo:1,
  53. pageSize:10,
  54. list:[]
  55. }
  56. },
  57. onLoad(options) {
  58. this.onPageList()
  59. },
  60. onPullDownRefresh() {
  61. let that = this
  62. that.pageNo = 1
  63. that.list = []
  64. that.onPageList()
  65. },
  66. onReachBottom() {
  67. let that = this
  68. that.pageNo = that.pageNo + 1
  69. that.onPageList()
  70. },
  71. methods:{
  72. onDetail(event){
  73. uni.navigateTo({
  74. url:"/pages_subpack/detail/index?goodsId="+event.id
  75. })
  76. },
  77. onApply(){
  78. uni.navigateTo({
  79. url:"/pages_subpack/release/index"
  80. })
  81. },
  82. onPageList(){
  83. let that = this
  84. let params={
  85. pageNo:that.pageNo,
  86. pageSize:that.pageSize,
  87. token:uni.getStorageSync('token')
  88. }
  89. queryGoodsList(params).then(response=>{
  90. console.info("queryApplyList",response)
  91. response.result.records.forEach((items,indexs)=>{
  92. if(items.image){
  93. items.images = items.image.split(',')
  94. }else{
  95. items.images = []
  96. }
  97. if(items.imageBack){
  98. items.imageBacks = items.imageBack.split(',')
  99. }else{
  100. items.imageBacks = []
  101. }
  102. if(items.imageCab){
  103. items.imageCabs = items.imageCab.split(',')
  104. }else{
  105. items.imageCabs = []
  106. }
  107. if(items.imageFront){
  108. items.imageFronts = items.imageFront.split(',')
  109. }else{
  110. items.imageFronts = []
  111. }
  112. if(items.imageLeft){
  113. items.imageLefts = items.imageLeft.split(',')
  114. }else{
  115. items.imageLefts = []
  116. }
  117. if(items.imageRight){
  118. items.imageRights = items.imageRight.split(',')
  119. }else{
  120. items.imageRights = []
  121. }
  122. })
  123. that.list = that.list.concat(response.result.records)
  124. }).catch(error=>{
  125. })
  126. },
  127. onDel(event){
  128. let that = this
  129. uni.showModal({
  130. title:"温馨提示",
  131. content:"确定删除当前数据?",
  132. cancelText:"取消",
  133. confirmText:"确定",
  134. success:(res)=> {
  135. console.info(res)
  136. if(res.confirm==true){
  137. deleteGoods({goodsId:event.id}).then(response=>{
  138. uni.$u.toast('删除成功')
  139. that.pageNo = 1
  140. that.list = []
  141. that.onPageList()
  142. }).catch(error=>{
  143. })
  144. }
  145. }
  146. })
  147. },
  148. onEdit(event){
  149. uni.navigateTo({
  150. url:"/pages_subpack/release/index?id="+event.id
  151. })
  152. }
  153. }
  154. }
  155. </script>
  156. <style>
  157. page{
  158. background-color: #f5f5f5;
  159. }
  160. .items-box{
  161. background: #ffffff;
  162. border-radius: 8rpx;
  163. box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(0,0,0,0.05);
  164. padding: 20rpx;
  165. }
  166. .se-status{
  167. padding: 5rpx 10rpx;
  168. border-radius: 5rpx 0 0 0;
  169. border: 2rpx solid rgba(0,0,0,0.00);
  170. font-size: 18rpx;
  171. font-family: PingFang SC, PingFang SC-Bold;
  172. font-weight: 700;
  173. text-align: center;
  174. color: #ffffff;
  175. position: absolute;
  176. left: 0px;
  177. top: 0px;
  178. }
  179. .se-tag{
  180. padding: 5rpx 10rpx;
  181. background: #fff2df;
  182. border-radius: 4rpx;
  183. border: 2rpx solid rgba(0,0,0,0.00);
  184. font-size: 16rpx;
  185. font-family: PingFang SC, PingFang SC-Bold;
  186. font-weight: 700;
  187. text-align: center;
  188. color: #fab143;
  189. margin-left: 10rpx;
  190. }
  191. .se-tag:first-child{
  192. margin-left: 0rpx;
  193. }
  194. </style>