quality_testing.vue 24 KB

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