customer.vue 25 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078
  1. <template>
  2. <view>
  3. <view class="header">
  4. <view style='background:#fff;display:flex;' class="cu-bar search">
  5. <view style='flex:6;' class="search-form round Medium">
  6. <text style='color: #ccc;text-indent:6px;' class="cuIcon-search"></text>
  7. <input @input='searchinput' type="text" maxlength="20" :focus="true" v-model="searchKeyWord"
  8. @confirm="doSearch(1)" placeholder=" 输入客户姓名、客户手机号或供应商姓名" confirm-type="search"></input>
  9. </view>
  10. <view @click='doSearch(1)' class="Regular" style="width:4%;flex:1;">搜索</view>
  11. <u-icon @click='emptysearch' class="cuIcon" v-if='searchKeyWord.length>0' size="34"
  12. name="close-circle-fill" color="#D6D9E0"></u-icon>
  13. <!-- <text @click='emptysearch' v-if='searchKeyWord.length>0' class='tip_text cuIcon-roundclosefill'></text> -->
  14. </view>
  15. </view>
  16. <view class="content">
  17. <!-- <view style='padding-left:20px;color:#AFB3BF;font-size:14px;' v-if='show==false'>近期客户</view> -->
  18. <view v-for='item in gridList'>
  19. <view v-if='searchKeyWord.length>0&&show==true' class='searchwrap' @click='checkcustomer(item)'>
  20. <view v-if="item.supplier"> {{item.customerName}}({{item.bankCard}})-{{item.supplier}} </view>
  21. <view v-else> {{item.customerName}}({{item.bankCard}}) </view>
  22. </view>
  23. </view>
  24. <!-- <view v-for='item in recentCustomers' style='display:inline-block;'>
  25. <view @click='recentcustomer(item)' class='wrap' v-if='show==false'>
  26. {{item.customerName}}({{item.bankCard}})
  27. </view>
  28. </view> -->
  29. </view>
  30. <view class="content content1">
  31. <view style='padding-left:20px;color:#AFB3BF;font-size:14px;' v-if='show==false'>登记客户</view>
  32. <!-- <view v-for='item in registeredCustomer'> -->
  33. <view class="dj-customer" v-for="(item,index) in registeredCustomer"
  34. @click="registeredCustomerClick(item,item1)">
  35. <view class="left">{{item.carNo}}</view>
  36. <view v-if='item.callFlag==1' class="right">
  37. <view class="span1">{{item.shipperName}}(自产)</view>
  38. <view class="">{{item.supplier}}(商)</view>
  39. </view>
  40. <view v-if='item.callFlag==2' class="right">
  41. <view class="span1">{{item.shipperName}}(贸易)</view>
  42. </view>
  43. </view>
  44. <!-- </view> -->
  45. </view>
  46. <view v-show="isContent">
  47. <uni-load-more :status="loadStatus"></uni-load-more>
  48. </view>
  49. </view>
  50. </template>
  51. <script>
  52. import dragButton from "@/components/drag-button/drag-button.vue";
  53. import {
  54. mapState
  55. } from 'vuex';
  56. let startY = 0,
  57. moveY = 0,
  58. pageAtTop = true;
  59. export default {
  60. components: {
  61. dragButton
  62. },
  63. data() {
  64. return {
  65. inputShow: false,
  66. modalName: '',
  67. mycarStyle: '',
  68. feild: undefined,
  69. params: {},
  70. selector: [],
  71. isContent: false,
  72. loadStatus: 'noMore',
  73. inputContent: '',
  74. coverTransform: 'translateY(0px)',
  75. coverTransition: '0s',
  76. moving: false,
  77. footprintList: [],
  78. searchKeyWord: '',
  79. isVip: false,
  80. userInfoTmp: [],
  81. inputStatus: 'none',
  82. carInfo: [],
  83. gridCol: 4,
  84. show: false,
  85. pageSize: 10,
  86. currentPage: 1,
  87. gridBorder: false,
  88. headUrl: "../../static/img/myimg/YongHu@3x.png",
  89. userphone: "",
  90. username: "请更改昵称",
  91. gridList: [],
  92. managementType: '',
  93. warehouseName: '',
  94. showTran: true,
  95. companyId: 1,
  96. current: 4,
  97. customerList: [],
  98. purchasePriceList: [],
  99. warehouseCount: '',
  100. commonWarehouseNo: '',
  101. cangid: '',
  102. recentCustomers: [],
  103. registeredCustomer: []
  104. }
  105. },
  106. computed: {
  107. ...mapState(['hasLogin', 'userInfo']),
  108. // 手机号中间4位加*
  109. starUserphone() {
  110. let reg = /^(\d{3})\d{4}(\d{4})$/;
  111. if (this.userphone) {
  112. return this.userphone.replace(reg, "$1****$2");
  113. }
  114. }
  115. },
  116. onLoad(options) {
  117. this.buyer=options.buyer
  118. this.cangid = options.cangid
  119. this.warehouseName = options.warehouseName
  120. this.goodsName = options.goodsName
  121. this.$api.doRequest('get', '/qualityInspectionManagement/api/goodsName', {
  122. warehouseId: this.cangid
  123. }).then(res => {
  124. if (res.data.data) {
  125. uni.setStorageSync('purchasePriceList', res.data.data)
  126. this.purchasePriceList = uni.getStorageSync('purchasePriceList')
  127. }
  128. })
  129. },
  130. onShow() {
  131. this.purchasePriceList = uni.getStorageSync('purchasePriceList')
  132. let _data = uni.getStorageSync('recentCustomers')
  133. if (_data) {
  134. this.recentCustomers = _data
  135. for (let i = 0; i < _data.length; i++) {
  136. if (_data[i].shipperName) {
  137. this.recentCustomers[i].customerName = _data[i].shipperName
  138. this.recentCustomers[i].customerPhone = _data[i].shipperPhone
  139. }
  140. }
  141. } else {
  142. this.recentCustomers = []
  143. }
  144. this.$api.doRequest('get', '/shippingInformation/selectShippingInformation', {
  145. warehouseName: this.warehouseName,
  146. compId: uni.getStorageSync('pcUserInfo').compId,
  147. }).then(res => {
  148. if (res.data.data) {
  149. let _endTime = Date.parse(new Date());
  150. let _startTime = ""
  151. for (let i = 0; i < res.data.data.length; i++) {
  152. _startTime = new Date((res.data.data[i].validityDate + ' 00:00:00')).getTime();
  153. if (_endTime - _startTime <= 0) {
  154. this.registeredCustomer.push(res.data.data[i])
  155. }
  156. // let _carList = res.data.data[i].shippingInformationList
  157. // for (let k = 0; k < _carList.length; k++) {
  158. // //判断是记录是否失效
  159. // _startTime = new Date((res.data.data[i].validityDate + ' 00:00:00')).getTime();
  160. // if (_endTime - _startTime <= 0) {
  161. // let _ecarList = _carList[k].carNo.split(',')
  162. // _carList[k].carList = _ecarList
  163. // this.registeredCustomer.push(_carList[k])
  164. // }
  165. // }
  166. }
  167. console.log(this.registeredCustomer)
  168. }
  169. })
  170. // this.$api.doRequest('get', '/searchRecordsInfo/selectSearchRecordsInfo', {
  171. // pageSize: this.pageSize,
  172. // currentPage: this.currentPage,
  173. // functionType: "3",
  174. // commonId: this.userInfo.id
  175. // }).then(res => {
  176. // if (res.data.data) {
  177. // this.gridList = res.data.data.records
  178. // console.log(this.gridList)
  179. // }
  180. // })
  181. // this.$api.doRequest('get', '/identityAuthenticationInfo/identityAuthenticationInfoCustomer', {
  182. // compId: uni.getStorageSync('pcUserInfo').compId,
  183. // authenticationStatusKey: 7,
  184. // searchKeyWord:''
  185. // }).then(res => {
  186. // if (res.data.data) {
  187. // this.customerList = res.data.data
  188. // }
  189. // })
  190. },
  191. methods: {
  192. searchinput(e) {
  193. if (this.searchKeyWord.length == 0) {
  194. this.show = false
  195. this.isContent=false
  196. this.getList()
  197. }
  198. },
  199. registeredCustomerClick(item, item1) {
  200. uni.setStorageSync('isClick', true)
  201. uni.setStorageSync('carNo', item1)
  202. uni.setStorageSync('checkcustomer', item)
  203. if (this.recentCustomers.length == 0) {
  204. this.recentCustomers.push(item)
  205. uni.setStorageSync('recentCustomers', this.recentCustomers)
  206. } else {
  207. let _copyList = this.$u.deepClone(this.recentCustomers)
  208. for (let i = 0; i < this.recentCustomers.length; i++) {
  209. if (this.recentCustomers[i].customerPhone != item.shipperPhone) {
  210. _copyList.push(item)
  211. uni.setStorageSync('recentCustomers', _copyList)
  212. }
  213. }
  214. }
  215. uni.navigateBack()
  216. },
  217. checkcustomer(item) {
  218. uni.setStorageSync('isClick', true)
  219. var that = this
  220. var count = ''
  221. if (item.authenticationStatus == '已认证') {
  222. // uni.showLoading({
  223. // title: '加载中'
  224. // })
  225. uni.setStorageSync('checkcustomer', item)
  226. if (this.recentCustomers.length == 0) {
  227. this.recentCustomers.push(item)
  228. uni.setStorageSync('recentCustomers', this.recentCustomers)
  229. } else {
  230. let _isDel = false
  231. for (let i = 0; i < this.recentCustomers.length; i++) {
  232. if (this.recentCustomers[i].customerPhone == item.customerPhone) {
  233. _isDel = true
  234. }
  235. }
  236. if (!_isDel) {
  237. let _data = uni.getStorageSync('recentCustomers')
  238. _data.push(item)
  239. uni.setStorageSync('recentCustomers', _data)
  240. }
  241. }
  242. // uni.hideLoading()
  243. uni.navigateBack()
  244. // that.$api.doRequest('post', '/searchRecordsInfo/api/addInfo', {
  245. // commonId: that.userInfo.id,
  246. // searchContent: item.customerName + '(' + item.customerPhone + ')',
  247. // functionType: 3
  248. // }).then(res => {
  249. // uni.setStorageSync('checkcustomer', item)
  250. // that.$api.doRequest('get', '/qualityInspectionManagement/api/settledCount', {
  251. // compId: '',
  252. // customerName: item.customerName,
  253. // goodsName: uni.getStorageSync('goodsName'),
  254. // }).then(res => {
  255. // if (res.data.code == 200) {
  256. // count = res.data.data
  257. // that.$api.doRequest('get', '/paymentManagement/cumulant', {
  258. // compId: '',
  259. // customerName: item.customerName,
  260. // goodsName: uni.getStorageSync('goodsName'),
  261. // }).then(res => {
  262. // for (let i = 0; i < that.purchasePriceList.length; i++) {
  263. // var data = res.data.data / 1000
  264. // if (that.purchasePriceList[i].goodsName == uni
  265. // .getStorageSync('goodsName')) {
  266. // if (that.purchasePriceList[i].saleLimit - data < 50 ||
  267. // count > 0) {
  268. // that.$api.msg(
  269. // `当前客户已累计销售我司${uni.getStorageSync('goodsName')}${data.toFixed(2)}吨,最高可售${that.purchasePriceList[i].saleLimit}吨。`
  270. // )
  271. // }
  272. // }
  273. // }
  274. // that.show = false
  275. // uni.hideLoading()
  276. // uni.navigateBack()
  277. // })
  278. // }
  279. // })
  280. // })
  281. // .catch(res => {
  282. // uni.showToast({
  283. // title: '系统异常,请联系管理员',
  284. // icon: 'none',
  285. // duration: 2000
  286. // })
  287. // uni.hideLoading()
  288. // })
  289. } else {
  290. this.$api.msg('客户身份不可用')
  291. }
  292. },
  293. recentcustomer(item) {
  294. uni.setStorageSync('isClick', true)
  295. uni.setStorageSync('checkcustomer', item)
  296. uni.navigateBack()
  297. // var count = ''
  298. // var that = this
  299. // var name = item.searchContent.split('(')[0]
  300. // var phone = item.searchContent.split('(')[1]
  301. // phone = phone.substring(0, phone.length - 1)
  302. // for (var i = 0; i < this.customerList.length; i++) {
  303. // // console.log(name,this.customerList[i].customerName,name==this.customerList[i].customerName)
  304. // if (this.customerList[i].customerPhone == phone) {
  305. // var tmpName = this.customerList[i].customerName
  306. // uni.setStorageSync('checkcustomer', this.customerList[i])
  307. // uni.showLoading({
  308. // title: '加载中'
  309. // })
  310. // that.$api.doRequest('post', '/searchRecordsInfo/api/addInfo', {
  311. // commonId: that.userInfo.id,
  312. // searchContent: this.customerList[i].customerName + '(' + this.customerList[i]
  313. // .customerPhone + ')',
  314. // functionType: 3
  315. // }).then(res => {
  316. // that.$api.doRequest('get', '/qualityInspectionManagement/api/settledCount', {
  317. // compId: '',
  318. // customerName: tmpName,
  319. // goodsName: uni.getStorageSync('goodsName'),
  320. // }).then(res => {
  321. // if (res.data.code == 200) {
  322. // count = res.data.data
  323. // that.$api.doRequest('get', '/paymentManagement/cumulant', {
  324. // compId: '',
  325. // customerName: tmpName,
  326. // goodsName: uni.getStorageSync('goodsName'),
  327. // }).then(res => {
  328. // for (let i = 0; i < that.purchasePriceList.length; i++) {
  329. // if (that.purchasePriceList[i].goodsName == uni
  330. // .getStorageSync('goodsName')) {
  331. // var data = res.data.data / 1000
  332. // if (that.purchasePriceList[i].saleLimit - data <
  333. // 50 || count > 0) {
  334. // that.$api.msg(
  335. // `当前客户已累计销售我司${uni.getStorageSync('goodsName')}${data.toFixed(2)}吨,最高可售${that.purchasePriceList[i].saleLimit}吨。`
  336. // )
  337. // }
  338. // }
  339. // }
  340. // that.show = false
  341. // uni.hideLoading()
  342. // uni.navigateBack()
  343. // })
  344. // }
  345. // })
  346. // })
  347. // .catch(res => {
  348. // uni.showToast({
  349. // title: '系统异常,请联系管理员',
  350. // icon: 'none',
  351. // duration: 2000
  352. // })
  353. // uni.hideLoading()
  354. // })
  355. // }
  356. // }
  357. },
  358. emptysearch() {
  359. this.show = false
  360. this.searchKeyWord = ''
  361. this.gridList = []
  362. this.currentPage = 1
  363. this.getList()
  364. },
  365. doSearch(status) {
  366. if(this.searchKeyWord.length == 0){
  367. this.$api.msg('请输入内容后再进行搜索')
  368. return
  369. }
  370. this.show = true
  371. this.gridList = []
  372. this.currentPage = 1
  373. uni.showLoading({
  374. title: '正在加载',
  375. mask: true
  376. })
  377. this.getList(status)
  378. },
  379. getList() {
  380. var that = this
  381. var url = ''
  382. var data = {}
  383. if (this.searchKeyWord.length > 0) {
  384. if(uni.getStorageSync('compName1').company=='黑龙江中天昊元贸易有限公司'){
  385. url = '/identityAuthenticationInfo/identityAuthenticationInfoCustomerNew'
  386. data = {
  387. warehouseId: that.cangid,
  388. goodsName: that.goodsName,
  389. searchKeyWord: this.searchKeyWord,
  390. buyer:this.buyer
  391. }
  392. }else{
  393. url = '/identityAuthenticationInfo/identityAuthenticationInfoCustomer'
  394. data = {
  395. warehouseId: that.cangid,
  396. goodsName: that.goodsName,
  397. searchKeyWord: this.searchKeyWord
  398. }
  399. }
  400. } else {
  401. url = '/searchRecordsInfo/selectSearchRecordsInfo'
  402. data = {
  403. pageSize: this.pageSize,
  404. currentPage: this.currentPage,
  405. functionType: "3",
  406. commonId: this.userInfo.id
  407. }
  408. }
  409. this.$api.doRequest('get', url, data).then(res => {
  410. if (res.data.data) {
  411. uni.hideLoading()
  412. let data = res.data.data.records ? res.data.data.records : res.data.data
  413. //采购信息
  414. if (data.length > 0) {
  415. that.gridList = data
  416. } else {
  417. if (this.currentPage == 1) {
  418. that.gridList = []
  419. }
  420. this.isContent = true
  421. }
  422. }
  423. })
  424. },
  425. edit(item) {
  426. uni.navigateTo({
  427. url: '/pages/erpbusiness/edit_quality_testing?id=' + item.id + '&managementType=' + this
  428. .managementType + '&cangid=' + this.cangid
  429. })
  430. },
  431. add() {
  432. uni.navigateTo({
  433. url: '/pages/erpbusiness/add_quality_testing?managementType=' + this.managementType +
  434. '&cangid=' + this.cangid + '&warehouseCount=' + this.warehouseCount +
  435. '&commonWarehouseNo=' + this.commonWarehouseNo + '&warehouseName=' + this.warehouseName
  436. })
  437. },
  438. del(item) {
  439. this.$api.doRequest('post', '/qualityInspectionManagement/api/deleteQualityInspection', {
  440. id: item.id
  441. }).then(res => {
  442. if (res.data.code == 200) {
  443. this.$api.msg('删除成功')
  444. this.gridList = []
  445. this.getList()
  446. } else {
  447. this.$api.msg('系统异常,请联系管理员')
  448. }
  449. })
  450. },
  451. fankui() {
  452. uni.navigateTo({
  453. url: `/pages/user/fankui`
  454. })
  455. },
  456. zhibo() {
  457. uni.navigateTo({
  458. url: `/pageB/video/broadcast`
  459. })
  460. },
  461. look() {
  462. uni.navigateTo({
  463. url: `/pageB/video/look`
  464. })
  465. },
  466. contactUs() {
  467. const that = this
  468. uni.makePhoneCall({
  469. // 手机号
  470. phoneNumber: '18241771147',
  471. // 成功回调
  472. success: (res) => {},
  473. // 失败回调
  474. fail: (res) => {}
  475. });
  476. },
  477. loadData() {
  478. // const that = this
  479. // if(uni.getStorageSync("PageCur")){
  480. // that.PageCur = uni.getStorageSync("PageCur");
  481. // }
  482. // that.userInfoTmp = uni.getStorageSync("userInfo")
  483. // uni.showLoading({
  484. // title: '正在加载',
  485. // mask:true
  486. // })
  487. // that.$api.request('integral', 'getIndexData', failres => {
  488. // that.$api.msg(failres.errmsg)
  489. // uni.hideLoading()
  490. // }).then(res => {
  491. // let data = res.data
  492. // uni.setStorageSync("message", data.message);
  493. // uni.setStorageSync("task", data.task);
  494. // uni.setStorageSync("contract", data.contract);
  495. // uni.setStorageSync('showTran', data.showTran);
  496. // that.showTran = data.showTran
  497. // that.gridList[4].tips = data.task
  498. // that.gridList[2].tips = data.contract
  499. // that.companyId = data.companyId
  500. // uni.hideLoading()
  501. // })
  502. },
  503. confirm() {
  504. const that = this
  505. if (!that.inputContent) {
  506. that.$api.msg('输入不能为空')
  507. return
  508. }
  509. let obj = {}
  510. obj[that.feild] = that.inputContent
  511. that.$api.request('user', 'syncUserInfo', obj).then(res => {
  512. that.userInfo.nickname = that.inputContent
  513. that.inputContent = ''
  514. that.$store.commit('login', that.userInfo)
  515. })
  516. },
  517. cancel() {
  518. this.inputShow = false
  519. this.inputStatus = 'none'
  520. this.genderShow = false
  521. },
  522. myAccount() {
  523. uni.navigateTo({
  524. url: `/pageA/pages/contract`
  525. })
  526. },
  527. /**
  528. * 统一跳转接口,拦截未登录路由
  529. * navigator标签现在默认没有转场动画,所以用view
  530. */
  531. navTo(url) {
  532. if (!this.hasLogin) {
  533. url = '/pages/public/login';
  534. }
  535. uni.navigateTo({
  536. url
  537. })
  538. },
  539. mycarClick(carNo) {
  540. this.modalName = null
  541. uni.navigateTo({
  542. url: `/pageB/car/mycar_detail?carNo=${carNo}`
  543. })
  544. },
  545. scanCode() {
  546. uni.scanCode({
  547. success: function(res) {
  548. uni.navigateTo({
  549. url: res.result
  550. })
  551. }
  552. })
  553. },
  554. hideModal(e) {
  555. this.modalName = null
  556. },
  557. }
  558. }
  559. </script>
  560. <style lang='scss' scoped>
  561. page {
  562. background: #F5F6FA;
  563. }
  564. .container {
  565. padding-top: 85px;
  566. padding-top: 35px;
  567. background-color: #F5F6FA;
  568. position: relative;
  569. width: 100vw;
  570. height: 100vh;
  571. overflow: hidden;
  572. background: url('~@/static/img/login/bg_slices/bg@3x.png');
  573. background-size: 100% 100%;
  574. margin: 0 auto;
  575. }
  576. .cu-tag.badge {
  577. right: 26rpx;
  578. }
  579. .path {
  580. color: #007aff;
  581. display: inline-block;
  582. text-align: center;
  583. }
  584. .icon {
  585. margin-right: 10rpx;
  586. }
  587. .portrait-box {
  588. margin-top: 20rpx;
  589. }
  590. .qr-wrap {
  591. margin-top: 20upx;
  592. color: #fff;
  593. font-size: 32rpx;
  594. }
  595. @keyframes move_wave {
  596. 0% {
  597. transform: translateX(0) translateZ(0) scaleY(1)
  598. }
  599. 50% {
  600. transform: translateX(-25%) translateZ(0) scaleY(0.55)
  601. }
  602. 100% {
  603. transform: translateX(-50%) translateZ(0) scaleY(1)
  604. }
  605. }
  606. .bg {
  607. position: relative;
  608. height: 300rpx;
  609. /* background: linear-gradient(to bottom, #56ccf2, #2f80ed); */
  610. /*background: linear-gradient(to bottom, #0be9fe, #4bb0fe); */
  611. background: linear-gradient(to bottom, #d5f8ff, #56ccf2);
  612. }
  613. .bg_ware {
  614. position: absolute;
  615. left: 0;
  616. bottom: -2rpx;
  617. width: 100%;
  618. mix-blend-mode: screen;
  619. height: 224rpx;
  620. }
  621. %flex-center {
  622. display: flex;
  623. flex-direction: column;
  624. justify-content: center;
  625. align-items: center;
  626. }
  627. %section {
  628. display: flex;
  629. justify-content: space-around;
  630. align-content: center;
  631. background: #fff;
  632. border-radius: 10upx;
  633. }
  634. .cuIcon {
  635. position: absolute;
  636. right: 80px;
  637. }
  638. .grid-item-box {
  639. flex: 1;
  640. /* position: relative;
  641. */
  642. /* #ifndef APP-NVUE */
  643. display: flex;
  644. /* #endif */
  645. flex-direction: column;
  646. align-items: center;
  647. justify-content: center;
  648. padding: 15px 0;
  649. }
  650. .image {
  651. width: 80rpx;
  652. height: 80rpx;
  653. }
  654. .text {
  655. font-size: 26rpx;
  656. margin-top: 10rpx;
  657. }
  658. .user-section {
  659. height: 520upx;
  660. padding: 100upx 30upx 0;
  661. position: relative;
  662. .bg {
  663. position: absolute;
  664. left: 0;
  665. top: 0;
  666. width: 100%;
  667. height: 100%;
  668. filter: blur(1px);
  669. box-shadow: 0px 1px 8px #ccc;
  670. /* background:linear-gradient(#0eb0c9,#126bae); */
  671. /* opacity: .7; */
  672. }
  673. }
  674. .cover-container {
  675. padding: 1px 10px;
  676. padding-bottom: 200upx;
  677. /* background-color: #F5F6FA; */
  678. /* border-radius: 20px; */
  679. margin-top: 60upx;
  680. .arc {
  681. position: absolute;
  682. left: 0;
  683. top: -34upx;
  684. width: 100%;
  685. height: 36upx;
  686. }
  687. }
  688. .tj-sction {
  689. @extend %section;
  690. .tj-item {
  691. @extend %flex-center;
  692. flex-direction: column;
  693. height: 140upx;
  694. font-size: $font-sm;
  695. color: #75787d;
  696. }
  697. .num {
  698. font-size: $font-lg;
  699. color: $font-color-dark;
  700. margin-bottom: 8upx;
  701. }
  702. }
  703. .order-section {
  704. @extend %section;
  705. padding: 28upx 0;
  706. margin-top: 20upx;
  707. .order-item {
  708. @extend %flex-center;
  709. width: 120upx;
  710. height: 120upx;
  711. border-radius: 10upx;
  712. font-size: $font-sm;
  713. color: $font-color-dark;
  714. }
  715. .yticon {
  716. font-size: 48upx;
  717. margin-bottom: 18upx;
  718. color: #fa436a;
  719. }
  720. .icon-shouhoutuikuan {
  721. font-size: 44upx;
  722. }
  723. }
  724. .history-section {
  725. padding: 30upx 0 0;
  726. margin-top: 20upx;
  727. background: #fff;
  728. border-radius: 10upx;
  729. .sec-header {
  730. display: flex;
  731. align-items: center;
  732. font-size: $font-base;
  733. color: $font-color-dark;
  734. line-height: 40upx;
  735. margin-left: 30upx;
  736. .yticon {
  737. font-size: 44upx;
  738. color: #5eba8f;
  739. margin-right: 16upx;
  740. line-height: 40upx;
  741. }
  742. }
  743. .h-list {
  744. white-space: nowrap;
  745. padding: 30upx 30upx 0;
  746. image {
  747. display: inline-block;
  748. width: 160upx;
  749. height: 160upx;
  750. margin-right: 20upx;
  751. border-radius: 10upx;
  752. }
  753. }
  754. }
  755. .search-form {
  756. background: #F5F6F9;
  757. }
  758. .search-box {
  759. width: 100%;
  760. background-color: rgb(242, 242, 242);
  761. padding: 15upx 2.5%;
  762. display: flex;
  763. justify-content: space-between;
  764. }
  765. .search-box .mSearch-input-box {
  766. width: 100%;
  767. }
  768. .search-box .input-box {
  769. width: 85%;
  770. flex-shrink: 1;
  771. display: flex;
  772. justify-content: center;
  773. align-items: center;
  774. }
  775. .search-box .search-btn {
  776. width: 15%;
  777. margin: 0 0 0 2%;
  778. display: flex;
  779. justify-content: center;
  780. align-items: center;
  781. flex-shrink: 0;
  782. font-size: 28upx;
  783. color: #fff;
  784. background: linear-gradient(to right, #ff9801, #ff570a);
  785. border-radius: 60upx;
  786. }
  787. .search-box .input-box>input {
  788. width: 100%;
  789. height: 60upx;
  790. font-size: 32upx;
  791. border: 0;
  792. border-radius: 60upx;
  793. -webkit-appearance: none;
  794. -moz-appearance: none;
  795. appearance: none;
  796. padding: 0 3%;
  797. margin: 0;
  798. background-color: #ffffff;
  799. }
  800. .placeholder-class {
  801. color: #9e9e9e;
  802. }
  803. .search-keyword {
  804. width: 100%;
  805. background-color: rgb(242, 242, 242);
  806. }
  807. .grid {
  808. display: flex;
  809. align-items: center;
  810. flex-wrap: wrap;
  811. /* border-top: 2upx solid rgba(172,172,172,.2); */
  812. .grid-item-3 {
  813. box-sizing: border-box;
  814. width: calc(100% / 3);
  815. border-bottom: 2upx solid rgba(172, 172, 172, .2);
  816. border-right: 2upx solid rgba(172, 172, 172, .2);
  817. text-align: center;
  818. padding: 40upx 0;
  819. position: relative;
  820. /* view{
  821. font-size: $font-sm;
  822. margin-top: 16upx;
  823. color: $font-color-dark;
  824. } */
  825. .grid_icon {
  826. font-size: 48upx;
  827. margin-bottom: 18upx;
  828. color: #fa436a;
  829. }
  830. .tip_text {
  831. display: block;
  832. padding: 4upx 8upx;
  833. text-align: center;
  834. border-radius: 36upx;
  835. font-size: 24upx;
  836. background-color: #fa436a;
  837. color: rgba(255, 255, 255, 1);
  838. position: absolute;
  839. right: 6upx;
  840. top: 6upx;
  841. }
  842. }
  843. .grid-item-3:nth-child(3n + 3),
  844. .grid-item-4:nth-child(4n + 4) {
  845. border-right: none;
  846. }
  847. }
  848. .headPortrait {
  849. width: 75px;
  850. height: 75px;
  851. border-radius: 40px;
  852. border: 2px solid #ffffff;
  853. }
  854. .information {
  855. font-size: 15px;
  856. font-weight: 600;
  857. height: 36px;
  858. }
  859. .cu-list>.cu-item:after {
  860. border: none;
  861. }
  862. .sign {
  863. width: 40px;
  864. height: 40px;
  865. top: 4px;
  866. margin-right: 6px;
  867. }
  868. .indexUp {
  869. padding: 0 20px;
  870. align-items: center;
  871. }
  872. .wrap {
  873. background: #F5F6F9;
  874. margin: 5px 10px;
  875. border-radius: 20px;
  876. width: 92%;
  877. display: inline-block;
  878. padding: 10px;
  879. }
  880. .searchwrap {
  881. border-top: 1px solid #eee;
  882. padding: 10px 20px;
  883. }
  884. .searchwrap:last-child {
  885. border-bottom: 1px solid #eee;
  886. }
  887. .qualityNo {
  888. font-size: 16px;
  889. }
  890. .type {
  891. font-size: 12px;
  892. color: #fff;
  893. padding: 3px 5px;
  894. border-radius: 50%;
  895. line-height: 16px;
  896. }
  897. .type-zhi {
  898. background: #22C572;
  899. }
  900. .type-mao {
  901. background: #3296FA;
  902. }
  903. .type-pi {
  904. background: #FD714F;
  905. }
  906. .time {
  907. font-size: 12px;
  908. color: #878C9C;
  909. }
  910. .qualityInspector {
  911. font-size: 14px;
  912. }
  913. .customerinformation {
  914. background: #F9F9FA;
  915. padding: 7px;
  916. margin: 20px 0;
  917. border-radius: 10px;
  918. color: #9698A2;
  919. }
  920. .buttons {
  921. flex-direction: row-reverse;
  922. }
  923. .button {
  924. padding: 13rpx 30rpx;
  925. border: 1px solid #CDCDCD;
  926. border-radius: 15px;
  927. margin: 0 10px;
  928. }
  929. .changewarehouse {
  930. padding: 10px 20px;
  931. }
  932. .header {
  933. background: #fff;
  934. border-radius: 0px 0px 16px 16px;
  935. }
  936. .content {
  937. background: #fff;
  938. /* height: 85.5vh; */
  939. }
  940. .footer {
  941. background: #fff;
  942. position: fixed;
  943. bottom: 0;
  944. width: 100%;
  945. padding: 20px 10px;
  946. z-index: 10;
  947. .button {
  948. background: #22C572;
  949. width: 90%;
  950. margin: 0 auto;
  951. padding: 10px;
  952. color: #fff;
  953. text-align: center;
  954. border-radius: 30px;
  955. }
  956. }
  957. .content1 {
  958. margin-top: 20rpx;
  959. padding: 20rpx 0;
  960. .row {
  961. display: flex;
  962. padding: 20rpx 30rpx;
  963. .row-item {
  964. margin-right: 20rpx;
  965. }
  966. }
  967. }
  968. .dj-customer {
  969. background: #F5F6F9;
  970. display: flex;
  971. width: 75%;
  972. justify-content: space-between;
  973. align-items: center;
  974. margin: 20rpx;
  975. border-radius: 30rpx;
  976. padding: 10rpx 20rpx;
  977. .right {
  978. display: flex;
  979. .span1 {
  980. margin-right: 20rpx;
  981. }
  982. }
  983. ;
  984. }
  985. </style>