quality_testing.vue 23 KB

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