From ea87c908fb6cdfc3e227a584a53e6730efb8262a Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 26 十月 2023 13:41:12 +0800 Subject: [PATCH] 小程序代码 --- minipro_standard/pages/plannedDistribution/plannedDistribution.vue | 22 minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue | 5 minipro_standard/manifest.json | 179 minipro_standard/pages/InOperation/InOperation.vue | 111 minipro_standard/pages_adjust/components/multipleMaterial.vue | 21 minipro_standard/pages_adjust/pages/newTransfer/newTransfer.vue | 53 minipro_standard/pages/index/index.vue | 244 + minipro_standard/pages/login/login.vue | 1 minipro_standard/components/LabelSelection.vue | 12 minipro_standard/components/static/yty-data-picker/yty-data-picker.png | 0 minipro_standard/pages.json | 37 minipro_standard/pages_adjust/pages/addReceipt/addReceipt.vue | 20 minipro_standard/util/request/index.js | 1 minipro_standard/components/myTabber.vue | 11 minipro_standard/pages/OutOperation/OutOperation.vue | 1588 ++++++------ minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue | 234 - minipro_standard/components/yty-data-picker/yty-data-picker.vue | 13 minipro_standard/components/Preview.vue | 38 minipro_standard/pages_adjust/pages/workOrder/workOrder.vue | 216 minipro_standard/store/index.js | 38 minipro_standard/main.js | 2 minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue | 558 --- minipro_standard/pages/workbench/workbench.vue | 3 minipro_standard/pages_adjust/pages/outboundList/outboundList.vue | 12 minipro_standard/pages_adjust/pages/warehousingDetails/warehousingDetails.vue | 8 minipro_standard/common/config.js | 14 minipro_standard/components/InOutInfo.vue | 6 minipro_standard/pages_adjust/pages/reportingForWork/reportingForWork.vue | 712 ++--- minipro_standard/common/css/iconfont.css | 2281 ++++++++++++++++++ /dev/null | 168 - minipro_standard/pages/mine/mine.vue | 13 minipro_standard/common/css/lib.css | 21 minipro_standard/pages_adjust/pages/spotCheck/spotCheck.vue | 168 minipro_standard/components/workOrderInfo.vue | 167 minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue | 21 minipro_standard/util/request/responseInterceptors.js | 6 minipro_standard/pages/plannedProgress/plannedProgress.vue | 16 minipro_standard/pages_inspect/pages/equipmentInspection/equipmentInspection.vue | 81 minipro_standard/uni.scss | 19 minipro_standard/components/Search.vue | 10 minipro_standard/pages/personal/personal.vue | 2 minipro_standard/pages/allocation/allocation.vue | 40 minipro_standard/components/SelectTraMultipleMaterial.vue | 21 minipro_standard/pages/changePassword/changePassword.vue | 14 minipro_standard/uni_modules/l-calendar/components/l-calendar/l-calendar.vue | 4 minipro_standard/pages_adjust/components/Warehouse.vue | 24 46 files changed, 4,283 insertions(+), 2,952 deletions(-) diff --git a/minipro_standard/common/config.js b/minipro_standard/common/config.js index 9e54f46..f20be30 100644 --- a/minipro_standard/common/config.js +++ b/minipro_standard/common/config.js @@ -1,12 +1,8 @@ -module.exports = { - // 娴嬭瘯 - baseUrl: 'https://dmtest.ahapp.net/doumeeplant_api', - // 浠诲悍 - // baseUrl: 'http://192.168.0.129:10021/', - // 缇氱緤 https://lingyang.mes.show:1801/doumeeplant/doc.html - // baseUrl: 'https://lingyang.mes.show:1801/doumeeplant', - // mes - // baseUrl: 'https://www.mes.red/doumeeplant', +module.exports = { + // baseUrl: 'http://106.14.20.42/test_hfznzz/', + // baseUrl: 'https://hefei.dtkey.cn/test_hfznzz/', + // baseUrl: 'http://192.168.0.18:10021', + baseUrl: 'https://www.mes.red/doumeeplant', phoneRegular: /^1[3456789]\d{9}$/, mailboxRegular: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, positiveInteger: /^[0-9]*[1-9][0-9]*$/, diff --git a/minipro_standard/common/css/iconfont.css b/minipro_standard/common/css/iconfont.css new file mode 100644 index 0000000..b5b42fa --- /dev/null +++ b/minipro_standard/common/css/iconfont.css @@ -0,0 +1,2281 @@ +@font-face { + font-family: "iconfont"; + src: url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2') +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.iconback:before { + content: "\e6ef"; +} + +.iconless:before { + content: "\e6f2"; +} + +.iconmoreunfold:before { + content: "\e6f4"; +} + +.iconmore1:before { + content: "\e6f5"; +} + +.iconkefufenxiermaikefu:before { + content: "\e88d"; +} + +.iconkefuerji:before { + content: "\e6f6"; +} + +.iconkefu2:before { + content: "\e6f7"; +} + +.icongouwuche2:before { + content: "\e6eb"; +} + +.icongouwuche6:before { + content: "\e6f0"; +} + +.iconqunfengyouhuiquan:before { + content: "\e7cc"; +} + +.iconqunfengzuji:before { + content: "\e7fd"; +} + +.iconhuo:before { + content: "\e6c8"; +} + +.icondingdan1:before { + content: "\e6ce"; +} + +.iconyouhuiquan-xuanzhong:before { + content: "\e6cf"; +} + +.icontubiaozhizuomoban:before { + content: "\e6d0"; +} + +.iconflag:before { + content: "\e7a6"; +} + +.iconguanggaotongji:before { + content: "\e954"; +} + +.iconxiadan:before { + content: "\e6d1"; +} + +.iconlijixiadan:before { + content: "\e6d2"; +} + +.iconkefu1:before { + content: "\e6dc"; +} + +.iconzhiding:before { + content: "\e6dd"; +} + +.icontuan:before { + content: "\e6df"; +} + +.icongouwuche1:before { + content: "\e6e0"; +} + +.iconyouhuiquan-sousuo:before { + content: "\e6e1"; +} + +.iconHOT-copy:before { + content: "\e88a"; +} + +.iconweixinzhifu3:before { + content: "\e6e2"; +} + +.iconsaoma11:before { + content: "\e6e6"; +} + +.iconloading1:before { + content: "\e891"; +} + +.icongouwuchex:before { + content: "\e6e7"; +} + +.icongouwuchetubiao:before { + content: "\e6e8"; +} + +.iconremen:before { + content: "\e8c9"; +} + +.icongouwuche4:before { + content: "\e6e9"; +} + +.icongouwuche5:before { + content: "\e6ea"; +} + +.iconyouhuiquan_xuanzhong:before { + content: "\e70a"; +} + +.iconchexiao1:before { + content: "\e6aa"; +} + +.iconcuowu:before { + content: "\e6ab"; +} + +.iconzhengque:before { + content: "\e6ad"; +} + +.iconsuoding:before { + content: "\e6ae"; +} + +.iconkaishi:before { + content: "\e6b1"; +} + +.iconwode1:before { + content: "\e6b3"; +} + +.icontianjia:before { + content: "\e6b5"; +} + +.iconguanzhu1:before { + content: "\e6b6"; +} + +.iconzhuyi:before { + content: "\e6ba"; +} + +.iconjine:before { + content: "\e6be"; +} + +.iconyiwen:before { + content: "\e6c1"; +} + +.iconzanting:before { + content: "\e6c4"; +} + +.iconsaoma1:before { + content: "\e6c6"; +} + +.iconfenlei1:before { + content: "\e6c7"; +} + +.iconicon_shakehands:before { + content: "\ebc7"; +} + +.iconicon_video:before { + content: "\ebc8"; +} + +.iconicon_task_done:before { + content: "\ebc9"; +} + +.iconicon_synergy:before { + content: "\ebca"; +} + +.iconicon_workfile_line:before { + content: "\ebcb"; +} + +.iconicon_addresslist_fil:before { + content: "\ebcc"; +} + +.iconicon_addressbook_fil:before { + content: "\ebcd"; +} + +.iconicon_calendar_fill:before { + content: "\ebce"; +} + +.iconicon_delete_fill:before { + content: "\ebcf"; +} + +.iconicon_doc_fill:before { + content: "\ebd0"; +} + +.iconicon_camera_fill:before { + content: "\ebd1"; +} + +.iconicon_certification_f:before { + content: "\ebd2"; +} + +.iconicon_likegood_fill:before { + content: "\ebd3"; +} + +.iconicon_gift_fill:before { + content: "\ebd4"; +} + +.iconicon_message_fill:before { + content: "\ebd5"; +} + +.iconicon_newapplication_:before { + content: "\ebd6"; +} + +.iconicon_people_fill:before { + content: "\ebd7"; +} + +.iconicon_photo_fill:before { + content: "\ebd8"; +} + +.iconicon_roundreduce_fil:before { + content: "\ebd9"; +} + +.iconicon_redpacket_fill:before { + content: "\ebda"; +} + +.iconicon_replieslist:before { + content: "\ebdb"; +} + +.iconicon_roundadd_fill:before { + content: "\ebdc"; +} + +.iconicon_study_fill:before { + content: "\ebdd"; +} + +.iconicon_setting_fill:before { + content: "\ebde"; +} + +.iconicon_shakehands_fill:before { + content: "\ebdf"; +} + +.iconicon_work_fill:before { + content: "\ebe0"; +} + +.iconicon_trashcan:before { + content: "\ebe1"; +} + +.iconicon_roundclose_fill:before { + content: "\ebe2"; +} + +.iconicon_add:before { + content: "\eb8f"; +} + +.iconicon_addmessage:before { + content: "\eb90"; +} + +.iconicon_addresslist:before { + content: "\eb91"; +} + +.iconicon_affiliations_li:before { + content: "\eb92"; +} + +.iconicon_addperson:before { + content: "\eb93"; +} + +.iconicon_boss:before { + content: "\eb94"; +} + +.iconicon_addressbook:before { + content: "\eb95"; +} + +.iconicon_calendar:before { + content: "\eb96"; +} + +.iconicon_attestation:before { + content: "\eb97"; +} + +.iconicon_camera:before { + content: "\eb98"; +} + +.iconicon_certificate_fil:before { + content: "\eb99"; +} + +.iconicon_coinpurse_line:before { + content: "\eb9a"; +} + +.iconicon_collect:before { + content: "\eb9b"; +} + +.iconicon_compile:before { + content: "\eb9c"; +} + +.iconicon_details:before { + content: "\eb9d"; +} + +.iconicon_community_line:before { + content: "\eb9e"; +} + +.iconicon_discovery:before { + content: "\eb9f"; +} + +.iconicon_delete:before { + content: "\eba0"; +} + +.iconicon_dispose:before { + content: "\eba1"; +} + +.iconicon_doc:before { + content: "\eba2"; +} + +.iconicon_gift:before { + content: "\eba3"; +} + +.iconicon_file:before { + content: "\eba4"; +} + +.iconicon_GPS:before { + content: "\eba5"; +} + +.iconicon_im_more:before { + content: "\eba6"; +} + +.iconicon_horn:before { + content: "\eba7"; +} + +.iconicon_im_face:before { + content: "\eba8"; +} + +.iconicon_invite:before { + content: "\eba9"; +} + +.iconicon_likegood:before { + content: "\ebaa"; +} + +.iconicon_index_line:before { + content: "\ebab"; +} + +.iconicon_link:before { + content: "\ebac"; +} + +.iconicon_mobilephone:before { + content: "\ebad"; +} + +.iconicon_dmail:before { + content: "\ebae"; +} + +.iconicon_message:before { + content: "\ebaf"; +} + +.iconicon_more:before { + content: "\ebb0"; +} + +.iconicon_notice:before { + content: "\ebb1"; +} + +.iconicon_photo:before { + content: "\ebb2"; +} + +.iconicon_medal:before { + content: "\ebb3"; +} + +.iconicon_roundclose:before { + content: "\ebb4"; +} + +.iconicon_roundreduce:before { + content: "\ebb5"; +} + +.iconicon_QRcode:before { + content: "\ebb6"; +} + +.iconicon_roundadd:before { + content: "\ebb7"; +} + +.iconicon_refresh:before { + content: "\ebb8"; +} + +.iconicon_search:before { + content: "\ebb9"; +} + +.iconicon_scan:before { + content: "\ebba"; +} + +.iconicon_secret:before { + content: "\ebbb"; +} + +.iconicon_share:before { + content: "\ebbc"; +} + +.iconicon_task:before { + content: "\ebbd"; +} + +.iconicon_threeline_fill:before { + content: "\ebbe"; +} + +.iconicon_study:before { + content: "\ebbf"; +} + +.iconicon_wechat:before { + content: "\ebc0"; +} + +.iconicon_sport:before { + content: "\ebc1"; +} + +.iconicon_work:before { + content: "\ebc2"; +} + +.iconicon_workmore:before { + content: "\ebc3"; +} + +.iconicon_safety:before { + content: "\ebc4"; +} + +.iconicon_workset:before { + content: "\ebc5"; +} + +.iconicon_shield:before { + content: "\ebc6"; +} + +.iconjiahao:before { + content: "\e72b"; +} + +.iconjiahao1:before { + content: "\e72c"; +} + +.iconjiahao2fill:before { + content: "\e72d"; +} + +.iconjianhao:before { + content: "\e72e"; +} + +.icontishifill:before { + content: "\e72f"; +} + +.icontishi:before { + content: "\e734"; +} + +.iconwenhaofill:before { + content: "\e737"; +} + +.iconwenhao:before { + content: "\e739"; +} + +.iconxuanze:before { + content: "\e73b"; +} + +.iconyuanxingweixuanzhong:before { + content: "\e73e"; +} + +.iconyuanxingxuanzhongfill:before { + content: "\e73f"; +} + +.iconyuanxingxuanzhong:before { + content: "\e742"; +} + +.iconbiaoxingfill:before { + content: "\e743"; +} + +.iconbiaoxing:before { + content: "\e744"; +} + +.iconchexiao:before { + content: "\e745"; +} + +.icondianpufill:before { + content: "\e746"; +} + +.icondianpu:before { + content: "\e747"; +} + +.icondingdan:before { + content: "\e748"; +} + +.iconfankui:before { + content: "\e749"; +} + +.iconfenxiang3:before { + content: "\e74b"; +} + +.icongengduo2:before { + content: "\e74c"; +} + +.icongonglve:before { + content: "\e74d"; +} + +.icongouwuchefill:before { + content: "\e74e"; +} + +.icongouwuche:before { + content: "\e754"; +} + +.icongouwudai:before { + content: "\e755"; +} + +.iconqiapianxingshi:before { + content: "\e756"; +} + +.iconkefufill:before { + content: "\e75a"; +} + +.iconkefu:before { + content: "\e75c"; +} + +.iconliebiaoxingshi:before { + content: "\e75e"; +} + +.iconliuyanfill:before { + content: "\e75f"; +} + +.iconliuyan:before { + content: "\e760"; +} + +.iconpengyoufill:before { + content: "\e761"; +} + +.iconpengyou:before { + content: "\e762"; +} + +.iconqingchu:before { + content: "\e764"; +} + +.iconquan:before { + content: "\e765"; +} + +.iconsaoma:before { + content: "\e766"; +} + +.iconshaixuan:before { + content: "\e769"; +} + +.iconshanchu:before { + content: "\e76a"; +} + +.iconshezhi:before { + content: "\e76b"; +} + +.iconshizhongfill:before { + content: "\e76c"; +} + +.iconshizhong:before { + content: "\e76d"; +} + +.iconshouyefill:before { + content: "\e76e"; +} + +.iconshouye:before { + content: "\e76f"; +} + +.iconsousuo1:before { + content: "\e770"; +} + +.iconsousuoleimufill:before { + content: "\e771"; +} + +.iconsousuoleimu:before { + content: "\e772"; +} + +.icontongzhifill:before { + content: "\e773"; +} + +.icontongzhi:before { + content: "\e774"; +} + +.icontuikuan:before { + content: "\e77a"; +} + +.iconwodefill:before { + content: "\e77b"; +} + +.iconwode:before { + content: "\e77e"; +} + +.iconxihuanfill:before { + content: "\e77f"; +} + +.iconxihuan:before { + content: "\e780"; +} + +.iconxinxifill:before { + content: "\e781"; +} + +.iconxinxi:before { + content: "\e782"; +} + +.iconzuji:before { + content: "\e783"; +} + +.iconzuobiaofill:before { + content: "\e784"; +} + +.iconzuobiao:before { + content: "\e785"; +} + +.icondibu:before { + content: "\e786"; +} + +.icondingbu:before { + content: "\e787"; +} + +.iconxiangshang1:before { + content: "\e788"; +} + +.iconxiangshang2:before { + content: "\e789"; +} + +.iconxiangshang3:before { + content: "\e78a"; +} + +.iconxiangshang5:before { + content: "\e78d"; +} + +.iconxiangxia1:before { + content: "\e78e"; +} + +.iconxiangxia2:before { + content: "\e78f"; +} + +.iconxiangxia3:before { + content: "\e790"; +} + +.iconxiangxia5:before { + content: "\e792"; +} + +.iconxiangyou2:before { + content: "\e793"; +} + +.iconxiangyou3fill:before { + content: "\e794"; +} + +.iconxiangyou3:before { + content: "\e795"; +} + +.iconxiangzuo1:before { + content: "\e796"; +} + +.iconxiangzuo2:before { + content: "\e797"; +} + +.iconxiangji1fill:before { + content: "\e798"; +} + +.iconxiangji1:before { + content: "\e799"; +} + +.iconjiazai:before { + content: "\e79a"; +} + +.iconshuaxin1:before { + content: "\e79b"; +} + +.iconsalefill:before { + content: "\e79c"; +} + +.iconsale:before { + content: "\e79d"; +} + +.iconandroidgengduo:before { + content: "\e79e"; +} + +.iconleimu:before { + content: "\e79f"; +} + +.iconbangzhuzhongxin:before { + content: "\e7a0"; +} + +.iconcaidan:before { + content: "\e7a1"; +} + +.iconzantongfill:before { + content: "\e7a2"; +} + +.iconzantong:before { + content: "\e7a3"; +} + +.iconxiangshang4:before { + content: "\e7a4"; +} + +.iconxiangxia4:before { + content: "\e7a5"; +} + +.icondanpin:before { + content: "\e7ab"; +} + +.iconpinpai:before { + content: "\e7b8"; +} + +.iconxiangbao:before { + content: "\e7ba"; +} + +.iconyishouchu:before { + content: "\e7bb"; +} + +.iconothers:before { + content: "\e7bc"; +} + +.icondanxuanfill:before { + content: "\e71e"; +} + +.icondanxuan:before { + content: "\e723"; +} + +.iconfangxingweixuanzhong:before { + content: "\e724"; +} + +.iconfangxingxuanzhongfill:before { + content: "\e725"; +} + +.iconfangxingxuanzhong:before { + content: "\e726"; +} + +.iconguanbi1:before { + content: "\e727"; +} + +.iconguanbi2fill:before { + content: "\e728"; +} + +.iconguanbi2:before { + content: "\e72a"; +} + +.iconfavor:before { + content: "\e67b"; +} + +.iconloading:before { + content: "\e67c"; +} + +.iconlocationfill:before { + content: "\e67d"; +} + +.iconroundcheckfill:before { + content: "\e67e"; +} + +.iconroundcheck:before { + content: "\e67f"; +} + +.iconroundclosefill:before { + content: "\e680"; +} + +.iconroundclose:before { + content: "\e681"; +} + +.iconroundrightfill:before { + content: "\e682"; +} + +.iconroundright:before { + content: "\e683"; +} + +.iconsearch1:before { + content: "\e684"; +} + +.icontimefill:before { + content: "\e685"; +} + +.icontime:before { + content: "\e686"; +} + +.iconunfold:before { + content: "\e687"; +} + +.iconwarnfill:before { + content: "\e688"; +} + +.iconwarn:before { + content: "\e689"; +} + +.iconcamerafill:before { + content: "\e68a"; +} + +.iconcamera1:before { + content: "\e68b"; +} + +.iconcommentfill:before { + content: "\e68c"; +} + +.iconcomment:before { + content: "\e68d"; +} + +.iconlikefill:before { + content: "\e68e"; +} + +.iconlike:before { + content: "\e68f"; +} + +.iconnotificationfill:before { + content: "\e690"; +} + +.iconnotification:before { + content: "\e691"; +} + +.iconorder:before { + content: "\e692"; +} + +.icondeliver:before { + content: "\e693"; +} + +.iconevaluate:before { + content: "\e694"; +} + +.iconpay:before { + content: "\e695"; +} + +.iconsend:before { + content: "\e696"; +} + +.iconshop:before { + content: "\e697"; +} + +.iconticket:before { + content: "\e698"; +} + +.iconcascades:before { + content: "\e699"; +} + +.iconlist:before { + content: "\e69a"; +} + +.iconmore:before { + content: "\e69b"; +} + +.iconscan:before { + content: "\e69c"; +} + +.iconsettings:before { + content: "\e69d"; +} + +.iconquestionfill:before { + content: "\e69e"; +} + +.iconquestion:before { + content: "\e69f"; +} + +.iconshopfill:before { + content: "\e6a0"; +} + +.iconform:before { + content: "\e6a1"; +} + +.iconpic:before { + content: "\e6a2"; +} + +.iconfootprint:before { + content: "\e6a3"; +} + +.icontop:before { + content: "\e6a4"; +} + +.iconpulldown:before { + content: "\e6a5"; +} + +.iconpullup:before { + content: "\e6a6"; +} + +.iconrefresh:before { + content: "\e6a7"; +} + +.iconmoreandroid:before { + content: "\e6a8"; +} + +.icondeletefill:before { + content: "\e6a9"; +} + +.iconrefund:before { + content: "\e6ac"; +} + +.iconcart1:before { + content: "\e6af"; +} + +.iconqrcode:before { + content: "\e6b0"; +} + +.iconremind:before { + content: "\e6b2"; +} + +.icondelete:before { + content: "\e6b4"; +} + +.iconprofile:before { + content: "\e6b7"; +} + +.iconhome1:before { + content: "\e6b8"; +} + +.iconcartfill:before { + content: "\e6b9"; +} + +.iconhomefill:before { + content: "\e6bb"; +} + +.iconmessage:before { + content: "\e6bc"; +} + +.iconaddressbook:before { + content: "\e6bd"; +} + +.iconlink:before { + content: "\e6bf"; +} + +.iconlock:before { + content: "\e6c0"; +} + +.iconunlock:before { + content: "\e6c2"; +} + +.iconvip:before { + content: "\e6c3"; +} + +.iconactivity:before { + content: "\e6c5"; +} + +.iconfriendaddfill:before { + content: "\e6c9"; +} + +.iconfriendadd:before { + content: "\e6ca"; +} + +.iconfriendfamous:before { + content: "\e6cb"; +} + +.iconfriend:before { + content: "\e6cc"; +} + +.icongoods:before { + content: "\e6cd"; +} + +.iconpresent:before { + content: "\e6d3"; +} + +.iconsquarecheckfill:before { + content: "\e6d4"; +} + +.iconsquare:before { + content: "\e6d5"; +} + +.iconsquarecheck:before { + content: "\e6d6"; +} + +.iconround:before { + content: "\e6d7"; +} + +.iconroundaddfill:before { + content: "\e6d8"; +} + +.iconroundadd:before { + content: "\e6d9"; +} + +.iconadd:before { + content: "\e6da"; +} + +.iconnotificationforbidfill:before { + content: "\e6db"; +} + +.iconfold:before { + content: "\e6de"; +} + +.iconappreciatefill:before { + content: "\e6e3"; +} + +.iconinfofill:before { + content: "\e6e4"; +} + +.iconinfo:before { + content: "\e6e5"; +} + +.iconrechargefill:before { + content: "\e6ec"; +} + +.iconrecharge:before { + content: "\e6ed"; +} + +.iconvipcard:before { + content: "\e6ee"; +} + +.iconfriendfavor:before { + content: "\e6f1"; +} + +.iconshare:before { + content: "\e6f3"; +} + +.iconservice:before { + content: "\e6ff"; +} + +.icondown:before { + content: "\e703"; +} + +.iconcopy:before { + content: "\e706"; +} + +.iconchoicenessfill:before { + content: "\e714"; +} + +.iconchoiceness:before { + content: "\e715"; +} + +.iconpullleft:before { + content: "\e71f"; +} + +.iconpullright:before { + content: "\e720"; +} + +.iconrankfill:before { + content: "\e721"; +} + +.iconrank:before { + content: "\e722"; +} + +.iconapps:before { + content: "\e729"; +} + +.iconmarkfill:before { + content: "\e730"; +} + +.iconmark:before { + content: "\e731"; +} + +.iconpresentfill:before { + content: "\e732"; +} + +.iconrepeal:before { + content: "\e733"; +} + +.iconpeoplefill:before { + content: "\e735"; +} + +.iconpeople:before { + content: "\e736"; +} + +.iconrepair:before { + content: "\e738"; +} + +.iconrepairfill:before { + content: "\e73a"; +} + +.iconattentionfill:before { + content: "\e73c"; +} + +.iconattention:before { + content: "\e73d"; +} + +.iconcommunityfill:before { + content: "\e740"; +} + +.iconcommunity:before { + content: "\e741"; +} + +.iconcalendar:before { + content: "\e74a"; +} + +.iconplayfill:before { + content: "\e74f"; +} + +.iconstop:before { + content: "\e750"; +} + +.icontagfill:before { + content: "\e751"; +} + +.icontag:before { + content: "\e752"; +} + +.icongroup:before { + content: "\e753"; +} + +.iconhotfill:before { + content: "\e757"; +} + +.iconhot:before { + content: "\e758"; +} + +.iconpost:before { + content: "\e759"; +} + +.iconradiobox:before { + content: "\e75b"; +} + +.iconupload:before { + content: "\e75d"; +} + +.iconradioboxfill:before { + content: "\e763"; +} + +.iconadd1:before { + content: "\e767"; +} + +.iconmove:before { + content: "\e768"; +} + +.iconactivityfill:before { + content: "\e775"; +} + +.iconcrownfill:before { + content: "\e776"; +} + +.iconcrown:before { + content: "\e777"; +} + +.icongoodsfill:before { + content: "\e778"; +} + +.iconmessagefill:before { + content: "\e779"; +} + +.iconsponsorfill:before { + content: "\e77c"; +} + +.iconsponsor:before { + content: "\e77d"; +} + +.iconmy:before { + content: "\e78b"; +} + +.iconmyfill:before { + content: "\e78c"; +} + +.icontext:before { + content: "\e791"; +} + +.iconroundaddlight:before { + content: "\e7a7"; +} + +.iconattentionforbid:before { + content: "\e7b2"; +} + +.iconattentionforbidfill:before { + content: "\e7b3"; +} + +.iconmail:before { + content: "\e7bd"; +} + +.iconpeoplelist:before { + content: "\e7be"; +} + +.iconnewshotfill:before { + content: "\e7c4"; +} + +.iconnewshot:before { + content: "\e7c5"; +} + +.iconvideofill:before { + content: "\e7c7"; +} + +.iconvideo:before { + content: "\e7c8"; +} + +.iconaskfill:before { + content: "\e7c9"; +} + +.iconask:before { + content: "\e7ca"; +} + +.iconexit:before { + content: "\e7cb"; +} + +.iconmoneybagfill:before { + content: "\e7ce"; +} + +.iconredpacket_fill:before { + content: "\e7d3"; +} + +.iconhome_light:before { + content: "\e7d4"; +} + +.iconmy_light:before { + content: "\e7d5"; +} + +.iconcommunity_light:before { + content: "\e7d6"; +} + +.iconcart_light:before { + content: "\e7d7"; +} + +.iconwe_light:before { + content: "\e7d8"; +} + +.iconhome_fill_light:before { + content: "\e7d9"; +} + +.iconcart_fill_light:before { + content: "\e7da"; +} + +.iconcommunity_fill_light:before { + content: "\e7db"; +} + +.iconmy_fill_light:before { + content: "\e7dc"; +} + +.iconwe_fill_light:before { + content: "\e7dd"; +} + +.iconsearch_light:before { + content: "\e7de"; +} + +.iconscan_light:before { + content: "\e7df"; +} + +.iconpeople_list_light:before { + content: "\e7e0"; +} + +.iconmessage_light:before { + content: "\e7e1"; +} + +.iconclose_light:before { + content: "\e7e2"; +} + +.iconadd_light:before { + content: "\e7e3"; +} + +.iconprofile_light:before { + content: "\e7e4"; +} + +.iconservice_light:before { + content: "\e7e5"; +} + +.iconfriend_add_light:before { + content: "\e7e6"; +} + +.iconedit_light:before { + content: "\e7e7"; +} + +.iconcamera_light:before { + content: "\e7e8"; +} + +.iconshare_light:before { + content: "\e7e9"; +} + +.iconcomment_light:before { + content: "\e7ea"; +} + +.iconappreciate_light:before { + content: "\e7eb"; +} + +.iconappreciate_fill_light:before { + content: "\e7ec"; +} + +.iconcomment_fill_light:before { + content: "\e7ed"; +} + +.iconmore_android_light:before { + content: "\e7ee"; +} + +.iconfriend_light:before { + content: "\e7ef"; +} + +.iconmore_light:before { + content: "\e7f0"; +} + +.icongoods_favor_light:before { + content: "\e7f1"; +} + +.icongoods_new_fill_light:before { + content: "\e7f2"; +} + +.icongoods_new_light:before { + content: "\e7f3"; +} + +.icongoods_light:before { + content: "\e7f4"; +} + +.iconfavor_fill_light:before { + content: "\e7f5"; +} + +.icondelete_light:before { + content: "\e7f6"; +} + +.iconback_android:before { + content: "\e7f7"; +} + +.iconback_android_light:before { + content: "\e7f8"; +} + +.icondown_light:before { + content: "\e7f9"; +} + +.iconround_close_light:before { + content: "\e7fa"; +} + +.iconround_close_fill_light:before { + content: "\e7fb"; +} + +.iconqr_code_light:before { + content: "\e7fc"; +} + +.iconfriend_settings_light:before { + content: "\e7fe"; +} + +.iconround_list_light:before { + content: "\e800"; +} + +.iconround_friend_fill:before { + content: "\e80a"; +} + +.iconround_crown_fill:before { + content: "\e80b"; +} + +.iconround_link_fill:before { + content: "\e80c"; +} + +.iconround_light_fill:before { + content: "\e80d"; +} + +.iconround_favor_fill:before { + content: "\e80e"; +} + +.iconround_menu_fill:before { + content: "\e80f"; +} + +.iconround_location_fill:before { + content: "\e810"; +} + +.iconround_pay_fill:before { + content: "\e811"; +} + +.iconround_like_fill:before { + content: "\e812"; +} + +.iconround_people_fill:before { + content: "\e813"; +} + +.iconround_pay:before { + content: "\e814"; +} + +.iconround_rank_fill:before { + content: "\e815"; +} + +.iconround_redpacket_fill:before { + content: "\e816"; +} + +.iconround_skin_fill:before { + content: "\e817"; +} + +.iconround_record_fill:before { + content: "\e818"; +} + +.iconround_ticket_fill:before { + content: "\e819"; +} + +.iconround_text_fill:before { + content: "\e81a"; +} + +.iconround_transfer_fill:before { + content: "\e81b"; +} + +.iconround_transfer:before { + content: "\e81c"; +} + +.iconarrow_left_fill:before { + content: "\e81d"; +} + +.iconarrow_up_fill:before { + content: "\e81e"; +} + +.iconreturn:before { + content: "\e81f"; +} + +.iconbroadcast_fill:before { + content: "\e820"; +} + +.iconappreciate:before { + content: "\e675"; +} + +.iconcheck:before { + content: "\e676"; +} + +.iconclose:before { + content: "\e677"; +} + +.iconedit:before { + content: "\e678"; +} + +.iconemoji:before { + content: "\e679"; +} + +.iconfavorfill:before { + content: "\e67a"; +} + +.iconliebiaomoshi2:before { + content: "\e61b"; +} + +.icondaifahuo:before { + content: "\e61c"; +} + +.icondaifukuan:before { + content: "\e61d"; +} + +.iconpaixing:before { + content: "\e61e"; +} + +.iconzanxuanzhong:before { + content: "\e61f"; +} + +.iconfenxiang1:before { + content: "\e620"; +} + +.iconfenxiang2:before { + content: "\e621"; +} + +.icongengduo1:before { + content: "\e622"; +} + +.iconcart:before { + content: "\e623"; +} + +.iconhome:before { + content: "\e624"; +} + +.iconhome2:before { + content: "\e625"; +} + +.iconcamera:before { + content: "\e626"; +} + +.iconcamera2:before { + content: "\e627"; +} + +.iconsearch:before { + content: "\e628"; +} + +.iconshuaxin:before { + content: "\e629"; +} + +.iconmine:before { + content: "\e62a"; +} + +.iconmine2:before { + content: "\e62b"; +} + +.icontabulation:before { + content: "\e62c"; +} + +.iconliebiao2:before { + content: "\e62d"; +} + +.iconiconfontscan:before { + content: "\e62e"; +} + +.iconquanbudingdan1:before { + content: "\e62f"; +} + +.icon31shoucangxuanzhong:before { + content: "\e630"; +} + +.icon31shoucang:before { + content: "\e631"; +} + +.icon31guanbi:before { + content: "\e632"; +} + +.icon31xuanze:before { + content: "\e633"; +} + +.icon31guanzhudianpu:before { + content: "\e634"; +} + +.icon31xuanzhong:before { + content: "\e635"; +} + +.icon31yiguanzhudianpu:before { + content: "\e636"; +} + +.icon31dianzan:before { + content: "\e637"; +} + +.icon31dianpu:before { + content: "\e638"; +} + +.icon31fenxiang:before { + content: "\e639"; +} + +.icon31zhuanfa:before { + content: "\e63a"; +} + +.icon31daifahuo:before { + content: "\e63b"; +} + +.icon31daifukuan:before { + content: "\e63c"; +} + +.icon31daishouhuo:before { + content: "\e63d"; +} + +.icon31daipingjia:before { + content: "\e63e"; +} + +.icontuikuantuihuo:before { + content: "\e63f"; +} + +.icon31huiyuanqia:before { + content: "\e640"; +} + +.icon31jifen:before { + content: "\e641"; +} + +.icon31youhuiquan:before { + content: "\e642"; +} + +.icon31tianmaobao:before { + content: "\e643"; +} + +.icon31hongbao:before { + content: "\e644"; +} + +.icon31fanerxuanzhong:before { + content: "\e645"; +} + +.icon31faner:before { + content: "\e646"; +} + +.icon31gouwuchexuanzhong:before { + content: "\e647"; +} + +.icon31gouwuche:before { + content: "\e648"; +} + +.icon31shouyexuanzhong:before { + content: "\e649"; +} + +.icon31shouye:before { + content: "\e64a"; +} + +.icon31wodexuanzhong:before { + content: "\e64b"; +} + +.icon31wode:before { + content: "\e64c"; +} + +.iconliwuhuodong:before { + content: "\e64d"; +} + +.iconliebiaomoshi:before { + content: "\e64e"; +} + +.iconzhongtumoshi:before { + content: "\e64f"; +} + +.iconchakan:before { + content: "\e650"; +} + +.iconguanbi:before { + content: "\e651"; +} + +.iconguanzhu:before { + content: "\e652"; +} + +.iconlaba:before { + content: "\e653"; +} + +.icon31paishexuanzhong:before { + content: "\e654"; +} + +.icon31paishe:before { + content: "\e655"; +} + +.icon31rexiao:before { + content: "\e656"; +} + +.icon31saoma:before { + content: "\e657"; +} + +.icon31shangxin:before { + content: "\e658"; +} + +.icon31shuaxin:before { + content: "\e659"; +} + +.icon31sousuo:before { + content: "\e65a"; +} + +.icon31tishi:before { + content: "\e65b"; +} + +.icon31xiaoxi:before { + content: "\e65c"; +} + +.icon31yiwen:before { + content: "\e65d"; +} + +.icon31dingdan:before { + content: "\e65e"; +} + +.icon31guanzhu1xuanzhong:before { + content: "\e65f"; +} + +.icon31guanzhu1:before { + content: "\e660"; +} + +.icon31huidaodingbu:before { + content: "\e661"; +} + +.icon31zuji:before { + content: "\e662"; +} + +.icon31leimu:before { + content: "\e663"; +} + +.icon31liebiao:before { + content: "\e664"; +} + +.icon31chiping:before { + content: "\e665"; +} + +.icon31erweima:before { + content: "\e666"; +} + +.iconbianji:before { + content: "\e667"; +} + +.icon31fanhui:before { + content: "\e668"; +} + +.icon31huiyuan:before { + content: "\e669"; +} + +.icon31pinglun:before { + content: "\e66a"; +} + +.icon31qiandao:before { + content: "\e66b"; +} + +.icon31quanbushangpin:before { + content: "\e66c"; +} + +.icon31shangsheng:before { + content: "\e66d"; +} + +.icon31shezhi:before { + content: "\e66e"; +} + +.icon31shijian:before { + content: "\e66f"; +} + +.icon31shouqi:before { + content: "\e670"; +} + +.icon31xiajiang:before { + content: "\e671"; +} + +.icon31xiala:before { + content: "\e672"; +} + +.icon31tishi1:before { + content: "\e673"; +} + +.icon31haoyou:before { + content: "\e674"; +} + +.iconsaoyisao:before { + content: "\e600"; +} + +.iconsousuo:before { + content: "\e601"; +} + +.iconfenxiang:before { + content: "\e602"; +} + +.iconfenlei:before { + content: "\e603"; +} + +.iconhuanyipi:before { + content: "\e604"; +} + +.iconxiugaioryijian:before { + content: "\e605"; +} + +.iconweixin:before { + content: "\e606"; +} + +.iconshangsheng:before { + content: "\e607"; +} + +.iconerweima:before { + content: "\e608"; +} + +.iconlianjie:before { + content: "\e609"; +} + +.icondianzan:before { + content: "\e60a"; +} + +.iconfanhui8:before { + content: "\e60b"; +} + +.iconfanhui7:before { + content: "\e60c"; +} + +.iconfanhui6:before { + content: "\e60d"; +} + +.iconfanhui5:before { + content: "\e60e"; +} + +.icongengduo:before { + content: "\e60f"; +} + +.iconshoucangxuanzhong:before { + content: "\e610"; +} + +.iconshoucang:before { + content: "\e611"; +} + +.iconfanhui1:before { + content: "\e612"; +} + +.iconfanhui2:before { + content: "\e613"; +} + +.iconfanhui3:before { + content: "\e614"; +} + +.iconfanhui4:before { + content: "\e615"; +} + +.iconhuidaodingbu:before { + content: "\e616"; +} + +.icongouwuchexuanzhong:before { + content: "\e617"; +} + +.iconwodexuanzhong:before { + content: "\e618"; +} + +.iconquanbudingdan:before { + content: "\e619"; +} + +.icondaishouhuo:before { + content: "\e61a"; +} + diff --git a/minipro_standard/common/css/lib.css b/minipro_standard/common/css/lib.css index bd9f91d..3246452 100644 --- a/minipro_standard/common/css/lib.css +++ b/minipro_standard/common/css/lib.css @@ -95,7 +95,7 @@ .sbtn_black_rim{ color: #333; border-color:#eee; } .sbtn_gray_rim{ color: #999; border-color:#ccc; } /* flex */ -.flex{ display: flex !important;} +.flex{ display: flex;} .cXY{ display: flex; align-items: center;justify-content: center;} .cY{ display: flex; align-items: center;} .cX{display: flex; justify-content: center} @@ -114,13 +114,24 @@ .shadowA{box-shadow: 0 0 5rpx 0 #ddd;} .shadowB{ position: relative;} .shadowB::after{ content: ""; display: block; width: 100%; height: 8rpx; box-shadow: 0 6rpx 12rpx rgba(0,0,0,.08); top: -8rpx; left: 0; position: absolute; } +<<<<<<< HEAD +======= .rp { position: relative; } .ap { position: absolute; } -.orange{ color: #EA531B !important;} -.yellow{ color: #F5A400 !important;}.bg_yellow{background-color: #F5A400} -.green{ color: #00BF97 !important;}.bg_green{background-color: #00BF97} +.orange{ color: #EA531B;} +.green{ color: #65C35D;} +.blue{ color: #3C77DA;} +.red{ color: #f00;} +.white{ color: #fff;} +>>>>>>> 89d77a7cd7285feda993bffec2513892f8bd355f + +.rp { position: relative; } +.ap { position: absolute; } + +.orange{ color: #EA531B !important;} +.green{ color: #65C35D !important;} .blue{ color: #3C77DA !important;} .red{ color: #f00 !important;} .white{ color: #fff !important;} @@ -129,7 +140,7 @@ .wc{color:#F98107 !important;} .cm {color: #305ED5} -.c1{color: #111!important;}.c2{color: #222!important;}.c3{ color: #333!important;}.c6{ color: #666!important;}.cc{ color: #ccc!important;}.cf{ color: #fff!important;} +.c1{color: #111}.c2{color: #222}.c3{ color: #333;}.c6{ color: #666;}.cc{ color: #ccc;}.cf{ color: #fff;} /* /deep/ .uicon-close .u-icon--right{ position: absolute; right: 30rpx; top: 30rpx; z-index: 999;} */ .popCloseBtn{ position: absolute; width:50rpx; height:50rpx; right: 20rpx; top: 20rpx;} .fixedTL{ position: absolute; left: 0; top: 0;} diff --git a/minipro_standard/components/InOutInfo.vue b/minipro_standard/components/InOutInfo.vue index fdf5f9d..9ceab09 100644 --- a/minipro_standard/components/InOutInfo.vue +++ b/minipro_standard/components/InOutInfo.vue @@ -1,7 +1,7 @@ <template> <view class="p30 bg_w f26 info-style"> - <view v-if="isOut" class="cm b f32">璁″垝鍑哄簱鏃ユ湡锛歿{ info.outPlandate||'' }}</view> - <view v-else class="cm b f32">璁″垝鍏ュ簱鏃ユ湡锛歿{ info.inPlandate || info.planDate || '' }}</view> + <view v-if="isOut" class="cm b f32">璁″垝鍑哄簱鏃ユ湡锛歿{ info.outPlandate }}</view> + <view v-else class="cm b f32">璁″垝鍏ュ簱鏃ユ湡锛歿{ info.inPlandate || info.planDate }}</view> <view class="c2 mt25"> <text class="c6">鏉ユ簮绫诲瀷锛�</text> {{ typeTstr(info.originType) }} @@ -16,7 +16,7 @@ </view> <view v-if="isOut" class="c2 mt25"> <text class="c6">鍏ュ簱鎺ユ敹浜猴細</text> - {{ info.inUserName || '-' }} + {{ info.originCode || '-' }} </view> <view class="c2 mt25"> <text class="c6">鐢宠鏃堕棿锛�</text> diff --git a/minipro_standard/components/LabelSelection.vue b/minipro_standard/components/LabelSelection.vue index 67f65ff..0bde662 100644 --- a/minipro_standard/components/LabelSelection.vue +++ b/minipro_standard/components/LabelSelection.vue @@ -71,16 +71,18 @@ } .tag_item { min-width: 120rpx; - padding: 14rpx; + padding: 14rpx 24rpx; border-radius: 26rpx; text-align: center; flex-shrink: 0; margin-right: 20rpx; border: 1rpx solid #CCCCCC; - font-size: 26rpx; - font-weight: 400; - line-height: 26rpx; - color: #555555; + text { + font-size: 26rpx; + font-weight: 400; + line-height: 26rpx; + color: #555555; + } } } } diff --git a/minipro_standard/components/Preview.vue b/minipro_standard/components/Preview.vue index 007ad0f..a6c4844 100644 --- a/minipro_standard/components/Preview.vue +++ b/minipro_standard/components/Preview.vue @@ -4,7 +4,7 @@ <u-icon name="close" size="20"></u-icon> </div> <div class="preview_content"> - <u-swiper :list="list" :autoplay="false" :height="300" bgColor="rgba(0,0,0,0)" :current="current"></u-swiper> + <u-swiper :list="list" :current="current"></u-swiper> </div> </div> </template> @@ -30,39 +30,5 @@ </script> <style lang="scss" scoped> -.preview { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.8); - z-index: 9999; - .preview_close { - position: fixed; - right: 50rpx; - top: 50rpx; - width: 70rpx; - height: 70rpx; - border-radius: 50%; - background: #B2B2B2; - display: flex; - align-items: center; - justify-content: center; - z-index: 99999; - } - .preview_content::v-deep { - position: relative; - top: 50%; - left: 0; - transform: translate(0, -50%); - .u-swiper { - width: 100%; - height: 300rpx !important; - display: flex; - align-items: center; - justify-content: center; - } - } -} + </style> diff --git a/minipro_standard/components/Search.vue b/minipro_standard/components/Search.vue index 3f0eff7..efac752 100644 --- a/minipro_standard/components/Search.vue +++ b/minipro_standard/components/Search.vue @@ -1,5 +1,4 @@ <template> - <view class="search"> <view class="search_box"> <view class="search_input"> @@ -11,7 +10,7 @@ <image @click="openCate()" src="@/static/filter@2x.png" mode="widthFix"> </view> </view> - <u-popup closeOnClickOverlay :show="open" @close="close" :round="10" mode="bottom"> + <u-popup closeOnClickOverlay :show="open" @close="open=false" :round="10" mode="bottom"> <scroll-view scroll-y class="content"> <slot name="content"></slot> </scroll-view> @@ -43,12 +42,7 @@ }, // 鎵撳紑寮圭獥 openCate() { - this.$emit('scrollerBan', true) this.open = true - }, - close() { - this.open = false - this.$emit('scrollerBan', false) }, // 閲嶇疆 closes() { @@ -89,7 +83,7 @@ justify-content: space-between; padding-left: 40rpx; padding-right: 40rpx; - padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx); + padding-bottom: env(safe-area-inset-bottom); box-sizing: border-box; position: fixed; bottom: 0; diff --git a/minipro_standard/components/SelectTraMultipleMaterial.vue b/minipro_standard/components/SelectTraMultipleMaterial.vue index b9ccf4c..5446bdd 100644 --- a/minipro_standard/components/SelectTraMultipleMaterial.vue +++ b/minipro_standard/components/SelectTraMultipleMaterial.vue @@ -1,12 +1,12 @@ <template> - <u-popup :show="show" :round="10" closeable @close="close()"> + <u-popup :show="show" :round="10" closeable @close="show=false"> <view class="material-content bbox p30 rp"> - <view class="tc b f32 c2 mb20">閫夋嫨鐗╂枡</view> + <view class="tc b f24 c2 mb20">閫夋嫨鐗╂枡</view> <!-- <v-Search ref="V" @searchInput="searchInput" @submit="submit" :isShow="false" placeholder="鎼滅储鐗╂枡鍚嶇О/缂栫爜"> </v-Search> --> <div class="content_total">鍏眥{pages.total}}鏉℃暟鎹�</div> <view class="scroll-content"> - <scroll-view style="height: 100%;" scroll-y="true" refresher-enabled="true" :refresher-triggered="refreshing" @scrolltolower="loadMore" + <scroll-view scroll-y="true" refresher-enabled="true" :refresher-triggered="refreshing" @scrolltolower="loadMore" @refresherrefresh="onRefresh"> <view v-for="(item1, index) in list" :key="index" class="flex mb20" @click="selectMaterialAction(index)"> <view class="img36 mr20 pt10"> @@ -162,11 +162,7 @@ }, selectAll() { this.selectIndex = [] - this.isAll = !this.isAll - if (this.isAll) { - this.selectIndex = [...new Array(this.list.length).keys()] - } - + this.selectIndex = [...new Array(this.list.length).keys()] }, submitAction () { this.show = false @@ -175,10 +171,6 @@ selectValue.push(this.list[item]) }) this.$emit('selectes', { materials: selectValue }) - }, - close() { - this.show = false - this.$emit('close') } } } @@ -249,10 +241,15 @@ display: flex; flex-direction: column; margin-bottom: 10rpx; + + + + } .bottom { height: 98rpx; + .submit { width: 272rpx; height: 98rpx; diff --git a/minipro_standard/components/myTabber.vue b/minipro_standard/components/myTabber.vue index fb67430..b8b5250 100644 --- a/minipro_standard/components/myTabber.vue +++ b/minipro_standard/components/myTabber.vue @@ -2,14 +2,13 @@ <view> <u-tabbar :value="index" - :customStyle="{paddingTop: '5px',paddingBottom: '5px',}" @change="change" fixed activeColor="#222" inactiveColor="#666" :safeAreaInsetBottom="true"> - <u-tabbar-item text="寰呭姙" :badge="upcomingNum.d"> - <view class="" slot="active-icon"> + <u-tabbar-item text="寰呭姙"> + <view class="" slot="active-icon"> <image src="@/static/nav_daiban_sel@2x.png" class="icon-style" mode=""></image> </view> <view class="" slot="inactive-icon"> @@ -32,14 +31,11 @@ <image src="@/static/nav_wode@2x.png" class="icon-style" mode=""></image> </view> </u-tabbar-item> - </u-tabbar> </view> </template> <script> - import { mapState } from 'vuex' - export default { name:"myTabbar", props: { @@ -49,9 +45,6 @@ return { value: 0 }; - }, - computed: { - ...mapState(['upcomingNum']) }, methods: { click(index) { diff --git a/minipro_standard/components/static/yty-data-picker/yty-data-picker.png b/minipro_standard/components/static/yty-data-picker/yty-data-picker.png new file mode 100644 index 0000000..d9b72d2 --- /dev/null +++ b/minipro_standard/components/static/yty-data-picker/yty-data-picker.png Binary files differ diff --git a/minipro_standard/components/workOrderInfo.vue b/minipro_standard/components/workOrderInfo.vue index 31706ef..8918151 100644 --- a/minipro_standard/components/workOrderInfo.vue +++ b/minipro_standard/components/workOrderInfo.vue @@ -2,123 +2,84 @@ <view class="p30 bg_w order-info"> <view class="bX"> <view class="cY"> - <view class="mr10 b">{{ `${orederMessage.mmodel.name || ''} | ${orederMessage.procedureName || ''}`}} - </view> - <!-- <u-tag size="mini" bgColor="#03AF76" text="姝e父"></u-tag> --> - <div class="type bg_green" v-if="orederMessage.type === 0">姝e父</div> - <div class="type bg_yellow" v-if="orederMessage.type === 2">杩斿伐杩斾慨</div> + <view class="mr10 b">{{ `${orederMessage.mmodel.name} |${orederMessage.procedureName}`}}</view> + <u-tag size="mini" bgColor="#03AF76" text="姝e父"></u-tag> </view> - <view class="status" - :class="orederMessage.status==0?'wc':orederMessage.status==1?'green':orederMessage.status==3?'blue':orederMessage.status==7?'green':'c6'"> - {{ stausToStr(orederMessage.status) }}</view> - </view> - <view class="f24 c6 mt20">宸ュ崟缂栧彿锛歿{ orederMessage.code || '-' }}</view> - <view class="f24 mt20 bg_f7 ptb20 plr30 n"> - <view class="c2 mb20"> - <span class="c6">鐗╂枡缂栫爜锛�</span> - {{ orederMessage.mmodel ? orederMessage.mmodel.code : '-' }} - </view> - <view class="c2 mb20"> - <span class="c6">璁″垝寮�宸ワ細</span> - {{ orederMessage.planDate || '-' }} - </view> - <view class="c2 mb20"> - <span class="c6">鐢熶骇鎵规锛�</span> - {{ orederMessage.batch || '-' }} - </view> - <view class="c2 mb20"> - <span class="c6">璁″垝鏁伴噺锛�</span> - {{ orederMessage.planNum || '-' }}{{ orederMessage.umodel ? orederMessage.umodel.name : '-' }} - </view> - <view class="c2 mb20"> - <span class="c6">鐢熶骇璁惧锛�</span> - {{ orederMessage.pgmodel ? `${orederMessage.pgmodel.code} - ${orederMessage.pgmodel.name}` : '-' }} - </view> - <view class="c2 flex"> - <view class="c6" style="flex-shrink: 0;">鐢熶骇浜哄憳锛�</view> - <view class="flex1"> - {{ orederMessage.proUserList ? orederMessage.proUserList.map(item => item.proUserDepartName).join(' / ') : '-' }} - </view> - </view> + <view class="status" :class="orederMessage.status==0?'wc':orederMessage.status==1?'green':orederMessage.status==3?'blue':orederMessage.status==7?'green':'c6'">{{ stausToStr(orederMessage.status) }}</view> + </view> + <view class="f24 c6 mt20">宸ュ崟缂栧彿锛歿{ orederMessage.code || '-' }}</view> + <view class="f24 mt20 bg_f7 ptb20 plr30 n"> + <view class="c2 mb20"> + <span class="c6">鐗╂枡缂栫爜锛�</span> + {{ orederMessage.mmodel ? orederMessage.mmodel.code : '-' }} + </view> + <view class="c2 mb20"> + <span class="c6">璁″垝寮�宸ワ細</span> + {{ orederMessage.planDate || '-' }} + </view> + <view class="c2 mb20"> + <span class="c6">鐢熶骇鎵规锛�</span> + {{ orederMessage.batch || '-' }} + </view> + <view class="c2 mb20"> + <span class="c6">璁″垝鏁伴噺锛�</span> + {{ orederMessage.planNum || '-' }}{{ orederMessage.umodel ? orederMessage.umodel.name : '-' }} + </view> + <view class="c2 mb20"> + <span class="c6">鐢熶骇璁惧锛�</span> + {{ orederMessage.pgmodel ? `${orederMessage.pgmodel.code} - ${orederMessage.pgmodel.name}` : '-' }} + </view> + <view class="c2 flex"> + <view class="c6" style="flex-shrink: 0;">鐢熶骇浜哄憳锛�</view> + <view class="flex1"> + {{ orederMessage.proUserList ? orederMessage.proUserList.map(item => item.proUserDepartName).join(' / ') : '-' }} + </view> + </view> </view> </view> </template> <script> export default { - name: "workOrderInfo", - props: { - orederMessage: { - type: Object, - default: () => {} - } + name: "workOrderInfo", + props: { + orederMessage: { + type: Object, + default: () => {} + } }, data() { return { - status: [{ - status: 0, - label: '宸插垱寤�' - }, - { - status: 1, - label: '宸插鏂�' - }, - { - status: 2, - label: '宸插畬宸ユ' - }, - { - status: 3, - label: '宸叉楠�' - }, - { - status: 4, - label: '宸叉姤宸�' - }, - { - status: 5, - label: '宸插叆搴�' - }, - { - status: 6, - label: '宸插彇娑�' - }, - { - status: 7, - label: '鐢熶骇涓�' - } + status: [ + { status: 0, label: '宸插垱寤�' }, + { status: 1, label: '宸插鏂�' }, + { status: 2, label: '宸插畬宸ユ' }, + { status: 3, label: '宸叉楠�' }, + { status: 4, label: '宸叉姤宸�' }, + { status: 5, label: '宸插叆搴�' }, + { status: 6, label: '宸插彇娑�' }, + { status: 7, label: '杩涜涓�' } ] }; - }, - methods: { - stausToStr(status) { - let temp = this.status.find(item => item.status == status) - return temp ? temp.label : '-' - } + }, + methods: { + stausToStr(status) { + let temp = this.status.find(item => item.status == status) + return temp ? temp.label : '-' + } } } </script> -<style lang="scss" scoped> - .status { - height: 26rpx; - font-size: 26rpx; - font-weight: 400; - color: #666666; - line-height: 26rpx; - } - - .type { - padding: 0 8rpx; - color: white; - margin-left: 10rpx; - height: 38rpx; - line-height: 38rpx; - font-size: 22rpx; - border: 8rpx; - } - - .order-info { - border-bottom: 20rpx #f7f7f7 solid; - } +<style lang="scss"> +.status { + height: 26rpx; + font-size: 26rpx; + font-weight: 400; + color: #666666; + line-height: 26rpx; +} +.order-info { + border-bottom: 20rpx #f7f7f7 solid; +} </style> diff --git a/minipro_standard/components/yty-data-picker/yty-data-picker.vue b/minipro_standard/components/yty-data-picker/yty-data-picker.vue index f9b8b34..a01378c 100644 --- a/minipro_standard/components/yty-data-picker/yty-data-picker.vue +++ b/minipro_standard/components/yty-data-picker/yty-data-picker.vue @@ -82,18 +82,10 @@ width: 100%; height: 80rpx; background-color: #f9f9f9; - border-radius: 20rpx; + border-radius: 40rpx; margin-top: 20rpx; padding: 0 30rpx; box-sizing: border-box; - } - - .search_area input { - font-size: 28rpx; - } - - .search_area input::-webkit-input-placeholder { - font-size: 28rpx; } .search_icon { @@ -110,8 +102,7 @@ .list_item { padding: 20rpx; - border-bottom: 1px solid #f5f5f5; - font-size: 28rpx; + border-bottom: 1px solid #f5f5f5 } @keyframes dialog-fade-in { diff --git a/minipro_standard/main.js b/minipro_standard/main.js index bf2ae32..af1b29b 100644 --- a/minipro_standard/main.js +++ b/minipro_standard/main.js @@ -5,7 +5,7 @@ // 寮曞叆鍏ㄥ眬uView import uView from '@/uni_modules/uview-ui' Vue.use(uView) -// vuex +// vuex import store from './store' Vue.prototype.$store = store store.dispatch('getHeight') diff --git a/minipro_standard/manifest.json b/minipro_standard/manifest.json index 3cf7e3e..baf4046 100644 --- a/minipro_standard/manifest.json +++ b/minipro_standard/manifest.json @@ -1,104 +1,77 @@ { - "name": "DM浜戝伐鍘�", - "appid": "", - "description": "", - "versionName": "1.0.0", - "versionCode": "100", - "transformPx": false, - /* 5+App鐗规湁鐩稿叧 */ - "app-plus": { - "usingComponents": true, - "nvueStyleCompiler": "uni-app", - "compilerVersion": 3, - "splashscreen": { - "alwaysShowBeforeRender": true, - "waiting": true, - "autoclose": true, - "delay": 0 - }, - /* 妯″潡閰嶇疆 */ - "modules": {}, - /* 搴旂敤鍙戝竷淇℃伅 */ - "distribute": { - /* android鎵撳寘閰嶇疆 */ - "android": { - "permissions": [ - "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", - "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", - "<uses-permission android:name=\"android.permission.VIBRATE\"/>", - "<uses-permission android:name=\"android.permission.READ_LOGS\"/>", - "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>", - "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", - "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", - "<uses-permission android:name=\"android.permission.CAMERA\"/>", - "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>", - "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", - "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", - "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", - "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>", - "<uses-feature android:name=\"android.hardware.camera\"/>", - "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>" - ] - }, - /* ios鎵撳寘閰嶇疆 */ - "ios": {}, - /* SDK閰嶇疆 */ - "sdkConfigs": {} - } - }, - /* 蹇簲鐢ㄧ壒鏈夌浉鍏� */ - "quickapp": {}, - /* 灏忕▼搴忕壒鏈夌浉鍏� */ - "mp-weixin": { - "appid": "wx1605a61f7a48cea6", - "setting": { - "urlCheck": false, - "es6": true, - "postcss": true, - "minified": true, - "ignoreDevUnusedFiles": false, - "ignoreUploadUnusedFiles": false - }, - "usingComponents": true, - "requiredPrivateInfos": ["getLocation"], - "permission": {} - }, - "mp-alipay": { - "usingComponents": true - }, - "mp-baidu": { - "usingComponents": true - }, - "mp-toutiao": { - "usingComponents": true - }, - "uniStatistics": { - "enable": false - }, - "vueVersion": "2", - "h5": { - "router": { - "mode": "hash", - "base": "/h5/" - }, - "template": "index.html", - "title": "DM浜戝伐鍘�", - "sdkConfigs": { - "maps": {} - }, - "devServer": { - "port": 1801, - "proxy": { - "^/doumeeplant_api": { - "target": "https://dmtest.ahapp.net/doumeeplant_api", - "ws": true, - "changeOrigin": true, - "pathRewrite": { - "^/doumeeplant_api": "" - } - } - } - } - - } -} + "name" : "DM浜戝伐鍘�", + "appid" : "", + "description" : "", + "versionName" : "1.0.0", + "versionCode" : "100", + "transformPx" : false, + /* 5+App鐗规湁鐩稿叧 */ + "app-plus" : { + "usingComponents" : true, + "nvueStyleCompiler" : "uni-app", + "compilerVersion" : 3, + "splashscreen" : { + "alwaysShowBeforeRender" : true, + "waiting" : true, + "autoclose" : true, + "delay" : 0 + }, + /* 妯″潡閰嶇疆 */ + "modules" : {}, + /* 搴旂敤鍙戝竷淇℃伅 */ + "distribute" : { + /* android鎵撳寘閰嶇疆 */ + "android" : { + "permissions" : [ + "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", + "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", + "<uses-permission android:name=\"android.permission.VIBRATE\"/>", + "<uses-permission android:name=\"android.permission.READ_LOGS\"/>", + "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>", + "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", + "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", + "<uses-permission android:name=\"android.permission.CAMERA\"/>", + "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>", + "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", + "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", + "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", + "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>", + "<uses-feature android:name=\"android.hardware.camera\"/>", + "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>" + ] + }, + /* ios鎵撳寘閰嶇疆 */ + "ios" : {}, + /* SDK閰嶇疆 */ + "sdkConfigs" : {} + } + }, + /* 蹇簲鐢ㄧ壒鏈夌浉鍏� */ + "quickapp" : {}, + /* 灏忕▼搴忕壒鏈夌浉鍏� */ + "mp-weixin" : { + "appid" : "wx1605a61f7a48cea6", + "setting" : { + "urlCheck" : false, + "es6" : true, + "postcss" : true, + "minified" : true + }, + "usingComponents" : true, + "requiredPrivateInfos" : [ "getLocation" ], + "permission" : {} + }, + "mp-alipay" : { + "usingComponents" : true + }, + "mp-baidu" : { + "usingComponents" : true + }, + "mp-toutiao" : { + "usingComponents" : true + }, + "uniStatistics" : { + "enable" : false + }, + "vueVersion" : "2" +} diff --git a/minipro_standard/pages.json b/minipro_standard/pages.json index a353428..44801d1 100644 --- a/minipro_standard/pages.json +++ b/minipro_standard/pages.json @@ -108,8 +108,22 @@ "enablePullDownRefresh": false } + }, { + "path": "pages/OutOperation/OutOperation", + "style": { + "navigationBarTitleText": "鍑哄簱鎿嶄綔", + "enablePullDownRefresh": false + } + + }, { + "path": "pages/InOperation/InOperation", + "style": { + "navigationBarTitleText": "鍏ュ簱鎿嶄綔", + "enablePullDownRefresh": false + } + } - ], + ], "subPackages": [{ "root": "pages_adjust", "pages": [{ @@ -125,14 +139,6 @@ "navigationBarTitleText": "鏂板缓鍏ュ簱", "enablePullDownRefresh": false } - }, - { - "path" : "pages/forgotPassword/forgotPassword", - "style" : - { - "navigationBarTitleText": "蹇樿瀵嗙爜", - "enablePullDownRefresh": false - } }, { "path": "pages/newTransfer/newTransfer", @@ -244,19 +250,6 @@ { "root": "pages_inspect", "pages": [ - { - "path": "pages/OutOperation/OutOperation", - "style": { - "navigationBarTitleText": "鍑哄簱鎿嶄綔", - "enablePullDownRefresh": false - } - }, { - "path": "pages/InOperation/InOperation", - "style": { - "navigationBarTitleText": "鍏ュ簱鎿嶄綔", - "enablePullDownRefresh": false - } - }, { "path": "pages/InspectionRecords/InspectionRecords", "style": { diff --git a/minipro_standard/pages_inspect/pages/InOperation/InOperation.vue b/minipro_standard/pages/InOperation/InOperation.vue similarity index 85% rename from minipro_standard/pages_inspect/pages/InOperation/InOperation.vue rename to minipro_standard/pages/InOperation/InOperation.vue index 11c4c17..e929545 100644 --- a/minipro_standard/pages_inspect/pages/InOperation/InOperation.vue +++ b/minipro_standard/pages/InOperation/InOperation.vue @@ -1,12 +1,12 @@ <template> <view> - <InOutInfo :info="info" :isOut="false" /> + <InOutInfo :info="info" /> <uni-collapse @change="change" @close="close" @open="open"> <uni-collapse-item v-if="type==7" v-for="(item1, index) in wtransferWarehouseList" :key="index" :open="item1.wtransferDetailList.length"> <view class="p30 cY" style="border-bottom: 4rpx solid #f7f7f7;" slot="title"> - <image src="../../../static/chuku_ic_cangku@2x.png" class="img36 mr10" mode=""></image> + <image src="../../static/chuku_ic_cangku@2x.png" class="img36 mr10" mode=""></image> <view>{{ item1.warehouseName }}</view> </view> <view class="p30"> @@ -16,24 +16,26 @@ <span>寰呭叆搴撶墿鏂�</span> </div> </div> - <div class="page_content" v-for="(item, index) in item1.wtransferDetailList" v-if="item.outActnum" :key="index" + <div class="page_content" v-for="(item, index) in item1.wtransferDetailList" :key="index" :name="index"> <div class="page_content_title"> <div class="page_content_title_top"> <span v-if="item.batch">{{ item.materialName + ' | ' + item.materialCode }}</span> <span v-else>{{ item.materialName + ' | ' + item.materialCode }}</span> - <span>{{item.outActnum}}{{item.unitName}}</span> </div> <div class="page_content_title_bottom"> - <span class="green" v-if="item.qualityType === 0">鍚堟牸<text class="c6" decode>{{ split}}</text></span> - <span class="warning" v-else-if="item.qualityType === 1">涓嶈壇<text class="c6" decode>{{ split}}</text></span> - <span class="error" v-else-if="item.qualityType === 2">鎶ュ簾<text class="c6" decode>{{ split}}</text></span> - <span v-else>-<text class="c6" decode>{{ split}}</text></span> - <span>{{item.procedureName ? item.procedureName : '-'}}<text class="c6" decode>{{ split}}</text></span> + <span class="green" v-if="item.qualityType === 0">鍚堟牸 <span + class="black">/</span> </span> + <span class="warning" v-else-if="item.qualityType === 1">涓嶈壇 <span + class="black">/</span> </span> + <span class="error" v-else-if="item.qualityType === 2">鎶ュ簾 <span + class="black">/</span> </span> + <span v-else>- / </span> + <span>{{item.procedureName ? item.procedureName : '-'}} / </span> <span>{{item.batch ? item.batch : '-'}}</span> </div> </div> - <!-- <div class="page_content_list" v-for="(childer, idxs) in item.wstockExtListVOList" :key="idxs"> + <div class="page_content_list" v-for="(childer, idxs) in item.wstockExtListVOList" :key="idxs"> <div class="page_content_list_item"> <div class="page_content_list_item_label">鍏ュ簱璐т綅锛�</div> <div class="page_content_list_item_nr">{{ childer.locationName }}</div> @@ -42,7 +44,7 @@ <div class="page_content_list_item_label">鏁伴噺锛�</div> <div class="page_content_list_item_nr">{{ childer.num }}{{ childer.unitName }}</div> </div> - </div> --> + </div> </div> </view> </uni-collapse-item> @@ -56,7 +58,7 @@ </div> <div class="right" v-if="isZKD" @click="openxz"> - <image src="../../../static/gongdan_ic_shoudong@2x.png" class="img36" mode=""></image><span>鎵嬪姩鍏ュ簱</span> + <image src="../../static/gongdan_ic_shoudong@2x.png" class="img36" mode=""></image><span>鎵嬪姩鍏ュ簱</span> <!-- <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt=""> --> </div> </div> @@ -65,14 +67,15 @@ <div class="page_yxwl_list"> <div class="page_yxwl_list_item" v-for="(item, index) in woScanMaterialBeanList" :key="index"> <div class="page_yxwl_list_item_top"> + <!-- <div class="page_yxwl_list_item_top_left" v-if="item.batch">{{item.materialName}} | {{item.materialCode}}锝渰{item.batch}}</div>--> <div class="page_yxwl_list_item_top_left">{{item.materialName}} | {{item.materialCode}} </div> </div> <div class="page_yxwl_list_item_sx"> - <span class="green" v-if="item.qualityType === 0">鍚堟牸<text class="c6" decode>{{ split}}</text></span> - <span class="warning" v-else-if="item.qualityType === 1">涓嶈壇<text class="c6" decode>{{ split}}</text></span> - <span class="red" v-else-if="item.qualityType === 2">鎶ュ簾<text class="c6" decode>{{ split}}</text></span> - <span>{{item.procedureName ? item.procedureName : '-'}}<text class="c6" decode>{{ split}}</text></span> + <span class="green" v-if="item.qualityType === 0">鍚堟牸 <span>/</span> </span> + <span class="warning" v-else-if="item.qualityType === 1">涓嶈壇 <span>/</span> </span> + <span class="red" v-else-if="item.qualityType === 2">鎶ュ簾 <span>/</span> </span> + <span>{{item.procedureName ? item.procedureName : '-'}} <span>/</span> </span> <span>{{item.batch ? item.batch : '-'}}</span> </div> <div class="page_yxwl_list_item_num"> @@ -83,7 +86,7 @@ <span>{{item.locationName ? item.locationName : '-'}}</span> </div> </div> - <div class="items f24"> + <div class="items"> <div class="label">鏁伴噺锛�</div> <div class="nr"> <input type="text" v-model="item.scanNum" placeholder="璇疯緭鍏�" /> @@ -94,8 +97,8 @@ <div class="itemy" v-for="(item1, idx) in item.woutboundRedisCodeBeanList" :key="idx"> <div class="label">宸ヨ{{item1.scanCode}}锛�</div> <div class="nr">{{item1.num}}{{item1.unitName}}</div> - <div class="dele" @click="woScanMaterialBeanList.splice(index, 1)"> - <image src="../../../static/chuku_ic_delete@2x.png" class="img48" mode=""></image> + <div class="dele" @click="dele(item1)"> + <image src="../../static/chuku_ic_delete@2x.png" class="img36" mode=""></image> </div> </div> </div> @@ -108,14 +111,15 @@ <div class="page_yxwl_list"> <div class="page_yxwl_list_item" v-for="(item1, idx) in seleMateriaList" :key="idx"> <div class="page_yxwl_list_item_top"> + <!-- <div class="page_yxwl_list_item_top_left" v-if="item1.batch">{{item1.materialName}} | {{item1.materialCode}}锝渰{item1.batch}}</div>--> <div class="page_yxwl_list_item_top_left">{{item1.materialName}} | {{item1.materialCode}} </div> </div> <div class="page_yxwl_list_item_sx"> - <span class="green" v-if="item1.qualityType === 0">鍚堟牸<text class="c6" decode>{{ split}}</text></span> - <span class="yellow" v-else-if="item1.qualityType === 1">涓嶈壇<text class="c6" decode>{{ split}}</text></span> - <span class="red" v-else-if="item1.qualityType === 2">鎶ュ簾<text class="c6" decode>{{ split}}</text></span> - <span>{{item1.procedureName ? item1.procedureName : '-'}}<text class="c6" decode>{{ split}}</text></span> + <span class="green" v-if="item1.qualityType === 0">鍚堟牸 <span>/</span> </span> + <span class="yellow" v-else-if="item1.qualityType === 1">涓嶈壇 <span>/</span> </span> + <span class="red" v-else-if="item1.qualityType === 2">鎶ュ簾 <span>/</span> </span> + <span>{{item1.procedureName ? item1.procedureName : '-'}} <span>/</span> </span> <span>{{item1.batch ? item1.batch : '-'}}</span> </div> <div class="page_yxwl_list_item_num"> @@ -126,7 +130,7 @@ <span>{{item1.locationName}}</span> </div> </div> - <div class="itemy_item f24"> + <div class="itemy_item"> <div class="label">鏁伴噺锛�</div> <div class="nr"> <!-- @input="inputNum(item1)" --> @@ -134,11 +138,9 @@ <span>{{item1.unitName}}</span> </div> </div> - <!-- @click="dele()" dele(index) { - this.outboundList.splice(index, 1) - }, --> - <div class="dele" @click="seleMateriaList.splice(index, 1)"> - <image src="../../../static/chuku_ic_delete@2x.png" class="img48" mode=""></image> + <!-- @click="dele()" --> + <div class="dele" @click="dele(idx)"> + <image src="../../static/chuku_ic_delete@2x.png" class="img36" mode=""></image> </div> </div> </div> @@ -197,7 +199,6 @@ }, data() { return { - split: ' / ', type: '', id: '', wareHouseId: '', @@ -205,7 +206,6 @@ show: false, info: {}, ids: [], - mainOrder: '', location: '', locationName: '', wtransferWarehouseList: [], @@ -253,7 +253,6 @@ data.wTransferType = '1' } infoAction(data).then(res => { - this.mainOrder = res.data.id if (this.isZKD) { this.info = res.data.wtransfer this.wareHouseId = res.data.wtransfer.inWarehouseId @@ -299,42 +298,17 @@ }, selectMaterial(val) { let material = JSON.parse(JSON.stringify(val)) - let repetition = false - this.seleMateriaList.forEach(item => { - if (item.locationId == this.location) { - if (item.id == material.id) { - repetition = true - return - } + let tempMaterial = this.seleMateriaList.find(item => item.locationId == this.location) + if (tempMaterial) { + if (tempMaterial.qualityType == material.qualityType && tempMaterial.procedureId == material + .procedureId && + tempMaterial.batch == material.batch && tempMaterial.materialId == material.materialId) { + uni.$u.toast('鐩稿悓璐т綅锛屽悓涓�涓墿鏂欏彧鑳芥湁涓�涓�') + return } - }) - if (repetition) { - uni.$u.toast('鐩稿悓璐т綅锛屽悓涓�涓墿鏂欏彧鑳芥湁涓�涓�') - return } - // let tempMaterial = this.seleMateriaList.find(item => item.locationId == this.location) - // debugger - // if (tempMaterial) { - // /* - // tempMaterial.qualityType == material.qualityType - // && tempMaterial.procedureId == material.procedureId - // &&tempMaterial.batch == material.batch - // &&tempMaterial.oldLocationId == material.locationId - // && tempMaterial.materialId == material.materialId - // */ - // if (tempMaterial.id == material.id) { - // uni.$u.toast('鐩稿悓璐т綅锛屽悓涓�涓墿鏂欏彧鑳芥湁涓�涓�') - // return - // } - // } - // if (tempMaterial && tempMaterial.id == material.id) { - // uni.$u.toast('鐩稿悓璐т綅锛屽悓涓�涓墿鏂欏彧鑳芥湁涓�涓�') - // return - // } let materialNum = 0 let num = 0 - // let selectedM = this.seleMateriaList.find(item => item.id == material.id) - // let waitMaterial = this.MateriaList.find(item => item.id === material.id) this.seleMateriaList.forEach(item => { if (item.id === material.id) { materialNum += Number(item.outActnum) @@ -345,11 +319,9 @@ num = item.outActnum - materialNum } }) - material.outActnum = num this.seleMateriaList.push({ ...material, - oldLocationId: material.locationId, locationId: this.location, locationName: this.locationName }) @@ -410,7 +382,6 @@ }).then(res => { if (res.code === 200) { this.$store.dispatch('getUpcomingNum') - uni.$emit('success') uni.$u.toast('鎿嶄綔鎴愬姛') if (this.type == '4') { // 璺宠浆瀹屽伐鍏ュ簱璇︽儏 // uni.navigateTo({ @@ -428,9 +399,9 @@ return } uni.redirectTo({ - url: `/pages_adjust/pages/warehousingDetails/warehousingDetails?id=${this.id}` - // pages_adjust/pages/warehousingDetails/warehousingDetails + url: `/pages_adjust/pages/outboundDetails/outboundDetails?id=${this.id}` }) + // setTimeout(() => { // if (route.query.Type == '4') { // 璺宠浆瀹屽伐鍏ュ簱璇︽儏 // router.push({ @@ -462,7 +433,6 @@ if (res.code === 200) { this.$store.dispatch('getUpcomingNum') uni.$u.toast('鎿嶄綔鎴愬姛') - uni.$emit('success') uni.redirectTo({ url: `/pages_adjust/pages/warehousingDetails1/warehousingDetails1?id=${this.id}` }) @@ -764,7 +734,6 @@ display: flex; align-items: center; margin-top: 15rpx; - font-size: 24rpx; } .page_yxwl_list_item_num { diff --git a/minipro_standard/pages_inspect/pages/OutOperation/OutOperation.vue b/minipro_standard/pages/OutOperation/OutOperation.vue similarity index 76% rename from minipro_standard/pages_inspect/pages/OutOperation/OutOperation.vue rename to minipro_standard/pages/OutOperation/OutOperation.vue index e072852..0e5f6e4 100644 --- a/minipro_standard/pages_inspect/pages/OutOperation/OutOperation.vue +++ b/minipro_standard/pages/OutOperation/OutOperation.vue @@ -1,828 +1,788 @@ <template> - <page-meta :page-style="ban ?'overflow: hidden;': ''"/> - <view> - <InOutInfo :info="info" /> - <uni-collapse @change="change" @close="close" @open="open"> - <uni-collapse-item :open="item1.wtransferDetailList.length" v-if="type==7" - v-for="(item1, index) in warehouseList" :key="index"> - <view class="p30 cY" style="border-bottom: 4rpx solid #f7f7f7;" slot="title"> - <image src="../../../static/chuku_ic_cangku@2x.png" class="img36 mr10" mode=""></image> - <view>{{ item1.warehouseName }}</view> - </view> - <view class="p30"> - <div class="page_dck"> - <div class="page_dck_title"> - <div class="page_dck_title_x"></div> - <span>寰呭嚭搴撶墿鏂�</span> - </div> - </div> - <div class="page_content" v-for="(item, index) in item1.wtransferDetailList" :key="index" - :name="index"> - <div class="page_content_title"> - <div class="page_content_title_top"> - <span>{{ item.materialName + ' | ' + item.materialCode }}</span> - <span>寰呭嚭<span>{{ item.outPlannum }}</span> {{ item.unitName }}</span> - </div> - <div class="page_content_title_bottom"> - <span class="green" v-if="item.qualityType === 0">鍚堟牸<text class="c6" decode>{{ split}}</text></span> - <span class="warning" v-else-if="item.qualityType === 1">涓嶈壇<text class="c6" decode>{{ split}}</text></span> - <span class="error" v-else-if="item.qualityType === 2">鎶ュ簾<text class="c6" decode>{{ split}}</text></span> - <span v-else>-<text class="c6" decode>{{ split}}</text></span> - <span>{{item.procedureName || '-'}}<text class="c6" decode>{{ split}}</text></span> - <span>{{item.batch ? item.batch : '-'}}</span> - </div> - </div> - <div class="page_content_list" v-for="(childer, idxs) in item.wstockExtListVOList" :key="idxs"> - <div class="page_content_list_item"> - <div class="page_content_list_item_label">鍑哄簱璐т綅锛�</div> - <div class="page_content_list_item_nr">{{ childer.locationName }}</div> - </div> - <div class="page_content_list_items"> - <div class="page_content_list_item_label">鏁伴噺锛�</div> - <div class="page_content_list_item_nr">{{ childer.num }}{{ childer.unitName }}</div> - </div> - <div class="page_content_list_item"> - <div class="page_content_list_item_label">鎵规鍙凤細</div> - <div class="page_content_list_item_nr">{{ childer.batch ? childer.batch : '-' }}</div> - </div> - </div> - </div> - </view> - </uni-collapse-item> - <uni-collapse-item v-if="type==8"> - <view class="p30 cY" style="border-bottom: 4rpx solid #f7f7f7;" slot="title"> - <image src="../../../static/chuku_ic_cangku@2x.png" class="img36 mr10" mode=""></image> - <view>{{ info.warehouseName }}</view> - </view> - <view class="p30"> - <div class="page_dck"> - <div class="page_dck_title"> - <div class="page_dck_title_x"></div> - <span>寰呭嚭搴撶墿鏂�</span> - </div> - </div> - <div class="page_content" v-for="(item, index) in woutboundDetailsWait" :key="index" :name="index"> - <div class="page_content_title"> - <div class="page_content_title_top"> - <span>{{ item.materialName + ' | ' + item.materialCode }}</span> - <span>寰呭嚭 <span>{{ item.num }}</span> {{ item.unitName }}</span> - </div> - <div class="page_content_title_bottom"> - <span class="green" v-if="item.qualityType === 0">鍚堟牸<text class="c6" decode>{{ split}}</text></span> - <span class="warning" v-else-if="item.qualityType === 1">涓嶈壇<text class="c6" decode>{{ split}}</text></span> - <span class="error" v-else-if="item.qualityType === 2">鎶ュ簾<text class="c6" decode>{{ split}}</text></span> - <span v-else>-<text class="c6" decode>{{ split}}</text></span> - <span>{{item.procedureName ? item.procedureName : '-'}}<text class="c6" decode>{{ split}}</text></span> - <span>{{item.batch ? item.batch : '-'}}</span> - </div> - </div> - <div class="page_content_list" v-for="(items, ind) in item.wstockExtListVOList" :key="ind"> - <div class="page_content_list_item"> - <div class="page_content_list_item_label">鎵规鍙凤細</div> - <div class="page_content_list_item_nr">{{ items.batch ? items.batch : '-' }}</div> - </div> - <div class="page_content_list_items"> - <div class="page_content_list_item_label">鏁伴噺锛�</div> - <div class="page_content_list_item_nr">{{ items.num }}{{ items.umodel.name }}</div> - </div> - <div class="page_content_list_item" v-if="items.lmodel"> - <div class="page_content_list_item_label">鍑哄簱璐т綅锛�</div> - <div class="page_content_list_item_nr">{{ items.lmodel.unionName }}</div> - </div> - </div> - </div> - </view> - </uni-collapse-item> - </uni-collapse> - - <div class="page_h"></div> - <div class="page_yxwl"> - <div class="page_yxwl_title"> - <div class="left"> - <div class="page_yxwl_title_x"></div> - <span>宸查�夋嫨鐗╂枡</span> - </div> - - <div class="right" v-if="isZKD" @click="openxz"> - <image src="../../../static/gongdan_ic_shoudong@2x.png" class="img36" mode=""></image> - <span>鎵嬪姩鍑哄簱</span> - </div> - </div> - <div class="page_yxwl_list" v-if="outboundList.length > 0"> - <div class="page_yxwl_list_item" v-for="(item, index) in outboundList" :key="index"> - <div class="page_yxwl_list_item_top"> - <div class="page_yxwl_list_item_top_left">{{ item.materialName }} | {{ item.materialCode }} - </div> - - </div> - <div class="page_yxwl_list_item_sx"> - <span class="green" v-if="item.qualityType == 0">鍚堟牸<text class="c6" decode>{{ split}}</text></span> - <span class="yellow" v-else-if="item.qualityType == 1">涓嶈壇<text class="c6" decode>{{ split}}</text></span> - <span class="red" v-else-if="item.qualityType == 2">鎶ュ簾<text class="c6" decode>{{ split}}</text></span> - <span v-else>-<text class="c6" decode>{{ split}}</text></span> - <span>{{ item.procedureName ? item.procedureName : '-' }}<text class="c6" decode>{{ split}}</text></span> - <span>{{ item.batch ? item.batch : '-' }}</span> - </div> - <div class="page_yxwl_list_item_num"> - <div class="item"> - <div class="label">鍑哄簱璐т綅锛�</div> - <div class="nr"> - <span>{{ item.locationName }}</span> - </div> - </div> - <div class="item f24"> - <div class="label">鏁伴噺锛�</div> - <div class="nr"> - <!-- @input="changeNum(item)" --> - <input type="number" v-model="item.num" placeholder="璇疯緭鍏�"> - <span>{{ item.unitName }}</span> - </div> - </div> - <div class="dele" @click="dele(index)"> - <!-- <img src="@/assets/icon/chuku_ic_delete@2x.png" alt="" /> --> - <image src="../../../static/chuku_ic_delete@2x.png" class="img48" mode=""></image> - </div> - </div> - </div> - </div> - <div class="page_yxwl_kong" v-else>鏆傛棤鏁版嵁</div> - </div> - <div class="page_zw"></div> - <!-- 鎻愪氦鎸夐挳 --> - <div class="page_footer"> - <div class="page_footer_ck" @click="submit"> - <span>纭鍑哄簱</span> - </div> - </div> - <SelectTraMultipleMaterial ref="selectTraMultipleMaterial" @close="ban = false" @selectes="selectMaterail" /> - </view> -</template> - -<script> - import InOutInfo from '@/components/InOutInfo.vue' - import SelectTraMultipleMaterial from '@/components/SelectTraMultipleMaterial.vue' - import { - QRCodeType - } from '@/common/config.js' - import { - outScanAppliances, - wTransferForInOut, - wTransferForInOutUpload, - wOutBoundForInOut, - wOutBoundForUpload, - transferToOutNew - } from '@/util/api/ExWarehouse' - import { - getDB - } from '@/util/api/agencyAPI' - export default { - components: { - InOutInfo, - SelectTraMultipleMaterial - }, + <view> + <InOutInfo :info="info" /> + <uni-collapse @change="change" @close="close" @open="open"> + <uni-collapse-item :open="item1.wtransferDetailList.length" v-if="type==7" v-for="(item1, index) in warehouseList" :key="index"> + <view class="p30 cY" style="border-bottom: 4rpx solid #f7f7f7;" slot="title"> + <image src="../../static/chuku_ic_cangku@2x.png" class="img36 mr10" mode=""></image> + <view>{{ item1.warehouseName }}</view> + </view> + <view class="p30"> + <div class="page_dck"> + <div class="page_dck_title"> + <div class="page_dck_title_x"></div> + <span>寰呭嚭搴撶墿鏂�</span> + </div> + </div> + <div class="page_content" v-for="(item, index) in item1.wtransferDetailList" :key="index" + :name="index"> + <div class="page_content_title"> + <div class="page_content_title_top"> + <span>{{ item.materialName + ' | ' + item.materialCode }}</span> + <span>寰呭嚭<span>{{ item.outPlannum }}</span> {{ item.unitName }}</span> + </div> + <div class="page_content_title_bottom"> + <span class="green" v-if="item.qualityType === 0">鍚堟牸 <span + class="black">/</span> </span> + <span class="warning" v-else-if="item.qualityType === 1">涓嶈壇 <span + class="black">/</span> </span> + <span class="error" v-else-if="item.qualityType === 2">鎶ュ簾 <span + class="black">/</span> </span> + <span v-else>- / </span> + <span>{{item.procedureName ? item.procedureName : '-'}} / </span> + <span>{{item.batch ? item.batch : '-'}}</span> + </div> + </div> + <div class="page_content_list" v-for="(childer, idxs) in item.wstockExtListVOList" :key="idxs"> + <div class="page_content_list_item"> + <div class="page_content_list_item_label">鍑哄簱璐т綅锛�</div> + <div class="page_content_list_item_nr">{{ childer.locationName }}</div> + </div> + <div class="page_content_list_items"> + <div class="page_content_list_item_label">鏁伴噺锛�</div> + <div class="page_content_list_item_nr">{{ childer.num }}{{ childer.unitName }}</div> + </div> + <div class="page_content_list_item"> + <div class="page_content_list_item_label">鎵规鍙凤細</div> + <div class="page_content_list_item_nr">{{ childer.batch ? childer.batch : '-' }}</div> + </div> + </div> + </div> + </view> + </uni-collapse-item> + <uni-collapse-item v-if="type==8"> + <view class="p30 cY" style="border-bottom: 4rpx solid #f7f7f7;" slot="title"> + <image src="../../static/chuku_ic_cangku@2x.png" class="img36 mr10" mode=""></image> + <view>{{ info.warehouseName }}</view> + </view> + <view class="p30"> + <div class="page_dck"> + <div class="page_dck_title"> + <div class="page_dck_title_x"></div> + <span>寰呭嚭搴撶墿鏂�</span> + </div> + </div> + <div class="page_content" v-for="(item, index) in woutboundDetailsWait" :key="index" :name="index"> + <div class="page_content_title"> + <div class="page_content_title_top"> + <span>{{ item.materialName + ' | ' + item.materialCode }}</span> + <span>寰呭嚭 <span>{{ item.num }}</span> {{ item.unitName }}</span> + </div> + <div class="page_content_title_bottom"> + <span class="green" v-if="item.qualityType === 0">鍚堟牸 <span + class="black">/</span> </span> + <span class="warning" v-else-if="item.qualityType === 1">涓嶈壇 <span + class="black">/</span> </span> + <span class="error" v-else-if="item.qualityType === 2">鎶ュ簾 <span + class="black">/</span> </span> + <span v-else>- / </span> + <span>{{item.procedureName ? item.procedureName : '-'}} / </span> + <span>{{item.batch ? item.batch : '-'}}</span> + </div> + </div> + <div class="page_content_list" v-for="(items, ind) in item.wstockExtListVOList" :key="ind"> + <div class="page_content_list_item"> + <div class="page_content_list_item_label">鎵规鍙凤細</div> + <div class="page_content_list_item_nr">{{ items.batch ? items.batch : '-' }}</div> + </div> + <div class="page_content_list_items"> + <div class="page_content_list_item_label">鏁伴噺锛�</div> + <div class="page_content_list_item_nr">{{ items.num }}{{ items.umodel.name }}</div> + </div> + <div class="page_content_list_item" v-if="items.lmodel"> + <div class="page_content_list_item_label">鍑哄簱璐т綅锛�</div> + <div class="page_content_list_item_nr">{{ items.lmodel.unionName }}</div> + </div> + </div> + </div> + </view> + </uni-collapse-item> + </uni-collapse> + + <div class="page_h"></div> + <div class="page_yxwl"> + <div class="page_yxwl_title"> + <div class="left"> + <div class="page_yxwl_title_x"></div> + <span>宸查�夋嫨鐗╂枡</span> + </div> + + <div class="right" v-if="isZKD" @click="openxz"> + <image src="../../static/gongdan_ic_shoudong@2x.png" class="img36" mode=""></image><span>鎵嬪姩鍑哄簱</span> + </div> + </div> + <div class="page_yxwl_list" v-if="outboundList.length > 0"> + <div class="page_yxwl_list_item" v-for="(item, index) in outboundList" :key="index"> + <div class="page_yxwl_list_item_top"> + <div class="page_yxwl_list_item_top_left">{{ item.materialName }} | {{ item.materialCode }} + </div> + + </div> + <div class="page_yxwl_list_item_sx"> + <span class="green" v-if="item.qualityType == 0">鍚堟牸 <span>/</span></span> + <span class="yellow" v-else-if="item.qualityType == 1">涓嶈壇 <span>/</span></span> + <span class="red" v-else-if="item.qualityType == 2">鎶ュ簾 <span>/</span></span> + <span v-else>- / </span> + <span> {{ item.procedureName ? item.procedureName : '-' }} / </span> + <span> {{ item.batch ? item.batch : '-' }}</span> + </div> + <div class="page_yxwl_list_item_num"> + <div class="item"> + <div class="label">鍑哄簱璐т綅锛�</div> + <div class="nr"> + <span>{{ item.locationName }}</span> + </div> + </div> + <div class="item"> + <div class="label">鏁伴噺锛�</div> + <div class="nr"> + <!-- @input="changeNum(item)" --> + <input type="number" v-model="item.num" placeholder="璇疯緭鍏�"> + <span>{{ item.unitName }}</span> + </div> + </div> + <div class="dele" @click="dele(index)"> + <!-- <img src="@/assets/icon/chuku_ic_delete@2x.png" alt="" /> --> + <image src="../../static/chuku_ic_delete@2x.png" class="img24" mode=""></image> + </div> + </div> + </div> + </div> + <div class="page_yxwl_kong" v-else>鏆傛棤鏁版嵁</div> + </div> + <div class="page_zw"></div> + <!-- 鎻愪氦鎸夐挳 --> + <div class="page_footer"> + <div class="page_footer_ck" @click="submit"> + <span>纭鍑哄簱</span> + </div> + </div> + <SelectTraMultipleMaterial ref="selectTraMultipleMaterial" @selectes="selectMaterail" /> + </view> +</template> + +<script> + import InOutInfo from '@/components/InOutInfo.vue' + import SelectTraMultipleMaterial from '@/components/SelectTraMultipleMaterial.vue' + import { + QRCodeType + } from '@/common/config.js' + import { + outScanAppliances, + wTransferForInOut, + wTransferForInOutUpload, + wOutBoundForInOut, + wOutBoundForUpload, + transferToOutNew + } from '@/util/api/ExWarehouse' + import { + getDB + } from '@/util/api/agencyAPI' + import { + logout + } from '../../util/api' + export default { + components: { + InOutInfo, + SelectTraMultipleMaterial + }, data() { - return { - ban: false, - type: '', - id: '', - dbid: '', - isZKD: false, - show: false, - info: { - + type: '', + id: '', + dbid: '', + isZKD: false, + show: false, + info: { + }, - split: ' / ', - mainOrder: '', - warehouseId: '', - ids: [], - warehouseList: [{ - - }], - woutboundDetailsWait: [], - outboundList: [] - }; - }, - onLoad(option) { - this.type = option.type - this.id = option.id - this.isZKD = this.type == QRCodeType.ZKD - this.dbid = option.dbid - if (option.dbid) { - this.getDBs(option.dbid) - } else { - this.getInfo() - } - }, - methods: { - // 鍒ゆ柇鏄惁瀹屾垚 - getDBs(dbid) { - getDB(dbid) - .then(res => { - let { - data - } = res - if (data.status == 1) { - // 宸插畬鎴� - } else { - this.getInfo() - } - }) - .catch(err => {}) - }, - getInfo() { - let infoAction - let data = { - id: this.id - } - if (this.type == QRCodeType.CKD) { - infoAction = wOutBoundForInOut - data.wOutboundType = '0' - } else if (this.type == QRCodeType.ZKD) { - infoAction = wTransferForInOut - data.wTransferType = '0' - } - infoAction(data).then(res => { - this.mainOrder = res.data.id - if (this.isZKD) { - this.info = res.data.wtransfer - this.warehouseList = res.data.wtransferWarehouseList - this.warehouseId = this.warehouseList[0].warehouseId - } else { - this.info = res.data.woutbound - this.woutboundDetailsWait = res.data.woutboundDetailsWait - this.warehouseId = this.woutboundDetailsWait[0].warehouseId - } - }).catch(err => { - uni.$u.toast(err) - uni.navigateBack() - }) - }, - change() {}, - close() {}, - open() {}, - openxz() { - this.ban = true - this.$refs.selectTraMultipleMaterial.open({ - transferId: this.id, - warehouseId: this.warehouseId - }) - }, - selectMaterail(v) { - this.ban = false - let tempList = this.warehouseList[0].wtransferDetailList - let materials = JSON.parse(JSON.stringify(v.materials)) - tempList.forEach(item => { - let isOutList = false - this.outboundList.forEach(selected => { - if (selected.newId == item.id) { - isOutList = true - return + warehouseId: '', + ids: [], + warehouseList: [{ + + }], + woutboundDetailsWait: [], + outboundList: [] + }; + }, + onLoad(option) { + this.type = option.type + this.id = option.id + this.isZKD = this.type == QRCodeType.ZKD + this.dbid = option.dbid + if (option.dbid) { + this.getDBs(option.dbid) + } else { + this.getInfo() + } + }, + methods: { + // 鍒ゆ柇鏄惁瀹屾垚 + getDBs(dbid) { + getDB(dbid) + .then(res => { + let { + data + } = res + if (data.status == 1) { + // 宸插畬鎴� + } else { + this.getInfo() } }) - if (!isOutList) { + .catch(err => {}) + }, + getInfo() { + let infoAction + let data = { + id: this.id + } + if (this.type == QRCodeType.CKD) { + infoAction = wOutBoundForInOut + data.wOutboundType = '0' + } else if (this.type == QRCodeType.ZKD) { + infoAction = wTransferForInOut + data.wTransferType = '0' + } + infoAction(data).then(res => { + if (this.isZKD) { + this.info = res.data.wtransfer + this.warehouseList = res.data.wtransferWarehouseList + this.warehouseId = this.warehouseList[0].warehouseId + } else { + this.info = res.data.woutbound + this.woutboundDetailsWait = res.data.woutboundDetailsWait + this.warehouseId = this.woutboundDetailsWait[0].warehouseId + } + }).catch(err => { + uni.$u.toast(err) + uni.navigateBack() + }) + }, + change() {}, + close() {}, + open() {}, + openxz() { + this.$refs.selectTraMultipleMaterial.open({ + transferId: this.id, + warehouseId: this.warehouseId + }) + }, + selectMaterail(v) { + let tempList = this.warehouseList[0].wtransferDetailList + let materials = v.materials + + materials.forEach(materail => { + + tempList.forEach(item => { item.wstockExtListVOList.forEach(hw => { - materials.forEach((materail, index) => { - if (hw.materialId == materail.materialId && - hw.procedureId == materail.procedureId && - hw.qualityType == materail.qualityType && - hw.locationId == materail.locationId && - hw.batch == materail.batch - ) { - this.addToOutList(materail, item) - materials.splice(index, 1) + if (materail.materialId == hw.materialId && materail.procedureId == hw + .procedureId && materail.qualityType == hw.qualityType && materail.batch == + hw.batch) { + let isExist = false + this.outboundList.forEach(selected => { + if (selected.newId == materail.id) { + isExist = true return + } + }) + if (isExist) { + uni.$u.toast('璇ョ墿鏂欐壒娆″凡瀛樺湪') + return + } + let obj = JSON.parse(JSON.stringify(materail)) + obj.newId = item.id + this.outboundList.push(obj) + } + }) + + }) + }) + }, + dele(index) { + this.outboundList.splice(index, 1) + }, + submit() { + if (this.type == QRCodeType.ZKD) { + if (this.outboundList.length > 0) { + let result = this.outboundList.reduce((a, b) => { + if (a[b.newId]) { + a[b.newId].push(b); + } else { + a[b.newId] = [b]; + } + return a; + }, {}); + let tempList = this.warehouseList[0].wtransferDetailList + + for (let i = 0; i < tempList.length; i++) { + let item = tempList[i] + for (let a in result) { + if (item.id == a) { + let total = 0 + for (let b = 0; b < result[a].length; b++) { + total = Number(total) + Number(result[a][b].num) + } + if (!total || total <= 0) { + uni.$u.toast('鍑哄簱鐗╂枡鏁伴噺蹇呴』澶т簬0') + return + } + console.log(total, item.outPlannum); + if (total > item.outPlannum) { + uni.$u.toast('鍑哄簱鏁伴噺涓嶈兘澶т簬寰呭嚭搴撴暟閲�') + return + } + } + } + } + let submitTransferOutDetailDTOList = [] + this.outboundList.forEach(item => { + tempList.forEach(child => { + if (item.newId == child.id) { + submitTransferOutDetailDTOList.push({ + outNum: item.num, + wstockId: item.id, + wtransferDetailId: child.id + }) } }) }) - - - // if (item.batch) { - // // 绮剧‘鍖归厤 - // if (materail.materialId == item.materialId && - // materail.procedureId == item.procedureId && - // materail.qualityType == item.qualityType && - // materail.batch == item.batch - // ) { - // this.addToOutList(materail, item) - // materials.splice(index, 1) - // return - // } - // } else { - // if (materail.materialId == item.materialId && - // materail.procedureId == item.procedureId && - // materail.qualityType == item.qualityType - // ) { - // this.addToOutList(materail, item) - // materials.splice(index, 1) - // return - // } - // } - - } - }) - }, - addToOutList(materail, item) { - let isExist = false - this.outboundList.forEach(selected => { - if (selected.newId == materail.id) { - isExist = true - return + transferToOutNew({ + submitTransferOutDetailDTOList, + wtransferId: this.id + }).then(res => { + if (res.code === 200) { + this.$store.dispatch('getUpcomingNum') + uni.$u.toast('鎿嶄綔鎴愬姛') + uni.redirectTo({ + url: `/pages/warehousingDetails/warehousingDetails?id=${this.info.id}&dbid=${this.dbid}` + }) + // uni.redirectTo({ + // url: `/pages_adjust/pages/outboundDetails/outboundDetails?id=${this.info.id}&dbid=${this.dbid}` + // }) + // setTimeout(() => { + // router.replace({ name: 'wTransferDetail', query: { id: info.value.wtransfer.id, dbid: route.query.dbid } }) + // }, 2000) + } + }) + } else { + uni.$u.toast('璇烽�夋嫨鍑哄簱鐗╂枡') } - }) - if (isExist) { - uni.$u.toast('璇ョ墿鏂欏凡瀛樺湪') - } else { - let obj = JSON.parse(JSON.stringify(materail)) - obj.newId = item.id - this.outboundList.push(obj) - console.log(this.outboundList); + } else if (this.type === QRCodeType.CKD) { + wOutBoundForUpload({ + id: info.value.woutbound.id, + wOutboundType: 0 + }).then(res => { + if (res.code === 200) { + this.$store.dispatch('getUpcomingNum') + uni.$u.toast('鎿嶄綔鎴愬姛') + uni.redirectTo({ + url: `/pages_adjust/pages/outboundDetails/outboundDetails?id=${this.info.id}` + }) + // setTimeout(() => { + // // router.go(-1) + // router.replace({ name: 'wOutboundDetail', query: { id: info.value.wtransfer.id } }) + // }, 2000) + } + }) } - }, - dele(index) { - this.outboundList.splice(index, 1) - }, - submit() { - if (this.type == QRCodeType.ZKD) { - if (this.outboundList.length > 0) { - let result = this.outboundList.reduce((a, b) => { - if (a[b.newId]) { - a[b.newId].push(b); - } else { - a[b.newId] = [b]; - } - return a; - }, {}); - let tempList = this.warehouseList[0].wtransferDetailList - for (let i = 0; i < tempList.length; i++) { - let item = tempList[i] - for (let a in result) { - if (item.id == a) { - let total = 0 - for (let b = 0; b < result[a].length; b++) { - total = Number(total) + Number(result[a][b].num) - } - if (!total || total <= 0) { - uni.$u.toast('鍑哄簱鐗╂枡鏁伴噺蹇呴』澶т簬0') - return - } - console.log(total, item.outPlannum); - if (total > item.outPlannum) { - uni.$u.toast('鍑哄簱鏁伴噺涓嶈兘澶т簬寰呭嚭搴撴暟閲�') - return - } - } - } - } - let submitTransferOutDetailDTOList = [] - this.outboundList.forEach(item => { - tempList.forEach(child => { - if (item.newId == child.id) { - submitTransferOutDetailDTOList.push({ - outNum: item.num, - wstockId: item.id, - wtransferDetailId: child.id - }) - } - }) - }) - transferToOutNew({ - submitTransferOutDetailDTOList, - wtransferId: this.id - }).then(res => { - if (res.code === 200) { - this.$store.dispatch('getUpcomingNum') - uni.$u.toast('鎿嶄綔鎴愬姛') - uni.$emit('success') - uni.redirectTo({ - url: `/pages_adjust/pages/warehousingDetails/warehousingDetails?id=${this.id}&dbid=${this.dbid}` - }) - // setTimeout(() => { - // router.replace({ name: 'wTransferDetail', query: { id: info.value.wtransfer.id, dbid: route.query.dbid } }) - // }, 2000) - } - }) - } else { - uni.$u.toast('璇烽�夋嫨鍑哄簱鐗╂枡') - } - } else if (this.type === QRCodeType.CKD) { - wOutBoundForUpload({ - id: this.id, - wOutboundType: 0 - }).then(res => { - if (res.code === 200) { - this.$store.dispatch('getUpcomingNum') - uni.$u.toast('鎿嶄綔鎴愬姛') - uni.$emit('success') - uni.redirectTo({ - url: `/pages_adjust/pages/outboundDetails/outboundDetails?id=${this.id}` - }) - // setTimeout(() => { - // // router.go(-1) - // router.replace({ name: 'wOutboundDetail', query: { id: info.value.wtransfer.id } }) - // }, 2000) - } - }) - } - } - } - } -</script> - -<style lang="scss"> - .page_dck { - .page_dck_title { - display: flex; - align-items: center; - - .page_dck_title_x { - width: 8rpx; - height: 30rpx; - background: #4275FC; - border-radius: 2rpx; - margin-right: 16rpx; - } - - span { - font-size: 32rpx; - font-weight: 500; - color: #222222; - } - } - } - - .page_content { - margin-top: 36rpx; - - .page_content_title { - display: flex; - flex-direction: column; - margin-bottom: 10rpx; - - .page_content_title_top { - display: flex; - align-items: center; - justify-content: space-between; - - span { - &:nth-child(1) { - font-size: 30rpx; - font-weight: 500; - color: #222222; - } - - &:nth-child(2) { - flex-shrink: 0; - font-size: 24rpx; - font-weight: 400; - color: #333333; - - span { - font-size: 24rpx; - color: $nav-color; - } - } - } - } - - .page_content_title_bottom { - .green { - color: $nav-stateColor7 !important; - - .black { - color: black !important; - } - } - - .warning { - color: $nav-stateColor5 !important; - - .black { - color: black !important; - } - } - - .error { - color: $nav-stateColor4 !important; - - .black { - color: black !important; - } - } - - span { - font-size: 24rpx; - font-weight: 400; - color: #666666; - } - } - } - - .lineBorder { - border: none !important; - padding-bottom: 0 !important; - margin-bottom: 24rpx; - } - - .page_content_list { - width: 100%; - display: flex; - align-items: center; - flex-wrap: wrap; - - &:first-child { - margin: 0; - } - - &:last-child { - border: none; - } - - .page_content_list_nums { - width: 30%; - display: flex; - - .page_content_list_num_label { - font-size: 26rpx; - font-weight: 400; - color: #666666; - } - - .page_content_list_num_nr { - font-size: 26rpx; - font-weight: 400; - color: #222222; - } - } - - .page_content_list_num { - width: 70%; - display: flex; - - .page_content_list_num_label { - font-size: 26rpx; - font-weight: 400; - color: #666666; - } - - .page_content_list_num_nr { - font-size: 26rpx; - font-weight: 400; - color: #222222; - } - } - - .page_content_list_items { - width: 30%; - display: flex; - margin-top: 24rpx; - - .page_content_list_item_label { - font-size: 26rpx; - font-weight: 400; - color: #666666; - flex-shrink: 0; - } - - .page_content_list_item_nr { - font-size: 26rpx; - font-weight: 400; - color: #222222; - } - } - - .page_content_list_item { - width: 70%; - display: flex; - - .page_content_list_item_label { - font-size: 26rpx; - font-weight: 400; - color: #666666; - flex-shrink: 0; - } - - .page_content_list_item_nr { - font-size: 26rpx; - font-weight: 400; - color: #222222; - } - } - } - } - - .page_h { - height: 20rpx; - } - - .page_yxwl { - padding: 30rpx; - background: #ffffff; - - .page_yxwl_title { - display: flex; - align-items: center; - justify-content: space-between; - - .page_yxwl_title_x { - width: 8rpx; - height: 30rpx; - background: #4275FC; - border-radius: 2rpx; - margin-right: 16rpx; - } - - span { - font-size: 32rpx; - font-weight: 500; - color: #222222; - } - - .left { - display: flex; - align-items: center; - - .page_yxwl_title_x { - width: 8rpx; - height: 30rpx; - background: #4275FC; - border-radius: 2rpx; - margin-right: 16rpx; - } - - span { - font-size: 32rpx; - font-weight: 500; - color: #222222; - } - } - - .right { - display: flex; - align-items: center; - - img { - width: 28rpx; - height: 28rpx; - margin-right: 14rpx; - } - - span { - font-size: 26rpx; - font-weight: 400; - color: #222222; - } - } - } - - .page_yxwl_list { - display: flex; - flex-direction: column; - padding-bottom: 30rpx; - border-bottom: 1rpx solid #ececec; - - &:last-child { - margin-bottom: 0; - border: none; - } - - .page_yxwl_list_item { - margin-top: 28rpx; - - .page_yxwl_list_item_top { - display: flex; - align-items: center; - justify-content: space-between; - - .page_yxwl_list_item_top_left { - font-size: 30rpx; - font-weight: 500; - color: #222222; - } - } - - .page_yxwl_list_item_sx { - display: flex; - align-items: center; - margin-top: 15rpx; - font-size: 24rpx; - } - - .page_yxwl_list_item_num { - display: flex; - position: relative; - margin-top: 36rpx; - - &:first-child { - margin-top: 0; - } - - .dele { - position: absolute; - right: -30rpx; - width: 48rpx; - height: 48rpx; - - img { - width: 100%; - height: 100%; - } - } - - .item { - width: 50%; - display: flex; - align-items: center; - - .label { - flex-shrink: 0; - font-size: 26rpx; - font-weight: 400; - color: #666666; - flex-shrink: 0; - } - - .nr { - flex: 1; - display: flex; - align-items: center; - - input { - width: 130rpx; - height: 40rpx; - border-radius: 8rpx; - border: 1rpx solid #E5E5E5; - margin-right: 10rpx; - } - - span { - font-size: 26rpx; - font-weight: 400; - color: #222222; - } - } - } - } - } - } - - .page_yxwl_kong { - padding: 50rpx 0; - font-size: 25rpx; - display: flex; - align-items: center; - justify-content: center; - } - } - - .page_zw { - height: 160rpx; - } - - .page_footer { - width: calc(100% - 60rpx); - background: #F7F7F7; - display: flex; - align-items: center; - justify-content: space-between; - position: fixed; - bottom: 0; - left: 30rpx; - padding-bottom: 68rpx; - z-index: 9999; - - .page_footer_qr { - flex: 1; - height: 88rpx; - background: #fff; - box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08); - border-radius: 8rpx; - font-size: 32rpx; - font-weight: 500; - color: $nav-color; - display: flex; - align-items: center; - justify-content: center; - - img { - width: 30rpx; - height: 30rpx; - margin-right: 12rpx; - } - } - - .page_footer_ck { - flex: 1; - height: 88rpx; - background: $nav-color; - box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08); - border-radius: 8rpx; - font-size: 32rpx; - font-weight: 500; - color: #FFFFFF; - display: flex; - align-items: center; - justify-content: center; - } - } + } + } + } +</script> + +<style lang="scss"> + .page_dck { + .page_dck_title { + display: flex; + align-items: center; + + .page_dck_title_x { + width: 8rpx; + height: 30rpx; + background: #4275FC; + border-radius: 2rpx; + margin-right: 16rpx; + } + + span { + font-size: 32rpx; + font-weight: 500; + color: #222222; + } + } + } + + .page_content { + margin-top: 36rpx; + + .page_content_title { + display: flex; + flex-direction: column; + margin-bottom: 10rpx; + + .page_content_title_top { + display: flex; + align-items: center; + justify-content: space-between; + + span { + &:nth-child(1) { + font-size: 30rpx; + font-weight: 500; + color: #222222; + } + + &:nth-child(2) { + flex-shrink: 0; + font-size: 24rpx; + font-weight: 400; + color: #333333; + + span { + font-size: 24rpx; + color: $nav-color; + } + } + } + } + + .page_content_title_bottom { + .green { + color: $nav-stateColor7 !important; + + .black { + color: black !important; + } + } + + .warning { + color: $nav-stateColor5 !important; + + .black { + color: black !important; + } + } + + .error { + color: $nav-stateColor4 !important; + + .black { + color: black !important; + } + } + + span { + font-size: 24rpx; + font-weight: 400; + color: #666666; + } + } + } + + .lineBorder { + border: none !important; + padding-bottom: 0 !important; + margin-bottom: 24rpx; + } + + .page_content_list { + width: 100%; + display: flex; + align-items: center; + flex-wrap: wrap; + + &:first-child { + margin: 0; + } + + &:last-child { + border: none; + } + + .page_content_list_nums { + width: 30%; + display: flex; + + .page_content_list_num_label { + font-size: 26rpx; + font-weight: 400; + color: #666666; + } + + .page_content_list_num_nr { + font-size: 26rpx; + font-weight: 400; + color: #222222; + } + } + + .page_content_list_num { + width: 70%; + display: flex; + + .page_content_list_num_label { + font-size: 26rpx; + font-weight: 400; + color: #666666; + } + + .page_content_list_num_nr { + font-size: 26rpx; + font-weight: 400; + color: #222222; + } + } + + .page_content_list_items { + width: 30%; + display: flex; + margin-top: 24rpx; + + .page_content_list_item_label { + font-size: 26rpx; + font-weight: 400; + color: #666666; + flex-shrink: 0; + } + + .page_content_list_item_nr { + font-size: 26rpx; + font-weight: 400; + color: #222222; + } + } + + .page_content_list_item { + width: 70%; + display: flex; + + .page_content_list_item_label { + font-size: 26rpx; + font-weight: 400; + color: #666666; + flex-shrink: 0; + } + + .page_content_list_item_nr { + font-size: 26rpx; + font-weight: 400; + color: #222222; + } + } + } + } + + .page_h { + height: 20rpx; + } + + .page_yxwl { + padding: 30rpx; + background: #ffffff; + + .page_yxwl_title { + display: flex; + align-items: center; + justify-content: space-between; + + .page_yxwl_title_x { + width: 8rpx; + height: 30rpx; + background: #4275FC; + border-radius: 2rpx; + margin-right: 16rpx; + } + + span { + font-size: 32rpx; + font-weight: 500; + color: #222222; + } + + .left { + display: flex; + align-items: center; + + .page_yxwl_title_x { + width: 8rpx; + height: 30rpx; + background: #4275FC; + border-radius: 2rpx; + margin-right: 16rpx; + } + + span { + font-size: 32rpx; + font-weight: 500; + color: #222222; + } + } + + .right { + display: flex; + align-items: center; + + img { + width: 28rpx; + height: 28rpx; + margin-right: 14rpx; + } + + span { + font-size: 26rpx; + font-weight: 400; + color: #222222; + } + } + } + + .page_yxwl_list { + display: flex; + flex-direction: column; + padding-bottom: 30rpx; + border-bottom: 1rpx solid #ececec; + + &:last-child { + margin-bottom: 0; + border: none; + } + + .page_yxwl_list_item { + margin-top: 28rpx; + + .page_yxwl_list_item_top { + display: flex; + align-items: center; + justify-content: space-between; + + .page_yxwl_list_item_top_left { + font-size: 30rpx; + font-weight: 500; + color: #222222; + } + } + + .page_yxwl_list_item_sx { + display: flex; + align-items: center; + margin-top: 15rpx; + } + + .page_yxwl_list_item_num { + display: flex; + position: relative; + margin-top: 36rpx; + + &:first-child { + margin-top: 0; + } + + .dele { + position: absolute; + right: -30rpx; + width: 48rpx; + height: 48rpx; + + img { + width: 100%; + height: 100%; + } + } + + .item { + width: 50%; + display: flex; + align-items: center; + + .label { + flex-shrink: 0; + font-size: 26rpx; + font-weight: 400; + color: #666666; + flex-shrink: 0; + } + + .nr { + flex: 1; + display: flex; + align-items: center; + + input { + width: 130rpx; + height: 40rpx; + border-radius: 8rpx; + border: 1rpx solid #E5E5E5; + margin-right: 10rpx; + } + + span { + font-size: 26rpx; + font-weight: 400; + color: #222222; + } + } + } + } + } + } + + .page_yxwl_kong { + padding: 50rpx 0; + font-size: 25rpx; + display: flex; + align-items: center; + justify-content: center; + } + } + + .page_zw { + height: 160rpx; + } + + .page_footer { + width: calc(100% - 60rpx); + background: #F7F7F7; + display: flex; + align-items: center; + justify-content: space-between; + position: fixed; + bottom: 0; + left: 30rpx; + padding-bottom: 68rpx; + z-index: 9999; + .page_footer_qr { + flex: 1; + height: 88rpx; + background: #fff; + box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08); + border-radius: 8rpx; + font-size: 32rpx; + font-weight: 500; + color: $nav-color; + display: flex; + align-items: center; + justify-content: center; + + img { + width: 30rpx; + height: 30rpx; + margin-right: 12rpx; + } + } + + .page_footer_ck { + flex: 1; + height: 88rpx; + background: $nav-color; + box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08); + border-radius: 8rpx; + font-size: 32rpx; + font-weight: 500; + color: #FFFFFF; + display: flex; + align-items: center; + justify-content: center; + } + } </style> diff --git a/minipro_standard/pages/allocation/allocation.vue b/minipro_standard/pages/allocation/allocation.vue index 86e5f83..43ad353 100644 --- a/minipro_standard/pages/allocation/allocation.vue +++ b/minipro_standard/pages/allocation/allocation.vue @@ -60,9 +60,7 @@ <button class="fp_footer_submit" @click="submit">纭</button> </view> <!-- 閫夋嫨鏃ユ湡 --> - <!-- <u-calendar :show="timeShow" @close="timeShow = false" @confirm="timeConfirm"></u-calendar> --> - <l-calendar :lunar="false" v-model="timeShow" @change="timeConfirm" :isRange="true" activeBgColor="#305ED5" - rangeColor="#305ED5" rangeBgColor="rgba(48, 80, 213, 0.1)"></l-calendar> + <u-calendar :show="timeShow" @close="timeShow = false" @confirm="timeConfirm"></u-calendar> <!-- 閫夋嫨璁惧 --> <u-picker :show="show1" :columns="equipment" @confirm="confirm" @cancel="show1 = false" keyName="text"></u-picker> </view> @@ -107,12 +105,22 @@ this.form.equipmentId = val.value[0].id this.form.equipmentName = val.value[0].text this.personnelData = [] - this.getUser() + getFindAll({ + deviceId: this.form.equipmentId + }).then(res => { + if (res.code === 200 && res.data && res.data.length !== 0) { + this.form.personnelId = [] + let arr = [] + res.data.forEach((item) => { + arr.push({ text: item.dmodel.name + '-' + item.umodel.name, id: item.userId }) + }) + this.personnelData = arr + } + this.show1 = false + }) }, timeConfirm(val) { - // this.form.startTime = val[0] - this.listData.startDate = val.startDate - this.listData.endDate = val.endDate + this.form.startTime = val[0] this.timeShow = false }, // 鎻愪氦鍒嗛厤 @@ -145,27 +153,9 @@ res.data.forEach((element) => { arr.push({ text: element.code + '-' + element.name, id: element.id, checked: false }) }) - this.form.equipmentId = arr[0].id - this.form.equipmentName = arr[0].text - this.getUser() this.equipment.push(arr) } }) - }, - getUser() { - getFindAll({ - deviceId: this.form.equipmentId - }).then(res => { - if (res.code === 200 && res.data && res.data.length !== 0) { - this.form.personnelId = [] - let arr = [] - res.data.forEach((item) => { - arr.push({ text: item.dmodel.name + '-' + item.umodel.name, id: item.userId }) - }) - this.personnelData = arr - } - this.show1 = false - }) } } } diff --git a/minipro_standard/pages/changePassword/changePassword.vue b/minipro_standard/pages/changePassword/changePassword.vue index 51fb0b2..311f0d2 100644 --- a/minipro_standard/pages/changePassword/changePassword.vue +++ b/minipro_standard/pages/changePassword/changePassword.vue @@ -10,7 +10,6 @@ <view class="password_list_item_box"> <input type="password" v-model="form.originalPassword" maxlength="20" placeholder="璇疯緭鍏ュ師瀵嗙爜"> </view> - <text class="password_list_item_btn" @click="forgotPassword">蹇樿瀵嗙爜</text> </view> <view class="password_list_item"> <text>鏂板瘑鐮�</text> @@ -48,9 +47,7 @@ methods: { // 蹇樿瀵嗙爜 forgotPassword() { - uni.navigateTo({ - url: '/pages_adjust/pages/forgotPassword/forgotPassword' - }); + }, // 鎻愪氦淇敼 submit() { @@ -58,7 +55,7 @@ uni.showToast({ title: '鍘熷瘑鐮佷笉鑳戒负绌�', icon: 'none', duration: 2000 }); } else if (!this.form.newPassword) { uni.showToast({ title: '鏂板瘑鐮佷笉鑳戒负绌�', icon: 'none', duration: 2000 }); - } else if (!/^([a-z0-9\.\@\!\#\(/)/$\%\^\&\*\(\)]){6,20}$/i.test(this.form.newPassword)) { + } else if (!/^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{6,}$/.test(this.form.newPassword)) { uni.showToast({ title: '瀵嗙爜鏍煎紡涓嶆纭�', icon: 'none', duration: 2000 }); } else if (!this.form.confirmPassword) { uni.showToast({ title: '纭瀵嗙爜涓嶈兘涓虹┖', icon: 'none', duration: 2000 }); @@ -119,13 +116,6 @@ font-weight: 400; color: #222222; } - .password_list_item_btn { - text-align: right; - font-size: 26rpx; - font-family: PingFangSC-Regular, PingFang SC; - font-weight: 400; - color: #4275FC; - } .password_list_item_box { display: flex; justify-content: space-between; diff --git a/minipro_standard/pages/index/index.vue b/minipro_standard/pages/index/index.vue index 88883e6..8930d13 100644 --- a/minipro_standard/pages/index/index.vue +++ b/minipro_standard/pages/index/index.vue @@ -1,47 +1,69 @@ -<template> - <page-meta :page-style="ban ?'overflow: hidden;': ''"/> - <view class="index" > - <!-- :class="ban?'scroll-ban': ''" --> - <!-- <view class="mask" @tap="tapMask" @touchmove="moveHandle"></view> --> +<template> + <view class="index"> <!-- <web-view v-if="show" @onPostMessage="onMessage" :src="'https://dmtest.ahapp.net/doumeeplant_h5/#/appletLogin?code=' + code"></web-view> --> <!-- {{$store.state.statusbarHeight}} --> - +<<<<<<< HEAD + <div class="content_search"> + <v-Search @searchInput="searchForm.mixParam" @submit="search" @reset="reset" :isShow="true" + placeholder="鎼滅储鍏抽敭瀛�"> + <template v-slot:content> + <div class="Search_item"> + <div class="Search_item_label">璁″垝鏃ユ湡</div> + <div class="Search_item_content" @click="isOpenDate = true"> + <div class="Search_item_content_a" :style="searchForm.startDate ? 'color: #000;' : ''"> + {{ searchForm.startDate ? searchForm.startDate : '寮�濮嬫棩鏈�'}} + </div> + <span>-</span> + <div class="Search_item_content_a" :style="searchForm.endDate ? 'color: #000;' : ''"> + {{ searchForm.endDate ? searchForm.endDate : '缁撴潫鏃ユ湡'}} + </div> + </div> + </div> + </template> + </v-Search> + <div class="content_search_x"></div> + <v-LableSelection :TagList="tagList" :isShow="true" @change="clickTag"></v-LableSelection> + </div> +======= + +>>>>>>> 89d77a7cd7285feda993bffec2513892f8bd355f <u-sticky> - <view class="plr30 pb30 nav-style bg_w"> + <view class="plr30 pb30 nav-style"> <view :style="{background: '#fff', zIndex: '999', paddingTop: `${statusbarHeight}px`, height: `${navHeight}px`, lineHeight:`${navHeight}px`, textAlign: 'center'}"> 寰呭姙</view> - <div class="content_search"> - <v-Search @searchInput="searchInput" @submit="confirm" @reset="resetType" :isShow="true" - placeholder="鎼滅储鍏抽敭瀛�" @scrollerBan="$event => ban=$event"> - <template v-slot:content> - <view class="rp contanir"> - <view class="c2 b">绫诲瀷</view> - <view class="content"> - <u-grid col="2" :border="false"> - <u-grid-item v-for="item in types" :key="item.id"> - <view class="ptb20 f26 c9 type-style tc rd10" :class="type===item.id?'sbtn_green':'sbtn_gray'" - @click="type=item.id">{{ item.name }}</view> - </u-grid-item> - </u-grid> - </view> - <!-- <view class="flex ap tc bottom-view"> - <view class="fx1 ptb20 sbtn_gray c9" @click="resetType">閲嶇疆</view> - <view class="fx1 ml20 ptb20 sbtn_green" @click="confirm">纭畾</view> - </view> --> - </view> - </template> - </v-Search> - <div class="content_search_x"></div> - <LabelSelection :TagList="tagList" :isShow="true" @change="clickTag"></LabelSelection> - </div> + <view class="cY"> + <u-search placeholder="鎼滅储鍏抽敭瀛�" bgColor="#f7f7f7" :showAction="false" @search="search" + shape="square" v-model="searchForm.mixParam"></u-search> + <image src="../../static/filter@2x.png" class="img48 ml20" @click="filterAction" mode=""></image> + </view> +<<<<<<< HEAD + <view class="cY mt30 bg_w"> + <view v-for="item in tagList" :key="item.id" class="tag_item mr10" + :class="searchForm.status==item.id?'sbtn_green':'sbtn_black_rim'" @click="selectType(item.id)"> + {{`${item.name}(${item.num})`}} + </view> + </view> </view> - </u-sticky> - - <scroll-view :style="{height: height}" v-if="projectList.length" scroll-y refresher-enabled="true" :refresher-triggered="triggered" @scrolltolower="loadMore" + </u-sticky> + <scroll-view v-if="projectList.length" scroll-y refresher-enabled="true" :refresher-triggered="triggered" @scrolltolower="loadMore" @refresherrefresh="refresh" > <view v-for="(item, index) in projectList" :key="index"> +======= + <view class="cY mt30"> + <view class="sbtn rd8" :class="searchForm.status==0?'sbtn_green':'sbtn_black_rim'" + @click="selectType(0)">寰呭姙</view> + <view class="sbtn rd8 ml20" :class="searchForm.status==1?'sbtn_green':'sbtn_black_rim'" + @click="selectType(1)">宸插姙</view> + </view> + </view> + </u-sticky> + + <u-list :showScrollbar="false" @scrolltolower="scrolltolower" @scrolltoupper="scrolltoupper" + :height="windowHeight - (statusbarHeight + navHeight + 120) + 'px'"> + <u-list-item v-for="(item, index) in projectList" :key="index"> +>>>>>>> 89d77a7cd7285feda993bffec2513892f8bd355f <view class="box_list"> <view class="box_list_item" @click="jump(item)"> <view class="box_list_item_icon"> @@ -58,10 +80,11 @@ </view> </view> </view> +<<<<<<< HEAD </view> </scroll-view> <view v-else class="tc c6">鏆傛棤鏁版嵁...</view> - <!-- <u-popup :show="show" @close="close" :round="8" zIndex="20000"> + <u-popup :show="show" @close="close" :round="8" zIndex="20000"> <view class="rp p40 contanir"> <view class="c2 b">绫诲瀷</view> <view class="content"> @@ -76,16 +99,25 @@ <view class="fx1 ptb20 sbtn_gray c9" @click="resetType">閲嶇疆</view> <view class="fx1 ml20 ptb20 sbtn_green" @click="confirm">纭畾</view> </view> - </view> --> +======= + </u-list-item> + </u-list> + <u-popup :show="show" @close="close" :round="8" zIndex="20000"> + <view class="rp p40 contanir"> + <view class="c2 b">绫诲瀷</view> + <view class="flex ap tc bottom-view"> + <view class="fx1 ptb20 sbtn_gray c9">閲嶇疆</view> + <view class="fx1 ml20 ptb20 sbtn_green">纭畾</view> + </view> +>>>>>>> 89d77a7cd7285feda993bffec2513892f8bd355f + </view> </u-popup> <myTabbar :index="0" /> </view> </template> <script> - import myTabbar from "@/components/myTabber.vue" - import vSearch from '@/components/Search.vue' - import LabelSelection from '@/components/LabelSelection.vue' + import myTabbar from "@/components/myTabber.vue" import { getList, pageCount @@ -95,15 +127,10 @@ } from 'vuex' export default { components: { - myTabbar, - vSearch, - LabelSelection + myTabbar }, data() { - return { - ban: false, - height: '', - top: '', + return { code: '', windowHeight: '', show: false, @@ -144,6 +171,7 @@ name: '瀹㈤��/杩斿搧鍥炲巶妫�楠�' } ], +<<<<<<< HEAD tagList: [{ id: 0, name: '寰呭姙', @@ -169,6 +197,33 @@ triggered: false, finished: false, projectList: [] +======= + searchForm: { + name: '', + status: 0 + }, + projectList: [{ + title: '212132', + createTime: '2023-08-28', + content: 'asdsadsax鎵嬫墦澶ц惃杈剧殑鍟婂疄鎵揳s' + }, + { + title: '212132', + createTime: '2023-08-28', + content: 'asdsadsax鎵嬫墦澶ц惃杈剧殑鍟婂疄鎵揳s' + }, + { + title: '212132', + createTime: '2023-08-28', + content: 'asdsadsax鎵嬫墦澶ц惃杈剧殑鍟婂疄鎵揳s' + }, + { + title: '212132', + createTime: '2023-08-28', + content: 'asdsadsax鎵嬫墦澶ц惃杈剧殑鍟婂疄鎵揳s' + }, + ] +>>>>>>> 89d77a7cd7285feda993bffec2513892f8bd355f } }, computed: { @@ -178,50 +233,16 @@ await this.$store.dispatch('getUpcomingNum') this.tagList[0].num = this.$store.state.upcomingNum.d this.tagList[1].num = this.$store.state.upcomingNum.y - }, - onReady() { - var that = this - - this.$nextTick(() => { - uni.createSelectorQuery() - .in(this) - .select('.content_search') - .boundingClientRect((rect) => { - that.height = `calc(100vh - ${rect.height + 150}px)` - that.top = `${rect.height}px` - }) - .exec() - }) }, onLoad() { uni.getSystemInfo({ success: res => { this.windowHeight = res.windowHeight } - }) - uni.$on('success', () => { - this.search(); }) this.loadData() }, - methods: { - // 鎼滅储 - searchInput(val) { - this.searchForm.mixParam = val; - this.search(); - }, - getPageCount() { - pageCount({mixParam: this.searchForm.mixParam}) - .then(res => { - this.tagList[0].num = res.data.startNum - this.tagList[1].num = res.data.endNum - this.$store.commit('SETNUM', { - d: res.data.startNum, - y: res.data.endNum - }) - }) - .catch(err => {}) - }, + methods: { loadData() { getList({ model: this.searchForm, @@ -243,33 +264,30 @@ this.triggered = false }) }, +<<<<<<< HEAD refresh() { if (this.triggered) return this.triggered = true; - this.search() - // this.page.page = 1 - // this.loadData() - // this.getPageCount() + this.page.page = 1 + this.loadData() }, loadMore() { this.page.page += 1 this.loadData() }, - clickTag(status) { + selectType(status) { if (this.searchForm.status == status) return this.searchForm.status = status this.search() }, jump(item) { - console.log(item.type); switch(item.type) { case 0: case 2: case 5: { if (item.status === 0) { uni.navigateTo({ - url: `/pages_inspect/pages/OutOperation/OutOperation?id=${item.objId}&dbid=${item.id}&type=7` + url: `/pages/OutOperation/OutOperation?id=${item.objId}&dbid=${item.id}&type=7` }) } else { - debugger uni.navigateTo({ url: `/pages_adjust/pages/warehousingDetails/warehousingDetails?id=${item.objId}&status=${item.status}&type=${item.type}&dbid=${item.id}` }) @@ -292,7 +310,7 @@ case 1: case 6: { if (item.status === 0) { uni.navigateTo({ - url: `/pages_inspect/pages/InOperation/InOperation?id=${item.objId}&dbid=${item.id}&type=7` + url: `/pages/InOperation/InOperation?id=${item.objId}&dbid=${item.id}&type=7` }) } else { uni.navigateTo({ @@ -304,7 +322,7 @@ case 9: { if (item.status === 0) { uni.navigateTo({ - url: `/pages_inspect/pages/InOperation/InOperation?id=${item.objId}&dbid=${item.id}&type=9` + url: `/pages/InOperation/InOperation?id=${item.objId}&dbid=${item.id}&type=9` }) } else{ uni.navigateTo({ @@ -417,21 +435,32 @@ }, resetType() { this.type = '' - this.searchForm.type = '' - this.ban =false - this.confirm() - + this.searchForm.type = '' + this.confirm() }, confirm() { this.searchForm.type = this.type this.show = false - this.ban =false this.search() }, search() { this.page.page = 1 this.loadData() - this.getPageCount() +======= + scrolltolower() {}, + scrolltoupper() {}, + selectType(status) { + if (this.searchForm.status == status) return + this.searchForm.status = status + this.scrolltoupper() + }, + selectProject(item) {}, + filterAction() { + this.show = true + }, + close() { + this.show = false +>>>>>>> 89d77a7cd7285feda993bffec2513892f8bd355f } } } @@ -532,6 +561,14 @@ } } } + } + .contanir { + min-height: calc(env(safe-area-inset-bottom) + 120rpx); + } + .bottom-view { + left: 40rpx; + right: 40rpx; + bottom: env(safe-area-inset-bottom); } .contanir { @@ -564,18 +601,5 @@ font-weight: 400; height: 52rpx; line-height: 52rpx; - } - .content_search_x { - height: 24rpx; - } - .mask { - z-index: 8000; - position: fixed; - left: 0; - top: 0; - right: 0; - bottom: 0; - height: 100vh; - background-color: rgba(0, 0, 0, 0.5); } </style> diff --git a/minipro_standard/pages/login/login.vue b/minipro_standard/pages/login/login.vue index 472429d..5ff60ab 100644 --- a/minipro_standard/pages/login/login.vue +++ b/minipro_standard/pages/login/login.vue @@ -7,7 +7,6 @@ </view> <view class="bg_w rd8 ptb30 pl40 bbox com-input flex input-height"> <image src="@/static/login_ic_code@2x.png" mode="" class="img40 mr25"></image> - <!-- <input placeholder="浼佷笟浠g爜" border="none" v-model="form.companyId"/> --> <u--input placeholder="浼佷笟浠g爜" border="none" v-model="form.companyId"></u--input> </view> <view class="bg_w rd8 ptb30 pl40 bbox mt40 flex input-height"> diff --git a/minipro_standard/pages/mine/mine.vue b/minipro_standard/pages/mine/mine.vue index de9726e..f39a243 100644 --- a/minipro_standard/pages/mine/mine.vue +++ b/minipro_standard/pages/mine/mine.vue @@ -1,8 +1,7 @@ <template> <view> <div class="box"> - <!-- :style="{background: 'url(' + img + ')'}" --> - <div class="box_info"> + <div class="box_info" :style="{background: 'url(' + img + ')'}"> <image :src="avatar" mode="widthFix" /> <div class="box_info_box"> <text>{{userInfo.realname}}</text> @@ -11,7 +10,6 @@ <image src="@/static/mine_ic_change@2x.png" alt="" /> </div> </div> - <image class="bg" src="@/static/mine_bg@2x.png" mode="widthFix"></image> </div> <div class="box_function"> <div class="box_function_item" v-for="(item, index) in MENU" :key="index" @click="jump(item.url)"> @@ -128,18 +126,9 @@ align-items: center; background-repeat: no-repeat; background-size: cover; - position: relative; image { width: 88rpx; height: 88rpx; - } - .bg { - width: 100%; - height: 168rpx; - position: absolute; - top: 0; - left: 0; - z-index: -1; } .box_info_box { height: 88rpx; diff --git a/minipro_standard/pages/personal/personal.vue b/minipro_standard/pages/personal/personal.vue index 7bc7077..3677e11 100644 --- a/minipro_standard/pages/personal/personal.vue +++ b/minipro_standard/pages/personal/personal.vue @@ -2,7 +2,7 @@ <view class="info"> <view class="info_portrait"> <image :src="userInfo.avatar ? userInfo.avatar : avatar" mode="widthFix" /> - <text>{{userInfo.companyUser ? userInfo.companyUser.name : ''}}</text> + <text>鐢ㄦ埛鍚�</text> </view> <view class="info_list"> <view class="info_list_item"> diff --git a/minipro_standard/pages/plannedDistribution/plannedDistribution.vue b/minipro_standard/pages/plannedDistribution/plannedDistribution.vue index 6266952..cbb7d3a 100644 --- a/minipro_standard/pages/plannedDistribution/plannedDistribution.vue +++ b/minipro_standard/pages/plannedDistribution/plannedDistribution.vue @@ -17,12 +17,7 @@ :style="{height: height}"> <view class="fp_list_item" v-for="(item, i) in list" :key="item.id" @click="clickItem(i)"> <view class="fp_list_item_header"> - <view class="fp_list_item_header_xz"> - <u-checkbox-group> - <u-checkbox :checked="item.isActive"></u-checkbox> - </u-checkbox-group> - <view class="fp_list_item_header_xz_f"></view> - </view> + <u-checkbox :checked="item.isActive"></u-checkbox> <text v-if="item.mmodel">{{item.mmodel.name}}</text> <view class="tags" v-if="item.urgent">浼樺厛{{item.urgent}}</view> <view class="warning" v-if="item.type === 2">杩斿伐</view> @@ -121,8 +116,6 @@ this.list.forEach((item, index) => { if (i === index) { item.isActive = !item.isActive - } else { - item.isActive = false } }) }, @@ -319,19 +312,6 @@ .fp_list_item_header { display: flex; align-items: center; - .fp_list_item_header_xz { - width: 40rpx; - height: 40rpx; - position: relative; - .fp_list_item_header_xz_f { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 99; - } - } text { max-width: 64%; overflow: hidden; diff --git a/minipro_standard/pages/plannedProgress/plannedProgress.vue b/minipro_standard/pages/plannedProgress/plannedProgress.vue index fe0ae90..5eb0919 100644 --- a/minipro_standard/pages/plannedProgress/plannedProgress.vue +++ b/minipro_standard/pages/plannedProgress/plannedProgress.vue @@ -195,11 +195,9 @@ async onRefresh() { if (this.isLoading) return; this.isLoading = true; - this.finished = false; - this.loading = false; - this.refreshing = false; - this.getLists(); - // await this.pageCounts() + await this.getLists() + await this.pageCounts() + this.isLoading = false; }, // 閲嶇疆 reset() { @@ -265,7 +263,7 @@ procedureIdList: this.listData.procedureIds ? this.listData.procedureIds : [], startDate: this.listData.startDate, endDate: this.listData.endDate, - // statusList: this.listData.cateIds + statusList: this.listData.cateIds }).then(res => { if (res.code === 200 && res.data) { this.tagList[0].num = res.data.allNum.toString() @@ -333,8 +331,8 @@ capacity: this.listData.capacity, model: { mixParam: this.listData.mixParam, - planDateStartDate: this.listData.startDate, - planDateEndDate: this.listData.endDate, + startDate: this.listData.startDate, + endDate: this.listData.endDate, procedureIdList: this.listData.procedureIds ? this.listData.procedureIds : [], factoryId: this.listData.departIds, statusList: this.listData.cateIds @@ -349,7 +347,6 @@ ] }).then(res => { this.loading = false - this.isLoading = false; this.listData.total = res.data.total if (this.refreshing) { this.lists = [] @@ -367,7 +364,6 @@ }).catch(err => { this.loading = false this.finished = true - this.isLoading = false; if (this.refreshing) { this.lists = [] this.refreshing = false; diff --git a/minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue b/minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue index b4d606a..74ba8b9 100644 --- a/minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue +++ b/minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue @@ -39,11 +39,10 @@ <span class="purple" v-if="item.status === 3">宸叉楠�</span> <span v-if="item.status === 4">宸叉姤宸�</span> <span v-if="item.status === 5">宸插叆搴�</span> - <span v-if="item.status === 6">宸插彇娑�</span> - <span v-if="item.status === 7">鐢熶骇涓�</span> + <span v-if="item.status === 6">宸插彇娑�</span> </div> </div> - <span class="f24">宸ュ崟缂栫爜: {{item.code}}</span> + <span>宸ュ崟缂栫爜: {{item.code}}</span> <div class="content_list_item_content"> <div class="content_list_item_content_item"> <div class="content_list_item_content_item_label">鐗╂枡缂栫爜锛�</div> diff --git a/minipro_standard/pages/workbench/workbench.vue b/minipro_standard/pages/workbench/workbench.vue index 76065e8..a301b62 100644 --- a/minipro_standard/pages/workbench/workbench.vue +++ b/minipro_standard/pages/workbench/workbench.vue @@ -41,8 +41,7 @@ uni.hideTabBar() }, methods: { - jump(url) { - console.log(url); + jump(url) { uni.navigateTo({ url }); } } diff --git a/minipro_standard/pages_adjust/components/Warehouse.vue b/minipro_standard/pages_adjust/components/Warehouse.vue index f957f10..031cea2 100644 --- a/minipro_standard/pages_adjust/components/Warehouse.vue +++ b/minipro_standard/pages_adjust/components/Warehouse.vue @@ -1,4 +1,5 @@ <template> +<<<<<<< HEAD <u-popup :show="show" mode="bottom" :closeable="true" :round="10" @open="open" @close="close"> <view class="title"> <text>閫夋嫨浠撳簱</text> @@ -27,10 +28,17 @@ </u-list> --> </scroll-view> </view> +======= + <u-popup :show="show" mode="bottom" :closeable="true" :round="10" @close="close"> + <view class="title"> + <text>閫夋嫨浠撳簱</text> + </view> +>>>>>>> 89d77a7cd7285feda993bffec2513892f8bd355f </u-popup> </template> <script> +<<<<<<< HEAD import { warehouseList } from '@/util/api/WorkOrderAPI' export default { @@ -108,6 +116,19 @@ }) } }, +======= + export default { + name:"Warehouse", + props: { + show: Boolean + }, + data() { + return { + + }; + }, + methods: { +>>>>>>> 89d77a7cd7285feda993bffec2513892f8bd355f close() { this.$emit('close') } @@ -128,6 +149,7 @@ color: #222222; } } +<<<<<<< HEAD .content { width: 100%; .content_search { @@ -182,4 +204,6 @@ } } } +======= +>>>>>>> 89d77a7cd7285feda993bffec2513892f8bd355f </style> \ No newline at end of file diff --git a/minipro_standard/pages_adjust/components/multipleMaterial.vue b/minipro_standard/pages_adjust/components/multipleMaterial.vue index 2336949..3d34724 100644 --- a/minipro_standard/pages_adjust/components/multipleMaterial.vue +++ b/minipro_standard/pages_adjust/components/multipleMaterial.vue @@ -1,19 +1,21 @@ <template> <u-popup :show="show" :round="10" closeable @close="show = false"> <view class="material-content bbox p30 rp"> - <view class="tc b f32 c2 mb20">閫夋嫨鐗╂枡</view> + <view class="tc b f24 c2 mb20">閫夋嫨鐗╂枡</view> <v-Search @searchInput="searchInput" @submit="submit" :isShow="false" placeholder="鎼滅储鐗╂枡鍚嶇О/缂栫爜" /> - <div class="content_total">鍏眥{form.total}}鏉℃暟鎹�</div> + <div class="content_total">鍏眥{form.total}}鏉℃暟鎹�12</div> <view class="scroll-content"> + <!-- refresher-enabled="true" + :refresher-triggered="refreshing" + @refresherrefresh="onRefresh" --> <scroll-view scroll-y="true" @scrolltolower="loadMore"> <view v-for="(item1, index) in list" :key="index" class="flex mb20" @click="jump(index)"> - <view class="img36 mr20 pt10" style="position: relative;"> - <u-checkbox-group style="display: block;" name="" @change="jump(index)"> + <view class="img36 mr20 pt10"> + <u-checkbox-group style="display: block;" name=""> <u-checkbox :checked="item1.isActive"></u-checkbox> </u-checkbox-group> - <view style="width: 18px; height: 18px; position: absolute; top: 0; left: 0; z-index: 99;"></view> </view> <view class="fx1"> <div class="page_content_title_top"> @@ -149,13 +151,6 @@ item.isActive = !item.isActive } }) - for (let i = 0; i < this.list.length; i++) { - if (!this.list[i].isActive) { - this.isAll = [] - return - } - } - this.isAll = ['all'] }, // 鎼滅储鎻愪氦 submit() { @@ -221,6 +216,8 @@ this.loadData() }, selectAll(e) { + console.log(e) + console.log(this.isAll) this.list.forEach(element => { element.isActive = e.length > 0 ? true : false }) diff --git a/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue b/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue index cffe26d..5b49724 100644 --- a/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue +++ b/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue @@ -1,11 +1,11 @@ <template> - <view class="content"> - <workOrderInfo :orederMessage="info" /> - <view class="bg_cate"> - <view @click="clickIten(index)" :class="typeView == index ? 'bg_cate_item active' : 'bg_cate_item'" - v-for="(item, index) in cate" :key="index">{{ item.name }}</view> - </view> - <div v-if="typeView==0" class="bg_list"> + <view> + <workOrderInfo :orederMessage="info" /> + <!-- <view class="bg_cate"> + <view @click="clickIten(index)" :class="typeView == index ? 'bg_cate_item active' : 'bg_cate_item'" + v-for="(item, index) in cate" :key="index">{{ item.name }}</view> + </view> --> + <div class="bg_list"> <div class="bg_list_item"> <div class="bg_list_item_top"> <div class="bg_list_item_top_left"> @@ -15,26 +15,26 @@ </div> <template v-if="feedingData && feedingData.length > 0"> - <view class="plr30 bg_w"> - <view > - <div v-for="(item, index) in feedingData" :key="index" class="bg_list_item_h"> + <view> + <view v-for="(item, index) in feedingData" :key="index"> + <div class="bg_list_item_h"> <div class="bg_list_item_num"> <div class="bg_list_item_num_item"> <div class="bg_list_item_num_item_wl"> <span> {{ item.materialName || '澧欎綋鐮�' }}{{ item.procedureName ? ` | ${item.procedureName}` : '' }}</span> <div class="bg_list_item_num_item_wl_lx"> - <span class="green" v-if="item.qualityType == 0">鍚堟牸<text class="c6" decode>{{ split }}</text></span> - <span class="orange" v-if="item.qualityType == 1">涓嶈壇<text class="c6" decode>{{ split }}</text></span> - <span class="red" v-if="item.qualityType == 2">鎶ュ簾<text class="c6" decode>{{ split }}</text></span> + <span class="green" v-if="item.qualityType == 0">鍚堟牸 / </span> + <span class="orange" v-if="item.qualityType == 1">涓嶈壇 / </span> + <span class="red" v-if="item.qualityType == 2">鎶ュ簾 / </span> <span>{{ item.locationName }}</span> - <span v-if="item.batch"><text class="c6" decode>{{ split }}</text>{{ item.batch }}</span> + <span>{{ item.batch ? ` / ${item.batch}` : '' }}</span> </div> </div> <div class="bg_list_item_num_item_sr"> <view class="cY"> <view class="mr10">{{ item.num }}</view> - <span>{{ item.unitName }}</span> + <span v-if="info.umodel">{{ info.umodel.name }}</span> </view> </div> @@ -63,7 +63,7 @@ </div> </div> <div class="bg_list_item_h"> - <div class="bg_list_item_num plr30"> + <div class="bg_list_item_num"> <div class="bg_list_item_num_item"> <span>鑹搧鏁皗{ info.umodel ? `(${info.umodel.name})` : '' }}</span> <div class="bg_list_item_num_item_sr"> @@ -74,7 +74,7 @@ </div> </div> <div class="bg_list_item_h"> - <div class="bg_list_item_num plr30"> + <div class="bg_list_item_num"> <div class="bg_list_item_num_item"> <span>涓嶈壇鏁皗{ info.umodel ? `(${info.umodel.name})` : '' }}</span> <div class="bg_list_item_num_item_sr"> @@ -83,55 +83,27 @@ </div> </div> </div> - </div> - <!-- <div class="bg_list_item_h"> - <div class="bg_list_item_num plr30"> - <div class="bg_list_item_num_item"> - <span>涓嶈壇鏁皗{ info.umodel ? `(${info.umodel.name})` : '' }}</span> - <div class="bg_list_item_num_item_sr"> - <view class="mr10">{{ produceFrom.undesirable }}</view> - <span v-if="info.umodel">{{ info.umodel.name }}</span> - </div> - </div> - </div> - </div> --> + </div> </div> <div class="bg_list_item"> <div class="bg_list_item_top"> <div class="bg_list_item_top_left"> <div class="bg_list_item_top_left_x bg_m"></div> - <span>宸ヨ祫缁╂晥</span> + <span>鐢熶骇鐐规</span> </div> </div> - <div class="bg_list_item_h mb40 "> - <div class="bg_list_item_num plr30" style="display: block;"> - <div class="bX ptb15"> - <div class="f30 c2">棰勮宸ヨ祫</div> - <div class="f28" style="color:#4275FC">{{ (performance.salary / 10 / 10).toFixed(2) }}鍏�</div> - </div> - <div class="f24 c6"> - {{ performance.salaryType == 0 ? '璁′欢' : '璁℃椂' }} | - {{ (performance.salaryPrice / 10 / 10).toFixed(2) }}鍏�/{{ performance.salaryType == - 0 ? '浠�' : '鏃�' }} | - 杈炬爣鐜囷細{{ complianceRate }}% - </div> - </div> - </div> - </div> - </div> - <div v-else class="bg_list"> <template v-if="djData && djData.length > 0"> <div class="details_dj"> + <div class="details_dj_list"> - <view v-for="(item, index) in djData" :key="index"> - <div class="details_dj_list_item"> - <span>{{ item.attrName }}锛歿{ item.val }}</span> - <span>{{ item.userName }} {{ item.createTime }}</span> - </div> - </view> - <!-- <scroll-view scroll-y="true" refresher-enabled="true" @scrolltolower="getLists"> - - </scroll-view> --> + <scroll-view scroll-y="true" refresher-enabled="true" @scrolltolower="getLists"> + <view v-for="(item, index) in djData" :key="index"> + <div class="details_dj_list_item"> + <span>{{ item.attrName }}锛歿{ item.val }}</span> + <span>{{ item.userName }} {{ item.createTime }}</span> + </div> + </view> + </scroll-view> </div> </div> </template> @@ -141,7 +113,7 @@ </div> </template> </div> - </div> + </div> </view> </template> @@ -178,16 +150,15 @@ workOrderInfo }, data() { - return { - cate: [{ - name: '鐢熶骇' - }, - { - name: '鐐规' - } - ], - split: ' / ', + return { workorderId: '', + cate: [{ + name: '鐢熶骇' + }, + { + name: '鐐规' + } + ], form: { time: '', efective: [], @@ -215,24 +186,17 @@ qualified: '', // 鍚堟牸 undesirableId: '', undesirable: 5 // 涓嶈壇 - }, - pages: { - capacity: 10, - page: 1, - total: 0 }, djData: [], cateList: [], - finished: true, - performance: {} + finished: true, }; }, onLoad(obj) { this.workorderId = obj.id this.queryByIds() this.getOrocessRecords() - this.getData() - this.pageDJs() + this.getData() this.getOrocessRecordCC() uni.$on('spotAdd', () => { if (this.typeView == 1) { @@ -242,25 +206,43 @@ }) }, computed: { - complianceRate() { - if (!this.performance) return 0; - let {duration, salaryNum, salaryTimes, qualifiedNum, unqualifiedNum, salaryUnqualified} = this.performance - // 鎶ュ伐鏃堕暱 - if (!duration) return 0; - debugger - // 鎶ュ伐鏁伴噺 - if (!qualifiedNum && !unqualifiedNum) return 0; - // 鏍囧噯鏁伴噺銆佹椂闀� - if (!salaryNum || !salaryTimes) return 0 - - if (salaryUnqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝� - let a = ((Number(qualifiedNum) + Number(unqualifiedNum)) / (duration / 3600)).toFixed(2) - let b = (salaryNum / (salaryTimes / 3600)).toFixed(2) + expectedSalary() { + if (this.arrType.length === 0) return 0; + // 鎸変欢璁$畻 + if (this.arrType[this.form.index].type == 0) { + if (!this.produceFrom.qualified) return 0 + if (this.arrType[this.form.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝� + let total = Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable) + return (total * (this.arrType[this.form.index].salary / 100)).toFixed(2) || 0 + } else { + return (Number(this.produceFrom.qualified) * (this.arrType[this.form.index].salary / 100)).toFixed( + 2) || 0 + } + } else { + if (!this.form.duration) return 0; + let h = (this.form.duration / 60 / 60).toFixed(2) + return (Number(h) * (this.arrType[this.form.index].salary / 10 / 10)).toFixed(2) || 0 + } + }, + complianceRate() { + if (this.arrType.length === 0) return 0; + if (!this.produceFrom.qualified && !this.produceFrom.undesirable) return 0; + if (!this.form.duration) return 0; + if (!this.arrType[this.form.index].num) return 0; + // 鎸変欢璁$畻 + // if (infoBox.value.type == 0) { + if (this.arrType[this.form.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝� + let a = ((Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable)) / (this.form + .duration / 3600)).toFixed(2) + let b = (this.arrType[this.form.index].num / (this.arrType[form.index].times / 3600)).toFixed(2) return ((Number(a) / Number(b)) * 100).toFixed(2) - } else { - let a = (qualifiedNum / (duration / 3600)).toFixed(2) - let b = (salaryNum / (salaryTimes / 3600)).toFixed(2) + // let total = (Number(from.qualified) + Number(from.undesirable)) / ((from.duration * 60 * 60) * infoBox.value.num / ) + // return total * infoBox.value.salary; + } else { + let a = (this.produceFrom.qualified / (this.form.duration / 3600)).toFixed(2) + let b = (this.arrType[this.form.index].num / (this.arrType[this.form.index].times / 3600)).toFixed(2) return ((Number(a) / Number(b)) * 100).toFixed(2) + // return Number(from.qualified) * infoBox.value.salary; } } }, @@ -286,7 +268,7 @@ this.pageDJs() } }, - getLists() { + getLists() { if (!this.finished) { return } @@ -361,7 +343,7 @@ url: `/pages_inspect/pages/InspectionRecords/InspectionRecords?id=${this.workorderId}` }) }, - pageDJs() { + pageDJs() { pageDJ({ capacity: this.pages.capacity, page: this.pages.page, @@ -445,7 +427,7 @@ }, queryByIds() { queryById(this.workorderId) - .then(res => { + .then(res => { this.info = res.data queryList({ deleted: 0, @@ -482,12 +464,10 @@ getOrocessRecordCC() { getWorkorderRecordListStandard({ workorderId: this.workorderId - }).then(res => { - // console.log(res.data[0]); + }).then(res => { if (res.data.length > 0) { this.produceFrom.qualified = res.data[0].qualifiedNum this.produceFrom.undesirable = res.data[0].unqualifiedNum - this.performance = res.data[0] } }) }, @@ -501,18 +481,14 @@ } </script> -<style lang="scss" scoped> - .content { - height: 100vh; - background-color: #f7f7f7; - } +<style lang="scss" scoped> .bg_cate { width: 100%; height: 88rpx; background: #FFFFFF; display: flex; align-items: center; - // border-top: 20rpx solid #f7f7f7; + .active { box-sizing: border-box; color: #305ED5 !important; @@ -536,22 +512,32 @@ width: 100%; display: flex; flex-direction: column; - // margin-top: 30rpx; + margin-top: 30rpx; .bg_list_item { display: flex; flex-direction: column; // margin-bottom: 40rpx; - // border-bottom: 40rpx #f7f7f7 solid; + border-bottom: 40rpx #f7f7f7 solid; - + .kong { + text-align: center; + padding: 30rpx 0; + background: #ffffff; + font-size: 25rpx; + + span { + color: #474747; + } + } .bg_list_item_top { display: flex; align-items: center; justify-content: space-between; - padding: 30rpx; - background-color: #f7f7f7; + padding-left: 30rpx; + padding-right: 30rpx; + margin-bottom: 30rpx; .bg_list_item_top_left { display: flex; @@ -614,21 +600,23 @@ .bg_list_item_h { width: 100%; + padding: 0 30rpx; box-sizing: border-box; background: white; - border-bottom: 1rpx solid #E5E5E5; - padding: 15rpx 0; - &:last-child { - border: none !important; - } + .bg_list_item_num { width: 100%; min-height: 98rpx; - background: white; - box-sizing: border-box; + background: white; display: flex; justify-content: center; align-items: center; + border-bottom: 1rpx solid #E5E5E5; + + &:last-child { + border: none !important; + } + .kong { text-align: center; font-size: 25rpx; @@ -642,10 +630,10 @@ display: flex; align-items: center; // height: 118rpx; - // padding: 15rpx 0; + padding: 15rpx 0; box-sizing: border-box; justify-content: space-between; - // border-bottom: 3rpx solid #111; + border-bottom: 1rpx solid #E5E5E5; &:last-child { border: none; @@ -1045,15 +1033,5 @@ } } } - } - .kong { - text-align: center; - padding: 30rpx 0; - // background: #ffffff; - font-size: 25rpx; - - span { - color: #474747; - } } </style> diff --git a/minipro_standard/pages_adjust/pages/addReceipt/addReceipt.vue b/minipro_standard/pages_adjust/pages/addReceipt/addReceipt.vue index 719298a..367bb5f 100644 --- a/minipro_standard/pages_adjust/pages/addReceipt/addReceipt.vue +++ b/minipro_standard/pages_adjust/pages/addReceipt/addReceipt.vue @@ -84,6 +84,7 @@ <u-toast ref="uToast"></u-toast> <!-- 浠撳簱 --> <Warehouse :show="warehouseShow" @close="close" @value="getValue" /> +<<<<<<< HEAD <!-- 鐗╂枡 --> <Material :show="materialsShow" @close="close1" @value="getValue1" /> <!-- 璐т綅 --> @@ -94,11 +95,14 @@ <u-picker :show="typeShow" keyName="name" :columns="typeList" @confirm="confirm" @cancel="typeClose"></u-picker> <!-- 璐ㄩ噺灞炴�� --> <u-picker :show="qualityShow" :columns="columns" @cancel="qualityShow = false" keyName="name" @confirm="onConfirm1"></u-picker> +======= +>>>>>>> 89d77a7cd7285feda993bffec2513892f8bd355f </view> </template> <script> import Warehouse from '../../components/Warehouse.vue' +<<<<<<< HEAD import location from '../../components/location.vue' import Material from '../../components/Material.vue' import ProductionProcess from '../../components/ProductionProcess.vue' @@ -106,6 +110,10 @@ import { getListByMaterialId } from '@/util/api/ExWarehouse' export default { components: { Warehouse, location, Material, ProductionProcess }, +======= + export default { + components: { Warehouse }, +>>>>>>> 89d77a7cd7285feda993bffec2513892f8bd355f data() { return { i: 0, @@ -115,6 +123,7 @@ type: '', typeName: '' }, +<<<<<<< HEAD locationList: [], productionList: [], columns: [ @@ -179,7 +188,6 @@ if (!this.list[i].locationId) return uni.showToast({ title: `绗�${i+1}椤瑰叆搴撹揣浣嶄笉鑳戒负绌篳, icon: 'none', duration: 2000 }); if (!this.list[i].materialId) return uni.showToast({ title: `绗�${i+1}椤瑰叆搴撶墿鏂欎笉鑳戒负绌篳, icon: 'none', duration: 2000 }); if (!this.list[i].qualityType) return uni.showToast({ title: `绗�${i+1}椤硅川閲忓睘鎬т笉鑳戒负绌篳, icon: 'none', duration: 2000 }); - if (!this.list[i].batch) return uni.showToast({ title: `绗�${i+1}椤规壒娆″彿涓嶈兘涓虹┖`, icon: 'none', duration: 2000 }); if (this.list[i].num <= 0) { return uni.showToast({ title: `绗�${i + 1}椤瑰叆搴撴暟閲忓繀椤诲ぇ浜�0`, icon: 'none', duration: 2000 }); } @@ -335,6 +343,16 @@ typeClose() { this.typeShow = false }, +======= + list: [], + warehouseShow: false + }; + }, + methods: { + getValue(val) { + this.warehouseShow = false + }, +>>>>>>> 89d77a7cd7285feda993bffec2513892f8bd355f close() { this.warehouseShow = false }, diff --git a/minipro_standard/pages_adjust/pages/forgotPassword/forgotPassword.vue b/minipro_standard/pages_adjust/pages/forgotPassword/forgotPassword.vue deleted file mode 100644 index e4f204f..0000000 --- a/minipro_standard/pages_adjust/pages/forgotPassword/forgotPassword.vue +++ /dev/null @@ -1,168 +0,0 @@ -<template> - <view class="password"> - <view class="password_tip"> - <image src="@/static/password_ic_tip@2x.png" alt="" /> - <text>瀵嗙爜鐢�6-20涓嫳鏂囧瓧姣嶃�佹暟瀛楁垨绗﹀彿缁勬垚</text> - </view> - <view class="password_list"> - <view class="password_list_item"> - <text>褰撳墠缁戝畾</text> - <view class="password_list_item_box"> - <input type="number" disabled v-model="userInfo.companyUser.phone" maxlength="11"> - </view> - </view> - <view class="password_list_item"> - <text>楠岃瘉鐮�</text> - <view class="password_list_item_box"> - <input type="text" v-model="form.verificationCode" maxlength="4" placeholder="璇疯緭鍏ユ墜鏈洪獙璇佺爜"> - <p @click="getVerificationCode" v-if="!code.isOpen">鑾峰彇楠岃瘉鐮�</p> - <p v-else>{{code.num}}</p> - </view> - </view> - <view class="password_list_item"> - <text>鏂板瘑鐮�</text> - <view class="password_list_item_box"> - <input type="text" v-model="form.newPhone" maxlength="11" placeholder="璇疯緭鍏ユ柊瀵嗙爜"> - </view> - </view> - <view class="password_list_item"> - <text>纭瀵嗙爜</text> - <view class="password_list_item_box"> - <input type="text" v-model="form.newPhone" maxlength="11" placeholder="鍐嶆杈撳叆鏂板瘑鐮�"> - </view> - </view> - </view> - <view class="password_footer"> - <button v-preventReClick class="password_footer_submit" @click="submit"> - <text>瀹屾垚</text> - </button> - </view> - </view> -</template> - -<script> - import { mapState } from 'vuex' - import { phoneRegular } from '@/common/config.js' - export default { - data() { - return { - form: { - newPhone: '', - verificationCode: '' - }, - code: { - num: 60, - isOpen: false, - timer: 0 - } - }; - }, - computed: mapState([ - 'userInfo' - ]), - methods: { - // 鑾峰彇楠岃瘉鐮� - getVerificationCode() { - this.code.isOpen = true - this.code.timer = setInterval(() => { - if (this.code.num === 0) { - clearInterval(this.code.timer) - this.code.isOpen = false - this.code.num = 60 - } - this.code.num = this.code.num - 1 - }, 1000) - }, - // 鎻愪氦淇敼 - submit() { - // if (!this.form.newPhone) { - // uni.showToast({ title: '鏂版墜鏈哄彿涓嶈兘涓虹┖', icon: 'none', duration: 2000 }); - // } else if (!phoneRegular.test(this.form.newPhone)) { - // uni.showToast({ title: '鎵嬫満鍙蜂笉鍚堟硶', icon: 'none', duration: 2000 }); - // } else if (!this.form.verificationCode) { - // uni.showToast({ title: '楠岃瘉鐮佷笉鑳戒负绌�', icon: 'none', duration: 2000 }); - // } else { - // console.log('鍙互鎻愪氦') - // } - } - } - } -</script> - -<style lang="scss" scoped> - .password { - width: 100%; - .password_tip { - padding: 20rpx 30rpx; - display: flex; - background: #F7F7F7; - box-sizing: border-box; - image { - width: 24rpx; - height: 24rpx; - margin-right: 10rpx; - margin-top: 8rpx; - } - text { - font-size: 24rpx; - font-weight: 400; - color: #666666; - } - } - .password_list { - padding: 0 30rpx; - .password_list_item { - display: flex; - align-items: center; - height: 90rpx; - border-bottom: 1rpx solid #E5E5E5; - text { - width: 150rpx; - flex-shrink: 0; - font-size: 30rpx; - font-weight: 400; - color: #222222; - } - .password_list_item_box { - display: flex; - justify-content: space-between; - flex: 1; - input { - border: none; - font-size: 30rpx; - } - input::-webkit-input-placeholder { - font-size: 28rpx; - font-weight: 400; - color: #B2B2B2; - } - p { - font-size: 26rpx; - font-weight: 400; - color: #4275FC; - } - } - } - } - .password_footer { - margin-top: 80rpx; - padding: 0 30rpx; - .password_footer_submit { - width: 100%; - height: 88rpx; - border: none; - background: #4275FC; - box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08); - border-radius: 8rpx; - display: flex; - align-items: center; - justify-content: center; - text { - font-size: 30rpx; - font-weight: 500; - color: #FFFFFF; - } - } - } - } -</style> diff --git a/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue b/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue index 1e7d32f..418c60b 100644 --- a/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue +++ b/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue @@ -41,7 +41,7 @@ <div class="tl_list_item"> <div class="tl_list_item_label">鎶曟枡鏁伴噺{{ item.unitAttribute }}</div> <div class="tl_list_item_go"> - <input type="text" @blur="changeNumber(item.num, index, item.unitAttribute)" + <input type="text" @blur="changeNumber(item.num, index, item.unitAttribute)" v-model="item.num" /> </div> </div> @@ -153,28 +153,35 @@ unitAttribute: '' }) }, - changeNumber(num, index, unitAttribute) { - + changeNumber(num, index, unitAttribute) { if (unitAttribute === 0 && num !== '') { if (!positiveInteger.test(num)) { - uni.$u.toast('鍙兘杈撳叆姝f暣鏁�') + uni.$u.toast({ + message: '鍙兘杈撳叆姝f暣鏁�' + }) this.materialList[index].num = '' } } else if (unitAttribute === 1 && num !== '') { if (!number.test(num)) { - uni.$u.toast('鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級') + uni.$u.toast({ + message: '鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級' + }) this.materialList[index].num = '' } } if (num <= 0) { - uni.$u.toast('鎶曟枡鏁伴噺涓嶈兘灏忎簬绛変簬0') + uni.$u.toast({ + message: '鎶曟枡鏁伴噺涓嶈兘灏忎簬绛変簬0' + }) this.materialList[index].num = '' } }, getValue(item) { for (let i = 0; i < this.materialList.length; i++) { if (item.id === this.materialList[i].id) { - uni.$u.toast('涓嶈兘閲嶅閫夋嫨鐩稿悓鐗╂枡') + uni.$u.toast({ + message: '涓嶈兘閲嶅閫夋嫨鐩稿悓鐗╂枡' + }) return } } diff --git a/minipro_standard/pages_adjust/pages/newTransfer/newTransfer.vue b/minipro_standard/pages_adjust/pages/newTransfer/newTransfer.vue index f769c68..b7d0818 100644 --- a/minipro_standard/pages_adjust/pages/newTransfer/newTransfer.vue +++ b/minipro_standard/pages_adjust/pages/newTransfer/newTransfer.vue @@ -31,12 +31,12 @@ <template v-if="view.MaterialList.length > 0"> <view class="zk_wl_item" v-for="(item, i) in view.MaterialList" :key="i"> <image class="shanchu" src="@/static/chuku_ic_delete@2x.png" mode="widthFix" @click="dele(i)"></image> - <text class="material-title">{{item.materialName}}锝渰{item.materialCode}}</text> - <text class="material-att"> - <text class="green" v-if="item.qualityType === '0'" decode>鍚堟牸<text class="c6" decode>{{ division }}</text></text> - <text class="yellow" v-if="item.qualityType === '1'" decode>涓嶈壇<text class="c6" decode>{{ division }}</text></text> - <text class="red" v-if="item.qualityType === '2'" decode>鎶ュ簾<text class="c6" decode>{{ division }}</text></text> - <text decode>{{item.procedureName ? item.procedureName : '-'}}{{division}}</text> + <text>{{item.materialName}}锝渰{item.materialCode}}</text> + <text> + <text class="green" v-if="item.qualityType === '0'">鍚堟牸 |</text> + <text class="yellow" v-if="item.qualityType === '1'">涓嶈壇 |</text> + <text class="red" v-if="item.qualityType === '2'">鎶ュ簾 |</text> + <text>{{item.procedureName ? item.procedureName : '-'}} | </text> <text>{{item.batch ? item.batch : '-'}}</text> </text> <view class="zk_wl_item_num"> @@ -87,7 +87,6 @@ }, data() { return { - division: ' / ', data: { type: '', outUserId: '', @@ -212,7 +211,6 @@ }).then(res => { if (res.code === 200) { uni.showToast({ title: '鍒涘缓鎴愬姛锛�', icon: 'success', duration: 2000 }); - this.$store.dispatch('getUpcomingNum') setTimeout(() => { uni.navigateBack({ delta: 1 }); }, 2000) @@ -272,11 +270,13 @@ &:last-child { border: none !important; } + text { font-size: 30rpx; font-weight: 400; color: #222222; } + .zk_list_item_n { display: flex; align-items: center; @@ -344,7 +344,7 @@ display: flex; align-items: center; justify-content: space-between; - margin-top: 10rpx; + margin-top: 30rpx; .zk_wl_item_input { display: flex; @@ -358,8 +358,7 @@ } text { - height: 42rpx; - font-size: 30rpx; + font-size: 26rpx; font-family: PingFangSC-Regular, PingFang SC; font-weight: 400; color: #333333; @@ -382,25 +381,31 @@ color: #999999; } } - .material-title { - height: 42rpx; - font-size: 30rpx; - font-weight: 500; - color: #222222; - margin-bottom: 10rpx; - } - .material-att { - font-size: 28rpx; - font-weight: 400; - color: #333333; - } + text { &:nth-child(1) { - font-size: 24rpx; + font-size: 30rpx; font-weight: 500; color: #222222; margin-bottom: 24rpx; } + + &:nth-child(2) { + font-size: 24rpx; + font-weight: 400; + color: #666666; + margin-bottom: 30rpx; + + text { + font-size: 24rpx; + } + } + + &:nth-child(3) { + font-size: 28rpx; + font-weight: 400; + color: #333333; + } } } } diff --git a/minipro_standard/pages_adjust/pages/outboundList/outboundList.vue b/minipro_standard/pages_adjust/pages/outboundList/outboundList.vue index c9575e3..04a1045 100644 --- a/minipro_standard/pages_adjust/pages/outboundList/outboundList.vue +++ b/minipro_standard/pages_adjust/pages/outboundList/outboundList.vue @@ -286,14 +286,10 @@ onReady() { var that = this this.$nextTick(() => { - uni.createSelectorQuery() - .in(this) - .select('.content_search') - .boundingClientRect((rect) => { - - that.height = `calc(100vh - ${rect.height + 80}px)` - that.top = `${rect.height}px` - }).exec() + uni.createSelectorQuery().in(this).select('.content_search').boundingClientRect((rect) => { + that.height = `calc(100vh - ${rect.height + 80}px)` + that.top = `${rect.height}px` + }).exec() }) }, onLoad() { diff --git a/minipro_standard/pages_adjust/pages/reportingForWork/reportingForWork.vue b/minipro_standard/pages_adjust/pages/reportingForWork/reportingForWork.vue index dc91f7c..0f42c0c 100644 --- a/minipro_standard/pages_adjust/pages/reportingForWork/reportingForWork.vue +++ b/minipro_standard/pages_adjust/pages/reportingForWork/reportingForWork.vue @@ -5,8 +5,7 @@ <text><text>*</text>宸ュ簭鐢熶骇璁″垝</text> </view> <view class="bg_plan_nr" v-else> - <text>{{ from.processPlan.materialName }} | {{ from.processPlan.materialCode }} | - {{ from.processPlan.produceName }}</text> + <text>{{ from.processPlan.materialName }} | {{ from.processPlan.materialCode }} | {{ from.processPlan.produceName }}</text> <text>{{ from.processPlan.batch }}{{ from.processPlan.salesOrder ? ` / ${from.processPlan.salesOrder}` : '' }}</text> <text>璁″垝鏃堕棿锛歿{ from.processPlan.workPlanStartDate }} ~ {{ from.processPlan.workPlanEndDate }}</text> <text>璁″垝杩涘害锛歿{from.processPlan.num}}/{{from.processPlan.workorderDistributNum}}{{ from.processPlan.unitName }}</text> @@ -16,211 +15,210 @@ <image src="@/static/ic_ar@2x.png" alt="" /> </view> </view> - <!-- v-if="plansId" --> - <template> - <view class="bg_list"> - <view class="bg_list_item"> - <view class="bg_list_item_top"> - <view class="bg_list_item_top_left"> - <view class="bg_list_item_top_left_x"></view> - <text>鐢熶骇淇℃伅</text> - </view> + <view class="bg_list"> + <view class="bg_list_item"> + <view class="bg_list_item_top"> + <view class="bg_list_item_top_left"> + <view class="bg_list_item_top_left_x"></view> + <text>鐢熶骇淇℃伅</text> </view> - <view class="bg_list_item_h"> - <view class="bg_list_item_num" @click="openDev"> - <view class="bg_list_item_num_item"> - <text>鐢熶骇璁惧</text> - <view class="bg_list_item_num_item_sr"> - <text - :style="{color: from.deviceName ? '#333' : ''}">{{from.deviceName ? from.deviceName : '璇烽�夋嫨'}}</text> - <image src="@/static/ic_ar@2x.png" alt="" /> - </view> + </view> + <view class="bg_list_item_h"> + <view class="bg_list_item_num" @click="openDev"> + <view class="bg_list_item_num_item"> + <text>鐢熶骇璁惧</text> + <view class="bg_list_item_num_item_sr"> + <text :style="{color: from.deviceName ? '#333' : ''}">{{from.deviceName ? from.deviceName : '璇烽�夋嫨'}}</text> + <image src="@/static/ic_ar@2x.png" alt="" /> </view> </view> - <view class="bg_list_item_num" @click="userShow = true"> - <view class="bg_list_item_num_item"> - <text>鐢熶骇浜哄憳</text> - <view class="bg_list_item_num_item_sr"> - <text - :style="{color: from.userName ? '#333' : ''}">{{from.userName ? from.userName : '璇烽�夋嫨'}}</text> - <image src="@/static/ic_ar@2x.png" alt="" /> - </view> + </view> + <view class="bg_list_item_num" @click="userShow = true"> + <view class="bg_list_item_num_item"> + <text>鐢熶骇浜哄憳</text> + <view class="bg_list_item_num_item_sr"> + <text :style="{color: from.userName ? '#333' : ''}">{{from.userName ? from.userName : '璇烽�夋嫨'}}</text> + <image src="@/static/ic_ar@2x.png" alt="" /> </view> </view> </view> </view> - <view class="bg_list_item"> - <view class="bg_list_item_top"> - <view class="bg_list_item_top_left"> - <view class="bg_list_item_top_left_x"></view> - <text>鐢熶骇鎶曟枡</text> - </view> - <view class="bg_list_item_top_right" @click="openMaterial" - v-if="(hasBom == 1 && bomType != 1) || hasBom == 0"> - <image src="@/static/gongdan_ic_shoudong@2x.png" alt="" /> - <text>鏂板鎶曟枡</text> - </view> + </view> + <view class="bg_list_item"> + <view class="bg_list_item_top"> + <view class="bg_list_item_top_left"> + <view class="bg_list_item_top_left_x"></view> + <text>鐢熶骇鎶曟枡</text> </view> - <template v-if="wuList.length > 0 && !(hasBom == 1 && bomType == 1)"> - <van-swipe-cell v-for="(item, index) in wuList" :key="index"> - <view class="bg_list_item_h"> - <view class="bg_list_item_num"> - <view class="bg_list_item_num_item"> - <view class="bg_list_item_num_item_wl"> - <text>{{ item.materialName }}{{ item.procedureName ? ` | ${item.procedureName}` : '' }}</text> - <view class="bg_list_item_num_item_wl_lx"> - <text class="green" v-if="item.qualityType == 0">鍚堟牸 / </text> - <text class="yellow" v-if="item.qualityType == 1">涓嶈壇 / </text> - <text class="red" v-if="item.qualityType == 2">鎶ュ簾 / </text> - <text>{{ item.locationName || '-' }} / </text> - <text>{{ item.batch || '-' }}</text> - </view> + <view class="bg_list_item_top_right" @click="openMaterial" v-if="(hasBom == 1 && bomType != 1) || hasBom == 0"> + <image src="@/static/gongdan_ic_shoudong@2x.png" alt="" /> + <text>鏂板鎶曟枡</text> + </view> + </view> + <template v-if="wuList.length > 0 && !(hasBom == 1 && bomType == 1)"> + <van-swipe-cell v-for="(item, index) in wuList" :key="index"> + <view class="bg_list_item_h"> + <view class="bg_list_item_num"> + <view class="bg_list_item_num_item"> + <view class="bg_list_item_num_item_wl"> + <text>{{ item.materialName }}{{ item.procedureName ? ` | ${item.procedureName}` : '' }}</text> + <view class="bg_list_item_num_item_wl_lx"> + <text class="green" v-if="item.qualityType == 0">鍚堟牸 / </text> + <text class="yellow" v-if="item.qualityType == 1">涓嶈壇 / </text> + <text class="red" v-if="item.qualityType == 2">鎶ュ簾 / </text> + <text>{{ item.locationName || '-' }} / </text> + <text>{{ item.batch || '-' }}</text> </view> - <view class="bg_list_item_num_item_sr"> - <u--input placeholder="璇疯緭鍏�" border="surround" type="number" - :customStyle="{width: '100%'}" v-model="item.num" - @input="inputwl(index)"></u--input> - <!-- <input type="number" v-model="item.num" @input="inputwl(index)" /> --> - <text>{{ item.unitName }}</text> - </view> + </view> + <view class="bg_list_item_num_item_sr"> + <u--input + placeholder="璇疯緭鍏�" + border="surround" + type="number" + :customStyle="{width: '100%'}" + v-model="item.num" + @input="inputwl(index)" + ></u--input> + <!-- <input type="number" v-model="item.num" @input="inputwl(index)" /> --> + <text>{{ item.unitName }}</text> </view> </view> </view> - <template #right> - <van-button style="height: 100%;" @click="deleItem(index)" square text="鍒犻櫎" - type="danger" /> - </template> - </van-swipe-cell> - </template> - <template v-else-if="wuList.length == 0 && !(hasBom == 1 && bomType == 1)"> - <view class="kong"> - <text>鏆傛棤鏁版嵁</text> </view> - </template> - <view class="kong" v-if="hasBom == 1 && bomType == 1"> - <text>褰撳墠宸ュ簭鏃犻渶鎶曟枡</text> + <template #right> + <van-button style="height: 100%;" @click="deleItem(index)" square text="鍒犻櫎" type="danger" /> + </template> + </van-swipe-cell> + </template> + <template v-else-if="wuList.length == 0 && !(hasBom == 1 && bomType == 1)"> + <view class="kong"> + <text>鏆傛棤鏁版嵁</text> + </view> + </template> + <view class="kong" v-if="hasBom == 1 && bomType == 1"> + <text>褰撳墠宸ュ簭鏃犻渶鎶曟枡</text> + </view> + </view> + <view class="bg_list_item bottomval"> + <view class="bg_list_item_top"> + <view class="bg_list_item_top_left"> + <view class="bg_list_item_top_left_x"></view> + <text>浜у嚭鏄庣粏</text> </view> </view> - <view class="bg_list_item bottomval"> - <view class="bg_list_item_top"> - <view class="bg_list_item_top_left"> - <view class="bg_list_item_top_left_x"></view> - <text>浜у嚭鏄庣粏</text> - </view> - </view> - <view class="bg_list_item_h"> - <view class="bg_list_item_num"> - <view class="bg_list_item_num_item"> - <text><text>*</text>鑹搧鏁�</text> - <view class="bg_list_item_num_item_sr"> - <!-- <u--input placeholder="璇疯緭鍏�" border="surround" type="number" - :customStyle="{width: '180rpx'}" v-model="from.qualified" @input="changeNum(1)"> - </u--input> --> - <input type="number" v-model="from.qualified" @input="changeNum(1)" placeholder="璇疯緭鍏�" /> - <text v-if="from.processPlan">{{from.processPlan.unitName}}</text> - </view> - </view> - </view> - <view class="bg_list_item_num"> - <view class="bg_list_item_num_item"> - <text>涓嶈壇鏁�</text> - <view class="bg_list_item_num_item_sr"> - <!-- <u--input placeholder="璇疯緭鍏�" border="surround" type="number" - :customStyle="{width: '180rpx'}" v-model="from.undesirable" - @input="changeNum(2)"></u--input> --> - <input type="number" v-model="from.undesirable" @input="$event => changeNum( 2)" placeholder="璇疯緭鍏�" /> - <text v-if="from.processPlan">{{from.processPlan.unitName}}</text> - </view> - </view> - </view> - <view class="bg_list_item_num" v-if="from.undesirable > 0"> - <view class="bg_list_item_num_item" @click="openBL"> - <!-- <text>*</text> --> - <text>涓嶈壇椤�</text> - <view class="bg_list_item_num_item_sr"> - <text class="wulll" - :style="{color: from.defectiveName ? '#305ED5' : ''}">{{from.defectiveName ? from.defectiveName : '璁剧疆'}}</text> - <image src="@/static/ic_ar@2x.png" alt="" /> - </view> + <view class="bg_list_item_h"> + <view class="bg_list_item_num"> + <view class="bg_list_item_num_item"> + <text><text>*</text>鑹搧鏁�</text> + <view class="bg_list_item_num_item_sr"> + <u--input + placeholder="璇疯緭鍏�" + border="surround" + type="number" + :customStyle="{width: '180rpx'}" + v-model="from.qualified" + @input="changeNum(1)" + ></u--input> + <!-- <input type="number" v-model="from.qualified" @input="changeNum(1)" placeholder="璇疯緭鍏�" /> --> + <text v-if="from.processPlan">{{from.processPlan.unitName}}</text> </view> </view> </view> - </view> - <view class="bg_plan" @click="TimeShow = true"> - <view class="bg_plan_label"> - <text>鎶ュ伐鏃堕暱</text> - </view> - <view class="bg_plan_label_val"> - <text - :style="{color: from.durationName ? '#333' : ''}">{{from.durationName ? from.durationName : '璇烽�夋嫨'}}</text> - <image src="@/static/ic_ar@2x.png" alt="" /> - </view> - </view> - <view class="bg_list_item" v-if="arrType && arrType.length > 0 && from.duration > 0"> - <view class="bg_list_item_top"> - <view class="bg_list_item_top_left"> - <view class="bg_list_item_top_left_x"></view> - <text>宸ヨ祫缁╂晥</text> - </view> - </view> - <view class="bg_list_item_h"> - <view class="bg_list_item_num"> - <view class="bg_list_item_num_item"> - <text>璁′欢鏂瑰紡</text> - <view class="bg_list_item_num_item_list"> - <view - :class="item.active ? 'bg_list_item_num_item_list_item active' : 'bg_list_item_num_item_list_item'" - v-for="(item, index) in arrType" :key="index" - @click="clickPerformanceType(index)">{{ item.name }}</view> - </view> + <view class="bg_list_item_num"> + <view class="bg_list_item_num_item"> + <text>涓嶈壇鏁�</text> + <view class="bg_list_item_num_item_sr"> + <u--input + placeholder="璇疯緭鍏�" + border="surround" + type="number" + :customStyle="{width: '180rpx'}" + v-model="from.undesirable" + @input="changeNum(2)" + ></u--input> + <!-- <input type="number" v-model="from.undesirable" @input="changeNum(2)" placeholder="璇疯緭鍏�" /> --> + <text v-if="from.processPlan">{{from.processPlan.unitName}}</text> </view> </view> - <view class="bg_list_item_num"> - <view class="bg_list_item_num_item"> - <text>宸ヨ祫鍗曚环</text> - <view class="bg_list_item_num_item_sr"> - <text - class="color1">{{(arrType[from.index].salary / 10 / 10).toFixed(2)}}鍏�/{{arrType[from.index].type == 0 ? '浠�' : '鏃�'}}</text> - </view> - </view> - </view> - <view class="bg_list_item_num"> - <view class="bg_list_item_num_item"> - <text>棰勮宸ヨ祫</text> - <view class="bg_list_item_num_item_sr"> - <text class="color1">{{expectedSalary}}鍏�</text> - </view> - </view> - </view> - <view class="bg_list_item_num"> - <view class="bg_list_item_num_item"> - <text>杈炬爣鐜�</text> - <view class="bg_list_item_num_item_sr"> - <text class="color1">{{complianceRate}}%</text> - </view> + </view> + <view class="bg_list_item_num" v-if="from.undesirable > 0"> + <view class="bg_list_item_num_item" @click="openBL"> + <!-- <text>*</text> --> + <text>涓嶈壇椤�</text> + <view class="bg_list_item_num_item_sr"> + <text class="wulll" :style="{color: from.defectiveName ? '#305ED5' : ''}">{{from.defectiveName ? from.defectiveName : '璁剧疆'}}</text> + <image src="@/static/ic_ar@2x.png" alt="" /> </view> </view> </view> </view> </view> - <!-- 鎶ュ伐鎸夐挳 --> - <view class="bh_zw"></view> - <view class="bg_footer"> - <view class="bg_footer_submit1" @click="continueSubmit">缁х画鎶ュ伐</view> - <view class="bg_footer_submit" @click="submit">鎻愪氦</view> + <view class="bg_plan" @click="TimeShow = true"> + <view class="bg_plan_label"> + <text>鎶ュ伐鏃堕暱</text> + </view> + <view class="bg_plan_label_val"> + <text :style="{color: from.durationName ? '#333' : ''}">{{from.durationName ? from.durationName : '璇烽�夋嫨'}}</text> + <image src="@/static/ic_ar@2x.png" alt="" /> + </view> </view> - </template> - + <view class="bg_list_item" v-if="arrType && arrType.length > 0 && from.duration > 0"> + <view class="bg_list_item_top"> + <view class="bg_list_item_top_left"> + <view class="bg_list_item_top_left_x"></view> + <text>宸ヨ祫缁╂晥</text> + </view> + </view> + <view class="bg_list_item_h"> + <view class="bg_list_item_num"> + <view class="bg_list_item_num_item"> + <text>璁′欢鏂瑰紡</text> + <view class="bg_list_item_num_item_list"> + <view :class="item.active ? 'bg_list_item_num_item_list_item active' : 'bg_list_item_num_item_list_item'" v-for="(item, index) in arrType" :key="index" @click="clickPerformanceType(index)">{{ item.name }}</view> + </view> + </view> + </view> + <view class="bg_list_item_num"> + <view class="bg_list_item_num_item"> + <text>宸ヨ祫鍗曚环</text> + <view class="bg_list_item_num_item_sr"> + <text class="color1">{{(arrType[from.index].salary / 10 / 10).toFixed(2)}}鍏�/{{arrType[from.index].type == 0 ? '浠�' : '鏃�'}}</text> + </view> + </view> + </view> + <view class="bg_list_item_num"> + <view class="bg_list_item_num_item"> + <text>棰勮宸ヨ祫</text> + <view class="bg_list_item_num_item_sr"> + <text class="color1">{{expectedSalary}}鍏�</text> + </view> + </view> + </view> + <view class="bg_list_item_num"> + <view class="bg_list_item_num_item"> + <text>杈炬爣鐜�</text> + <view class="bg_list_item_num_item_sr"> + <text class="color1">{{complianceRate}}%</text> + </view> + </view> + </view> + </view> + </view> + </view> + <!-- 鎶ュ伐鎸夐挳 --> + <view class="bh_zw"></view> + <view class="bg_footer"> + <view class="bg_footer_submit1" @click="continueSubmit">缁х画鎶ュ伐</view> + <view class="bg_footer_submit" @click="submit">鎻愪氦</view> + </view> <!-- 鐢熶骇浜哄憳 --> <user :show="userShow" @close="userShow = false" @value="onConfirm1" /> <!-- 鐢熶骇璁惧 --> - <u-picker :show="deviceShow" :columns="deviceList" keyName="name" @confirm="onConfirm" - @cancel="deviceShow = false"></u-picker> + <u-picker :show="deviceShow" :columns="deviceList" keyName="name" @confirm="onConfirm" @cancel="deviceShow = false"></u-picker> <!-- 鏃堕棿 --> <u-picker :show="TimeShow" :columns="columns" @confirm="onConfirm2" @cancel="TimeShow = false"></u-picker> <!-- 鐗╂枡 --> - <MaterialSelect ref="MaterialSelect" :plansId="String(plansId)" :selected="ids" :deviceId="String(deviceId)" - @value="getValue" /> + <MaterialSelect ref="MaterialSelect" :plansId="String(plansId)" :selected="ids" :deviceId="String(deviceId)" @value="getValue" /> <!-- 涓嶈壇椤� --> <u-popup :show="show" @close="show = false" :round="8" closeable zIndex="20000"> <view class="rp p40 contanir"> @@ -248,18 +246,8 @@ <script> import user from '../../components/user.vue' import MaterialSelect from '../../components/MaterialSelect.vue' - import { - mapState - } from 'vuex' - import { - getDeviceByCondition, - getFindAll, - queryOne, - queryList, - autoWorkReport, - getIdPlansExt, - categoryExtList - } from '@/util/api/PlanningAPI' + import { mapState } from 'vuex' + import { getDeviceByCondition, getFindAll, queryOne, queryList, autoWorkReport, getIdPlansExt, categoryExtList } from '@/util/api/PlanningAPI' export default { components: { user, @@ -275,30 +263,32 @@ userId: '', // userName: userInfo.companyUser.name, userName: '', - qualified: '', // 鑹搧鏁� + qualified: '', // 鑹搧鏁� undesirable: '', // 涓嶈壇鏁� duration: '', durationName: '0灏忔椂0鍒嗛挓', time: '', defective: [], defectiveName: '', - type: '', // 缁╂晥绫诲瀷 + type: '', // 缁╂晥绫诲瀷 index: 0 }, columns: [], arrType: [], bomType: '', - hasBom: '', + hasBom : '', deviceShow: false, userShow: false, wuList: [], deviceList: [], - cateList: [{ - active: false, - num: '', - name: '鏈夌憰鐤�' - }], - total: 0, // 鍙姇鏁伴噺 + cateList: [ + { + active: false, + num: '', + name: '鏈夌憰鐤�' + } + ], + total: 0, // 鍙姇鏁伴噺 ids: '', plansId: '', deviceId: '', @@ -311,49 +301,34 @@ ...mapState(['userInfo']), // 棰勮宸ヨ祫 expectedSalary() { - if (this.arrType.length === 0) return 0; - let { - index, - qualified, - undesirable, - duration - } = this.from - let temp = this.arrType[index] - if (temp.type == 0) { - if (!qualified) return 0 - if (temp.unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝� - let total = Number(qualified) + Number(undesirable) - return (total * (temp.salary / 10 / 10)).toFixed(2) + if (this.arrType[this.from.index].type == 0) { + if (!this.from.qualified) return 0 + if (this.arrType[this.from.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝� + let total = Number(this.from.qualified) + Number(this.from.undesirable) + return (total * (this.arrType[from.index].salary / 10 / 10)).toFixed(2) } else { - return (Number(qualified) * (temp.salary / 10 / 10)).toFixed(2) + return (Number(this.from.qualified) * (this.arrType[this.from.index].salary / 10 / 10)).toFixed(2) } } else { - if (!duration) return 0; - let h = (duration / 60 / 60).toFixed(2) - return (Number(h) * (temp.salary / 10 / 10)).toFixed(2) + if (!this.from.duration) return 0; + let h = (this.from.duration / 60 / 60).toFixed(2) + return (Number(h) * (this.arrType[this.from.index].salary / 10 / 10)).toFixed(2) } }, // 杈炬爣鐜� complianceRate() { if (this.arrType.length === 0) return 0; - let { - index, - qualified, - undesirable, - duration - } = this.from - let temp = this.arrType[index] - if (!qualified && !undesirable) return 0; - if (!duration) return 0; - if (!temp.num) return 0; - if (temp.unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝� - let a = ((Number(qualified) + Number(undesirable)) / (duration / 3600)).toFixed(2) - let b = (temp.num / (temp.times / 3600)).toFixed(2) + if (!this.from.qualified && !this.from.undesirable) return 0; + if (!this.from.duration) return 0; + if (!this.arrType[this.from.index].num) return 0; + if (this.arrType[this.from.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝� + let a = ((Number(this.from.qualified) + Number(this.from.undesirable)) / (this.from.duration / 3600)).toFixed(2) + let b = (this.arrType[this.from.index].num / (this.arrType[this.from.index].times / 3600)).toFixed(2) return ((Number(a) / Number(b)) * 100).toFixed(2) } else { - let a = (qualified / (duration / 3600)).toFixed(2) - let b = (temp.num / (temp.times / 3600)).toFixed(2) + let a = (this.from.qualified / (this.from.duration / 3600)).toFixed(2) + let b = (this.arrType[this.from.index].num / (this.arrType[this.from.index].times / 3600)).toFixed(2) return ((Number(a) / Number(b)) * 100).toFixed(2) } } @@ -369,7 +344,7 @@ }, onLoad() { let arr = [] - for (let i = 0; i < 60; i++) { + for(let i = 0; i < 60; i++) { arr.push(i) } this.getData() @@ -385,12 +360,10 @@ this.wuList = [] this.from.defective = [] this.from.defectiveName = '' - // this.from.userName = '' - // this.from.userId = '' + this.from.userName = '' + this.from.userId = '' // 鑾峰彇璁惧 - getDeviceByCondition({ - procedureId: data.obj.procedureId - }) + getDeviceByCondition({ procedureId: data.obj.procedureId }) .then(res1 => { if (res1.code === 200) { if (res1.data && res1.data.length > 0) { @@ -500,33 +473,21 @@ isOpen = true } }) - if (!isOpen) return uni.showToast({ - title: '璇烽�夋嫨涓嶈壇椤�', - icon: 'none', - duration: 2000 - }); + if (!isOpen) return uni.showToast({ title: '璇烽�夋嫨涓嶈壇椤�', icon: 'none', duration: 2000 }); let arr = [] let total = 0 let name = '' for (let i = 0; i < this.cateList.length; i++) { if (this.cateList[i].active) { if (Number(this.cateList[i].num) <= 0) { - return uni.showToast({ - title: '涓嶈壇鏁伴噺蹇呴』澶т簬0', - icon: 'none', - duration: 2000 - }); + return uni.showToast({ title: '涓嶈壇鏁伴噺蹇呴』澶т簬0', icon: 'none', duration: 2000 }); } total = total += Number(this.cateList[i].num) arr.push(this.cateList[i]) name += this.cateList[i].name + this.cateList[i].num + '锛�' } } - if (total !== Number(this.from.undesirable)) return uni.showToast({ - title: '涓嶈壇鏁板繀椤荤瓑浜庝骇鍑轰笉鑹暟', - icon: 'none', - duration: 2000 - }); + if (total !== Number(this.from.undesirable)) return uni.showToast({ title: '涓嶈壇鏁板繀椤荤瓑浜庝骇鍑轰笉鑹暟', icon: 'none', duration: 2000 }); this.from.defective = arr this.from.defectiveName = name this.show = false @@ -559,55 +520,38 @@ }); }, openDev() { - if (!this.from.processPlan) return uni.showToast({ - title: '璇峰厛閫夋嫨宸ュ簭鐢熶骇璁″垝', - icon: 'none', - duration: 2000 - }); + if (!this.from.processPlan) return uni.showToast({ title: '璇峰厛閫夋嫨宸ュ簭鐢熶骇璁″垝', icon: 'none', duration: 2000 }); this.deviceShow = true }, openMaterial() { - if (!this.plansId) return uni.showToast({ - title: '璇峰厛閫夋嫨宸ュ簭鐢熶骇璁″垝', - icon: 'none', - duration: 2000 - }); - if (!this.deviceId) return uni.showToast({ - title: '璇峰厛閫夋嫨鐢熶骇璁惧', - icon: 'none', - duration: 2000 - }); + if (!this.plansId) return uni.showToast({ title: '璇峰厛閫夋嫨宸ュ簭鐢熶骇璁″垝', icon: 'none', duration: 2000 }); + if (!this.deviceId) return uni.showToast({ title: '璇峰厛閫夋嫨鐢熶骇璁惧', icon: 'none', duration: 2000 }); this.$refs.MaterialSelect.open() }, inputwl(i) { if (this.wuList[i].num > this.wuList[i].total) { this.wuList[i].num = '' - uni.showToast({ - title: '鎶曟枡鏁伴噺涓嶈兘澶т簬搴撳瓨鏁伴噺', - icon: 'none', - duration: 2000 - }); + uni.showToast({ title: '鎶曟枡鏁伴噺涓嶈兘澶т簬搴撳瓨鏁伴噺', icon: 'none', duration: 2000 }); } }, deleItem(index) { - if (this.wuList.length === 1) return uni.showToast({ - title: '鑷冲皯淇濈暀涓�椤瑰唴瀹�', - icon: 'none', - duration: 2000 - }); + if (this.wuList.length === 1) return uni.showToast({ title: '鑷冲皯淇濈暀涓�椤瑰唴瀹�', icon: 'none', duration: 2000 }); this.wuList.splice(index, 1) }, // 浜у嚭鏁伴噺楠岃瘉 - changeNum(type) { - if (type == 2) { - this.from.defective = [] - this.from.defectiveName = '' - } else { - this.from.qualified = event + changeNum(type) { + let num = this.total - (Number(this.from.qualified) + Number(this.from.undesirable)) + if (type == 2) { + this.from.defective = [] + this.from.defectiveName = '' } - let num = this.total - (Number(this.from.qualified) + Number(this.from.undesirable)) - if (num < 0) { - uni.$u.toast('浜у嚭鏁伴噺涓嶈兘澶т簬鍙骇鍑烘暟閲忥紒') + if (num < 0) { + uni.showToast({ title: '浜у嚭鏁伴噺涓嶈兘澶т簬鍙骇鍑烘暟閲忥紒', icon: 'none', duration: 2000 }); + if (type == 1) { + this.from.qualified = '' + } else { + this.from.undesirable = '' + } } }, openBL() { @@ -623,58 +567,26 @@ }, // 缁х画鎶ュ伐 continueSubmit() { - if (!this.from.processPlan) return uni.showToast({ - title: '璁″垝涓嶈兘涓虹┖', - icon: 'none', - duration: 2000 - }); - if (!this.from.deviceId) return uni.showToast({ - title: '璁惧涓嶈兘涓虹┖', - icon: 'none', - duration: 2000 - }); - if (!this.from.userId) return uni.showToast({ - title: '鐢熶骇浜哄憳涓嶈兘涓虹┖', - icon: 'none', - duration: 2000 - }); + if (!this.from.processPlan) return uni.showToast({ title: '璁″垝涓嶈兘涓虹┖', icon: 'none', duration: 2000 }); + if (!this.from.deviceId) return uni.showToast({ title: '璁惧涓嶈兘涓虹┖', icon: 'none', duration: 2000 }); + if (!this.from.userId) return uni.showToast({ title: '鐢熶骇浜哄憳涓嶈兘涓虹┖', icon: 'none', duration: 2000 }); if (this.hasBom == 1 && this.bomType == 1) { console.log('涓嶉渶瑕佹姇鏂�') } else { - if (!this.wuList.length === 0) return uni.showToast({ - title: '鎶曟枡涓嶈兘涓虹┖', - icon: 'none', - duration: 2000 - }); + if (!this.wuList.length === 0) return uni.showToast({ title: '鎶曟枡涓嶈兘涓虹┖', icon: 'none', duration: 2000 }); } if (!this.from.qualified && !this.from.undesirable) { - return uni.showToast({ - title: '鑹搧鏁颁笌涓嶈壇鏁颁笉鑳藉悓鏃朵负绌�', - icon: 'none', - duration: 2000 - }); + return uni.showToast({ title: '鑹搧鏁颁笌涓嶈壇鏁颁笉鑳藉悓鏃朵负绌�', icon: 'none', duration: 2000 }); } if (this.from.qualified && this.from.qualified <= 0) { - return uni.showToast({ - title: '鑹搧鏁板繀椤诲ぇ浜�0', - icon: 'none', - duration: 2000 - }); + return uni.showToast({ title: '鑹搧鏁板繀椤诲ぇ浜�0', icon: 'none', duration: 2000 }); } if (this.from.undesirable && this.from.undesirable <= 0) { - return uni.showToast({ - title: '涓嶈壇鍝佹暟蹇呴』澶т簬0', - icon: 'none', - duration: 2000 - }); + return uni.showToast({ title: '涓嶈壇鍝佹暟蹇呴』澶т簬0', icon: 'none', duration: 2000 }); } // 鏈変笉鑹暟 if (this.from.undesirable > 0) { - if (this.from.defective.length === 0) return uni.showToast({ - title: '涓嶈壇椤逛笉鑳戒负绌�', - icon: 'none', - duration: 2000 - }); + if (this.from.defective.length === 0) return uni.showToast({ title: '涓嶈壇椤逛笉鑳戒负绌�', icon: 'none', duration: 2000 }); } let type = '' this.arrType.forEach(item => { @@ -706,11 +618,7 @@ }) }).then(res => { if (res.code === 200) { - uni.showToast({ - title: '鎶ュ伐鎴愬姛锛�', - icon: 'success', - duration: 2000 - }); + uni.showToast({ title: '鎶ュ伐鎴愬姛锛�', icon: 'success', duration: 2000 }); this.arrType = [] this.from.processPlan = null this.from.deviceId = '' @@ -728,50 +636,26 @@ this.deviceId = '' this.plansId = '' this.ids = '' - this.total = 0 + this.total = '' } }) }, // 鎶ュ伐 submit() { - if (!this.from.processPlan) return uni.showToast({ - title: '璁″垝涓嶈兘涓虹┖', - icon: 'none', - duration: 2000 - }); - if (!this.from.deviceId) return uni.showToast({ - title: '璁惧涓嶈兘涓虹┖', - icon: 'none', - duration: 2000 - }); - if (!this.from.userId) return uni.showToast({ - title: '鐢熶骇浜哄憳涓嶈兘涓虹┖', - icon: 'none', - duration: 2000 - }); + if (!this.from.processPlan) return uni.showToast({ title: '璁″垝涓嶈兘涓虹┖', icon: 'none', duration: 2000 }); + if (!this.from.deviceId) return uni.showToast({ title: '璁惧涓嶈兘涓虹┖', icon: 'none', duration: 2000 }); + if (!this.from.userId) return uni.showToast({ title: '鐢熶骇浜哄憳涓嶈兘涓虹┖', icon: 'none', duration: 2000 }); if (this.hasBom == 1 && this.bomType == 1) { console.log('涓嶉渶瑕佹姇鏂�') } else { - if (!this.wuList.length === 0) return uni.showToast({ - title: '鎶曟枡涓嶈兘涓虹┖', - icon: 'none', - duration: 2000 - }); + if (!this.wuList.length === 0) return uni.showToast({ title: '鎶曟枡涓嶈兘涓虹┖', icon: 'none', duration: 2000 }); } if (!this.from.qualified && !this.from.undesirable) { - return uni.showToast({ - title: '鑹搧鏁颁笌涓嶈壇鏁颁笉鑳藉悓鏃朵负绌�', - icon: 'none', - duration: 2000 - }); + return uni.showToast({ title: '鑹搧鏁颁笌涓嶈壇鏁颁笉鑳藉悓鏃朵负绌�', icon: 'none', duration: 2000 }); } // 鏈変笉鑹暟 if (this.from.undesirable > 0) { - if (this.from.defective.length === 0) return uni.showToast({ - title: '涓嶈壇椤逛笉鑳戒负绌�', - icon: 'none', - duration: 2000 - }); + if (this.from.defective.length === 0) return uni.showToast({ title: '涓嶈壇椤逛笉鑳戒负绌�', icon: 'none', duration: 2000 }); } let type = '' this.arrType.forEach(item => { @@ -803,15 +687,9 @@ }) }).then(res => { if (res.code === 200) { - uni.showToast({ - title: '鎶ュ伐鎴愬姛锛�', - icon: 'success', - duration: 2000 - }); + uni.showToast({ title: '鎶ュ伐鎴愬姛锛�', icon: 'success', duration: 2000 }); setTimeout(() => { - uni.navigateBack({ - delta: 1 - }); + uni.navigateBack({ delta: 1 }); }, 2000); } }) @@ -825,20 +703,16 @@ width: 100%; position: absolute; background: #F7F7F7; - .contanir { height: calc(env(safe-area-inset-bottom) + 720rpx); - .content { margin-top: 20rpx; - .type-style { width: 325rpx; margin-bottom: 20rpx; } } } - .bg_plan { width: 100%; // height: 98rpx; @@ -849,29 +723,24 @@ display: flex; align-items: center; justify-content: space-between; - text { font-size: 30rpx; font-family: PingFangSC-Regular, PingFang SC; font-weight: 400; color: #222222; - text { color: red; } } - .bg_plan_nr { display: flex; flex-direction: column; - text { font-size: 24rpx; font-family: PingFangSC-Regular, PingFang SC; font-weight: 400; color: #666666; margin-top: 20rpx; - &:first-child { font-size: 32rpx; font-family: PingFangSC-Medium, PingFang SC; @@ -881,18 +750,15 @@ } } } - .bg_plan_label_val { display: flex; align-items: center; - text { font-size: 28rpx; font-family: PingFangSC-Regular, PingFang SC; font-weight: 400; color: #999999; } - image { width: 12rpx; height: 24rpx; @@ -900,32 +766,26 @@ } } } - .bg_list { width: 100%; display: flex; flex-direction: column; - .bottomval { margin-bottom: 20rpx !important; } - .bg_list_item { display: flex; flex-direction: column; margin-bottom: 40rpx; - .kong { text-align: center; padding: 30rpx 0; background: #ffffff; font-size: 25rpx; - text { color: #474747; } } - .bg_list_item_top { display: flex; align-items: center; @@ -933,16 +793,13 @@ padding-left: 30rpx; padding-right: 30rpx; margin-bottom: 30rpx; - .bg_list_item_top_left { display: flex; align-items: center; - .left { margin-left: 12rpx; font-size: 28rpx; } - .warning { width: 8rpx; height: 30rpx; @@ -950,7 +807,6 @@ margin-right: 12rpx; background: $nav-stateColor5 !important; } - .error { width: 8rpx; height: 30rpx; @@ -958,7 +814,6 @@ margin-right: 12rpx; background: $nav-stateColor4 !important; } - .bg_list_item_top_left_x { width: 8rpx; height: 30rpx; @@ -966,7 +821,6 @@ border-radius: 2rpx; margin-right: 12rpx; } - text { font-size: 32rpx; font-weight: 500; @@ -975,17 +829,14 @@ align-items: center; } } - .bg_list_item_top_right { display: flex; align-items: center; - image { width: 28rpx; height: 28rpx; margin-right: 12rpx; } - text { font-size: 28rpx; font-weight: 400; @@ -993,17 +844,14 @@ } } } - .top { margin-top: 20rpx !important; } - .bg_list_item_h { width: 100%; padding: 0 30rpx; box-sizing: border-box; background: white; - .bg_list_item_num { width: 100%; min-height: 98rpx; @@ -1012,18 +860,15 @@ justify-content: center; align-items: center; border-bottom: 1rpx solid #E5E5E5; - &:last-child { border: none !important; } - .kong { text-align: center; font-size: 25rpx; padding: 30rpx 0; background: #ffffff; } - .bg_list_item_num_item { width: 100%; height: 100%; @@ -1034,20 +879,16 @@ box-sizing: border-box; justify-content: space-between; border-bottom: 1rpx solid #E5E5E5; - &:last-child { border: none; } - .bg_list_item_num_item_list { display: flex; align-items: center; - .active { background: #305ED5 !important; color: #FFFFFF !important; } - .bg_list_item_num_item_list_item { width: 116rpx; height: 62rpx; @@ -1060,75 +901,61 @@ font-weight: 400; color: #333333; margin-right: 20rpx; - &:last-child { margin: 0 !important; } } } - .bg_list_item_num_item_wl { flex: 1; display: flex; flex-direction: column; - text { font-size: 34rpx; color: #222222; } - .bg_list_item_num_item_wl_lx { margin-top: 10rpx; - text { color: #222222; font-size: 28rpx; } } } - .warning { color: $nav-stateColor5 !important; } - .err { color: $nav-stateColor4 !important; } - image { width: 12rpx; height: 24rpx; margin-left: 20rpx; } - text { flex-shrink: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - text { font-size: 30rpx; color: red !important; margin-right: 5rpx; } - .warning { color: $nav-stateColor5 !important; margin-right: 5rpx; } - .err { color: $nav-stateColor4 !important; margin-right: 5rpx; } - &:nth-child(1) { font-size: 30rpx; font-weight: 400; color: #222222; } - &:nth-child(2) { font-size: 28rpx; font-weight: 400; @@ -1136,7 +963,6 @@ flex-shrink: 0; } } - .bg_list_item_num_item_sr { // flex: 1; flex-shrink: 0; @@ -1144,18 +970,15 @@ display: flex; align-items: center; justify-content: flex-end; - .color1 { font-size: 28rpx; font-family: PingFangSC-Regular, PingFang SC; font-weight: 400; color: #333333; } - input::-webkit-input-placeholder { font-size: 28rpx; } - input { text-align: right; width: 180rpx; @@ -1169,7 +992,6 @@ padding: 0 30rpx; margin-right: 20rpx; } - .wulll { width: 400rpx; text-align: right; @@ -1177,7 +999,6 @@ white-space: nowrap; text-overflow: ellipsis; } - text { font-size: 28rpx; font-family: PingFangSC-Regular, PingFang SC; @@ -1190,11 +1011,9 @@ } } } - .bh_zw { height: 160rpx; } - .bg_footer { position: fixed; bottom: 0; @@ -1206,21 +1025,19 @@ display: flex; align-items: center; justify-content: space-between; - .bg_footer_submit1 { width: 334rpx; height: 88rpx; line-height: 88rpx; text-align: center; background: #FFFFFF; - box-shadow: 0rpx 0rpx 12rpx 0rpx rgba(0, 0, 0, 0.08); + box-shadow: 0rpx 0rpx 12rpx 0rpx rgba(0,0,0,0.08); border-radius: 8rpx; font-size: 30rpx; font-family: PingFangSC-Medium, PingFang SC; font-weight: 500; color: #305ED5; } - .bg_footer_submit { width: 334rpx; height: 88rpx; @@ -1235,7 +1052,6 @@ justify-content: center; } } - .bl { width: 100%; height: 800rpx; @@ -1243,29 +1059,24 @@ box-sizing: border-box; display: flex; flex-direction: column; - .bl_head { width: 100%; height: 50rpx; display: flex; align-items: center; justify-content: space-between; - text { font-size: 28rpx; color: #222222; - &:nth-child(2) { font-size: 32rpx !important; } } - image { width: 28rpx; height: 28rpx; } } - .bl_footer { width: 100%; height: 88rpx; @@ -1279,13 +1090,11 @@ color: #FFFFFF; margin-top: 30rpx; } - .bl_list { width: 100%; height: calc(100% - 168rpx); overflow-y: scroll; margin-top: 30rpx; - .bl_list_item { width: 100%; height: 96rpx; @@ -1293,36 +1102,30 @@ align-items: center; justify-content: space-between; border-bottom: 1rpx solid #E5E5E5; - &:last-child { border: none !important; } - .bl_list_item_left { flex: 1; display: flex; align-items: center; - input { width: 30rpx; height: 30rpx; border: 1rpx solid #CCCCCC; margin: 0 !important; } - text { font-size: 30rpx; color: #222222; margin-left: 10rpx; } } - .bl_list_item_right { width: 200rpx; flex-shrink: 0; height: 50rpx; text-align: right; - input { padding-left: 5rpx; width: 160rpx; @@ -1334,7 +1137,6 @@ color: #333333; border-radius: 10rpx; border: 1rpx solid #CCCCCC; - &::-webkit-input-placeholder { font-size: 28rpx; font-family: PingFangSC-Regular, PingFang SC; @@ -1346,13 +1148,12 @@ } } } - .bl_list { width: 100%; height: calc(100% - 168rpx); overflow-y: scroll; margin-top: 30rpx; - + .bl_list_item { width: 100%; height: 96rpx; @@ -1360,36 +1161,36 @@ align-items: center; justify-content: space-between; border-bottom: 1rPX solid #E5E5E5; - + &:last-child { border: none !important; } - + .bl_list_item_left { flex: 1; display: flex; align-items: center; - + input { width: 30rpx; height: 30rpx; border: 1rpX solid #CCCCCC; margin: 0 !important; } - + span { font-size: 30rpx; color: #222222; margin-left: 10rpx; } } - + .bl_list_item_right { width: 200rpx; flex-shrink: 0; height: 50rpx; text-align: right; - + input { padding-left: 5rpx; width: 180rpx; @@ -1403,7 +1204,7 @@ color: #333333; border-radius: 10rpx; border: 1rPX solid #CCCCCC; - + &::-webkit-input-placeholder { font-size: 28rpx; font-family: PingFangSC-Regular, PingFang SC; @@ -1414,11 +1215,10 @@ } } } - .bottom-view { left: 40rpx; right: 40rpx; - bottom: 20rpx + bottom: 0 } } -</style> +</style> diff --git a/minipro_standard/pages_adjust/pages/spotCheck/spotCheck.vue b/minipro_standard/pages_adjust/pages/spotCheck/spotCheck.vue index 9646e39..d798f56 100644 --- a/minipro_standard/pages_adjust/pages/spotCheck/spotCheck.vue +++ b/minipro_standard/pages_adjust/pages/spotCheck/spotCheck.vue @@ -21,11 +21,11 @@ <div class="tl_list_item_go"> <span :style="item.attributeName ? 'color: #000;' : ''">{{ item.attributeName ? item.attributeName : '璇烽�夋嫨'}}</span> - <u-icon name="arrow-right" color="#999999" size="20"></u-icon> + <van-icon name="arrow" color="#999999" /> </div> </div> <div class="tl_list_item" v-if="item.type === ''"> - <div class="tl_list_item_label">灞炴�у��1</div> + <div class="tl_list_item_label">灞炴�у��</div> <div class="tl_list_item_go"> <input type="text" v-model="item.num" placeholder="璇疯緭鍏�" /> </div> @@ -34,10 +34,14 @@ <div class="tl_list_item_label">灞炴�у��</div> <div class="tl_list_item_go"> <u-radio-group v-model="item.num" placement="row" @change="radioSelect"> - <u-radio v-for="(item1, i) in item.data" :key="i" activeColor="#4275FC" :name="item1" - :label="item1"> + <u-radio v-for="(item1, i) in item.data" :key="i" activeColor="#4275FC" :name="item1" :label="item1"> </u-radio> </u-radio-group> + <!-- <van-radio-group v-model="item.num" direction="horizontal"> + <van-radio :name="item1" checked-color="#4275FC" v-for="(item1, i) in item.data" :key="i"> + {{item1}} + </van-radio> + </van-radio-group> --> </div> </div> <div class="tl_list_item" v-else-if="item.type === 1"> @@ -49,30 +53,80 @@ </u-checkbox-group> </div> </div> - <div class="tl_list_item" v-else-if="item.type === 2"> + <div class="tl_list_item" v-else-if="item.type === 2 || item.type === 3"> <div class="tl_list_item_label">灞炴�у��</div> <div class="tl_list_item_go"> <input type="text" v-model="item.num" :placeholder="item.tips" /> - </div> - </div> - <div class="tl_list_item" v-else-if="item.type === 3"> - <div class="tl_list_item_label">灞炴�у��</div> - <div class="tl_list_item_go"> - <input v-model="item.num" type="digit" :placeholder="item.tips" /> - <!-- <u--input v-model="item.num" :placeholder="item.tips" type="digit" - border="surround"></u--input> --> </div> </div> <div class="tl_list_item" @click="openTimer(index)" v-else-if="item.type === 4"> <div class="tl_list_item_label">灞炴�у��</div> <div class="tl_list_item_go"> <span :style="item.num ? 'color: #000;' : ''">{{item.num ? item.num : item.tips}}</span> - <u-icon name="arrow-right" color="#999999" size="20"></u-icon> + <u-icon name="arrow" color="#999999" /> </div> </div> </div> </u-swipe-action-item> </u-swipe-action> + <!-- <van-swipe-cell v-for="(item, index) in formList" :key="index"> + <div class="tl_list"> + <div class="tl_list_item" @click="open(index)"> + <div class="tl_list_item_label">鐢熶骇灞炴��</div> + <div class="tl_list_item_go"> + <span + :style="item.attributeName ? 'color: #000;' : ''">{{ item.attributeName ? item.attributeName : '璇烽�夋嫨'}}</span> + <van-icon name="arrow" color="#999999" /> + </div> + </div> + <div class="tl_list_item" v-if="item.type === ''"> + <div class="tl_list_item_label">灞炴�у��</div> + <div class="tl_list_item_go"> + <input type="text" v-model="item.num" placeholder="璇疯緭鍏�" /> + </div> + </div> + <div class="tl_list_item" v-else-if="item.type === 0"> + <div class="tl_list_item_label">灞炴�у��</div> + <div class="tl_list_item_go"> + <u-radio-group v-model="item.num" placement="row"> + <u-radio v-for="(item1, i) in item.data" :key="i" activeColor="#4275FC" :label="item1"> + </u-radio> + </u-radio-group> + </div> + </div> + <div class="tl_list_item" v-else-if="item.type === 1"> + <div class="tl_list_item_label">灞炴�у��</div> + <div class="tl_list_item_go"> + <u-checkbox-group v-model="item.num" placement="row"> + <u-checkbox v-for="(item1, i) in item.data" :key="i" :label="item1" :name="item1"> + </u-checkbox> + </u-checkbox-group> + </div> + </div> + <div class="tl_list_item" v-else-if="item.type === 2"> + <div class="tl_list_item_label">灞炴�у��</div> + <div class="tl_list_item_go"> + <input type="text" v-model="item.num" :placeholder="item.tips" /> + </div> + </div> + <div class="tl_list_item" v-else-if="item.type === 3"> + <div class="tl_list_item_label">灞炴�у��</div> + <div class="tl_list_item_go"> + <input type="text" v-model="item.num" :placeholder="item.tips" /> + </div> + </div> + <div class="tl_list_item" @click="openTimer(index)" v-else-if="item.type === 4"> + <div class="tl_list_item_label">灞炴�у��</div> + <div class="tl_list_item_go"> + <span :style="item.num ? 'color: #000;' : ''">{{item.num ? item.num : item.tips}}</span> + <u-icon name="arrow" color="#999999" /> + </div> + </div> + </div> + <template #right> + <van-button square style="height: 100%;" type="danger" text="鍒犻櫎" @click="dele(index)" /> + </template> + </van-swipe-cell> --> <div class="tl_zw"></div> <div class="tl_footer"> @@ -80,8 +134,6 @@ </div> <u-picker :show="show" :columns="[gzqjData]" title="閫夋嫨鐢熶骇灞炴��" @confirm="gzqjConfirm" @cancel="show=false"> </u-picker> - <u-datetime-picker :show="timer" v-model="value1" @cancel="timer=false" @confirm="onConfirm" mode="datetime"> - </u-datetime-picker> </view> </template> @@ -102,14 +154,9 @@ data() { return { options1: [{ - text: '鍒犻櫎', - style: { - backgroundColor: '#f00', - } + text: '鍒犻櫎' }], - value1: Number(new Date()), show: false, - timer: false, index: '', workOrderId: '', info: {}, @@ -171,11 +218,6 @@ this.index = index this.show = true }, - // 鎵撳紑鏃ユ湡鎻掍欢 - openTimer(index) { - this.index = index - this.timer = true - }, gzqjConfirm({ value }) { @@ -223,44 +265,35 @@ return } this.formList.splice(index, 1) - }, - onConfirm(value) { - console.log(value); - this.formList.forEach((item, index) => { - if (this.index === index) { - item.num = setTimeO(new Date(value.value), '-') - } - }) - this.timer = false; - }, - radioSelect(v) { - console.log(v); + }, + radioSelect(v) { + console.log(v); }, submit() { - let isOpen = true - let attrList = [] - - this.formList.forEach(item => { + let isOpen = true + let attrList = [] + + this.formList.forEach(item => { console.log('-------', item); - if (item.type === 1) { + if (item.type === 1) { if (item.attribute === '' || item.num.length === 0) { - isOpen = false + isOpen = false return - } else { - attrList.push({ - val: item.num.join(' '), - attrId: item.attribute - }) + } else { + attrList.push({ + val: item.num.join(' '), + attrId: item.attribute + }) } - } else { + } else { if (item.attribute === '' || item.num === '') { - isOpen = false + isOpen = false return - } else { - attrList.push({ - val: item.num, - attrId: item.attribute - }) + } else { + attrList.push({ + val: item.num, + attrId: item.attribute + }) } } }) @@ -268,13 +301,13 @@ uni.$u.toast('璇峰皢淇℃伅濉啓瀹屾暣') return } - + createDJ({ attrList: attrList, id: this.workOrderId }).then(res => { - if (res.code === 200) { - uni.$emit('spotAdd') + if (res.code === 200) { + uni.$emit('spotAdd') uni.$u.toast('鍒涘缓鎴愬姛') setTimeout(() => { uni.navigateBack() @@ -341,7 +374,7 @@ flex-direction: column; background: white; padding: 0 30rpx; - // margin-bottom: 20rpx; + margin-bottom: 20rpx; .tl_list_item { min-height: 98rpx; @@ -357,15 +390,12 @@ .tl_list_item_label { font-size: 30rpx; font-weight: 400; - flex-shrink: 1; color: #222222; } .tl_list_item_go { display: flex; align-items: center; - flex: 1; - justify-content: flex-end; input { text-align: right; @@ -417,15 +447,5 @@ justify-content: center; } } - } - - /deep/ .u-checkbox-group { - flex-wrap: wrap; - max-width: 100%; - } - - /deep/ .u-radio-group { - flex-wrap: wrap; - max-width: 100%; } </style> diff --git a/minipro_standard/pages_adjust/pages/warehousingDetails/warehousingDetails.vue b/minipro_standard/pages_adjust/pages/warehousingDetails/warehousingDetails.vue index 06f7ac9..04cb0cd 100644 --- a/minipro_standard/pages_adjust/pages/warehousingDetails/warehousingDetails.vue +++ b/minipro_standard/pages_adjust/pages/warehousingDetails/warehousingDetails.vue @@ -126,7 +126,7 @@ </view> </view> </view> - <view v-if="(data.status === 0 || data.status === 1) && show" style="background:#F7F7F7; width: 100%; height: 188rpx"></view> + <view v-if="(data.status === 0 || data.status === 1) && show" style="background:#F7F7F7; height:94rpx"></view> <view v-if="(data.status === 0 || data.status === 1) && show" class="bottom-button"> <button class="button" @click="submit">{{ data.status === 0 ? '鍘诲嚭搴�' : '鍘诲叆搴�' }}</button> </view> @@ -269,9 +269,10 @@ // 璺宠浆鍑哄簱鍏ュ簱 submit() { if (this.data.status === 0) { // 鍑哄簱 + console.log('鍑哄簱') // router.push({ name: 'issueOperation', query: { id: route.query.id, type: 7 } }) uni.navigateTo({ - url: `/pages_inspect/pages/OutOperation/OutOperation?id=${this.id}&type=7` + url: `/pages/OutOperation/OutOperation?id=${this.id}&type=7` }); } else if (this.data.status === 1) { // 鍏ュ簱 if (this.data.type === 3) { // 澶囨枡纭 @@ -279,8 +280,9 @@ // router.push({ name: 'orderStock', query: { id: route.query.id, status: data.value.status, next: 1 } }) return } + console.log('鍏ュ簱') uni.navigateTo({ - url: `/pages_inspect/pages/InOperation/InOperation?id=${this.id}&type=7` + url: `/pages/InOperation/InOperation?id=${this.id}&type=7` }); // router.push({ name: 'warehousing', query: { id: route.query.id, type: 7 } }) } diff --git a/minipro_standard/pages_adjust/pages/workOrder/workOrder.vue b/minipro_standard/pages_adjust/pages/workOrder/workOrder.vue index 6cce09b..95a9d39 100644 --- a/minipro_standard/pages_adjust/pages/workOrder/workOrder.vue +++ b/minipro_standard/pages_adjust/pages/workOrder/workOrder.vue @@ -1,7 +1,7 @@ <template> <view class="content p30 bbox"> <div class="content_search"> - <v-Search @searchInput="searchInput" @submit="search" @reset="reset" :isShow="true" + <v-Search @searchInput="searchForm.mixParam" @submit="search" @reset="reset" :isShow="true" placeholder="鎼滅储宸ュ崟缂栫爜/宸ュ簭鍚嶇О"> <template v-slot:content> <div class="Search_item"> @@ -21,72 +21,69 @@ <div class="content_search_x"></div> <v-LableSelection :TagList="tagList" :isShow="true" @change="clickTag"></v-LableSelection> </div> - <div class="content_total mt20">鍏眥{page.total}}鏉℃暟鎹�</div> - <div class="content_list"> - <scroll-view scroll-y="true" :style="{height:height}" refresher-enabled="true" - :refresher-triggered="triggered" @scrolltolower="getLists" @refresherrefresh="onRefresh"> - - <div class="content_list_item" v-for="(item, i) in list" :key="i" @click="jump(item)"> - <div class="content_list_item_top"> - <div class="content_list_item_top_left"> - <span class="f32" v-if="item.mmodel">{{item.mmodel.name}} | {{item.procedureName}}</span> - <div class="content_list_item_top_left_tag" v-if="item.urgent">浼樺厛{{item.urgent}}</div> - <div class="content_list_item_top_left_tag backgreen" v-if="item.type === 0">姝e父</div> - <div class="content_list_item_top_left_tag backyellow" v-if="item.type === 2">杩斿伐杩斾慨</div> - <div class="content_list_item_top_left_tagW" v-if="item.paused === 1">鍋�</div> - </div> - <div class="content_list_item_top_right"> - <span class="yellow" v-if="item.status === 0">宸插垱寤�</span> - <span class="green" v-if="item.status === 1">宸插鏂�</span> - <span v-if="item.status === 2">宸插畬宸ユ</span> - <span class="purple" v-if="item.status === 3">宸叉楠�</span> - <span v-if="item.status === 4">宸叉姤宸�</span> - <span v-if="item.status === 5">宸插叆搴�</span> - <span v-if="item.status === 6">宸插彇娑�</span> - <span class="green" v-if="item.status === 7">鐢熶骇涓�</span> - </div> - </div> - <span class="f24">宸ュ崟缂栧彿: {{item.code}}</span> - <div class="content_list_item_content"> - <div class="content_list_item_content_item"> - <div class="content_list_item_content_item_label">鐗╂枡缂栫爜锛�</div> - <div class="content_list_item_content_item_nr" v-if="item.mmodel">{{item.mmodel.code}}</div> - </div> - <div class="content_list_item_content_item"> - <div class="content_list_item_content_item_label">璁″垝寮�宸ワ細</div> - <div class="content_list_item_content_item_nr">{{item.planDate}}</div> - </div> - <div class="content_list_item_content_item"> - <div class="content_list_item_content_item_label">鐢熶骇鎵规锛�</div> - <div class="content_list_item_content_item_nr">{{item.batch}}</div> - </div> - <div class="content_list_item_content_item"> - <div class="content_list_item_content_item_label">璁″垝鏁伴噺锛�</div> - <div class="content_list_item_content_item_nr" v-if="item.umodel"> - {{item.planNum}}{{item.umodel.name}} - </div> - </div> - <div class="content_list_item_content_item"> - <div class="content_list_item_content_item_label">鐢熶骇璁惧锛�</div> - <div class="content_list_item_content_item_nr" v-if="item.pgmodel">{{item.pgmodel.code}} - </div> - </div> - - <div class="content_list_item_content_item" v-if="item.status === 5"> - <div class="content_list_item_content_item_label">瀹屽伐鏁伴噺锛�</div> - <div class="content_list_item_content_item_nr">{{item.proNum}}</div> - </div> - </div> - </div> - - </scroll-view> - </div> - <view class="fx1"> - + <div class="content_total mt20">鍏眥{page.total}}鏉℃暟鎹�</div> + <view class="fx1"> + <scroll-view scroll-y="true" refresher-enabled="true" :refresher-triggered="triggered" @scrolltolower="getLists" + @refresherrefresh="onRefresh"> + <div class="content_list"> + <div class="content_list_item" v-for="(item, i) in list" :key="i" @click="jump(item)"> + <div class="content_list_item_top"> + <div class="content_list_item_top_left"> + <span class="f32" v-if="item.mmodel">{{item.mmodel.name}} | {{item.procedureName}}</span> + <div class="content_list_item_top_left_tag" v-if="item.urgent">浼樺厛{{item.urgent}}</div> + <div class="content_list_item_top_left_tag backgreen" v-if="item.type === 0">姝e父</div> + <div class="content_list_item_top_left_tag backyellow" v-if="item.type === 2">杩斿伐杩斾慨</div> + <div class="content_list_item_top_left_tagW" v-if="item.paused === 1">鍋�</div> + </div> + <div class="content_list_item_top_right"> + <span class="yellow" v-if="item.status === 0">宸插垱寤�</span> + <span class="green" v-if="item.status === 1">宸插鏂�</span> + <span v-if="item.status === 2">宸插畬宸ユ</span> + <span class="purple" v-if="item.status === 3">宸叉楠�</span> + <span v-if="item.status === 4">宸叉姤宸�</span> + <span v-if="item.status === 5">宸插叆搴�</span> + <span v-if="item.status === 6">宸插彇娑�</span> + <span class="green" v-if="item.status === 7">杩涜涓�</span> + </div> + </div> + <span class="f24">宸ュ崟缂栧彿: {{item.code}}</span> + <div class="content_list_item_content"> + <div class="content_list_item_content_item"> + <div class="content_list_item_content_item_label">鐗╂枡缂栫爜锛�</div> + <div class="content_list_item_content_item_nr" v-if="item.mmodel">{{item.mmodel.code}}</div> + </div> + <div class="content_list_item_content_item"> + <div class="content_list_item_content_item_label">璁″垝寮�宸ワ細</div> + <div class="content_list_item_content_item_nr">{{item.planDate}}</div> + </div> + <div class="content_list_item_content_item"> + <div class="content_list_item_content_item_label">鐢熶骇鎵规锛�</div> + <div class="content_list_item_content_item_nr">{{item.batch}}</div> + </div> + <div class="content_list_item_content_item"> + <div class="content_list_item_content_item_label">璁″垝鏁伴噺锛�</div> + <div class="content_list_item_content_item_nr" v-if="item.umodel"> + {{item.planNum}}{{item.umodel.name}} + </div> + </div> + <div class="content_list_item_content_item"> + <div class="content_list_item_content_item_label">鐢熶骇璁惧锛�</div> + <div class="content_list_item_content_item_nr" v-if="item.pgmodel">{{item.pgmodel.code}} + </div> + </div> + + <div class="content_list_item_content_item" v-if="item.status === 5"> + <div class="content_list_item_content_item_label">瀹屽伐鏁伴噺锛�</div> + <div class="content_list_item_content_item_nr">{{item.proNum}}</div> + </div> + </div> + </div> + </div> + </scroll-view> </view> - - <!-- <u-calendar :show="isOpenDate" mode="range" @confirm="dateConfirm"></u-calendar> --> - <l-calendar :lunar="false" v-model="isOpenDate" @change="dateConfirm" :isRange="true" activeBgColor="#305ED5" + + <!-- <u-calendar :show="isOpenDate" mode="range" @confirm="dateConfirm"></u-calendar> --> + <l-calendar :lunar="false" v-model="isOpenDate" @change="onConfirm" :isRange="true" activeBgColor="#305ED5" rangeColor="#305ED5" rangeBgColor="rgba(48, 80, 213, 0.1)"></l-calendar> </view> </template> @@ -97,10 +94,8 @@ import { getList, pageCount - } from '@/util/api/WorkOrderAPI.js' - import { - gsdate - } from '@/util/utils.js' + } from '@/util/api/WorkOrderAPI.js' + import { gsdate } from '@/util/utils.js' export default { components: { vSearch, @@ -125,7 +120,6 @@ num: '0' } ], - height: '', triggered: false, _freshing: false, searchForm: { @@ -142,41 +136,24 @@ list: [], } }, - onReady() { - var that = this - - this.$nextTick(() => { - uni.createSelectorQuery() - .in(this) - .select('.content_search') - .boundingClientRect((rect) => { - console.log('-----', rect); - that.height = `calc(100vh - ${rect.height + 80}px)` - that.top = `${rect.height}px` - }) - .exec() - }) - }, onLoad() { this.pageCounts() this.loadData() }, - methods: { - reset() { - this.searchForm = { - mixParam: '', - startDate: '', - // endDate: gsdate(new Date()), - endDate: '', - statusList: [] - } - this.search() - }, - searchInput(data) { - this.searchForm.mixParam = data - this.search() + methods: { + reset() { + this.searchForm = { + mixParam: '', + startDate: '', + endDate: gsdate(new Date()), + statusList: [] + } + this.page.page = 1 + this.pageCounts() + this.loadData() }, loadData() { + getList({ ...this.page, model: { @@ -203,10 +180,11 @@ pageCounts() { pageCount({ ...this.searchForm, - endDate: this.searchForm.endDate || null, + endDate: this.searchForm.endDate || '', statusList: this.searchForm.statusList.length === 0 ? this.tagList[0].id : this.searchForm .statusList - }).then(res => { + }).then(res => { + console.log(res); if (res.code === 200) { this.tagList[0].num = String(res.data.startNum) this.tagList[1].num = String(res.data.ingNum) @@ -220,10 +198,9 @@ this.loadData() }, dateConfirm(v) { - console.log(v); this.isOpenDate = false - this.searchForm.startDate = v.startDate - this.searchForm.endDate = v.endDate + this.searchForm.startDate = v[0] + this.searchForm.endDate = v[v.length - 1] }, getLists() { this.page.page += 1 @@ -232,24 +209,24 @@ onRefresh() { if (this.triggered) return this.triggered = true; - this.search() - }, - search() { this.page.page = 1 this.loadData() - this.pageCounts() + }, + search() { + this.page.page = 1 + this.loadData() }, - jump(item) { - // uni.navigateTo({ - // url: `/pages_adjust/pages/OrderDetail/OrderDetail?id=${item.id}` + jump(item) { + // uni.navigateTo({ + // url: `/pages_adjust/pages/OrderDetail/OrderDetail?id=${item.id}` // }) if (item.status === 4 || item.status === 6 || item.paused === 1) { - uni.navigateTo({ - url: `/pages_adjust/pages/OrderDetail/OrderDetail?id=${item.id}` + uni.navigateTo({ + url: `/pages_adjust/pages/OrderDetail/OrderDetail?id=${item.id}` }) - } else { - uni.navigateTo({ - url: `/pages_adjust/pages/workOrderReporting/workOrderReporting?id=${item.id}` + } else { + uni.navigateTo({ + url: `/pages_adjust/pages/workOrderReporting/workOrderReporting?id=${item.id}` }) } } @@ -259,10 +236,9 @@ <style lang="scss" scoped> .content { - display: flex; - flex-direction: column; + display: flex; + flex-direction: column; height: 100vh; - .content_search { background: white; z-index: 9; diff --git a/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue b/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue index db5473d..7f7965e 100644 --- a/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue +++ b/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue @@ -1,6 +1,5 @@ -<template> - <page-meta :page-style="(badShow||statistics) ?'overflow: hidden;': ''"/> - <view class="content"> +<template> + <view> <view class="tips-label">褰撳墠浠诲姟闇�瑕佽川妫�锛涗骇鍑哄悗锛岃鑰愬績绛夊緟璐ㄦ鍛樻楠岋紝骞舵牴鎹楠岀粨鏋滆皟鏁翠骇鍑烘暟鎹悗鍐嶆姤宸ャ��</view> <workOrderInfo :orederMessage="info" /> <!-- <u-tabs :list="tab" lineColor="#305ED5" :activeStyle="{color:'#305ED5'}" lineWidth="50%" :itemStyle="{width: '50%', boxSizing: 'border-box', height: '88rpx'}" @click="click"></u-tabs> --> @@ -22,7 +21,7 @@ <!-- <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt="" /> --> <!-- <img src="@/static/gongdan_ic_shoudong@2x.ong" alt="" /> --> <image src="../../static/gongdan_ic_shoudong@2x.png" class="img28" mode=""></image> - <span class="cm">鎵嬪姩鎶曟枡</span> + <span class="cm">鎵嬪姩褰曞叆</span> </div> </div> @@ -38,11 +37,11 @@ <span> {{ item.materialName || '澧欎綋鐮�' }}{{ item.procedureName ? ` | ${item.procedureName}` : '' }}</span> <div class="bg_list_item_num_item_wl_lx"> - <span class="green" v-if="item.qualityType == 0">鍚堟牸<text class="c6" decode>{{split}}</text></span> - <span class="orange" v-if="item.qualityType == 1">涓嶈壇<text class="c6" decode>{{split}}</text></span> - <span class="red" v-if="item.qualityType == 2">鎶ュ簾<text class="c6" decode>{{split}}</text></span> + <span class="green" v-if="item.qualityType == 0">鍚堟牸 / </span> + <span class="orange" v-if="item.qualityType == 1">涓嶈壇 / </span> + <span class="red" v-if="item.qualityType == 2">鎶ュ簾 / </span> <span>{{ item.locationName }}</span> - <span v-if="item.batch"><text class="c6" decode>{{split}}</text>{{ item.batch }}</span> + <span>{{ item.batch ? ` / ${item.batch}` : '' }}</span> </div> </div> <div class="bg_list_item_num_item_sr"> @@ -125,8 +124,7 @@ :style="{ color: form.durationName ? '#333' : '' }">{{ form.durationName ? form.durationName : '璇烽�夋嫨' }}</span> <image src="../../../static/ic_ar@2x.png" class="img_ar" mode=""></image> </div> - </div> - <!-- form.duration && --> + </div> <div class="bg_list_item" v-if="arrType && arrType.length > 0"> <div class="bg_list_item_top"> <div class="bg_list_item_top_left"> @@ -177,38 +175,31 @@ </div> <div class="details_dj" v-if="typeView === 1"> - <div class="details_dj_list"> - <u-swipe-action v-for="(item, index) in djData" :key="index"> - <u-swipe-action-item :options="options" @click="dele(item.id)"> - <div class="details_dj_list_item"> - <span>{{ item.attrName }}锛歿{ item.val }}</span> - <span>{{ item.userName }} {{ item.createTime }}</span> - </div> - </u-swipe-action-item> - </u-swipe-action> + <div class="details_dj_list"> + <scroll-view scroll-y="true" refresher-enabled="true" @scrolltolower="getLists"> + <u-swipe-action v-for="(item, index) in djData" :key="index"> + <u-swipe-action-item :options="options" @click="dele(item.id)"> + <div class="details_dj_list_item"> + <span>{{ item.attrName }}锛歿{ item.val }}</span> + <span>{{ item.userName }} {{ item.createTime }}</span> + </div> + </u-swipe-action-item> + </u-swipe-action> + </scroll-view> </div> </div> - <!-- v-if="info.status === 2 || info.procedureNeedcheck === 1" --> - <!-- status 0宸插垱寤恒��1宸插鏂欍��2宸插畬宸ャ��3宸叉楠屻��4宸叉姤宸ャ��5宸插叆搴撱��6宸插彇娑堛��7鐢熶骇涓� --> - <!-- procedureNeedcheck 宸ュ簭鏄惁闇�瑕佹楠屾墠鑳芥姤宸� 0鏄� 1鍚� --> - <template v-if="typeView == 0 &&( info.status === 2 || info.procedureNeedcheck === 1 )"> + <!-- v-if="info.status === 2 || info.procedureNeedcheck === 1" --> + <template v-if="info.status === 2 || info.procedureNeedcheck === 1"> <div class="bh_zw"></div> <div class="bg_footer bg_f7"> <div class="bg_footer_submit bg_m" v-if="typeView == 0" @click="submit">纭鎶ュ伐</div> <!-- proxy.$auth('h5:workorder:processRecord') && --> - - </div> - </template> - <template v-if="typeView == 1 && info.status !== 4 && info.procedureNeedcheck !== 5 && info.procedureNeedcheck !== 6"> - <div class="bh_zw"></div> - <div class="bg_footer bg_f7"> <div class="bg_footer_submit1" @click="jumpdj" v-if="typeView == 1"> <image src="../../../static/gongdan_ic_shoudong@2x.png" class="fornt-img" mode=""></image> <span>鏂板鐐规</span> </div> </div> - </template> - <u-safe-bottom></u-safe-bottom> + </template> <u-datetime-picker :show="TimeShow" @cancel="TimeShow=false" @confirm="timeConfirm" v-model="form.time" mode="time"></u-datetime-picker> <u-popup :show="badShow" @close="badShow=false" :round="8" closeable zIndex="20000"> @@ -231,39 +222,6 @@ <view class="fx1 ml20 ptb20 sbtn_green" @click="confirm">纭畾</view> </view> </view> - </u-popup> - <u-popup :show="statistics" @close="statistics=false" :round="8" closeable zIndex="20000"> - <div class="tg"> - <div class="tg_header">璇风‘璁ゆ姤宸ヤ俊鎭�</div> - <div class="tg_table"> - <div class="tg_table_header"> - <div class="tg_table_header_item">绫诲瀷</div> - <div class="tg_table_header_item">鐗╂枡鍚嶇О</div> - <!-- <div class="tg_table_header_item">宸ヨ鏁伴噺</div> --> - <div class="tg_table_header_item">鐗╂枡鏁伴噺</div> - </div> - <div class="nr" v-if="statisticsData.length > 0"> - <div class="tg_table_nr" v-for="(item, index) in statisticsData" :key="index"> - <div class="tg_table_nr_item">{{ item.name }}</div> - <div class="tg_table_nr_item">{{ item.materialName }}</div> - <!-- <div class="tg_table_nr_item">{{item.gznum}}</div> --> - <div class="tg_table_nr_item" :style="item.name === '宸ュ崟鏈姇鏂�' ? 'color: #DE5243' : ''"> - {{ item.num }} - </div> - </div> - </div> - <div class="nr" v-else> - <div class="tg_table_nr"> - <div class="tg_table_nr_item1">鏆傛棤鏁版嵁</div> - </div> - </div> - </div> - <div class="tg_footer"> - <!-- proxy.$auth('h5:workorderoutput:confirm') && --> - <button class="tg_footer_qr" @click="submitBG" v-if="isSubmit">纭鎶ュ伐</button> - <div class="tg_footer_fh" @click="statistics = false" v-else-if="!isSubmit">杩斿洖淇敼</div> - </div> - </div> </u-popup> </view> </template> @@ -305,8 +263,7 @@ { name: '鐐规' } - ], - split: ' / ', + ], form: { time: '', defective: [], @@ -344,18 +301,14 @@ capacity: 10, page: 1, total: 0 - }, - statisticsData: [], - isSubmit: false, - statistics: false + } }; }, onLoad(obj) { this.workorderId = obj.id this.queryByIds() this.getOrocessRecords() - this.getData() - this.pageDJs() + this.getData() uni.$on('spotAdd', () => { if (this.typeView == 1) { this.pages.page = 1 @@ -367,45 +320,41 @@ }) }, computed: { - expectedSalary() { - let { qualified, undesirable } = this.produceFrom - if (this.arrType.length === 0) return 0; - let temp = this.arrType[this.form.index] + expectedSalary() { + if (this.arrType.length === 0) return 0; // 鎸変欢璁$畻 - if (temp.type == 0) { - if (!qualified) return 0 - if (temp.unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝� - let total = Number(qualified) + Number(undesirable) - return (total * (temp.salary / 100)).toFixed(2) || 0 + if (this.arrType[this.form.index].type == 0) { + if (!this.produceFrom.qualified) return 0 + if (this.arrType[this.form.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝� + let total = Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable) + return (total * (this.arrType[this.form.index].salary / 100)).toFixed(2) || 0 } else { - return (Number(qualified) * (temp.salary / 100)).toFixed( + return (Number(this.produceFrom.qualified) * (this.arrType[this.form.index].salary / 100)).toFixed( 2) || 0 } } else { if (!this.form.duration) return 0; let h = (this.form.duration / 60 / 60).toFixed(2) - return (Number(h) * (temp.salary / 10 / 10)).toFixed(2) || 0 + return (Number(h) * (this.arrType[this.form.index].salary / 10 / 10)).toFixed(2) || 0 } }, - complianceRate() { - let { index, duration } = this.form - let { qualified, undesirable } = this.produceFrom - if (this.arrType.length === 0) return 0; - let temp = this.arrType[index] - if (!qualified && !undesirable) return 0; - if (!duration) return 0; - if (!temp.num || !temp.times) return 0; + complianceRate() { + if (this.arrType.length === 0) return 0; + if (!this.produceFrom.qualified && !this.produceFrom.undesirable) return 0; + if (!this.form.duration) return 0; + if (!this.arrType[this.form.index].num) return 0; // 鎸変欢璁$畻 // if (infoBox.value.type == 0) { - if (temp.unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝� - let a = ((Number(qualified) + Number(undesirable)) / (Number(duration) / 3600)).toFixed(2) - let b = (temp.num / (temp.times / 3600)).toFixed(2) + if (this.arrType[this.form.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝� + let a = ((Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable)) / (this.form + .duration / 3600)).toFixed(2) + let b = (this.arrType[this.form.index].num / (this.arrType[form.index].times / 3600)).toFixed(2) return ((Number(a) / Number(b)) * 100).toFixed(2) // let total = (Number(from.qualified) + Number(from.undesirable)) / ((from.duration * 60 * 60) * infoBox.value.num / ) // return total * infoBox.value.salary; } else { - let a = (Number(qualified) / (Number(duration) / 3600)).toFixed(2) - let b = (temp.num / (temp.times / 3600)).toFixed(2) + let a = (this.produceFrom.qualified / (this.form.duration / 3600)).toFixed(2) + let b = (this.arrType[this.form.index].num / (this.arrType[this.form.index].times / 3600)).toFixed(2) return ((Number(a) / Number(b)) * 100).toFixed(2) // return Number(from.qualified) * infoBox.value.salary; } @@ -429,8 +378,7 @@ item.id = item.type item.active = index == 0 }) - this.arrType = result.data - + this.arrType = result.data } else { this.arrType = [] } @@ -475,6 +423,7 @@ timeConfirm({ value }) { + console.log(value) let h = Number(value.substring(0, 2)) let m = Number(value.substring(3, 5)) let s = 0 @@ -495,39 +444,46 @@ if (unitAttribute == 0 && num != '') { if (!REGULAR.positiveInteger.test(num)) { obj.num = obj.ynum - uni.$u.toast('鍙兘杈撳叆姝f暣鏁�') + Toast({ + message: '鍙兘杈撳叆姝f暣鏁�' + }) return } } if (unitAttribute == 1 && num != '') { if (!REGULAR.number.test(num)) { - uni.$u.toast('鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級') + Toast({ + message: '鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級' + }) obj.num = obj.ynum return } } if (num > maxNum) { obj.num = obj.ynum - uni.$u.toast('瓒呭嚭宸ヨ鎬绘暟') + Toast.fail({ + message: '瓒呭嚭宸ヨ鎬绘暟' + }) return } } else if (type === 'C' && num > info.value.planNum) { obj.num = obj.ynum - uni.$u.toast('浜у嚭鏁伴噺涓嶈兘瓒呰繃璁″垝鏁伴噺') + Toast.fail({ + message: '浜у嚭鏁伴噺涓嶈兘瓒呰繃璁″垝鏁伴噺' + }) return } - updateById({ - id, - num - }) - .then(res => { - if (res.code === 200 && type === 'T') { - this.getOrocessRecords() - } - }) + // updateById({ id, num }).then(res => { + // if (res.code === 200 && type === 'T') { + // getOrocessRecords() + // } else if (res.code === 200 && type === 'C') { + // // getOrocessRecordCC() + // } + // }) }, changeCC(downType, num, recordId) { if (!num) return + console.log(Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable)) if ((Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable)) > this.info.planNum) { uni.showToast({ title: '浜у嚭鏁伴噺涓嶈兘澶т簬璁″垝鏁伴噺', @@ -563,197 +519,7 @@ this.form.index = index this.form.type = item.type }, - getGroupNum(arr) { - let newArry = {}; - for (let i = 0; i < arr.length; i++) { - if (newArry[arr[i].materialName]) { - newArry[arr[i].materialName].push(arr[i]) - } else { - newArry[arr[i].materialName] = [arr[i]] - } - } - return newArry; - }, submit() { - let res = this.getGroupNum(this.feedingData) - if (this.info.bomType === 1) { // 鎷夊紡 - console.log('鎷夊紡') - this.statisticsData = [] - if (this.produceFrom.qualified <= 0 && this.produceFrom.undesirable <= 0) { - uni.$u.toast('浜у嚭鏄庣粏涓嶈兘涓虹┖') - return - } - if (this.info.hasBom === 0) { - console.log('鏃燽om') - let arr = [] - let tl = 0 - for (let i in res) { - let num = 0 - res[i].forEach(item => { - num += Number(item.num) - }) - arr.push({ - name: '宸ュ崟鎶曟枡', - materialName: i + res[i][0].procedureName, - num: num - }) - } - this.feedingData.forEach(item => { - tl += Number(item.num) - }) - this.statisticsData = [...this.statisticsData, ...arr] - this.statisticsData.push({ - name: '宸ュ崟鍚堟牸浜у嚭', - materialName: this.info.mmodel.name + '-' + this.info.procedureName, - num: this.produceFrom.qualified - }) - this.infostatisticsData.push({ - name: '宸ュ崟涓嶈壇浜у嚭', - materialName: this.info.mmodel.name + '-' + this.info.procedureName, - num: this.produceFrom.undesirable - }) - this.statisticsData.push({ - name: '宸ュ崟鏈姇鏂�', - materialName: '', - num: this.info.planNum - Number(this.produceFrom.qualified) - Number(this.produceFrom - .undesirable) - }) - let total = this.info.planNum - (Number(this.produceFrom.qualified) + Number(this.produceFrom - .undesirable)) - if (total === 0) { - this.isSubmit = true - } else { - this.isSubmit = false - } - } else if (this.info.hasBom === 1) { // 鏈塨om鎯呭喌 - console.log('鏈塨om') - let arr = [] - let tl = 0 - // let res = getGroupNum(feedingData) - for (let i in res) { - let num = 0 - res[i].forEach(item => { - num += Number(item.num) - }) - arr.push({ - name: '宸ュ崟鎶曟枡', - materialName: i, - num: num - }) - } - this.feedingData.forEach(item => { - tl += Number(item.num) - }) - this.statisticsData = [...this.statisticsData, ...arr] - this.statisticsData.push({ - name: '宸ュ崟鍚堟牸浜у嚭', - materialName: this.info.mmodel.name + '-' + this.info.procedureName, - num: this.produceFrom.qualified - }) - this.statisticsData.push({ - name: '宸ュ崟涓嶈壇浜у嚭', - materialName: this.info.mmodel.name + '-' + this.info.procedureName, - num: this.produceFrom.undesirable - }) - this.isSubmit = Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable) <= this - .info.planNum; - } - - } else { - console.log('鎺ㄥ紡') - if (this.feedingData.length === 0) { - uni.$u.toast('鎶曟枡鏄庣粏涓嶈兘涓虹┖') - - return - } - if (this.produceFrom.qualified <= 0 && this.produceFrom.undesirable <= 0) { - uni.$u.toast('浜у嚭鏄庣粏涓嶈兘涓虹┖') - return - } - this.statisticsData = [] - if (this.info.hasBom === 0) { - console.log('鏃燽om') - let arr = [] - let tl = 0 - for (let i in res) { - let num = 0 - res[i].forEach(item => { - num += Number(item.num) - }) - arr.push({ - name: '宸ュ崟鎶曟枡', - materialName: i + '-' + res[i][0].procedureName, - num: num - }) - } - this.feedingData.forEach(item => { - tl += Number(item.num) - }) - this.statisticsData = [...this.statisticsData, ...arr] - this.statisticsData.push({ - name: '宸ュ崟鍚堟牸浜у嚭', - materialName: this.info.mmodel.name + '-' + this.info.procedureName, - num: this.produceFrom.qualified - }) - this.statisticsData.push({ - name: '宸ュ崟涓嶈壇浜у嚭', - materialName: this.info.mmodel.name + '-' + this.info.procedureName, - num: this.produceFrom.undesirable - }) - if (Number(tl) <= this.info.planNum) { - let total = Number(tl) - Number(this.produceFrom.qualified) - Number(this.produceFrom - .undesirable) // 鏄惁鏈変綑 - this.statisticsData.push({ - name: '宸ュ崟鏈姇鏂�', - materialName: '', - num: (Number(tl) - Number(this.produceFrom.qualified) - Number(this.produceFrom - .undesirable)) - .toFixed(2) - }) - if (total === 0) { - this.isSubmit = true - } else { - this.isSubmit = false - } - } else { - this.isSubmit = false - } - } else if (this.info.hasBom === 1) { // 鏈塨om鎯呭喌 - console.log('鏈塨om') - let arr = [] - let tl = 0 - for (let i in res) { - let num = 0 - res[i].forEach(item => { - num += Number(item.num) - }) - arr.push({ - name: '宸ュ崟鎶曟枡', - materialName: i, - num: num - }) - } - this.feedingData.forEach(item => { - tl += Number(item.num) - }) - this.statisticsData = [...this.statisticsData, ...arr] - this.statisticsData.push({ - name: '宸ュ崟鍚堟牸浜у嚭', - materialName: this.info.mmodel.name + '-' + this.info.procedureName, - num: this.produceFrom.qualified - }) - this.statisticsData.push({ - name: '宸ュ崟涓嶈壇浜у嚭', - materialName: this.info.mmodel.name + '-' + this.info.procedureName, - num: this.produceFrom.undesirable - }) - // isSubmit.value = produceFrom.qualified + produceFrom.undesirable <= info.value.planNum; - this.isSubmit = true - } - } - this.statistics = true - }, - submitBG() { let createUnqualifiedDTOList = this.form.defective.map((item) => { return { categoryId: item.id, @@ -764,8 +530,7 @@ workorderId: this.workorderId, duration: this.form.duration ? this.form.duration : 0, qualifiedNum: this.produceFrom.qualified ? this.produceFrom.qualified : 0, - unQualifiedNum: this.produceFrom.undesirable ? this.produceFrom.undesirable : 0, - type: this.form.type + unQualifiedNum: this.produceFrom.undesirable ? this.produceFrom.undesirable : 0 } // id: route.query.id comfirmDoneStandard({ @@ -858,11 +623,11 @@ }) return } - total += Number(item.num) + total = total += item.num arr.push(item) name += item.name + item.num + '锛�' } - }) + }) if (total != Number(this.produceFrom.undesirable)) { uni.showToast({ title: '涓嶈壇鏁板繀椤荤瓑浜庝骇鍑轰笉鑹暟', @@ -890,15 +655,16 @@ content: '纭畾鍒犻櫎姝ゆ潯璁板綍鍚楋紵', success: (res) => { if (res.confirm) { + console.log('鐢ㄦ埛鐐瑰嚮纭畾'); deleteCT(id) - .then(res => { + .then(res => { this.getOrocessRecords() // if (type === 'C') { // this.getOrocessRecordCC() // } else if (type === 'T') { // this.getOrocessRecords() // } - }) + }) .catch(err => {}) } } @@ -939,14 +705,14 @@ width: 100%; display: flex; flex-direction: column; - // margin-top: 30rpx; + margin-top: 30rpx; .bg_list_item { display: flex; flex-direction: column; // margin-bottom: 40rpx; - // border-bottom: 40rpx #f7f7f7 solid; - // + border-bottom: 40rpx #f7f7f7 solid; + .kong { text-align: center; padding: 30rpx 0; @@ -961,10 +727,10 @@ .bg_list_item_top { display: flex; align-items: center; - justify-content: space-between; - background-color: #f7f7f7; - padding: 30rpx; - // padding-right: 30rpx; + justify-content: space-between; + padding-left: 30rpx; + padding-right: 30rpx; + margin-bottom: 30rpx; .bg_list_item_top_left { display: flex; @@ -1030,25 +796,27 @@ padding: 0 30rpx; box-sizing: border-box; background: white; - &:last-child { - .bg_list_item_num{ - border: none !important; - } - } + .bg_list_item_num { width: 100%; min-height: 98rpx; background: white; display: flex; justify-content: center; - align-items: center; + align-items: center; border-bottom: 1rpx solid #E5E5E5; + + &:last-child { + border: none !important; + } + .kong { text-align: center; font-size: 25rpx; padding: 30rpx 0; background: #ffffff; } + .bg_list_item_num_item { width: 100%; height: 100%; @@ -1058,7 +826,11 @@ padding: 15rpx 0; box-sizing: border-box; justify-content: space-between; - + border-bottom: 1rpx solid #E5E5E5; + + &:last-child { + border: none; + } .bg_list_item_num_item_list { display: flex; @@ -1118,9 +890,9 @@ span { flex-shrink: 0; - // overflow: hidden; - // text-overflow: ellipsis; - // white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; b { font-size: 30rpx; @@ -1185,9 +957,9 @@ .wulll { width: 400rpx; text-align: right; - // overflow: hidden; - // white-space: nowrap; - // text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } span { @@ -1203,13 +975,12 @@ } .bg_plan { - width: 100%; - border-top: 20rpx #f7f7f7 solid; + width: 100%; // height: 98px; padding: 30rpx; box-sizing: border-box; background: #FFFFFF; - // margin-bottom: 40rpx; + margin-bottom: 40rpx; display: flex; align-items: center; justify-content: space-between; @@ -1278,7 +1049,6 @@ width: 100%; padding: 30rpx 30rpx 60rpx 30rpx; box-sizing: border-box; - z-index: 9999; .bg_footer_submit1 { width: 690rpx; @@ -1390,7 +1160,7 @@ .bottom-view { left: 40rpx; right: 40rpx; - bottom: 20rpx + bottom: 0 } .bl_list { @@ -1433,9 +1203,8 @@ .bl_list_item_right { flex: 1; height: 50rpx; - text-align: right; - display: flex; - justify-content: flex-end; + text-align: right; + input { padding-left: 5rpx; width: 160rpx; @@ -1457,124 +1226,5 @@ } } } - } - - .tg { - width: 100%; - height: 800rpx; - padding: 30rpx; - box-sizing: border-box; - - .tg_header { - width: 100%; - height: 45rpx; - text-align: center; - line-height: 45rpx; - font-size: 30rpx; - font-weight: 500; - color: #222222; - } - - .tg_table { - width: 100%; - margin-top: 40rpx; - - .tg_table_header { - width: 100%; - height: 72rpx; - background: #EFF2FC; - display: flex; - align-items: center; - - .tg_table_header_item { - flex: 1; - font-size: 26rpx; - font-weight: 500; - color: #333333; - display: flex; - align-items: center; - justify-content: center; - } - } - } - - .nr { - width: 100%; - max-height: calc(100% - 133rpx); - overflow-x: scroll; - - .tg_table_nr { - width: 100%; - padding: 24rpx 10rpx; - box-sizing: border-box; - display: flex; - align-items: center; - background: white; - box-shadow: inset 0px -2rpx 0px 0px #E5E5E5; - - .tg_table_nr_item { - flex: 1; - font-size: 26rpx; - font-weight: 500; - color: #333333; - display: flex; - align-items: center; - justify-content: center; - } - - .tg_table_nr_item1 { - flex: 1; - font-size: 26rpx; - font-weight: 500; - color: #333333; - display: flex; - align-items: center; - justify-content: center; - } - } - } - } - - .tg_footer { - width: calc(100% - 60rpx); - position: fixed; - bottom: 0; - display: flex; - justify-content: space-between; - align-items: center; - box-sizing: border-box; - padding-bottom: 40rpx; - - .tg_footer_fh { - width: 100%; - height: 88rpx; - display: flex; - align-items: center; - justify-content: center; - background: rgba(66, 117, 252, 0.05); - border-radius: 8rpx; - border: 1rPX solid #4275FC; - font-size: 32rpx; - font-weight: 500; - color: $nav-color; - } - - .tg_footer_qr { - width: 100%; - height: 88rpx; - border: none; - display: flex; - align-items: center; - justify-content: center; - background: $nav-color; - border-radius: 8rpx; - font-size: 32rpx; - font-weight: 500; - color: #FFFFFF; - } - } - .content { - // height: 100vh; - background-color: #f7f7f7; } </style> diff --git a/minipro_standard/pages_inspect/pages/equipmentInspection/equipmentInspection.vue b/minipro_standard/pages_inspect/pages/equipmentInspection/equipmentInspection.vue index fb83d85..a730917 100644 --- a/minipro_standard/pages_inspect/pages/equipmentInspection/equipmentInspection.vue +++ b/minipro_standard/pages_inspect/pages/equipmentInspection/equipmentInspection.vue @@ -50,9 +50,9 @@ <view class="box_list1_club_list_item" v-for="(item, index) in form.files" :key="index" @click="seeBigFile(index)"> <image class="close" src="@/static/ic_delete@2x.png" @click.stop="dele(index)" /> - <image class="play" src="@/static/ic_play@2x.png" v-if="item.typec === 1" /> + <image class="play" src="@/static/ic_play@2x.png" v-if="item.type === 1" /> <view class="type"> - <video :src="item.url" v-if="item.typec === 1"></video> + <video :src="item.url" v-if="item.type === 1"></video> <image v-else class="type_img" :src="item.url" mode="widthFix" /> </view> </view> @@ -63,13 +63,14 @@ </view> <view class="box_list2"> <view class="box_list2_label">澶囨敞</view> - <textarea v-model="form.remarks" cols="20" rows="5" maxlength="300" placeholder="璇疯缁嗘弿杩板贰妫�鎯呭喌"></textarea> + <textarea name="" id="" v-model="form.remarks" cols="20" rows="5" maxlength="300" + placeholder="璇疯缁嗘弿杩板贰妫�鎯呭喌"></textarea> </view> <view class="box_footer"> <button class="box_footer_submit" v-preventReClick @click="submit">鎻愪氦</button> </view> <!-- 鏌ョ湅澶у浘 --> - <Preview :list="form.files.map(item => item.url)" :current="current" @close="isOpen = false" v-if="isOpen" /> + <Preview :list="form.files" :current="current" v-if="isOpen" /> <!-- 閫夋嫨璁惧 --> <ytyDataPicker :show="show" :dataList="columns" @select="handleSelect" @search="handleSearch" @close="show = false" /> <!-- 閫夋嫨鏃堕棿 --> @@ -85,11 +86,16 @@ import { setTime, judgmentType } from '@/util/utils.js' import { mapState } from 'vuex' import ytyDataPicker from '@/components/yty-data-picker/yty-data-picker.vue' - import Preview from '@/components/Preview.vue' + import Preview from '@/components/Preview/Preview.vue' export default { data() { return { + list1: [ + 'https://cloudfactory.oss-cn-hangzhou.aliyuncs.com/deviceCheck/20230911/e228a809-0a6b-443c-9a2c-78d5c1b1b633.mp4', + 'https://cdn.uviewui.com/uview/swiper/swiper2.png', + 'https://cdn.uviewui.com/uview/swiper/swiper3.png', + ], status: [{ name: '姝e父', active: true, @@ -102,7 +108,6 @@ } ], columns: [], - isOpen: false, path: '', show: false, showTime: false, @@ -131,11 +136,6 @@ ...mapState(['session']) }, methods: { - // 鏌ョ湅澶у浘/瑙嗛 - seeBigFile(i) { - this.current = i - this.isOpen = true - }, // 鍒犻櫎鎸囧畾鏂囦欢 dele(i) { this.form.files.splice(i, 1) @@ -255,41 +255,36 @@ // 鐐瑰嚮涓婁紶 uploadFile() { var that = this - uni.chooseMedia({ - mediaType: ['image', 'video'], - sourceType: ['album', 'camera'], + uni.chooseImage({ success: (chooseImageRes) => { - uni.showLoading({ title: '涓婁紶涓�' }); - const tempFilePaths = chooseImageRes.tempFiles; - for (let i = 0; i < tempFilePaths.length; i++) { - uni.uploadFile({ - url: baseUrl + '/ext/routeCardExt/upload', - filePath: tempFilePaths[i].tempFilePath, - name: 'file', - header: { - 'Cookie': 'eva-auth-token=' + that.session - }, - formData: { - 'folder': that.path - }, - success: (uploadFileRes) => { - let res = JSON.parse(uploadFileRes.data) - let typec = '' - for (let s = 0; s < fileType.length; s++) { - if (tempFilePaths[i].tempFilePath.indexOf(fileType[s].name) !== -1) { - typec = fileType[s].type - } + const tempFilePaths = chooseImageRes.tempFilePaths; + console.log(tempFilePaths) + uni.uploadFile({ + url: baseUrl + '/ext/routeCardExt/upload', + filePath: tempFilePaths[0], + name: 'file', + header: { + 'Cookie': 'eva-auth-token=' + that.session + }, + formData: { + 'folder': that.path + }, + success: (uploadFileRes) => { + let res = JSON.parse(uploadFileRes.data) + let type = '' + for (let i = 0; i < fileType.length; i++) { + if (tempFilePaths[0].indexOf(fileType[i].name) !== -1) { + type = fileType[i].type } - that.form.files.push({ - fileUrl: res.data.imgaddr, - filename: res.data.imgname, - typec, - url: res.data.url - }) - uni.hideLoading(); } - }); - } + that.form.files.push({ + fileUrl: res.data.imgaddr, + filename: res.data.imgname, + type, + url: res.data.url + }) + } + }); } }); }, diff --git a/minipro_standard/store/index.js b/minipro_standard/store/index.js index cb25fd3..897b26f 100644 --- a/minipro_standard/store/index.js +++ b/minipro_standard/store/index.js @@ -81,32 +81,28 @@ let res = await getTreeList({ type: type }) - if (res && res.code === 200) { + if (res.code === 200) { content.commit('SETMENU', res.data) } }, // 鑾峰彇鐘舵�侀珮搴� - getHeight(context) { - // #ifdef MP-WEIXIN - let res = uni.getMenuButtonBoundingClientRect() - let status = uni.getSystemInfoSync() - let menuButtonWidth = res.width - let height = res.height - let statusbarHeight = status.statusBarHeight - let navHeight = res.height + (res.top - statusbarHeight) * 2; - context.commit('setHeight', { - statusbarHeight, - navHeight, - height, - menuButtonWidth - }) - // #endif - + getHeight(context) { + let res = uni.getMenuButtonBoundingClientRect() + let status = uni.getSystemInfoSync() + let menuButtonWidth = res.width + let height = res.height + let statusbarHeight = status.statusBarHeight + let navHeight = res.height + (res.top - statusbarHeight) * 2; + context.commit('setHeight', { + statusbarHeight, + navHeight, + height, + menuButtonWidth + }) }, async getUpcomingNum(context) { - let res = await pageCount({}) - - if (res && res.code === 200) { + let res = await pageCount({}) + if (res.code === 200) { context.commit('SETNUM', { d: res.data.startNum, y: res.data.endNum @@ -116,7 +112,7 @@ // 鍚戝悗绔幏鍙栦釜浜轰俊鎭� async getUserInfos(content) { let res = await getUserInfo() - if (res && res.code === 200) { + if (res.code === 200) { content.commit('SETUSERINFO', res.data) return true; } diff --git a/minipro_standard/uni.scss b/minipro_standard/uni.scss index 5117f21..caaba55 100644 --- a/minipro_standard/uni.scss +++ b/minipro_standard/uni.scss @@ -97,21 +97,4 @@ .backred { background: $nav-stateColor4 !important; -} - -/* #ifdef H5 */ -img { - width: 100%; - height: 100%; -} - -view { - display: block; -} - -image { - display: block; - -} -/* #endif */ - +} \ No newline at end of file diff --git a/minipro_standard/uni_modules/l-calendar/components/l-calendar/l-calendar.vue b/minipro_standard/uni_modules/l-calendar/components/l-calendar/l-calendar.vue index f5006a6..544c2bc 100644 --- a/minipro_standard/uni_modules/l-calendar/components/l-calendar/l-calendar.vue +++ b/minipro_standard/uni_modules/l-calendar/components/l-calendar/l-calendar.vue @@ -691,7 +691,7 @@ justify-content: center; flex-direction: column; background-color: #fff; - padding: 0 42rpx calc(env(safe-area-inset-bottom) + 20rpx); + padding: 0 42rpx env(safe-area-inset-bottom); box-sizing: border-box; font-size: 24rpx; color: #666; @@ -703,7 +703,7 @@ .calendar-btn { width: 100%; - + button { background-color: #305ED5; color: #fff; diff --git a/minipro_standard/util/request/index.js b/minipro_standard/util/request/index.js index 7bf64c8..4410eb2 100644 --- a/minipro_standard/util/request/index.js +++ b/minipro_standard/util/request/index.js @@ -1,6 +1,5 @@ // 寮曞叆閰嶇疆 import { baseUrl } from '@/common/config' -console.log(baseUrl); // 鍒濆鍖栬姹傞厤缃� uni.$u.http.setConfig((defaultConfig) => { /* defaultConfig 涓洪粯璁ゅ叏灞�閰嶇疆 */ diff --git a/minipro_standard/util/request/responseInterceptors.js b/minipro_standard/util/request/responseInterceptors.js index 05bebf2..d201dd5 100644 --- a/minipro_standard/util/request/responseInterceptors.js +++ b/minipro_standard/util/request/responseInterceptors.js @@ -6,15 +6,15 @@ uni.$u.http.interceptors.response.use((response) => { uni.hideLoading(); const data = response.data - if (data.code === 401) { // 澶勭悊鐧诲綍杩囨湡 + if (response.data.code === 401) { // 澶勭悊鐧诲綍杩囨湡 uni.showToast({ title: '鐧诲綍杩囨湡锛屽噯澶囪嚜鍔ㄩ噸鏂扮櫥褰�', icon: 'none', duration: 2000, mask: true }); setTimeout(() => { uni.reLaunch({ url: '/pages/login/login' }); }, 2000) return } - if (data.code !== 200) { // 璇锋眰鎶ラ敊 - uni.showToast({ title: data.message, icon: 'none', duration: 2000 }); + if (response.data.code !== 200) { // 璇锋眰鎶ラ敊 + uni.showToast({ title: response.data.message, icon: 'none', duration: 2000 }); } return data || {} }, (error) => { -- Gitblit v1.9.3