From c8fe78fea78d092b434924ef46630d27d671e80a Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 23 十二月 2024 18:12:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
screen/src/assets/images/LogisticsCenter/ic_daohuo@2x.png | 0
screen/src/assets/images/LogisticsCenter/ic_peizai_sel@2x.png | 0
screen/src/assets/images/LogisticsCenter/ic_peizai@2x.png | 0
screen/index.html | 2
screen/src/views/videoUrl/Videos.vue | 4
screen/vite.config.js | 4
screen/src/assets/images/LogisticsCenter/ic_cangku@2x.png | 0
screen/src/assets/images/LogisticsCenter/ic_yunshu@2x.png | 0
screen/src/assets/images/LogisticsCenter/ic_dingdan@2x.png | 0
h5/pages/staff/task/index.vue | 2
screen/src/assets/images/LogisticsCenter/ic_cangku_sel@2x.png | 0
screen/src/assets/images/LogisticsCenter/ic_huowu@2x.png | 0
screen/src/api/index.js | 36
screen/src/assets/images/LogisticsCenter/ic_fahuodi@2x.png | 0
screen/src/assets/images/LogisticsCenter/ic_hetong.png | 0
screen/src/views/LogisticsCenter.vue | 1347 +++++++++++----------
screen/src/assets/images/LogisticsCenter/ic_daohuo_sel@2x.png | 0
screen/src/assets/images/LogisticsCenter/ic_dingdan_sel@2x.png | 0
screen/src/assets/images/LogisticsCenter/ic_dangqian@2x.png | 0
h5/pages/staff/task/vDangetAppr.vue | 2138 +++++++++++++++++-----------------
screen/src/components/Map.vue | 33
screen/src/views/EnergyConsum.vue | 2
screen/src/assets/images/LogisticsCenter/ic_yunshu_sel@2x.png | 0
23 files changed, 1,837 insertions(+), 1,731 deletions(-)
diff --git a/h5/pages/staff/task/index.vue b/h5/pages/staff/task/index.vue
index 3939f35..cd48fd1 100644
--- a/h5/pages/staff/task/index.vue
+++ b/h5/pages/staff/task/index.vue
@@ -370,6 +370,8 @@
uni.navigateTo({
url: `/pages/staff/task/vDangetAppr?id=${objId}&objType=${objType}&info=${info}`
})
+ }else if (objType === 7) {
+ window.open('https://atwl.ahzyssl.com/dps/web/wxAuth/loginV2?oaId=atwl&redirectId=index')
} else if (objType === 6 || objType === 5) {
uni.navigateTo({
url: `/pages/staff/task/driver?id=${objId}&objType=${objType}&info=${info}`
diff --git a/h5/pages/staff/task/vDangetAppr.vue b/h5/pages/staff/task/vDangetAppr.vue
index c4b2238..a5caa3e 100644
--- a/h5/pages/staff/task/vDangetAppr.vue
+++ b/h5/pages/staff/task/vDangetAppr.vue
@@ -9,7 +9,7 @@
class="status_img"></image>
<view>{{ info.content }}</view>
<view class="file_list">
- <view class="img_wrap" v-for="item,i in info.submitFileList" :key="item.id">
+ <view class="img_wrap" v-for="item, i in info.submitFileList" :key="item.id">
<image v-if="item.type == 0" :src="item.fileurlFull" @click="priviewImage(item.fileurlFull)" mode="widthFix"
class="img" />
<view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap">
@@ -39,7 +39,7 @@
<view class="value primaryColor" :class="{ red: info.status == 2 }">{{ statusMap[info.status] }}</view>
</view>
<view class="item">
- <view class="label">{{info.status == '1' ? '鏁存敼鍓�' : '瑙嗛/鍥剧墖'}}</view>
+ <view class="label">{{ info.status == '1' ? '鏁存敼鍓�' : '瑙嗛/鍥剧墖' }}</view>
<view class="value">
<view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.dealBeforeFileList" :key="i">
<image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull"
@@ -71,7 +71,7 @@
</view>
</view>
<view class="item">
- <view class="label">{{info.status == '1' ? '鏁存敼璇存槑' : '閫�鍥炶鏄�'}}</view>
+ <view class="label">{{ info.status == '1' ? '鏁存敼璇存槑' : '閫�鍥炶鏄�' }}</view>
<view class="value">{{ info.checkInfo }}</view>
</view>
</view>
@@ -88,13 +88,13 @@
v-if="info.status == 2 && index == flowList.length - 1" />
<image v-if="item.avatar != null && item.avatar != ''" :src="item.avatar" class="img" alt="" />
<!-- <image v-else src="@/static/default_avatar.png" class="img" mode=""></image> -->
- <span v-if="item.avatar == null || item.avatar == ''"
- class="img_name">{{ item.createUserName && item.createUserName.slice(0, 1) }}</span>
+ <span v-if="item.avatar == null || item.avatar == ''" class="img_name">{{ item.createUserName &&
+ item.createUserName.slice(0, 1) }}</span>
</view>
<view class="content">
<view class="head">
<view class="event">{{ item.title }}</view>
- <view class="time" v-if="item.createDate">{{ item.createDate.slice(0,16) }}</view>
+ <view class="time" v-if="item.createDate">{{ item.createDate.slice(0, 16) }}</view>
</view>
<view class="line">
<view class="company">
@@ -114,11 +114,11 @@
</view>
</view>
<view class="emyty"></view>
- <view class="main_footer" v-if="info.status==0&& info.checkUserId == userInfo.memberId">
- <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn" @click="handleBack">閫�鍥�</view>
- <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn transfer" @click="handleTransfer">
+ <view class="main_footer" v-if="info.status == 0 && info.checkUserId == userInfo.memberId">
+ <view v-if="info.status == 0 && info.checkUserId == userInfo.memberId" class="btn" @click="handleBack">閫�鍥�</view>
+ <view v-if="info.status == 0 && info.checkUserId == userInfo.memberId" class="btn transfer" @click="handleTransfer">
杞氦</view>
- <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn handle" @click="handleOpen">澶勭悊
+ <view v-if="info.status == 0 && info.checkUserId == userInfo.memberId" class="btn handle" @click="handleOpen">澶勭悊
</view>
</view>
@@ -265,7 +265,7 @@
<view class="mt24 placeholder6">鍏眥{ memberList.length }}鏉℃暟鎹�</view>
<view v-for="item in memberList" :key="item.id" class="line">
<image v-if="item.faceImgFull" :src="item.faceImgFull" class="avatar"></image>
- <span v-else class="img_name">{{item.name && item.name.slice(0,1)}}</span>
+ <span v-else class="img_name">{{ item.name && item.name.slice(0, 1) }}</span>
<view class="content">
<view class="info">
<text class="name">{{ item.name }}</text>
@@ -304,669 +304,956 @@
</template>
<script>
- import {
- hiddenDangerDetail,
- uploadUrl,
- findHiddenAreaMemberList,
- dealHiddenDanger,
- transferHiddenDanger,
- findListFlowDanger
- } from '@/api';
- import dayjs from 'dayjs';
- export default {
- data() {
- return {
- isShowBack: false,
- param: {},
- info: {},
- userInfo: this.$store.state.userInfo,
- flowList: [],
+import {
+ hiddenDangerDetail,
+ uploadUrl,
+ findHiddenAreaMemberList,
+ dealHiddenDanger,
+ transferHiddenDanger,
+ findListFlowDanger
+} from '@/api'
+import dayjs from 'dayjs'
+export default {
+ data() {
+ return {
+ isShowBack: false,
+ param: {},
+ info: {},
+ userInfo: this.$store.state.userInfo,
+ flowList: [],
- id: '',
- type: '',
- cateList: [{
- name: '璁垮鐢宠',
- id: 0
- }, {
- name: '璁垮鎶ュ',
- id: 1
- }, {
- name: '鐢ㄨ溅鐢宠',
- id: 2
- }, {
- name: '闅愭偅闅忔墜鎷�',
- id: 3
- }, {
- name: '鐗╂祦杞︾敵璇�',
- id: 4
- }],
- statusMap: {
- 0: '寰呭鐞�',
- 1: '宸叉暣鏀�',
- 2: '宸查��鍥�',
- 3: '宸叉嫆缁�',
- 4: '宸插彇娑�',
- 5: '浠栦汉鎴栫',
- 6: '浠栦汉鎷掔粷'
- },
+ id: '',
+ type: '',
+ cateList: [{
+ name: '璁垮鐢宠',
+ id: 0
+ }, {
+ name: '璁垮鎶ュ',
+ id: 1
+ }, {
+ name: '鐢ㄨ溅鐢宠',
+ id: 2
+ }, {
+ name: '闅愭偅闅忔墜鎷�',
+ id: 3
+ }, {
+ name: '鐗╂祦杞︾敵璇�',
+ id: 4
+ }],
+ statusMap: {
+ 0: '寰呭鐞�',
+ 1: '宸叉暣鏀�',
+ 2: '宸查��鍥�',
+ 3: '宸叉嫆缁�',
+ 4: '宸插彇娑�',
+ 5: '浠栦汉鎴栫',
+ 6: '浠栦汉鎷掔粷'
+ },
- showUpload: false,
- isShowBackDate: false,
- submitFileList: [],
- backParam: {},
+ showUpload: false,
+ isShowBackDate: false,
+ submitFileList: [],
+ backParam: {},
- isShowHandle: false,
- handleParam: {},
- isShowHandleDate: false,
- showUploadBe: false,
- showUploadAf: false,
- dealBeforeFileList: [],
- dealAfterFileList: [],
+ isShowHandle: false,
+ handleParam: {},
+ isShowHandleDate: false,
+ showUploadBe: false,
+ showUploadAf: false,
+ dealBeforeFileList: [],
+ dealAfterFileList: [],
- isShowTransfer: false,
- transferParam: {},
- transferModel: {},
- pagination: {
- page: 1,
- capacity: 50
- },
- memberList: [],
+ isShowTransfer: false,
+ transferParam: {},
+ transferModel: {},
+ pagination: {
+ page: 1,
+ capacity: 50
+ },
+ memberList: [],
- videoPlay: false,
- videoContext: null,
- videoUrl: ''
- };
- },
- onLoad(op) {
- uni.setStorageSync('ywinfo',{})
- this.id = op.id;
- this.getDetail();
- },
- methods: {
- priviewImage(url) {
- uni.previewImage({
- urls: [url]
- });
- },
- screenChange(e) {
- let fullScreen = e.detail.fullScreen; // 鍊紅rue涓鸿繘鍏ュ叏灞忥紝false涓洪��鍑哄叏灞�
- if (!fullScreen) {
- //閫�鍑哄叏灞�
- this.videoPlay = false; // 闅愯棌鎾斁鐩掑瓙
- }
- },
- closeVideo() {
- this.videoPlay = false
- this.videoContext = null
- },
- videoClick(item, i) {
- this.videoPlay = true;
- this.videoContext = uni.createVideoContext("myvideo", this); // this杩欎釜鏄疄渚嬪璞� 蹇呬紶
- this.videoUrl = item.fileurlFull;
- this.videoContext.requestFullScreen();
- this.$nextTick(() => {
- this.videoContext.play();
- })
-
- },
- handleOpen() {
- this.isShowHandle = true;
- const submitFileList = this.info.submitFileList || []
- this.dealBeforeFileList = [...submitFileList]
- this.submitFileList = [...submitFileList];
- this.$set(this.handleParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'));
- },
- handleBack() {
- this.isShowBack = true;
- // const submitFileList = this.info.submitFileList || []
- // this.submitFileList = [...submitFileList];
- this.dealBeforeFileList = []
- this.$set(this.backParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'));
- },
- getDetail() {
- const {
- id
- } = this;
- hiddenDangerDetail(id).then(res => {
- this.info = res.data;
- });
- findListFlowDanger({
- hiddenDangerId: id
- }).then(res => {
- this.flowList = res.data;
- });
- },
- onSubmit() {
- const {
- dealBeforeFileList,
- dealAfterFileList,
- handleParam
- } = this;
- if (dealBeforeFileList.length === 0)
- return uni.showToast({
- title: '璇蜂笂浼犳暣鏀瑰墠鍥剧墖鎴栬棰�',
- icon: 'none'
- });
- if (dealAfterFileList.length === 0)
- return uni.showToast({
- title: '璇蜂笂浼犳暣鏀瑰悗鍥剧墖鎴栬棰�',
- icon: 'none'
- });
- dealHiddenDanger({
- ...handleParam,
- dealBeforeFileList: dealBeforeFileList,
- dealAfterFileList: dealAfterFileList,
- status: 1,
- id: this.id
- }).then(res => {
- if (res.code === 200) {
- this.isShowHandle = false;
- setTimeout(() => {
- uni.showToast({
- title: '鎿嶄綔鎴愬姛',
- icon: 'success'
- });
- });
- uni.navigateBack();
- }
- });
- },
- enterTransfer() {
- const {
- transferParam,
- id
- } = this;
- if (!transferParam.id)
- return uni.showToast({
- title: '璇烽�夋嫨浜哄憳',
- icon: 'none'
- });
- transferHiddenDanger({
- checkUserId: transferParam.id,
- id
- }).then(res => {
- if (res.code === 200) {
- this.isShowTransfer = false;
- setTimeout(() => {
- uni.showToast({
- title: '鎿嶄綔鎴愬姛',
- icon: 'success'
- });
- });
- uni.navigateBack();
- }
- });
- },
- changeMem(e) {
- this.transferParam = e;
- },
- handleTransfer() {
- this.isShowTransfer = true;
- this.getMemList();
- },
- getMemList() {
- findHiddenAreaMemberList({
- ...this.transferModel,
- id: this.info.areaId,
- ...this.pagination
- }).then(res => {
- this.memberList = res.data || [];
- });
- },
- confirmBackDate(e) {
- this.$set(this.backParam, 'dealTime', dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'));
- this.isShowBackDate = false;
- },
- confirmHandleDate(e) {
- this.$set(this.handleParam, 'dealTime', dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'));
- this.isShowHandleDate = false;
- },
- onSubBack() {
- const {
- dealBeforeFileList,
- backParam
- } = this;
- dealHiddenDanger({
- ...backParam,
- dealBeforeFileList,
- status: 2,
- id: this.id
- }).then(res => {
- if (res.code === 200) {
- this.isShowBack = false;
- setTimeout(() => {
- uni.showToast({
- title: '鎿嶄綔鎴愬姛',
- icon: 'success'
- });
- });
- uni.navigateBack();
- }
- });
- },
- fileDel(str, i) {
- this[str].splice(i, 1);
- },
- uploadBeImage() {
- this.showUploadBe = false;
- let token = uni.getStorageSync('token') || '';
- uni.chooseImage({
- count: 9,
- success: chooseImageRes => {
- uni.showLoading({
- title: '涓婁紶涓�',
- mask: true
- });
- const tempFilePaths = chooseImageRes.tempFilePaths;
- let imgs = tempFilePaths.map((value, index) => {
- return {
- name: 'file',
- uri: value
- };
- });
- uni.uploadFile({
- url: `${uploadUrl}`,
- files: imgs,
- name: 'file',
- formData: {
- folder: 'HIDDEN_DANGER_FILE'
- },
- header: {
- Dm_user_token: token
- },
- success: uploadFileRes => {
- let res = JSON.parse(uploadFileRes.data);
- let obj = {
- type: '0'
- };
- if (res.data && res.data.length > 0) {
- res.data.forEach(i => {
- i.type = 0;
- i.fileurl = i.imgaddr;
- i.fileurlFull = i.url;
- this.dealBeforeFileList.push(i);
- });
- }
- },
- fail(err) {
- console.log('err', err);
- },
- complete() {
- uni.hideLoading();
- // if (i === chooseImageRes.tempFilePaths.length - 1) {
- // uni.hideLoading()
- // }
- }
- });
- }
- });
- },
- uploadBeVideo() {
- this.showUploadBe = false;
- let token = uni.getStorageSync('token') || '';
- uni.chooseVideo({
- success: chooseImageRes => {
- uni.showLoading({
- title: '涓婁紶涓�',
- mask: true
- });
- uni.uploadFile({
- url: `${uploadUrl}`,
- filePath: chooseImageRes.tempFilePath,
- header: {
- Dm_user_token: token
- },
- name: 'file',
- formData: {
- folder: 'HIDDEN_DANGER_FILE'
- },
- success: uploadFileRes => {
- let res = JSON.parse(uploadFileRes.data);
- if (res.data && res.data.length > 0) {
- res.data.forEach(i => {
- i.type = 1;
- i.fileurl = i.imgaddr;
- i.fileurlFull = i.url;
- this.dealBeforeFileList.push(i);
- });
- }
- },
- complete() {
- uni.hideLoading();
- }
- });
- }
- });
- },
- uploadAfImage() {
- this.showUploadAf = false;
- let token = uni.getStorageSync('token') || '';
- uni.chooseImage({
- count: 9,
- success: chooseImageRes => {
- uni.showLoading({
- title: '涓婁紶涓�',
- mask: true
- });
- const tempFilePaths = chooseImageRes.tempFilePaths;
- let imgs = tempFilePaths.map((value, index) => {
- return {
- name: 'file',
- uri: value
- };
- });
- uni.uploadFile({
- url: `${uploadUrl}`,
- files: imgs,
- name: 'file',
- formData: {
- folder: 'HIDDEN_DANGER_FILE'
- },
- header: {
- Dm_user_token: token
- },
- success: uploadFileRes => {
- let res = JSON.parse(uploadFileRes.data);
- if (res.data && res.data.length > 0) {
- res.data.forEach(i => {
- i.type = 0;
- i.fileurl = i.imgaddr;
- i.fileurlFull = i.url;
- this.dealAfterFileList.push(i);
- });
- }
- },
- fail(err) {
- console.log('err', err);
- },
- complete() {
- uni.hideLoading();
- // if (i === chooseImageRes.tempFilePaths.length - 1) {
- // uni.hideLoading()
- // }
- }
- });
- }
- });
- },
- uploadAfVideo() {
- this.showUploadAf = false;
- let token = uni.getStorageSync('token') || '';
- uni.chooseVideo({
- success: chooseImageRes => {
- uni.showLoading({
- title: '涓婁紶涓�',
- mask: true
- });
- uni.uploadFile({
- url: `${uploadUrl}`,
- filePath: chooseImageRes.tempFilePath,
- header: {
- Dm_user_token: token
- },
- name: 'file',
- formData: {
- folder: 'HIDDEN_DANGER_FILE'
- },
- success: uploadFileRes => {
- let res = JSON.parse(uploadFileRes.data);
- if (res.data && res.data.length > 0) {
- res.data.forEach(i => {
- i.type = 1;
- i.fileurl = i.imgaddr;
- i.fileurlFull = i.url;
- this.dealAfterFileList.push(i);
- });
- }
- },
- complete() {
- uni.hideLoading();
- }
- });
- }
- });
- },
- uploadImage() {
- this.showUpload = false;
- let token = uni.getStorageSync('token') || '';
- uni.chooseImage({
- count: 9,
- success: chooseImageRes => {
- uni.showLoading({
- title: '涓婁紶涓�',
- mask: true
- });
- const tempFilePaths = chooseImageRes.tempFilePaths;
- let imgs = tempFilePaths.map((value, index) => {
- return {
- name: 'file',
- uri: value
- };
- });
- uni.uploadFile({
- url: `${uploadUrl}`,
- files: imgs,
- name: 'file',
- formData: {
- folder: 'HIDDEN_DANGER_FILE'
- },
- header: {
- Dm_user_token: token
- },
- success: uploadFileRes => {
- let res = JSON.parse(uploadFileRes.data);
- if (res.data && res.data.length > 0) {
- res.data.forEach(i => {
- i.type = 0;
- i.fileurl = i.imgaddr;
- i.fileurlFull = i.url;
- this.submitFileList.push(i);
- });
- }
- },
- fail(err) {
- console.log('err', err);
- },
- complete() {
- uni.hideLoading();
- // if (i === chooseImageRes.tempFilePaths.length - 1) {
- // uni.hideLoading()
- // }
- }
- });
- }
- });
- },
- uploadVideo() {
- this.showUpload = false;
- let token = uni.getStorageSync('token') || '';
- uni.chooseVideo({
- success: chooseImageRes => {
- uni.showLoading({
- title: '涓婁紶涓�',
- mask: true
- });
- uni.uploadFile({
- url: `${uploadUrl}`,
- filePath: chooseImageRes.tempFilePath,
- header: {
- Dm_user_token: token
- },
- name: 'file',
- formData: {
- folder: 'HIDDEN_DANGER_FILE'
- },
- success: uploadFileRes => {
- let res = JSON.parse(uploadFileRes.data);
- if (res.data && res.data.length > 0) {
- res.data.forEach(i => {
- i.type = 1;
- i.fileurl = i.imgaddr;
- i.fileurlFull = i.url;
- this.submitFileList.push(i);
- });
- }
- },
- complete() {
- uni.hideLoading();
- }
- });
- }
- });
- }
+ videoPlay: false,
+ videoContext: null,
+ videoUrl: ''
}
- };
+ },
+ onLoad(op) {
+ uni.setStorageSync('ywinfo', {})
+ this.id = op.id
+ this.getDetail()
+ },
+ methods: {
+ priviewImage(url) {
+ uni.previewImage({
+ urls: [url]
+ })
+ },
+ screenChange(e) {
+ let fullScreen = e.detail.fullScreen // 鍊紅rue涓鸿繘鍏ュ叏灞忥紝false涓洪��鍑哄叏灞�
+ if (!fullScreen) {
+ //閫�鍑哄叏灞�
+ this.videoPlay = false // 闅愯棌鎾斁鐩掑瓙
+ }
+ },
+ closeVideo() {
+ this.videoPlay = false
+ this.videoContext = null
+ },
+ videoClick(item, i) {
+ this.videoPlay = true
+ this.videoContext = uni.createVideoContext("myvideo", this) // this杩欎釜鏄疄渚嬪璞� 蹇呬紶
+ this.videoUrl = item.fileurlFull
+ this.videoContext.requestFullScreen()
+ this.$nextTick(() => {
+ this.videoContext.play()
+ })
+ },
+ handleOpen() {
+ this.isShowHandle = true
+ const submitFileList = this.info.submitFileList || []
+ this.dealBeforeFileList = [...submitFileList]
+ this.submitFileList = [...submitFileList]
+ this.$set(this.handleParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'))
+ },
+ handleBack() {
+ this.isShowBack = true
+ // const submitFileList = this.info.submitFileList || []
+ // this.submitFileList = [...submitFileList];
+ this.dealBeforeFileList = []
+ this.$set(this.backParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'))
+ },
+ getDetail() {
+ const {
+ id
+ } = this
+ hiddenDangerDetail(id).then(res => {
+ this.info = res.data
+ })
+ findListFlowDanger({
+ hiddenDangerId: id
+ }).then(res => {
+ this.flowList = res.data
+ })
+ },
+ onSubmit() {
+ const {
+ dealBeforeFileList,
+ dealAfterFileList,
+ handleParam
+ } = this
+ if (dealBeforeFileList.length === 0)
+ return uni.showToast({
+ title: '璇蜂笂浼犳暣鏀瑰墠鍥剧墖鎴栬棰�',
+ icon: 'none'
+ })
+ if (dealAfterFileList.length === 0)
+ return uni.showToast({
+ title: '璇蜂笂浼犳暣鏀瑰悗鍥剧墖鎴栬棰�',
+ icon: 'none'
+ })
+ dealHiddenDanger({
+ ...handleParam,
+ dealBeforeFileList: dealBeforeFileList,
+ dealAfterFileList: dealAfterFileList,
+ status: 1,
+ id: this.id
+ }).then(res => {
+ if (res.code === 200) {
+ this.isShowHandle = false
+ setTimeout(() => {
+ uni.showToast({
+ title: '鎿嶄綔鎴愬姛',
+ icon: 'success'
+ })
+ })
+ uni.navigateBack()
+ }
+ })
+ },
+ enterTransfer() {
+ const {
+ transferParam,
+ id
+ } = this
+ if (!transferParam.id)
+ return uni.showToast({
+ title: '璇烽�夋嫨浜哄憳',
+ icon: 'none'
+ })
+ transferHiddenDanger({
+ checkUserId: transferParam.id,
+ id
+ }).then(res => {
+ if (res.code === 200) {
+ this.isShowTransfer = false
+ setTimeout(() => {
+ uni.showToast({
+ title: '鎿嶄綔鎴愬姛',
+ icon: 'success'
+ })
+ })
+ uni.navigateBack()
+ }
+ })
+ },
+ changeMem(e) {
+ this.transferParam = e
+ },
+ handleTransfer() {
+ this.isShowTransfer = true
+ this.getMemList()
+ },
+ getMemList() {
+ findHiddenAreaMemberList({
+ ...this.transferModel,
+ id: this.info.areaId,
+ ...this.pagination
+ }).then(res => {
+ this.memberList = res.data || []
+ })
+ },
+ confirmBackDate(e) {
+ this.$set(this.backParam, 'dealTime', dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'))
+ this.isShowBackDate = false
+ },
+ confirmHandleDate(e) {
+ this.$set(this.handleParam, 'dealTime', dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'))
+ this.isShowHandleDate = false
+ },
+ onSubBack() {
+ const {
+ dealBeforeFileList,
+ backParam
+ } = this
+ dealHiddenDanger({
+ ...backParam,
+ dealBeforeFileList,
+ status: 2,
+ id: this.id
+ }).then(res => {
+ if (res.code === 200) {
+ this.isShowBack = false
+ setTimeout(() => {
+ uni.showToast({
+ title: '鎿嶄綔鎴愬姛',
+ icon: 'success'
+ })
+ })
+ uni.navigateBack()
+ }
+ })
+ },
+ fileDel(str, i) {
+ this[str].splice(i, 1)
+ },
+ uploadBeImage() {
+ this.showUploadBe = false
+ let token = uni.getStorageSync('token') || ''
+ uni.chooseImage({
+ count: 9,
+ success: chooseImageRes => {
+ uni.showLoading({
+ title: '涓婁紶涓�',
+ mask: true
+ })
+ const tempFilePaths = chooseImageRes.tempFilePaths
+ let imgs = tempFilePaths.map((value, index) => {
+ return {
+ name: 'file',
+ uri: value
+ }
+ })
+ uni.uploadFile({
+ url: `${uploadUrl}`,
+ files: imgs,
+ name: 'file',
+ formData: {
+ folder: 'HIDDEN_DANGER_FILE'
+ },
+ header: {
+ Dm_user_token: token
+ },
+ success: uploadFileRes => {
+ let res = JSON.parse(uploadFileRes.data)
+ let obj = {
+ type: '0'
+ }
+ if (res.data && res.data.length > 0) {
+ res.data.forEach(i => {
+ i.type = 0
+ i.fileurl = i.imgaddr
+ i.fileurlFull = i.url
+ this.dealBeforeFileList.push(i)
+ })
+ }
+ },
+ fail(err) {
+ console.log('err', err)
+ },
+ complete() {
+ uni.hideLoading()
+ // if (i === chooseImageRes.tempFilePaths.length - 1) {
+ // uni.hideLoading()
+ // }
+ }
+ })
+ }
+ })
+ },
+ uploadBeVideo() {
+ this.showUploadBe = false
+ let token = uni.getStorageSync('token') || ''
+ uni.chooseVideo({
+ success: chooseImageRes => {
+ uni.showLoading({
+ title: '涓婁紶涓�',
+ mask: true
+ })
+ uni.uploadFile({
+ url: `${uploadUrl}`,
+ filePath: chooseImageRes.tempFilePath,
+ header: {
+ Dm_user_token: token
+ },
+ name: 'file',
+ formData: {
+ folder: 'HIDDEN_DANGER_FILE'
+ },
+ success: uploadFileRes => {
+ let res = JSON.parse(uploadFileRes.data)
+ if (res.data && res.data.length > 0) {
+ res.data.forEach(i => {
+ i.type = 1
+ i.fileurl = i.imgaddr
+ i.fileurlFull = i.url
+ this.dealBeforeFileList.push(i)
+ })
+ }
+ },
+ complete() {
+ uni.hideLoading()
+ }
+ })
+ }
+ })
+ },
+ uploadAfImage() {
+ this.showUploadAf = false
+ let token = uni.getStorageSync('token') || ''
+ uni.chooseImage({
+ count: 9,
+ success: chooseImageRes => {
+ uni.showLoading({
+ title: '涓婁紶涓�',
+ mask: true
+ })
+ const tempFilePaths = chooseImageRes.tempFilePaths
+ let imgs = tempFilePaths.map((value, index) => {
+ return {
+ name: 'file',
+ uri: value
+ }
+ })
+ uni.uploadFile({
+ url: `${uploadUrl}`,
+ files: imgs,
+ name: 'file',
+ formData: {
+ folder: 'HIDDEN_DANGER_FILE'
+ },
+ header: {
+ Dm_user_token: token
+ },
+ success: uploadFileRes => {
+ let res = JSON.parse(uploadFileRes.data)
+ if (res.data && res.data.length > 0) {
+ res.data.forEach(i => {
+ i.type = 0
+ i.fileurl = i.imgaddr
+ i.fileurlFull = i.url
+ this.dealAfterFileList.push(i)
+ })
+ }
+ },
+ fail(err) {
+ console.log('err', err)
+ },
+ complete() {
+ uni.hideLoading()
+ // if (i === chooseImageRes.tempFilePaths.length - 1) {
+ // uni.hideLoading()
+ // }
+ }
+ })
+ }
+ })
+ },
+ uploadAfVideo() {
+ this.showUploadAf = false
+ let token = uni.getStorageSync('token') || ''
+ uni.chooseVideo({
+ success: chooseImageRes => {
+ uni.showLoading({
+ title: '涓婁紶涓�',
+ mask: true
+ })
+ uni.uploadFile({
+ url: `${uploadUrl}`,
+ filePath: chooseImageRes.tempFilePath,
+ header: {
+ Dm_user_token: token
+ },
+ name: 'file',
+ formData: {
+ folder: 'HIDDEN_DANGER_FILE'
+ },
+ success: uploadFileRes => {
+ let res = JSON.parse(uploadFileRes.data)
+ if (res.data && res.data.length > 0) {
+ res.data.forEach(i => {
+ i.type = 1
+ i.fileurl = i.imgaddr
+ i.fileurlFull = i.url
+ this.dealAfterFileList.push(i)
+ })
+ }
+ },
+ complete() {
+ uni.hideLoading()
+ }
+ })
+ }
+ })
+ },
+ uploadImage() {
+ this.showUpload = false
+ let token = uni.getStorageSync('token') || ''
+ uni.chooseImage({
+ count: 9,
+ success: chooseImageRes => {
+ uni.showLoading({
+ title: '涓婁紶涓�',
+ mask: true
+ })
+ const tempFilePaths = chooseImageRes.tempFilePaths
+ let imgs = tempFilePaths.map((value, index) => {
+ return {
+ name: 'file',
+ uri: value
+ }
+ })
+ uni.uploadFile({
+ url: `${uploadUrl}`,
+ files: imgs,
+ name: 'file',
+ formData: {
+ folder: 'HIDDEN_DANGER_FILE'
+ },
+ header: {
+ Dm_user_token: token
+ },
+ success: uploadFileRes => {
+ let res = JSON.parse(uploadFileRes.data)
+ if (res.data && res.data.length > 0) {
+ res.data.forEach(i => {
+ i.type = 0
+ i.fileurl = i.imgaddr
+ i.fileurlFull = i.url
+ this.submitFileList.push(i)
+ })
+ }
+ },
+ fail(err) {
+ console.log('err', err)
+ },
+ complete() {
+ uni.hideLoading()
+ // if (i === chooseImageRes.tempFilePaths.length - 1) {
+ // uni.hideLoading()
+ // }
+ }
+ })
+ }
+ })
+ },
+ uploadVideo() {
+ this.showUpload = false
+ let token = uni.getStorageSync('token') || ''
+ uni.chooseVideo({
+ success: chooseImageRes => {
+ uni.showLoading({
+ title: '涓婁紶涓�',
+ mask: true
+ })
+ uni.uploadFile({
+ url: `${uploadUrl}`,
+ filePath: chooseImageRes.tempFilePath,
+ header: {
+ Dm_user_token: token
+ },
+ name: 'file',
+ formData: {
+ folder: 'HIDDEN_DANGER_FILE'
+ },
+ success: uploadFileRes => {
+ let res = JSON.parse(uploadFileRes.data)
+ if (res.data && res.data.length > 0) {
+ res.data.forEach(i => {
+ i.type = 1
+ i.fileurl = i.imgaddr
+ i.fileurlFull = i.url
+ this.submitFileList.push(i)
+ })
+ }
+ },
+ complete() {
+ uni.hideLoading()
+ }
+ })
+ }
+ })
+ }
+ }
+}
</script>
<style lang="scss">
- page {
- background-color: #f7f7f7;
+page {
+ background-color: #f7f7f7;
- ::v-deep .u-popup__content {
- border-top: 1rpx solid #cccccc;
- }
+ ::v-deep .u-popup__content {
+ border-top: 1rpx solid #cccccc;
+ }
+}
+
+.main_app {
+ background-color: #fff;
+ padding-bottom: 0;
+
+ .flow_title {
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #222222;
+ margin-bottom: 24rpx;
}
- .main_app {
- background-color: #fff;
- padding-bottom: 0;
+ .flow_wrap {
+ padding: 30rpx 0 90rpx;
- .flow_title {
- font-weight: 600;
- font-size: 32rpx;
- color: #222222;
- margin-bottom: 24rpx;
- }
+ .list {
+ .item {
+ display: flex;
+ margin-bottom: 48rpx;
+ position: relative;
- .flow_wrap {
- padding: 30rpx 0 90rpx;
+ .separate {
+ position: absolute;
+ width: 4rpx;
+ height: 100%;
+ background-color: #eeeeee;
+ left: 40rpx;
+ transform: translate(-50%, 0);
+ top: 80rpx;
+ }
- .list {
- .item {
- display: flex;
- margin-bottom: 48rpx;
+ .avatar {
+ width: 80rpx;
+ height: 80rpx;
position: relative;
+ margin-right: 20rpx;
- .separate {
- position: absolute;
- width: 4rpx;
- height: 100%;
- background-color: #eeeeee;
- left: 40rpx;
- transform: translate(-50%, 0);
- top: 80rpx;
- }
-
- .avatar {
+ .img {
width: 80rpx;
height: 80rpx;
- position: relative;
- margin-right: 20rpx;
+ border-radius: 50%;
+ }
- .img {
- width: 80rpx;
- height: 80rpx;
- border-radius: 50%;
+ .status {
+ width: 28rpx;
+ height: 28rpx;
+ border-radius: 50%;
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ z-index: 999;
+ }
+ }
+
+ .content {
+ flex: 1;
+
+ .head {
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 4rpx;
+
+ .event {
+ font-size: 30rpx;
}
+
+ .time {
+ font-size: 26rpx;
+ color: #999999;
+ }
+ }
+
+ .name_wrap {
+ font-size: 26rpx;
+ color: #777777;
.status {
- width: 28rpx;
- height: 28rpx;
- border-radius: 50%;
- position: absolute;
- right: 0;
- bottom: 0;
- z-index: 999;
+ color: $uni-color-primary;
}
}
- .content {
- flex: 1;
-
- .head {
- display: flex;
- justify-content: space-between;
- margin-bottom: 4rpx;
-
- .event {
- font-size: 30rpx;
- }
-
- .time {
- font-size: 26rpx;
- color: #999999;
- }
- }
-
- .name_wrap {
+ .line {
+ .company {
font-size: 26rpx;
color: #777777;
-
- .status {
- color: $uni-color-primary;
- }
}
- .line {
- .company {
- font-size: 26rpx;
- color: #777777;
- }
-
- .status-green {
- color: $uni-color-primary;
- }
-
- .status-red {
- color: red;
- }
+ .status-green {
+ color: $uni-color-primary;
}
- .remark {
- margin-top: 12rpx;
- background-color: #f7f7f7;
- padding: 14rpx 20rpx;
- border-radius: 8rpx;
- font-size: 26rpx;
- color: #666666;
- line-height: 36rpx;
+ .status-red {
+ color: red;
}
}
- .carbon {
- display: flex;
- width: 590rpx;
- overflow-x: auto;
+ .remark {
margin-top: 12rpx;
+ background-color: #f7f7f7;
+ padding: 14rpx 20rpx;
+ border-radius: 8rpx;
+ font-size: 26rpx;
+ color: #666666;
+ line-height: 36rpx;
+ }
+ }
- .carbon_item {
- text-align: center;
- flex-shrink: 0;
- width: 100rpx;
+ .carbon {
+ display: flex;
+ width: 590rpx;
+ overflow-x: auto;
+ margin-top: 12rpx;
- image {
- width: 60rpx;
- height: 60rpx;
- margin: 0 auto;
- }
+ .carbon_item {
+ text-align: center;
+ flex-shrink: 0;
+ width: 100rpx;
- view {
- font-size: 26rpx;
- color: #777777;
- }
+ image {
+ width: 60rpx;
+ height: 60rpx;
+ margin: 0 auto;
+ }
+
+ view {
+ font-size: 26rpx;
+ color: #777777;
}
}
+ }
- &:nth-last-child(1) {
- .separate {
- height: 0;
- }
+ &:nth-last-child(1) {
+ .separate {
+ height: 0;
}
}
}
}
+ }
+
+ .adduser_list_item_ipt1_upload {
+ width: 156rpx;
+ height: 156rpx;
+ margin-right: 20rpx;
+ border: 2rpx solid #e5e5e5;
+ background: #f7f7f7;
+ color: #666666;
+ font-size: 22rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+
+ &:nth-of-type(4n) {
+ margin-right: 0;
+ }
+
+ .close {
+ position: absolute;
+ right: -20rpx;
+ top: -20rpx;
+ z-index: 9999;
+ }
+
+ image {
+ width: 100%;
+ height: 100%;
+ }
+
+ video {
+ width: 100%;
+ max-height: 156rpx;
+ }
+ }
+
+ .module_list {
+ .title {
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #222222;
+ padding-top: 28rpx;
+ }
+
+ .item {
+ padding: 30rpx 0;
+ border-bottom: 1rpx solid #e5e5e5;
+
+ .label {
+ font-size: 26rpx;
+ color: #666666;
+ margin-bottom: 20rpx;
+ }
+
+ .value {
+ font-size: 30rpx;
+ display: flex;
+ align-items: center;
+
+ .avatar {
+ margin-right: 20rpx;
+ width: 120rpx;
+ height: 120rpx;
+ border-radius: 8rpx;
+ border: 2rpx solid #e5e5e5;
+ }
+
+ .info {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ font-size: 26rpx;
+ color: #666666;
+
+ .name {
+ font-size: 30rpx;
+ color: #333333;
+ }
+ }
+ }
+ }
+ }
+
+ .status_wrap {
+ position: relative;
+ padding: 30rpx 0;
+
+ .name {
+ font-weight: 600;
+ font-size: 32rpx;
+ margin-bottom: 20rpx;
+ color: $uni-color-primary;
+ }
+
+ .desc {
+ font-size: 26rpx;
+ color: #ed4545;
+ }
+
+ .gray {
+ color: #999999;
+ }
+
+ .file_list {
+ display: flex;
+ margin-bottom: 20rpx;
+ flex-wrap: wrap;
+
+ .img_wrap {
+ margin-top: 24rpx;
+ width: 156rpx;
+ height: 156rpx;
+ border: 2rpx solid #e5e5e5;
+ background: #f7f7f7;
+ color: #666666;
+ font-size: 22rpx;
+ display: flex;
+ border-radius: 4rpx;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+ margin-right: 20rpx;
+ flex-shrink: 0;
+
+ &:nth-of-type(4n) {
+ margin-right: 0;
+ }
+ }
+
+
+ .img {
+ width: 100%;
+ max-height: 100%;
+ }
+
+ .video {
+ width: 100%;
+ max-height: 100%;
+ }
+ }
+
+ .text_wrap {
+ padding: 20rpx;
+ background-color: #f8f7f7;
+ border-radius: 8rpx;
+ margin-top: 20rpx;
+
+ .line {
+ margin-bottom: 18rpx;
+ display: flex;
+ font-size: 24rpx;
+
+ &:nth-last-child(1) {
+ margin-bottom: 0;
+ }
+
+ .label {
+ color: #999999;
+ width: 140rpx;
+ }
+ }
+ }
+
+ .status {
+ position: absolute;
+ right: -30rpx;
+ top: 0;
+ height: 60rpx;
+ line-height: 60rpx;
+ padding: 0 32rpx;
+ border-radius: 0rpx 0rpx 0rpx 30rpx;
+ background: rgba(39, 155, 170, 0.12);
+ color: $uni-color-primary;
+ }
+
+ .status_img {
+ position: absolute;
+ right: 0rpx;
+ top: 20rpx;
+ width: 120rpx;
+ }
+ }
+
+ .main_footer {
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ z-index: 9999;
+ left: 0;
+ padding: 30rpx 10rpx 60rpx;
+ display: flex;
+ justify-content: space-between;
+ background: #ffffff;
+
+ .btn {
+ flex: 1;
+ height: 88rpx;
+ line-height: 88rpx;
+ background: #ffffff;
+ border-radius: 44rpx;
+ border: 1rpx solid #999999;
+ font-size: 32rpx;
+ text-align: center;
+ margin: 16rpx 8rpx;
+ }
+
+ .transfer {
+ color: $uni-color-primary;
+ border: 1rpx solid $uni-color-primary;
+ }
+
+ .handle {
+ flex: 2;
+ background: $uni-color-primary;
+ color: #fff;
+ border: 1rpx solid $uni-color-primary;
+ }
+ }
+
+ .appr_modal {
+ padding: 36rpx 30rpx 0;
+
+ .title {
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #222222;
+ margin-bottom: 40rpx;
+ text-align: center;
+ }
+
+ .label {
+ text {
+ color: #ed4545;
+ }
+ }
+
+ .df_sb {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 90rpx;
+ border-bottom: 1rpx solid #e4e4e4;
+ margin-bottom: 30rpx;
+ }
+
+ .back_footer {
+ display: flex;
+
+ .btn {
+ flex: 1;
+ height: 88rpx;
+ line-height: 88rpx;
+ background: #ffffff;
+ border-radius: 44rpx;
+ border: 1rpx solid #999999;
+ font-size: 32rpx;
+ text-align: center;
+ margin: 16rpx 8rpx;
+ }
+
+ .agree {
+ background: $uni-color-primary;
+ color: #fff;
+ border: 1rpx solid $uni-color-primary;
+ }
+ }
+
+ textarea {
+ box-sizing: border-box;
+ width: 690rpx;
+ min-height: 200rpx;
+ background-color: #f7f7f7;
+ font-size: 28rpx;
+ color: #333333;
+ padding: 24rpx;
+ border-radius: 8rpx;
+ margin-bottom: 30rpx;
+ }
+
+ .upload_wrap {
+ display: flex;
+ flex-wrap: wrap;
+ margin-bottom: 30rpx;
+ }
.adduser_list_item_ipt1_upload {
+ margin-top: 20rpx;
width: 156rpx;
height: 156rpx;
margin-right: 20rpx;
@@ -988,7 +1275,8 @@
position: absolute;
right: -20rpx;
top: -20rpx;
- z-index: 9999;
+ z-index: 999999999999;
+ color: #fff;
}
image {
@@ -998,464 +1286,178 @@
video {
width: 100%;
- max-height: 156rpx;
+ height: 100%;
}
- }
-
- .module_list {
- .title {
- font-weight: 600;
- font-size: 32rpx;
- color: #222222;
- padding-top: 28rpx;
- }
-
- .item {
- padding: 30rpx 0;
- border-bottom: 1rpx solid #e5e5e5;
-
- .label {
- font-size: 26rpx;
- color: #666666;
- margin-bottom: 20rpx;
- }
-
- .value {
- font-size: 30rpx;
- display: flex;
- align-items: center;
-
- .avatar {
- margin-right: 20rpx;
- width: 120rpx;
- height: 120rpx;
- border-radius: 8rpx;
- border: 2rpx solid #e5e5e5;
- }
-
- .info {
- flex: 1;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- font-size: 26rpx;
- color: #666666;
-
- .name {
- font-size: 30rpx;
- color: #333333;
- }
- }
- }
- }
- }
-
- .status_wrap {
- position: relative;
- padding: 30rpx 0;
-
- .name {
- font-weight: 600;
- font-size: 32rpx;
- margin-bottom: 20rpx;
- color: $uni-color-primary;
- }
-
- .desc {
- font-size: 26rpx;
- color: #ed4545;
- }
-
- .gray {
- color: #999999;
- }
-
- .file_list {
- display: flex;
- margin-bottom: 20rpx;
- flex-wrap: wrap;
-
- .img_wrap {
- margin-top: 24rpx;
- width: 156rpx;
- height: 156rpx;
- border: 2rpx solid #e5e5e5;
- background: #f7f7f7;
- color: #666666;
- font-size: 22rpx;
- display: flex;
- border-radius: 4rpx;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- position: relative;
- margin-right: 20rpx;
- flex-shrink: 0;
-
- &:nth-of-type(4n) {
- margin-right: 0;
- }
- }
-
-
- .img {
- width: 100%;
- max-height: 100%;
- }
-
- .video {
- width: 100%;
- max-height: 100%;
- }
- }
-
- .text_wrap {
- padding: 20rpx;
- background-color: #f8f7f7;
- border-radius: 8rpx;
- margin-top: 20rpx;
-
- .line {
- margin-bottom: 18rpx;
- display: flex;
- font-size: 24rpx;
-
- &:nth-last-child(1) {
- margin-bottom: 0;
- }
-
- .label {
- color: #999999;
- width: 140rpx;
- }
- }
- }
-
- .status {
- position: absolute;
- right: -30rpx;
- top: 0;
- height: 60rpx;
- line-height: 60rpx;
- padding: 0 32rpx;
- border-radius: 0rpx 0rpx 0rpx 30rpx;
- background: rgba(39, 155, 170, 0.12);
- color: $uni-color-primary;
- }
-
- .status_img {
- position: absolute;
- right: 0rpx;
- top: 20rpx;
- width: 120rpx;
- }
- }
-
- .main_footer {
- position: fixed;
- bottom: 0;
- width: 100%;
- z-index: 9999;
- left: 0;
- padding: 30rpx 10rpx 60rpx;
- display: flex;
- justify-content: space-between;
- background: #ffffff;
-
- .btn {
- flex: 1;
- height: 88rpx;
- line-height: 88rpx;
- background: #ffffff;
- border-radius: 44rpx;
- border: 1rpx solid #999999;
- font-size: 32rpx;
- text-align: center;
- margin: 16rpx 8rpx;
- }
-
- .transfer {
- color: $uni-color-primary;
- border: 1rpx solid $uni-color-primary;
- }
-
- .handle {
- flex: 2;
- background: $uni-color-primary;
- color: #fff;
- border: 1rpx solid $uni-color-primary;
- }
- }
-
- .appr_modal {
- padding: 36rpx 30rpx 0;
-
- .title {
- font-weight: 600;
- font-size: 32rpx;
- color: #222222;
- margin-bottom: 40rpx;
- text-align: center;
- }
-
- .label {
- text {
- color: #ed4545;
- }
- }
-
- .df_sb {
- display: flex;
- justify-content: space-between;
- align-items: center;
- height: 90rpx;
- border-bottom: 1rpx solid #e4e4e4;
- margin-bottom: 30rpx;
- }
-
- .back_footer {
- display: flex;
-
- .btn {
- flex: 1;
- height: 88rpx;
- line-height: 88rpx;
- background: #ffffff;
- border-radius: 44rpx;
- border: 1rpx solid #999999;
- font-size: 32rpx;
- text-align: center;
- margin: 16rpx 8rpx;
- }
-
- .agree {
- background: $uni-color-primary;
- color: #fff;
- border: 1rpx solid $uni-color-primary;
- }
- }
-
- textarea {
- box-sizing: border-box;
- width: 690rpx;
- min-height: 200rpx;
- background-color: #f7f7f7;
- font-size: 28rpx;
- color: #333333;
- padding: 24rpx;
- border-radius: 8rpx;
- margin-bottom: 30rpx;
- }
-
- .upload_wrap {
- display: flex;
- flex-wrap: wrap;
- margin-bottom: 30rpx;
- }
-
- .adduser_list_item_ipt1_upload {
- margin-top: 20rpx;
- width: 156rpx;
- height: 156rpx;
- margin-right: 20rpx;
- border: 2rpx solid #e5e5e5;
- background: #f7f7f7;
- color: #666666;
- font-size: 22rpx;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- position: relative;
-
- &:nth-of-type(4n) {
- margin-right: 0;
- }
-
- .close {
- position: absolute;
- right: -20rpx;
- top: -20rpx;
- z-index: 999999999999;
- color: #fff;
- }
-
- image {
- width: 100%;
- height: 100%;
- }
-
- video {
- width: 100%;
- height: 100%;
- }
- }
- }
-
- .emyty {
- width: 750rpx;
- height: 20rpx;
- background-color: #f7f7f7;
- margin: 0 -30rpx;
- }
- }
- .video_wrap {
- position: relative;
- border: 1px solid;
- width: 156rpx;
- height: 156rpx;
- border-radius: 4rpx;
-
- .play {
- width: 60rpx !important;
- height: 60rpx !important;
- position: absolute;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- }
- }
- .sel_upload_wrap {
- width: 100%;
- border-top: 1px solid #333333;
- box-shadow: 0 1 1 #333333;
-
- .btn {
- height: 90rpx;
- line-height: 90rpx;
- text-align: center;
}
}
- .member_list {
- height: 920rpx;
- overflow: auto;
-
- .line {
- display: flex;
- align-items: center;
- border-bottom: 1rpx solid #e5e5e5;
- padding: 30rpx 0;
-
- .avatar {
- width: 64rpx;
- height: 64rpx;
- border-radius: 50%;
- overflow: hidden;
- margin-right: 20rpx;
- }
-
- .img_name {
- width: 64rpx;
- height: 64rpx;
- line-height: 64rpx;
- text-align: center;
- border-radius: 50%;
- overflow: hidden;
- margin-right: 20rpx;
- background: $uni-color-primary;
- color: #fff;
- border: 1rpx solid $uni-color-primary;
- }
-
- .content {
- flex: 1;
-
- .depart {
- font-size: 24rpx;
- color: #666666;
- }
-
- .info {
- display: flex;
- margin-bottom: 16rpx;
-
- .name {
- font-size: 30rpx;
- }
-
- .tag {
- font-size: 24rpx;
- border-radius: 4rpx;
- border: 1rpx solid #f62710;
- color: #f62710;
- padding: 0rpx 6rpx;
- margin-left: 8rpx;
- }
- }
- }
-
- .checked {
- width: 48rpx;
- }
- }
-
- .empty {
- width: 100%;
- height: 280rpx;
- }
+ .emyty {
+ width: 750rpx;
+ height: 20rpx;
+ background-color: #f7f7f7;
+ margin: 0 -30rpx;
}
+}
- .search_inp {
- height: 72rpx;
- background: #f7f7f7;
- border-radius: 4rpx;
- padding-left: 16rpx;
+.video_wrap {
+ position: relative;
+ border: 1px solid;
+ width: 156rpx;
+ height: 156rpx;
+ border-radius: 4rpx;
- .search {
- width: 28rpx;
- }
-
- input {
- flex: 1;
- font-size: 28rpx;
- color: #333333;
- }
+ .play {
+ width: 60rpx !important;
+ height: 60rpx !important;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
}
+}
- .video_app {
- overflow: hidden;
- position: fixed;
- left: 0;
- top: 0;
- width: 100vw;
- height: 100vh;
+.sel_upload_wrap {
+ width: 100%;
+ border-top: 1px solid #333333;
+ box-shadow: 0 1 1 #333333;
+
+ .btn {
+ height: 90rpx;
+ line-height: 90rpx;
+ text-align: center;
+ }
+}
+
+.member_list {
+ height: 920rpx;
+ overflow: auto;
+
+ .line {
display: flex;
align-items: center;
- z-index: 9990;
- .bg {
- background-color: rgba(0, 0, 0, .6);
- position: absolute;
- width: 100%;
- height: 100%;
- z-index: -1;
+ border-bottom: 1rpx solid #e5e5e5;
+ padding: 30rpx 0;
+
+ .avatar {
+ width: 64rpx;
+ height: 64rpx;
+ border-radius: 50%;
+ overflow: hidden;
+ margin-right: 20rpx;
}
- video {
- width: 100%;
- height: 42vh;
- }
- }
-
- .Transfer_footer {
- display: flex;
-
- .btn {
- flex: 1;
- height: 88rpx;
- line-height: 88rpx;
- background: #ffffff;
- border-radius: 44rpx;
- border: 1rpx solid #999999;
- font-size: 32rpx;
+ .img_name {
+ width: 64rpx;
+ height: 64rpx;
+ line-height: 64rpx;
text-align: center;
- margin: 16rpx 8rpx;
- }
-
- .active {
+ border-radius: 50%;
+ overflow: hidden;
+ margin-right: 20rpx;
background: $uni-color-primary;
color: #fff;
border: 1rpx solid $uni-color-primary;
}
+
+ .content {
+ flex: 1;
+
+ .depart {
+ font-size: 24rpx;
+ color: #666666;
+ }
+
+ .info {
+ display: flex;
+ margin-bottom: 16rpx;
+
+ .name {
+ font-size: 30rpx;
+ }
+
+ .tag {
+ font-size: 24rpx;
+ border-radius: 4rpx;
+ border: 1rpx solid #f62710;
+ color: #f62710;
+ padding: 0rpx 6rpx;
+ margin-left: 8rpx;
+ }
+ }
+ }
+
+ .checked {
+ width: 48rpx;
+ }
}
+
+ .empty {
+ width: 100%;
+ height: 280rpx;
+ }
+}
+
+.search_inp {
+ height: 72rpx;
+ background: #f7f7f7;
+ border-radius: 4rpx;
+ padding-left: 16rpx;
+
+ .search {
+ width: 28rpx;
+ }
+
+ input {
+ flex: 1;
+ font-size: 28rpx;
+ color: #333333;
+ }
+}
+
+.video_app {
+ overflow: hidden;
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100vw;
+ height: 100vh;
+ display: flex;
+ align-items: center;
+ z-index: 9990;
+
+ .bg {
+ background-color: rgba(0, 0, 0, .6);
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ z-index: -1;
+ }
+
+ video {
+ width: 100%;
+ height: 42vh;
+ }
+}
+
+.Transfer_footer {
+ display: flex;
+
+ .btn {
+ flex: 1;
+ height: 88rpx;
+ line-height: 88rpx;
+ background: #ffffff;
+ border-radius: 44rpx;
+ border: 1rpx solid #999999;
+ font-size: 32rpx;
+ text-align: center;
+ margin: 16rpx 8rpx;
+ }
+
+ .active {
+ background: $uni-color-primary;
+ color: #fff;
+ border: 1rpx solid $uni-color-primary;
+ }
+}
</style>
\ No newline at end of file
diff --git a/screen/index.html b/screen/index.html
index f2181fc..307a090 100644
--- a/screen/index.html
+++ b/screen/index.html
@@ -12,5 +12,7 @@
<script src="./jsencrypt.min.js"></script>
<script src="./web-control_1.2.7.min.js"></script>
<script type="module" src="/src/main.js"></script>
+
+ <script src="https://webapi.amap.com/maps?v=2.0&key=96b8d96e645290f1de14f5229ee030e4"></script>
</body>
</html>
diff --git a/screen/src/api/index.js b/screen/src/api/index.js
index 2146947..dbd18dc 100644
--- a/screen/src/api/index.js
+++ b/screen/src/api/index.js
@@ -22,8 +22,42 @@
}
// 搴撳埗绠$悊鐪嬫澘 褰撳墠杩愯緭浠诲姟
export const getStoreTaskList = (data) => {
- return request('visitsAdmin/cloudService/board/api/wholeProvince/transportTaskList', data)
+ return request('visitsAdmin/cloudService/board/api/wholeProvince/orderList', data, 'POST')
}
+// 搴撳埗绠$悊鐪嬫澘 褰撳墠杩愯緭浠诲姟
+export const kzorderInfo = (data) => {
+ return request('visitsAdmin/cloudService/board/api/wholeProvince/orderInfo', data, 'POST')
+}
+//
+// 搴撳埗绠$悊鐪嬫澘 绱鍑哄簱閲�
+export const kztotalOutQtyNum = (data) => {
+ return request('visitsAdmin/cloudService/board/api/wholeProvince/totalOutQtyNum', data)
+}
+// 鍦板浘鏈湀鏈勾鎬诲嚭搴撻噺缁熻闆嗗悎锛堟寜鐪佷唤锛�
+export const mapYearAndMonthOutList = (data) => {
+ return request('visitsAdmin/cloudService/board/api/wholeProvince/mapYearAndMonthOutList', data)
+}
+// 浠撳簱璧勬簮鍒╃敤鐜�
+export const kzinventoryUseRate = (data) => {
+ return request('visitsAdmin/cloudService/board/api/wholeProvince/inventoryUseRate', data)
+}
+// 鍑哄簱鑳藉姏鍒╃敤鐜�
+export const outAbilityUseRate = (data) => {
+ return request('visitsAdmin/cloudService/board/api/wholeProvince/outAbilityUseRate', data)
+}
+// 杩愬姏璧勬簮鍒╃敤鐜�
+export const tranportAbilityUseRate = (data) => {
+ return request('visitsAdmin/cloudService/board/api/wholeProvince/tranportAbilityUseRate', data)
+}
+// 鐑熷巶闆嗗悎
+export const kzfactoryList = (data) => {
+ return request('visitsAdmin/cloudService/board/api/wholeProvince/factoryList', data)
+}
+// 杩�7鏃ュ埌璐ф儏鍐�
+export const arriveGoodsList = (data) => {
+ return request('visitsAdmin/cloudService/board/api/wholeProvince/arriveGoodsList', data)
+}
+
// 娑堥槻绠℃帶澶у睆 鎶ヨ淇℃伅
export const getFightingalarmData = (data) => {
diff --git a/screen/src/assets/images/LogisticsCenter/ic_cangku@2x.png b/screen/src/assets/images/LogisticsCenter/ic_cangku@2x.png
new file mode 100644
index 0000000..a4f81ca
--- /dev/null
+++ b/screen/src/assets/images/LogisticsCenter/ic_cangku@2x.png
Binary files differ
diff --git a/screen/src/assets/images/LogisticsCenter/ic_cangku_sel@2x.png b/screen/src/assets/images/LogisticsCenter/ic_cangku_sel@2x.png
new file mode 100644
index 0000000..0354518
--- /dev/null
+++ b/screen/src/assets/images/LogisticsCenter/ic_cangku_sel@2x.png
Binary files differ
diff --git a/screen/src/assets/images/LogisticsCenter/ic_dangqian@2x.png b/screen/src/assets/images/LogisticsCenter/ic_dangqian@2x.png
new file mode 100644
index 0000000..c69e27e
--- /dev/null
+++ b/screen/src/assets/images/LogisticsCenter/ic_dangqian@2x.png
Binary files differ
diff --git a/screen/src/assets/images/LogisticsCenter/ic_daohuo@2x.png b/screen/src/assets/images/LogisticsCenter/ic_daohuo@2x.png
new file mode 100644
index 0000000..96a8fdd
--- /dev/null
+++ b/screen/src/assets/images/LogisticsCenter/ic_daohuo@2x.png
Binary files differ
diff --git a/screen/src/assets/images/LogisticsCenter/ic_daohuo_sel@2x.png b/screen/src/assets/images/LogisticsCenter/ic_daohuo_sel@2x.png
new file mode 100644
index 0000000..c96012b
--- /dev/null
+++ b/screen/src/assets/images/LogisticsCenter/ic_daohuo_sel@2x.png
Binary files differ
diff --git a/screen/src/assets/images/LogisticsCenter/ic_dingdan@2x.png b/screen/src/assets/images/LogisticsCenter/ic_dingdan@2x.png
new file mode 100644
index 0000000..227f0c2
--- /dev/null
+++ b/screen/src/assets/images/LogisticsCenter/ic_dingdan@2x.png
Binary files differ
diff --git a/screen/src/assets/images/LogisticsCenter/ic_dingdan_sel@2x.png b/screen/src/assets/images/LogisticsCenter/ic_dingdan_sel@2x.png
new file mode 100644
index 0000000..86bb68d
--- /dev/null
+++ b/screen/src/assets/images/LogisticsCenter/ic_dingdan_sel@2x.png
Binary files differ
diff --git a/screen/src/assets/images/LogisticsCenter/ic_fahuodi@2x.png b/screen/src/assets/images/LogisticsCenter/ic_fahuodi@2x.png
new file mode 100644
index 0000000..df70766
--- /dev/null
+++ b/screen/src/assets/images/LogisticsCenter/ic_fahuodi@2x.png
Binary files differ
diff --git a/screen/src/assets/images/LogisticsCenter/ic_hetong.png b/screen/src/assets/images/LogisticsCenter/ic_hetong.png
new file mode 100644
index 0000000..5a41825
--- /dev/null
+++ b/screen/src/assets/images/LogisticsCenter/ic_hetong.png
Binary files differ
diff --git a/screen/src/assets/images/LogisticsCenter/ic_huowu@2x.png b/screen/src/assets/images/LogisticsCenter/ic_huowu@2x.png
new file mode 100644
index 0000000..f3a7d30
--- /dev/null
+++ b/screen/src/assets/images/LogisticsCenter/ic_huowu@2x.png
Binary files differ
diff --git a/screen/src/assets/images/LogisticsCenter/ic_peizai@2x.png b/screen/src/assets/images/LogisticsCenter/ic_peizai@2x.png
new file mode 100644
index 0000000..8588687
--- /dev/null
+++ b/screen/src/assets/images/LogisticsCenter/ic_peizai@2x.png
Binary files differ
diff --git a/screen/src/assets/images/LogisticsCenter/ic_peizai_sel@2x.png b/screen/src/assets/images/LogisticsCenter/ic_peizai_sel@2x.png
new file mode 100644
index 0000000..64c52b6
--- /dev/null
+++ b/screen/src/assets/images/LogisticsCenter/ic_peizai_sel@2x.png
Binary files differ
diff --git a/screen/src/assets/images/LogisticsCenter/ic_yunshu@2x.png b/screen/src/assets/images/LogisticsCenter/ic_yunshu@2x.png
new file mode 100644
index 0000000..eb6e8bc
--- /dev/null
+++ b/screen/src/assets/images/LogisticsCenter/ic_yunshu@2x.png
Binary files differ
diff --git a/screen/src/assets/images/LogisticsCenter/ic_yunshu_sel@2x.png b/screen/src/assets/images/LogisticsCenter/ic_yunshu_sel@2x.png
new file mode 100644
index 0000000..7fe831c
--- /dev/null
+++ b/screen/src/assets/images/LogisticsCenter/ic_yunshu_sel@2x.png
Binary files differ
diff --git a/screen/src/components/Map.vue b/screen/src/components/Map.vue
new file mode 100644
index 0000000..946ff92
--- /dev/null
+++ b/screen/src/components/Map.vue
@@ -0,0 +1,33 @@
+<template>
+ <div>
+ <div id="map-container" ref="mapContainer"></div>
+ </div>
+</template>
+
+<script setup>
+import { onMounted, ref } from 'vue'
+const mapContainer = ref(null)
+
+onMounted(() => {
+ // 鍒濆鍖栭珮寰峰湴鍥�
+ const map = new AMap.Map(mapContainer.value, {
+ zoom: 10, // 鍒濆缂╂斁绾у埆
+ center: [116.397428, 39.90923], // 鍒濆涓績鐐癸紙鍖椾含鍧愭爣锛�
+ })
+
+ // 娣诲姞鍩虹鎺т欢
+ AMap.plugin(['AMap.ToolBar'], () => {
+ const toolbar = new AMap.ToolBar()
+ map.addControl(toolbar)
+ })
+});
+
+
+</script>
+
+<style lang="scss" scoped>
+#map-container {
+ width: 300px;
+ height: 160px;
+}
+</style>
diff --git a/screen/src/views/EnergyConsum.vue b/screen/src/views/EnergyConsum.vue
index 9229a23..25f3234 100644
--- a/screen/src/views/EnergyConsum.vue
+++ b/screen/src/views/EnergyConsum.vue
@@ -142,7 +142,7 @@
<div class="header">
<img class="icon" src="@/assets/images/ic_yongqi@2x.png" alt="" />
<div class="content">
- <div class="name">涓婃湀鐢ㄦ皵(t)</div>
+ <div class="name">涓婃湀鐢ㄦ皵(m鲁)</div>
<div class="num" v-if="data1.gasQuantity">{{ data1.gasQuantity.total.toLocaleString() }}</div>
</div>
</div>
diff --git a/screen/src/views/LogisticsCenter.vue b/screen/src/views/LogisticsCenter.vue
index cd1d5e6..4635785 100644
--- a/screen/src/views/LogisticsCenter.vue
+++ b/screen/src/views/LogisticsCenter.vue
@@ -24,20 +24,20 @@
<div class="second_title">
<div class="title">
<img src="@/assets/images/LogisticsCenter/ic_title@2x.png" class="icon" alt="" />
- <div>鏈勾绱鍑哄簱閲�</div>
+ <div>绱鍑哄簱閲�</div>
</div>
<div class="tabs">
- <div class="tab" :class="{ active: activeTab1 == 0 }" @click="tab1Click(0)">鏈懆</div>
+ <div class="tab" :class="{ active: activeTab1 == 1 }" @click="tab1Click(1)">鏈懆</div>
<div class="separate"></div>
- <div class="tab" :class="{ active: activeTab1 == 1 }" @click="tab1Click(1)">鏈湀</div>
+ <div class="tab" :class="{ active: activeTab1 == 0 }" @click="tab1Click(0)">鏈湀</div>
<div class="separate"></div>
<div class="tab" :class="{ active: activeTab1 == 2 }" @click="tab1Click(2)">鏈勾</div>
</div>
</div>
<div class="content_wrap">
<div class="num_wrap">
- <div class="num_list" v-if="cneterData.yearOutTotal">
- <div class="num" v-for="i in cneterData.yearOutTotal + ''">
+ <div class="num_list" v-if="StockOutData.currentNum">
+ <div class="num" v-for="i in StockOutData.currentNum + ''">
{{ i }}
<img class="bg" src="@/assets/images/LogisticsCenter/bg_number@2x.png" alt="">
</div>
@@ -45,11 +45,19 @@
<div class="content">
<div class="unit_wrap">
<span class="la">鍚屾瘮</span>
- <img src="@/assets/images/ic_up.png" class="icon" alt="">
- <span v-if="cneterData.yearOutTotalOnYear || cneterData.yearOutTotalOnYear == 0">{{
- cneterData.yearOutTotalOnYear }} %</span>
+ <template v-if="StockOutData.currentNum && StockOutData.lastNum">
+ <img v-if="StockOutData.currentNum >= StockOutData.lastNum" src="@/assets/images/ic_up.png"
+ class="icon" alt="">
+ <img v-else src="@/assets/images/ic_down.webp" class="icon" alt="">
+ </template>
+ <span v-if="StockOutData.lastNum && StockOutData.currentNum">{{ Math.abs((((StockOutData.currentNum
+ -
+ StockOutData.lastNum) /
+ StockOutData.lastNum)
+ * 100).toFixed(2)) }}%</span>
+ <span v-else style="margin-left: 6px;">-</span>
<span class="la" style="margin-left: 30px;margin-right: 10px;">绱鍑哄簱杞︽</span>
- <span>{{ cneterData.yearOutTimes || '' }}</span>
+ <span>{{ StockOutData.totalCarNum || '' }}</span>
</div>
</div>
@@ -57,10 +65,10 @@
<div class="echart_wrap">
<div class="echart1" id="echart1"></div>
<div class="list">
- <div class="item" v-for="item, i in StockOutData" :key="i">
+ <div class="item" v-for="item, i in StockOutData.arr" :key="i">
<div :style="{ background: colors[i] }" class="icon"></div>
<div class="text">{{ item.name }}</div>
- <div class="num">{{ item.value }}</div>
+ <div class="num">{{ item.rate }}</div>
</div>
</div>
</div>
@@ -93,18 +101,19 @@
<div class="list_wrap">
<div class="header line">
<span class="item">杩愯緭杞﹁締</span>
- <span class="item">鐘舵��</span>
+ <span class="item status">鐘舵��</span>
<span class="item">浣嶇疆</span>
<span class="item">浠诲姟涓嬭揪鏃堕棿</span>
</div>
<div class="one-swiper list">
<div class="swiper-wrapper">
- <div class="line one-swiper-slide swiper-slide item" @click="taskClick(item)"
+ <div :class="{ avtive: modalInfo.contractNumber == item.contractNumber }"
+ class="line one-swiper-slide swiper-slide item" @click="taskClick(item)"
v-for="(item, i) in transportTask" :key="i">
- <span class="item">{{ item.carNo }}</span>
- <span class="item">{{ item.statusStr }}</span>
- <span class="item">{{ item.address }}</span>
- <span class="item">{{ item.taskDate }}</span>
+ <span class="item">{{ item.contractNumber }}</span>
+ <span class="item status">{{ item.statusDesc }}</span>
+ <span class="item">{{ item.receiveEnterprise }}</span>
+ <span class="item">{{ item.transportDate }}</span>
</div>
</div>
</div>
@@ -133,37 +142,31 @@
<img src="@/assets/images/LogisticsCenter/ic_jinrijihua@2x.png" alt="">
<div class="content">
<div class="name">褰撴棩璁㈠崟閲�</div>
- <div class="num"><span class="blue">{{ cneterData.outPlanTotal }}</span>涓囨敮</div>
+ <div class="num"><span class="blue">{{ cneterData.currentOrderNum }}</span>涓囨敮</div>
</div>
</div>
<div class="item">
<img src="@/assets/images/LogisticsCenter/ic_jinrijihua@2.png" alt="">
<div class="content">
<div class="name">褰撴棩璁″垝閲�</div>
- <div class="num"><span>{{ cneterData.outPlanTotal }}</span>涓囨敮</div>
- <div class="unit">杞︽锛歿{ cneterData.outPlanTimes }}</div>
+ <div class="num"><span>{{ cneterData.currentPlanNum }}</span>涓囨敮</div>
+ <div class="unit">杞︽锛歿{ cneterData.currentPlanCarNum }}</div>
</div>
</div>
<div class="item">
<img src="@/assets/images/LogisticsCenter/ic_jinrichuku@2x.png" alt="">
<div class="content">
<div class="name">浠婃棩鍑哄簱閲�</div>
- <div class="num" v-if="cneterData.outPlanTotal && cneterData.outTotal"><span class="finish">{{
- cneterData.outPlanTotal - cneterData.outTotal }}</span>涓囨敮</div>
- <div class="unit" v-if="cneterData.outPlanTotal && cneterData.outTotal">杞︽锛歿{ cneterData.outPlanTimes
- -
- cneterData.outTimes }}</div>
+ <div class="num"><span class="finish">{{ cneterData.crrentOutNum }}</span>涓囨敮</div>
+ <div class="unit">杞︽锛歿{ cneterData.crrentOutCarNum }}</div>
</div>
</div>
<div class="item">
<img src="@/assets/images/LogisticsCenter/ic_jinriweichu@2x.png" alt="">
<div class="content">
<div class="name">鍓╀綑浠诲姟閲�</div>
- <div class="num" v-if="cneterData.outPlanTotal && cneterData.outTotal"><span class="today">{{
- cneterData.outPlanTotal - cneterData.outTotal }}</span>涓囨敮</div>
- <div class="unit" v-if="cneterData.outPlanTotal && cneterData.outTotal">杞︽锛歿{ cneterData.outPlanTimes
- -
- cneterData.outTimes }}</div>
+ <div class="num"><span class="today">{{ cneterData.crrentRestNum }}</span>涓囨敮</div>
+ <div class="unit">杞︽锛歿{ cneterData.crrentRestCarNum }}</div>
</div>
</div>
</div>
@@ -171,6 +174,13 @@
<div class="wrap">
<div class="content">
<div class="scale">0</div>
+ <!-- <div class="node">
+ <div>8h</div>
+ <div class="node_icon">
+ <div class="icon icon1"></div>
+ <div class="icon icon2"></div>
+ </div>
+ </div> -->
<div class="box">
<div class="tag">
<div class="icon"></div>
@@ -184,17 +194,31 @@
</div>
</div>
</div>
- <div class="side">
+ <!-- <div class="side">
<div class="box"></div>
<div class="scale" style="left: -12px;">8h</div>
<div class="scale scale1">鏈�澶�</div>
- </div>
+ </div> -->
</div>
</div>
</div>
<div class="center_box_two">
<div class="echart_map" ref="mapEchart" id="echart_map"></div>
- <div class="list">
+ <div v-if="showModal1" @click="showModal1 = false" class="modal1">
+ <div class="list">
+ <div class="head line">
+ <div class="item">杞︾墝鍙�</div>
+ <div class="item contract">鍚堝悓鍙�</div>
+ <div class="item">鐩殑鍦�</div>
+ </div>
+ <div class="line" v-for="item in active1List">
+ <div class="item">{{ item.platNumber }}</div>
+ <div class="item contract">{{ item.contractNumber }}</div>
+ <div class="item">{{ item.repertotyName }}</div>
+ </div>
+ </div>
+ </div>
+ <!-- <div class="list">
<div class="item">
<div class="icon"></div>
<div class="text">鍑哄簱閲�10w浠ヤ笂</div>
@@ -211,7 +235,7 @@
<div class="icon icon4"></div>
<div class="text">鍑哄簱閲�2w浠ヤ笅</div>
</div>
- </div>
+ </div> -->
</div>
</div>
<div class="right_box">
@@ -226,9 +250,14 @@
<div class="second_title">
<div class="title">
<img src="@/assets/images/LogisticsCenter/ic_title@2x.png" class="icon" alt="" />
- <div>搴撳瓨鍒╃敤鐜�</div>
+ <div>浠撳簱璧勬簮鍒╃敤鐜�</div>
</div>
- <div class="side">鍏ㄧ渷锛�<span>100<span class="unit">涓囨敮 |</span> 40.6%</span></div>
+ <div class="side">
+ 鍏ㄧ渷锛�
+ <span>{{ data5.totalNum }}</span>
+ <span class="unit">涓囨敮 | </span>
+ <span v-if="data5.totalNum">{{ ((data5.currentNum / data5.totalNum) * 100).toFixed(1) }}%</span>
+ </div>
</div>
<div class="echart5_wrap">
<div class="echart5" id="echart5"></div>
@@ -264,66 +293,88 @@
<div class="modal_wrap" v-if="showModal">
<div class="title_head">
<img src="@/assets/images/energy_ef/chuku_ic_car@2x.png" alt="">
- <span>鐨朼222</span>
+ <span>鍚堝悓鍙凤細{{ modalInfo.contractNumber }}</span>
</div>
<div class="info">
<div class="item">
<div class="dian"></div>
- <div class="la">杩愯緭鍗曞彿锛�</div>
- <div class="val">471342</div>
- </div>
- <div class="item">
- <div class="dian"></div>
<div class="la">鍙告満淇℃伅锛�</div>
- <div class="val">瀛欐枃姝� 17493932936</div>
+ <div class="val">{{ modalInfo.driverName }} {{ modalInfo.driverTel }}</div>
</div>
<div class="item">
<div class="dian"></div>
- <div class="la">鎬昏繍杈撻噺锛�</div>
- <div class="val">22涓囨敮</div>
+ <div class="la">杞︾墝鍙凤細</div>
+ <div class="val">{{ modalInfo.plateName }}</div>
</div>
<div class="item">
<div class="dian"></div>
- <div class="la">褰撳墠浣嶇疆锛�</div>
- <div class="val">瀹夊窘鐪佸悎鑲ュ競鍖呮渤鍖虹箒鍗庡ぇ閬�123绫冲</div>
- </div>
- </div>
- <div class="tabs">
- <div :class="{ active: modalTab == 0 }" @click="modalTabClick(0)" class="tab">鍚堝悓1:1231231</div>
- <div :class="{ active: modalTab == 1 }" @click="modalTabClick(1)" class="tab">鍚堝悓2:1231231</div>
- </div>
- <div class="ht_info">
- <div class="item">
- <div class="la">鍙戣揣浠撳簱锛�</div>
- <div class="val">鑺滄箹鎴愬搧</div>
+ <div class="la">鍙戣揣鍦扮偣锛�</div>
+ <div class="val">{{ modalInfo.deliveryEnterprise }}</div>
</div>
<div class="item">
- <div class="la">棰勮鍒拌揪锛�</div>
- <div class="val">2024-12-04 14:00</div>
- </div>
- <div class="item">
+ <div class="dian"></div>
<div class="la">鍒拌揣鍦扮偣锛�</div>
- <div class="val">姹熼棬鐑熻崏鐗╂祦閰嶉�佷腑蹇�</div>
+ <div class="val">{{ modalInfo.receiveEnterprise }}</div>
</div>
<div class="item">
- <div class="la">杩愯緭閲忥細</div>
- <div class="val">300涓囨敮</div>
+ <div class="dian"></div>
+ <div class="la">杞﹁締浣嶇疆锛�</div>
+ <div class="val">{{ modalInfo.aa || '-' }}</div>
+ </div>
+ <div class="item">
+ <div class="dian"></div>
+ <div class="la">棰勮鍒拌揪锛�</div>
+ <div class="val" v-if="modalInfo.plannedArrivedDate">{{ modalInfo.plannedArrivedDate.slice(0, 11) }}</div>
</div>
</div>
- <div class="tab1">
- <div class="title">
+ <div class="logistics_wrap">
+ <div class="m_title">
<img src="@/assets/images/LogisticsCenter/ic_title@2x.png" alt="">
<span>鐗╂祦淇℃伅</span>
</div>
- <div class="item" v-for="item, i in 3">
- <div class="icon_wrap">
- <img v-if="i !== 0" class="dian" src="@/assets/images/ic_dangqian@2x.png" alt="">
- <img v-else src="@/assets/images/ic_jindu@2x.png" class="dian_ac" alt="">
- <div class="line"></div>
- </div>
- <div class="content">
- <div class="status">杞﹁締鍚繍-鐢靛瓙閿佹皵杩�</div>
- <div class="time">2024-04-02 12:00</div>
+ <div id="map-container" ref="mapContainer"></div>
+ <div class="fu_list">
+ <div class="fu_item" v-for="item, i in modalInfo.cicleStatusList">
+ <div class="item_title">
+ <div class="icon">
+ <img v-if="item.key == 0 && k != 0" src="@/assets/images/LogisticsCenter/ic_dingdan@2x.png"
+ class="icon"></img>
+ <img v-if="item.key == 0 && k == 0" src="@/assets/images/LogisticsCenter/ic_dingdan_sel@2x.png"
+ class="icon"></img>
+ <img v-if="item.key == 1 && k != 0" src="@/assets/images/LogisticsCenter/ic_peizai@2x.png"
+ class="icon"></img>
+ <img v-if="item.key == 1 && k == 0" src="@/assets/images/LogisticsCenter/ic_peizai_sel@2x.png"
+ class="icon"></img>
+ <img v-if="item.key == 2 && k != 0" src="@/assets/images/LogisticsCenter/ic_cangku@2x.png"
+ class="icon"></img>
+ <img v-if="item.key == 2 && k == 0" src="@/assets/images/LogisticsCenter/ic_cangku_sel@2x.png"
+ class="icon"></img>
+ <img v-if="item.key == 3 && k != 0" src="@/assets/images/LogisticsCenter/ic_yunshu@2x.png"
+ class="icon"></img>
+ <img v-if="item.key == 3 && k == 0" src="@/assets/images/LogisticsCenter/ic_yunshu_sel@2x.png"
+ class="icon"></img>
+ <img v-if="item.key == 4 && k != 0" src="@/assets/images/LogisticsCenter/ic_daohuo@2x.png"
+ class="icon"></img>
+ <img v-if="item.key == 4 && k == 0" src="@/assets/images/LogisticsCenter/ic_daohuo_sel@2x.png"
+ class="icon"></img>
+ <img v-if="item.key == 5" src="@/assets/images/LogisticsCenter/ic_dangqian@2x.png" class="icon"></img>
+ </div>
+ <div>{{ item.name }}</div>
+ </div>
+ <div class="item" v-for="ite, i in item.secondList">
+ <div class="h2" v-if="ite.orderStatusDes">
+ <div class="icon_wrap" v-if="i != 0">
+ <image src="@/static/driver/ic_mostarted.png" class="icon"></image>
+ </div>
+ <div v-else class="icon_wrap"></div>
+ <div class="text" :class="{ placeholder3: k == 0 && i == 0 }">
+ {{ ite.orderStatusDes }}
+ <text v-if="ite.tel">锛屽彂璐т粨搴撶數璇濓細</text>
+ <text v-if="ite.tel" class="primaryColor">{{ ite.tel }}</text>
+ </div>
+ </div>
+ <div class="time">{{ ite.recordDate }}</div>
+ </div>
</div>
</div>
</div>
@@ -341,7 +392,10 @@
import * as echarts from 'echarts'
import 'swiper/css/swiper.min.css'
import Swiper from 'swiper'
+import Map from '@/components/Map.vue'
import chinaJSON from '@/assets/china.json'
+import fahuoImg from '@/assets/images/LogisticsCenter/ic_fahuodi@2x.png'
+import shouImg from '@/assets/images/LogisticsCenter/ic_huowu@2x.png'
import {
getStoreOperationList,
getStorearriveGoodsList,
@@ -349,6 +403,15 @@
getStoreenergyDataList,
getStorelastMonthOil,
getStoreTaskList,
+
+ kztotalOutQtyNum,
+ kzorderInfo,
+ mapYearAndMonthOutList,
+ kzinventoryUseRate,
+ outAbilityUseRate,
+ tranportAbilityUseRate,
+ kzfactoryList,
+ arriveGoodsList
} from '@/api'
const weekMap = ['鏄熸湡鏃�', '鏄熸湡涓�', '鏄熸湡浜�', '鏄熸湡涓�', '鏄熸湡鍥�', '鏄熸湡浜�', '鏄熸湡鍏�',]
@@ -422,153 +485,167 @@
})
}
+//
+const mapList = ref([])
const mapEchart = ref()
const initMap = () => {
var myChart = echarts.init(mapEchart.value)
echarts.registerMap('china', chinaJSON)
var points = [
// 鐐瑰潗鏍�
- { value: [117.1582, 36.8701], itemStyle: { color: '#6ae5e0' }, name: '灞变笢', total: 2, bj: 0, yj: 0, yx: 0, tj: 0, dw: 0 },
- { value: [117.29, 32.0581], itemStyle: { color: '#6ae5e0' }, name: '瀹夊窘', total: 2, bj: 0, yj: 0, yx: 0, tj: 0, dw: 0 },
- { value: [114.3896, 30.6628], itemStyle: { color: '#6ae5e0' }, name: '婀栧寳', total: 5, bj: 0, yj: 0, yx: 5, tj: 0, dw: 0 },
- { value: [119.5313, 29.8773], itemStyle: { color: '#6ae5e0' }, name: '娴欐睙', total: 10, bj: 0, yj: 0, yx: 10, tj: 0, dw: 0 },
- { value: [113.12244, 23.009505], itemStyle: { color: '#6ae5e0' }, name: '骞夸笢', total: 8, bj: 0, yj: 0, yx: 8, tj: 0, dw: 0 },
- { value: [103.9526, 30.7617], itemStyle: { color: '#6ae5e0' }, name: '鍥涘窛', total: 18, bj: 0, yj: 0, yx: 18, tj: 0, dw: 0 }
+ { value: [117.1582, 36.8701, 100], itemStyle: { color: '#6ae5e0' }, name: '灞变笢', total: 2, bj: 0, yj: 0, yx: 0, tj: 0, dw: 0 },
+ { value: [117.29, 32.0581, 90], itemStyle: { color: '#6ae5e0' }, name: '瀹夊窘', total: 2, bj: 0, yj: 0, yx: 0, tj: 0, dw: 0 },
+ { value: [114.3896, 30.6628, 1999], itemStyle: { color: '#6ae5e0' }, name: '婀栧寳', total: 5, bj: 0, yj: 0, yx: 5, tj: 0, dw: 0 },
+ { value: [119.5313, 29.8773, 2], itemStyle: { color: '#6ae5e0' }, name: '娴欐睙', total: 10, bj: 0, yj: 0, yx: 10, tj: 0, dw: 0 },
+ { value: [113.12244, 23.009505, 12], itemStyle: { color: '#6ae5e0' }, name: '骞夸笢', total: 8, bj: 0, yj: 0, yx: 8, tj: 0, dw: 0 },
+ { value: [103.9526, 30.7617, 1901], itemStyle: { color: '#fff' }, name: '鍥涘窛', total: 18, bj: 0, yj: 0, yx: 18, tj: 0, dw: 0 }
]
- var lineToLf = [
- { name: '11', coords: [[110.81, 33.40], [116.55, 40.01]], lineStyle: { color: '#c1bb1f' } },
- { name: '22', coords: [[113.11, 28.40], [116.55, 40.01]], lineStyle: { color: '#6ae5e0' } },
- { name: '33', coords: [[106.44, 29.50], [116.55, 40.01]], lineStyle: { color: '#6ae5e0' } },
- { name: '44', coords: [[112.85, 38.95], [116.55, 40.01]], lineStyle: { color: '#6ae5e0' } },
- { name: '55', coords: [[82.78, 43.27], [116.55, 40.01]], lineStyle: { color: '#6ae5e0' } }
+ const mapData = [
+ { name: '鍖椾含甯�', value: 0 },
+ { name: '澶╂触甯�', value: 0 },
+ { name: '涓婃捣甯�', value: 0 },
+ { name: '閲嶅簡甯�', value: 0 },
+ { name: '娌冲寳鐪�', value: 0 },
+ { name: '娌冲崡鐪�', value: 0 },
+ { name: '浜戝崡鐪�', value: 0 },
+ { name: '杈藉畞鐪�', value: 0 },
+ { name: '榛戦緳姹熺渷', value: 0 },
+ { name: '婀栧崡鐪�', value: 0 },
+ { name: '瀹夊窘鐪�', value: 0 },
+ { name: '灞变笢鐪�', value: 0 },
+ { name: '鏂扮枂缁村惥灏旇嚜娌诲尯', value: 0 },
+ { name: '姹熻嫃鐪�', value: 0 },
+ { name: '娴欐睙鐪�', value: 0 },
+ { name: '姹熻タ鐪�', value: 0 },
+ { name: '婀栧寳鐪�', value: 0 },
+ { name: '骞胯タ澹棌鑷不鍖�', value: 0 },
+ { name: '鐢樿們鐪�', value: 0 },
+ { name: '灞辫タ鐪�', value: 0 },
+ { name: '鍐呰挋鍙よ嚜娌诲尯', value: 0 },
+ { name: '闄曡タ鐪�', value: 0 },
+ { name: '鍚夋灄鐪�', value: 0 },
+ { name: '绂忓缓鐪�', value: 0 },
+ { name: '璐靛窞鐪�', value: 0 },
+ { name: '骞夸笢鐪�', value: 0 },
+ { name: '闈掓捣鐪�', value: 0 },
+ { name: '瑗胯棌鑷不鍖�', value: 0 },
+ { name: '瀹佸鍥炴棌鑷不鍖�', value: 0 },
+ { name: '鍥涘窛鐪�', value: 0 },
+ { name: '瀹佸鐪�', value: 0 },
+ { name: '娴峰崡鐪�', value: 0 },
+ { name: '鍙版咕鐪�', value: 0 },
+ { name: '棣欐腐鐗瑰埆琛屾斂鍖�', value: 0 },
+ { name: '婢抽棬鐗瑰埆琛屾斂鍖�', value: 0 },
]
+ mapData.forEach(item => {
+ item.monthNum = 0
+ item.yearNum = 0
+ mapList.value.forEach(ite => {
+ if (item.name == ite.name) {
+ item.value = ite.value
+ item.monthNum = ite.monthNum
+ item.yearNum = ite.yearNum
+ }
+ })
+ })
+
const option = {
- backgroundColor: 'transparent', // 璁剧疆鑳屾櫙鑹查�忔槑
- // 蹇呴』璁剧疆
- tooltip: {
- show: false
+ //鏁版嵁鍒嗘
+ visualMap: {
+ type: 'piecewise',
+ pieces: [
+ { min: 100000, max: 99999999999, label: '鍑哄簱閲�10w浠ヤ笂', color: '#be6f2b' },
+ { min: 50000, max: 100000, label: '鍑哄簱閲�5-10w', color: '#c39332' },
+ { min: 20000, max: 50000, label: '鍑哄簱閲�2-5w', color: '#5ecbaf' },
+ { min: -1, max: 20000, label: '鍑哄簱閲�2w浠ヤ笅', color: '#325a9b' },
+ ],
+ itemWidth: 22,
+ itemHeight: 22,
+ textStyle: {
+ color: '#fff', // 鏂囨湰棰滆壊
+ fontSize: 14, // 瀛椾綋澶у皬
+ },
},
- // 鍦板浘闃村奖閰嶇疆
+ // 鎮诞绐�
+ tooltip: {
+ trigger: 'item',
+ backgroundColor: 'rgba(0,0,0,0.8)', //璁剧疆鑳屾櫙鍥剧墖 rgba鏍煎紡
+ color: '#fff',
+ borderWidth: '1', //杈规瀹藉害璁剧疆1
+ borderColor: 'gray', //璁剧疆杈规棰滆壊
+ textStyle: {
+ color: '#fff', //璁剧疆鏂囧瓧棰滆壊
+ },
+ extraCssText: 'width:120px;height:40px', // 璁剧疆鎻愮ず妗嗗楂樼瓑css鏍峰紡
+ formatter: function (params) {
+ return `${params.name}: <br /> ${params.value || 0}杈哷
+ },
+ },
geo: {
- map: 'china',
- // 杩欓噷蹇呴』瀹氫箟锛屼笉鐒跺悗闈eries閲岄潰涓嶇敓鏁�
- tooltip: {
- show: false
- },
+ // 杩欎釜鏄噸鐐� 鈥斺�� 杩欓噷璁剧疆涓哄湴鍥剧殑闃村奖
+ map: 'china', // 琛ㄧず涓浗鍦板浘
+ roam: false, // 绂佹鎷栨嫿
label: {
- show: false
+ // 鏍囧織淇℃伅
+ show: false, // 鏄惁鏄剧ず瀵瑰簲鍦板悕
},
- zoom: 1.6,
- silent: true, // 涓嶅搷搴旈紶鏍囨椂闂�
- show: true,
- roam: false, // 鍦板浘缂╂斁鍜屽钩绉�
- aspectScale: 0.75, // scale 鍦板浘鐨勯暱瀹芥瘮
+ silent: true, // 绂佹hover鏁堟灉
+ zoom: 1.4, // 鍦板浘姣斾緥
+ aspectScale: 0.9, // 姣斾緥
+ center: [105.194115019531, 36.582111640625], // 鍦板浘涓績浣嶇疆锛� 姝ゅ鐨勭含搴︿笌涓嬮潰鐨刢enter鐩稿樊1搴︽槸褰㈡垚闃村奖鐨勮窛绂伙紝鍙嚜宸遍殢鎰忚皟鏁�
itemStyle: {
- borderColor: '#2d5f9c',
- borderWidth: 1,
- areaColor: '#2d5f9c',
- shadowColor: 'rgba(1,34,73,0.48)',
- shadowBlur: 10,
- shadowOffsetX: -10, //
- shadowOffsetY: 10
- },
- select: {
- disabled: true
+ areaColor: '#152e4a', //鍦板浘闃村奖鐨勯鑹�
+ borderColor: '#f7f7f7', // 鐪佷唤杈规棰滆壊
+ borderWidth: 0.1, // 鐪佷唤杈规瀹藉害
+ // shadowBlur: 5, // 鐪佷唤杈规鑱氱劍
},
emphasis: {
- disabled: true,
- areaColor: '#00F1FF'
+ show: false,
},
- // 鍦板浘鍖哄煙鐨勫杈瑰舰 鍥惧舰鏍峰紡 闃村奖鏁堟灉
- // z鍊煎皬鐨勫浘褰細琚珃鍊煎ぇ鐨勫浘褰㈣鐩�
- top: '30.2%',
- left: 'center',
- // 鍘婚櫎鍗楁捣璇稿矝闃村奖 series map閲岄潰娌℃湁姝ゅ睘鎬�
- regions: [{
- name: '鍗楁捣璇稿矝',
- selected: false,
- emphasis: {
- disabled: true
+ //鍦板浘鐨勯槾褰变笉鏄剧ず鍗楁矙璇稿矝
+ regions: [
+ {
+ name: '鍗楁捣璇稿矝',
+ itemStyle: {
+ // 闅愯棌鍦板浘
+ normal: {
+ opacity: 0, // 涓� 0 鏃朵笉缁樺埗璇ュ浘褰�
+ },
+ emphasis: {
+ opacity: 0,
+ },
+ },
+ label: {
+ show: false, // 闅愯棌鏂囧瓧
+ },
},
- itemStyle: {
- areaColor: '#00000000',
- borderColor: '#00000000'
- }
- }],
- z: 1
+ ],
},
+ //閰嶇疆灞炴��
series: [
- // 鍦板浘閰嶇疆
{
type: 'map',
map: 'china',
- zoom: 1.6,
- tooltip: {
- show: false
- },
- label: {
- show: true, // 鏄剧ず鐪佷唤鍚嶇О
- color: '#fff',
- fontSize: 13,
- shadowColor: '#fff',
- shadowBlur: 10,
- shadowOffsetX: 2,
- shadowOffsetY: 2,
- textBorderColor: '#fff',
- // rotate: 90,
- align: 'center'
- },
- top: '28%',
- left: 'center',
- aspectScale: 0.75,
- roam: false, // 鍦板浘缂╂斁鍜屽钩绉�
- itemStyle: {
- borderColor: '#4278a3', // 鐪佸垎鐣岀嚎棰滆壊 闃村奖鏁堟灉鐨�
- borderWidth: 1,
- areaColor: '#1d3f71',
- opacity: 1
- },
- // 鍘婚櫎閫変腑鐘舵��
- select: {
- disabled: true
- },
- emphasis: { // 鑱氱劍鍚庨鑹�
- disabled: false, // 寮�鍚珮浜�
+ zoom: 1.4,
+ aspectScale: 0.9, // 姣斾緥
+ zlevel: 1, // 璁剧疆鍦板浘鐨勫眰绾э紝灏嗚鍦板浘涓婄Щ锛堢被浼紌-index锛�
+ emphasis: {
+ // 榧犳爣hover鏄惁鏄剧ず鍐呭锛屽彲鑷繁璋冭妭
label: {
- align: 'center',
- color: '#04CFF5'
+ show: true,
+ color: '#fff',
},
itemStyle: {
- color: '#ffffff',
- areaColor: '#3c87b2'// 闃村奖鏁堟灉 榧犳爣绉诲姩涓婂幓鐨勯鑹�
- }
- },
- z: 2
- },
- // 鐐�
- {
- name: 'companyPoint',
- type: 'effectScatter',
- coordinateSystem: 'geo',
- showEffectOn: 'render',
- // zlevel: 2, // zlevel鐢ㄤ簬 Canvas 鍒嗗眰 鐩稿悓鐨勭粯鍒跺湪鍚屼竴涓猚anvas涓�
- rippleEffect: {
- number: 3, // 娉㈢汗鏁伴噺
- period: 10, // 鍔ㄧ敾鍛ㄦ湡 鏁板�艰秺澶э紝娉㈠姩瓒婃參
- scale: 3.5, // 鍔ㄧ敾涓尝绾圭殑鏈�澶х缉鏀炬瘮渚�
- brushType: 'stroke' // 娉㈢汗鐨勭粯鍒舵柟寮� stroke fill
+ show: true,
+ color: '#00114F', // 楂樹寒鏂囧瓧棰滆壊
+ borderColor: '#a4d0ec', // 楂樹寒杈规棰滆壊
+ areaColor: '#63d5c1', //楂樹寒鍖哄煙棰滆壊
+ },
},
label: {
+ // 鍦板浘鏍囨敞
show: false,
- triggerOn: 'click',
- position: 'right',
- formatter: '{b}',
- color: '#97e9e1',
- fontSize: 14
},
- symbol: 'circle',
- symbolSize: 8,
- data: points,
tooltip: {
show: true,
triggerOn: 'click',
@@ -586,50 +663,49 @@
<span class="dot bj"></span>
<span class="item-state-num">
<span class="text">鏈湀鍑哄簱閲忥細</span>
- <span class="num">${params.data.total}涓囨敮</span>
+ <span class="num">${params.data.monthNum}涓囨敮</span>
</span>
</div>
<div class="item-state-con">
<span class="dot yj"></span>
<span class="item-state-num">
- <span class="text">鏈勾鍑哄簱閲�</span>
- <span class="num">${params.data.yx}涓囨敮</span>
+ <span class="text">鏈勾鍑哄簱閲忥細</span>
+ <span class="num">${params.data.yearNum}涓囨敮</span>
</span>
</div>
</div>`
}
},
- z: 4
+ itemStyle: {
+ borderColor: '#a4d0ec', // 鐪佷唤杈规棰滆壊
+ borderWidth: 1, // 鐪佷唤杈规瀹藉害
+ // shadowBlur: 5, // 鐪佷唤杈规鑱氱劍
+ areaColor: '#3c5997',
+ },
+ center: [105.194115019531, 35.582111640625], // 璁剧疆鍦板浘涓績
+ data: mapData,
},
- // 鍦板浘绾跨殑鍔ㄧ敾鏁堟灉
- // {
- // name: 'arrowline',
- // type: 'lines',
- // // zlevel: 1,
- // effect: {
- // show: true,
- // period: 3, // 绠ご鎸囧悜閫熷害锛屽�艰秺灏忛�熷害瓒婂揩
- // trailLength: 0.1, // 鐗规晥灏捐抗闀垮害[0,1]鍊艰秺澶э紝灏捐抗瓒婇暱閲�
- // symbol: 'arrow', // 绠ご鍥炬爣
- // symbolSize: 6 // 鍥炬爣澶у皬
- // },
- // lineStyle: {
- // color: '#1DE9B6',
- // width: 2, // 绾挎潯瀹藉害
- // opacity: 0.1, // 灏捐抗绾挎潯閫忔槑搴�
- // curveness: 0.2 // 灏捐抗绾挎潯鏇茬洿搴�
- // },
- // data: lineToLf,
- // z: 3
- // }
- ]
+ ],
}
myChart.setOption(option)
window.addEventListener('resize', function () {//鎵ц
myChart.resize()
})
}
-const initEnergy = (list) => {
+const getMap = () => {
+ mapYearAndMonthOutList({
+ factoryCode: activeCity.value.code
+ }).then(res => {
+ const temp = res.data || []
+ mapList.value = temp.map(item => {
+ item.value = item.monthNum
+ item.name = item.provinceName
+ return item
+ })
+ initMap()
+ })
+}
+const initEnergy = () => {
var myChart = echarts.init(document.querySelector('.energyRef'))
// 缁樺埗鍥捐〃
myChart.setOption({
@@ -678,7 +754,7 @@
axisLine: {
show: false
},
- data: list.map(i => i.dateStr)
+ data: dataList1.value.map(i => i.dateStr)
},
series: [
{
@@ -696,7 +772,7 @@
emphasis: {
focus: 'series'
},
- data: list.map(i => i.inTransitNum),
+ data: dataList1.value.map(i => i.waitNum),
itemStyle: {
normal: {
color: {
@@ -735,7 +811,7 @@
color: '#000000',
fontSize: 10
},
- data: list.map(i => i.inTransitNum),
+ data: dataList1.value.map(i => i.ingNum),
itemStyle: {
normal: {
color: {
@@ -788,20 +864,32 @@
emphasis: {
focus: 'series'
},
- data: list.map(i => i.arriveNum)
+ data: dataList1.value.map(i => i.doneNum)
}
]
})
myChart.on('click', function (params) {
- console.log(params.name)
+ // console.log(params.seriesName)
+ // console.log(params.name)
+ const item = dataList1.value.find(i => i.dateStr == params.name)
+ // console.log(params);
+ active1List.value = params.seriesName == '鍦ㄩ��' ? item.ingList : params.seriesName == '鍒拌揣' ? item.doneList : item.waitList
+ showModal1.value = true
})
window.addEventListener('resize', function () {//鎵ц
myChart.resize()
})
}
+const showModal1 = ref(false)
+const active1List = ref([])
+
+const dataList1 = ref([])
const getData1 = () => {
- getStorearriveGoodsList().then(res => {
- initEnergy(res.data || [])
+ getStorearriveGoodsList({
+ factoryCode: activeCity.value.code
+ }).then(res => {
+ dataList1.value = res.data || []
+ initEnergy()
})
}
@@ -810,19 +898,118 @@
const showModal = ref(false)
const modalInfo = ref({})
const modalTab = ref(0)
+const pager = ref({
+ page: 0,
+ rows: 10
+})
const modalTabClick = (val) => {
modalTab.value = val
}
const taskClick = (item) => {
- modalInfo.value = item
- showModal.value = true
+ kzorderInfo({ contractNumber: item.contractNumber }).then(res => {
+ modalInfo.value = res.data
+ showModal.value = true
+ console.log('modalInfo.value', modalInfo.value)
+ nextTick(() => {
+ initGdMap()
+ })
+ })
+}
+
+
+const mapContainer = ref(null)
+function distance(obj) {
+ const lat1 = obj.deliveryLat
+ const lng1 = obj.deliveryLon
+ const lat2 = obj.receiveLat
+ const lng2 = obj.receiveLon
+ const radLat1 = rad(lat1)
+ const radLat2 = rad(lat2)
+ const a = radLat1 - radLat2
+ const b = rad(lng1) - rad(lng2)
+ const Haversin = Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2),
+ 2)
+ const radius = 6378137 // 鍦扮悆鍗婂緞
+ return 2 * radius * Math.asin(Math.sqrt(Haversin))
+}
+function rad(d) {
+ return d * Math.PI / 180.0
+}
+const initGdMap = () => {
+ const obj = modalInfo.value
+ let scale = 5
+ console.log((obj.deliveryLon + obj.receiveLon))
+ const distancet = distance(obj)
+ if (distancet > 1200000) {
+ scale = 3
+ } else if (distancet < 1200000 && distancet > 500000) {
+ scale = 4
+ } else if (distancet < 500000) {
+ scale = 5
+ } else {
+ scale = 5
+ }
+ console.log('distancet', distancet)
+
+ const map = new AMap.Map(mapContainer.value, {
+ zoom: scale, // 鍒濆缂╂斁绾у埆
+ center: [(Number(obj.deliveryLon) + Number(obj.receiveLon)) / 2, (Number(obj.deliveryLat) + Number(obj.receiveLat)) / 2], // 鍒濆涓績鐐癸紙鍖椾含鍧愭爣锛�
+ })
+ AMap.plugin(['AMap.ToolBar'], () => {
+ const toolbar = new AMap.ToolBar()
+ map.addControl(toolbar)
+ })
+ const marker1 = new AMap.Marker({
+ position: [obj.deliveryLon, obj.deliveryLat], // 鏍囪鐐�1鍧愭爣
+ icon: new AMap.Icon({
+ size: new AMap.Size(28, 32), // 鍥炬爣澶у皬
+ image: fahuoImg, // 鍥炬爣鍥剧墖URL
+ imageSize: new AMap.Size(28, 32), // 鍥炬爣瀹為檯澶у皬
+ }),
+ title: '鏍囪鐐�1', // 榧犳爣鎮仠鏃舵樉绀虹殑鏍囬
+ })
+ map.add(marker1)
+ const marker2 = new AMap.Marker({
+ position: [obj.receiveLon, obj.receiveLat], // 鏍囪鐐�1鍧愭爣
+ icon: new AMap.Icon({
+ size: new AMap.Size(28, 32), // 鍥炬爣澶у皬
+ image: shouImg, // 鍥炬爣鍥剧墖URL
+ imageSize: new AMap.Size(28, 32), // 鍥炬爣瀹為檯澶у皬
+ }),
+ title: '鏍囪鐐�1', // 榧犳爣鎮仠鏃舵樉绀虹殑鏍囬
+ })
+ map.add(marker2)
+ // 缁樺埗杞ㄨ抗
+ const polylineList = obj.gisList[0].gisList || []
+
+ const polyline = new AMap.Polyline({
+ path: [
+ polylineList.map(i => {
+ return [i.lon, i.lat]
+ })
+ ],
+ strokeColor: 'red', // 绾跨殑棰滆壊
+ strokeWeight: 3, // 绾跨殑瀹藉害
+ strokeOpacity: 0.8, // 绾跨殑閫忔槑搴�
+ strokeStyle: 'solid', // 绾跨殑鏍峰紡
+ lineJoin: 'round', // 鎶樼嚎鎷愮偣鐨勬牱寮�
+ })
+ map.add(polyline)
}
const getData2 = () => {
- getStoreTaskList({ code: taskCode.value }).then(res => {
- let temp = res.data || []
- // temp = temp.splice(0, 5)
+
+ getStoreTaskList({
+ pager: pager.value,
+ parameters: {
+ contractNumber: taskCode.value,
+ facrotyCodeList: activeCity.value.code ? [activeCity.value.code] : []
+ }
+ }).then(res => {
+ let temp = res.data.rows || []
transportTask.value = temp.map(item => {
- item.taskDate = item.taskDate.slice(5, 16)
+ if (item.transportDate) {
+ item.transportDate = item.transportDate.slice(5, 16)
+ }
return item
})
})
@@ -830,27 +1017,22 @@
const cneterData = ref({})
const showPro = ref(false)
-const cityList = ref([
- { name: '鍏ㄧ渷', id: 0 },
- { name: '鍚堣偉浠�', id: 1 },
- { name: '鑺滄箹浠�', id: 2 },
- { name: '婊佸窞浠�', id: 3 },
- { name: '铓屽煚浠�', id: 4 },
-])
-const activeCity = ref({ name: '鍏ㄧ渷', id: 0 })
-const activeTab1 = ref(0)
+const cityList = ref()
+const getCity = () => {
+ kzfactoryList().then(res => {
+ cityList.value = res.data
+ })
+}
+const activeCity = ref({ name: '鍏ㄧ渷', code: '' })
const colors = ['#0193FE', '#FFB642']
-const StockOutData = ref([])
const cityClick = (item) => {
activeCity.value = item
showPro.value = false
- cneterData.value = {}
- setTimeout(() => {
- getData3()
- }, 400)
+ changeCity()
}
const initEchart1 = () => {
const myChart = echarts.init(document.getElementById('echart1'))
+
const option = {
tooltip: {
trigger: 'item'
@@ -867,7 +1049,7 @@
labelLine: {
show: false
},
- data: StockOutData.value
+ data: StockOutData.value.arr
}
]
}
@@ -876,274 +1058,40 @@
myChart.resize()
})
}
-const getStockOut = () => {
- let arr = []
- arr.push({ name: '鐪佸唴', value: (cneterData.value.yearProvinceRata * 100).toFixed(0) + '%' })
- arr.push({ name: '鐪佸', value: ((1 - cneterData.value.yearProvinceRata) * 100).toFixed(0) + '%' })
- arr.sort((a, b) => b.value - a.value)
- StockOutData.value = arr
- initEchart1()
-}
-const tab1Click = () => {
- activeTab1.value = val
+const activeTab1 = ref(0)
+const StockOutData = ref({})
+const getStockOut = () => {
+ kztotalOutQtyNum({ type: activeTab1.value, factoryCode: activeCity.value.code }).then(res => {
+ if (res.code == 200) {
+ let obj = res.data
+ obj.currentNum = (obj.currentOutNum + obj.currentInNum).toFixed(0) * 1
+ obj.lastNum = (obj.lastOutNum + obj.lastInNum).toFixed(0) * 1
+ // obj.sameNum = (obj.sameOutNum + obj.sameInNum).toFixed(0)
+ let arr = []
+ arr.push({ name: '鐪佸唴', value: obj.currentInNum, rate: obj.currentInNum == 0 && obj.currentOutNum == 0 ? 0 : (obj.currentInNum / (obj.currentInNum + obj.currentOutNum) * 100).toFixed(0) + '%' })
+ arr.push({ name: '鐪佸', value: obj.currentOutNum, rate: obj.currentInNum == 0 && obj.currentOutNum == 0 ? 0 : (obj.currentOutNum / (obj.currentInNum + obj.currentOutNum) * 100).toFixed(0) + '%' })
+ obj.arr = arr
+
+ StockOutData.value = obj
+ initEchart1()
+ }
+
+ })
+}
+const tab1Click = (val) => {
+ activeTab1.value = val
+ getStockOut()
}
const getData3 = () => {
getStorecenterData().then(res => {
cneterData.value = res.data || {}
- getStockOut()
})
}
-const activeTabs = ref(0)
-const dataList4 = ref([])
-const initEchart4 = () => {
- // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥
- const myChart = echarts.init(document.getElementById('echart4'))
- // 缁樺埗鍥捐〃
- myChart.setOption({
- tooltip: {
- trigger: 'axis',
- backgroundColor: '#091123',
- axisPointer: {
- type: 'line'
- },
- // formatter: function (params) {
- // setTimeout(() => {
- // })
- // return `
- // <div style="background-color: #091123;margin: -12px;padding: 14px;border: 2px solid rgba(1,217,254,0.5);color: #fff;">
- // <div>${params[0].name}鎬婚攢鍞(涓囧厓)</div>
- // <div style="display: flex;align-items: center;">
- // <div style="width: 10px;height: 10px;border-radius: 50%;background-color: #ebbf40;"></div>
- // <div style="margin: 0 4px 0 6px;">鎬婚攢鍞�</div>
- // <span style="color: #ebbf40;">${params[0].value}</span>
- // </div>
- // </div>
- // `
- // }
- },
- xAxis: {
- type: 'category',
- boundaryGap: false,
- data: dataList4.value.map(i => i.dateStr)
- },
- yAxis: {
- type: 'value',
- name: '涓囨敮',
- nameTextStyle: {
- padding: [0, 0, 0, -16] // 鍥涗釜鏁板瓧鍒嗗埆涓轰笂鍙充笅宸︿笌鍘熶綅缃窛绂�
- },
- splitLine: {
- show: true,
- lineStyle: {
- //杩欓噷杈撳叆绾挎潯鐨勬牱寮�
- color: 'rgba(255,255,255,0.14)',
- type: 'dashed',
- },
- splitNumber: 4
- }
- },
- legend: {
- itemGap: 24,
- icon: 'rect',
- right: '12px',
- top: '0',
- itemWidth: 16,
- itemHeight: 2,
- textStyle: {
- color: '#fff',
- borderColor: '#fff'
- },
- data: ['鎬诲叆搴撻噺', '鎬诲嚭搴撻噺', '搴撳瓨閲�']
- },
- grid: {
- top: '18%',
- left: '0%',
- right: '2%',
- bottom: '2%',
- containLabel: true
- },
- series: [
- {
- name: '鎬诲叆搴撻噺',
- data: dataList4.value.map(item => {
- return {
- name: item.dateStr,
- value: item.totalInNum,
- }
- }),
- type: 'line',
- areaStyle: {
- normal: {
- color: {
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [
- {
- offset: 0,
- color: "#4191f6" // 0% 澶勭殑棰滆壊
- },
- {
- offset: .4,
- color: "#203d79" // 0% 澶勭殑棰滆壊
- },
- {
- offset: 1,
- color: "#1b1b12" // 100% 澶勭殑棰滆壊
- }],
- globalCoord: false // 缂虹渷涓� false
- }
- }
- },
- lineStyle: { // 绾挎潯鏍峰紡
- color: {
- type: 'linear',
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [{
- offset: 0, color: '#4191f6' // 0% 澶勭殑棰滆壊
- }, {
- offset: 1, color: '#4191f6' // 100% 澶勭殑棰滆壊
- }],
- },
- width: 1.5, // 绾挎潯绮楃粏
- },
- symbol: 'circle',
- symbolSize: 4,
- itemStyle: {
- color: "#4190f4",
- borderColor: "rgba(255,255,255,.3)",
- borderWidth: 4,
- },
- smooth: true
- },
- {
- name: '鎬诲嚭搴撻噺',
- data: dataList4.value.map(item => {
- return {
- name: item.dateStr,
- value: item.totalOutNum,
- }
- }),
- type: 'line',
- areaStyle: {
- normal: {
- color: {
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [{
- offset: 0,
- color: "rgba(192, 156, 53,.7)" // 0% 澶勭殑棰滆壊
- }, {
- offset: 1,
- color: "#1b1b12" // 100% 澶勭殑棰滆壊
- }],
- globalCoord: false // 缂虹渷涓� false
- }
- }
- },
- lineStyle: { // 绾挎潯鏍峰紡
- color: {
- type: 'linear',
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [{
- offset: 0, color: '#F3BD00' // 0% 澶勭殑棰滆壊
- }, {
- offset: 1, color: '#F3BD00' // 100% 澶勭殑棰滆壊
- }],
- },
- width: 2, // 绾挎潯绮楃粏
- },
- symbol: 'circle',
- symbolSize: 4,
- itemStyle: {
- color: "#F3BD00",
- borderColor: "rgba(255,255,255,.3)",
- borderWidth: 4,
- },
- smooth: true
- },
- {
- name: '搴撳瓨閲�',
- data: dataList4.value.map(item => {
- return {
- name: item.dateStr,
- value: item.stockNum,
- }
- }),
- type: 'line',
- areaStyle: {
- normal: {
- color: {
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [{
- offset: 0,
- color: "rgba(218, 233, 250)" // 0% 澶勭殑棰滆壊
- }, {
- offset: 1,
- color: "#1b1b12" // 100% 澶勭殑棰滆壊
- }],
- globalCoord: false // 缂虹渷涓� false
- }
- }
- },
- lineStyle: { // 绾挎潯鏍峰紡
- color: {
- type: 'linear',
- x: 0,
- y: 0,
- x2: 0,
- y2: 1,
- colorStops: [{
- offset: 0, color: '#fff' // 0% 澶勭殑棰滆壊
- }, {
- offset: 1, color: '#fff' // 100% 澶勭殑棰滆壊
- }],
- },
- width: 2, // 绾挎潯绮楃粏
- },
- symbol: 'circle',
- symbolSize: 4,
- itemStyle: {
- color: "#fff",
- borderColor: "rgba(255,255,255,.3)",
- borderWidth: 4,
- },
- smooth: true
- },
- ]
- })
-
- window.addEventListener('resize', function () {//鎵ц
- myChart.resize()
- })
-}
-const tabsClick4 = (tab) => {
- activeTabs.value = tab
- getData4()
-}
-const getData4 = () => { // 杩涢攢瀛樿繍钀�
- getStoreOperationList({ queryType: activeTabs.value }).then(res => {
- console.log('res', res)
- dataList4.value = res.data || []
- // initEchart4()
- })
-}
-
-const dataList5 = ref([])
+const data5 = ref({})
+const data6 = ref({})
+const data7 = ref({})
const initEchart5 = () => {
// 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥
const myChart = echarts.init(document.getElementById('echart5'))
@@ -1153,7 +1101,7 @@
itemGap: 12,
// icon: 'circle',
right: '16%',
- top: '1%',
+ top: '0%',
data: ['鎬诲簱瀛�', '褰撳墠搴撳瓨', '搴撳瓨鍒╃敤鐜�'],
itemWidth: 20,
itemHeight: 10,
@@ -1188,7 +1136,7 @@
axisTick: {
show: false,
},
- data: dataList5.value.map(i => i.placeName),
+ data: data5.value.detailList.map(i => i.factoryName),
}],
yAxis: [
{
@@ -1196,7 +1144,7 @@
color: '#869CC9',
},
name: '涓囨敮',
- nameGap: 24,
+ nameGap: 16,
type: 'value',
axisLabel: {
show: true,
@@ -1217,7 +1165,7 @@
{
type: 'value',
name: '%',
- nameGap: 24,
+ nameGap: 16,
min: 0,
max: 100,
interval: 25,
@@ -1256,7 +1204,7 @@
},
barBorderRadius: [30, 30, 0, 0],
},
- data: dataList5.value.map(i => i.totalStockNum)
+ data: data5.value.detailList.map(i => i.totalNum)
},
{
name: '褰撳墠搴撳瓨',
@@ -1289,7 +1237,7 @@
},
barBorderRadius: [30, 30, 0, 0],
},
- data: dataList5.value.map(i => i.nowStockNum)
+ data: data5.value.detailList.map(i => i.currentNum)
},
{
name: '搴撳瓨鍒╃敤鐜�',
@@ -1307,7 +1255,7 @@
color: '#fff',
// formatter: '{c}' + '%',
},
- data: dataList5.value.map(i => i.stockRataNum)
+ data: data5.value.detailList.map(i => i.useRate)
}
]
})
@@ -1324,8 +1272,8 @@
legend: {
itemGap: 12,
// icon: 'circle',
- right: '16%',
- top: '1%',
+ right: '10%',
+ top: '0',
data: ['鍑哄簱鑳藉姏', '褰撴棩鍑哄簱閲�', '搴撳瓨鍒╃敤鐜�'],
itemWidth: 20,
itemHeight: 10,
@@ -1360,7 +1308,7 @@
axisTick: {
show: false,
},
- data: dataList5.value.map(i => i.placeName),
+ data: data6.value.detailList.map(i => i.factoryName),
}],
yAxis: [
{
@@ -1368,7 +1316,7 @@
color: '#869CC9',
},
name: '涓囨敮',
- nameGap: 24,
+ nameGap: 16,
type: 'value',
axisLabel: {
show: true,
@@ -1389,7 +1337,7 @@
{
type: 'value',
name: '%',
- nameGap: 24,
+ nameGap: 16,
min: 0,
max: 100,
interval: 25,
@@ -1403,7 +1351,7 @@
{
name: '鍑哄簱鑳藉姏',
type: 'bar',
- barWidth: 10,
+ barWidth: 14,
barGap: '60%',
label: {
show: false,
@@ -1428,14 +1376,14 @@
},
barBorderRadius: [30, 30, 0, 0],
},
- data: dataList5.value.map(i => i.totalStockNum),
+ data: data6.value.detailList.map(i => i.totalNum),
barGap: '-100%' // 璁剧疆鏌卞瓙瀹屽叏閲嶅彔
},
{
name: '褰撴棩鍑哄簱閲�',
type: 'bar',
- barWidth: 10,
+ barWidth: 14,
label: {
show: false,
position: 'top',
@@ -1463,7 +1411,7 @@
},
barBorderRadius: [30, 30, 0, 0],
},
- data: dataList5.value.map(i => i.nowStockNum),
+ data: data6.value.detailList.map(i => i.currentNum),
barGap: '-100%' // 璁剧疆鏌卞瓙瀹屽叏閲嶅彔
},
{
@@ -1482,7 +1430,7 @@
color: '#fff',
// formatter: '{c}' + '%',
},
- data: dataList5.value.map(i => i.stockRataNum)
+ data: data6.value.detailList.map(i => i.useRate)
}
]
})
@@ -1500,7 +1448,7 @@
itemGap: 12,
// icon: 'circle',
right: '16%',
- top: '1%',
+ top: '0%',
data: ['鎬诲簱瀛�', '褰撳墠搴撳瓨', '搴撳瓨鍒╃敤鐜�'],
itemWidth: 20,
itemHeight: 10,
@@ -1535,7 +1483,7 @@
axisTick: {
show: false,
},
- data: dataList5.value.map(i => i.placeName),
+ data: data7.value.detailList.map(i => i.factoryName),
}],
yAxis: [
{
@@ -1543,7 +1491,7 @@
color: '#869CC9',
},
name: '涓囨敮',
- nameGap: 24,
+ nameGap: 16,
type: 'value',
axisLabel: {
show: true,
@@ -1564,7 +1512,7 @@
{
type: 'value',
name: '%',
- nameGap: 24,
+ nameGap: 16,
min: 0,
max: 100,
interval: 25,
@@ -1603,7 +1551,7 @@
},
barBorderRadius: [30, 30, 0, 0],
},
- data: dataList5.value.map(i => i.totalStockNum)
+ data: data7.value.detailList.map(i => i.totalNum)
},
{
name: '褰撳墠搴撳瓨',
@@ -1636,7 +1584,7 @@
},
barBorderRadius: [30, 30, 0, 0],
},
- data: dataList5.value.map(i => i.nowStockNum)
+ data: data7.value.detailList.map(i => i.currentNum)
},
{
name: '搴撳瓨鍒╃敤鐜�',
@@ -1654,7 +1602,7 @@
color: '#fff',
// formatter: '{c}' + '%',
},
- data: dataList5.value.map(i => i.stockRataNum)
+ data: data7.value.detailList.map(i => i.useRate)
}
]
})
@@ -1664,14 +1612,33 @@
})
}
const getData5 = () => {
- getStoreenergyDataList({ queryType: activeTabs.value }).then(res => {
- console.log('res', res)
- dataList5.value = res.data || []
+ kzinventoryUseRate().then(res => {
+ data5.value = res.data
+ data5.value.detailList.forEach(item => {
+ item.useRate = item.useRate * 100
+ })
initEchart5()
+ })
+ outAbilityUseRate().then(res => {
+ data6.value = res.data
+ data6.value.detailList.forEach(item => {
+ item.useRate = item.useRate * 100
+ })
initEchart6()
+ })
+ tranportAbilityUseRate().then(res => {
+ data7.value = res.data
+ data7.value.detailList.forEach(item => {
+ item.useRate = item.useRate * 100
+ })
initEchart7()
})
+
+ // initEchart6()
+ // initEchart7()
+
}
+
const autoplayFlag = (list = [], leng = 4, time = 2000) => {
if (list.length > leng) {
@@ -1690,22 +1657,18 @@
})
}
-const initData = () => {
+const changeCity = () => {
getData1()
+ getStockOut()
+ getMap()
getData2()
getData3()
- getData4()
- getData5()
}
onMounted(() => {
- initData()
-
- initMap()
- // initEchart2()
- // initEchart3()
- // initEchart4()
- // initEchart5()
+ getCity()
+ changeCity()
+ getData5()
setTimeout(() => {
loopFn1()
}, 12000)
@@ -1878,6 +1841,10 @@
.second_title {
margin-bottom: 10px;
+
+ input {
+ font-size: 12px;
+ }
}
.list_wrap {
@@ -1905,6 +1872,15 @@
text-overflow: ellipsis;
}
+ .status {
+ flex: 5;
+ }
+ }
+
+ .avtive {
+ background: rgba(1, 171, 254, 0.2);
+ color: #01D9FE;
+ font-weight: 600;
}
.header {
@@ -2072,6 +2048,36 @@
margin-right: 4px;
display: flex;
position: relative;
+
+ .node {
+ position: absolute;
+ left: 69%;
+ top: -20px;
+ width: 22px;
+ height: 70px;
+ z-index: 999;
+ overflow: hidden;
+
+ .node_icon {
+ background-color: #051623;
+ height: 16px;
+
+ .icon {
+ background-color: #25333f;
+ height: 16px;
+ width: 16px;
+ position: absolute;
+ top: 20px;
+ right: -8px;
+ border-radius: 50%;
+ overflow: hidden;
+ }
+
+ .icon2 {
+ right: 12px;
+ }
+ }
+ }
}
.box {
@@ -2082,7 +2088,7 @@
position: absolute;
top: 0;
left: 0;
- z-index: 99;
+ z-index: 9999;
.tag {
position: absolute;
@@ -2159,34 +2165,44 @@
/* transform: scale(.2); */
}
- .list {
+ .modal1 {
+ width: 500px;
+ height: 224px;
+ background: rgba(0, 86, 255, 0.1);
+ backdrop-filter: blur(5px);
+ padding: 12px 30px;
position: absolute;
- left: 24px;
- bottom: 10px;
+ top: 36px;
+ left: 12px;
+ border: 1px solid #4ba7f7;
- .item {
- display: flex;
- align-items: center;
- font-size: 15px;
- color: #D2E0FF;
- margin-top: 20px;
- .icon {
- width: 22px;
- height: 22px;
- background: rgba(255, 125, 9, 0.8);
- margin-right: 12px;
- }
- .icon2{
- background: rgba(254,175,1,0.8);
- }
- .icon3{
- background: rgba(9,250,205,0.8);
- }
- .icon4{
- background: #225BA1;
+ .list {
+ height: 192px;
+ overflow: auto;
+
+ .line {
+ display: flex;
+ align-items: center;
+ height: 32px;
+ color: #fff;
+ font-size: 12px;
+
+ &:nth-of-type(2n) {
+ background: rgba(134, 156, 201, 0.05);
+ }
+
+ .item {
+ flex: 2;
+ }
}
+ .head {
+ font-weight: 500;
+ font-size: 13px;
+ color: #01D9FE;
+ }
}
+
}
}
}
@@ -2323,8 +2339,21 @@
top: 20%;
left: 50%;
transform: translate(-50%, 0);
- z-index: 999;
+ z-index: 99999;
padding: 24px;
+
+ #map-container {
+ width: 300px;
+ height: 180px;
+ position: absolute;
+ top: 220px;
+ right: 10px;
+ z-index: 999999;
+ :deep(.amap-markers){
+ left: -12px !important;
+ top: -32px !important;
+ }
+ }
.title_head {
display: flex;
@@ -2342,6 +2371,10 @@
.info {
display: flex;
flex-wrap: wrap;
+ background-color: #0d2845;
+ border-radius: 4px;
+ padding: 10px 20px 0;
+ margin-bottom: 16px;
.item {
display: flex;
@@ -2368,59 +2401,8 @@
}
}
- .tabs {
- display: flex;
- border-bottom: 1px solid rgba(255, 255, 255, 0.16);
- margin: 0 -24px;
- margin-bottom: 20px;
- padding-left: 12px;
-
- .tab {
- color: #869CC9;
- font-size: 14px;
- margin-left: 12px;
- height: 42px;
- display: flex;
- align-items: center;
- justify-content: center;
- border-bottom: 2px solid #06182e;
- cursor: pointer;
- }
-
- .active {
- font-weight: 500;
- font-size: 15px;
- color: #00F2F3;
- border-bottom: 2px solid #00F2F3;
- }
- }
-
- .ht_info {
- display: flex;
- flex-wrap: wrap;
- padding: 10px 10px 0;
- background-color: #0d2845;
- margin-bottom: 20px;
-
- .item {
- display: flex;
- align-items: center;
- font-size: 13px;
- width: 55%;
- margin-bottom: 8px;
-
- &:nth-of-type(2n+1) {
- width: 45%;
- }
-
- .la {
- color: #01D9FE;
- }
- }
- }
-
- .tab1 {
- .title {
+ .logistics_wrap {
+ .m_title {
display: flex;
align-items: center;
font-style: 16px;
@@ -2433,64 +2415,115 @@
}
}
- .item {
- display: flex;
- margin-left: 6px;
+ .fu_list {
+ height: 310px;
+ margin-top: 20px;
+ overflow: auto;
- &:nth-last-child(1) {
- .content {
- .time {
- padding-bottom: 0;
+
+ .fu_item {
+ .item_title {
+ margin-bottom: 6px;
+
+ .icon {
+ width: 36px;
+ display: flex;
+
+ img {
+ width: 20px;
+ height: 20px;
+ }
}
}
}
+ .separate {
+ height: calc(100% - 125px);
+ width: 1px;
+ border: 1px dashed #CCCCCC;
+ position: absolute;
+ left: 26px;
+ top: 51px;
+ z-index: -1;
+ }
+
+ .title {
+ font-weight: 500;
+ font-size: 16px;
+ color: #222222;
+ margin-bottom: 10px;
+ }
+
+ .line {
+ display: flex;
+ margin-bottom: 12px;
+
+ .label {
+ color: #becbe9;
+ margin-right: 20px;
+ }
+
+ .val {}
+ }
+
+ .item_title {
+ font-weight: 600;
+ font-size: 16px;
+ display: flex;
+ align-items: center;
+ display: flex;
+
+ .icon {}
+ }
+
.icon_wrap {
width: 24px;
- margin-right: 10px;
+ margin-right: 15px;
display: flex;
- flex-direction: column;
align-items: center;
+ justify-content: center;
- .dian {
- width: 12px;
- height: 12px;
- }
-
- .dian_ac {
+ .icon {
width: 24px;
height: 24px;
- }
-
- .line {
- width: 1px;
- height: 100%;
- border: 1px dashed #8a9bc5;
+ position: relative;
+ z-index: 2;
}
}
- .content {
- font-size: 13px;
- color: #D2E0FF;
-
- .status {
- font-weight: 500;
- font-size: 14px;
- margin-bottom: 5px;
- color: #fff;
- }
+ .item {
+ position: relative;
+ color: #b1bfdc;
+ margin-bottom: 15px;
.text {
- margin-bottom: 4px;
+ color: #b1bfdc;
}
+ .icon {
+ width: 10px;
+ height: 10px;
+ position: relative;
+ z-index: 2;
+ }
+
+ .h2 {
+ display: flex;
+ align-items: center;
+ height: 24px;
+ }
+
+ .h1 {}
+
.time {
+ padding-left: 39px;
font-size: 12px;
- padding-bottom: 12px;
+ margin-top: 3px;
}
}
}
}
+
}
@@ -2500,7 +2533,7 @@
height: 100%;
top: 0;
left: 0;
- z-index: 99;
+ z-index: 9999;
background-color: rgba(0, 0, 0, 0.1);
/* background-color: red; */
}
@@ -2548,7 +2581,7 @@
align-items: center;
font-size: 14px;
color: #869CC9;
- width: 96px;
+ width: 110px;
height: 28px;
border-radius: 14px;
border: 1px solid #869CC9;
diff --git a/screen/src/views/videoUrl/Videos.vue b/screen/src/views/videoUrl/Videos.vue
index c6b1d03..fbc57d3 100644
--- a/screen/src/views/videoUrl/Videos.vue
+++ b/screen/src/views/videoUrl/Videos.vue
@@ -127,7 +127,7 @@
let layout = "1x4" //playMode鎸囧畾妯″紡鐨勫竷灞�
let enableHTTPS = 1 //鏄惁鍚敤HTTPS鍗忚涓庣患鍚堝畨闃茬鐞嗗钩鍙颁氦浜掞紝杩欓噷鎬绘槸濉�1
let encryptedFields = 'secret' //鍔犲瘑瀛楁锛岄粯璁ゅ姞瀵嗛鍩熶负secret
- let showToolbar = 0 //鏄惁鏄剧ず宸ュ叿鏍忥紝0-涓嶆樉绀猴紝闈�0-鏄剧ず
+ let showToolbar = 0 //鏄惁鏄剧ず宸ュ叿鏍忥紝0-涓嶆樉绀猴紝闈�0-鏄剧ず
let showSmart = 0 //鏄惁鏄剧ず鏅鸿兘淇℃伅锛堝閰嶇疆绉诲姩渚︽祴鍚庣敾闈笂鐨勭嚎妗嗭級锛�0-涓嶆樉绀猴紝闈�0-鏄剧ず
let buttonIDs =""
// let buttonIDs = "0,16,256,257,258,259,260,513,514,515,516,517,768" //鑷畾涔夊伐鍏锋潯鎸夐挳
@@ -146,7 +146,7 @@
encryptedFields: encryptedFields, //鍔犲瘑瀛楁
showToolbar: showToolbar, //鏄惁鏄剧ず宸ュ叿鏍�
showSmart: showSmart, //鏄惁鏄剧ず鏅鸿兘淇℃伅
- buttonIDs: buttonIDs //鑷畾涔夊伐鍏锋潯鎸夐挳
+ // buttonIDs: buttonIDs //鑷畾涔夊伐鍏锋潯鎸夐挳
})
}).then(function (oData) {
console.log('鍒濆鍖栨垚鍔�')
diff --git a/screen/vite.config.js b/screen/vite.config.js
index a9d005f..744c787 100644
--- a/screen/vite.config.js
+++ b/screen/vite.config.js
@@ -25,8 +25,8 @@
server: {
proxy: {
"/gateway_interface": {
- // target: "http://192.168.0.103:10010",
- target: "http://10.50.250.253:8088/gateway_interface",
+ target: "http://192.168.0.104:10010",
+ // target: "http://10.50.250.253:8088/gateway_interface",
// target: "http://192.168.0.173/gateway_interface",
changeOrigin: true,
rewrite: (path) => path.replace(/^\/gateway_interface/, ""),
--
Gitblit v1.9.3