From d3cff99cd833fedf7714cbe42e052f1402136a84 Mon Sep 17 00:00:00 2001 From: yyb <995253665@qq.com> Date: 星期二, 24 六月 2025 17:29:05 +0800 Subject: [PATCH] 联调车间订单下发页面 --- pages/product/WorkshopOrderIssued/index.vue | 100 +++++-- pages/product/WorkshopOrderIssued/comp.vue | 622 ++++++++++++++++++++++++---------------------- common/http.api.js | 11 3 files changed, 401 insertions(+), 332 deletions(-) diff --git a/common/http.api.js b/common/http.api.js index 86b8171..6efd5c0 100644 --- a/common/http.api.js +++ b/common/http.api.js @@ -504,6 +504,17 @@ cancelReporting: { // 鍙栨秷鎶ュ伐纭 cancelDTAOfWorkApplication: (params = {}) => vm.$u.get('mes/product/cancelDTAOfWorkApplication', params), + }, + // 杞﹂棿璁㈠崟涓嬪彂 + WorkshopOrderIssued: { + // 鏌ヨ瀛愪欢 + manufacturingOrder: (params = {}) => vm.$u.get('mes/plan/manufacturingOrder/' + params.id), + // 妫�鏌ユ牎楠� + checkRawPart: (params = {}) => vm.$u.post('/mes/product/checkRawPart/'+ params.operationTaskId,params), + + }, + // 杞﹂棿璁㈠崟鍙栨秷涓嬪彂 + WorkshopOrderCancellationIssued: { } }; diff --git a/pages/product/WorkshopOrderIssued/comp.vue b/pages/product/WorkshopOrderIssued/comp.vue index 14549c2..02a23b7 100644 --- a/pages/product/WorkshopOrderIssued/comp.vue +++ b/pages/product/WorkshopOrderIssued/comp.vue @@ -1,325 +1,351 @@ <template> - <view class="page"> - <view class="finishProductIn-locno-bg" /> - <u-navbar title="杞﹂棿璁㈠崟鐗╂枡" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" - back-icon-color="#000" /> - <view class="finishProductIn-locno-search"> - <u-search v-model="keywords" shape="square" bg-color="rgba(250,252,255,0.36)" :show-action="false" - placeholder="璇疯緭鍏ラ浂浠跺彿" @clear="search" @custom="search" @search="search"> - </u-search> - </view> - <view class="wrap"> - <scroll-view class="finishProductIn-locno-scroll-list" scroll-y="true" @scrolltolower="getmoreList()"> - <u-cell-group class="finishProductIn-locno-scroll-list-group" :border="false"> - <view class="content" v-for="(item, index) in list" :key="item.locNo" :index="index" - @click="selectNo(item)"> - <view class="content-header"> - <view class="content-header-title">{{ item.index }}</view> - </view> - <view class="content-body"> - <view class="row-list"> - <view class="_label"> - <view class="_label-icon-1"> - </view> - <view class="_label-name">琛屽彿锛�</view> - </view> - <view class="_content"> - {{ item.value0 }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-icon-2"> - </view> - <view class="_label-name">涓嬪彂鑷冲簱浣嶏細</view> - </view> - <view class="_content"> - {{ item.value1 }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-icon-1"> - </view> - <view class="_label-name">闆朵欢鍙凤細</view> - </view> - <view class="_content"> - {{ item.value3 }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-icon-3"> - </view> - <view class="_label-name">闆朵欢鎻忚堪锛�</view> - </view> - <view class="_content"> - {{ item.value2 }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-icon-2"> - </view> - <view class="_label-name">闆朵欢涓嬪彂鏁伴噺锛�</view> - </view> - <view class="_content"> - {{ item.value4 }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-icon-3"> - </view> - <view class="_label-name">鐗╂枡琛岀姸鎬侊細</view> - </view> - <view class="_content"> - {{ item.value5 }} - </view> - </view> - </view> - </view> - </u-cell-group> - <view class="loadmore" @click="getmoreList()"> - <u-loadmore :status="status" :load-text="loadText" @loadmore="getmoreList()" /> - </view> - </scroll-view> - </view> - </view> + <view class="page"> + <view class="finishProductIn-locno-bg" /> + <u-navbar + title="杞﹂棿璁㈠崟鐗╂枡" + :background="background" + :border-bottom="false" + :title-bold="true" + title-color="#000" + back-icon-color="#000" + /> + <view class="finishProductIn-locno-search"> + <u-search + v-model="keywords" + shape="square" + bg-color="rgba(250,252,255,0.36)" + :show-action="false" + placeholder="璇疯緭鍏ラ浂浠跺彿" + @clear="search" + @custom="search" + @search="search" + > + </u-search> + </view> + <view class="wrap"> + <scroll-view + class="finishProductIn-locno-scroll-list" + scroll-y="true" + @scrolltolower="getmoreList()" + > + <u-cell-group + class="finishProductIn-locno-scroll-list-group" + :border="false" + > + <view + class="content" + v-for="(item, index) in list" + :key="item.locNo" + :index="index" + @click="selectNo(item)" + > + <view class="content-header"> + <view class="content-header-title">{{ item.index }}</view> + </view> + <view class="content-body"> + <view class="row-list"> + <view class="_label"> + <view class="_label-icon-1"> </view> + <view class="_label-name">琛屽彿锛�</view> + </view> + <view class="_content"> + {{ item.value0 }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-icon-2"> </view> + <view class="_label-name">涓嬪彂鑷冲簱浣嶏細</view> + </view> + <view class="_content"> + {{ item.value1 }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-icon-1"> </view> + <view class="_label-name">闆朵欢鍙凤細</view> + </view> + <view class="_content"> + {{ item.partNo }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-icon-3"> </view> + <view class="_label-name">闆朵欢鎻忚堪锛�</view> + </view> + <view class="_content"> + {{ item.partName }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-icon-2"> </view> + <view class="_label-name">闆朵欢涓嬪彂鏁伴噺锛�</view> + </view> + <view class="_content"> + {{ item.qpa }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-icon-3"> </view> + <view class="_label-name">鐗╂枡琛岀姸鎬侊細</view> + </view> + <view class="_content"> + {{ item.value5 }} + </view> + </view> + </view> + </view> + </u-cell-group> + <view class="loadmore" @click="getmoreList()"> + <u-loadmore + :status="status" + :load-text="loadText" + @loadmore="getmoreList()" + /> + </view> + </scroll-view> + </view> + </view> </template> <script> - import content_bg from '@/static/custom/finishProductIn/locNoBg.png' - export default { - data() { - return { - background: { - backgroundImage: `url(${content_bg})`, - backgroundAttachment: 'fixed', - backgroundSize: '100% auto', - backgroundRepeat: 'no-repeat', - }, - keywords: '', - list: [], - total: 0, - pageNum: 1, - pageSize: 10, - status:'loading', - loadText: { - loadmore: "鍔犺浇鏇村...", - loading: "鍔姏鍔犺浇涓�...", - nomore: "娌℃湁鏇村浜�", - }, - }; +import content_bg from "@/static/custom/finishProductIn/locNoBg.png"; +export default { + data() { + return { + background: { + backgroundImage: `url(${content_bg})`, + backgroundAttachment: "fixed", + backgroundSize: "100% auto", + backgroundRepeat: "no-repeat", + }, + keywords: "", + list: [], + total: 0, + pageNum: 1, + pageSize: 10, + status: "loading", + loadText: { + loadmore: "鍔犺浇鏇村...", + loading: "鍔姏鍔犺浇涓�...", + nomore: "娌℃湁鏇村浜�", }, - onLoad() { - this.getlist(); - }, - methods: { - getmoreList() { - if (this.pageSize >= this.total) { - this.status = "nomore"; - return; - } - this.status = "loading"; - setTimeout(() => { - this.pageSize += this.pageSize; - this.getlist(); - }, 1000); - }, - getlist() { - this.$u.api.workReporting - ._({ - current: this.pageNum, - size: this.pageSize - }) - .then((res) => { - console.log("res", res); - this.list = res.data.records; - this.total = res.data.total; - if (this.pageSize >= this.total) { - this.status = "nomore"; - } else { - this.status = "loadmore"; - } - }); - }, - search(value) { - console.log("111", value); - if (value) { - this.list = []; - this.pageSize = 10; - this.$u.api.workReporting - ._({ - current: this.pageNum, - size: this.pageSize, - moNo: value, - }) - .then((res) => { - console.log("res", res); - this.list = res.data.records; - this.total = res.data.total; - if (this.pageSize >= this.total) { - this.status = "nomore"; - } else { - this.status = "loadmore"; - } - }); - } else { - this.getlist(); - } - }, - selectNo(no) { - this.refreshLastPage(no) - }, + id:'' + }; + }, + onLoad(options) { + console.log('22@@', options); +this.id = JSON.parse(decodeURIComponent(options.id)) + this.getlist(); + }, + methods: { + getmoreList() { + if (this.pageSize >= this.total) { + this.status = "nomore"; + return; + } + this.status = "loading"; + setTimeout(() => { + this.pageSize += this.pageSize; + this.getlist(); + }, 1000); + }, + getlist() { + this.$u.api.WorkshopOrderIssued.manufacturingOrder({ + current: this.pageNum, + size: this.pageSize, + id:this.id + }).then((res) => { + console.log("res", res); + this.list = res.data.bomRoot.children; + this.total = res.data.bomRoot.children.length + 1; + if (this.pageSize >= this.total) { + this.status = "nomore"; + } else { + this.status = "loadmore"; + } + }); + }, + search(value) { + console.log("111", value); + if (value) { + this.list = []; + this.pageSize = 10; + this.$u.api.workReporting + ._({ + current: this.pageNum, + size: this.pageSize, + moNo: value, + }) + .then((res) => { + console.log("res", res); + this.list = res.data.records; + this.total = res.data.total; + if (this.pageSize >= this.total) { + this.status = "nomore"; + } else { + this.status = "loadmore"; + } + }); + } else { + this.getlist(); + } + }, + selectNo(no) { + this.refreshLastPage(no); + }, - //鍒锋柊涓婁竴涓〉闈� - refreshLastPage(no) { - // 鍛婄煡 A.vue 鏇存柊鏁版嵁 - // 鑾峰彇椤甸潰鏍� - let pages = getCurrentPages() + //鍒锋柊涓婁竴涓〉闈� + refreshLastPage(no) { + // 鍛婄煡 A.vue 鏇存柊鏁版嵁 + // 鑾峰彇椤甸潰鏍� + let pages = getCurrentPages(); - // 鑾峰彇涓婁竴椤垫爤 - let prevPage = pages[pages.length - 2] + // 鑾峰彇涓婁竴椤垫爤 + let prevPage = pages[pages.length - 2]; - // 瑙﹀彂涓婁竴椤� upData 鍑芥暟(骞舵惡甯﹀弬鏁�) - prevPage.$vm.compNo(no) + // 瑙﹀彂涓婁竴椤� upData 鍑芥暟(骞舵惡甯﹀弬鏁�) + prevPage.$vm.compNo(no); - // 杩斿洖涓婁竴椤� - uni.navigateBack({ - delta: 1 - }) - }, - } - }; + // 杩斿洖涓婁竴椤� + uni.navigateBack({ + delta: 1, + }); + }, + }, +}; </script> <style lang="scss" scoped> - .finishProductIn-locno-bg { - background-color: #F6F9FF; - background-image: url('~@/static/custom/finishProductIn/locNoBg.png'); - // background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0)); - padding: 0 20rpx; - background-attachment: fixed; - background-size: 100% auto; - background-repeat: no-repeat; - position: fixed; - top: 0; - bottom: 0; - width: 100%; - z-index: -1; - } +.finishProductIn-locno-bg { + background-color: #f6f9ff; + background-image: url("~@/static/custom/finishProductIn/locNoBg.png"); + // background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0)); + padding: 0 20rpx; + background-attachment: fixed; + background-size: 100% auto; + background-repeat: no-repeat; + position: fixed; + top: 0; + bottom: 0; + width: 100%; + z-index: -1; +} - .finishProductIn-locno-search { - padding: 40rpx 30rpx 20rpx 30rpx; - } +.finishProductIn-locno-search { + padding: 40rpx 30rpx 20rpx 30rpx; +} - .wrap .finishProductIn-locno-scroll-list { - height: calc(100vh - var(--window-top) - var(--window-bottom) - 242rpx); - width: 100%; - } +.wrap .finishProductIn-locno-scroll-list { + height: calc(100vh - var(--window-top) - var(--window-bottom) - 242rpx); + width: 100%; +} - .finishProductIn-locno-scroll-list-group { - ::v-deep .u-cell-item-box { - background-color: rgba(250, 252, 255, 0.36) !important; - padding: 0rpx 30rpx; - } +.finishProductIn-locno-scroll-list-group { + ::v-deep .u-cell-item-box { + background-color: rgba(250, 252, 255, 0.36) !important; + padding: 0rpx 30rpx; + } - .content { - font-size: 12px; - background-color: #FFFFFF; - box-sizing: border-box; - border-radius: 10rpx; - margin: 0rpx 0rpx 16rpx; - padding: 20rpx 8rpx; - box-shadow: none; - display: flex; - align-items: center; + .content { + font-size: 12px; + background-color: #ffffff; + box-sizing: border-box; + border-radius: 10rpx; + margin: 0rpx 0rpx 16rpx; + padding: 20rpx 8rpx; + box-shadow: none; + display: flex; + align-items: center; - .content-header { - width: 40rpx; - height: 90rpx; - display: flex; - align-items: center; + .content-header { + width: 40rpx; + height: 90rpx; + display: flex; + align-items: center; - .content-header-icon { - background-image: url('~@/static/custom/moveWareHouse/header_icon.png'); - background-size: 100% auto; - background-repeat: no-repeat; - height: 28rpx; - width: 28rpx; - } + .content-header-icon { + background-image: url("~@/static/custom/moveWareHouse/header_icon.png"); + background-size: 100% auto; + background-repeat: no-repeat; + height: 28rpx; + width: 28rpx; + } - .content-header-title { - margin-left: 11rpx; - font-size: 26rpx; - font-weight: bold; - color: #333333; - } - } + .content-header-title { + margin-left: 11rpx; + font-size: 26rpx; + font-weight: bold; + color: #333333; + } + } - .content-body { - flex: 1; - background: #F5F9FF; - border-radius: 10rpx; - padding: 0rpx 23rpx; + .content-body { + flex: 1; + background: #f5f9ff; + border-radius: 10rpx; + padding: 0rpx 23rpx; - .row-list { - height: 60rpx; - display: flex; - flex-direction: row; - padding: 0px; - align-items: center; - } + .row-list { + height: 60rpx; + display: flex; + flex-direction: row; + padding: 0px; + align-items: center; + } - .row-list ._label { - display: flex; - flex: 0.8; - color: #909399; - align-items: center; + .row-list ._label { + display: flex; + flex: 0.8; + color: #909399; + align-items: center; - ._label-icon-1 { - background-image: url('~@/static/custom/moveWareHouse/label-icon-1.png'); - background-size: 100% auto; - background-repeat: no-repeat; - height: 26rpx; - width: 26rpx; - } + ._label-icon-1 { + background-image: url("~@/static/custom/moveWareHouse/label-icon-1.png"); + background-size: 100% auto; + background-repeat: no-repeat; + height: 26rpx; + width: 26rpx; + } - ._label-icon-2 { - background-image: url('~@/static/custom/moveWareHouse/label-icon-2.png'); - background-size: 100% auto; - background-repeat: no-repeat; - height: 26rpx; - width: 26rpx; - } + ._label-icon-2 { + background-image: url("~@/static/custom/moveWareHouse/label-icon-2.png"); + background-size: 100% auto; + background-repeat: no-repeat; + height: 26rpx; + width: 26rpx; + } - ._label-icon-3 { - background-image: url('~@/static/custom/moveWareHouse/label-icon-3.png'); - background-size: 100% auto; - background-repeat: no-repeat; - height: 26rpx; - width: 26rpx; - } + ._label-icon-3 { + background-image: url("~@/static/custom/moveWareHouse/label-icon-3.png"); + background-size: 100% auto; + background-repeat: no-repeat; + height: 26rpx; + width: 26rpx; + } - ._label-name { - width: 70px; - margin-left: 11rpx; - font-size: 26rpx; - font-weight: 500; - color: #666666; - } - } + ._label-name { + width: 80px; + margin-left: 11rpx; + font-size: 26rpx; + font-weight: 500; + color: #666666; + } + } - .row-list ._content { - flex: 1.5; - text-align: right; - color: #909399; - font-size: 24rpx; - } + .row-list ._content { + flex: 1.5; + text-align: right; + color: #909399; + font-size: 24rpx; + } - .row-list .s1 { - color: #D35651; - } - } - } - } + .row-list .s1 { + color: #d35651; + } + } + } +} </style> \ No newline at end of file diff --git a/pages/product/WorkshopOrderIssued/index.vue b/pages/product/WorkshopOrderIssued/index.vue index 5f57b50..bfed593 100644 --- a/pages/product/WorkshopOrderIssued/index.vue +++ b/pages/product/WorkshopOrderIssued/index.vue @@ -35,14 +35,14 @@ </view> <view class="packing-registration-param-item-right"> <text class="item-one item-two" @click="seachComp()">{{ - registerInfo.value2 == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.value2 + registerInfo.partNo == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.partNo }}</text> <u-icon name="arrow-right" color="#687792" size="28" @click="seachComp()" - v-show="registerInfo.value2 == ''" + v-show="registerInfo.partNo == ''" ></u-icon> </view> </view> @@ -51,7 +51,7 @@ <text class="item-one">闆朵欢鎻忚堪</text> </view> <view class="packing-registration-param-item-right"> - <text class="item-one item-two">{{ registerInfo.value3 }}</text> + <text class="item-one item-two">{{ registerInfo.partName }}</text> </view> </view> <view class="packing-registration-param-item param-extra"> @@ -83,7 +83,7 @@ <view class="_label-name">鎵瑰彿锛�</view> </view> <view class="_content"> - {{ item.value0 }} + {{ item.outBatchNo }} </view> </view> <view class="row-list"> @@ -91,7 +91,7 @@ <view class="_label-name">涓嬪彂鏁伴噺锛�</view> </view> <view class="_content"> - {{ item.value1 }} + {{ item.qpa }} </view> </view> </view> @@ -116,7 +116,9 @@ <text class="item-one">鎵瑰彿</text> </view> <view class="packing-registration-param-item-right"> - <text class="item-one item-two">{{ modalList.moNO }}</text> + <text class="item-one item-two">{{ + modalList.outBatchNo + }}</text> </view> </view> <view class="packing-registration-param-item param-extra"> @@ -124,7 +126,10 @@ <text class="item-one">涓嬪彂鏁伴噺</text> </view> <view class="packing-registration-param-item-right"> - <u-input class="item-one item-two" v-model="modalList.value1" /> + <u-input + class="item-one item-two" + v-model="modalList.suppliedQuantity" + /> </view> </view> </view> @@ -155,45 +160,48 @@ }, // 寮圭獥鍒楄〃 modalList: { + operationTaskId: "", partNo: "", moNo: "", }, // 涓婚〉闈㈠垪琛� registerInfo: { + id: "", moNo: "", - value2: "", - value3: "", + partNo: "", + partName: "", }, // 涓嬪彂璁板綍鍒楄〃 hasScanSnList: [], codeInfoId: "", + showModal: false, }; }, onShow() { let that = this; uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒 - if (registerInfo.moNO == null) { - uni.showToast({ - icon: "none", - title: "璇峰厛閫夋嫨瀛愪欢锛�", - duration: 2 * 1000, - }); - return; - } uni.$on("scan", function (data) { console.log("onscan"); + if (that.registerInfo.partNo == "") { + uni.showToast({ + icon: "none", + title: "璇峰厛閫夋嫨瀛愪欢锛�", + duration: 2 * 1000, + }); + return; + } if (data.code) { + //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� + console.log("鎵爜缁撴灉锛�", data.code); let codeInfo = JSON.parse(data.code); - this.codeInfoId = codeInfo.id; - if (codeInfo.moOn) { + that.codeInfoId = codeInfo.id; + if (codeInfo.partNo) { // 鎵弿鎶ュ伐鍗曚簩缁寸爜 that.scanHandle(data.code); that.$forceUpdate(); that.getHandelList(); } } - //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� - console.log("鎵爜缁撴灉锛�", data.code); }); }, methods: { @@ -211,12 +219,25 @@ // 鐐瑰嚮纭鍚庤幏鍙栦笅鍙戣褰� confirm() { // 澶勭悊纭閫昏緫 - this.$u.api.workReporting._(this.modalList).then((res) => { - console.log("res", res); - this.showModal = false; - - this.getHandelList(); - }); + this.$u.api.WorkshopOrderIssued.checkRawPart(this.modalList).then( + (res) => { + console.log("res", res); + if (res.data.code === 0) { + this.confirmList(); + } + } + ); + }, + // 璁㈠崟涓嬪彂 + confirmList() { + this.$u.api.WorkshopOrderIssued.checkRawPart(this.modalList).then( + (res) => { + console.log("res", res); + if (res.data.code === 0) { + this.showModal = false; + } + } + ); }, // 妯℃�佹鍙栨秷 cancel() { @@ -224,14 +245,15 @@ }, // 瀛愪欢鍥炴樉 compNo(val) { - this.registerInfo.value2 = val.value2; - this.registerInfo.value3 = val.value2; + this.registerInfo.partNo = val.partNo; + this.registerInfo.partName = val.partName; }, // 璁㈠崟鍙峰洖鏄� setNo(val) { console.log("11111", val); this.registerInfo.moNo = val.moNo; - this.registerInfo.value2 = val.value2; + // this.registerInfo.value2 = val.value2; + this.registerInfo.id = val.id; }, //璁㈠崟鍙� seachPersonnelNo() { @@ -242,25 +264,35 @@ }, //瀛愪欢 seachComp() { - if (this.registerInfo.moNO == null) { + if (this.registerInfo.moNo == "") { this.$u.toast("璇烽�夋嫨璁㈠崟鍙�"); return; } console.log("瀛愪欢"); + // 浣跨敤uni.navigateTo鏂规硶璺宠浆锛屽苟閫氳繃queryParams浼犻�掑弬鏁� uni.navigateTo({ - url: "/pages/product/WorkshopOrderIssued/comp", + url: + "/pages/product/WorkshopOrderIssued/comp?id=" + + encodeURIComponent(JSON.stringify(this.registerInfo.id)), }); }, // 鎵爜鍚庢暟鎹洖鏄� scanHandle(val) { - let { moNo } = val; - this.modalList.moNo = moNo; + this.modalList = val; this.showModal = true; }, }, }; </script> <style lang="scss" scoped> +.popup-content { + width: 600rpx; + height: 250rpx; + background-color: #fff; + border-radius: 8px; + z-index: 10; + /* 纭繚鍐呭鍦ㄨ挋鐗堜箣涓� */ +} .packing-registration-bg { background-color: #f6f9ff; background-image: url("~@/static/custom/packing/backBg.png"); -- Gitblit v1.9.3