quality_testing.vue 23 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001
  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' @click.stop='edit(item,1)' v-hasPermission="'acquisitionQuality.again'" 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>
  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-hasPermission="'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. quality_testing(item){
  239. uni.navigateTo({
  240. url:'/pages/erpbusiness/out_quality_testing?id='+item.id+'&managementType='+this.managementType+'&cangid='+this.cangid
  241. })
  242. },
  243. examine(item){
  244. uni.navigateTo({
  245. url:'/pages/erpbusiness/examine_quality_testing?id='+item.id+'&managementType='+this.managementType+'&cangid='+this.cangid
  246. })
  247. },
  248. emptysearch(){
  249. this.searchKeyWord=''
  250. this.gridList=[]
  251. this.currentPage=1
  252. this.getList(true)
  253. },
  254. doSearch(){
  255. this.gridList=[]
  256. this.currentPage=1
  257. this.getList(true)
  258. },
  259. warehousechange(e){
  260. this.warehouseName=this.selector[e[0]].warehouseName
  261. this.cangid=this.selector[e[0]].id
  262. uni.setStorageSync("cangid",this.cangid)
  263. this.warehouseCount = this.selector[e[0]].count
  264. this.commonWarehouseNo=this.selector[e[0]].commonWarehouseNo
  265. // uni.setStorageSync('purchasePriceList',this.selector[e[0]].purchasePriceList)
  266. this.getList(true)
  267. console.log(e)
  268. },
  269. getList(flag){
  270. var that = this
  271. uni.showLoading({
  272. title:"正在加载"
  273. })
  274. this.$api.doRequest('get', 'qualityInspectionManagement/selectQualityInspection',{
  275. pageSize: this.pageSize,
  276. currentPage: this.currentPage,
  277. searchKeyWord: this.searchKeyWord,
  278. searchType: this.searchType,
  279. managementType:this.managementType,
  280. warehouseName: this.warehouseName,
  281. compId:'',
  282. // pcFlag:1
  283. }).then(res => {
  284. uni.hideLoading()
  285. if(res.data.data){
  286. let data = res.data.data.records
  287. //采购信息
  288. if (data.length > 0) {
  289. if(flag){
  290. that.gridList = data
  291. }
  292. else{
  293. that.gridList = that.gridList.concat(data)
  294. }
  295. }else{
  296. if(this.currentPage==1){
  297. that.gridList=[]
  298. }
  299. this.isContent=true
  300. }
  301. }
  302. // console.log(that.gridList)
  303. })
  304. .catch(res => {
  305. uni.showToast({
  306. title: '系统异常,请联系管理员',
  307. icon: 'none',
  308. duration: 2000
  309. })
  310. uni.hideLoading()
  311. })
  312. },
  313. edit(item,status){
  314. uni.navigateTo({
  315. url:'/pages/erpbusiness/edit_quality_testing?id='+item.id+'&managementType='+this.managementType+'&cangid='+this.cangid+'&flag='+status
  316. })
  317. },
  318. add(){
  319. uni.navigateTo({
  320. url:'/pages/erpbusiness/add_quality_testing?managementType='+this.managementType+'&cangid='+this.cangid+'&warehouseCount='+this.warehouseCount+'&commonWarehouseNo='+this.commonWarehouseNo+'&warehouseName='+this.warehouseName
  321. })
  322. },
  323. del(item){
  324. var that=this
  325. uni.showModal({
  326. content: "是否删除该质检信息?",
  327. showCancel: true,
  328. confirmText: '删除',
  329. success: function(res) {
  330. if (res.confirm) {
  331. that.$api.doRequest('post', '/qualityInspectionManagement/api/deleteQualityInspection',{
  332. id:item.id
  333. }).then(res => {
  334. if(res.data.code==200){
  335. that.$api.msg('删除成功')
  336. that.gridList=[]
  337. that.getList()
  338. }else{
  339. that.$api.msg('系统异常,请联系管理员')
  340. }
  341. })
  342. }
  343. }
  344. })
  345. },
  346. fankui(){
  347. uni.navigateTo({
  348. url: `/pages/user/fankui`
  349. })
  350. },
  351. zhibo() {
  352. uni.navigateTo({
  353. url: `/pageB/video/broadcast`
  354. })
  355. },
  356. look() {
  357. uni.navigateTo({
  358. url: `/pageB/video/look`
  359. })
  360. },
  361. contactUs() {
  362. const that = this
  363. uni.makePhoneCall({
  364. // 手机号
  365. phoneNumber: '18241771147',
  366. // 成功回调
  367. success: (res) => {},
  368. // 失败回调
  369. fail: (res) => {}
  370. });
  371. },
  372. loadData() {
  373. // const that = this
  374. // if(uni.getStorageSync("PageCur")){
  375. // that.PageCur = uni.getStorageSync("PageCur");
  376. // }
  377. // that.userInfoTmp = uni.getStorageSync("userInfo")
  378. // uni.showLoading({
  379. // title: '正在加载',
  380. // mask:true
  381. // })
  382. // that.$api.request('integral', 'getIndexData', failres => {
  383. // that.$api.msg(failres.errmsg)
  384. // uni.hideLoading()
  385. // }).then(res => {
  386. // let data = res.data
  387. // uni.setStorageSync("message", data.message);
  388. // uni.setStorageSync("task", data.task);
  389. // uni.setStorageSync("contract", data.contract);
  390. // uni.setStorageSync('showTran', data.showTran);
  391. // that.showTran = data.showTran
  392. // that.gridList[4].tips = data.task
  393. // that.gridList[2].tips = data.contract
  394. // that.companyId = data.companyId
  395. // uni.hideLoading()
  396. // })
  397. },
  398. confirm() {
  399. const that = this
  400. if (!that.inputContent) {
  401. that.$api.msg('输入不能为空')
  402. return
  403. }
  404. let obj = {}
  405. obj[that.feild] = that.inputContent
  406. that.$api.request('user', 'syncUserInfo', obj).then(res => {
  407. that.userInfo.nickname = that.inputContent
  408. that.inputContent = ''
  409. that.$store.commit('login', that.userInfo)
  410. })
  411. },
  412. cancel() {
  413. this.inputShow = false
  414. this.inputStatus = 'none'
  415. this.genderShow = false
  416. },
  417. navBack() {
  418. uni.navigateBack();
  419. },
  420. /**
  421. * 统一跳转接口,拦截未登录路由
  422. * navigator标签现在默认没有转场动画,所以用view
  423. */
  424. navTo(url) {
  425. if (!this.hasLogin) {
  426. url = '/pages/public/login';
  427. }
  428. uni.navigateTo({
  429. url
  430. })
  431. },
  432. scanCode() {
  433. uni.scanCode({
  434. success: function(res) {
  435. uni.navigateTo({
  436. url: res.result
  437. })
  438. }
  439. })
  440. },
  441. hideModal(e) {
  442. this.modalName = null
  443. },
  444. }
  445. }
  446. </script>
  447. <style scoped lang='scss' >
  448. page{
  449. background:#F5F6FA;
  450. margin-bottom:160rpx;
  451. }
  452. .container {
  453. padding-top: 85px;
  454. padding-top: 35px;
  455. background-color: #F5F6FA;
  456. position: relative;
  457. width: 100vw;
  458. height: 100vh;
  459. overflow: hidden;
  460. background: url('~@/static/img/login/bg_slices/bg@3x.png');
  461. background-size: 100% 100%;
  462. margin: 0 auto;
  463. }
  464. .item-style {
  465. background: white;
  466. margin: 20rpx;
  467. padding: 20rpx;
  468. .row1 {
  469. display: flex;
  470. align-items: center;
  471. justify-content: space-between;
  472. .row1-left {
  473. display: flex;
  474. justify-content: flex-start;
  475. align-items: center;
  476. .left {
  477. margin-right: 20rpx;
  478. }
  479. .top-title {
  480. font-size: 32rpx;
  481. font-weight: 600;
  482. color: #333333;
  483. }
  484. .bottom {
  485. color: #878C9C;
  486. }
  487. .right {
  488. font-size: 28rpx;
  489. font-weight: 600;
  490. color: #333333;
  491. }
  492. }
  493. }
  494. .row2 {
  495. display: flex;
  496. background: #F9F9FA;
  497. border-radius: 10rpx;
  498. padding: 10rpx 0;
  499. justify-content: space-around;
  500. margin: 20rpx;
  501. color: #878C9C;
  502. align-items: center;
  503. }
  504. .row3 {
  505. display: flex;
  506. margin-top: 30rpx;
  507. .row3-item {
  508. display: flex;
  509. margin-right: 40rpx;
  510. .left {
  511. background: #22C572;
  512. border-radius: 10rpx;
  513. padding: 2rpx 10rpx;
  514. box-sizing: border-box;
  515. color: white;
  516. font-size: 12px;
  517. margin-right: 15rpx;
  518. }
  519. }
  520. }
  521. .row4 {
  522. display: flex;
  523. justify-content: flex-end;
  524. margin-top: 10px;
  525. .right {
  526. border: 1px solid #CDCDCD;
  527. border-radius: 45rpx;
  528. padding: 10rpx 30rpx;
  529. margin-left: 20rpx;
  530. }
  531. }
  532. }
  533. .cu-tag.badge {
  534. right: 26rpx;
  535. }
  536. .path {
  537. color: #007aff;
  538. display: inline-block;
  539. text-align: center;
  540. }
  541. .icon {
  542. margin-right: 10rpx;
  543. }
  544. .portrait-box {
  545. margin-top: 20rpx;
  546. }
  547. .qr-wrap {
  548. margin-top: 20upx;
  549. color: #fff;
  550. font-size: 32rpx;
  551. }
  552. @keyframes move_wave {
  553. 0% {
  554. transform: translateX(0) translateZ(0) scaleY(1)
  555. }
  556. 50% {
  557. transform: translateX(-25%) translateZ(0) scaleY(0.55)
  558. }
  559. 100% {
  560. transform: translateX(-50%) translateZ(0) scaleY(1)
  561. }
  562. }
  563. .bg {
  564. position: relative;
  565. height: 300rpx;
  566. /* background: linear-gradient(to bottom, #56ccf2, #2f80ed); */
  567. /*background: linear-gradient(to bottom, #0be9fe, #4bb0fe); */
  568. background: linear-gradient(to bottom, #d5f8ff, #56ccf2);
  569. }
  570. .bg_ware {
  571. position: absolute;
  572. left: 0;
  573. bottom: -2rpx;
  574. width: 100%;
  575. mix-blend-mode: screen;
  576. height: 224rpx;
  577. }
  578. %flex-center {
  579. display: flex;
  580. flex-direction: column;
  581. justify-content: center;
  582. align-items: center;
  583. }
  584. %section {
  585. display: flex;
  586. justify-content: space-around;
  587. align-content: center;
  588. background: #fff;
  589. border-radius: 10upx;
  590. }
  591. .cuIcon {
  592. position: absolute;
  593. right: 80px;
  594. }
  595. .grid-item-box {
  596. flex: 1;
  597. /* position: relative;
  598. */
  599. /* #ifndef APP-NVUE */
  600. display: flex;
  601. /* #endif */
  602. flex-direction: column;
  603. align-items: center;
  604. justify-content: center;
  605. padding: 15px 0;
  606. }
  607. .image {
  608. width: 80rpx;
  609. height: 80rpx;
  610. }
  611. .text {
  612. font-size: 26rpx;
  613. margin-top: 10rpx;
  614. }
  615. .user-section {
  616. height: 520upx;
  617. padding: 100upx 30upx 0;
  618. position: relative;
  619. .bg {
  620. position: absolute;
  621. left: 0;
  622. top: 0;
  623. width: 100%;
  624. height: 100%;
  625. filter: blur(1px);
  626. box-shadow: 0px 1px 8px #ccc;
  627. /* background:linear-gradient(#0eb0c9,#126bae); */
  628. /* opacity: .7; */
  629. }
  630. }
  631. .cover-container {
  632. padding: 1px 10px ;
  633. padding-bottom: 200upx;
  634. /* background-color: #F5F6FA; */
  635. /* border-radius: 20px; */
  636. margin-top: 60upx;
  637. .arc {
  638. position: absolute;
  639. left: 0;
  640. top: -34upx;
  641. width: 100%;
  642. height: 36upx;
  643. }
  644. }
  645. .tj-sction {
  646. @extend %section;
  647. .tj-item {
  648. @extend %flex-center;
  649. flex-direction: column;
  650. height: 140upx;
  651. font-size: $font-sm;
  652. color: #75787d;
  653. }
  654. .num {
  655. font-size: $font-lg;
  656. color: $font-color-dark;
  657. margin-bottom: 8upx;
  658. }
  659. }
  660. .order-section {
  661. @extend %section;
  662. padding: 28upx 0;
  663. margin-top: 20upx;
  664. .order-item {
  665. @extend %flex-center;
  666. width: 120upx;
  667. height: 120upx;
  668. border-radius: 10upx;
  669. font-size: $font-sm;
  670. color: $font-color-dark;
  671. }
  672. .yticon {
  673. font-size: 48upx;
  674. margin-bottom: 18upx;
  675. color: #fa436a;
  676. }
  677. .icon-shouhoutuikuan {
  678. font-size: 44upx;
  679. }
  680. }
  681. .history-section {
  682. padding: 30upx 0 0;
  683. margin-top: 20upx;
  684. background: #fff;
  685. border-radius: 10upx;
  686. .sec-header {
  687. display: flex;
  688. align-items: center;
  689. font-size: $font-base;
  690. color: $font-color-dark;
  691. line-height: 40upx;
  692. margin-left: 30upx;
  693. .yticon {
  694. font-size: 44upx;
  695. color: #5eba8f;
  696. margin-right: 16upx;
  697. line-height: 40upx;
  698. }
  699. }
  700. .h-list {
  701. white-space: nowrap;
  702. padding: 30upx 30upx 0;
  703. image {
  704. display: inline-block;
  705. width: 160upx;
  706. height: 160upx;
  707. margin-right: 20upx;
  708. border-radius: 10upx;
  709. }
  710. }
  711. }
  712. .search-form {
  713. background: #F5F6F9;
  714. }
  715. .search-box {
  716. width: 100%;
  717. background-color: rgb(242, 242, 242);
  718. padding: 15upx 2.5%;
  719. display: flex;
  720. justify-content: space-between;
  721. }
  722. .search-box .mSearch-input-box {
  723. width: 100%;
  724. }
  725. .search-box .input-box {
  726. width: 85%;
  727. flex-shrink: 1;
  728. display: flex;
  729. justify-content: center;
  730. align-items: center;
  731. }
  732. .search-box .search-btn {
  733. width: 15%;
  734. margin: 0 0 0 2%;
  735. display: flex;
  736. justify-content: center;
  737. align-items: center;
  738. flex-shrink: 0;
  739. font-size: 28upx;
  740. color: #fff;
  741. background: linear-gradient(to right, #ff9801, #ff570a);
  742. border-radius: 60upx;
  743. }
  744. .search-box .input-box>input {
  745. width: 100%;
  746. height: 60upx;
  747. font-size: 32upx;
  748. border: 0;
  749. border-radius: 60upx;
  750. -webkit-appearance: none;
  751. -moz-appearance: none;
  752. appearance: none;
  753. padding: 0 3%;
  754. margin: 0;
  755. background-color: #ffffff;
  756. }
  757. .placeholder-class {
  758. color: #9e9e9e;
  759. }
  760. .search-keyword {
  761. width: 100%;
  762. background-color: rgb(242, 242, 242);
  763. }
  764. .grid {
  765. display: flex;
  766. align-items: center;
  767. flex-wrap: wrap;
  768. /* border-top: 2upx solid rgba(172,172,172,.2); */
  769. .grid-item-3 {
  770. box-sizing: border-box;
  771. width: calc(100% / 3);
  772. border-bottom: 2upx solid rgba(172, 172, 172, .2);
  773. border-right: 2upx solid rgba(172, 172, 172, .2);
  774. text-align: center;
  775. padding: 40upx 0;
  776. position: relative;
  777. /* view{
  778. font-size: $font-sm;
  779. margin-top: 16upx;
  780. color: $font-color-dark;
  781. } */
  782. .grid_icon {
  783. font-size: 48upx;
  784. margin-bottom: 18upx;
  785. color: #fa436a;
  786. }
  787. .tip_text {
  788. display: block;
  789. padding: 4upx 8upx;
  790. text-align: center;
  791. border-radius: 36upx;
  792. font-size: 24upx;
  793. background-color: #fa436a;
  794. color: rgba(255, 255, 255, 1);
  795. position: absolute;
  796. right: 6upx;
  797. top: 6upx;
  798. }
  799. }
  800. .grid-item-3:nth-child(3n + 3),
  801. .grid-item-4:nth-child(4n + 4) {
  802. border-right: none;
  803. }
  804. }
  805. .headPortrait {
  806. width: 75px;
  807. height: 75px;
  808. border-radius: 40px;
  809. border: 2px solid #ffffff;
  810. }
  811. .information {
  812. font-size: 15px;
  813. font-weight: 600;
  814. height: 36px;
  815. }
  816. .cu-list>.cu-item:after{
  817. border:none;
  818. }
  819. .back-btn {
  820. position: fixed;
  821. left: 40upx;
  822. z-index: 9999;
  823. padding-top: var(--status-bar-height);
  824. top: 30upx;
  825. font-size: 36upx;
  826. color: $font-color-dark;
  827. }
  828. .navbar{
  829. height:50px;
  830. }
  831. .header-content {
  832. position: fixed;
  833. left: 50%;
  834. transform: translateX(-50%);
  835. z-index: 9999;
  836. padding-top: var(--status-bar-height);
  837. top: 30upx;
  838. font-size: 36upx;
  839. color: $font-color-dark;
  840. }
  841. .sign{
  842. width: 40px;
  843. height: 40px;
  844. top: 4px;
  845. margin-right: 6px;
  846. }
  847. .indexUp{
  848. padding:0 20px;
  849. align-items: center;
  850. }
  851. .wrap{
  852. background:#fff;
  853. margin:10px;
  854. border-radius:10px;
  855. padding:10px;
  856. }
  857. .qualityNo{
  858. font-size:16px;
  859. }
  860. .type{
  861. font-size:12px;
  862. color:#fff;
  863. padding:3px 5px;
  864. border-radius:50%;
  865. line-height:16px;
  866. }
  867. .type-zhi{
  868. background:#22C572;
  869. }
  870. .type-mao{
  871. background:#3296FA;
  872. }
  873. .type-pi{
  874. background:#FD714F;
  875. }
  876. .time{
  877. font-size:12px;
  878. color:#878C9C;
  879. }
  880. .qualityInspector{
  881. font-size:14px;
  882. }
  883. .customerinformation{
  884. background:#F9F9FA;
  885. padding:7px;
  886. margin:20px 0;
  887. border-radius:10px;
  888. color:#9698A2;
  889. }
  890. .buttons{
  891. flex-direction:row-reverse;
  892. }
  893. .button{
  894. padding:13rpx 30rpx;
  895. border:1px solid #CDCDCD;
  896. border-radius:15px;
  897. margin:0 10px;
  898. }
  899. .changewarehouse{
  900. padding:10px 20px;
  901. }
  902. .header{
  903. background:#fff;
  904. margin-top:60px;
  905. border-radius:0px 0px 16px 16px;
  906. }
  907. .footer{
  908. background:#fff;
  909. position:fixed;
  910. bottom:0;
  911. width:100%;
  912. padding:20px 10px;
  913. z-index:10;
  914. .button{
  915. background:#22C572;
  916. width:90%;
  917. margin:0 auto;
  918. padding:10px;
  919. color:#fff;
  920. text-align:center;
  921. border-radius: 30px;
  922. }
  923. }
  924. .status1,.status2,.status3{
  925. padding: 8rpx 12rpx;
  926. border-radius: 50%;
  927. color: white;
  928. }
  929. .status1{
  930. background: #FD714F;
  931. }
  932. .status2{
  933. background: #22C572;
  934. }
  935. .status3{
  936. background: #3296FA;
  937. }
  938. </style>