移动端
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

billDetail2.vue 13 KiB

2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
2 anni fa
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462
  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. <div class="main_content_right_list">
  15. <div class="main_content_right_list_header">
  16. <p class="on">商品信息</p>
  17. <p>{{supplyDemand.productType}}</p>
  18. <p>服务</p>
  19. </div>
  20. <div class="main_content_right_list_center">
  21. <template v-if="supplyDemand.supplyDemand!=null">
  22. <img v-if="supplyDemand.supplyDemand.supplyMasterMap" :src="supplyDemand.supplyDemand.supplyMasterMap" style="width: 25vw;height: 25vw;">
  23. <img v-else src="../../../../static/images/agriculturalTrusteeship/zwtp.png" style="width: 25vw;height: 25vw;">
  24. </template>
  25. <img v-else src="../../../../static/images/agriculturalTrusteeship/zwtp.png" style="width: 25vw;height: 25vw;">
  26. <div class="main_content_right_list_content">
  27. <p class="tt">{{supplyDemand.contractionName}}</p>
  28. <div class="tab">
  29. <p>¥<span>{{supplyDemand.unitPrice}}</span>.00/{{supplyDemand.unit}}</p>
  30. </div>
  31. </div>
  32. </div>
  33. <van-cell title="买方名称" :border="false" :value="supplyDemand.bookName" />
  34. <van-cell title="联系人" :border="false" :value="supplyDemand.linkera" />
  35. <van-cell @click="showDialog" :border="false" >
  36. <template #title>
  37. <div style="display: flex;align-items: center;">
  38. <p style="margin-right: 5px;">联系电话</p>
  39. <img src="../../../../static/images/agriculturalTrusteeship/insurance/insurance_list_iphone.png">
  40. </div>
  41. </template>
  42. <template #default>
  43. <p style="color: #336699">{{supplyDemand.supplyDemandTal}}</p>
  44. </template>
  45. </van-cell>
  46. <van-dialog
  47. v-model="show"
  48. title="联系卖家"
  49. :message="`确认拨打`+supplyDemand.supplyDemandTal+`联系电话?`"
  50. show-cancel-button
  51. @cancel="show=false"
  52. @confirm="contact"
  53. >
  54. </van-dialog>
  55. </div>
  56. <div class="main_content_right_list">
  57. <div class="main_content_right_list_header">
  58. <p class="on">买家信息</p>
  59. </div>
  60. <van-cell title="联系人" :border="false" :value="supplyDemand.linkera" />
  61. <van-cell title="联系电话" :border="false" :value="supplyDemand.phonea" />
  62. <van-cell title="服务地点" :border="false" :value="supplyDemand.serviceAddress" />
  63. </div>
  64. <div class="main_content_right_list">
  65. <div class="main_content_right_list_header">
  66. <p class="on">订单信息</p>
  67. </div>
  68. <!-- <van-cell title="接单时间" :border="false" value="接单时间" />-->
  69. <van-cell title="服务合同" :border="false" :value="supplyDemand.contractionName" />
  70. <van-cell title="服务作物" :border="false" :value="supplyDemand.cropType" />
  71. <van-cell title="下单时间" :border="false" :value="supplyDemand.orderAt" />
  72. <van-cell title="服务时间" :border="false" :value="supplyDemand.serviceAt" />
  73. <van-cell title="服务数量" :border="false" :value="supplyDemand.serviceNum" />
  74. <van-cell title="订单金额(元)" :border="false" :value="supplyDemand.realityServiceMoney == null ? supplyDemand.countMoney:supplyDemand.realityServiceMoney" />
  75. <van-cell title="数量单位" :border="false" :value="supplyDemand.numUnit" />
  76. <van-cell title="备注" :border="false" :value="supplyDemand.serviceRemark" />
  77. </div>
  78. </div>
  79. <!-- 内容结束 -->
  80. <div class="footer">
  81. <p>温馨提示:请在服务完成后进行评分</p>
  82. <img src="../../../../static/images/agriculturalTrusteeship/buyer/buyer_icon_02.png" @click="$router.push({name:'agriculturalTrusteeshipEvaluate',query:{id:supplyDemand.id}})">
  83. </div>
  84. </div>
  85. </template>
  86. <script>
  87. import Cookies from "js-cookie";
  88. import {productTypes, supplyorderGet} from "@/api/agriculturalTrusteeship";
  89. export default {
  90. name: "agriculturalTrusteeshipIndex",
  91. data() {
  92. return {
  93. activeKey: 0,
  94. active: 0,
  95. loading: false,
  96. finished: false,
  97. show:false,
  98. activeNames:[],
  99. cropTypeOptions:[],
  100. orderStatusOptions:[],
  101. productList:[],
  102. supplyDemand:{}
  103. };
  104. },
  105. created() {
  106. let query = {
  107. parentId : null,
  108. tree:false
  109. }
  110. productTypes(query).then(response => {
  111. this.productList = response.data;
  112. });
  113. this.getDicts("crop_type").then(response => {
  114. this.cropTypeOptions = response.data;
  115. });
  116. this.getDicts("service_order_status").then(response => {
  117. this.orderStatusOptions = response.data;
  118. });
  119. this.getDetail();
  120. },
  121. methods: {
  122. showDialog() {
  123. this.show = true;// 显示确认对话框
  124. },
  125. contact() {
  126. const a = document.createElement("a");
  127. a.href = "tel:8888410"
  128. a.click();
  129. this.show = false;
  130. },
  131. getDetail(){
  132. supplyorderGet(this.$route.query.id).then(response => {
  133. response.data.cropType = this.selectDictLabel(this.cropTypeOptions, response.data.cropType);
  134. response.data.orderStatus = this.selectDictLabel(this.orderStatusOptions, response.data.orderStatus);
  135. response.data.countMoney = response.data.unitPrice*response.data.serviceNum;
  136. var that = this ;
  137. setTimeout(function () {
  138. response.data.productType = that.productList.filter(function (e) { return e.id == response.data.productType; })[0].dictName;
  139. },1000)
  140. if (response.data.supplyDemand!=null){
  141. if (response.data.supplyDemand.supplyMasterMap){
  142. var attachement = response.data.supplyDemand.supplyMasterMap.split( "," );
  143. response.data.supplyDemand.supplyMasterMap = '/api' + attachement[0];
  144. }
  145. }
  146. this.supplyDemand = response.data;
  147. });
  148. },
  149. },
  150. }
  151. </script>
  152. <style scoped lang="scss">
  153. .home_wrapper{
  154. }
  155. /*头部*/
  156. .header{
  157. display: flex;
  158. align-items: center;
  159. justify-content: space-between;
  160. padding: 2vh 4% 0vh;
  161. }
  162. .search{
  163. display: flex;
  164. justify-content: space-between;
  165. align-items: center;
  166. border: 1px solid #6E93F3;
  167. padding: 1PX 1PX 1PX 12PX ;
  168. border-radius: 50PX;
  169. margin-right: 30PX;
  170. flex: 1;
  171. input{
  172. flex: 1;
  173. background: transparent;
  174. margin-left: 10PX;
  175. }
  176. }
  177. /*导航栏目*/
  178. .nav{
  179. width: 94%;
  180. margin: 0 auto;
  181. margin-top: 2vh;
  182. padding: 1.5vh 3%;
  183. background: #ffffff;
  184. border-radius: 10PX;
  185. box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);
  186. .date{
  187. display: flex;
  188. justify-content: space-around;
  189. align-items: center;
  190. p{
  191. border-radius: 1rem;
  192. padding: 5PX 0PX 5PX 5%;
  193. width: 40%;
  194. text-align: center;
  195. color: #334281;
  196. box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);
  197. background:#D6D9E6 url("../../../../static/images/agriculturalTrusteeship/socialization/socialization_icon_date.png") 20% center no-repeat;
  198. }
  199. }
  200. .billCount {
  201. display: flex;
  202. text-align: center;
  203. margin-top: 3vh;
  204. .billCount_left{
  205. width: 50%;
  206. color: #1B5DEA;
  207. p{
  208. &:nth-child(1){
  209. font-size: .45rem;
  210. }
  211. }
  212. }
  213. .billCount_right{
  214. width: 50%;
  215. color: #FF5E00;
  216. p{
  217. &:nth-child(1){
  218. font-size: .45rem;
  219. }
  220. }
  221. }
  222. }
  223. }
  224. /*内容*/
  225. .main{
  226. width: 94%;
  227. margin: 0 auto;
  228. padding-bottom: 15vh;
  229. .main_content_right_list{
  230. margin-top: 2vh;
  231. padding: 1.5vh 3%;
  232. background: #ffffff;
  233. border-radius: 10PX;
  234. /*box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);*/
  235. /deep/ .van-cell{
  236. padding: 0;
  237. margin-top: 10PX;
  238. }
  239. .main_content_right_list_header{
  240. display: flex;
  241. margin-bottom: 1vh;
  242. align-items: center;
  243. p{
  244. padding: 3PX 10PX;
  245. border-radius: 8PX;
  246. &:nth-child(2){background: #2B7EEC;color: #ffffff;margin-left: auto;}
  247. &:nth-child(3){background: #E2E9FD;color: #497CE8;margin-left: 10PX;}
  248. }
  249. .on{
  250. color: #334281;
  251. border-radius: initial;
  252. padding:0 0 0 20PX;
  253. font-size: 0.35rem;
  254. background: url("../../../../static/images/agriculturalTrusteeship/socialization/bill_icon_01.png") no-repeat left center
  255. }
  256. .off{
  257. color: #E60505;
  258. border-radius: initial;
  259. margin-left: auto;
  260. padding:0 0 0 15PX;
  261. background: url("../../../../static/images/agriculturalTrusteeship/socialization/socialization_icon_off.png") no-repeat left center
  262. }
  263. }
  264. .main_content_right_list_center{
  265. display: flex;
  266. img{
  267. border-radius: 15PX;
  268. margin-right: 4%;
  269. }
  270. .main_content_right_list_content{
  271. display: flex;
  272. flex-direction:column;
  273. justify-content: space-between;
  274. .tt{
  275. color: #333333;
  276. font-size: .35rem;
  277. }
  278. .tab{
  279. display: flex;
  280. justify-content: space-between;
  281. p{
  282. &:nth-child(1){
  283. flex: 1;
  284. color: #FF5E00;
  285. span{
  286. font-size: .4rem;
  287. }
  288. }
  289. &:nth-child(2){
  290. span{
  291. display: inline-block;
  292. text-align: center;
  293. padding: 2PX 5PX;
  294. &:nth-child(1){
  295. color: #497CE8;
  296. background: #E2E9FD;
  297. border-top-left-radius: 10PX;
  298. }
  299. &:nth-child(2){
  300. color: #ffffff;
  301. background-image: linear-gradient(to right , #5D87FA , #5FD5F5);
  302. border-bottom-right-radius: 10PX;
  303. }
  304. }
  305. }
  306. }
  307. }
  308. .name{
  309. color: #7A7A7A;
  310. span{
  311. &:nth-child(2){
  312. margin-left: 5PX;
  313. }
  314. }
  315. }
  316. }
  317. }
  318. }
  319. }
  320. /*弹出层*/
  321. .popup_header{
  322. display: flex;
  323. align-items: center;
  324. color: #334281;
  325. font-size: .38rem;
  326. margin-bottom: 15PX;
  327. img{
  328. margin-right: 10PX;
  329. display: block;
  330. }
  331. p{
  332. line-height: 1;
  333. }
  334. }
  335. .popup_content{
  336. .selected{
  337. .on{
  338. font-size: .35rem;
  339. padding: 10PX 20PX;
  340. color: #334281;
  341. background: url("../../../../static/images/agriculturalTrusteeship/socialization/down.png")left center no-repeat;
  342. }
  343. .off{
  344. font-size: .35rem;
  345. padding: 10PX 20PX;
  346. color: #334281;
  347. background: url("../../../../static/images/agriculturalTrusteeship/socialization/right.png")left center no-repeat;
  348. }
  349. .options{
  350. display: flex;
  351. justify-content: space-between;
  352. flex-wrap: wrap;
  353. p{
  354. background: #F5F5F5;
  355. color: #8F8F8F;
  356. width: 30%;
  357. padding: 5PX 0;
  358. border-radius: 5PX;
  359. text-align: center;
  360. &.active{
  361. background: #E2E9FD;
  362. color: #1B5DEA;
  363. }
  364. }
  365. }
  366. }
  367. }
  368. .popup_date{
  369. display: flex;
  370. justify-content: space-around;
  371. align-items: center;
  372. p{
  373. border-radius: 1rem;
  374. padding: 5PX 0PX 5PX 5%;
  375. width: 45%;
  376. text-align: center;
  377. color: #1B5DEA;
  378. background:#E2E9FD url("../../../../static/images/agriculturalTrusteeship/socialization/socialization_icon_date.png") 15% center no-repeat;
  379. }
  380. }
  381. .popup_btn{
  382. position: fixed;
  383. bottom: 5vh;
  384. display: flex;
  385. align-items: center;
  386. justify-content: space-between;
  387. width: 94%;
  388. left: 3%;
  389. p{
  390. width: 30%;
  391. padding: 7PX 0;
  392. border-radius: 5rem;
  393. text-align: center;
  394. font-size: .35rem;
  395. box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);
  396. &:nth-child(1){
  397. background: #1B5DEA;
  398. color: #ffffff;
  399. }
  400. &:nth-child(2){
  401. border: 1PX solid #1B5DEA;
  402. color: #1B5DEA;
  403. }
  404. &:nth-child(3){
  405. background-image: linear-gradient(to right , #6E93F3 , #54C6E4);
  406. color: #ffffff;
  407. }
  408. }
  409. }
  410. .main_btn{
  411. display: flex;
  412. justify-content: space-around;
  413. padding: 4vh 0;
  414. p{
  415. font-size: .4rem;
  416. width: 35%;
  417. text-align: center;
  418. padding: 10PX 0;
  419. border-radius: 5rem;
  420. box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);
  421. &:nth-child(1){
  422. background: #334281;
  423. color: #ffffff;
  424. }
  425. &:nth-child(2){
  426. background: #D1D5E4;
  427. color: #334281;
  428. }
  429. }
  430. }
  431. .footer{
  432. display: flex;
  433. justify-content: space-between;
  434. align-items: center;
  435. background: #ffffff;
  436. position: fixed;
  437. bottom: 0;
  438. padding: 1vh 4%;
  439. width: 100%;
  440. p{
  441. color: #989898;
  442. background: #F2F2F2;
  443. padding: 5PX 10PX;
  444. text-align: center;
  445. border-radius: 8PX;
  446. }
  447. }
  448. </style>