移动端
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.
 
 

369 rivejä
11 KiB

  1. <template>
  2. <div class="home_wrapper">
  3. <!-- 头部开始 -->
  4. <van-nav-bar
  5. title="订单详情"
  6. fixed
  7. placeholder
  8. left-arrow
  9. @click-left="onClickLeft"
  10. />
  11. <!-- 头部结束 -->
  12. <!-- 内容开始 -->
  13. <div class="main">
  14. <p class="type">已评分<span>评分时间:{{supplyDemand.updateTime}}</span></p>
  15. <div class="main_content_right_list first">
  16. <div class="main_content_right_list_header">
  17. <p class="on">商品信息</p>
  18. <p>{{supplyDemand.productType}}</p>
  19. <p>服务</p>
  20. </div>
  21. <div class="main_content_right_list_center">
  22. <template v-if="supplyDemand.supplyDemand!=null">
  23. <img v-if="supplyDemand.supplyDemand.supplyMasterMap" :src="supplyDemand.supplyDemand.supplyMasterMap" style="width: 25vw;height: 25vw;">
  24. <img v-else src="../../../../static/images/agriculturalTrusteeship/zwtp.png" style="width: 25vw;height: 25vw;">
  25. </template>
  26. <img v-else src="../../../../static/images/agriculturalTrusteeship/zwtp.png" style="width: 25vw;height: 25vw;">
  27. <div class="main_content_right_list_content">
  28. <p class="tt">{{supplyDemand.demandName}}</p>
  29. <div class="tab">
  30. <p>¥<span>{{supplyDemand.unitPrice}}</span>.00/{{supplyDemand.unit}}</p>
  31. </div>
  32. </div>
  33. </div>
  34. <van-cell title="卖方名称" :border="false" :value="supplyDemand.entityName" />
  35. <van-cell title="联系人" :border="false" :value="supplyDemand.linker" />
  36. <van-cell title="联系电话" :border="false" :value="supplyDemand.supplyDemandTal" />
  37. </div>
  38. <div class="main_content_right_list">
  39. <div class="main_content_right_list_header">
  40. <p class="on">评价信息</p>
  41. </div>
  42. <van-cell title="实际服务数量" :border="false" :value="supplyDemand.realityServiceNum" />
  43. <van-cell title="实际服务费用" :border="false" :value="supplyDemand.realityServiceMoney" />
  44. <van-cell title="服务评分" :border="false" :value="supplyDemand.serviceScore" />
  45. <van-cell title="服务评价" :border="false" :value="supplyDemand.serviceAssess" />
  46. </div>
  47. <div class="main_content_right_list">
  48. <div class="main_content_right_list_header">
  49. <p class="on">买家信息</p>
  50. </div>
  51. <van-cell title="联系人" :border="false" :value="supplyDemand.linkera" />
  52. <van-cell title="联系电话" :border="false" :value="supplyDemand.phonea" />
  53. <van-cell title="服务地点" :border="false" :value="supplyDemand.serviceAddress" />
  54. </div>
  55. <div class="main_content_right_list">
  56. <div class="main_content_right_list_header">
  57. <p class="on">订单信息</p>
  58. </div>
  59. <van-cell title="接单时间" :border="false" value="接单时间" />
  60. <van-cell title="服务合同" :border="false" :value="supplyDemand.contractionName" />
  61. <van-cell title="服务作物" :border="false" :value="supplyDemand.cropType" />
  62. <van-cell title="下单时间" :border="false" :value="supplyDemand.orderAt" />
  63. <van-cell title="服务时间" :border="false" :value="supplyDemand.serviceAt" />
  64. <van-cell title="服务数量" :border="false" :value="supplyDemand.serviceNum" />
  65. <van-cell title="成交金额" :border="false" :value="supplyDemand.realityServiceMoney" />
  66. <van-cell title="备注" :border="false" :value="supplyDemand.serviceRemark" />
  67. </div>
  68. </div>
  69. <!-- 内容结束 -->
  70. </div>
  71. </template>
  72. <script>
  73. import Cookies from "js-cookie";
  74. import {productTypes, supplyorderGet} from "@/api/agriculturalTrusteeship";
  75. export default {
  76. name: "agriculturalTrusteeshipIndex",
  77. data() {
  78. return {
  79. activeKey: 0,
  80. active: 0,
  81. loading: false,
  82. finished: false,
  83. show:true,
  84. activeNames:[],
  85. cropTypeOptions:[],
  86. orderStatusOptions:[],
  87. productList:[],
  88. supplyDemand:{}
  89. };
  90. },
  91. created() {
  92. let query = {
  93. parentId : null,
  94. tree:true
  95. }
  96. productTypes(query).then(response => {
  97. this.productList = response.data;
  98. });
  99. this.getDicts("crop_type").then(response => {
  100. this.cropTypeOptions = response.data;
  101. });
  102. this.getDicts("service_order_status").then(response => {
  103. this.orderStatusOptions = response.data;
  104. });
  105. this.getDetail();
  106. },
  107. methods: {
  108. getDetail(){
  109. supplyorderGet(this.$route.query.id).then(response => {
  110. response.data.cropType = this.selectDictLabel(this.cropTypeOptions, response.data.cropType);
  111. response.data.orderStatus = this.selectDictLabel(this.orderStatusOptions, response.data.orderStatus);
  112. response.data.productType = this.productList.filter(function (e) { return e.id == response.data.productType; })[0].dictName;
  113. response.data.updateTime = response.data.updateTime.substr(0,10);
  114. if (response.data.supplyDemand!=null){
  115. if (response.data.supplyDemand.supplyMasterMap){
  116. var attachement = response.data.supplyDemand.supplyMasterMap.split( "," );
  117. response.data.supplyDemand.supplyMasterMap = '/api' + attachement[0];
  118. }
  119. }
  120. this.supplyDemand = response.data;
  121. });
  122. },
  123. },
  124. }
  125. </script>
  126. <style scoped lang="scss">
  127. .home_wrapper{
  128. }
  129. /*头部*/
  130. .header{
  131. display: flex;
  132. align-items: center;
  133. justify-content: space-between;
  134. padding: 2vh 4% 0vh;
  135. }
  136. .search{
  137. display: flex;
  138. justify-content: space-between;
  139. align-items: center;
  140. border: 1px solid #6E93F3;
  141. padding: 1PX 1PX 1PX 12PX ;
  142. border-radius: 50PX;
  143. margin-right: 30PX;
  144. flex: 1;
  145. input{
  146. flex: 1;
  147. background: transparent;
  148. margin-left: 10PX;
  149. }
  150. }
  151. /*导航栏目*/
  152. .nav{
  153. width: 94%;
  154. margin: 0 auto;
  155. margin-top: 2vh;
  156. padding: 1.5vh 3%;
  157. background: #ffffff;
  158. border-radius: 10PX;
  159. box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);
  160. .date{
  161. display: flex;
  162. justify-content: space-around;
  163. align-items: center;
  164. p{
  165. border-radius: 1rem;
  166. padding: 5PX 0PX 5PX 5%;
  167. width: 40%;
  168. text-align: center;
  169. color: #334281;
  170. box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);
  171. background:#D6D9E6 url("../../../../static/images/agriculturalTrusteeship/socialization/socialization_icon_date.png") 20% center no-repeat;
  172. }
  173. }
  174. .billCount {
  175. display: flex;
  176. text-align: center;
  177. margin-top: 3vh;
  178. .billCount_left{
  179. width: 50%;
  180. color: #1B5DEA;
  181. p{
  182. &:nth-child(1){
  183. font-size: .45rem;
  184. }
  185. }
  186. }
  187. .billCount_right{
  188. width: 50%;
  189. color: #FF5E00;
  190. p{
  191. &:nth-child(1){
  192. font-size: .45rem;
  193. }
  194. }
  195. }
  196. }
  197. }
  198. /*内容*/
  199. .main{
  200. width: 94%;
  201. margin: 0 auto;
  202. padding-bottom: 2vh;
  203. .main_content_right_list{
  204. padding: 1.5vh 3%;
  205. background: #ffffff;
  206. border-radius: 10PX;
  207. margin-bottom: 2vh;
  208. /*box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);*/
  209. &.first{
  210. border-top-left-radius: initial;
  211. border-top-right-radius: initial;
  212. }
  213. /deep/ .van-cell{
  214. padding: 0;
  215. margin-top: 10PX;
  216. }
  217. .main_content_right_list_header{
  218. display: flex;
  219. margin-bottom: 1vh;
  220. align-items: center;
  221. p{
  222. padding: 3PX 10PX;
  223. border-radius: 8PX;
  224. &:nth-child(2){background: #2B7EEC;color: #ffffff;margin-left: auto;}
  225. &:nth-child(3){background: #E2E9FD;color: #497CE8;margin-left: 10PX;}
  226. }
  227. .on{
  228. color: #334281;
  229. border-radius: initial;
  230. padding:0 0 0 20PX;
  231. font-size: 0.35rem;
  232. background: url("../../../../static/images/agriculturalTrusteeship/socialization/bill_icon_01.png") no-repeat left center
  233. }
  234. .off{
  235. color: #E60505;
  236. border-radius: initial;
  237. margin-left: auto;
  238. padding:0 0 0 15PX;
  239. background: url("../../../../static/images/agriculturalTrusteeship/socialization/socialization_icon_off.png") no-repeat left center
  240. }
  241. }
  242. .main_content_right_list_center{
  243. display: flex;
  244. img{
  245. border-radius: 15PX;
  246. margin-right: 4%;
  247. }
  248. .main_content_right_list_content{
  249. display: flex;
  250. flex-direction:column;
  251. justify-content: space-between;
  252. .tt{
  253. color: #333333;
  254. font-size: .35rem;
  255. }
  256. .tab{
  257. display: flex;
  258. justify-content: space-between;
  259. p{
  260. &:nth-child(1){
  261. flex: 1;
  262. color: #FF5E00;
  263. span{
  264. font-size: .4rem;
  265. }
  266. }
  267. &:nth-child(2){
  268. span{
  269. display: inline-block;
  270. text-align: center;
  271. padding: 2PX 5PX;
  272. &:nth-child(1){
  273. color: #497CE8;
  274. background: #E2E9FD;
  275. border-top-left-radius: 10PX;
  276. }
  277. &:nth-child(2){
  278. color: #ffffff;
  279. background-image: linear-gradient(to right , #5D87FA , #5FD5F5);
  280. border-bottom-right-radius: 10PX;
  281. }
  282. }
  283. }
  284. }
  285. }
  286. .name{
  287. color: #7A7A7A;
  288. span{
  289. &:nth-child(2){
  290. margin-left: 5PX;
  291. }
  292. }
  293. }
  294. }
  295. }
  296. }
  297. }
  298. /*弹出层*/
  299. .main_btn{
  300. display: flex;
  301. justify-content: space-around;
  302. padding: 4vh 0;
  303. p{
  304. font-size: .4rem;
  305. width: 35%;
  306. text-align: center;
  307. padding: 10PX 0;
  308. border-radius: 5rem;
  309. box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);
  310. &:nth-child(1){
  311. background: #334281;
  312. color: #ffffff;
  313. }
  314. &:nth-child(2){
  315. background: #D1D5E4;
  316. color: #334281;
  317. }
  318. }
  319. }
  320. .footer{
  321. display: flex;
  322. justify-content: space-between;
  323. align-items: center;
  324. background: #ffffff;
  325. position: fixed;
  326. bottom: 0;
  327. padding: 1vh 4%;
  328. width: 100%;
  329. p{
  330. color: #989898;
  331. background: #F2F2F2;
  332. padding: 5PX 10PX;
  333. text-align: center;
  334. border-radius: 8PX;
  335. }
  336. }
  337. .type{
  338. background: #22D863;
  339. font-size: .4rem;
  340. display: flex;
  341. justify-content: space-between;
  342. margin-top: 2vh;
  343. color: #ffffff;
  344. padding: 10PX 3%;
  345. border-top-left-radius: 10PX;
  346. border-top-right-radius: 10PX;
  347. align-items: center;
  348. span{
  349. font-size: .35rem;
  350. }
  351. }
  352. </style>