From 79993be468244e6cc16ce9c1d7e8736bd359c600 Mon Sep 17 00:00:00 2001 From: qingyiay <2386314947@qq.com> Date: 星期五, 05 五月 2023 14:48:51 +0800 Subject: [PATCH] 样式全面修改,所有页面焕然一新 --- pages/freight-forwarder-page/freightForwarder-my/freightForwarder-my.vue | 108 + components/qian-tree/style.css | 151 + pages/customer-page/customer-my/userMange/userManageEdit/userManageEdit.vue | 237 ++ pages/driver-page/drvier-my/drvier-my.vue | 312 ++ static/tabBar-icon/homeblue.png | 0 pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails.vue | 349 +++ pages/tabbar-page/index-tabbar/index-tabbar.vue | 38 pages/driver-page/driver-index/bill-of-lading-details/coal-pick-up-bill/coal-pick-up-bill.vue | 7 store/index.js | 31 pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue | 305 ++- static/tabBar-icon/home.png | 0 main.js | 1 pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue | 401 ++- pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue | 430 +++- pages/public-page/forward/forward.vue | 14 api/publicInterface.js | 1 pages.json | 41 pages/customer-page/customer-index/customer-index.vue | 518 +++-- static/image/banner/redblock.png | 0 pages/customer-page/customer-my/customer-my.vue | 181 + pages/driver-page/driver-index/driver-index.vue | 700 +++++-- pages/customer-page/customer-my/userMange/userMange.vue | 180 ++ /dev/null | 0 components/qian-tree/qian-tree.vue | 441 ++++ api/globalApi.js | 29 api/request.js | 2 static/image/banner/button.png | 0 api/index.js | 2 pages/public-page/message/message.vue | 34 pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue | 672 ++++-- static/image/banner/blueblock.png | 0 pages/customer-page/customer-index/fayunPlanDetails/fayunPlanMore/fayunPlanMore.vue | 140 + 32 files changed, 3,944 insertions(+), 1,381 deletions(-) diff --git a/api/globalApi.js b/api/globalApi.js index 7354daa..4efd156 100644 --- a/api/globalApi.js +++ b/api/globalApi.js @@ -318,5 +318,34 @@ jhorderplanforward: { url: '/wrzs/jhorderplanforward/getAppById', method: 'GET' + }, + /** + @description 绠$悊鐢ㄦ埛椤甸潰鑾峰彇鐢ㄦ埛鍒楄〃淇℃伅 + */ + appUserPage: { + url: '/wrzs/userentity/appUserPage', + method: 'GET' + }, + /** + @description 鏍规嵁鐢ㄦ埛鍒楄〃淇℃伅鐨剈serid鏌ユ壘 + */ + getAppById: { + url: '/wrzs/userentity/getAppById', + method: 'GET' + }, + /** + @description 鏍规嵁鐢ㄦ埛鍒楄〃淇℃伅鐨剈serid缂栬緫 + */ + appUpdateById: { url: '/wrzs/userentity/appUpdateById', }, + /** + @description 鏍规嵁鐢ㄦ埛鍒楄〃淇℃伅鐨剈serid鍒犻櫎 + */ + appRemoveById: { url: '/wrzs/userentity/appRemoveById' }, + /** + @description 鏂板鐢ㄦ埛淇℃伅 + */ + appSave: { + url: '/wrzs/userentity/appSave', + method: 'POST' } } diff --git a/api/index.js b/api/index.js index fbcc0ce..8575a0d 100644 --- a/api/index.js +++ b/api/index.js @@ -20,7 +20,7 @@ } // deltete璇锋眰 export const reqDelete = (url, params, opt = {}) => { - opt.header = typeObj['jsonPOST'] + opt.header = typeObj['headerGET'] opt.method = 'DELETE' opt.data = params return fetch(url, opt) diff --git a/api/publicInterface.js b/api/publicInterface.js index e850135..6ff9cac 100644 --- a/api/publicInterface.js +++ b/api/publicInterface.js @@ -4,7 +4,6 @@ import { BaseUrl as wrBaseUrl } from '@/api/request.js' const BaseUrl = 'http://192.168.31.14:9999' -// const BaseUrl = "http://hesuancj.cn:9999" // const BaseUrl = 'https://mx.jzeg.cn:9095' // const BaseUrl = 'http://192.168.31.18:9999' diff --git a/api/request.js b/api/request.js index be2601b..de6bdef 100644 --- a/api/request.js +++ b/api/request.js @@ -86,7 +86,7 @@ // // 绾夸笂寮�鍙� // const BaseUrl = "http://hesuancj.cn:9997"; // const webSocketUrl = "ws://hesuancj.cn:9997/wrzs/ws/info" -// // 绾夸笂鐢熶骇 +// 绾夸笂鐢熶骇 // const BaseUrl = "https://mx.jzeg.cn:9095"; // const webSocketUrl = "wss://mx.jzeg.cn:9095/wrzs/ws/info" diff --git a/components/qian-tree/qian-tree.vue b/components/qian-tree/qian-tree.vue new file mode 100644 index 0000000..bb88fbd --- /dev/null +++ b/components/qian-tree/qian-tree.vue @@ -0,0 +1,441 @@ +<template xlang="wxml"> + <view class="tki-tree"> + <view class="tki-tree-mask" :class="{ show: showTree }" @click.stop="_cancel"></view> + <view class="tki-tree-cnt" :class="{ show: showTree }"> + <view class="tki-tree-bar"> + <view class="tki-tree-bar-cancel" :style="{ color: cancelColor }" hover-class="hover-c" @click.stop="_cancel">鍙栨秷</view> + <view class="tki-tree-bar-title" :style="{ color: titleColor }">{{ title }}</view> + <view class="tki-tree-bar-confirm" :style="{ color: confirmColor }" hover-class="hover-c" @click.stop="_confirm">纭畾</view> + </view> + <view class="tki-tree-view"> + <scroll-view class="tki-tree-view-sc" :scroll-y="true"> + <block v-for="(item, index) in treeList" :key="index"> + <view + v-if="item.show" + class="tki-tree-item" + :style="[ + { + paddingLeft: item.rank * 15 + 'px', + zIndex: item.rank * -1 + 50 + } + ]" + :class="{ + border: border === true, + show: item.show, + last: item.lastRank, + showchild: item.showChild, + open: item.open + }" + > + <view class="tki-tree-label" @tap.stop="_treeItemTap(item, index)"> + <image class="tki-tree-icon" :src="item.lastRank ? lastIcon : item.showChild ? currentIcon : defaultIcon"></image> + {{ item.name }} + </view> + <view class="tki-tree-check" @tap.stop="_treeItemSelect(item, index)" v-if="selectParent ? true : item.lastRank"> + <view class="tki-tree-check-yes" v-if="item.checked" :class="{ radio: !multiple }" :style="{ 'border-color': confirmColor }"> + <view class="tki-tree-check-yes-b" :style="{ 'background-color': confirmColor }"></view> + </view> + <view class="tki-tree-check-no" v-else :class="{ radio: !multiple }" :style="{ 'border-color': confirmColor }"></view> + </view> + </view> + </block> + </scroll-view> + </view> + </view> + </view> +</template> + +<script> +export default { + name: 'tki-tree', + props: { + lazy: { + type: Boolean, + default: false + }, + range: { + type: Array, + default: function() { + return []; + } + }, + idKey: { + type: String, + default: 'id' + }, + rangeKey: { + type: String, + default: 'name' + }, + title: { + type: String, + default: '' + }, + multiple: { + // 鏄惁鍙互澶氶�� + type: Boolean, + default: false + // default: true + }, + selectParent: { + //鏄惁鍙互閫夌埗绾� + type: Boolean, + default: false + }, + foldAll: { + //鎶樺彔鏃跺叧闂墍鏈夊凡缁忔墦寮�鐨勫瓙闆嗭紝鍐嶆鎵撳紑鏃堕渶瑕佷竴绾т竴绾ф墦寮� + type: Boolean, + default: false + }, + confirmColor: { + // 纭畾鎸夐挳棰滆壊 + type: String, + default: '' // #07bb07 + }, + cancelColor: { + // 鍙栨秷鎸夐挳棰滆壊 + type: String, + default: '' // #757575 + }, + titleColor: { + // 鏍囬棰滆壊 + type: String, + default: '' // #757575 + }, + currentIcon: { + // 灞曞紑鏃跺�欑殑ic + type: String, + default: + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFEAAABRCAYAAACqj0o2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MEQ0QTM0MzQ1Q0RBMTFFOUE0MjY4NzI1Njc1RjI1ODIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MEQ0QTM0MzU1Q0RBMTFFOUE0MjY4NzI1Njc1RjI1ODIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowRDRBMzQzMjVDREExMUU5QTQyNjg3MjU2NzVGMjU4MiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowRDRBMzQzMzVDREExMUU5QTQyNjg3MjU2NzVGMjU4MiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PidwepsAAAK0SURBVHja7JxbTsJAFIYHww7ciStgCeoGvGxAiOsgURegoL5720AXYLiIr0aJviq3Zx3PhIEnKG3ndtr+f3KixrSUj/ZjzjClIqUUiFm2gAAQAREQEUAEREAERAQQAREQAREBREAEREBEEqa67h9RFDWllDv0awWYlqlQHmu1WjMRRMoV1QFttA12y3xRtdNczq8EsE4/f8FumX2q77ROvNXk8UGMEKdUz6tYJHljaZAbuyUH+UR1to5BEohTuqwPCeS4pAA/qY6o/kyHOAMCeRK3owJnj+rH1jjxhqpVsstaebCz6TmnHWyXyY+xHjSBWBY/bvSgadtXBj9u9KCN3rnIfkzkQVsTEEX0Y2IP2oKo/HhMICcFAThUcwVZNGU6FdbX/XURzkbVF4+ybGhjPrFdgP66QdXNurGtSdk6Xdb9nAJ8oDo3OQlsQZzkdPw41ONBo6vI5scDefRjZg+6gpg3Pxp50CXEvPjR2IOuIXL3oxUPuobI3Y9WPOgDIlc/WvOgL4iL/vqFCcD7LH0xB4hj7cfQ/fWH9qCT+FhG0tN+DBk1PzjOM0SVllixcsBT1AvYc/kAPhc0hRg/3uvxoCgKRN9+dOrBUBB9+9GpB0NC9OVH5x4MDdG1H714kANEV3705kEOEBf9dcPi/lQnsuvLg1wgSu3Ha0v7Uh4MMgUXeuG71H407a+VBy9CPQkOdw+MtB+nGbd/D+FBbhBNxo9SjwcngJjNj0E9yBFiFj8G9SBXiGn8GNyDnCEm8SMLD3KHGOdHNh7kDjHOj2w8mAeIi/5arX+c6b/fxHz9oADEdGdjR/fXCw/OOB5oVfCOgnepz8IB14PMw03jCmTE+QBx5z0gAmKSqK9OUF+hcAeIhu/QYr4Qie8rjW83hhMBERARQAREQAREBBABERCLnH8BBgA+TQI7U4t53AAAAABJRU5ErkJggg==' + }, + defaultIcon: { + // 鎶樺彔鏃跺�欑殑ic + type: String, + default: + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFEAAABRCAYAAACqj0o2AAACE0lEQVR4Xu3c200DMRCF4XEltJAOkEugA+ggpUAHoQMqiFMCdEAJUMEiS4mEELlIO7bPOeN9i6K1rG/952myyea1WiCtXmEuYBPR4RBMxInoIOCwhOtJLKVszWyXc/5y2BvNEq6I+/3+kFK6M7OHnPM7jcLKjbZAvD/uaZtzflm5P4rbWyJWgDcze1LPuzVihfxUz7sH4ilJ2bx7Isrm3RtRMu8RiHJ5j0SUyXs0okTeCIj0eSMh0uaNhkiZNyIiXd7IiDR5oyNS5M2ACJ83EyJs3myIkHkzIsLlzYwIkzc7IkTeCojD81ZCHJa3GuKQvBURu+etjNgtb3XELnlHQGyedyTEZnlHQ2ySd0RE97wjI7rlHR3RJe+JeIrbLOecD6ePpZQ6W1kn2epo4MUrPOKyLN8ppYq1+y1VStncOjIdGnFZlo+U0uOtWOeOY2TE12Ouq//pEA7xXL7XfvcufR8K0Svfv6CREN3yDYfYIt9QiK3yjYTYLF95xB75SiP2ylcZsVu+cogj8pVCHJWvEuKwfOkREfKlRkTJlxkRJl86RMR8qRBR82VChM0XHpEhX2hElnyREWnyhUNkzBcKkTVfJETafIcjKuQ7FFEl35GIMvl2R1TMtyuiar49EWXzbY5oZpv/hibXTF2h3+s60FRKeT6+3TjMS3nrA3ZFRD8xrfY3ER1kJ+JEdBBwWGKeRAfEH1wS5WFZSDB/AAAAAElFTkSuQmCC' + }, + lastIcon: { + // 娌℃湁瀛愰泦鐨刬c + type: String, + default: '' + }, + border: { + // 鏄惁鏈夊垎鍓茬嚎 + type: Boolean, + default: false + } + }, + data() { + return { + showTree: false, + treeList: [], + selectIndex: -1, + returnedItem: [], //瀹氫箟涓�涓┖鏁扮粍 + pids: [], + ancestorsIds: [], + childNums: [] + }; + }, + computed: {}, + methods: { + _show() { + this.showTree = true; + }, + _hide() { + this.showTree = false; + }, + _cancel() { + this._hide(); + this.$emit('cancel', ''); + }, + _confirm() { + // 澶勭悊鎵�閫夋暟鎹� + let rt = [], + obj = {}; + this.treeList.forEach((v, i) => { + if (this.treeList[i].checked) { + rt.push(this.treeList[i].id); + } + }); + this._hide(); + this.$emit('confirm', rt); + }, + //鎵佸钩鍖栨爲缁撴瀯 + _renderTreeList(list = [], rank = 0, parentId = [], parents = []) { + list.forEach(item => { + this.treeList.push({ + id: item[this.idKey], + name: item[this.rangeKey], + source: item, + parentId, // 鐖剁骇id鏁扮粍 + parents, // 鐖剁骇id鏁扮粍 + rank, // 灞傜骇 + showChild: false, //瀛愮骇鏄惁鏄剧ず + open: false, //鏄惁鎵撳紑 + show: rank === 0, // 鑷韩鏄惁鏄剧ず + hideArr: [], + orChecked: item.checked ? item.checked : false, + checked: item.checked ? item.checked : false, + childNum: 0 + }); + + if (Array.isArray(item.children) && item.children.length > 0) { + // console.log(item) + let parentid = [...parentId], + parentArr = [...parents]; + delete parentArr.children; + parentid.push(item[this.idKey]); + parentArr.push({ + [this.idKey]: item[this.idKey], + [this.rangeKey]: item[this.rangeKey] + }); + // lazy + if (!this.lazy) { + this._renderTreeList(item.children, rank + 1, parentid, parentArr); + } + } else { + this.treeList[this.treeList.length - 1].lastRank = true; + } + }); + }, + // 澶勭悊榛樿閫夋嫨 + _defaultSelect() { + this.treeList.forEach((v, i) => { + if (v.checked) { + this.treeList.forEach((v2, i2) => { + if (v.parentId.toString().indexOf(v2.parentId.toString()) >= 0) { + v2.show = true; + if (v.parentId.includes(v2.id)) { + v2.showChild = true; + v2.open = true; + } + } + }); + } + }); + }, + getOwn(id, arr) { + //鍒╃敤foreach寰幆閬嶅巻 + arr.forEach(item => { + //鍒ゆ柇閫掑綊缁撴潫鏉′欢 + if (item[this.idKey] == id) { + // 瀛樺偍鏁版嵁鍒扮┖鏁扮粍 + this.returnedItem = item; + } else if (item.children != null) { + //鍒ゆ柇chlidren鏄惁鏈夋暟鎹� + //閫掑綊璋冪敤 + this.getOwn(id, item.children); + } + }); + return this.returnedItem; + }, + setShow(id, arr, isShow) { + arr.forEach((item, index) => { + if (item.parentId.includes(id)) { + this.treeList[index].showChild = isShow; + this.treeList[index].show = isShow; + } else if (item.children !== undefined) { + this.setShow(id, item.children, isShow); + } + }); + }, + // 鐐瑰嚮 + _treeItemTap(item, index) { + // console.log(item) + if (item.lastRank === true) { + //鐐瑰嚮鏈�鍚庝竴绾ф椂瑙﹀彂浜嬩欢 + this.treeList[index].checked = !this.treeList[index].checked; + this._fixMultiple(index); + return; + } + let id = item.id; + item.showChild = !item.showChild; + // qingqian + if (item.showChild) { + const range = this.range; + const parentIdArr = item.parentId; + // 鎵惧埌褰撳墠鍏冪礌 + const own = this.getOwn(id, range); + const checkedChildren = own.children; + // 瀛愬厓绱犳彃鍏ョ殑绱㈠紩浣嶇疆 + const nextIndex = this.treeList.findIndex(itemT => itemT.id === item.id); + console.log(checkedChildren); + if (checkedChildren === undefined || checkedChildren.length < 1) { + return; + } + // 瀛愯妭鐐规暟閲� + this.treeList[index].childNum = checkedChildren.length; + const newRank = item.rank + 1; + checkedChildren.forEach(itemC => { + const childObj = { + id: itemC[this.idKey], + name: itemC[this.rangeKey], + source: {}, + parentId: [item.id], // 鐖剁骇id鏁扮粍 + parents: [item], // 鐖剁骇id鏁扮粍 + rank: newRank, // 灞傜骇 + showChild: false, //瀛愮骇鏄惁鏄剧ず + open: false, //鏄惁鎵撳紑 + show: 1, // 鑷韩鏄惁鏄剧ず + hideArr: [], + orChecked: this.treeList[index].checked, + checked: this.treeList[index].checked + }; + if (!this.treeList.some(itemT => itemT.id === itemC[this.idKey])) { + this.treeList.splice(nextIndex + 1, 0, childObj); + } + }); + } + // 灞曞紑/闅愯棌瀛愮骇/瀛欑骇 + let list = this.treeList; + item.open = item.showChild ? true : !item.open; + list.forEach((childItem, i) => { + if (item.showChild === false) { + //闅愯棌鎵�鏈夊瓙绾� + if (!childItem.parentId.includes(id)) { + return; + } + //TODO: 淇敼 + if (!this.foldAll) { + if (childItem.lastRank !== true && !childItem.open) { + childItem.showChild = false; + this.setShow(childItem.id, this.treeList, false); + } + // 涓洪殣钘忕殑鍐呭娣诲姞涓�涓爣璁� + if (childItem.show) { + childItem.hideArr[item.rank] = id; + } + } else { + if (childItem.lastRank !== true) { + childItem.showChild = false; + // 缁х画闅愯棌瀛愮骇鐨勭殑瀛愮骇 + this.setShow(childItem.id, this.treeList, false); + } + } + if (childItem.children !== undefined) { + childItem.children.forEach((childItem1, i1) => { + if (!childItem1.parentId.includes(childItem.id)) { + return; + } + childItem.children[i1].showChild = false; + childItem.children[i1].show = false; + }); + } + childItem.show = false; + } else { + // 鎵撳紑瀛愰泦 + if (childItem.parentId[childItem.parentId.length - 1] === id) { + childItem.show = true; + } + // 鎵撳紑琚殣钘忕殑瀛愰泦 + if (childItem.parentId.includes(id) && !this.foldAll) { + // console.log(childItem.hideArr) + if (childItem.hideArr[item.rank] === id) { + childItem.show = true; + if (childItem.open && childItem.showChild) { + childItem.showChild = true; + } else { + childItem.showChild = false; + } + childItem.hideArr[item.rank] = null; + } + } + } + }); + }, + // 閫氳繃鐖秈d澶勭悊瀛愮骇 + syncChecked(trees, pid, checked) { + trees.forEach((item, index) => { + if (item.parentId.includes(pid)) { + this.treeList[index].checked = checked; + this.syncChecked(trees, item.id, checked); + } else if (item.children !== undefined) { + this.syncChecked(item.children, pid, checked); + } + }); + }, + // 鑾峰彇鐖剁骇寰�涓婃墍鏈夊眰绾х殑id 骞跺悓姝ョ姸鎬� + setAncestors(pids, checked) { + this.treeList.forEach((item, index) => { + if (pids.includes(item.id)) { + if (checked && this.childNums[item.id] !== undefined && item.childNum === this.childNums[item.id]) { + // 瀛愮骇鍏ㄩ儴閫変腑, 鐖剁骇鎵嶉�変腑 + this.treeList[index].checked = true; + } else { + this.treeList[index].checked = false; + } + this.setAncestors(item.parentId, checked); + } + }); + }, + _treeItemSelect(item, index) { + this.treeList[index].checked = !this.treeList[index].checked; + // 閫夌埗绾�, 瀛愮骇鑷姩鍏ㄩ�� + this.syncChecked(this.treeList, item.id, this.treeList[index].checked); + + if (item.rank > 0) { + item.parentId.forEach((pid, indexP) => { + const parent = this.treeList.filter(i => i.id === pid); + const childNum = parent.length > 0 ? parent[0].childNum : 0; + if (this.childNums[pid] === undefined) { + this.childNums[pid] = 1; + } else if (this.childNums[pid] < childNum) { + this.childNums[pid]++; + } + }); + //瀛愮骇閫夋嫨/閫夋弧/鍙栨秷閫夋嫨, 鐖剁骇寰�涓婂悓姝ョ姸鎬� + this.setAncestors(item.parentId, this.treeList[index].checked); + } + this._fixMultiple(index); + }, + // 澶勭悊鍗曢�夊閫� + _fixMultiple(index) { + if (!this.multiple) { + // 濡傛灉鏄崟閫� + this.treeList.forEach((v, i) => { + if (i != index) { + this.treeList[i].checked = false; + } else { + this.treeList[i].checked = true; + } + }); + } + }, + // 閲嶇疆鏁版嵁 + _reTreeList() { + this.treeList.forEach((v, i) => { + this.treeList[i].checked = v.orChecked; + }); + }, + _initTree(range = this.range) { + this.treeList = []; + this._renderTreeList(range); + this.$nextTick(() => { + this._defaultSelect(range); + }); + } + }, + watch: { + range(list) { + this._initTree(list); + }, + multiple() { + if (this.range.length) { + this._reTreeList(); + } + }, + selectParent() { + if (this.range.length) { + this._reTreeList(); + } + } + }, + mounted() { + this._initTree(); + } +}; +</script> + +<style scoped> +@import './style.css'; +</style> diff --git a/components/qian-tree/style.css b/components/qian-tree/style.css new file mode 100644 index 0000000..cb997b8 --- /dev/null +++ b/components/qian-tree/style.css @@ -0,0 +1,151 @@ +.tki-tree-mask { + position: fixed; + top: 0rpx; + right: 0rpx; + bottom: 0rpx; + left: 0rpx; + z-index: 9998; + background-color: rgba(0, 0, 0, 0.6); + opacity: 0; + transition: all 0.3s ease; + visibility: hidden; +} +.tki-tree-mask.show { + visibility: visible; + opacity: 1; +} +.tki-tree-cnt { + position: fixed; + top: 0rpx; + right: 0rpx; + bottom: 0rpx; + left: 0rpx; + z-index: 9999; + top: 160rpx; + transition: all 0.3s ease; + transform: translateY(100%); +} +.tki-tree-cnt.show { + transform: translateY(0); +} +.tki-tree-bar { + background-color: #fff; + height: 72rpx; + padding-left: 20rpx; + padding-right: 20rpx; + display: flex; + justify-content: space-between; + align-items: center; + box-sizing: border-box; + border-bottom-width: 1rpx !important; + border-bottom-style: solid; + border-bottom-color: #f5f5f5; + font-size: 32rpx; + color: #757575; + line-height: 1; +} +.tki-tree-bar-confirm { + color: #07bb07; +} +.tki-tree-view { + position: absolute; + top: 0rpx; + right: 0rpx; + bottom: 0rpx; + left: 0rpx; + top: 72rpx; + background-color: #fff; + padding-top: 20rpx; + padding-right: 20rpx; + padding-bottom: 20rpx; + padding-left: 20rpx; +} +.tki-tree-view-sc { + height: 100%; + overflow: hidden; +} +.tki-tree-item { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 26rpx; + color: #757575; + line-height: 1; + height: 0; + opacity: 0; + transition: 0.2s; + position: relative; + overflow: hidden; +} +.tki-tree-item.show { + height: 80rpx; + opacity: 1; +} +.tki-tree-item.showchild:before { + transform: rotate(90deg); +} +.tki-tree-item.last:before { + opacity: 0; +} +.tki-tree-icon { + width: 26rpx; + height: 26rpx; + margin-right: 8rpx; +} +.tki-tree-label { + flex: 1; + display: flex; + align-items: center; + height: 100%; + line-height: 1.2; +} +.tki-tree-check { + width: 40px; + height: 40px; + display: flex; + justify-content: center; + align-items: center; +} +.tki-tree-check-yes, +.tki-tree-check-no { + width: 20px; + height: 20px; + border-top-left-radius: 20%; + border-top-right-radius: 20%; + border-bottom-right-radius: 20%; + border-bottom-left-radius: 20%; + border-top-width: 1rpx; + border-left-width: 1rpx; + border-bottom-width: 1rpx; + border-right-width: 1rpx; + border-style: solid; + border-color: #07bb07; + display: flex; + justify-content: center; + align-items: center; + box-sizing: border-box; +} +.tki-tree-check-yes-b { + width: 12px; + height: 12px; + border-top-left-radius: 20%; + border-top-right-radius: 20%; + border-bottom-right-radius: 20%; + border-bottom-left-radius: 20%; + background-color: #07bb07; +} +.tki-tree-check .radio { + border-top-left-radius: 50%; + border-top-right-radius: 50%; + border-bottom-right-radius: 50%; + border-bottom-left-radius: 50%; +} +.tki-tree-check .radio .tki-tree-check-yes-b { + border-top-left-radius: 50%; + border-top-right-radius: 50%; + border-bottom-right-radius: 50%; + border-bottom-left-radius: 50%; +} +.hover-c { + opacity: 0.6; +} diff --git a/main.js b/main.js index 424d202..b214c90 100644 --- a/main.js +++ b/main.js @@ -1,7 +1,6 @@ import App from './App' import Vue from 'vue' import tabbar from '@/components/tab-bar/tab-bar.vue' - Vue.config.productionTip = false App.mpType = 'app' diff --git a/pages.json b/pages.json index fa1dbee..417aa1a 100644 --- a/pages.json +++ b/pages.json @@ -25,14 +25,16 @@ "path": "pages/tabbar-page/index-tabbar/index-tabbar", "style": { "navigationBarTitleText": "棣栭〉", - "enablePullDownRefresh": true + "enablePullDownRefresh": true, + "navigationStyle": "custom" } }, { "path": "pages/tabbar-page/myPage-tabbar/myPage-tabbar", "style": { "navigationBarTitleText": "鎴戠殑", - "enablePullDownRefresh": false + "enablePullDownRefresh": false, + "navigationStyle": "custom" } }, @@ -40,7 +42,8 @@ "path": "pages/customer-page/customer-index/customer-index", "style": { "navigationBarTitleText": "棣栭〉", - "enablePullDownRefresh": true + "enablePullDownRefresh": true, + "navigationStyle": "custom" } }, { @@ -54,14 +57,16 @@ "path": "pages/driver-page/driver-index/driver-index", "style": { "navigationBarTitleText": "棣栭〉", - "enablePullDownRefresh": true + "enablePullDownRefresh": true, + "navigationStyle": "custom" } }, { "path": "pages/driver-page/drvier-my/drvier-my", "style": { "navigationBarTitleText": "鎴戠殑", - "enablePullDownRefresh": false + "enablePullDownRefresh": false, + "navigationStyle": "custom" } }, { @@ -126,7 +131,8 @@ "path": "pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails", "style": { "navigationBarTitleText": "鍙戣繍璁″垝璇︽儏", - "enablePullDownRefresh": false + "enablePullDownRefresh": false, + "navigationStyle": "custom" } }, { @@ -163,7 +169,7 @@ { "path": "pages/customer-page/customer-index/fayunPlanDetails/fayunPlanMore/fayunPlanMore", "style": { - "navigationBarTitleText": "鏇村", + "navigationBarTitleText": "鎻愮叅鍗曡鎯�", "enablePullDownRefresh": false } @@ -171,11 +177,29 @@ "path": "pages/customer-page/customer-my/faYunstatistics/faYunstatistics", "style": { "navigationBarTitleText": "", + "enablePullDownRefresh": false, + "navigationStyle": "custom" + + } + + }, { + "path": "pages/customer-page/customer-my/userMange/userMange", + "style": { + "navigationBarTitleText": "", "enablePullDownRefresh": false } } - ], + ,{ + "path" : "pages/customer-page/customer-my/userMange/userManageEdit/userManageEdit", + "style" : + { + "navigationBarTitleText": "", + "enablePullDownRefresh": false + } + + } + ], "subPackages": [{ "root": "pages/register", "pages": [{ @@ -287,6 +311,7 @@ // 瀹㈡埛tabbar { "pagePath": "pages/tabbar-page/index-tabbar/index-tabbar" + // "iconPath": "static/tabBar-icon/Gfayun.png", // "selectedIconPath": "static/tabBar-icon/Bfayun1.png", // "text": "鍙戣繍" diff --git a/pages/customer-page/customer-index/customer-index.vue b/pages/customer-page/customer-index/customer-index.vue index 9506e7f..c74a242 100644 --- a/pages/customer-page/customer-index/customer-index.vue +++ b/pages/customer-page/customer-index/customer-index.vue @@ -1,98 +1,91 @@ <template> - <view class="customer-index"> - <view class="customer-index-body"> - <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" v-if="orderPlanData.length == 0"></u-empty> - <card v-for="(item, index) in orderPlanData" :key="index" :name="item.id" @click="cardBodyClick"> - <template v-slot:left> - <view class="card-left__top"> - <text>{{ item.carNum }}</text> - 寮� - </view> - <view class="card-left__utils"> - <u-button @tap.stop="receiveClick(item)" text="棰嗗彇" type="primary" v-if="item.carNum - item.cars2 != 0" shape="circle"></u-button> - <u-button text="杞彂" type="primary" @tap.stop="forwardClick(item)" shape="circle"></u-button> - </view> - </template> - <template v-slot:right-top> - <view class="right-top"> - <view class="card-right-top-row"> - <view> - <text>{{ item.deptName || '' }}</text> + <view class=""> + <view class="customer-index"> + <view class="customer-index-body"> + <!-- 寰呴鍙栧拰杞彂鎻愮叅鍗� --> + <view class="wait-collection" style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/customerbanner.png') no-repeat;background-size:contain"></view> + <view style="position: relative;top: -120px;"> + <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" v-if="orderPlanData.length == 0"></u-empty> + </view> + <view class="collection-form"> + <view class="collection-form-item" v-for="(item, index) in orderPlanData" :key="index" @click="cardBodyClick(item)"> + <view class="first-line"> + <view class="dispatch-receive"> + <view class="dispatch">{{ item.filedName }}</view> </view> - <view> - <text>{{ item.coalName }}</text> + <view class="point-number"> + <text class="residue">{{ item.cars2 }}</text> + <text>/{{ item.carNum }}</text> </view> </view> - <view class="card-right-top-row"> - <view> - <text>宸查鍙杮{ item.cars2 }}寮�</text> - </view> + <view class="second-line"> + <view class="coal-name">{{ item.coalName }}</view> + <view class="black-block"></view> + <view class="coal-type" v-if="item.orderType">{{ item.orderType }}</view> </view> - <view class="card-right-top-row"> - <!-- <view v-if="item.cars == item.cars2 ? false : true"> - 棰嗗彇锛� - <text class="lingqu" @tap.stop="numInput(item.id)">{{ item.receiveNum || '_______' }}</text> - 寮� - </view> --> - <view v-if="item.carNum == item.cars2 ? false : true">鍓╀綑{{ item.carNum - item.cars2 }}寮�</view> - <view v-else>宸查瀹�</view> + <view class="third-line"> + <view class="time-icon"><u-icon name="clock" color="#515151" size="40"></u-icon></view> + <view class="send-date">{{ item.sendDate }}</view> </view> - </view> - </template> - <template v-slot:right-bottom> - <view class="code"> - <text>缂栧彿锛歿{ item.code || '' }}</text> - </view> - </template> - </card> - </view> - <view class="history-numbers"> - <combined-title title="鍘嗗彶鎻愮叅鍗�"></combined-title> - <scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-Y" @scrolltolower="historyScrolltolower"> - <view class="history-information" v-for="(item, index) in historyCoalData" :key="index" @click="faYundetail(item)"> - <view class="history-sendate"> - <text>鍙戣繍鏃ユ湡 {{ item.sendDate || '' }}</text> - <view class="view-more"> - <text style="color: #449cfc;">璇︽儏</text> - <view class="arrow-right"><u-icon name="arrow-right" size="40" color="#449cfc"></u-icon></view> - </view> - </view> - <view class="history-main"> - <view class="main-left"> - <view class="history-body"> - <text>鎵�灞炲崟浣� {{ item.deptName || '' }}</text> - </view> - <view class="history-body"> - <text>鐓ゅ満鍚嶇О {{ item.filedName || '' }}</text> - </view> - <view class="history-body"> - <text>鐓ょ鍚嶇О {{ item.coalName || '' }}</text> - </view> - </view> - <view class="main-right"> - <view class="history-body"> - <text style="word-break: break-all;">璁㈠崟缂栧彿 {{ item.orderCode || '' }}</text> - </view> - <view class="history-body"> - <text>璁㈠崟鍓╀綑閲� {{ item.carNumSurplus || '' }}</text> - </view> - <view class="history-body"> - <text>鎻愮叅鍗曚釜鏁� {{ item.tmCount || '' }}</text> - </view> + <view class="fourth-line"> + <u-button @tap.stop="receiveClick(item)" text="棰嗗彇" type="primary" v-if="item.carNum - item.cars2 != 0" shape="circle"></u-button> + <u-button text="杞彂" type="primary" @tap.stop="forwardClick(item)" shape="circle"></u-button> </view> </view> </view> - <view class="more_text" v-if="showMoreData && historyCoalData.length !== 0">娌℃湁鏁版嵁浜�...</view> - </scroll-view> - </view> - <!-- 棰嗗彇寮瑰嚭妗� --> - <u-popup :show="show" @close="close" @open="open" mode="center" round="10"> - <view class="receiverPopup"> - <view class="receiverPopup__title"><text>纭棰嗗彇鏁伴噺</text></view> - <view class="receiverPopup__input"><u--input v-model="receiveNum" @change="change" placeholder="璇疯緭鍏ュ唴瀹�" type="number" border="surround"></u--input></view> - <view class="receiverPopup__btn"><u-button text="纭畾" type="primary" @click="popupDetermineClick"></u-button></view> + + <!-- 鍘嗗彶鎻愮叅鍗� --> + <view class="history-numbers"> + <combined-title title="鍘嗗彶鎻愮叅鍗�"></combined-title> + <scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-Y" @scrolltolower="historyScrolltolower"> + <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" v-if="historyCoalData.length == 0"></u-empty> + <view class="history-information" v-for="(item, index) in historyCoalData" :key="index" @click="faYundetail(item)"> + <view class="first"> + <view class="">{{ item.deptName || '' }}</view> + <view class=""><u-icon name="arrow-right" color="#999999" size="40"></u-icon></view> + </view> + <view class="second"> + <view class="">{{ item.coalName || '' }}</view> + <view class="order-type">{{ item.orderType || '' }}</view> + </view> + <view class="third"> + <view class="third-line"> + <view class="third-line_text">棰嗗彇鏁帮細</view> + <view class="third-line_num">{{ item.cars2 }}</view> + </view> + <view class="third-line"> + <view class="third-line_text">鍓╀綑鏁帮細</view> + <view class="third-line_num" v-if="roleType == 1">{{ item.carNumSurplus1 }}</view> + <view class="third-line_num" v-else-if="roleType == 2">{{ item.carNumSurplus }}</view> + </view> + <view class="third-line"> + <view class="third-line_text">鎻愮叅鍗曚釜鏁帮細锛�</view> + <view class="third-line_num">{{ item.tmCount }}</view> + </view> + </view> + <view class="fourth"> + <view class="fourth-icon"><u-icon name="clock" color="#999999" size="40"></u-icon></view> + <view class="senddate">{{ item.sendDate }}</view> + </view> + <view class="fourth"> + <view class="fourth-icon"><u-icon name="clock" color="#999999" size="40"></u-icon></view> + <view class="senddate">{{ item.orderCode }}</view> + </view> + </view> + <view class="more_text" v-if="showMoreData && historyCoalData.length !== 0">娌℃湁鏁版嵁浜�...</view> + <view class="white-block"></view> + </scroll-view> + </view> </view> - </u-popup> + <!-- 棰嗗彇寮瑰嚭妗� --> + <u-popup :show="show" @close="close" @open="open" mode="center" round="10"> + <view class="receiverPopup"> + <view class="receiverPopup__title"><text>纭棰嗗彇鏁伴噺</text></view> + <view class="receiverPopup__input"><u--input v-model="receiveNum" @change="change" placeholder="璇疯緭鍏ュ唴瀹�" type="number" border="surround"></u--input></view> + <view class="receiverPopup__btn"><u-button text="纭畾" type="primary" @click="popupDetermineClick"></u-button></view> + </view> + </u-popup> + </view> </view> </template> @@ -118,6 +111,11 @@ }, deep: true, immediate: true + } + }, + computed: { + roleType() { + return uni.getStorageSync('roleType'); } }, data() { @@ -237,21 +235,23 @@ console.log('杈撳叆妗�', e); }, // 鎻愮叅鍗曡鎯� - cardBodyClick(name) { - console.log(name, 'name'); - let code = null; - let cars2 = null; - this.orderPlanData.forEach(item => { - if (item.id == name) { - code = item.code; - cars2 = item.cars2; - } - }); - uni.navigateTo({ url: `/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails?orderPlanId=${name}&code=${code}&cars2=${cars2}` }); + cardBodyClick(v) { + // console.log(name, 'name'); + // let code = null; + // let cars2 = null; + // this.orderPlanData.forEach(item => { + // if (item.id == name) { + // code = item.code; + // cars2 = item.cars2; + // } + // }); + uni.navigateTo({ url: `/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails?orderPlanId=${v.id}&code=${v.code}&cars2=${v.cars2}` }); }, // 鐐瑰嚮鍘嗗彶鎻愮叅鍗曡幏鍙栬鎯� faYundetail(v) { - uni.navigateTo({ url: `/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails?orderPlanId=${v.id}&cars2=${v.cars2}` }); + uni.navigateTo({ + url: `/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails?orderPlanId=${v.id}&cars2=${v.cars2}&coalName=${v.coalName}&deptName=${v.deptName}` + }); }, // 杞彂 forwardClick(obj) { @@ -263,154 +263,214 @@ </script> <style lang="scss" scoped> +@mixin flex { + display: flex; + justify-content: space-between; + align-items: center; +} +.wait-collection { + width: 100%; + height: 600rpx; + position: relative; + top: vww(-10); + z-index: 0; +} +.white-block { + width: 100%; + height: vww(50); + margin-top: vww(10); +} .scroll-Y { - height: 950rpx; - background-color: #e2e2e2; - border-radius: vww(10); - margin-bottom: vww(55); - .history-information { - width: 94%; - display: flex; - flex-direction: column; - border: 1px solid #e2e2e2; - background-color: #fff; - border-radius: vww(10); - margin: vww(10); - .history-sendate { - height: vww(40); - border-bottom: 1px solid #e2e2e2; - line-height: vww(40); - padding-left: vww(8); - position: relative; - .view-more { - display: flex; - width: vww(80); - position: absolute; - right: vww(10); - top: vww(-1); - .arrow-right { - position: absolute; - right: vww(27); - top: vww(12); - } - } - } - .history-main { - min-height: vww(120); - display: flex; - justify-content: space-between; - .main-left, - .main-right { - width: 45%; - display: flex; - flex-direction: column; - justify-content: space-between; - padding: vww(4) vww(4); - } - } - } + height: 900rpx; .more_text { color: #333; font-size: 24rpx; text-align: center; } } +.history-numbers { + width: 100%; + position: relative; + top: vww(-110); + .history-information { + width: 690rpx; + height: 398rpx; + margin: vww(10) vww(15); + background: #ffffff; + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + border-radius: 20rpx; + @include flex flex-direction: column; + align-items: flex-start; + justify-content: space-evenly; + overflow: hidden; + .first { + width: 96%; + height: 34rpx; + font-size: 32rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #303030; + @include flex; + margin: vww(10) vww(10) 0; + } + .second { + width: 50%; + height: 31rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + margin: vww(10) vww(10) 0; + @include flex; + .order-type { + color: #035cfb; + border: 2px solid #035cfb; + border-radius: 4rpx; + padding: vww(2) vww(4); + text-align: center; + } + } + .third { + width: 96%; + height: 31rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + margin: vww(10) vww(10) 0; + @include flex; + .third-line { + @include flex; + &_text { + color: #919090; + } + &_num { + color: #035cfb; + } + } + } + .fourth { + width: 50%; + height: 31rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + margin: vww(10) vww(10) 0; + @include flex; + } + } +} + ::v-deep.customer-index { - width: 94%; + width: 100%; margin: 0 auto; // 涓讳綋 .customer-index-body { - margin-bottom: vww(10); - .card-left__top { - margin-top: vww(26); - text-align: center; - color: #ffffff; - text { - font-size: vww(48); - font-weight: 800; - } - } - .card-left__utils { - display: flex; - padding: 0 vww(15) 0 vww(15); - .u-button { - width: vww(55); - height: vww(24); - background-color: #fff; - color: #1987ff; - } - } - .right-top { - display: flex; - flex-flow: column nowrap; - align-content: space-around; - .card-right-top-row { - margin-top: vww(8); - text-align: center; - .lingqu { - margin-right: vww(10); - border-bottom: 1px solid #000000; - width: vww(30); + .collection-form { + width: vww(345); + margin: 0 vww(15); + position: relative; + top: vww(-144); + .collection-form-item { + width: 690rpx; + height: 300rpx; + background: #ffffff; + box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15); + border-radius: 20rpx; + overflow: hidden; + @include flex flex-direction: column; + position: relative; + align-items: flex-start; + margin-top: vww(10); + .first-line { + width: 94%; height: vww(30); - } - &:nth-child(1) { + margin: vww(10) vww(16) 0 vww(16); display: flex; justify-content: space-between; - view { - text-align: center; - width: 50%; + .dispatch-receive { + width: 70%; + display: flex; + justify-content: space-between; + align-items: center; + } + .point-number { + width: 15%; + text { + font-size: 24rpx; + font-family: Microsoft YaHei; + font-weight: 400; + color: #c78a64; + } + .residue { + font-size: 40rpx; + font-family: CTCuHeiSJ; + font-weight: 400; + color: #f81414; + } } } - } - } - - .code { - margin-top: vww(7); - text-align: center; - } - - // .newTask-card-body-row { - // text-align: center; - // .lingqu { - // margin-right: vww(10); - // border-bottom: 1px solid #000000; - // width: vww(30); - // height: vww(30); - // } - - // &:nth-child(1) { - // font-weight: 600; - // } - - // &:nth-child(2) { - // margin-top: vww(10); - // font-weight: 600; - // } - - // &:nth-child(3) { - // margin-top: vww(10); - // font-weight: 600; - // } - - // &:nth-child(4) { - // margin-top: vww(10); - // font-weight: 600; - // } - - // view { - // display: inline-block; - - // &:nth-child(1) { - // margin-right: vww(20); - // } - // } - // } - - .utilsBtn { - display: flex; - - .u-button { - width: 30%; + .second-line { + width: 60%; + height: vww(30); + display: flex; + justify-content: space-evenly; + align-items: center; + .coal-name { + width: 30%; + height: 30rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + position: relative; + display: flex; + justify-content: space-between; + } + .black-block { + width: 2rpx; + height: 30rpx; + background: #515151; + } + .coal-type { + width: 24%; + height: 30rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + } + } + .third-line { + width: 40%; + height: vww(30); + margin-left: vww(15); + display: flex; + justify-content: space-between; + align-items: center; + .send-date { + width: 148rpx; + height: 24rpx; + line-height: 24rpx; + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + } + } + .fourth-line { + width: 40%; + height: vww(30); + @include flex; + position: relative; + left: 60%; + bottom: vww(10); + .u-button { + width: vww(50); + height: vww(30); + } + } } } } diff --git a/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails.vue b/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails.vue index 5746de9..839572e 100644 --- a/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails.vue +++ b/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanDetails.vue @@ -1,53 +1,94 @@ <template> - <view class="fayunPlan"> - <view class="fayunPlanBody"> - <combined-title title="棰嗗彇鎯呭喌"></combined-title> - <view class="compDetails"> - <uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁"> - <uni-tr> - <uni-th align="left">棰嗗彇鎬婚噺</uni-th> - <uni-td align="left">{{ cars2 || 0 }}寮�</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left" width="120">杞彂鎬婚噺</uni-th> - <uni-td align="left">{{ orderPlanDetail.fowardSum || 0 }}寮�</uni-td> - </uni-tr> - <uni-tr v-for="(item, index) in orderPlanDetail.huodaiList" :key="index"> - <uni-th align="left">{{ item.huoDaiName }}</uni-th> - <uni-td align="left">{{ item.fleetOrHuodaiNub }}寮�</uni-td> - </uni-tr> - <uni-tr v-for="(item, index) in orderPlanDetail.cheduiList" :key="index"> - <uni-th align="left">{{ item.cheduiName }}</uni-th> - <uni-td align="left">{{ item.fleetOrHuodaiNub }}寮�</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鍙告満鎬婚鍙�</uni-th> - <uni-td align="left">{{ orderPlanDetail.sijiSum || 0 }}寮�</uni-td> - </uni-tr> - </uni-table> + <view class=""> + <view class="fayunPlan"> + <view class="plan-banner"> + <view class="top-container"> + <view class="back-icon" @click="backPage"><u-icon name="arrow-left" size="50" color="#fff"></u-icon></view> + <view class="top-title">鍙戣繍璁″垝璇︽儏</view> + </view> + <view class="middle-container"> + <view class="dept-name">{{ deptName }}({{ coalName }})</view> + <view class="dept-num"> + <text + style="font-size: 46rpx; + font-family: CTCuHeiSJ; + font-weight: 400; + color: #FFFFFF; + text-shadow: 0rpx 4rpx 0rpx #1A66FE;" + > + {{ orderPlanDetail.fowardSum || 0 }} + </text> + <text + style="font-size: 24rpx; + font-family: Microsoft YaHei; + font-weight: 400; + color: #F81414; + text-shadow: 0rpx 4rpx 0rpx #1A66FE;" + > + /{{ cars2 || 0 }} + </text> + </view> + </view> + <view class="bottom-container"> + <view class="bottom-block"> + <view class="bottom-content" v-for="(item, index) in orderPlanDetail.huodaiList" :key="index"> + <view class="forward-name">{{ item.huoDaiName }}</view> + <view class="forward-num"> + {{ item.fleetOrHuodaiNub }} + <text>寮�</text> + </view> + </view> + <view class="bottom-content" v-for="(item, index) in orderPlanDetail.cheduiList" :key="index"> + <view class="fleet-name">{{ item.cheduiName }}</view> + <view class="fleet-num"> + {{ item.fleetOrHuodaiNub }} + <text>寮�</text> + </view> + </view> + <view class="bottom-content"> + <view class="fleet-name">鍙告満</view> + <view class="fleet-num"> + {{ orderPlanDetail.sijiSum || 0 }} + <text>寮�</text> + </view> + </view> + </view> + </view> </view> - <combined-title title="鎻愮叅鍗曡鎯�"></combined-title> - <view class="empty-pointer" v-if="!yyDailyList">鏆傛棤鏇村鏁版嵁</view> - <view class="compDetails card" v-for="(item, index) in yyDailyList" :key="index"> - <view class="coal-status"> - <view class="label-title">鎻愮叅鍗曠姸鎬�</view> - <view class="label-value">{{ coalStatus[item.status] }}</view> + <view class="block-top"> + <combined-title title="鎻愮叅鍗曡鎯�"></combined-title> + <view class="total"> + 鎬诲噣閲� + <text>{{ total || 0 }}</text> </view> - <view class="coal-carNo"> - <view class="label-title">杞︾墝鍙�</view> - <view class="label-value">{{ item.carNo || '' }}</view> + </view> + <view class="main-banner"> + <view class="empty-pointer" v-if="!yyDailyList">鏆傛棤鏇村鏁版嵁</view> + <view class="main-block"> + <view class="main-container"> + <view class="main-container_content" v-for="(item, index) in yyDailyList" :key="index" @click="showMore(index)"> + <view class="arrow-icon"><u-icon name="arrow-right" size="30" color="#999999"></u-icon></view> + <view class="divider"><u-divider></u-divider></view> + <view class="first-line"> + <view class="car-num">{{ item.carNo || '' }}</view> + <view class="order-type">{{ coalStatus[item.status] }}</view> + </view> + <view class="second-line"> + <view class="line-content"> + <view class="line-content_text">鍑�閲�</view> + <view class="line-content_num">{{ item.clean || 0 }}</view> + </view> + <view class="line-content"> + <view class="line-content_text">浣欓噺</view> + <view class="line-content_num">{{ item.allowance || 0 }}</view> + </view> + </view> + </view> + </view> </view> - <view class="coal-clean"> - <view class="label-title">鍑�閲�</view> - <view class="label-value">{{ item.clean || 0 }}</view> - </view> - <view class="coal-allowance"> - <view class="label-title">浣欓噺</view> - <view class="label-value">{{ item.allowance || 0 }}</view> - </view> - <view class="more-button"><u-button type="success" text="璇︽儏" @click="showMore(index)"></u-button></view> </view> </view> + <view class="white-block"></view> </view> </template> @@ -61,6 +102,8 @@ this.orderPlanId = value.orderPlanId; this.orderCode = value.code; this.cars2 = value.cars2; + this.deptName = value.deptName; + this.coalName = value.coalName; console.log(value, '鍙戣繍璁″垝鍙傛暟'); }, data() { @@ -71,13 +114,21 @@ coalStatus: ['棰嗗彇', '棰勭害', '绛惧埌', '鍏ュ満', '绉扮毊', '绉版瘺', '绂诲満', '鍏ョ鎴�', '鍑虹鎴�', '鍏ョ叅鍦�', '鍑虹叅浠�'], yyDailyList: [], // 棰嗗彇鏁伴噺 - cars2: '' + cars2: '', + coalName: '', + deptName: '', + total: 0 }; }, onShow() { this.init(); }, methods: { + backPage() { + uni.navigateBack({ + delta: 1 + }); + }, showMore(index) { uni.navigateTo({ url: `/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanMore/fayunPlanMore?orderPlanId=${this.orderPlanId}&index=${index}` @@ -95,6 +146,13 @@ if (res.code == 0) { this.orderPlanDetail = res.data; this.yyDailyList = res.data.yyDailyList; + if (res.data.yyDailyList) { + this.total = this.yyDailyList.reduce((prev, cur) => { + return prev + cur.clean; + }, 0); + } else { + this.total = 0; + } uni.hideLoading(); } else { this.$u.toast('鍔犺浇澶辫触锛岃绋嶅悗閲嶈瘯'); @@ -107,11 +165,21 @@ </script> <style lang="scss" scoped> +@mixin flex { + display: flex; + justify-content: space-between; + align-items: center; +} .empty-pointer { position: absolute; top: 50%; left: 38%; color: #909399; +} +.white-block { + width: 100%; + height: vww(50); + margin-top: vww(10); } ::v-deep.fayunPlan { width: 100%; @@ -119,6 +187,197 @@ background-color: #f4f4f4; display: flex; flex-direction: column; + .plan-banner { + width: 100%; + background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%); + background-size: contain; + position: relative; + top: 0; + .top-container { + width: 468rpx; + height: 38rpx; + position: relative; + top: vww(48); + @include flex margin-left: vww(10); + .top-title { + width: 226rpx; + height: 36rpx; + font-size: 38rpx; + font-family: Adobe Heiti Std; + font-weight: normal; + color: #fff; + line-height: 69rpx; + } + } + .middle-container { + width: 626rpx; + height: 34rpx; + margin: vww(27) vww(31) 0 vww(31); + @include flex; + position: relative; + top: vww(54); + .dept-name { + font-size: 32rpx; + font-family: Adobe Heiti Std; + font-weight: normal; + color: #ffffff; + line-height: 69rpx; + text-shadow: 0rpx 4rpx 0rpx #1a66fe; + } + } + .bottom-container { + width: 100%; + @include flex; + justify-content: center; + margin-top: vww(80); + .bottom-block { + width: 690rpx; + min-height: 185rpx; + background: #ffffff; + box-shadow: 4rpx 6rpx 51rpx 0rpx rgba(73, 120, 240, 0.11); + border-radius: 20rpx; + @include flex; + justify-content: space-around; + flex-wrap: wrap; + padding: 0 vww(8); + .bottom-content { + @include flex; + flex-direction: column; + height: vww(56); + margin-right: vww(5); + .forward-name, + .fleet-name { + font-size: 28rpx; + font-family: Adobe Heiti Std; + font-weight: normal; + color: #757575; + line-height: 69rpx; + } + .forward-num, + .fleet-num { + font-size: 40rpx; + font-family: Microsoft YaHei; + font-weight: 400; + color: #303030; + line-height: 69rpx; + text { + font-size: 30rpx; + } + } + } + } + } + } + .block-top { + width: 94%; + margin: vww(15); + @include flex; + .total { + height: 30rpx; + line-height: vww(15); + font-size: 28rpx; + font-family: Adobe Heiti Std; + font-weight: normal; + color: #757575; + text { + width: 118rpx; + height: 30rpx; + line-height: vww(15); + font-size: 40rpx; + font-family: CTCuHeiSJ; + font-weight: 400; + color: #f81414; + } + } + } + .main-banner { + width: 100%; + @include flex; + justify-content: center; + .main-block { + width: 690rpx; + background: #ffffff; + box-shadow: 4rpx 6rpx 51rpx 0rpx rgba(73, 120, 240, 0.11); + border-radius: 20rpx; + .main-container { + width: 100%; + @include flex; + justify-content: center; + flex-direction: column; + background-color: #fff; + &_content { + width: 96%; + height: 194rpx; + @include flex; + flex-direction: column; + justify-content: space-around; + align-items: flex-start; + margin-top: vww(8); + position: relative; + .arrow-icon { + position: absolute; + right: vww(10); + top: vww(17); + } + .divider { + position: absolute; + width: 94%; + height: vww(1); + margin: 0 auto; + border-bottom: 1px soild #d6d6d6; + left: vww(15); + bottom: vww(18); + } + .first-line { + width: 50%; + @include flex; + margin: 0 vww(15); + .car-num { + height: 31rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #303030; + } + .order-type { + border: 2px solid #035cfb; + border-radius: 4rpx; + color: #035cfb; + padding: vww(2) vww(4); + text-align: center; + } + } + .second-line { + width: 94%; + height: vww(14); + margin: 0 vww(15); + @include flex; + justify-content: space-between; + .line-content { + width: 40%; + @include flex &_text { + width: 69rpx; + height: 29rpx; + line-height: 29rpx; + font-size: 28rpx; + font-family: PingFang SC; + font-weight: 400; + color: #919090; + } + &_num { + height: 29rpx; + line-height: 29rpx; + font-size: 38rpx; + font-family: PingFang SC; + font-weight: 400; + color: #035cfb; + } + } + } + } + } + } + } .fayunPlanBody { width: 94%; margin: 0 auto; diff --git a/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanMore/fayunPlanMore.vue b/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanMore/fayunPlanMore.vue index 2e623fd..6600f2f 100644 --- a/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanMore/fayunPlanMore.vue +++ b/pages/customer-page/customer-index/fayunPlanDetails/fayunPlanMore/fayunPlanMore.vue @@ -1,49 +1,62 @@ <template> <view> - <combined-title title="鎻愮叅鍗曡鎯�"></combined-title> - <view class="compDetails" v-for="(item, index) in yyDailyList" :key="index"> - <uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁"> - <uni-tr> - <uni-th align="left">鎻愮叅鍗曠紪鍙�</uni-th> - <uni-td align="left">{{ item.code || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鎻愮叅鍗曠姸鎬�</uni-th> - <uni-td align="left">{{ coalStatus[item.status] }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">杞︾墝鍙�</uni-th> - <uni-td align="left">{{ item.carNo || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鍏ュ満鏃堕棿</uni-th> - <uni-td align="left">{{ item.inTime || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鍑哄満鏃堕棿</uni-th> - <uni-td align="left">{{ item.outTime || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鐨噸</uni-th> - <uni-td align="left">{{ item.skin || 0 }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">姣涢噸</uni-th> - <uni-td align="left">{{ item.hair || 0 }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鍑�閲�</uni-th> - <uni-td align="left">{{ item.clean || 0 }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">璁㈠崟缂栧彿</uni-th> - <uni-td align="left">{{ item.orderCode || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">璁㈠崟鍓╀綑閲�</uni-th> - <uni-td align="left">{{ item.allowance || 0 }}</uni-td> - </uni-tr> - </uni-table> + <view class="main"> + <view class="main-body"> + <view class="body-container"> + <view class="container-block"> + <view class="">杞︾墝鍙�</view> + <view class="">{{ yyDailyList.carNo || '' }}</view> + </view> + </view> + <view class="body-container"> + <view class="container-block"> + <view class="">鎻愮叅鍗曠姸鎬�</view> + <view class="">{{ coalStatus[yyDailyList.status] }}</view> + </view> + </view> + <view class="body-container"> + <view class="container-block"> + <view class="">鍏ュ満鏃堕棿</view> + <view class="">{{ yyDailyList.inTime || '' }}</view> + </view> + </view> + <view class="body-container"> + <view class="container-block"> + <view class="">鐨噸</view> + <view class="">{{ yyDailyList.skin || '' }}</view> + </view> + </view> + <view class="body-container"> + <view class="container-block"> + <view class="">姣涢噸</view> + <view class="">{{ yyDailyList.hair || '' }}</view> + </view> + </view> + <view class="body-container"> + <view class="container-block"> + <view class="">鍑�閲�</view> + <view class="">{{ yyDailyList.clean || '' }}</view> + </view> + </view> + <view class="body-container"> + <view class="container-block"> + <view class="">璁㈠崟鍓╀綑閲�</view> + <view class="">{{ yyDailyList.allowance || '' }}</view> + </view> + </view> + <view class="body-container"> + <view class="container-block"> + <view class="">鎻愮叅鍗曠紪鍙�</view> + <view class="">{{ yyDailyList.code || '' }}</view> + </view> + </view> + <view class="body-container last"> + <view class="container-block"> + <view class="">璁㈠崟缂栧彿</view> + <view class="">{{ yyDailyList.orderCode || '' }}</view> + </view> + </view> + </view> </view> </view> </template> @@ -65,7 +78,7 @@ data() { return { orderPlanId: '', - yyDailyList: [], + yyDailyList: {}, orderPlanDetail: {}, coalStatus: ['棰嗗彇', '棰勭害', '绛惧埌', '鍏ュ満', '绉扮毊', '绉版瘺', '绂诲満', '鍏ョ鎴�', '鍑虹鎴�', '鍏ョ叅鍦�', '鍑虹叅浠�'], index: '' @@ -79,7 +92,8 @@ this.$reqGet('xiangqingList', { orderPlanId: this.orderPlanId }).then(res => { if (res.code == 0) { this.orderPlanDetail = res.data; - this.yyDailyList = res.data.yyDailyList.filter((v, i) => i == this.index); + this.yyDailyList = res.data.yyDailyList.filter((v, i) => i == this.index)[0]; + console.log(this.yyDailyList); uni.hideLoading(); } else { this.$u.toast('鍔犺浇澶辫触'); @@ -91,6 +105,40 @@ </script> <style scoped lang="scss"> +@mixin flex { + display: flex; + justify-content: space-between; + align-items: center; +} +.main { + width: 100%; + margin-top: vww(10); + @include flex justify-content: center; + .main-body { + width: 690rpx; + height: 1062rpx; + background: #ffffff; + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + border-radius: 20rpx; + @include flex flex-direction: column; + align-items: flex-start; + .body-container { + width: 100%; + height: vww(56); + border-bottom: vww(1) solid #d6d6d6; + @include flex; + justify-content: center; + .container-block { + width: 96%; + height: vww(56); + @include flex; + } + } + .last { + border-bottom: none; + } + } +} .uni-table { .uni-table-tr { padding: 0; diff --git a/pages/customer-page/customer-my/customer-my.vue b/pages/customer-page/customer-my/customer-my.vue index 6be882c..2010e92 100644 --- a/pages/customer-page/customer-my/customer-my.vue +++ b/pages/customer-page/customer-my/customer-my.vue @@ -1,40 +1,67 @@ <template> <view class="customer-my"> - <view class="huodai"> - <combined-title title="鎴戠殑璐т唬" @rightText="addHuoDai"> - <template v-slot:rightText> - <text>娣诲姞</text> - </template> - </combined-title> - <view class="huodai-list"> - <u-swipe-action> - <u-cell-group :border="false"> - <u-swipe-action-item :options="options1" v-for="(item, index) in huoDaiData" :index="index" :name="item.userId" :key="index" @click="deleteHuoDaiClick"> - <u-cell :title="item.name" value="璇︽儏" @click="toFreightForwarderDetails(item.userId)"></u-cell> - </u-swipe-action-item> - </u-cell-group> - </u-swipe-action> + <view class="driver-banner"><view class="navgation">鎴戠殑</view></view> + <view class="personal-information"> + <view class="personal-information-block"> + <view class="block-main"> + <view class="huodai"> + <combined-title title="鎴戠殑璐т唬" @rightText="addHuoDai"> + <template v-slot:rightText> + <text>娣诲姞</text> + </template> + </combined-title> + <view class="huodai-list"> + <u-swipe-action> + <u-cell-group :border="false"> + <u-swipe-action-item + :options="options1" + v-for="(item, index) in huoDaiData" + :index="index" + :name="item.userId" + :key="index" + @click="deleteHuoDaiClick" + > + <u-cell :title="item.name" value="璇︽儏" @click="toFreightForwarderDetails(item.userId)"></u-cell> + </u-swipe-action-item> + </u-cell-group> + </u-swipe-action> + </view> + </view> + </view> </view> - </view> - <view class="fleet-container"> - <combined-title title="鎴戠殑杞﹂槦" @rightText="addFleet"> - <template v-slot:rightText> - <text>娣诲姞</text> - </template> - </combined-title> - <view class="fleet-list"> - <u-swipe-action> - <u-cell-group :border="false"> - <u-swipe-action-item :options="options1" v-for="(item, index) in fleetData" :index="index" :name="item.id" :key="index" @click="deleteFleetClick"> - <u-cell :title="item.name" :value="item.userSijisum + '杈�'" @click="tofleetDetails(item.id)"></u-cell> - </u-swipe-action-item> - </u-cell-group> - </u-swipe-action> + <view class="personal-information-block"> + <view class="block-main"> + <view class="fleet-container"> + <combined-title title="鎴戠殑杞﹂槦" @rightText="addFleet"> + <template v-slot:rightText> + <text>娣诲姞</text> + </template> + </combined-title> + <view class="fleet-list"> + <u-swipe-action> + <u-cell-group :border="false"> + <u-swipe-action-item + :options="options1" + v-for="(item, index) in fleetData" + :index="index" + :name="item.id" + :key="index" + @click="deleteFleetClick" + > + <u-cell :title="item.name" :value="item.userSijisum + '杈�'" @click="tofleetDetails(item.id)"></u-cell> + </u-swipe-action-item> + </u-cell-group> + </u-swipe-action> + </view> + </view> + </view> </view> </view> - <!-- <view class="statistics"><u-button text="鍙戣繍缁熻" type="primary" @click="statistics"></u-button></view> --> - <view class="logout"><u-button text="閫�鍑虹櫥褰�" type="primary" @click="logout()"></u-button></view> + <view class="utils-button"> + <view class="statistics"><u-button text="鐢ㄦ埛绠$悊" type="primary" @click="userManage" v-if="roleType == 1 && userEntity.isHostUser === '0'"></u-button></view> + <view class="logout"><u-button text="閫�鍑虹櫥褰�" type="primary" @click="logout()"></u-button></view> + </view> <!-- 鏂板缓杞﹂槦寮瑰嚭妗� --> <view class="addNewGroup"> @@ -124,8 +151,15 @@ // 閫�鍑烘ā鎬佹 logoutShow: false, logoutTitle: '鎻愮ず', - logoutContent: '鏄惁纭閫�鍑�' + logoutContent: '鏄惁纭閫�鍑�', + // 鐢ㄦ埛淇℃伅瀵硅薄 + userEntity: {} }; + }, + computed: { + roleType() { + return uni.getStorageSync('roleType'); + } }, onShow() { this.init(); @@ -134,6 +168,13 @@ init() { this.getAllHuoDaiByCustomerId(); this.getFleet(); + this.getUserEntity(); + }, + // 鑾峰彇鐢ㄦ埛淇℃伅 + getUserEntity() { + this.$reqGet('getUserEntity').then(res => { + this.userEntity = res.data; + }); }, // 鑾峰彇璐т唬鍒楄〃 getAllHuoDaiByCustomerId() { @@ -276,10 +317,10 @@ logoutCancel() { this.logoutShow = false; }, - // 璺宠浆鍙戣繍缁熻椤甸潰 - statistics() { + // 璺宠浆鐢ㄦ埛绠$悊椤甸潰 + userManage() { uni.navigateTo({ - url: '/pages/customer-page/customer-my/faYunstatistics/faYunstatistics' + url: '/pages/customer-page/customer-my/userMange/userMange' }); } } @@ -287,13 +328,73 @@ </script> <style lang="scss" scoped> -.statistics { - margin-top: vww(10); - margin-bottom: vww(10); +@mixin flex { + display: flex; + justify-content: space-between; + align-items: center; } +.utils-button { + margin-top: vww(35); + .statistics, + .logout { + margin-top: vww(10); + margin-bottom: vww(10); + /deep/ .u-button { + width: 631rpx; + height: 74rpx; + border: 2px solid #3b56eb; + background-color: #fff; + color: #3b56eb; + border-radius: 37rpx 37rpx 37rpx 37rpx; + } + } +} + ::v-deep.customer-my { - width: 94%; - margin: 0 auto; + width: 100%; + margin: vww(90) auto; + .driver-banner { + width: 100%; + height: 430rpx; + background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%); + background-size: contain; + position: fixed; + top: 0; + .navgation { + width: 77rpx; + height: 37rpx; + font-size: 40rpx; + font-family: Adobe Heiti Std; + font-weight: normal; + color: #ffffff; + line-height: 69rpx; + margin: vww(60) auto; + } + } + .personal-information { + width: 100%; + display: flex; + align-items: center; + justify-content: space-around; + flex-direction: column; + position: relative; + top: vww(20); + &-block { + width: 690rpx; + min-height: 478rpx; + background: #ffffff; + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + border-radius: 20rpx; + display: flex; + flex-direction: column; + justify-content: space-between; + margin-top: vww(8); + .block-main { + width: 636rpx; + margin: vww(10) vww(14); + } + } + } .huodai { .huodai-list { diff --git a/pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue b/pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue index b8dd609..66b528c 100644 --- a/pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue +++ b/pages/customer-page/customer-my/faYunstatistics/faYunstatistics.vue @@ -1,19 +1,76 @@ <template> - <view class="main"> - <view class="top-statistics"> - <view class="content-statistics"> - <view class="content-text">鍙戣繍缁熻</view> - <view class="content-text">鍏眥{ totalLength }}杞�</view> - <view class="content-text">鍏眥{ totalTon.toFixed(2) }}鍚�</view> + <view class=""> + <view class="main"> + <view class="top-statistics"> + <view class="top-body"> + <view class="content-title">鍙戣繍缁熻</view> + <view class="content-statistics"> + <view class="content-text"> + <view class="content-container">{{ totalLength }}</view> + <view class="content-num">鍙戣繍杞︽暟</view> + </view> + <view class="content-text"> + <view class="content-container">{{ totalTon.toFixed(2) }}</view> + <view class="content-num">鍙戣繍鍚ㄦ暟</view> + </view> + </view> + </view> </view> - </view> - <view class="collapse-main"> - <view class="filter-show"> - <view class="filtershow-date">{{ dateRange }}</view> - <view class="filter-icon"><u-icon name="grid" :size="40" color="#9ec16c "></u-icon></view> - <view class="filtershow-text" @click="showPopup">绛涢��</view> + <view class="main-block"> + <view class="data-filter" @click="showPopup"> + <view class="search-icon"><u-icon name="search" color="#494949" size="50"></u-icon></view> + <view class="date-text">{{ dateselect }}</view> + <view class=""> + <view class="arrow-icon"><u-icon name="arrow-down-fill" color="#1481FF" size="50"></u-icon></view> + </view> + </view> + <view class="filter-condition"></view> + <view class="date-information"> + <view class="statistics-card" v-for="(item, index) in filterList" :key="index"> + <view class="card-top"> + <view class="left"><combined-title :title="item.condition"></combined-title></view> + <view class="card-top_num"> + {{ item.taskCoalList.length }}杞{ + item.taskCoalList.reduce((prev, cur) => { + return prev + cur.clean; + }, 0) + }}鍚� + </view> + </view> + <view class="card-main" v-for="(value, i) in item.taskCoalList" :key="i" @click="faYunDetail(value.id)"> + <view class="first-line"> + <view class="dispatch-receive"> + <view v-if="value.orderType == '澶栭攢' || value.orderType == '鍐呴攢' || value.orderType == '杞嚭'" class="container"> + <view class="dispatch">{{ value.deptName }}</view> + <view class="receive-icon"></view> + <view class="receive">{{ value.customerName }}</view> + </view> + <view v-else-if="value.orderType == '澶栬喘' || value.orderType == '鍐呰喘' || value.orderType == '杞叆'" class="container"> + <view class="dispatch">{{ value.customerName }}</view> + <view class="receive-icon"></view> + <view class="receive">{{ value.deptName }}</view> + </view> + </view> + <view class="point-number">{{ value.clean.toFixed(2) || 0 }}</view> + </view> + <view class="second-line"> + <view class="coal-name">{{ value.coalName }}</view> + <view class="black-block"></view> + <view class="coal-type">{{ value.orderType }}</view> + </view> + <view class="third-line"> + <view class="carnum-icon"><image src="https://mx.jzeg.cn:9095/appimg/image/banner/carNO.png" mode="widthFix"></image></view> + <view class="carnum-text">{{ value.carNo || '' }}</view> + </view> + <view class="fourth-line"> + <view class="time-icon"><u-icon name="clock" color="#515151" size="40"></u-icon></view> + <view class="send-date">{{ value.sendDate }}</view> + </view> + </view> + </view> + </view> </view> - <u-popup :show="conditinonShow" mode="top" :closeable="true" :closeOnClickOverlay="true" @close="conditinonclose"> + <u-popup :show="conditinonShow" mode="bottom" :closeable="true" :closeOnClickOverlay="true" @close="conditinonclose"> <view class="filter-main"> <view class="filter-body date-button"> <view class="condition-name">鏃ユ湡</view> @@ -39,124 +96,99 @@ <view class="condition-name">鐓ょ</view> <view class="filter-name"> <view class="filter-button" v-for="(item, index) in coalList" :key="index" @click="filterCondition(0, index, item.condition)"> - <u-button :text="item.condition" :type="item.active ? 'success' : ''" size="small" v-if="index < coalShow"></u-button> + <u-button :text="item.condition" :type="item.active ? 'primary' : ''" size="small" :class="{ shadowactive: item.active }"></u-button> </view> - <view class="toggle-button"> - <u-button :text="coalShow < coalTotal ? '鏌ョ湅鏇村' : '鏀惰捣'" type="primary" size="small" @click="toggle(0)" v-if="coalTotal > 3"></u-button> - </view> + <!-- <view class="toggle-button"> + <u-button :text="coalShow < coalTotal ? '鏌ョ湅鏇村' : '鏀惰捣'" type="primary" size="small" @click="toggle(0)" v-if="coalTotal > 3"></u-button> + </view> --> </view> </view> - <view class="filter-body"> + <view class="filter-body" v-if="typeList.length !== 0"> <view class="condition-name">绫诲瀷</view> <view class="filter-name"> <view class="filter-button" v-for="(item, index) in typeList" :key="index" @click="filterCondition(1, index, item.condition)"> - <u-button :text="item.condition" :type="item.active ? 'success' : ''" size="small" v-if="index < typeShow"></u-button> + <u-button :text="item.condition" :type="item.active ? 'primary' : ''" size="small"></u-button> </view> - <view class="toggle-button"> - <u-button :text="typeShow < typeTotal ? '鏌ョ湅鏇村' : '鏀惰捣'" type="primary" size="small" @click="toggle(1)" v-if="typeTotal > 3"></u-button> - </view> + <!-- <view class="toggle-button"> + <u-button :text="typeShow < typeTotal ? '鏌ョ湅鏇村' : '鏀惰捣'" type="primary" size="small" @click="toggle(1)" v-if="typeTotal > 3"></u-button> + </view> --> </view> </view> - <view class="filter-body"> + <view class="filter-body" v-if="roleType !== 1"> <view class="condition-name">瀹㈡埛</view> <view class="filter-name"> <view class="filter-button" v-for="(item, index) in customerList" :key="index" @click="filterCondition(2, index, item.condition)"> - <u-button :text="item.condition" :type="item.active ? 'success' : ''" size="small" v-if="index < customerShow"></u-button> + <u-button :text="item.condition" :type="item.active ? 'primary' : ''" size="small"></u-button> </view> - <view class="toggle-button"> - <u-button - :text="customerShow < customerTotal ? '鏌ョ湅鏇村' : '鏀惰捣'" - type="primary" - size="small" - @click="toggle(2)" - v-if="customerTotal > 3" - ></u-button> - </view> + <!-- <view class="toggle-button"> + <u-button :text="customerShow < customerTotal ? '鏌ョ湅鏇村' : '鏀惰捣'" type="primary" size="small" @click="toggle(2)" v-if="customerTotal > 3"></u-button> + </view> --> </view> </view> <view class="filter-body" v-if="roleType == 1"> <view class="condition-name">璐т唬</view> <view class="filter-name"> <view class="filter-button" v-for="(item, index) in forwarderList" :key="index" @click="filterCondition(3, index, item.condition)"> - <u-button :text="item.condition" :type="item.active ? 'success' : ''" v-if="index < forwarderShow"></u-button> + <u-button :text="item.condition" :type="item.active ? 'primary' : ''"></u-button> </view> - <view class="toggle-button"> - <u-button - :text="forwarderShow < forwarderTotal ? '鏌ョ湅鏇村' : '鏀惰捣'" - type="primary" - size="small" - @click="toggle(3)" - v-if="forwarderTotal > 3" - ></u-button> - </view> + <!-- <view class="toggle-button"> + <u-button + :text="forwarderShow < forwarderTotal ? '鏌ョ湅鏇村' : '鏀惰捣'" + type="primary" + size="small" + @click="toggle(3)" + v-if="forwarderTotal > 3" + ></u-button> + </view> --> </view> </view> <view class="filter-body" v-if="roleType != 3"> <view class="condition-name">杞﹂槦</view> <view class="filter-name"> <view class="filter-button" v-for="(item, index) in fleetList" :key="index" @click="filterCondition(4, index, item.condition)"> - <u-button :text="item.condition" :type="item.active ? 'success' : ''" size="small" v-if="index < fleetShow"></u-button> + <u-button :text="item.condition" :type="item.active ? 'primary' : ''" size="small"></u-button> </view> - <view class="toggle-button"> - <u-button :text="fleetShow < fleetTotal ? '鏌ョ湅鏇村' : '鏀惰捣'" type="primary" size="small" @click="toggle(4)" v-if="fleetTotal > 3"></u-button> - </view> + <!-- <view class="toggle-button"> + <u-button :text="fleetShow < fleetTotal ? '鏌ョ湅鏇村' : '鏀惰捣'" type="primary" size="small" @click="toggle(4)" v-if="fleetTotal > 3"></u-button> + </view> --> </view> </view> - <view class="filter-body" v-if="roleType != 1"> + <view class="filter-body"> <view class="condition-name">鐭垮満</view> <view class="filter-name"> <view class="filter-button" v-for="(item, index) in filedList" :key="index" @click="filterCondition(5, index, item.condition)"> - <u-button :text="item.condition" :type="item.active ? 'success' : ''" size="small" v-if="index < filedShow"></u-button> + <u-button :text="item.condition" :type="item.active ? 'success' : ''" size="small"></u-button> </view> - <view class="toggle-button"> - <u-button :text="filedShow < filedTotal ? '鏌ョ湅鏇村' : '鏀惰捣'" type="primary" size="small" @click="toggle(5)" v-if="filedTotal > 3"></u-button> - </view> + <!-- <view class="toggle-button"> + <u-button :text="filedShow < filedTotal ? '鏌ョ湅鏇村' : '鏀惰捣'" type="primary" size="small" @click="toggle(5)" v-if="filedTotal > 3"></u-button> + </view> --> </view> </view> <view class="filter-body" v-if="roleType == 2"> <view class="condition-name">杞︾墝鍙�</view> <view class="filter-name"> <view class="filter-button" v-for="(item, index) in carNoList" :key="index" @click="filterCondition(6, index, item.condition)"> - <u-button :text="item.condition" :type="item.active ? 'success' : ''" size="small" v-if="index < carNoShow"></u-button> + <u-button :text="item.condition" :type="item.active ? 'primary' : ''" size="small" v-if="index < carNoShow"></u-button> </view> - <view class="toggle-button"> - <u-button :text="carNoShow < carNoTotal ? '鏌ョ湅鏇村' : '鏀惰捣'" type="primary" size="small" @click="toggle(6)" v-if="carNoTotal > 3"></u-button> - </view> + <!-- <view class="toggle-button"> + <u-button :text="carNoShow < carNoTotal ? '鏌ョ湅鏇村' : '鏀惰捣'" type="primary" size="small" @click="toggle(6)" v-if="carNoTotal > 3"></u-button> + </view> --> </view> </view> </view> </u-popup> + <tab-bar :current="1"></tab-bar> </view> - <view class="date-information"> - <view class="statistics-card" v-for="(item, index) in filterList" :key="index"> - <view class="card-title"> - <view class="title-date">{{ item.condition }}</view> - <view class="title-number"> - 鍏眥{ item.taskCoalList.length }}杞� {{ - item.taskCoalList.reduce((prev, cur) => { - return prev + cur.clean; - }, 0) - }}鍚� - </view> - </view> - <view class="card-main" v-for="(value, i) in item.taskCoalList" :key="i" @click="faYunDetail(value.id)"> - <view class="arrow-right"><u-icon name="arrow-right" size="50"></u-icon></view> - <view class="main-body"> - <view class="coal-name">鐓ょ:{{ value.coalName || '' }}</view> - <view class="clean">鎵ц閲�:{{ value.clean.toFixed(2) || 0 }}</view> - <view class="out-time">鍑哄満鏃堕棿:{{ value.outTime || '' }}</view> - <view class="car-number">杞︾墝鍙�:{{ value.carNo || '' }}</view> - <view class="filedName">鐭垮満:{{ value.filedName || '' }}</view> - </view> - </view> - </view> - </view> - <tab-bar :current="1"></tab-bar> + <view class="white-block"></view> </view> </template> <script> +import combinedTitle from '@/components/combined-title/combined-title.vue'; export default { + components: { + combinedTitle + }, data() { return { conditionList: [], @@ -386,6 +418,7 @@ console.log(e, '鏃ユ湡閫夋嫨'); this.first = e.range.before; this.last = e.range.after; + this.conditinonShow = false; }, opencalendar() { this.$refs.calendar.open(); @@ -519,187 +552,360 @@ </script> <style lang="scss" scoped> +@mixin flex { + display: flex; + justify-content: space-between; + align-items: center; +} ::v-deep .toggle-button .u-button { width: vww(40); } -// ::v-deep .filter-name:nth-last-child(1) { -// .u-button { -// width: 66%; -// } -// } +.white-block { + width: 100%; + height: vww(50); + margin-top: vww(10); +} .main { - width: 96%; + width: 100%; margin: 0 auto; - background-color: #e8eaec; /*椤堕儴缁熻鏍�*/ .top-statistics { width: 100%; - height: vww(50); + height: 430rpx; + background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%); display: flex; justify-content: center; - align-items: center; - .content-statistics { - width: 100%; - height: 100%; - padding: 0 vww(10); + .top-body { + width: 690rpx; + height: 220rpx; + margin: vww(21) auto; display: flex; justify-content: space-between; - align-items: center; - .content-text { - width: 33.3%; - height: vww(30); - font-size: vww(20); - color: #393a3c; + flex-direction: column; + .content-statistics { + width: 690rpx; + height: 140rpx; + background: #ffffff; + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + border-radius: 10rpx; + display: flex; + justify-content: space-evenly; + align-items: center; + .content-text { + height: vww(40); + @include flex flex-direction: column; + .content-container { + width: 100%; + height: vww(16); + font-size: 40rpx; + font-family: Source Han Sans CN; + font-weight: bold; + color: #3b56eb; + text-align: center; + } + .content-num { + width: 96rpx; + height: 24rpx; + font-size: 24rpx; + font-family: Source Han Sans CN; + font-weight: 400; + color: #333333; + } + } + } + .content-title { + width: 158rpx; + height: 38rpx; + font-size: 40rpx; + font-family: Adobe Heiti Std; + font-weight: normal; + color: #ffffff; + line-height: 69rpx; + margin: vww(21) auto; } } } - // 閫夐」鎶樺彔妗� - .collapse-main { - width: 100%; - margin-top: vww(10); - background-color: #fff; - border: 1px solid #cccccc; - border-radius: vww(5); - .filter-show { + .main-block { + width: 690rpx; + margin: vww(12) vww(15) auto vww(15); + background: #ffffff; + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + border-radius: 20rpx; + @include flex flex-direction: column; + overflow: hidden; + .data-filter { + width: 635rpx; + height: 68rpx; + border: 2px solid #5b95fd; + box-shadow: 0rpx 5rpx 13rpx 0rpx rgba(73, 95, 252, 0.6); + border-radius: 34rpx; + margin-top: vww(21); + padding: 0 vww(5); + @include flex .date-text { + width: 330rpx; + height: 40rpx; + font-size: 28rpx; + font-family: Source Han Sans CN; + font-weight: 400; + color: #494949; + } + } + .filter-condition { width: 100%; - height: vww(40); - background-color: #fff; - border-radius: vww(5); - font-size: vww(18); - color: #333; - position: relative; - display: flex; - justify-content: space-between; - align-items: center; - .filtershow-date { - font-size: vww(15); - padding-left: vww(8); - } - .filter-icon { - position: absolute; - right: vww(45); - top: vww(11); - } - .filtershow-text { - color: #9ec16c; - padding-right: vww(8); - position: relative; - &::before { - content: ''; - position: absolute; - width: 1px; - height: vww(22); - background-color: #dcdfe6; - right: 94px; - bottom: 0; + height: 54rpx; + background: #f5f5f5; + @include flex; + margin-top: vww(15); + } + .date-information { + width: 635rpx; + background: #f6faff; + border-radius: 20rpx; + .statistics-card { + width: 100%; + min-height: vww(120); + @include flex; + flex-direction: column; + margin-top: vww(5); + .card-top { + width: 96%; + @include flex; + .left { + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 400; + color: #494949; + } + .card-top_num { + font-size: 40rpx; + font-family: CTCuHeiSJ; + font-weight: 400; + color: #6074ee; + } + } + .card-main { + width: 100%; + height: vww(120); + border-bottom: vww(1) solid #d6d6d6; + margin-top: vww(12); + padding-bottom: vww(12); + position: relative; + @include flex flex-direction: column; + align-items: flex-start; + .first-line { + width: 94%; + height: vww(32); + color: #303030; + display: flex; + justify-content: space-between; + align-items: center; + .dispatch-receive { + width: 90%; + display: flex; + justify-content: space-between; + align-items: center; + margin-right: vww(12); + .container { + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + } + .receive-icon { + width: 62rpx; + height: 14rpx; + border-bottom: 3px solid #275fa5; + position: relative; + &:after { + content: ''; + position: absolute; + width: 3px; + height: 10px; + background-color: #275fa5; + right: 0; + transform: rotate(-45deg); + } + } + } + .point-number { + width: 20%; + font-size: 40rpx; + font-family: CTCuHeiSJ; + font-weight: 400; + color: #f81414; + } + } + .second-line { + width: 60%; + height: vww(15); + display: flex; + justify-content: space-between; + align-items: center; + .coal-name { + width: 60%; + height: 30rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + position: relative; + display: flex; + justify-content: space-between; + } + .black-block { + width: 2rpx; + height: 30rpx; + background: #515151; + } + .coal-type { + width: 24%; + height: 30rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + } + } + .third-line { + width: 40%; + height: vww(14); + display: flex; + justify-content: space-between; + align-items: center; + .carnum-icon { + width: 28rpx; + height: 24rpx; + image { + width: 28rpx; + height: 24rpx; + } + } + .carnum-text { + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + } + } + .fourth-line { + width: 40%; + height: vww(14); + display: flex; + justify-content: space-between; + align-items: center; + } } } } - .filter-main { - width: 100%; - display: flex; - flex-direction: column; - justify-content: space-around; - .date-button { - width: 80%; - height: vww(80); - margin: vww(5) auto; - .condition-name { - margin-bottom: vww(10); - } + } + .filter-main { + width: 100%; + display: flex; + flex-direction: column; + justify-content: space-around; + .date-button { + width: 80%; + height: vww(80); + margin: vww(5) auto; + .condition-name { + margin-bottom: vww(10); } - .filter-body { - width: 100%; + } + .filter-body { + width: 100%; + position: relative; + display: flex; + justify-content: flex-start; + flex-wrap: wrap; + .condition-name { + margin-left: vww(15); + margin-top: vww(10); + font-size: vww(16); + color: #686868; + } + .filter-name { + width: 94%; + margin: 0 auto; position: relative; display: flex; - justify-content: flex-start; flex-wrap: wrap; - .condition-name { - margin-left: vww(15); - margin-top: vww(10); - font-size: vww(16); - color: #686868; - } - .filter-name { - width: 94%; - margin: 0 auto; - position: relative; - display: flex; - flex-wrap: wrap; - justify-content: flex-start; - align-items: flex-start; + justify-content: flex-start; + align-items: flex-start; - .filter-button { - color: #393a3c; - height: vww(16); - padding: vww(8); - margin: vww(5) vww(5); - margin-bottom: vww(10); + .filter-button { + color: #393a3c; + height: vww(16); + padding: vww(8); + margin: vww(5) vww(5); + margin-bottom: vww(10); + /deep/ .shadowactive { + background: linear-gradient(90deg, rgba(73, 123, 251, 0.32), rgba(72, 16, 255, 0.32)); + box-shadow: 2rpx 3rpx 13rpx 0rpx rgba(43, 98, 239, 0.5), 0rpx 0rpx 9rpx 0rpx rgba(247, 250, 253, 0.29); } - .toggle-button { - width: 30%; - display: flex; - justify-content: center; - position: absolute; - right: vww(-21); - top: vww(-23); - } + } + .toggle-button { + width: 30%; + display: flex; + justify-content: center; + position: absolute; + right: vww(-21); + top: vww(-23); } } } } // 鏃ユ湡鍙戣繍 - .date-information { - width: 100%; - display: flex; - flex-direction: column; - .statistics-card { - width: 100%; - margin-top: vww(8); - border: 1px solid #cccccc; - border-radius: vww(5); - background-color: #fff; - min-height: vww(120); - display: flex; - flex-direction: column; - justify-content: space-between; - .card-title { - width: 100%; - height: vww(40); - line-height: vww(40); - padding-left: vww(5); - color: #bcbcbc; - border-bottom: 1px solid #cccccc; - display: flex; - .title-date { - width: vww(90); - margin-right: vww(10); - } - .title-number { - flex: 1; - } - } - .card-main { - width: 100%; - flex: 1; - position: relative; - .arrow-right { - position: absolute; - right: vww(14); - top: vww(18); - } - .main-body { - width: 80%; - height: vww(60); - margin-top: vww(5); - padding: vww(3); - color: #686868; - display: flex; - flex-wrap: wrap; - justify-content: space-around; - } - } - } - } + // .date-information { + // width: 100%; + // display: flex; + // flex-direction: column; + // .statistics-card { + // width: 100%; + // margin-top: vww(8); + // border: 1px solid #cccccc; + // border-radius: vww(5); + // background-color: #fff; + // min-height: vww(120); + // display: flex; + // flex-direction: column; + // justify-content: space-between; + // .card-title { + // width: 100%; + // height: vww(40); + // line-height: vww(40); + // padding-left: vww(5); + // color: #bcbcbc; + // border-bottom: 1px solid #cccccc; + // display: flex; + // .title-date { + // width: vww(90); + // margin-right: vww(10); + // } + // .title-number { + // flex: 1; + // } + // } + // .card-main { + // width: 100%; + // flex: 1; + // position: relative; + // .arrow-right { + // position: absolute; + // right: vww(14); + // top: vww(18); + // } + // .main-body { + // width: 80%; + // height: vww(60); + // margin-top: vww(5); + // padding: vww(3); + // color: #686868; + // display: flex; + // flex-wrap: wrap; + // justify-content: space-around; + // } + // } + // } + // } } </style> diff --git a/pages/customer-page/customer-my/userMange/userManageEdit/userManageEdit.vue b/pages/customer-page/customer-my/userMange/userManageEdit/userManageEdit.vue new file mode 100644 index 0000000..3d56130 --- /dev/null +++ b/pages/customer-page/customer-my/userMange/userManageEdit/userManageEdit.vue @@ -0,0 +1,237 @@ +<template> + <view class="main"> + <view class="main-block"> + <u--form labelPosition="left" :model="model1" :rules="rules" ref="uForm" :errorType="errorType"> + <u-form-item label="鏈嶅姟閮ㄩ棬" labelWidth="20%" @click="treeOpen" borderBottom prop="deptIds"> + <u--input placeholder="璇烽�夋嫨鏈嶅姟閮ㄩ棬" v-model="model1.deptIds" class="input" type="text"></u--input> + <qian-tree ref="tkitree" :range="department" confirmColor="#4e8af7" :multiple="true" :selectParent="true" title="閫夋嫨閮ㄩ棬" @confirm="treeChooseValue" /> + </u-form-item> + <u-form-item label="韬唤璇�" labelWidth="20%" borderBottom prop="idCard"> + <u--input border="none" v-model="model1.idCard" placeholder="璇疯緭鍏ヨ韩浠借瘉"></u--input> + </u-form-item> + <u-form-item label="鐪熷疄濮撳悕" labelWidth="20%" borderBottom prop="name"> + <u--input border="none" v-model="model1.name" placeholder="璇疯緭鍏ョ湡瀹炲鍚�"></u--input> + </u-form-item> + <u-form-item label="鎵嬫満鍙�" labelWidth="20%" borderBottom prop="phone"> + <u--input border="none" v-model="model1.phone" placeholder="璇疯緭鍏ユ墜鏈哄彿"></u--input> + </u-form-item> + <u-form-item label="瀵嗙爜" labelWidth="20%" borderBottom prop="password"> + <u--input border="none" v-model="model1.password" placeholder="璇疯緭鍏ュ瘑鐮�"></u--input> + </u-form-item> + </u--form> + </view> + <view class="submit-button"><u-button :text="userId ? '纭淇敼' : '纭鎻愪氦'" type="primary" @click="submitMsg"></u-button></view> + </view> +</template> + +<script> +let url = 'http://192.168.31.14:9999'; +import qianTree from '@/components/qian-tree/qian-tree.vue'; +export default { + components: { + qianTree + }, + data() { + return { + department: [], + model1: { + departmentName: '', + idCard: '', + name: '', + phone: '', + password: '', + deptIds: '', + isHostUser: 1 + }, + tempdeptIds: '', + userId: '', + diffdeptId: '', + ismodifyDept: false, + rules: { + deptIds: { + type: 'string', + required: true, + message: '璇疯嚦灏戦�夋嫨涓�涓儴闂�', + trigger: ['blur', 'change'] + }, + idCard: { + type: 'string', + required: true, + message: '璇峰~鍐欒韩浠借瘉鍙风爜', + trigger: ['blur', 'change'] + }, + name: { + type: 'string', + required: true, + message: '璇峰~鍐欏鍚�', + trigger: ['blur', 'change'] + }, + phone: { + type: 'string', + required: true, + message: '璇峰~鍐欐墜鏈哄彿', + trigger: ['blur', 'change'] + }, + password: { + type: 'string', + required: true, + message: '璇峰~鍐欏瘑鐮�', + trigger: ['blur', 'change'] + } + }, + errorType: 'message' + }; + }, + onLoad(params) { + if (params.userId) { + this.userId = params.userId; + } + }, + onShow() { + if (this.userId) { + this.viewInfo(); + } + this.$refs.tkitree._hide(); + }, + onReady() { + this.$refs.uForm.setRules(this.rules); + }, + created() { + this.fetchTree(); + }, + methods: { + fetchTree() { + uni.request({ + url: `${url}/admin/dept/ownTree`, + header: { + Authorization: 'Bearer' + ' ' + uni.getStorageSync('token'), + CLIENT_TOC: 'Y' + }, + success: res => { + this.department = res.data.data; + } + }); + }, + viewInfo(v) { + uni.showLoading({ + title: '鍔犺浇涓�' + }); + this.$reqGet('getAppById', { userId: this.userId.toString() }).then(res => { + uni.hideLoading(); + if (res.code == 0) { + this.tempdeptIds = res.data.deptIds; + if (res.data.deptIds == null) { + this.diffdeptId = '鍏ㄩ儴'; + } else { + this.diffdeptId = this.findNameById(this.department, res.data.deptIds.split(',')).join(); + } + this.model1 = { + ...res.data, + password: '', + deptIds: this.diffdeptId + }; + } else { + this.$u.toast('鍔犺浇澶辫触'); + } + }); + }, + treeOpen() { + this.$refs.tkitree._show(); + }, + treeClose() { + this.$refs.tkitree._hide(); + }, + treeChooseValue(v) { + this.$refs.tkitree._hide(); + this.model1.deptIds = this.findNameById(this.department, v).join(); + this.diffdeptId = v.join(); + this.ismodifyDept = true; + this.$refs.uForm.clearValidate('deptIds'); + }, + findNameById(tree, idArr) { + let result = []; + + function traverse(node, idArr) { + if (!node) return; + if (idArr.includes(node.id)) { + result.push(node.name); + } + if (node.children && node.children.length > 0) { + node.children.forEach(child => { + traverse(child, idArr); + }); + } + } + + tree.forEach(node => { + traverse(node, idArr); + }); + + return result; + }, + submitMsg() { + this.$refs.uForm + .validate() + .then(res => { + if (this.userId) { + this.model1.deptIds = this.ismodifyDept ? this.diffdeptId : this.tempdeptIds; + this.$reqAllJson('appUpdateById', this.model1, { method: 'PUT', 'Content-type': 'application/json' }).then(res => { + if (res.code == 0) { + this.$u.toast('淇敼鎴愬姛'); + let timer = setTimeout(() => { + uni.navigateBack({ + delta: 1 + }); + }, 500); + } else { + this.$u.toast('淇敼澶辫触'); + } + }); + } else { + this.model1 = { + ...this.model1, + deptIds: this.diffdeptId + }; + this.$reqPost('appSave', this.model1, 'json').then(result => { + if (result.code == 0) { + this.$u.toast('鎻愪氦鎴愬姛'); + let timer = setTimeout(() => { + uni.navigateBack({ + delta: 1 + }); + }, 500); + } else { + this.$u.toast(result.msg ? result.msg : '鎻愪氦澶辫触'); + } + }); + } + }) + .catch(error => { + console.log(error); + }); + } + } +}; +</script> + +<style lang="scss" scoped> +.main { + width: 100%; + &-block { + width: 94%; + margin: vww(15); + } + .submit-button { + position: relative; + bottom: vww(-20); + /deep/ .u-button { + width: 631rpx; + height: 74rpx; + border: 2px solid #3b56eb; + background-color: #fff; + color: #3b56eb; + border-radius: 37rpx 37rpx 37rpx 37rpx; + } + } +} +</style> diff --git a/pages/customer-page/customer-my/userMange/userMange.vue b/pages/customer-page/customer-my/userMange/userMange.vue new file mode 100644 index 0000000..62649ca --- /dev/null +++ b/pages/customer-page/customer-my/userMange/userMange.vue @@ -0,0 +1,180 @@ +<template> + <view> + <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" v-if="userList.length == 0"></u-empty> + <u-list @scrolltolower="scrolltolower"> + <u-list-item v-for="(item, index) in userList" :key="index"> + <u-cell size="large" center :label="item.deptNames"> + <view slot="title" class="u-slot-title"> + <text class="u-cell-text">{{ item.name }}</text> + </view> + <view slot="value" class="u-slot-value"> + <u-tag text="鏌ョ湅" type="primary" plain size="mini" icon="eye" @click="viewInfo(item)"></u-tag> + <u-tag text="缂栬緫" type="primary" plain size="mini" icon="edit-pen" @click="editInfo(item)"></u-tag> + <u-tag text="鍒犻櫎" type="warning" plain size="mini" icon="trash" @click="deleteInfo(item)"></u-tag> + </view> + </u-cell> + </u-list-item> + </u-list> + <u-popup :show="infoShow" mode="center" :round="10" :closeable="true" @close="close"> + <view class="info-main"> + <view class="info-block"> + <view class="info-block_label">鏈嶅姟鐭垮満</view> + <view class="info-block_value">{{ userInfo.deptNames }}</view> + </view> + <view class="info-block"> + <view class="info-block_label">韬唤璇�</view> + <view class="info-block_value">{{ userInfo.idCard }}</view> + </view> + <view class="info-block"> + <view class="info-block_label">鐪熷疄濮撳悕</view> + <view class="info-block_value">{{ userInfo.name }}</view> + </view> + <view class="info-block"> + <view class="info-block_label">鎵嬫満鍙�</view> + <view class="info-block_value">{{ userInfo.phone }}</view> + </view> + </view> + </u-popup> + <view class="add-icon" @click.stop="addUser"><u-icon name="plus" color="#fff" size="40"></u-icon></view> + <u-modal :show="deleteShow" title="鍒犻櫎" content="纭鍒犻櫎?" @confirm="deleteConfirm" @cancel="deleteCancel" :showCancelButton="true"></u-modal> + </view> +</template> + +<script> +export default { + data() { + return { + userList: [], + infoShow: false, + userInfo: {}, + deleteShow: false, + userId: '' + }; + }, + onShow() { + this.getappUserPage(); + }, + methods: { + close() { + this.infoShow = false; + }, + getappUserPage() { + uni.showLoading({ + title: '鍔犺浇涓�' + }); + this.$reqGet('appUserPage').then(res => { + this.userList = res.data.records; + uni.hideLoading(); + }); + }, + scrolltolower() {}, + // 鏌ョ湅淇℃伅 + viewInfo(v) { + uni.showLoading({ + title: '鍔犺浇涓�' + }); + this.$reqGet('getAppById', { userId: v.userId.toString() }).then(res => { + if (res.code == 0) { + uni.hideLoading(); + this.userInfo = res.data; + this.infoShow = true; + } else { + this.$u.toast('鍔犺浇澶辫触'); + } + }); + }, + // 缂栬緫淇℃伅 + editInfo(v) { + uni.navigateTo({ + url: `/pages/customer-page/customer-my/userMange/userManageEdit/userManageEdit?userId=${v.userId}` + }); + }, + // 鍒犻櫎淇℃伅 + deleteInfo(v) { + this.userId = v.userId.toString(); + this.deleteShow = true; + }, + deleteConfirm() { + uni.showLoading({ + title: '鍔犺浇涓�' + }); + this.$reqPost('appRemoveById', { userId: this.userId }, 'params') + .then(res => { + if (res.code === 0) { + uni.hideLoading(); + this.$u.toast('鍒犻櫎鎴愬姛'); + this.deleteShow = false; + } else { + uni.hideLoading(); + this.$u.toast('鍒犻櫎澶辫触'); + this.deleteShow = false; + } + }) + .then(() => { + this.getappUserPage(); + }); + }, + deleteCancel() { + this.deleteShow = false; + }, + // 鐐瑰嚮娣诲姞鎸夐挳 + addUser() { + uni.navigateTo({ + url: '/pages/customer-page/customer-my/userMange/userManageEdit/userManageEdit' + }); + } + } +}; +</script> + +<style lang="scss" scoped> +@mixin flex { + display: flex; + justify-content: space-between; + align-items: center; +} +/deep/ .u-slot-value { + width: 150px; + height: 60px; + @include flex; +} +.info-main { + width: 690rpx; + height: 600rpx; + @include flex; + flex-direction: column; + padding: vww(10); + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + .info-block { + width: 94%; + height: 120rpx; + @include flex; + border-bottom: 1px solid #d6d6d6; + &_label { + line-height: 28rpx; + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #303030; + } + &_value { + line-height: 28rpx; + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #303030; + } + } +} +.add-icon { + position: fixed; + bottom: vww(60); + right: vww(20); + width: 89rpx; + height: 89rpx; + border-radius: 50%; + background: #035cfb; + @include flex; + justify-content: center; +} +</style> diff --git a/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue b/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue index 461de18..633f96d 100644 --- a/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue +++ b/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue @@ -1,86 +1,71 @@ <template> <view class="bill-of-lading-details"> - <scroll-view class="bangDanMessage" :scroll-top="scrollTop" scroll-y="true"> - <uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁"> - <uni-tr> - <uni-th align="left">瀹㈡埛</uni-th> - <uni-td align="right">{{ coalDetailsData.customerName || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鐭垮満</uni-th> - <uni-td align="right">{{ coalDetailsData.deptName || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">姣涢噸</uni-th> - <uni-td align="right">{{ coalDetailsData.hair || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鐨噸</uni-th> - <uni-td align="right">{{ coalDetailsData.skin || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鍑�閲�</uni-th> - <uni-td align="right">{{ coalDetailsData.clean || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">纾呭崟绫诲瀷</uni-th> - <uni-td align="right">{{ coalDetailsData.orderType || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鐘舵��</uni-th> - <uni-td align="right">{{ coalStatus[coalDetailsData.status] }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鐓ゅ満</uni-th> - <uni-td align="right">{{ coalDetailsData.filedName || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鍙戣繍鏃堕棿</uni-th> - <uni-td align="right">{{ coalDetailsData.sendDate || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鎻愮叅鍗曠紪鍙�</uni-th> - <uni-td align="right">{{ coalDetailsData.code || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">璁㈠崟缂栧彿</uni-th> - <uni-td align="right">{{ coalDetailsData.orderCode || '' }}</uni-td> - </uni-tr> - </uni-table> - </scroll-view> - <!-- <view class="bangDanMessage"> - <view class=""> - <text>瀹㈡埛锛歿{}}</text> - <text>鐭垮満锛歿{ coalDetailsData.deptName || '' }}</text> + <view class="top-banner" style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/loadingbanner.png') no-repeat;background-size: cover;"> + <view class="top-information"> + <view class="cutomer-name">瀹㈡埛:{{ coalDetailsData.customerName || '' }}</view> + <view class="fild-name"> + <view class="">鐭垮満:{{ coalDetailsData.deptName || '' }}</view> + <view class="">鐓ゅ満:{{ coalDetailsData.filedName || '' }}</view> + </view> </view> - <view class=""> - <text>鐨噸锛歿{ coalDetailsData.skin || '' }}</text> - <text>姣涢噸锛歿{ coalDetailsData.hair || '' }}</text> - <text>鍑�閲嶏細{{ coalDetailsData.clean || '' }}</text> + <view class="block-information"> + <view class="block-main"> + <view class="basic"> + <view class="coalName">{{ coalDetailsData.coalName }}</view> + <view class="black-block"></view> + <view class="order-type">{{ coalDetailsData.orderType }}</view> + <view + class="status-button" + style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/statusbutton.png') no-repeat; + background-size: cover;" + > + {{ coalStatus[coalDetailsData.status] }} + </view> + </view> + <view class="time"> + <view class="time-icon"><u-icon name="clock" color="#515151" size="40"></u-icon></view> + <view class="send-date">{{ coalDetailsData.sendDate }}</view> + </view> + <view class="coal-code">鎻愮叅鍗曠紪鐮亄{ coalDetailsData.code || '' }}</view> + <view class="order-code">璁㈠崟缂栧彿:{{ coalDetailsData.orderCode || '' }}</view> + <view class="weigh-item"> + <view class="item"> + <view class="concrete" style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/skin.png') no-repeat;background-size: cover;">鐨�</view> + <view class="num">{{ coalDetailsData.skin }}</view> + </view> + <view class="item"> + <view class="concrete" style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/hair.png') no-repeat;background-size: cover;">姣�</view> + <view class="num">{{ coalDetailsData.hair }}</view> + </view> + <view class="item"> + <view class="concrete" style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/clean.png') no-repeat;background-size: cover;">鍑�</view> + <view class="num">{{ coalDetailsData.clean }}</view> + </view> + </view> + </view> </view> - <view class=""> - <text>纾呭崟绫诲瀷锛歿{ coalDetailsData.orderType || '' }}</text> - <text>鐘舵�侊細{{ coalStatus[coalDetailsData.status] }}</text> - </view> - <view class=""> - <text>鐓ゅ満锛歿{ coalDetailsData.filedName || '' }}</text> - <text>鍙戣繍鏃堕棿锛歿{ coalDetailsData.sendDate || '' }}</text> - <text>鎻愮叅鍗曠紪鍙凤細{{ coalDetailsData.code || '' }}</text> - <text>璁㈠崟缂栧彿锛歿{ coalDetailsData.orderCode || '' }}</text> - </view> - </view> --> - <view class="timeLine" style="font-size: 16rpx;"> - <u--text type="primary" size="30" plain v-for="(item, index) in dayRZ" :key="index" :text="item.taskStatusDes"></u--text> + </view> + + <view class="timeLine"> + <u-steps :current="dayRZ.length - 1" direction="column" dot> + <u-steps-item :title="item.taskStatusDes" v-for="(item, index) in dayRZ" :key="index"></u-steps-item> + </u-steps> </view> <view class="utilsBox"> <view class="utils_chil utils_chilTop"> - <u-button text="绛惧埌" type="primary" plain @click="arriveClick"></u-button> - <u-button text="鍏ュ満鐢宠" type="primary" plain @click="rcsqClick"></u-button> - <u-button text="鏀剧┖" type="primary" plain @click="evacuation" throttleTime="500"></u-button> - <u-button text="鍛煎彨瀹㈡湇" type="primary" plain @click="callCustomerService"></u-button> + <view class="top-button"> + <u-button text="绛惧埌" type="primary" plain @click="arriveClick" shape="circle"></u-button> + <u-button text="鍏ュ満鐢宠" type="primary" plain @click="rcsqClick" shape="circle"></u-button> + </view> + <view class="bottom-button"> + <u-button text="鏀剧┖" type="primary" plain @click="evacuation" throttleTime="500" shape="circle"></u-button> + <u-button text="鍛煎彨瀹㈡湇" type="primary" plain @click="callCustomerService" shape="circle"></u-button> + </view> </view> - <view class="utils_chil"><u-button text="灞曠ず鎻愮叅鍗�" @click="showCaolPickUpBill" type="primary"></u-button></view> - <view class="utils_chil"><u-button text="涓婄璁¢噺" @click="cengZhongClick" type="primary"></u-button></view> + </view> + <view class="weigh-ability"> + <view class="weigh-button"><u-button text="灞曠ず鎻愮叅鍗�" @click="showCaolPickUpBill" type="primary" shape="circle"></u-button></view> + <view class="weigh-button"><u-button text="涓婄璁¢噺" @click="cengZhongClick" type="primary" shape="circle"></u-button></view> </view> <view class="evacuationModal"> <u-modal @@ -349,112 +334,202 @@ </script> <style lang="scss" scoped> +/deep/.u-steps { + .u-steps-item { + .u-steps-item__content { + .u-text { + .u-text__value { + font-size: 31rpx !important; + font-family: Microsoft YaHei; + font-weight: 300; + color: #303030; + } + } + } + } +} +@mixin flex { + display: flex; + justify-content: space-between; + align-items: center; +} ::v-deep.bill-of-lading-details { width: 100%; height: 100vh; margin: 0 auto; display: flex; flex-direction: column; - .bangDanMessage { - width: 96%; - margin: 0 auto; - height: 50%; - } - // 琛ㄦ牸鏍峰紡 - .uni-table { - .uni-table-tr { - padding: 0; - border: vww(1) solid #c6c6c6; - .uni-table-th { - font-size: vww(14); - height: vww(20); - line-height: vww(20); - // padding: vww(5) vww(10); - color: #111111; - font-weight: 500; - background: #e2e2e2; + .top-banner { + width: 100%; + height: 346rpx; + .top-information { + width: 94%; + margin: 0 auto; + height: vww(52); + @include flex position: relative; + flex-direction: column; + justify-content: space-between; + align-items: flex-start; + top: vww(25); + color: #ffffff; + font-size: 31rpx; + font-family: Microsoft YaHei; + font-weight: 300; + .fild-name { + @include flex justify-content: space-between; + width: 100%; } - .uni-table-td { - font-size: vww(14); - font-weight: 400; - height: vww(20); - line-height: vww(20); - padding: vww(5) vww(10); - color: #111111; + } + .block-information { + width: 690rpx; + height: 396rpx; + margin: vww(40) auto; + background: #ffffff; + box-shadow: 4rpx 6rpx 51rpx 0rpx rgba(73, 120, 240, 0.11); + border-radius: 20rpx; + position: relative; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #303030; + overflow: hidden; + .block-main { + @include flex width: 94%; + height: 336rpx; + margin: vww(18) vww(7) vww(11) vww(17); + flex-direction: column; + justify-content: space-between; + align-items: flex-start; + } + .status-button { + width: vww(71); + height: vww(36); + text-align: center; + line-height: vww(33); + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + position: absolute; + right: vww(10); + color: #fff; + } + .basic { + width: 40%; + height: vww(15); + @include flex justify-content: space-between; + .coalName { + width: 50%; + height: 30rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + position: relative; + } + .black-block { + width: 2rpx; + height: 30rpx; + background: #515151; + } + } + .time { + width: 30%; + height: vww(12); + display: flex; + justify-content: space-between; + .send-date { + width: 148rpx; + height: 24rpx; + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + } + } + .coal-code, + .order-code { + width: 100%; + height: 24rpx; + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #7d7d7d; + } + .weigh-item { + width: 100%; + height: vww(36); + @include flex justify-content: space-around; + .item { + width: vww(50); + height: vww(45); + font-size: 21rpx; + font-family: Microsoft YaHei; + font-weight: 400; + color: #ffffff; + text-align: center; + line-height: vww(30); + @include flex; + .concrete { + width: vww(36); + height: vww(36); + } + .num { + font-size: 40rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #303030; + } + } } } } - // .bangDanMessage { - // margin: vww(20); - // margin-bottom: vww(10); - // height: 40%; - // font-size: vww(18); - // font-weight: 600; - // view { - // margin-bottom: vww(10); - // } - // view:nth-of-type(1) { - // display: flex; - // text { - // width: 50%; - // text-align: center; - // } - // } - // view:nth-of-type(2) { - // display: flex; - // text { - // width: 33%; - // text-align: center; - // } - // } - // view:nth-of-type(3) { - // display: flex; - // text { - // width: 50%; - // text-align: center; - // } - // } - // view:nth-of-type(4) { - // display: flex; - // flex-direction: column; - // text { - // margin-bottom: vww(10); - // text-align: center; - // } - // } - // } .timeLine { - height: 25%; + height: 40%; margin: vww(20); - margin-top: vww(10); - margin-bottom: vww(10); - border: vww(2) solid #dddddd; - border-radius: vww(20); - padding: vww(20); - box-sizing: border-box; - overflow-y: overlay; //琛屼负涓� auto 鐩稿悓锛屼絾鏄粴鍔ㄦ潯缁樺埗鍦ㄥ唴瀹逛箣涓婏紝鑰屼笉鏄崰鎹┖闂淬�� - .u-text { - margin-bottom: vww(5) !important; - } + position: relative; + top: vww(120); + overflow-y: overlay; } .utilsBox { - padding: vww(10) vww(20); - flex: 1; - display: flex; - flex-direction: column; + width: 94%; + margin: 0 auto; + position: relative; + top: vww(80); .utils_chil { - flex: 1; - display: flex; - align-items: center; - } - .utils_chilTop { - .u-button { - margin-right: vww(4); - &:nth-child(4) { - margin-right: 0; + width: 100%; + margin: 0 auto; + .top-button, + .bottom-button { + width: 100%; + height: vww(80); + @include flex; + .u-button { + width: 40%; + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #497bfb; } } } } + .weigh-ability { + width: 631rpx; + height: vww(100); + margin: vww(80) auto; + margin-bottom: vww(10); + @include flex; + flex-direction: column; + .weigh-button { + width: 631rpx; + height: vww(89); + .u-button { + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #ffffff; + } + } + } } </style> diff --git a/pages/driver-page/driver-index/bill-of-lading-details/coal-pick-up-bill/coal-pick-up-bill.vue b/pages/driver-page/driver-index/bill-of-lading-details/coal-pick-up-bill/coal-pick-up-bill.vue index 14413d5..fa878bb 100644 --- a/pages/driver-page/driver-index/bill-of-lading-details/coal-pick-up-bill/coal-pick-up-bill.vue +++ b/pages/driver-page/driver-index/bill-of-lading-details/coal-pick-up-bill/coal-pick-up-bill.vue @@ -12,7 +12,7 @@ <view>{{ coalData.customerName || '鏆傛棤鍗曚綅' }}</view> <view>{{ coalData.yuYueTime ? coalData.yuYueTime.slice(0, 10) + ' ' + coalData.yuYueTime.slice(11, 22) : '鏆傛棤鏃堕棿' }}</view> </view> - <view class="driver-coalFour"><image src="@/static/logo.gif" mode=""></image></view> + <view class="driver-coalFour"><image src="https://mx.jzeg.cn:9095/appimg/logo.gif" mode=""></image></view> </view> </view> </template> @@ -107,7 +107,10 @@ } } &-coalFour { - margin: vww(59) 0 0 43%; + display: flex; + justify-content: center; + align-items: center; + margin-top: vww(78); image { width: vww(52); height: vww(52); diff --git a/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue b/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue index 56c8f25..96f39bd 100644 --- a/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue +++ b/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue @@ -1,6 +1,10 @@ <template> <view class="weighingDevice"> - <view class="one"> + <view + class="one" + style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/weighbanner.png') no-repeat; + background-size: cover;" + > <view class="top"> <view class="top_left"> <text>{{ realTimeWeigh }}</text> @@ -14,10 +18,6 @@ 绾㈠: <u--text :type="globalinfraredStatus ? 'error' : 'success'" :text="globalinfraredStatus ? '寮傚父' : '姝e父'" size="34"></u--text> </view> - <!-- <view class=""> - 闆疯揪: - <u--text type="success" text="姝e父" size="34"></u--text> - </view> --> </view> </view> <view class="bottom" v-if="weighList.orderType == '鍐呰喘' || weighList.orderType == '杞叆'"> @@ -27,61 +27,85 @@ <text>姣涢噸:{{ primaryHair || '' }}鐨噸:{{ primarySkin || '' }}鍑�閲�:{{ primaryClean || '' }}</text> </view> </view> - <view class="bottom" v-else-if="weighList.orderType == '澶栬喘' && weighList.hair == 0"> + <!-- <view class="bottom" v-else-if="weighList.orderType == '澶栬喘' && weighList.hair == 0"> <text> 姣涢噸:{{ coalContactHair || '' }}鐨噸:{{ coalContactSkin || '' }}鍑�閲�:{{ (Number(this.coalContactHair) - Number(this.coalContactSkin)).toFixed(2) || '' }} </text> - </view> + </view> --> <view class="bottom"><text>TIP:褰撳墠鐘舵�佷负姝e父鏃跺彲浠ョО閲�</text></view> </view> - <view class="two"> - <uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁"> - <uni-tr> - <uni-th align="left">璁㈠崟缂栧彿</uni-th> - <uni-td align="right">{{ weighList.code || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">璁㈠崟绫诲瀷</uni-th> - <uni-td align="right">{{ weighList.orderType || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">璁㈠崟浣欓噺</uni-th> - <uni-td align="right">{{ weighList.orderSurplus || 0 }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">姣涢噸</uni-th> - <uni-td align="right">{{ temporaryWeighObj.hair == 0 ? weighList.hair : temporaryWeighObj.hair }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鐨噸</uni-th> - <uni-td align="right">{{ temporaryWeighObj.skin == 0 ? weighList.skin : temporaryWeighObj.skin }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鍑�閲�</uni-th> - <uni-td align="right">{{ temporaryWeighObj.clean == 0 ? weighList.clean : temporaryWeighObj.clean }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鐓ょ鍚嶇О</uni-th> - <uni-td align="right">{{ weighList.coalName || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鐭垮満鍚嶇О</uni-th> - <uni-td align="right">{{ weighList.deptName || '' }}</uni-td> - </uni-tr> - <uni-tr> - <uni-th align="left">鐓ゅ満鍚嶇О</uni-th> - <uni-td align="right">{{ weighList.filedName || '' }}</uni-td> - </uni-tr> - </uni-table> - <!-- <p>璁㈠崟缂栧彿锛歿{ weighList.code || '' }}</p> - <p>璁㈠崟绫诲瀷锛歿{ weighList.orderType || '' }}</p> - <p>璁㈠崟浣欓噺锛歿{ weighList.orderSurplus || 0 }}</p> - <p>鐨噸锛歿{ temporaryWeighObj.skin == 0 ? weighList.skin : temporaryWeighObj.skin }}</p> - <p>姣涢噸锛歿{ temporaryWeighObj.hair == 0 ? weighList.hair : temporaryWeighObj.hair }}</p> - <p>鍑�閲嶏細{{ temporaryWeighObj.clean == 0 ? weighList.clean : temporaryWeighObj.clean }}</p> - <p>鐓ょ鍚嶇О锛歿{ weighList.coalName || '' }}</p> - <p>鍗曚綅鍚嶇О锛歿{ weighList.deptName || '' }}</p> - <p>鐭垮満鍚嶇О锛歿{ weighList.filedName || '' }}</p> --> + <view class="middle-block"> + <view class="block-main" v-if="firstHairCustomernameShow"> + <view class="first-line"><combined-title title="鍘熷彂淇℃伅"></combined-title></view> + <view class="second-line"> + <view class="label-text">鐨噸</view> + <view class="input-container"><u--input placeholder="璇疯緭鍏ョ毊閲�" border="surround" v-model="weighData.coalContactSkin"></u--input></view> + <view class="unit">鍚�</view> + </view> + <view class="second-line"> + <view class="label-text">姣涢噸</view> + <view class="input-container"><u--input placeholder="璇疯緭鍏ユ瘺閲�" border="surround" v-model="weighData.coalContactHair"></u--input></view> + <view class="unit">鍚�</view> + </view> + <view class="second-line"> + <view class="label-text">鍑�閲�</view> + <view class="input-container"><u--input placeholder="璇疯緭鍏ュ噣閲�" border="surround" v-model="coalContactClean"></u--input></view> + <view class="unit">鍚�</view> + </view> + </view> + <view class="block-sideline" v-else> + <view class="first-line"><combined-title title="鍘熷彂淇℃伅"></combined-title></view> + <view class="weigh-item"> + <view class="item"> + <view class="concrete" style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/skin.png') no-repeat;background-size: cover;">鐨�</view> + <view class="num">{{ weighList.skin }}</view> + </view> + <view class="item"> + <view class="concrete" style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/hair.png') no-repeat;background-size: cover;">姣�</view> + <view class="num">{{ weighList.hair }}</view> + </view> + <view class="item"> + <view class="concrete" style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/clean.png') no-repeat;background-size: cover;">鍑�</view> + <view class="num">{{ weighList.clean }}</view> + </view> + </view> + </view> + </view> + <view class="bottom-block"> + <view class="block-main"> + <view class="main-information"> + <view class="prefix">瀹㈡埛:</view> + <view class="suffix">{{ weighList.customerName }}</view> + </view> + <view class="main-information"> + <view class="prefix">鐭垮満锛�</view> + <view class="suffix">{{ weighList.deptName || '' }}</view> + </view> + <view class="main-information"> + <view class="prefix">鐓ゅ満:</view> + <view class="suffix">{{ weighList.filedName || '' }}</view> + </view> + <view class="main-information"> + <view class="prefix">鐓ょ鍚嶇О:</view> + <view class="suffix">{{ weighList.coalName || '' }}</view> + </view> + <view class="main-information"> + <view class="prefix">鐨噸:</view> + <view class="suffix">{{ temporaryWeighObj.skin == 0 ? weighList.skin : temporaryWeighObj.skin }}</view> + </view> + <view class="main-information"> + <view class="prefix">姣涢噸:</view> + <view class="suffix">{{ temporaryWeighObj.hair == 0 ? weighList.hair : temporaryWeighObj.hair }}</view> + </view> + <view class="main-information"> + <view class="prefix">鍑�閲�:</view> + <view class="suffix">{{ temporaryWeighObj.clean == 0 ? weighList.clean : temporaryWeighObj.clean }}</view> + </view> + <view class="main-information"> + <view class="prefix">璁㈠崟浣欓噺:</view> + <view class="suffix">{{ weighList.orderSurplus || 0 }}</view> + </view> + </view> </view> <view class="three"> <!-- 鏀剧┖ --> @@ -109,27 +133,6 @@ @cancel="evacuationCancel" ></u-modal> </view> - <!-- 澶栬喘绫诲瀷鎵嬪姩杈撳叆寮圭獥 --> - <view class=""> - <u-modal :show="firstHairCustomernameShow" title="濉啓鍘熷彂閲嶉噺" @confirm="OutsourcingConfirm"> - <view class=""> - <text>姣涢噸:</text> - <view class=""><u--input placeholder="璇疯緭鍏ユ瘺閲�" v-model="coalContactHair" type="digit"></u--input></view> - <text>鐨噸:</text> - <view class=""><u--input placeholder="璇疯緭鍏ョ毊閲�" v-model="coalContactSkin" type="digit"></u--input></view> - </view> - </u-modal> - </view> - <!-- 鎵嬪姩杈撳叆涔嬪悗鐨勪簩娆″脊绐� --> - <view class="secondary-confirmation"> - <u-modal :show="secondConfirmShow" title="璇风‘璁ゅ師鍙戦噸閲�" :showCancelButton="true" @confirm="secondConfirm" @cancel="secondCancel"> - <view class="secondary-confirmation__main"> - <view class="secondary-child">姣涢噸:{{ coalContactHair }}</view> - <view class="secondary-child">鐨噸:{{ coalContactSkin }}</view> - <view class="secondary-child">鍑�閲�:{{ (Number(this.coalContactHair) - Number(this.coalContactSkin)).toFixed(2) }}</view> - </view> - </u-modal> - </view> </view> </template> @@ -137,6 +140,7 @@ let socket = null; import { webSocketUrl } from '@/api/request.js'; import { mapState, mapMutations } from 'vuex'; +import combinedTitle from '@/components/combined-title/combined-title.vue'; export default { onLoad(params) { this.takeCoalId = params.takeCoalId; @@ -149,6 +153,9 @@ this.primaryHair = params.primaryHair; this.primaryClean = params.primaryClean; this.changeweighHouseCode(params.weighHouseCode); + }, + components: { + combinedTitle }, data() { return { @@ -189,12 +196,11 @@ primaryClean: null, // 鍒ゆ柇绉伴噸鎸夐挳鏄惁鍙敤 isweigh: false, - // 澶栬喘绫诲瀷绉伴噸鍑虹幇寮圭獥濉啓姣涳紝鐨紝 + // 澶栬喘绫诲瀷绉伴噸濉啓姣涳紝鐨紝 firstHairCustomernameShow: false, coalContactHair: '', - coalContactSkin: '', + coalContactSkin: '' // 浜屾纭 - secondConfirmShow: false }; }, watch: { @@ -240,6 +246,9 @@ }, computed: { ...mapState(['globalweigh', 'globalinfraredStatus']), + coalContactClean() { + return (Number(this.weighData.coalContactHair) - Number(this.weighData.coalContactSkin)).toFixed(2); + }, token() { return uni.getStorageSync('token'); }, @@ -281,26 +290,6 @@ } }); }, - // 澶栬喘绫诲瀷杈撳叆鐐瑰嚮纭涔嬪悗浜屾纭 - OutsourcingConfirm() { - this.weighData.coalContactSkin = Number(this.coalContactSkin); - this.weighData.coalContactHair = Number(this.coalContactHair); - this.weighData.coalContactClean = Number((Number(this.coalContactHair) - Number(this.coalContactSkin)).toFixed(2)); - if (Number(this.coalContactSkin) == 0 || Number(this.coalContactHair) == 0) { - this.$u.toast('閲嶉噺涓嶈兘涓�0,璇烽噸鏂板~鍐�'); - } else { - this.secondConfirmShow = true; - } - }, - // 浜屾纭寮圭獥 鐐瑰嚮纭畾 - secondConfirm() { - this.secondConfirmShow = false; - this.firstHairCustomernameShow = false; - }, - // 浜屾寮圭獥鐐瑰嚮鍙栨秷 - secondCancel() { - this.secondConfirmShow = false; - }, /** * @纭绉伴噸绛夊緟鍚庣鎻愪緵瀹炴椂绉伴噸鎺ュ彛锛岃幏鍙栫毊閲嶏紝姣涢噸 */ @@ -326,6 +315,7 @@ }, // 纭绉伴噸鎺ュ彛 saveWeigh() { + this.weighData.coalContactClean = this.coalContactClean; this.$reqPost('saveWeigh', this.weighData, 'json') .then(res => { console.log(res, '绉伴噸鎺ュ彛'); @@ -428,14 +418,19 @@ </script> <style lang="scss" scoped> +@mixin flex { + display: flex; + justify-content: space-between; + align-items: center; +} ::v-deep.weighingDevice { width: 100%; height: 100vh; display: flex; flex-direction: column; .one { - flex: 3; - border: vww(2) solid #dddddd; + // flex: 3; + height: 290rpx; margin: vww(20) vww(20) 0 vww(20); border-radius: vww(15); .top { @@ -447,14 +442,25 @@ display: flex; align-items: center; justify-content: center; + font-size: 74rpx; + font-family: Determination Sans; + font-weight: 400; + color: #ffffff; + line-height: 69rpx; + text-shadow: 0rpx 3rpx 14rpx rgba(0, 0, 0, 0.33); } .top_right { display: flex; flex-direction: column; justify-content: center; flex: 2; + font-size: 31rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #ffffff; view { display: flex; + align-items: center; } } } @@ -465,10 +471,107 @@ justify-content: space-between; align-items: center; flex-direction: column; + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #d9e1fe; // position: relative; // top: vww(-10); } } + .middle-block { + width: 690rpx; + height: 386rpx; + margin: vww(20) vww(15) vww(13); + background: #ffffff; + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + border-radius: 20rpx; + @include flex justify-content: center; + overflow: hidden; + .block-main { + width: 650rpx; + height: 350rpx; + @include flex flex-direction: column; + margin-bottom: vww(20); + .first-line, + .second-line { + width: 90%; + height: vww(44); + .input-container { + border: 2px solid #c5c5c5; + box-shadow: 0rpx 5rpx 13rpx 0rpx #c5c5c5; + border-radius: 12rpx; + } + } + .first-line { + @include flex; + } + .second-line { + @include flex; + } + } + .block-sideline { + width: 94%; + height: vww(100); + @include flex flex-direction: column; + align-items: flex-start; + .first-line { + width: 100%; + } + .weigh-item { + width: 100%; + height: vww(36); + @include flex justify-content: space-around; + .item { + width: vww(50); + height: vww(45); + font-size: 21rpx; + font-family: Microsoft YaHei; + font-weight: 400; + color: #ffffff; + text-align: center; + line-height: vww(30); + @include flex; + .concrete { + width: vww(36); + height: vww(36); + } + .num { + font-size: 40rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #303030; + } + } + } + } + } + .bottom-block { + width: 690rpx; + height: 630rpx; + margin: 0 vww(15) vww(45) vww(15); + background: #ffffff; + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + border-radius: 20rpx; + @include flex justify-content: center; + .block-main { + width: 94%; + height: 565rpx; + margin-top: vww(22); + @include flex; + align-items: flex-start; + flex-direction: column; + .main-information { + width: 50%; + height: 28rpx; + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #303030; + @include flex; + } + } + } .two { flex: 4; border: vww(2) solid #dddddd; diff --git a/pages/driver-page/driver-index/driver-index.vue b/pages/driver-page/driver-index/driver-index.vue index 60fd3fe..e513409 100644 --- a/pages/driver-page/driver-index/driver-index.vue +++ b/pages/driver-page/driver-index/driver-index.vue @@ -1,133 +1,159 @@ <template> - <view class="driver-index"> - <view class="driver-index-body"> - <!-- 寰呴鍙栨彁鐓ゅ崟 --> - <combined-title title="寰呴鍙�"></combined-title> - <u-empty - mode="data" - icon="http://cdn.uviewui.com/uview/empty/data.png" - textSize="30" - iconSize="1000" - v-if="driverBillOfLoadingData.list1 ? (driverBillOfLoadingData.list1.length == 0 ? true : false) : true" - ></u-empty> - <card v-for="(item, index) in driverBillOfLoadingData.list1" :key="index" :name="item.id" backgroundType="2"> - <template v-slot:left> - <view class="card-left__top"> - <view> - {{ item.carNum }} - <text>寮�</text> - </view> + <view class=""> + <view class="driver-index"> + <view class="driver-index-body"> + <!-- <combined-title title="寰呴鍙�"></combined-title> --> + <!-- <u-empty + mode="data" + icon="http://cdn.uviewui.com/uview/empty/data.png" + textSize="30" + iconSize="1000" + v-if="driverBillOfLoadingData.list1 ? (driverBillOfLoadingData.list1.length == 0 ? true : false) : true" + ></u-empty> --> - <view> - {{ item.carNum - item.taskNum }} - <text>寮�</text> + <!-- 寰呴鍙栨彁鐓ゅ崟 --> + <view class="wait-collection" style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/diverbanner.png') no-repeat;background-size:contain"></view> + <view class="collection-form"> + <view class="collection-form-item" v-for="(item, index) in driverBillOfLoadingData.list1" :key="index"> + <view class="first-line"> + <view class="dispatch-receive"> + <view v-if="item.orderType == '澶栭攢' || item.orderType == '鍐呴攢' || item.orderType == '杞嚭'" class="container"> + <view class="dispatch">{{ item.deptName }}</view> + <view class="receive-icon"></view> + <view class="receive">{{ item.customerNameCopy }}</view> + </view> + <view v-else-if="item.orderType == '澶栬喘' || item.orderType == '鍐呰喘' || item.orderType == '杞叆'" class="container"> + <view class="dispatch">{{ item.customerNameCopy }}</view> + <view class="receive-icon"></view> + <view class="receive">{{ item.deptName }}</view> + </view> + </view> + <view class="point-number"> + <text class="residue">{{ item.carNum - item.taskNum }}</text> + <text>/{{ item.carNum }}</text> + </view> </view> + <view class="second-line"> + <view class="coal-name">{{ item.coalName }}</view> + <view class="black-block"></view> + <view class="coal-type">{{ item.orderType }}</view> + </view> + <view class="third-line"> + <view class="time-icon"><u-icon name="clock" color="#515151" size="40"></u-icon></view> + <view class="send-date">{{ item.sendDate }}</view> + </view> + <view class="fourth-line" @click="qiangDanBtn(item)" v-if="item.carNum - item.taskNum !== 0"><view class="button-img">绔嬪嵆鎶㈠崟</view></view> </view> - <view class="card-left__utils"> - <u-button @tap.stop="qiangDanBtn(item)" text="鎶㈠崟" type="primary" shape="circle" v-if="item.carNum - item.taskNum !== 0"></u-button> - </view> - </template> - <template v-slot:right-top> - <view class="right-top"> - <view class="card-right-top-row"> - <view> - <text>{{ item.deptName || '' }}</text> - </view> - <view> - <text>{{ item.coalName || '' }}</text> - </view> - </view> - <view class="card-right-top-row"> - <view> - <text>鍓╀綑{{ item.carNum - item.taskNum }}寮�</text> - </view> - </view> - <view class="card-right-top-row"> - <view> - <text>{{ item.filedName || '' }}</text> - </view> - </view> - <view class="card-right-top-row"> - <view> - <text>{{ item.orderCode || '' }}</text> - </view> - </view> - </view> - </template> - </card> + </view> + <!-- 鎶㈠崟鎻愮ず妯℃�佹 --> + <view class="qianDanModel"> + <u-modal :show="qiangDanShow" :title="qiangDanTitle" showCancelButton :content="qiangDanContent" @confirm="qiangDanConfirm" @cancel="qiangDanCancel"></u-modal> + </view> - <!-- 鎶㈠崟鎻愮ず妯℃�佹 --> - <view class="qianDanModel"> - <u-modal :show="qiangDanShow" :title="qiangDanTitle" showCancelButton :content="qiangDanContent" @confirm="qiangDanConfirm" @cancel="qiangDanCancel"></u-modal> - </view> - - <!-- 寰呴绾︽彁鐓ゅ崟 --> - <combined-title title="寰呴绾︽彁鐓ゅ崟"></combined-title> - <u-empty - mode="data" - icon="http://cdn.uviewui.com/uview/empty/data.png" - textSize="30" - iconSize="1000" - v-if="driverBillOfLoadingData.list3 ? (driverBillOfLoadingData.list3.length == 0 ? true : false) : true" - ></u-empty> - <view> <!-- 寰呴绾︽彁鐓ゅ崟 --> - <view class="daiYuYue" v-for="(item, index) in driverBillOfLoadingData.list3" :key="index"> - <view class="daiYuYueTop"> - <view class="tmcode">鎻愮叅鍗曠紪鍙凤細{{ item.code }}</view> - </view> - <view class="daiYuYueTable"> - <!-- <view>{{ item.deptName }}</view> - <view>{{ item.coalName }}</view> - <view>宸查绾︼細{{ item.cars }} 杞�</view> --> - <uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁"> - <uni-tr> - <uni-th align="center">鐭垮満</uni-th> - <uni-th align="center">鐓ょ</uni-th> - <uni-th align="center">鍙戣繍鏃ユ湡</uni-th> - </uni-tr> - <uni-tr> - <uni-td align="left">{{ item.deptName || '' }}</uni-td> - <uni-td align="left">{{ item.coalName || '' }}</uni-td> - <uni-td align="left">{{ item.sendDate || '' }}</uni-td> - </uni-tr> - <uni-tr style="margin: 0 auto;"> - <uni-th align="center">鐓ゅ満</uni-th> - <uni-th align="center">瀹㈡埛</uni-th> - </uni-tr> - <uni-tr style="margin: 0 auto;"> - <uni-td align="left">{{ item.filedName || '' }}</uni-td> - <uni-td align="left">{{ item.customerName || '' }}</uni-td> - </uni-tr> - </uni-table> - </view> - <view><u-button text="棰勭害" type="primary" @click="toAppointmentClick(item)"></u-button></view> - </view> - </view> + <view class="wait-appointment"> + <combined-title title="寰呴绾︽彁鐓ゅ崟"></combined-title> + <u-empty + mode="data" + icon="http://cdn.uviewui.com/uview/empty/data.png" + textSize="30" + iconSize="1000" + v-if="driverBillOfLoadingData.list3 ? (driverBillOfLoadingData.list3.length == 0 ? true : false) : true" + ></u-empty> - <!-- 宸查绾︽彁鐓ゅ崟 --> - <combined-title title="宸查绾︽彁鐓ゅ崟"></combined-title> - <u-empty - mode="data" - icon="http://cdn.uviewui.com/uview/empty/data.png" - textSize="30" - iconSize="1000" - v-if="driverBillOfLoadingData.list2 ? (driverBillOfLoadingData.list2.length == 0 ? true : false) : true" - ></u-empty> - <view class="Reserved"> - <view @click="list3CardIconClick(item)" class="haveYuYue" v-for="(item, index) in driverBillOfLoadingData.list2" :key="index"> - <view class="haveYuYueTop"> - <text class="tmcode">鎻愮叅鍗曠紪鍙凤細{{ item.code || '' }}</text> - </view> - <view class="haveYuYueCenter"> - <view>{{ item.deptName || '' }}</view> - <view>{{ item.coalName || '' }}</view> - </view> - <view class="haveYuYueBottom"> - <text>{{ item.yuYueSection || '鏃舵' }}</text> + <view class="appointment-form"> + <view class="appointment-form-item" v-for="(item, index) in driverBillOfLoadingData.list3" :key="index"> + <view class="first-line"> + <view class="main-information"> + <view class="sign">瑁�</view> + <view class="filedname"> + <text v-if="item.orderType == '澶栭攢' || item.orderType == '鍐呴攢' || item.orderType == '杞嚭'">{{ item.deptName }}</text> + <text v-else-if="item.orderType == '澶栬喘' || item.orderType == '鍐呰喘' || item.orderType == '杞叆'">{{ item.customerNameCopy }}</text> + </view> + </view> + <view class="main-divider"></view> + <view class="map-icon"> + <view><u-icon name="map" color="#4978F0" size="40"></u-icon></view> + </view> + </view> + <view class="second-line"> + <view class="main-information"> + <view class="sign">鍗�</view> + <view class="filedname"> + <text v-if="item.orderType == '澶栭攢' || item.orderType == '鍐呴攢' || item.orderType == '杞嚭'">{{ item.customerNameCopy }}</text> + <text v-else-if="item.orderType == '澶栬喘' || item.orderType == '鍐呰喘' || item.orderType == '杞叆'">{{ item.deptName }}</text> + </view> + </view> + <view class="map-icon"> + <view><u-icon name="map" color="#4978F0" size="40"></u-icon></view> + </view> + </view> + <view class="third-line"> + <view class="clock"> + <view class="time-icon"><u-icon name="clock" color="#515151" size="40"></u-icon></view> + <view class="send-date">{{ item.sendDate }}</view> + </view> + <view class="type"> + <view class="coal-name">{{ item.coalName }}</view> + <view class="order-type">{{ item.orderType }}</view> + </view> + </view> + <view class="fourth-line" @click="toAppointmentClick(item)"><view class="button-img">绔嬪嵆棰勭害</view></view> + </view> </view> </view> - <view class="white-block"></view> + + <!-- 宸查绾︽彁鐓ゅ崟 --> + <view class="Reserved"> + <combined-title title="宸查绾︽彁鐓ゅ崟"></combined-title> + <u-empty + mode="data" + icon="http://cdn.uviewui.com/uview/empty/data.png" + textSize="30" + iconSize="1000" + v-if="driverBillOfLoadingData.list2 ? (driverBillOfLoadingData.list2.length == 0 ? true : false) : true" + ></u-empty> + <view class="appointment-form"> + <view class="appointment-form-item" v-for="(item, index) in driverBillOfLoadingData.list2" :key="index" @click="list3CardIconClick(item)"> + <view class="first-line"> + <view class="main-information"> + <view class="sign">瑁�</view> + <view class="filedname"> + <text v-if="item.orderType == '澶栭攢' || item.orderType == '鍐呴攢' || item.orderType == '杞嚭'">{{ item.deptName }}</text> + <text v-else-if="item.orderType == '澶栬喘' || item.orderType == '鍐呰喘' || item.orderType == '杞叆'">{{ item.customerNameCopy }}</text> + </view> + </view> + <view class="main-divider"></view> + <view class="map-icon"> + <view><u-icon name="map" color="#4978F0" size="40"></u-icon></view> + </view> + </view> + <view class="second-line"> + <view class="main-information"> + <view class="sign">鍗�</view> + <view class="filedname"> + <text v-if="item.orderType == '澶栭攢' || item.orderType == '鍐呴攢' || item.orderType == '杞嚭'">{{ item.customerNameCopy }}</text> + <text v-else-if="item.orderType == '澶栬喘' || item.orderType == '鍐呰喘' || item.orderType == '杞叆'">{{ item.deptName }}</text> + </view> + </view> + <view class="map-icon"> + <view><u-icon name="map" color="#4978F0" size="40"></u-icon></view> + </view> + </view> + <view class="third-line"> + <view class="clock havedclock"> + <view class="time-icon"><u-icon name="clock" color="#515151" size="40"></u-icon></view> + <view class="send-date">{{ item.yuYueSection }}</view> + </view> + <view class="type"> + <view class="coal-name">{{ item.coalName }}</view> + <view class="order-type">{{ item.orderType }}</view> + </view> + </view> + </view> + </view> + <view class="white-block" v-if="driverBillOfLoadingData.list2.length !== 0">娌℃湁鏁版嵁浜�...</view> + </view> </view> </view> </view> @@ -135,8 +161,11 @@ <script> import { customerId } from '@/utils/status'; - +import combinedTitle from '@/components/combined-title/combined-title.vue'; export default { + components: { + combinedTitle + }, props: { indexdriverBillOfLoadingData: { type: Object, @@ -242,110 +271,324 @@ </script> <style lang="scss" scoped> -::v-deep.driver-index { +@mixin formItem { + width: vww(345); + height: vww(150); + margin-top: vww(5); + background: #ffffff; + box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15); + border-radius: 20rpx; + position: relative; + display: flex; + flex-direction: column; + justify-content: space-around; +} +@mixin firstLine { width: 94%; + height: vww(68); + margin: vww(18) vww(16) 0 vww(16); + display: flex; + justify-content: space-between; +} +@mixin thirdLine { + width: 30%; + height: vww(68); + margin-left: vww(15); + display: flex; + justify-content: space-between; + align-items: center; + .send-date { + width: 148rpx; + height: 24rpx; + line-height: 24rpx; + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + } + .havedclock { + width: 58% !important; + .send-date { + width: 100%; + margin-left: vww(12); + } + } +} +@mixin flex { + display: flex; + justify-content: space-between; + align-items: center; +} +@mixin fourthLine { + width: 34%; + height: vww(68); + display: flex; + align-items: center; + position: relative; + left: vww(203); + bottom: vww(3); + .button-img { + width: 100%; + height: 100%; + background: url('../../../static/image/banner/button.png') no-repeat; + background-size: cover; + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #ffffff; + text-align: center; + line-height: vww(40); + } +} +::v-deep.driver-index { + width: 100%; margin: 0 auto; // 涓讳綋 .driver-index-body { margin-bottom: vww(56); - // 鍗$墖鏍峰紡 - .card-left__top { - margin: vww(10) 0; - padding-left: vww(4); - display: flex; - flex-direction: column; - flex-wrap: wrap; - justify-content: flex-start; - height: vww(80); - text-align: center; - color: #ffffff; - &:after { - content: ''; - position: absolute; - width: 5px; - height: vww(80); - background-color: #fff; - left: vww(81); - } - view { - font-size: vww(48); - font-weight: 800; - width: 50%; + // 寰呴鍙栨彁鐓ゅ崟 + .wait-collection { + width: 100%; + height: 600rpx; + } + .collection-form { + width: vww(345); + margin: 0 vww(15); + position: relative; + top: vww(-120); + .collection-form-item { + width: vww(345); + height: vww(150); + margin-top: vww(5); + background: #ffffff; + box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15); + border-radius: 20rpx; + position: relative; display: flex; flex-direction: column; - justify-content: flex-start; - align-items: center; - text { - font-size: vww(16); - font-weight: bold; - } - } - } - .card-left__utils { - display: flex; - padding: 0 vww(15) 0 vww(15); - .u-button { - width: vww(55); - height: vww(24); - background-color: #fff; - color: #1987ff; - } - } - .right-top { - display: flex; - flex-flow: column nowrap; - align-content: space-around; - .card-right-top-row { - margin-top: vww(8); - text-align: center; - &:nth-child(1) { + justify-content: space-around; + .first-line { + width: 94%; + height: vww(68); + margin: vww(18) vww(16) 0 vww(16); display: flex; justify-content: space-between; - view { + .dispatch-receive { + width: 70%; + display: flex; + justify-content: space-between; + align-items: center; + .container { + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + } + .receive-icon { + width: 62rpx; + height: 14rpx; + border-bottom: 3px solid #275fa5; + position: relative; + &:after { + content: ''; + position: absolute; + width: 3px; + height: 10px; + background-color: #275fa5; + right: 0; + transform: rotate(-45deg); + } + } + } + .point-number { + width: 15%; + text { + font-size: 24rpx; + font-family: Microsoft YaHei; + font-weight: 400; + color: #c78a64; + } + .residue { + font-size: 40rpx; + font-family: CTCuHeiSJ; + font-weight: 400; + color: #f81414; + } + } + } + .second-line { + width: 60%; + height: vww(68); + display: flex; + justify-content: space-evenly; + align-items: center; + .coal-name { + width: 30%; + height: 30rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + position: relative; + display: flex; + justify-content: space-between; + padding: vww(2) vww(4); text-align: center; - width: 50%; + } + .black-block { + width: 2rpx; + height: 30rpx; + background: #515151; + } + .coal-type { + width: 24%; + height: 30rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + padding: vww(2) vww(4); + text-align: center; + } + } + .third-line { + width: 30%; + height: vww(68); + margin-left: vww(15); + display: flex; + justify-content: space-between; + align-items: center; + .send-date { + width: 148rpx; + height: 24rpx; + line-height: 24rpx; + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + } + } + .fourth-line { + width: 30%; + height: vww(68); + margin-left: vww(15); + display: flex; + justify-content: flex-end; + position: relative; + left: vww(190); + bottom: vww(10); + .button-img { + width: 100%; + height: 100%; + background: url('../../../static/image/banner/button.png') no-repeat; + background-size: cover; + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #ffffff; + text-align: center; + line-height: vww(33); } } } } + .wait-appointment, + .Reserved { + position: relative; + top: vww(-120); + } + .appointment-form { + width: vww(345); + margin: 0 vww(15); + .appointment-form-item { + @include formItem; + height: vww(191); + justify-content: space-between; + .first-line { + position: relative; + @include firstLine .main-information { + width: 40%; + height: vww(28); + display: flex; + justify-content: space-between; + align-items: center; - // 寰呴绾� - .daiYuYue { - margin-top: vww(24); - font-size: 16px; - font-weight: 300; - &Top { - background-color: #f5f5f5; - height: vww(60); - padding-left: vww(12); - line-height: vww(31); - border: vww(1) solid #eeeeee; - font-weight: 400; - .tmcode { - word-break: break-all; - width: 100%; - } - } - &Table { - .uni-table { - min-width: 94% !important; - .uni-table-tr { - padding: 0; - .uni-table-th { - width: 33.3%; - line-height: 58rpx; - padding: vww(5) vww(10); - color: #111111; + .sign { + width: vww(28); + height: vww(28); + line-height: vww(28); + text-align: center; + background: url('../../../static/image/banner/blueblock.png') no-repeat; + background-size: contain; + font-size: 30rpx; + font-family: Microsoft YaHei; font-weight: 400; - background: #f5f5f5; - } - .uni-table-td { - font-weight: 400; - line-height: 58rpx; - padding: vww(5) vww(10); - color: #111111; + color: #ffffff; } } + .main-divider { + width: 548rpx; + height: 1rpx; + background: #e3e3e3; + position: absolute; + top: vww(40); + left: vww(50); + } + } + .second-line { + @include firstLine margin: 0; + margin-left: vww(16); + .main-information { + width: 40%; + height: vww(28); + display: flex; + justify-content: space-between; + align-items: center; + .sign { + width: vww(28); + height: vww(28); + line-height: vww(28); + text-align: center; + background: url('../../../static/image/banner/redblock.png') no-repeat; + background-size: contain; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 400; + color: #ffffff; + } + } + } + .third-line { + @include thirdLine width: 94%; + .clock { + width: 33%; + height: vww(21); + line-height: vww(21); + @include flex; + } + .type { + width: 40%; + margin-right: vww(6); + display: flex; + justify-content: space-between; + align-items: center; + .order-type, + .coal-name { + width: 120rpx; + height: 42rpx; + line-height: 42rpx; + border: 2px solid #035cfb; + border-radius: 4rpx; + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #035cfb; + text-align: center; + } + } + } + .fourth-line { + @include fourthLine; } } } @@ -353,49 +596,10 @@ .white-block { width: 100%; height: vww(50); + line-height: vww(50); text-align: center; color: #333; margin-top: vww(10); - } - } - // 宸查绾� - .haveYuYue { - font-size: 16px; - font-weight: 300; - &Top { - background-color: #f5f5f5; - height: vww(60); - padding-left: vww(12); - line-height: vww(31); - border: vww(1) solid #eeeeee; - font-weight: 400; - .tmcode { - word-break: break-all; - width: 100%; - } - } - &Center { - border: vww(1) solid #eeeeee; - border-top: none; - display: flex; - flex: 1; - height: vww(40); - line-height: vww(40); - view { - border-right: vww(1) solid #eeeeee; - width: 33.3%; - text-align: center; - &:nth-child(3) { - border-right: none; - } - } - } - &Bottom { - border: vww(1) solid #eeeeee; - border-top: none; - height: vww(40); - line-height: vww(40); - text-align: center; } } } diff --git a/pages/driver-page/drvier-my/drvier-my.vue b/pages/driver-page/drvier-my/drvier-my.vue index 2fd3496..d47aead 100644 --- a/pages/driver-page/drvier-my/drvier-my.vue +++ b/pages/driver-page/drvier-my/drvier-my.vue @@ -1,23 +1,101 @@ <template> <view class="driver-my"> - <!-- <view class="jifen"> - <view class="zheng"> - <image src="../../../static/image/鏃犱汉鍊煎畧/缁� 38_1.png"></image> - <view class="font"> - <view class="font-top">100</view> - <view class="font-bottom">姝gН鍒�</view> + <view class="driver-banner"> + <view class="navgation">鎴戠殑</view> + <view class="avatar"> + <view class="avatar-imgage"></view> + <view class="avatar-name">{{ userInfo.name }}</view> + <view class="edit-button"><u-button type="primary" @click="editBtnClick" shape="circle" plain>缂栬緫涓汉璧勬枡</u-button></view> + </view> + <view class="personal-information"> + <view class="personal-information-block"> + <view class="block-main"> + <view class="information-line" @click=""> + <view class="line-label"> + <image src="https://mx.jzeg.cn:9095/appimg/image/banner/personalicon.png" mode="widthFix"></image> + <view class="label-text">韬唤璇佸彿</view> + </view> + <view class="information-value"> + {{ userInfo.idCard }} + <u-icon name="arrow-right" color="#999999" size="30"></u-icon> + </view> + </view> + <view class="information-line"> + <view class="line-label"> + <image src="https://mx.jzeg.cn:9095/appimg/image/banner/phonenum.png" mode="widthFix"></image> + <view class="label-text">鎵嬫満鍙�</view> + </view> + <view class="information-value"> + {{ userInfo.phone }} + <u-icon name="arrow-right" color="#999999" size="30"></u-icon> + </view> + </view> + <view class="information-line"> + <view class="line-label"> + <image src="https://mx.jzeg.cn:9095/appimg/image/banner/carnum.png" mode="widthFix"></image> + <view class="label-text">杞︾墝鍙�</view> + </view> + <view class="information-value"> + {{ userInfo.carNo }} + <u-icon name="arrow-right" color="#999999" size="30"></u-icon> + </view> + </view> + <view class="information-line"> + <view class="line-label"> + <image src="https://mx.jzeg.cn:9095/appimg/image/banner/axisnum.png" mode="widthFix"></image> + <view class="label-text">杞﹁酱鏁�</view> + </view> + <view class="information-value"> + {{ userInfo.axleNum }} + <u-icon name="arrow-right" color="#999999" size="30"></u-icon> + </view> + </view> + <view class="information-line last"> + <view class="line-label"> + <image src="https://mx.jzeg.cn:9095/appimg/image/banner/weighnum.png" mode="widthFix"></image> + <view class="label-text">浣撻噸</view> + </view> + <view class="information-value"> + {{ userInfo.weight }} + <u-icon name="arrow-right" color="#999999" size="30"></u-icon> + </view> + </view> + </view> </view> </view> - <view class="fu"> - <image src="../../../static/image/鏃犱汉鍊煎畧/缁� 38.png"></image> - <view class="font"> - <view class="font-top">-60</view> - <view class="font-bottom">璐熺Н鍒�</view> + </view> + <view class="car-information"> + <view class="information-main"> + <view class="information-body"> + <view class="car-img"> + <view class="label-title"> + <image src="https://mx.jzeg.cn:9095/appimg/image/banner/carimg.png" mode="widthFix"></image> + <view class="label-text">杞﹁締鐓х墖</view> + </view> + <view class="img-container"> + <u--image :showLoading="true" :src="userInfo.carImg != null ? BaseUrl + userInfo.carImg : ''" width="80px" height="80px" @click="imageClick(1)"> + <view slot="error" style="font-size: 24rpx;">鍔犺浇澶辫触</view> + </u--image> + </view> + </view> + <view class="car-img"> + <view class="label-title"> + <image src="https://mx.jzeg.cn:9095/appimg/image/banner/cardimg.png" mode="widthFix"></image> + <view class="label-text">琛岄┒璇佺収鐗�</view> + </view> + <view class="img-container"> + <u--image :showLoading="true" :src="userInfo.drivingImg != null ? BaseUrl + userInfo.drivingImg : ''" width="80px" height="80px" @click="imageClick(2)"> + <view slot="error" style="font-size: 24rpx;">鍔犺浇澶辫触</view> + </u--image> + </view> + </view> </view> </view> - </view> --> - - <view class="personal-information-form"> + </view> + <view class="loginout"> + <view class="loginout-main"><u-button text="閫�鍑虹櫥褰�" type="primary" @click="logout" shape="circle" plain></u-button></view> + </view> + <!-- <view class="personal-information-form"> <u--form labelPosition="left" :model="userInfo" ref="form1"> <u-form-item labelWidth="20%" label="濮撳悕" ref="item1"> <u--input v-model="userInfo.name" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input> @@ -51,9 +129,9 @@ <view class="push-information-button"> <u-button text="淇敼涓汉璧勬枡" type="primary" @click="editBtnClick"></u-button> <u-button text="閫�鍑虹櫥褰�" type="primary" @click="logout"></u-button> - </view> - <!-- <view class="statistics"><u-button text="鍙戣繍缁熻" type="primary" @click="statistics"></u-button></view> --> - </view> + </view> --> + <!-- <view class="statistics"><u-button text="鍙戣繍缁熻" type="primary" @click="statistics"></u-button></view> --> + <!-- </view> --> <!-- 鍥剧墖棰勮寮瑰嚭妗� --> <view class="previewImage-container"> @@ -199,7 +277,7 @@ uploadFilePromise(url, num) { return new Promise((resolve, reject) => { let a = uni.uploadFile({ - url: BaseUrl + '/admin/sys-file/uploadUnToken', // 浠呬负绀轰緥锛岄潪鐪熷疄鐨勬帴鍙e湴鍧� + url: BaseUrl + '/admin/sys-file/uploadUnToken', filePath: url, name: 'file', // formData: { @@ -271,77 +349,173 @@ </script> <style lang="scss" scoped> +@mixin flex { + display: flex; + justify-content: space-between; + align-items: center; +} .statistics { margin-top: vww(10); margin-bottom: vww(10); } ::v-deep.driver-my { - width: 90%; + width: 100%; margin: 0 auto; padding-bottom: vww(60); - // 绉垎 - .jifen { - margin-top: vww(24); + .driver-banner { width: 100%; - height: vww(120); - background: #ffffff; - border-radius: 8px; - box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16); - display: flex; - flex-direction: row; - align-items: center; - .zheng { - width: 50%; + height: 430rpx; + background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%); + background-size: contain; + position: fixed; + top: 0; + .navgation { + width: 77rpx; + height: 37rpx; + font-size: 40rpx; + font-family: Adobe Heiti Std; + font-weight: normal; + color: #ffffff; + line-height: 69rpx; + margin: vww(60) auto; + } + .avatar { + width: 100%; + height: 430rpx; display: flex; - image { - margin-left: vww(32); - width: vww(48); - height: vww(48); + align-items: center; + position: fixed; + top: 0; + .avatar-imgage { + width: 98rpx; + height: 98rpx; + background: #fcfcfc; + border: 4px solid #ffffff; + border-radius: 50%; + margin-left: vww(18); } - .font { - margin-left: vww(8); - &-top { - font-size: vww(28); - font-weight: 700; - text-align: left; - color: #1987ff; - } - &-bottom { - font-size: 14px; - font-weight: 400; - text-align: left; - color: #111111; - } + .avatar-name { + width: 136rpx; + height: 32rpx; + font-size: 34rpx; + font-family: Source Han Sans CN; + font-weight: bold; + color: #ffffff; + margin-left: vww(17); + } + .edit-button { + position: relative; + left: vww(94); + top: vww(4); } } - .fu { - width: 50%; + .personal-information { + width: 100%; display: flex; - image { - margin-left: vww(32); - width: vww(48); - height: vww(48); - } - .font { - margin-left: vww(8); - &-top { - font-size: vww(28); - font-weight: 700; - text-align: left; - color: #ff4233; + justify-content: center; + position: relative; + top: vww(20); + &-block { + width: 690rpx; + height: 478rpx; + background: #ffffff; + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + border-radius: 20rpx; + display: flex; + flex-direction: column; + justify-content: space-between; + .block-main { + width: 636rpx; + margin: vww(10) vww(14); } - &-bottom { - font-size: 14px; - font-weight: 400; - text-align: left; - color: #111111; + + .information-line { + @include flex width: 636rpx; + height: vww(45); + border-bottom: 1rpx solid #f0f1f6; + .line-label { + width: 188rpx; + height: 90rpx; + @include flex image { + width: 50rpx; + height: 50rpx; + } + .label-text { + width: 118rpx; + font-size: 30rpx; + font-family: Source Han Sans CN; + font-weight: 400; + color: #000000; + line-height: 85rpx; + } + } + .information-value { + width: vww(125); + @include flex; + font-size: 30rpx; + font-family: Source Han Sans CN; + font-weight: 400; + color: #000000; + line-height: 85rpx; + } + } + .last { + border-bottom: 0; } } } } + .car-information { + width: 100%; + position: relative; + top: vww(410); + @include flex justify-content: center; + .information-main { + width: 690rpx; + height: 552rpx; + background: #ffffff; + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + border-radius: 20rpx; + .information-body { + width: 636rpx; + margin: vww(15) vww(14); + @include flex flex-direction: column; + .car-img { + height: 246rpx; + width: 100%; + @include flex flex-direction: column; + align-items: flex-start; + .label-title { + @include flex width: 200rpx; + height: 100rpx; + .label-text { + width: 200rpx; + height: 50rpx; + } + image { + width: 50rpx; + height: 50rpx; + } + } + } + } + } + } + .loginout { + width: 100%; + height: 74rpx; + @include flex; + justify-content: center; + position: relative; + bottom: vww(-430); + .loginout-main { + width: 84%; + } + } // 琛ㄥ崟 .personal-information-form { - // margin-top: vww(24); + margin-top: vww(200); + .push-information-button { display: flex; margin: vww(20) auto 0; diff --git a/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue b/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue index fed08d0..756f545 100644 --- a/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue +++ b/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue @@ -1,72 +1,86 @@ <template> <view class="freightForwarder-index"> <view class="freightForwarder-index-body"> - <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" v-if="orderPlanData.length == 0"></u-empty> - <card v-for="(item, index) in orderPlanData" :key="index" :name="item.id" @click="cardBodyClick(item)" backgroundType="1"> - <template v-slot:left> - <view class="card-left__top"> - <text>{{ item.carNum }}</text> - 寮� - </view> - <view class="card-left__utils"><u-button text="杞彂" type="primary" @tap.stop="forwardClick(item)" shape="circle"></u-button></view> - </template> - <template v-slot:right-top> - <view class="right-top"> - <view class="card-right-top-row"> - <view> - <text>杞彂鍓╀綑锛歿{ item.carNumSurplusHuodai || 0 }}</text> + <view class="wait-collection" style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/customerbanner.png') no-repeat;background-size:contain"></view> + <view style="position: relative;top: -120px;"> + <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" v-if="orderPlanData.length == 0"></u-empty> + </view> + <view class="collection-form"> + <view class="collection-form-item" v-for="(item, index) in orderPlanData" :key="index" @click="cardBodyClick(item)"> + <view class="first-line"> + <view class="dispatch-receive"> + <view v-if="item.orderType == '澶栭攢' || item.orderType == '鍐呴攢' || item.orderType == '杞嚭'" class="container"> + <view class="dispatch">{{ item.deptName }}</view> + <view class="receive-icon"></view> + <view class="receive">{{ item.customerName }}</view> </view> - <view> - <text>{{ item.coalName || '' }}</text> + <view v-else-if="item.orderType == '澶栬喘' || item.orderType == '鍐呰喘' || item.orderType == '杞叆'" class="container"> + <view class="dispatch">{{ item.customerName }}</view> + <view class="receive-icon"></view> + <view class="receive">{{ item.deptName }}</view> </view> </view> - </view> - </template> - <template v-slot:right-bottom> - <view class="code"> - <text>缂栧彿锛歿{ item.orderCode || '' }}</text> - </view> - </template> - </card> - </view> - <view class="history-numbers"> - <combined-title title="鍘嗗彶鎻愮叅鍗�"></combined-title> - <scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-Y" @scrolltolower="historyScrolltolower"> - <view class="history-information" v-for="(item, index) in historyCoalData" :key="index" @click="faYundetail(item)"> - <view class="history-sendate"> - <text>鍙戣繍鏃ユ湡 {{ item.sendDate || '' }}</text> - <view class="view-more"> - <text style="color: #449cfc;">璇︽儏</text> - <view class="arrow-right"><u-icon name="arrow-right" size="40" color="#449cfc"></u-icon></view> + <view class="point-number"> + <text class="residue">{{ item.carNumSurplusHuodai || 0 }}</text> + <text>/{{ item.carNum }}</text> </view> </view> - <view class="history-main"> - <view class="main-left"> - <view class="history-body"> - <text>鎵�灞炲崟浣� {{ item.deptName || '' }}</text> - </view> - <view class="history-body"> - <text>鐓ゅ満鍚嶇О {{ item.filedName || '' }}</text> - </view> - <view class="history-body"> - <text>鐓ょ鍚嶇О {{ item.coalName || '' }}</text> - </view> - </view> - <view class="main-right"> - <view class="history-body"> - <text style="word-break: break-all;">璁㈠崟缂栧彿 {{ item.orderCode || '' }}</text> - </view> - <view class="history-body"> - <text>璁㈠崟鍓╀綑閲� {{ item.carNumSurplus || '' }}</text> - </view> - <view class="history-body"> - <text>鎻愮叅鍗曚釜鏁� {{ item.tmCount || '' }}</text> - </view> - </view> + <view class="second-line"> + <view class="coal-name">{{ item.coalName }}</view> + <view class="black-block"></view> + <view class="coal-type">{{ item.orderType }}</view> </view> + <view class="third-line"> + <view class="time-icon"><u-icon name="clock" color="#515151" size="40"></u-icon></view> + <view class="send-date">{{ item.sendDate }}</view> + </view> + <view class="fourth-line"><u-button text="杞彂" type="primary" @tap.stop="forwardClick(item)" shape="circle"></u-button></view> </view> - <view class="more_text" v-if="showMoreData && historyCoalData.length !== 0">娌℃湁鏁版嵁浜�...</view> - </scroll-view> + </view> + <!-- <view class="transparent"> + <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" v-if="orderPlanData.length == 0"></u-empty> + </view> --> + <view class="history-numbers"> + <combined-title title="鍘嗗彶鎻愮叅鍗�"></combined-title> + <scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-Y" @scrolltolower="historyScrolltolower"> + <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" textSize="30" iconSize="1000" v-if="historyCoalData.length === 0"></u-empty> + <view class="history-information" v-for="(item, index) in historyCoalData" :key="index" @click="faYundetail(item)"> + <view class="first"> + <view class="">{{ item.deptName || '' }}</view> + <view class=""><u-icon name="arrow-right" color="#999999" size="40"></u-icon></view> + </view> + <view class="second"> + <view class="">{{ item.coalName || '' }}</view> + <view class="order-type" v-if="item.orderType">{{ item.orderType || '' }}</view> + </view> + <view class="third"> + <view class="third-line"> + <view class="third-line_text">棰嗗彇鏁帮細</view> + <view class="third-line_num">{{ item.cars2 }}</view> + </view> + <view class="third-line"> + <view class="third-line_text">鍓╀綑鏁帮細</view> + <view class="third-line_num" v-if="roleType == 1">{{ item.carNumSurplus1 }}</view> + <view class="third-line_num" v-else-if="roleType == 2">{{ item.carNumSurplus }}</view> + </view> + <view class="third-line"> + <view class="third-line_text">鎻愮叅鍗曚釜鏁帮細锛�</view> + <view class="third-line_num">{{ item.tmCount }}</view> + </view> + </view> + <view class="fourth"> + <view class="fourth-icon"><u-icon name="clock" color="#999999" size="40"></u-icon></view> + <view class="senddate">{{ item.sendDate }}</view> + </view> + <view class="fourth"> + <view class="fourth-icon"><u-icon name="clock" color="#999999" size="40"></u-icon></view> + <view class="senddate">{{ item.orderCode }}</view> + </view> + </view> + <view class="more_text" v-if="showMoreData && historyCoalData.length !== 0">娌℃湁鏁版嵁浜�...</view> + <view class="white-block"></view> + </scroll-view> + </view> </view> </view> </template> @@ -198,106 +212,230 @@ </script> <style lang="scss" scoped> +@mixin flex { + display: flex; + justify-content: space-between; + align-items: center; +} .scroll-Y { height: 900rpx; - background-color: #e2e2e2; - border-radius: vww(10); - margin-bottom: vww(55); - .history-information { - width: 94%; - display: flex; - flex-direction: column; - border: 1px solid #e2e2e2; - background-color: #fff; - border-radius: vww(10); - margin: vww(10); - .history-sendate { - height: vww(40); - border-bottom: 1px solid #e2e2e2; - line-height: vww(40); - padding-left: vww(8); - position: relative; - .view-more { - display: flex; - width: vww(80); - position: absolute; - right: vww(10); - top: vww(-1); - .arrow-right { - position: absolute; - right: vww(27); - top: vww(12); - } - } - } - .history-main { - min-height: vww(120); - display: flex; - justify-content: space-between; - .main-left, - .main-right { - width: 45%; - display: flex; - flex-direction: column; - justify-content: space-between; - padding: vww(4) vww(4); - } - } - } .more_text { color: #333; font-size: 24rpx; text-align: center; } } -::v-deep.freightForwarder-index { - width: 94%; - margin: 0 auto; - // 涓讳綋 - .freightForwarder-index-body { - margin-bottom: vww(10); - - // 鍗$墖鏍峰紡 - .card-left__top { - margin-top: vww(26); - text-align: center; - color: #ffffff; - text { - font-size: vww(48); - font-weight: 800; - } +.history-numbers { + width: 100%; + position: relative; + top: vww(-110); + .history-information { + width: 690rpx; + height: 398rpx; + margin: vww(10) vww(15); + background: #ffffff; + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + border-radius: 20rpx; + @include flex flex-direction: column; + align-items: flex-start; + justify-content: space-evenly; + overflow: hidden; + .first { + width: 96%; + height: 34rpx; + font-size: 32rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #303030; + @include flex; + margin: vww(10) vww(10) 0; } - .card-left__utils { - display: flex; - padding: 0 vww(15) 0 vww(15); - .u-button { - width: vww(55); - height: vww(24); - background-color: #fff; - color: #1987ff; - } - } - .right-top { - display: flex; - flex-flow: column nowrap; - align-content: space-around; - .card-right-top-row { - margin-top: vww(26); + .second { + width: 50%; + height: 31rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + margin: vww(10) vww(10) 0; + @include flex; + .order-type { + color: #035cfb; + border: 2px solid #035cfb; + border-radius: 4rpx; + padding: vww(2) vww(4); text-align: center; - &:nth-child(1) { - display: flex; - justify-content: space-between; - view { - text-align: center; - width: 50%; - } + } + } + .third { + width: 96%; + height: 31rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + margin: vww(10) vww(10) 0; + @include flex; + .third-line { + @include flex; + &_text { + color: #919090; + } + &_num { + color: #035cfb; } } } - - .code { - margin-top: vww(2); - text-align: center; + .fourth { + width: 50%; + height: 31rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + margin: vww(10) vww(10) 0; + @include flex; + } + } +} +::v-deep.freightForwarder-index { + width: 100%; + margin: 0 auto; + // 涓讳綋 + .freightForwarder-index-body { + .wait-collection { + width: 100%; + height: 600rpx; + position: relative; + top: vww(-10); + z-index: 0; + } + .collection-form { + width: vww(345); + margin: 0 vww(15); + position: relative; + top: vww(-144); + .collection-form-item { + width: 690rpx; + height: 300rpx; + background: #ffffff; + box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15); + border-radius: 20rpx; + overflow: hidden; + @include flex flex-direction: column; + position: relative; + align-items: flex-start; + margin-top: vww(10); + .first-line { + width: 94%; + height: vww(30); + margin: vww(10) vww(16) 0 vww(16); + display: flex; + justify-content: space-between; + .dispatch-receive { + width: 70%; + display: flex; + justify-content: space-between; + align-items: center; + .container { + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + } + .receive-icon { + width: 62rpx; + height: 14rpx; + border-bottom: 3px solid #275fa5; + position: relative; + &:after { + content: ''; + position: absolute; + width: 3px; + height: 10px; + background-color: #275fa5; + right: 0; + transform: rotate(-45deg); + } + } + } + .point-number { + width: 15%; + text { + font-size: 24rpx; + font-family: Microsoft YaHei; + font-weight: 400; + color: #c78a64; + } + .residue { + font-size: 40rpx; + font-family: CTCuHeiSJ; + font-weight: 400; + color: #f81414; + } + } + } + .second-line { + width: 60%; + height: vww(30); + display: flex; + justify-content: space-evenly; + align-items: center; + .coal-name { + width: 30%; + height: 30rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + position: relative; + display: flex; + justify-content: space-between; + } + .black-block { + width: 2rpx; + height: 30rpx; + background: #515151; + } + .coal-type { + width: 24%; + height: 30rpx; + font-size: 30rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + } + } + .third-line { + width: 40%; + height: vww(30); + margin-left: vww(15); + display: flex; + justify-content: space-between; + align-items: center; + .send-date { + width: 148rpx; + height: 24rpx; + line-height: 24rpx; + font-size: 28rpx; + font-family: Microsoft YaHei; + font-weight: 300; + color: #515151; + } + } + .fourth-line { + width: 40%; + height: vww(30); + @include flex; + position: relative; + left: 60%; + bottom: vww(10); + .u-button { + width: vww(50); + height: vww(30); + } + } + } } } } diff --git a/pages/freight-forwarder-page/freightForwarder-my/freightForwarder-my.vue b/pages/freight-forwarder-page/freightForwarder-my/freightForwarder-my.vue index 0d5ea35..0d7dbb5 100644 --- a/pages/freight-forwarder-page/freightForwarder-my/freightForwarder-my.vue +++ b/pages/freight-forwarder-page/freightForwarder-my/freightForwarder-my.vue @@ -1,19 +1,33 @@ <template> <view class="freightForwarder-my"> - <view class="fleet-container"> - <combined-title title="鎴戠殑杞﹂槦" @rightText="addFleet"> - <template v-slot:rightText> - <text>娣诲姞</text> - </template> - </combined-title> - <view class="fleet-list"> - <u-swipe-action> - <u-cell-group :border="false"> - <u-swipe-action-item :options="options1" v-for="(item, index) in fleetData" :index="index" :name="item.id" :key="index" @click="deleteFleetClick"> - <u-cell :title="item.name" :value="item.userSijisum + '杈�'" @click="tofleetDetails(item.id)"></u-cell> - </u-swipe-action-item> - </u-cell-group> - </u-swipe-action> + <view class="driver-banner"><view class="navgation">鎴戠殑</view></view> + <view class="personal-information"> + <view class="personal-information-block"> + <view class="block-main"> + <view class="fleet-container"> + <combined-title title="鎴戠殑杞﹂槦" @rightText="addFleet"> + <template v-slot:rightText> + <text>娣诲姞</text> + </template> + </combined-title> + <view class="fleet-list"> + <u-swipe-action> + <u-cell-group :border="false"> + <u-swipe-action-item + :options="options1" + v-for="(item, index) in fleetData" + :index="index" + :name="item.id" + :key="index" + @click="deleteFleetClick" + > + <u-cell :title="item.name" :value="item.userSijisum + '杈�'" @click="tofleetDetails(item.id)"></u-cell> + </u-swipe-action-item> + </u-cell-group> + </u-swipe-action> + </view> + </view> + </view> </view> </view> @@ -36,7 +50,9 @@ </view> <!-- <view class="statistics"><u-button text="鍙戣繍缁熻" type="primary" @click="statistics"></u-button></view> --> - <view class="utils"><u-button text="閫�鍑虹櫥褰�" type="primary" @click="logout"></u-button></view> + <view class="utils-button"> + <view class="utils"><u-button text="閫�鍑虹櫥褰�" type="primary" @click="logout"></u-button></view> + </view> <!-- 鍒犻櫎杞﹂槦妯℃�佹 --> <view class="deleteFleetModal"> @@ -186,10 +202,66 @@ margin-top: vww(10); margin-bottom: vww(10); } +.utils-button { + margin-top: vww(35); + .utils { + margin-top: vww(10); + margin-bottom: vww(10); + /deep/ .u-button { + width: 631rpx; + height: 74rpx; + border: 2px solid #3b56eb; + background-color: #fff; + color: #3b56eb; + border-radius: 37rpx 37rpx 37rpx 37rpx; + } + } +} ::v-deep.freightForwarder-my { - width: 94%; - margin: 0 auto; - + width: 100%; + margin: vww(90) auto; + .driver-banner { + width: 100%; + height: 430rpx; + background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%); + background-size: contain; + position: fixed; + top: 0; + .navgation { + width: 77rpx; + height: 37rpx; + font-size: 40rpx; + font-family: Adobe Heiti Std; + font-weight: normal; + color: #ffffff; + line-height: 69rpx; + margin: vww(60) auto; + } + } + .personal-information { + width: 100%; + display: flex; + align-items: center; + justify-content: space-around; + flex-direction: column; + position: relative; + top: vww(20); + &-block { + width: 690rpx; + min-height: 478rpx; + background: #ffffff; + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + border-radius: 20rpx; + display: flex; + flex-direction: column; + justify-content: space-between; + margin-top: vww(8); + .block-main { + width: 636rpx; + margin: vww(10) vww(14); + } + } + } // 鏂板缓杞﹂槦 .addNewGroup { .u-popup { diff --git a/pages/public-page/forward/forward.vue b/pages/public-page/forward/forward.vue index 76b4d16..e1a090f 100644 --- a/pages/public-page/forward/forward.vue +++ b/pages/public-page/forward/forward.vue @@ -197,7 +197,7 @@ if (value.length != 0) { let tempforwardSurplus = this.forwardSurplus; let tempcarNumSurplus1 = this.carNumSurplus1; - let jhorderplanforward = () => { + if (v.id) { this.$reqGet('jhorderplanforward', { forwardId: v.id }).then(res => { this.personalForward = res.data; // 璁$畻鍏ㄩ儴杞彂鏁� @@ -212,8 +212,16 @@ } tempforwardSurplus = 0; }); - }; - jhorderplanforward(); + } else { + if (this.roleType == 1) { + this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.jhOrderPlanForwardList[index].carNum, this.carNumSurplus1); + } + tempcarNumSurplus1 = 0; + if (this.roleType == 2) { + this.jhOrderPlanForwardList[index].carNum = this.allrelay(this.jhOrderPlanForwardList[index].carNum, this.forwardSurplus); + } + tempforwardSurplus = 0; + } // 閫夋嫨涓�涓悗鍏朵綑绂佹澶嶉�� this.jhOrderPlanForwardList.forEach((v, i) => { if (i !== index) { diff --git a/pages/public-page/message/message.vue b/pages/public-page/message/message.vue index e84b822..d9c6938 100644 --- a/pages/public-page/message/message.vue +++ b/pages/public-page/message/message.vue @@ -6,8 +6,10 @@ <u-swipe-action> <u-swipe-action-item :options="options1" v-for="(item, index) in messageList" :key="item.id" @click="deleteMsg(item, index)"> <u-badge :isDot="true" type="error" v-if="item.status !== 1"></u-badge> - <u-cell size="large" :title="item.title" :label="item.content" @click="messageDetails(item, index)"> - <view class="prepose" slot="icon"><u-icon name="file-text" color="#a299a0" size="80"></u-icon></view> + <u-cell size="large" :title="item.title" @click="messageDetails(item, index)"> + <u-parse :content="item.content" slot="label"></u-parse> + + <view class="prepose" slot="icon"><u-icon name="volume" color="#035CFB" size="40"></u-icon></view> </u-cell> </u-swipe-action-item> </u-swipe-action> @@ -120,19 +122,39 @@ }; </script> -<style lang="scss"> +<style lang="scss" scoped> +@mixin flex { + display: flex; + justify-content: center; + align-items: center; +} ::v-deep .u-list-item- { position: relative; .u-badge { position: absolute; - right: vww(10); - top: vww(10); + left: vww(45); + top: vww(13); } +} +::v-deep .u-cell__title-text { + height: 32rpx; + font-size: 34rpx !important; + font-family: PingFang SC; + font-weight: bold; + color: #2f2f2f !important; + margin-bottom: vww(18); } .message-body { width: 100%; height: 100%; - + .prepose { + width: 89rpx; + height: 89rpx; + background: rgba(237, 240, 245, 0.75); + border-radius: 50%; + @include flex; + margin-right: vww(32); + } .more-text { color: #999; font-size: 24rpx; diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue index 83b66ea..3921269 100644 --- a/pages/tabbar-page/index-tabbar/index-tabbar.vue +++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue @@ -1,7 +1,9 @@ <template> <view> <view class="search-bar"> - <view class="icon-box" @click="messagePage"><u-icon name="chat" color="#000" size="50"></u-icon></view> + <view class="icon-body"> + <view class="icon-box" @click="messagePage"><u-icon name="chat" color="#fff" size="50"></u-icon></view> + </view> </view> <customer-index v-if="roleType == 1" ref="customerIndexRef" :orderPlanDataStore="orderPlanDataStore"></customer-index> <freight-forwarder-index @@ -16,6 +18,7 @@ <u-modal :show="messagePushShow" :title="messageList.title" @confirm="messageconfirm"> <view class="slot-content"><rich-text :nodes="messageList.content"></rich-text></view> </u-modal> + <view class="white-block"></view> </view> </template> @@ -270,21 +273,30 @@ </script> <style lang="scss" scoped> +.white-block { + width: 100%; + height: vww(50); + margin-top: vww(10); +} .search-bar { height: vww(20); width: 96%; - margin: vww(3) auto; - position: relative; - .icon-box { - width: vww(30); - height: vww(30); - background-color: #eee; - border-radius: 50%; - display: flex; - justify-content: center; - align-items: center; - position: absolute; - right: vww(-3); + position: fixed; + top: vww(96); + right: vww(32); + z-index: 1; + .icon-body { + position: relative; + .icon-box { + width: vww(30); + height: vww(30); + border-radius: 50%; + display: flex; + justify-content: center; + align-items: center; + position: absolute; + right: vww(-3); + } } } </style> diff --git a/static/image/banner/blueblock.png b/static/image/banner/blueblock.png new file mode 100644 index 0000000..180d6fc --- /dev/null +++ b/static/image/banner/blueblock.png Binary files differ diff --git a/static/image/banner/button.png b/static/image/banner/button.png new file mode 100644 index 0000000..426e197 --- /dev/null +++ b/static/image/banner/button.png Binary files differ diff --git a/static/image/banner/redblock.png b/static/image/banner/redblock.png new file mode 100644 index 0000000..cdea3f1 --- /dev/null +++ b/static/image/banner/redblock.png Binary files differ diff --git a/static/image/emptydata/emptydata.png b/static/image/emptydata/emptydata.png deleted file mode 100644 index b546a1b..0000000 --- a/static/image/emptydata/emptydata.png +++ /dev/null Binary files differ diff --git a/static/tabBar-icon/home.png b/static/tabBar-icon/home.png new file mode 100644 index 0000000..2d028e1 --- /dev/null +++ b/static/tabBar-icon/home.png Binary files differ diff --git a/static/tabBar-icon/homeblue.png b/static/tabBar-icon/homeblue.png new file mode 100644 index 0000000..5e01d06 --- /dev/null +++ b/static/tabBar-icon/homeblue.png Binary files differ diff --git a/store/index.js b/store/index.js index 45b8230..f6dcee1 100644 --- a/store/index.js +++ b/store/index.js @@ -6,15 +6,15 @@ const userRoleTabbar = { first: [{ pagePath: 'pages/tabbar-page/index-tabbar/index-tabbar', - iconPath: '../../static/tabBar-icon/Gfayun.png', - selectedIconPath: '../../static/tabBar-icon/Bfayun1.png', + iconPath: '../../static/tabBar-icon/home.png', + selectedIconPath: '../../static/tabBar-icon/homeblue.png', text: '棣栭〉' }, { pagePath: 'pages/customer-page/customer-my/faYunstatistics/faYunstatistics', iconPath: '../../static/tabBar-icon/statistics.png', selectedIconPath: '../../static/tabBar-icon/statisticsactive.png', - text: '鍙戣繍缁熻' + text: '缁熻' }, { pagePath: 'pages/tabbar-page/myPage-tabbar/myPage-tabbar', @@ -25,15 +25,15 @@ ], second: [{ pagePath: 'pages/tabbar-page/index-tabbar/index-tabbar', - iconPath: '../../static/tabBar-icon/Ghome.png', - selectedIconPath: '../../static/tabBar-icon/Bhome.png', + iconPath: '../../static/tabBar-icon/home.png', + selectedIconPath: '../../static/tabBar-icon/homeblue.png', text: '棣栭〉' }, { pagePath: 'pages/customer-page/customer-my/faYunstatistics/faYunstatistics', iconPath: '../../static/tabBar-icon/statistics.png', selectedIconPath: '../../static/tabBar-icon/statisticsactive.png', - text: '鍙戣繍缁熻' + text: '缁熻' }, { pagePath: 'pages/tabbar-page/myPage-tabbar/myPage-tabbar', @@ -56,7 +56,21 @@ // 鍏ㄥ眬weihousecode globalweighHouseCode: '', // 鍏ㄥ眬绾㈠鐘舵�� - globalinfraredStatus: false + globalinfraredStatus: false, + // 鍙告満淇敼涓汉淇℃伅 + globaluserInfo: { + phone: '', + name: '', + username: '', + type: 3, + idCard: '', + carNo: '', + carImg: '', + drivingImg: '', + axleNum: '', + weight: '', + userId: '' + }, }, mutations: { lengthchange(state, payload) { @@ -93,6 +107,9 @@ // 鏀瑰彉绾㈠鐘舵�� changeinfraredStatus(state, payload) { state.globalinfraredStatus = payload + }, + changeuserInfo(state, payload) { + state.globaluserInfo = payload } } }) -- Gitblit v1.9.1