12.8
|
@ -46,6 +46,8 @@ module.exports = {
|
||||||
this.createShipmentShipLoadPlansRespList()
|
this.createShipmentShipLoadPlansRespList()
|
||||||
// 创建作业查询明细
|
// 创建作业查询明细
|
||||||
this.createWorkQueryDetails()
|
this.createWorkQueryDetails()
|
||||||
|
// 创建作业查询车架号明细
|
||||||
|
this.createVinCodeDetails()
|
||||||
// 创建下拉数据
|
// 创建下拉数据
|
||||||
this.createShipOption()
|
this.createShipOption()
|
||||||
// 创建单证签名表
|
// 创建单证签名表
|
||||||
|
@ -168,13 +170,19 @@ module.exports = {
|
||||||
// 创建作业查询 shipmentShipLoadPlansRespList
|
// 创建作业查询 shipmentShipLoadPlansRespList
|
||||||
createShipmentShipLoadPlansRespList() {
|
createShipmentShipLoadPlansRespList() {
|
||||||
let sql =
|
let sql =
|
||||||
'CREATE TABLE if not exists shipmentShipLoadPlansRespList ("webId" text NOT NULL,"vtpId" text,"agentId" text,"agentName" text,"amount" text,"brdId" text,"brdName" text,"bvdId" text,"bvdName" text,"bvmId" text,"bvmName" text,"carHeight" text,"carLength" text,"carWidth" text,"customsDeclareNo" text,"customsDeclareStatus" text,"mnfBl" text,"potId" text,"potName" text,"sourceType" text,"vvyId" text,"vvyName" text,"yardPos" text,"webStatus" text,"webDate" text, PRIMARY KEY("webId"));'
|
'CREATE TABLE if not exists shipmentShipLoadPlansRespList ("webId" text NOT NULL,"vtpId" text,"agentId" text,"agentName" text,"amount" text,"brdId" text,"brdName" text,"bvdId" text,"bvdName" text,"bvmId" text,"bvmName" text,"carHeight" text,"carLength" text,"carWidth" text,"consignee" text,"customsDeclareNo" text,"customsDeclareStatus" text,"ieFg" text,"ieFgNm" text,"mnfBl" text,"model" text,"potId" text,"potName" text,"sourceType" text,"sourceTypeNm" text,"spmId" text,"telephone" text,"ticketGtpks" text,"ticketVolume" text,"ticketWeight" text,"tradeType" text,"tradeTypeNm" text,"volume" text,"vslCnname" text,"vvyId" text,"vvyName" text,"weight" text,"yardPos" text,"webStatus" text,"webDate" text, PRIMARY KEY("webId"));'
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
},
|
},
|
||||||
// 创建作业查询明细 workQueryDetails
|
// 创建作业查询明细 workQueryDetails
|
||||||
createWorkQueryDetails() {
|
createWorkQueryDetails() {
|
||||||
let sql =
|
let sql =
|
||||||
'CREATE TABLE if not exists workQueryDetails ("webId" text NOT NULL,"vtpId" text,"contactId" text,"agentId" text,"agentName" text,"amount" text,"brdId" text,"brdName" text,"bvdId" text,"bvdName" text,"bvmId" text,"bvmName" text,"carHeight" text,"carLength" text,"carWidth" text,"consignee" text,"customsDeclareNo" text,"customsDeclareStatus" text,"importExportFlag" text,"mnfBl" text,"model" text,"potId" text,"potName" text,"sourceType" text,"spmId" text,"telephone" text,"ticketGtpks" text,"ticketVolume" text,"ticketWeight" text,"tradeType" text,"webStatus" text,"webDate" text, PRIMARY KEY("webId"));'
|
'CREATE TABLE if not exists workQueryDetails ("webId" text NOT NULL,"vtpId" text,"contactId" text,"agentId" text,"agentName" text,"amount" text,"brdId" text,"brdName" text,"bvdId" text,"bvdName" text,"bvmId" text,"bvmName" text,"carHeight" text,"carLength" text,"carWidth" text,"consignee" text,"customsDeclareNo" text,"customsDeclareStatus" text,"ieFg" text,"ieFgNm" text,"mnfBl" text,"model" text,"potId" text,"potName" text,"sourceType" text,"sourceTypeNm" text,"spmId" text,"telephone" text,"ticketGtpks" text,"ticketVolume" text,"ticketWeight" text,"tradeType" text,"tradeTypeNm" text,"volume" text,"vslCnname" text,"vvyId" text,"vvyName" text,"weight" text,"yardPos" text,"webStatus" text,"webDate" text, PRIMARY KEY("webId"));'
|
||||||
|
this.executeSql(sql)
|
||||||
|
},
|
||||||
|
// 创建作业查询车架号明细
|
||||||
|
createVinCodeDetails() {
|
||||||
|
let sql =
|
||||||
|
'CREATE TABLE if not exists vinCodeDetails ("webId" text NOT NULL,"vtpId" text,"contactId" text,"godId" text,"storeArea" text,"storeLine" text,"storeSeat" text,"vinCode" text,"yacId" text,"yardId" text,"yardName" text,"yardPos" text,"webStatus" text,"webDate" text, PRIMARY KEY("webId"));'
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
},
|
},
|
||||||
// 创建下拉数据 shipOption
|
// 创建下拉数据 shipOption
|
||||||
|
|
|
@ -60,6 +60,14 @@
|
||||||
mounted() {
|
mounted() {
|
||||||
this.vtpId = uni.getStorageSync('vtpId')
|
this.vtpId = uni.getStorageSync('vtpId')
|
||||||
this.executeSql1("voyageScheduleDataDetailRespDTOList")
|
this.executeSql1("voyageScheduleDataDetailRespDTOList")
|
||||||
|
let that = this
|
||||||
|
setTimeout(function() {
|
||||||
|
that.shipList.forEach((v, index) => {
|
||||||
|
if (v.vtpId == that.vtpId) {
|
||||||
|
that.activeIndex = index
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}, 100)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 船只
|
// 船只
|
||||||
|
@ -90,6 +98,7 @@
|
||||||
this.$refs.popup.close()
|
this.$refs.popup.close()
|
||||||
this.title = `${this.shipName} 进口航次:${this.inVvyName} / 出口航次:${this.outVvyName}`
|
this.title = `${this.shipName} 进口航次:${this.inVvyName} / 出口航次:${this.outVvyName}`
|
||||||
uni.setStorageSync('shipWorkTitle', this.title)
|
uni.setStorageSync('shipWorkTitle', this.title)
|
||||||
|
this.$emit("isPreview", this.title)
|
||||||
},
|
},
|
||||||
// 查
|
// 查
|
||||||
executeSql(sql) {
|
executeSql(sql) {
|
||||||
|
@ -114,8 +123,32 @@
|
||||||
shipName: v.spmName,
|
shipName: v.spmName,
|
||||||
vtpId: v.vtpId
|
vtpId: v.vtpId
|
||||||
}
|
}
|
||||||
this.shipList.push(obj)
|
this.shipList.unshift(obj)
|
||||||
})
|
})
|
||||||
|
const array = this.shipList
|
||||||
|
const mergedArray = array.reduce((accumulator, currentValue) => {
|
||||||
|
const existingValue = accumulator.find(item => item.vtpId === currentValue.vtpId);
|
||||||
|
if (existingValue) {
|
||||||
|
// 如果找到了具有相同 vtpId 的元素,则合并它们的值
|
||||||
|
if (existingValue.inVvyId == "") {
|
||||||
|
existingValue.inVvyId = currentValue.inVvyId;
|
||||||
|
}
|
||||||
|
if (existingValue.inVvyName == "") {
|
||||||
|
existingValue.inVvyName = currentValue.inVvyName;
|
||||||
|
}
|
||||||
|
if (existingValue.outVvyId == "") {
|
||||||
|
existingValue.outVvyId = currentValue.outVvyId;
|
||||||
|
}
|
||||||
|
if (existingValue.outVvyName == "") {
|
||||||
|
existingValue.outVvyName = currentValue.outVvyName;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 如果没有找到具有相同 vtpId 的元素,则将当前元素添加到 accumulator 中
|
||||||
|
accumulator.push(currentValue);
|
||||||
|
}
|
||||||
|
return accumulator;
|
||||||
|
}, []);
|
||||||
|
this.shipList = mergedArray
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
// 在reject时执行的回调函数
|
// 在reject时执行的回调函数
|
||||||
console.error(error);
|
console.error(error);
|
||||||
|
@ -155,7 +188,7 @@
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.10);
|
box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.10);
|
||||||
z-index: 9999;
|
z-index: 997;
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
|
@ -508,136 +508,70 @@
|
||||||
</custom-tab-pane>
|
</custom-tab-pane>
|
||||||
<custom-tab-pane label="场位图" name="c1_3">
|
<custom-tab-pane label="场位图" name="c1_3">
|
||||||
<view class="main">
|
<view class="main">
|
||||||
<view>
|
<view></view>
|
||||||
<template v-if="placeTabs == 0">
|
<view class="form">
|
||||||
<view class="field">
|
<view class="inputBox">
|
||||||
<view class="boxTop">
|
<view class="leftInput">
|
||||||
<view class="title">
|
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
|
||||||
堆场
|
placeholder="提单号" @iconClick="search"></uni-easyinput>
|
||||||
</view>
|
</view>
|
||||||
<view class="option">
|
<view class="rightInput">
|
||||||
<uni-data-select v-model="optionValue"
|
<superwei-combox class="input dc" :candidates="dcList" :isJSON="true"
|
||||||
:localdata="optionList"></uni-data-select>
|
keyName="pymName" placeholder="堆场" v-model="dcName"
|
||||||
</view>
|
@select="dcSelect"></superwei-combox>
|
||||||
|
<superwei-combox class="input" :candidates="qyList" :isJSON="true"
|
||||||
|
keyName="pyaAreaCode" placeholder="区域" v-model="qyName"
|
||||||
|
@select="qySelect"></superwei-combox>
|
||||||
|
<superwei-combox class="input" :candidates="brandList" :isJSON="true"
|
||||||
|
keyName="brdName" placeholder="品牌" v-model="brdName"
|
||||||
|
@select="brandSelect"></superwei-combox>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cwMain">
|
||||||
|
<view class="cwTop">
|
||||||
|
<view style="display: flex;">
|
||||||
|
<view class="statusText">
|
||||||
|
<view class="status kz"></view>
|
||||||
|
<text>空置</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="fpList">
|
<view class="statusText">
|
||||||
<view class="fpInfo">
|
<view class="status sy"></view>
|
||||||
<view class="fpTitle">
|
<text>使用</text>
|
||||||
港建库
|
|
||||||
</view>
|
|
||||||
<view class="fpListInfo">
|
|
||||||
<view class="infoTop">
|
|
||||||
<view class="infoTopTitle">A1区(12*12)</view>
|
|
||||||
<view class="titleRight" @click="toGoPlace">
|
|
||||||
<text>车道</text>
|
|
||||||
<view class="titleIcon">
|
|
||||||
<van-icon name="arrow" color="#fff" />
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="infoCarNum">
|
|
||||||
<text>车位总数:120车位</text>
|
|
||||||
<text>使用:40车位</text>
|
|
||||||
<text>剩余:40车位</text>
|
|
||||||
<text>可停放车辆:300辆</text>
|
|
||||||
<text>已停放车辆:300辆</text>
|
|
||||||
</view>
|
|
||||||
<view class="progressBox">
|
|
||||||
<van-progress :percentage="itemSum2(2000)"
|
|
||||||
:pivot-text="'1000/' + 2000" />
|
|
||||||
</view>
|
|
||||||
<view class="carInfoList">
|
|
||||||
<view class="carBrand" v-for="item in 4" :key="item">
|
|
||||||
<view class="brandTitle">
|
|
||||||
保时捷-轿车
|
|
||||||
</view>
|
|
||||||
<view class="placeInfo">
|
|
||||||
400 辆,共5道12车位
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="fpListInfo notListInfo">
|
|
||||||
<view class="infoTop">
|
|
||||||
<view class="infoTopTitle">A1区(12*12)</view>
|
|
||||||
<view class="titleRight" @click="toGoPlace">
|
|
||||||
<text>车道</text>
|
|
||||||
<view class="titleIcon">
|
|
||||||
<van-icon name="arrow" color="#fff" />
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="notTitle">
|
|
||||||
未分配
|
|
||||||
</view>
|
|
||||||
<text>车位总数:120车位</text>
|
|
||||||
<text>可停放车辆:300辆</text>
|
|
||||||
</view>
|
|
||||||
<view class="tipInfo">
|
|
||||||
未使用2车道20车位
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="fpInfo">
|
|
||||||
<view class="fpTitle">
|
|
||||||
海棠库
|
|
||||||
</view>
|
|
||||||
<view class="fpListInfo notListInfo">
|
|
||||||
<view class="infoTop">
|
|
||||||
<view class="infoTopTitle">A1区(12*12)</view>
|
|
||||||
<view class="titleRight" @click="toGoPlace">
|
|
||||||
<text>车道</text>
|
|
||||||
<view class="titleIcon">
|
|
||||||
<van-icon name="arrow" color="#fff" />
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="notTitle">
|
|
||||||
未分配
|
|
||||||
</view>
|
|
||||||
<text>车位总数:120车位</text>
|
|
||||||
<text>可停放车辆:300辆</text>
|
|
||||||
</view>
|
|
||||||
<view class="fpListInfo">
|
|
||||||
<view class="carInfoList">
|
|
||||||
<view class="infoTop">
|
|
||||||
<view class="infoTopTitle">A1区(12*12)</view>
|
|
||||||
<view class="titleRight" @click="toGoPlace">
|
|
||||||
<text>车道</text>
|
|
||||||
<view class="titleIcon">
|
|
||||||
<van-icon name="arrow" color="#fff" />
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="infoCarNum">
|
|
||||||
<text>车位总数:120车位</text>
|
|
||||||
<text>使用:40车位</text>
|
|
||||||
<text>剩余:40车位</text>
|
|
||||||
<text>可停放车辆:300辆</text>
|
|
||||||
<text>已停放车辆:300辆</text>
|
|
||||||
</view>
|
|
||||||
<view class="progressBox">
|
|
||||||
<van-progress :percentage="itemSum2(2000)"
|
|
||||||
:pivot-text="'1000/' + 2000" />
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="carInfoList">
|
|
||||||
<view class="carBrand" v-for="item in 4" :key="item">
|
|
||||||
<view class="brandTitle">
|
|
||||||
保时捷-轿车
|
|
||||||
</view>
|
|
||||||
<view class="placeInfo">
|
|
||||||
400 辆,共5道12车位
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
<view class="topRight">
|
||||||
<template v-else>
|
<p>港区:{{cwData.pamName}}</p>
|
||||||
<place @modifyPlaceTabs="modifyPlaceTabs"></place>
|
<p>船名/航次:{{cwData.voyName}}</p>
|
||||||
</template>
|
<p>总数量:{{cwData.total}}</p>
|
||||||
|
<p>已配数量:{{cwData.allocatNumber}}</p>
|
||||||
|
<p>未配数量:{{cwData.notNumber}}</p>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cwTitle">
|
||||||
|
<view class="titleLeft">
|
||||||
|
车道
|
||||||
|
</view>
|
||||||
|
<view class="titleRight">
|
||||||
|
车位
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cwContent">
|
||||||
|
<view class="cwLeftBox">
|
||||||
|
<view class="cwLeft" v-for="item in cdList.length" :key="item">
|
||||||
|
<template v-if="item > 0 && item <= 9">0</template>
|
||||||
|
{{item}}道
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cwRightBox">
|
||||||
|
<view class="cwRight"
|
||||||
|
:style="{height:(item.index > 1 ? item.index*32 + 'px':''),background: (item.index > 1 ? '#C7D4F3':'')}"
|
||||||
|
v-for="(item,idx) in rigthCw" :key="idx">
|
||||||
|
<text v-if="item.name == '空置'">{{item.name}}</text>
|
||||||
|
<p v-else>{{item.name}}</p>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</custom-tab-pane>
|
</custom-tab-pane>
|
||||||
|
@ -692,7 +626,6 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import HeadView from '@/components/head-view/head-view.vue';
|
import HeadView from '@/components/head-view/head-view.vue';
|
||||||
import place from './place.vue';
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -710,12 +643,14 @@
|
||||||
mnfBlList: [],
|
mnfBlList: [],
|
||||||
// 发送状态
|
// 发送状态
|
||||||
sendList: [{
|
sendList: [{
|
||||||
vale: "1",
|
vale: "1",
|
||||||
text: "已发送"
|
text: "已发送"
|
||||||
}, {
|
},
|
||||||
vale: "0",
|
{
|
||||||
text: "未发送"
|
vale: "0",
|
||||||
}],
|
text: "未发送"
|
||||||
|
}
|
||||||
|
],
|
||||||
sendValue: "",
|
sendValue: "",
|
||||||
sendText: "",
|
sendText: "",
|
||||||
// 品牌
|
// 品牌
|
||||||
|
@ -754,29 +689,22 @@
|
||||||
zTjActive: -1,
|
zTjActive: -1,
|
||||||
zTjList: {},
|
zTjList: {},
|
||||||
|
|
||||||
optionValue: "",
|
// 场位图数据
|
||||||
optionList: [{
|
// 港区信息
|
||||||
value: "0",
|
portObj: {},
|
||||||
text: "全部堆场"
|
// 堆场信息
|
||||||
},
|
dcId: "",
|
||||||
{
|
dcName: "",
|
||||||
alue: "1",
|
dcList: [],
|
||||||
text: "外六"
|
// 区域信息
|
||||||
},
|
qyId: "",
|
||||||
{
|
qyName: "",
|
||||||
alue: "2",
|
qyList: "",
|
||||||
text: "港建库"
|
// 车道信息
|
||||||
},
|
cdList: [],
|
||||||
{
|
// 场位信息
|
||||||
alue: "3",
|
cwData: {},
|
||||||
text: "高东库"
|
rigthCw: [],
|
||||||
},
|
|
||||||
{
|
|
||||||
alue: "4",
|
|
||||||
text: "江海库"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
placeTabs: 0,
|
|
||||||
|
|
||||||
// 分页
|
// 分页
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
|
@ -790,31 +718,25 @@
|
||||||
return sum
|
return sum
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
itemSum2() {
|
|
||||||
return function(item) {
|
|
||||||
let sum = 1000 / item * 100
|
|
||||||
return sum
|
|
||||||
};
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
this.shipInfo = JSON.parse(decodeURIComponent(options.params)).shipInfo
|
this.shipInfo = JSON.parse(decodeURIComponent(options.params)).shipInfo
|
||||||
this.tradeType = JSON.parse(decodeURIComponent(options.params)).tradeType
|
this.tradeType = JSON.parse(decodeURIComponent(options.params)).tradeType
|
||||||
this.loginObj = uni.getStorageSync('loginObj')
|
this.loginObj = uni.getStorageSync('loginObj')
|
||||||
|
this.portObj = uni.getStorageSync('portObj')
|
||||||
this.title = `${this.shipInfo.spmIdDesc} / ${this.shipInfo.vvyName}`
|
this.title = `${this.shipInfo.spmIdDesc} / ${this.shipInfo.vvyName}`
|
||||||
if (this.tabsValue == 0) {
|
if (this.tabsValue == 0) {
|
||||||
this.loadSumOrder() // 总指令:分页查询
|
this.loadSumOrder() // 总指令:分页查询
|
||||||
console.log(this.shipInfo)
|
|
||||||
}
|
}
|
||||||
this.getBrand() // 获取品牌
|
this.getBrand() // 获取品牌
|
||||||
this.getBvm() // 获取车型
|
this.getBvm() // 获取车型
|
||||||
this.getRoleId() // 获取角色ID
|
this.getRoleId() // 获取角色ID
|
||||||
this.initAsk() // 获取装船要求
|
this.initAsk() // 获取装船要求
|
||||||
this.getStatistics() // 获取统计数据
|
this.getStatistics() // 获取统计数据
|
||||||
|
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
HeadView,
|
HeadView,
|
||||||
place,
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 点击tabs
|
// 点击tabs
|
||||||
|
@ -830,10 +752,16 @@
|
||||||
this.current = 1
|
this.current = 1
|
||||||
this.zTjActive = -1
|
this.zTjActive = -1
|
||||||
this.zTjType = true
|
this.zTjType = true
|
||||||
|
this.dcId = ""
|
||||||
|
this.dcName = ""
|
||||||
|
this.qyId = ""
|
||||||
|
this.qyName = ""
|
||||||
if (e.value == 1 || e.value == 2) {
|
if (e.value == 1 || e.value == 2) {
|
||||||
this.loadOtherOrder()
|
this.loadOtherOrder()
|
||||||
} else if (e.value == 0) {
|
} else if (e.value == 0) {
|
||||||
this.loadSumOrder()
|
this.loadSumOrder()
|
||||||
|
} else if (e.value == 3) {
|
||||||
|
this.getDc()
|
||||||
}
|
}
|
||||||
this.directorList = []
|
this.directorList = []
|
||||||
this.getRoleId()
|
this.getRoleId()
|
||||||
|
@ -845,6 +773,8 @@
|
||||||
this.loadOtherOrder()
|
this.loadOtherOrder()
|
||||||
} else if (this.tabsValue == 0) {
|
} else if (this.tabsValue == 0) {
|
||||||
this.loadSumOrder()
|
this.loadSumOrder()
|
||||||
|
} else if (this.tabsValue == 2) {
|
||||||
|
this.getCw()
|
||||||
}
|
}
|
||||||
this.getStatistics()
|
this.getStatistics()
|
||||||
},
|
},
|
||||||
|
@ -889,7 +819,6 @@
|
||||||
},
|
},
|
||||||
method: 'GET', //请求方式,必须为大写
|
method: 'GET', //请求方式,必须为大写
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
console.log(res)
|
|
||||||
this.zTjList = res.data.data[0]
|
this.zTjList = res.data.data[0]
|
||||||
this.zTjList["totalSum"] = this.zTjList.totalSentCount + this.zTjList.totalNotSentCount
|
this.zTjList["totalSum"] = this.zTjList.totalSentCount + this.zTjList.totalNotSentCount
|
||||||
this.zTjList["branchSum"] = this.zTjList.branchSentCount + this.zTjList
|
this.zTjList["branchSum"] = this.zTjList.branchSentCount + this.zTjList
|
||||||
|
@ -916,7 +845,6 @@
|
||||||
},
|
},
|
||||||
method: 'GET', //请求方式,必须为大写
|
method: 'GET', //请求方式,必须为大写
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
console.log(res)
|
|
||||||
this.itemList.push(...res.data.data.records)
|
this.itemList.push(...res.data.data.records)
|
||||||
if (res.data.data.records.length == 10) {
|
if (res.data.data.records.length == 10) {
|
||||||
this.current++
|
this.current++
|
||||||
|
@ -950,7 +878,6 @@
|
||||||
},
|
},
|
||||||
method: 'GET', //请求方式,必须为大写
|
method: 'GET', //请求方式,必须为大写
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
console.log(res)
|
|
||||||
this.itemList.push(...res.data.data.records)
|
this.itemList.push(...res.data.data.records)
|
||||||
if (res.data.data.records.length == 10) {
|
if (res.data.data.records.length == 10) {
|
||||||
this.current++
|
this.current++
|
||||||
|
@ -974,7 +901,6 @@
|
||||||
},
|
},
|
||||||
method: 'GET', //请求方式,必须为大写
|
method: 'GET', //请求方式,必须为大写
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
console.log(res)
|
|
||||||
this.$set(this.itemList[index], 'infoList', res.data.data)
|
this.$set(this.itemList[index], 'infoList', res.data.data)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -1184,7 +1110,6 @@
|
||||||
},
|
},
|
||||||
method: 'PUT', //请求方式,必须为大写
|
method: 'PUT', //请求方式,必须为大写
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
console.log(res)
|
|
||||||
if (res.data.status == 200) {
|
if (res.data.status == 200) {
|
||||||
this.loadOtherOrder()
|
this.loadOtherOrder()
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
|
@ -1290,6 +1215,8 @@
|
||||||
this.loadSumOrder()
|
this.loadSumOrder()
|
||||||
} else if (this.tabsValue == 1 || this.tabsValue == 2) {
|
} else if (this.tabsValue == 1 || this.tabsValue == 2) {
|
||||||
this.loadOtherOrder()
|
this.loadOtherOrder()
|
||||||
|
} else if (this.tabsValue == 3) {
|
||||||
|
this.getCw()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 获取车型
|
// 获取车型
|
||||||
|
@ -1322,7 +1249,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
toDetails(item, item2) {
|
toDetails(item, item2) {
|
||||||
console.log(item, item2)
|
|
||||||
let obj = {
|
let obj = {
|
||||||
tradeName: "W",
|
tradeName: "W",
|
||||||
shipInfo: this.shipInfo,
|
shipInfo: this.shipInfo,
|
||||||
|
@ -1338,14 +1264,139 @@
|
||||||
checkChange(e) {
|
checkChange(e) {
|
||||||
this.checkList = e.detail.value
|
this.checkList = e.detail.value
|
||||||
},
|
},
|
||||||
// 点击车道
|
// 场位图相关
|
||||||
toGoPlace() {
|
// 获取堆场数据
|
||||||
this.placeTabs = 1;
|
getDc() {
|
||||||
|
uni.request({
|
||||||
|
url: `${this.$local}/api/yard/sel/query/yard?pamId=${this.portObj.portId}`,
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json', //自定义请求头信息
|
||||||
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||||
|
},
|
||||||
|
method: 'GET', //请求方式,必须为大写
|
||||||
|
success: (res) => {
|
||||||
|
if (res.data.status == "200") {
|
||||||
|
this.dcId = res.data.data[0].pymId
|
||||||
|
this.dcName = res.data.data[0].pymName
|
||||||
|
this.dcList = res.data.data
|
||||||
|
this.getQy()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
// 子组件修改值
|
// 选择堆场下拉数据
|
||||||
modifyPlaceTabs(data) {
|
dcSelect(e) {
|
||||||
this.placeTabs = data;
|
this.dcId = e.pymId
|
||||||
|
this.dcName = e.pymName
|
||||||
|
this.getQy()
|
||||||
},
|
},
|
||||||
|
// 获取区域数据
|
||||||
|
getQy() {
|
||||||
|
uni.request({
|
||||||
|
url: `${this.$local}/api/yard/sel/queryArea?pymId=${this.dcId}`,
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json', //自定义请求头信息
|
||||||
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||||
|
},
|
||||||
|
method: 'GET', //请求方式,必须为大写
|
||||||
|
success: (res) => {
|
||||||
|
if (res.data.status == "200") {
|
||||||
|
this.qyId = res.data.data[0].pyaId
|
||||||
|
this.qyName = res.data.data[0].pyaAreaCode
|
||||||
|
this.qyList = res.data.data
|
||||||
|
this.getCd()
|
||||||
|
this.getCw()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 选择区域下拉数据
|
||||||
|
qySelect(e) {
|
||||||
|
this.qyId = e.pyaId
|
||||||
|
this.qyName = e.pyaAreaCode
|
||||||
|
this.getCd()
|
||||||
|
this.getCw()
|
||||||
|
},
|
||||||
|
// 获取车道数据
|
||||||
|
getCd() {
|
||||||
|
uni.request({
|
||||||
|
url: `${this.$local}/api/yard/sel/queryLanesByPyaId?pyaId=${this.qyId}`,
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json', //自定义请求头信息
|
||||||
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||||
|
},
|
||||||
|
method: 'GET', //请求方式,必须为大写
|
||||||
|
success: (res) => {
|
||||||
|
console.log(res)
|
||||||
|
if (res.data.status == "200") {
|
||||||
|
this.cdList = res.data.data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取数据
|
||||||
|
getCw() {
|
||||||
|
uni.request({
|
||||||
|
url: `${this.$local}/api/shipment/unload/plans/pos/chart?brdId=${this.brdId}&mnfBl=${this.mnfBl}&vvyId=${this.shipInfo.vvyId}&pyaId=${this.qyId}`,
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json', //自定义请求头信息
|
||||||
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||||
|
},
|
||||||
|
method: 'GET', //请求方式,必须为大写
|
||||||
|
success: (res) => {
|
||||||
|
console.log(res)
|
||||||
|
if (res.data.status == "200") {
|
||||||
|
this.cwData = res.data.data
|
||||||
|
let arr = []
|
||||||
|
let nArr = []
|
||||||
|
let arr2 = []
|
||||||
|
this.cdList.forEach(item => {
|
||||||
|
arr.push({
|
||||||
|
name: "空置",
|
||||||
|
index: 1
|
||||||
|
})
|
||||||
|
})
|
||||||
|
res.data.data.posChartRespDTOList.forEach(item => {
|
||||||
|
nArr = []
|
||||||
|
let num = Number(item.endLane) - Number(item.startLane) ? Number(item
|
||||||
|
.endLane) - Number(item.startLane) : 1
|
||||||
|
let Nnum = num > 1 ? num + 1 : num
|
||||||
|
for (let i = 0; i < Nnum; i++) {
|
||||||
|
nArr.push({
|
||||||
|
name: item.plansGroupList[0]
|
||||||
|
?.name,
|
||||||
|
index: Nnum
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (Nnum > 1) {
|
||||||
|
arr.pop()
|
||||||
|
}
|
||||||
|
arr.splice(Number(item.startLane) - 1, num, ...nArr)
|
||||||
|
})
|
||||||
|
this.arrFrom(arr, arr2)
|
||||||
|
this.rigthCw = arr2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
arrFrom(arr, nArr) {
|
||||||
|
nArr[nArr.length] = arr[0];
|
||||||
|
for (let i = 1; i < arr.length; i++) {
|
||||||
|
let flag = true;
|
||||||
|
for (let j = 0; j < nArr.length; j++) {
|
||||||
|
if (arr[i].name != '空置') {
|
||||||
|
if (nArr[j].name === arr[i].name) {
|
||||||
|
flag = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (flag) {
|
||||||
|
nArr[nArr.length] = arr[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nArr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -1363,6 +1414,7 @@
|
||||||
background-color: #F6F7F9;
|
background-color: #F6F7F9;
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
min-height: calc(100vh - 110px);
|
||||||
|
|
||||||
/deep/.tab .tab-bar {
|
/deep/.tab .tab-bar {
|
||||||
height: 66px;
|
height: 66px;
|
||||||
|
@ -1392,6 +1444,7 @@
|
||||||
|
|
||||||
/deep/.tab-pane {
|
/deep/.tab-pane {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
height: calc(100vh - 134px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.main {
|
.main {
|
||||||
|
@ -1477,6 +1530,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dc {
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
height: 35px;
|
height: 35px;
|
||||||
line-height: 35px;
|
line-height: 35px;
|
||||||
|
@ -2086,199 +2143,130 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.field {
|
// 场位图样式
|
||||||
padding: 20px;
|
.cwMain {
|
||||||
background-color: #000;
|
width: 100%;
|
||||||
|
height: calc(100vh - 134px);
|
||||||
|
|
||||||
.boxTop {
|
.cwTop {
|
||||||
display: flex;
|
|
||||||
|
|
||||||
.title {
|
|
||||||
margin-right: 20px;
|
|
||||||
font-size: 18px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.option {
|
|
||||||
width: 200px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.carTabs {
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background-color: #fff;
|
height: 36px;
|
||||||
margin-top: 20px;
|
line-height: 36px;
|
||||||
border-radius: 8px;
|
|
||||||
|
|
||||||
/deep/.tab {
|
|
||||||
border-radius: 8px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carList {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
padding: 20px;
|
|
||||||
|
|
||||||
.carInfo {
|
|
||||||
width: 19%;
|
|
||||||
padding: 20px;
|
|
||||||
background-color: #ccc;
|
|
||||||
text-align: center;
|
|
||||||
border-radius: 6px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.partsList {
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
padding: 20px;
|
|
||||||
|
|
||||||
.partsInfo {
|
|
||||||
width: 19%;
|
|
||||||
padding: 20px;
|
|
||||||
background-color: #ccc;
|
|
||||||
text-align: center;
|
|
||||||
border-radius: 6px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.infoTitle {
|
|
||||||
font-size: 16px;
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
|
|
||||||
.infoNum {
|
|
||||||
font-size: 28px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fpList {
|
|
||||||
width: 100%;
|
|
||||||
margin-top: 20px;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
padding: 0 36px;
|
||||||
|
background: #FDFEFE;
|
||||||
|
border: 1px solid #E1E5ED;
|
||||||
|
|
||||||
.fpInfo {
|
.status {
|
||||||
width: 49%;
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
margin-right: 8px;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-top: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fpTitle {
|
.statusText {
|
||||||
|
display: flex;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #666666;
|
||||||
|
margin-right: 20px;
|
||||||
|
|
||||||
|
.kz {
|
||||||
|
background: #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sy {
|
||||||
|
background: #4476F6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.topRight {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cwTitle {
|
||||||
|
width: 100%;
|
||||||
|
height: 32px;
|
||||||
|
line-height: 32px;
|
||||||
|
display: flex;
|
||||||
|
text-align: center;
|
||||||
|
background: #E1E5ED;
|
||||||
|
border: 1px solid #DBDDE3;
|
||||||
|
font-size: 15px;
|
||||||
|
color: #0B266A;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
|
||||||
|
.titleLeft {
|
||||||
|
width: 128px;
|
||||||
|
height: 100%;
|
||||||
|
border-right: 1px solid #DBDDE3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.titleRight {
|
||||||
|
width: calc(100% - 128px);
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cwContent {
|
||||||
|
background-color: #fff;
|
||||||
|
display: flex;
|
||||||
|
height: calc(100% - 83px);
|
||||||
|
overflow: scroll;
|
||||||
|
|
||||||
|
.cwLeftBox {
|
||||||
|
width: 128px;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background: #262626;
|
font-size: 15px;
|
||||||
padding: 10px;
|
color: #0B266A;
|
||||||
color: #fff;
|
margin-right: 4px;
|
||||||
|
|
||||||
|
.cwLeft {
|
||||||
|
height: 32px;
|
||||||
|
line-height: 32px;
|
||||||
|
border: 1px solid #DBDDE3;
|
||||||
|
background: #E1E5ED;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.fpListInfo {
|
.cwRightBox {
|
||||||
padding: 20px 10px;
|
width: calc(100% - 128px);
|
||||||
background: #262626;
|
height: 100%;
|
||||||
color: #fff;
|
text-align: center;
|
||||||
margin-top: 10px;
|
font-size: 12px;
|
||||||
|
|
||||||
.infoTop {
|
.cwRight {
|
||||||
width: 100%;
|
height: 32px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
.infoTopTitle {
|
text {
|
||||||
font-size: 18px;
|
padding: 5px;
|
||||||
font-weight: bold;
|
background: #FFFFFF;
|
||||||
padding-left: 10px;
|
border: 1px solid #E4E4E4;
|
||||||
border-left: 5px solid #0079FE;
|
border-radius: 1px;
|
||||||
|
color: #666666;
|
||||||
}
|
}
|
||||||
|
|
||||||
.titleRight {
|
p {
|
||||||
|
background: #C7D4F3;
|
||||||
|
color: #4476F6;
|
||||||
|
height: 32px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
.titleIcon {
|
justify-content: center;
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
background: #0079FE;
|
|
||||||
margin-left: 5px;
|
|
||||||
line-height: 16px;
|
|
||||||
text-align: center;
|
|
||||||
border-radius: 50%;
|
|
||||||
margin-top: 5px;
|
|
||||||
|
|
||||||
/deep/.van-icon {
|
|
||||||
transform: scale(0.8);
|
|
||||||
margin-left: 2px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
text {
|
|
||||||
color: #0079FE;
|
|
||||||
margin-top: 2px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.infoCarNum {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
margin-top: 10px;
|
|
||||||
|
|
||||||
text {
|
|
||||||
margin: 10px 20px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.progressBox {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carInfoList {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
justify-content: space-between;
|
|
||||||
|
|
||||||
.carBrand {
|
|
||||||
width: 32%;
|
|
||||||
background-color: #2C2D2D;
|
|
||||||
padding: 10px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
|
|
||||||
.brandTitle {
|
|
||||||
color: #0079FE;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.notListInfo {
|
|
||||||
.notTitle {
|
|
||||||
font-size: 22px;
|
|
||||||
font-weight: bold;
|
|
||||||
text-align: center;
|
|
||||||
margin: 30px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.infoTop {
|
|
||||||
text {
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
text {
|
|
||||||
margin-right: 30px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.tipInfo {
|
|
||||||
width: 100%;
|
|
||||||
font-size: 24px;
|
|
||||||
color: #5FE515;
|
|
||||||
font-weight: bold;
|
|
||||||
padding: 20px 0;
|
|
||||||
text-align: center;
|
|
||||||
background: #fff;
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,358 +0,0 @@
|
||||||
<template>
|
|
||||||
<view class="place">
|
|
||||||
<view class="placeTop">
|
|
||||||
<view class="topLeft">
|
|
||||||
堆场资源 B3区
|
|
||||||
</view>
|
|
||||||
<view class="topRight">
|
|
||||||
<button @click="back"><text class="back">返回</text></button>
|
|
||||||
<button @click="show"><text class="show">显示</text></button>
|
|
||||||
</view>
|
|
||||||
<view class="showBox" v-if="showType">
|
|
||||||
<view class="showInfo">
|
|
||||||
车道
|
|
||||||
</view>
|
|
||||||
<view class="showInfo">
|
|
||||||
车位
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="placeInfo">
|
|
||||||
<view class="infoLeft">
|
|
||||||
<text>车位总数:12*15=180车位</text>
|
|
||||||
<text>使用车位:40车位</text>
|
|
||||||
<text>剩余车位:40车位</text>
|
|
||||||
<text>虚拟场位:12车位</text>
|
|
||||||
<text>可停放车辆:12辆</text>
|
|
||||||
<text>已停放车辆:12辆</text>
|
|
||||||
</view>
|
|
||||||
<view class="infoRight">
|
|
||||||
<view class="tipBox">
|
|
||||||
<text>空置</text>
|
|
||||||
<view class="colorBox vacant"></view>
|
|
||||||
</view>
|
|
||||||
<view class="tipBox">
|
|
||||||
<text>使用</text>
|
|
||||||
<view class="colorBox use"></view>
|
|
||||||
</view>
|
|
||||||
<view class="tipBox">
|
|
||||||
<text>虚拟车位</text>
|
|
||||||
<view class="colorBox virtually"></view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="placeList">
|
|
||||||
<view class="listInfo">
|
|
||||||
<view class="title">
|
|
||||||
01道(合计12辆车-13车位)
|
|
||||||
</view>
|
|
||||||
<view class="listType1">
|
|
||||||
<view class="type1Box box1">
|
|
||||||
宝马-轿车 12辆
|
|
||||||
</view>
|
|
||||||
<view class="type1Box box2">
|
|
||||||
奔驰-轿车 12辆
|
|
||||||
</view>
|
|
||||||
<view class="type1Box box3">
|
|
||||||
未使用:5车位
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="listInfo">
|
|
||||||
<view class="title">
|
|
||||||
02道(合计12辆车-13车位)
|
|
||||||
</view>
|
|
||||||
<view class="listType2">
|
|
||||||
<view class="type2Box">
|
|
||||||
<template v-for="(item, index) in type2List">
|
|
||||||
<view class="type2info"
|
|
||||||
:class="{'type0':item.type == 0, 'type1':item.type == 1, 'type2':item.type == 2}"
|
|
||||||
:key="index">
|
|
||||||
{{item.name}}
|
|
||||||
</view>
|
|
||||||
</template>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="listInfo">
|
|
||||||
<view class="title">
|
|
||||||
03道(合计12辆车-13车位)
|
|
||||||
</view>
|
|
||||||
<view class="listType3">
|
|
||||||
未使用:5车位
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="listInfo">
|
|
||||||
<view class="title">
|
|
||||||
04道(合计12辆车-13车位)
|
|
||||||
</view>
|
|
||||||
<view class="listType3">
|
|
||||||
未使用:5车位
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
type2List: [{
|
|
||||||
id: "01",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "02",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "03",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "04",
|
|
||||||
name: "空置",
|
|
||||||
type: 0,
|
|
||||||
}, {
|
|
||||||
id: "05",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "06",
|
|
||||||
name: "空置",
|
|
||||||
type: 0,
|
|
||||||
}, {
|
|
||||||
id: "07",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "08",
|
|
||||||
name: "空置",
|
|
||||||
type: 0,
|
|
||||||
}, {
|
|
||||||
id: "09",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "10",
|
|
||||||
name: "空置",
|
|
||||||
type: 0,
|
|
||||||
}, {
|
|
||||||
id: "11",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "12",
|
|
||||||
name: "虚拟车位",
|
|
||||||
type: 2,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
showType: false,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
// 点击返回
|
|
||||||
back() {
|
|
||||||
this.$emit("modifyPlaceTabs", 0)
|
|
||||||
},
|
|
||||||
// 点击显示
|
|
||||||
show() {
|
|
||||||
this.showType = !this.showType
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="less" scoped>
|
|
||||||
.place {
|
|
||||||
.placeTop {
|
|
||||||
background-color: #fff;
|
|
||||||
padding: 20px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
.topLeft {
|
|
||||||
font-size: 20px;
|
|
||||||
font-weight: bold;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.topRight {
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
uni-button {
|
|
||||||
margin-left: 30px;
|
|
||||||
width: 100px;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.back {
|
|
||||||
color: #0079FE;
|
|
||||||
}
|
|
||||||
|
|
||||||
.show {
|
|
||||||
color: #aaa;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.showBox {
|
|
||||||
position: absolute;
|
|
||||||
bottom: -102px;
|
|
||||||
right: 25px;
|
|
||||||
border: 1px solid #aaa;
|
|
||||||
|
|
||||||
.showInfo {
|
|
||||||
padding: 20px 30px;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.placeInfo {
|
|
||||||
padding: 10px 20px;
|
|
||||||
background-color: #fff;
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
.infoLeft {
|
|
||||||
flex: 2;
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
|
|
||||||
text {
|
|
||||||
margin: 10px;
|
|
||||||
margin-right: 0;
|
|
||||||
padding-right: 10px;
|
|
||||||
border-right: 1px solid #aaa;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.infoRight {
|
|
||||||
flex: 1;
|
|
||||||
display: flex;
|
|
||||||
margin-left: 30px;
|
|
||||||
|
|
||||||
.tipBox {
|
|
||||||
display: flex;
|
|
||||||
margin: auto;
|
|
||||||
|
|
||||||
.colorBox {
|
|
||||||
width: 20px;
|
|
||||||
height: 20px;
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vacant {
|
|
||||||
background-color: #aaa;
|
|
||||||
}
|
|
||||||
|
|
||||||
.use {
|
|
||||||
background-color: #0079FE;
|
|
||||||
}
|
|
||||||
|
|
||||||
.virtually {
|
|
||||||
background-color: #F86E56;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.placeList {
|
|
||||||
padding: 20px;
|
|
||||||
background-color: #000;
|
|
||||||
|
|
||||||
.listInfo {
|
|
||||||
margin-bottom: 20px;
|
|
||||||
|
|
||||||
.title {
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #fff;
|
|
||||||
padding-left: 10px;
|
|
||||||
border-left: 5px solid #0079FE;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.listType1 {
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
.type1Box {
|
|
||||||
text-align: center;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
height: 100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.box1 {
|
|
||||||
flex: 1;
|
|
||||||
background-color: #0079FE;
|
|
||||||
color: #fff;
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.box2 {
|
|
||||||
flex: 1;
|
|
||||||
background-color: #0079FE;
|
|
||||||
color: #fff
|
|
||||||
}
|
|
||||||
|
|
||||||
.box3 {
|
|
||||||
flex: 2;
|
|
||||||
background-color: #fff;
|
|
||||||
color: #aaa
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.listType2 {
|
|
||||||
padding: 10px 0;
|
|
||||||
background-color: #222;
|
|
||||||
|
|
||||||
.type2Box {
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
.type2info {
|
|
||||||
flex: 1;
|
|
||||||
height: 150px;
|
|
||||||
border-radius: 8px;
|
|
||||||
margin: 0 5px;
|
|
||||||
color: #fff;
|
|
||||||
text-align: center;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.type0 {
|
|
||||||
background-color: #aaa;
|
|
||||||
}
|
|
||||||
|
|
||||||
.type1 {
|
|
||||||
background-color: #0079FE;
|
|
||||||
}
|
|
||||||
|
|
||||||
.type2 {
|
|
||||||
background-color: #F86E56;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.listType3 {
|
|
||||||
height: 200px;
|
|
||||||
text-align: center;
|
|
||||||
color: #F86E56;
|
|
||||||
line-height: 200px;
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: bold;
|
|
||||||
background-color: #aaa;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -619,139 +619,105 @@
|
||||||
</view>
|
</view>
|
||||||
</custom-tab-pane>
|
</custom-tab-pane>
|
||||||
<custom-tab-pane :label="cwtName" name="c1_4" v-if="cwtIsShow">
|
<custom-tab-pane :label="cwtName" name="c1_4" v-if="cwtIsShow">
|
||||||
<view class="main">
|
<view class="main" v-if="isCwnum == 0">
|
||||||
<view>
|
<view></view>
|
||||||
<template v-if="placeTabs == 0">
|
<view class="form">
|
||||||
<view class="field">
|
<view class="inputBox">
|
||||||
|
<view class="leftInput">
|
||||||
|
<uni-easyinput class="uni-mt-5" suffixIcon="search" v-model="mnfBl"
|
||||||
|
placeholder="提单号" @iconClick="search"></uni-easyinput>
|
||||||
|
</view>
|
||||||
|
<view class="rightInput">
|
||||||
|
<superwei-combox class="input" :candidates="brandList" :isJSON="true"
|
||||||
|
keyName="brdName" placeholder="品牌" v-model="brdName"
|
||||||
|
@select="brandSelect"></superwei-combox>
|
||||||
|
<superwei-combox class="input" :candidates="bvmList" :isJSON="true" keyName="name"
|
||||||
|
placeholder="车型" v-model="bvmName" @select="bvmSelect"></superwei-combox>
|
||||||
|
<superwei-combox class="input" :candidates="potList" :isJSON="true"
|
||||||
|
keyName="potCnname" placeholder="港口" v-model="potName"
|
||||||
|
@select="potSelect"></superwei-combox>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cwMain">
|
||||||
|
<view class="cwLeft">
|
||||||
|
<view class="leftData" v-for="(item,index) in dcList" :key="index"
|
||||||
|
@click="clickLeft(item,index)" :class="{active:activeIndex == index}">
|
||||||
|
<p>{{item.pymName}}</p>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cwRight">
|
||||||
|
<view class="rightBox" v-for="(item,index) in qyList" :key="index">
|
||||||
<view class="boxTop">
|
<view class="boxTop">
|
||||||
<view class="title">
|
<p>{{item.pyaAreaCode}}({{item.totalLaneAmout}}/{{item.totalSeatAmout}})</p>
|
||||||
堆场
|
<text @click="clickLine(item)">车道</text>
|
||||||
</view>
|
|
||||||
<view class="option">
|
|
||||||
<uni-data-select v-model="optionValue"
|
|
||||||
:localdata="optionList"></uni-data-select>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="fpList">
|
<view class="boxContent">
|
||||||
<view class="fpInfo">
|
<view class="dataList">
|
||||||
<view class="fpTitle">
|
<p>车位总数:
|
||||||
港建库
|
<template v-if="item.totalSeatAmout == null">-- </template>
|
||||||
</view>
|
<template v-else>{{item.totalSeatAmout}}</template>
|
||||||
<view class="fpListInfo">
|
车位
|
||||||
<view class="infoTop">
|
</p>
|
||||||
<view class="infoTopTitle">A1区(12*12)</view>
|
<p>使用:
|
||||||
<view class="titleRight" @click="toGoPlace">
|
<template v-if="item.useSeatAmout == null">-- </template>
|
||||||
<text>车道</text>
|
<template v-else>{{item.useSeatAmout}}</template>
|
||||||
<view class="titleIcon">
|
车位
|
||||||
<van-icon name="arrow" color="#fff" />
|
</p>
|
||||||
</view>
|
<p>剩余:
|
||||||
</view>
|
<template v-if="item.remainSeatAmout == null">-- </template>
|
||||||
</view>
|
<template v-else>{{item.remainSeatAmout}}</template>
|
||||||
<view class="infoCarNum">
|
车位
|
||||||
<text>车位总数:120车位</text>
|
</p>
|
||||||
<text>使用:40车位</text>
|
<p>可停放车辆:
|
||||||
<text>剩余:40车位</text>
|
<template v-if="item.unparkGoodsAmout == null">-- </template>
|
||||||
<text>可停放车辆:300辆</text>
|
<template v-else>{{item.unparkGoodsAmout}}</template>
|
||||||
<text>已停放车辆:300辆</text>
|
辆
|
||||||
</view>
|
</p>
|
||||||
<view class="progressBox">
|
<p>已停放车辆:
|
||||||
<van-progress :percentage="itemSum2(2000)"
|
<template v-if="item.stopGoodsAmout == null">-- </template>
|
||||||
:pivot-text="'1000/' + 2000" />
|
<template v-else>{{item.stopGoodsAmout}}</template>
|
||||||
</view>
|
辆
|
||||||
<view class="carInfoList">
|
</p>
|
||||||
<view class="carBrand" v-for="item in 4" :key="item">
|
|
||||||
<view class="brandTitle">
|
|
||||||
保时捷-轿车
|
|
||||||
</view>
|
|
||||||
<view class="placeInfo">
|
|
||||||
400 辆,共5道12车位
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="fpListInfo notListInfo">
|
|
||||||
<view class="infoTop">
|
|
||||||
<view class="infoTopTitle">A1区(12*12)</view>
|
|
||||||
<view class="titleRight" @click="toGoPlace">
|
|
||||||
<text>车道</text>
|
|
||||||
<view class="titleIcon">
|
|
||||||
<van-icon name="arrow" color="#fff" />
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="notTitle">
|
|
||||||
未分配
|
|
||||||
</view>
|
|
||||||
<text>车位总数:120车位</text>
|
|
||||||
<text>可停放车辆:300辆</text>
|
|
||||||
</view>
|
|
||||||
<view class="tipInfo">
|
|
||||||
未使用2车道20车位
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="fpInfo">
|
<view class="boxJd">
|
||||||
<view class="fpTitle">
|
<lx-progress-bar title="" :total="item.totalSeatAmout"
|
||||||
海棠库
|
:firstValue="item.stopGoodsAmout" contentColor="#0067CF" />
|
||||||
</view>
|
<text>{{item.stopGoodsAmout}}/{{item.totalSeatAmout}}</text>
|
||||||
<view class="fpListInfo notListInfo">
|
</view>
|
||||||
<view class="infoTop">
|
<view class="carUl">
|
||||||
<view class="infoTopTitle">A1区(12*12)</view>
|
<view class="carLi" v-for="(v,index2) in item.carStatisticsList"
|
||||||
<view class="titleRight" @click="toGoPlace">
|
:key="index2" @click="clickCar(v)">
|
||||||
<text>车道</text>
|
<zb-tooltip placement="top-start" color="white"
|
||||||
<view class="titleIcon">
|
:visible.sync="v.isShow">
|
||||||
<van-icon name="arrow" color="#fff" />
|
<view slot="content">
|
||||||
|
<view>
|
||||||
|
<p v-for="(item2,idx) in v.carDetailList" :key="idx">
|
||||||
|
{{item2.storeLine}}道,{{item2.storeSeatAmout}}车位
|
||||||
|
</p>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
<view style="width: 100%; height: 100%;">
|
||||||
<view class="notTitle">
|
<p class="carTitle">{{v.brdName}}
|
||||||
未分配
|
<template v-if="v.bvmName != ''">
|
||||||
</view>
|
-
|
||||||
<text>车位总数:120车位</text>
|
</template>
|
||||||
<text>可停放车辆:300辆</text>
|
{{v.bvmName}}
|
||||||
</view>
|
</p>
|
||||||
<view class="fpListInfo">
|
<text>共{{v.carAmout}}辆</text>
|
||||||
<view class="carInfoList">
|
|
||||||
<view class="infoTop">
|
|
||||||
<view class="infoTopTitle">A1区(12*12)</view>
|
|
||||||
<view class="titleRight" @click="toGoPlace">
|
|
||||||
<text>车道</text>
|
|
||||||
<view class="titleIcon">
|
|
||||||
<van-icon name="arrow" color="#fff" />
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="infoCarNum">
|
</zb-tooltip>
|
||||||
<text>车位总数:120车位</text>
|
|
||||||
<text>使用:40车位</text>
|
|
||||||
<text>剩余:40车位</text>
|
|
||||||
<text>可停放车辆:300辆</text>
|
|
||||||
<text>已停放车辆:300辆</text>
|
|
||||||
</view>
|
|
||||||
<view class="progressBox">
|
|
||||||
<van-progress :percentage="itemSum2(2000)"
|
|
||||||
:pivot-text="'1000/' + 2000" />
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="carInfoList">
|
|
||||||
<view class="carBrand" v-for="item in 4" :key="item">
|
|
||||||
<view class="brandTitle">
|
|
||||||
保时捷-轿车
|
|
||||||
</view>
|
|
||||||
<view class="placeInfo">
|
|
||||||
400 辆,共5道12车位
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</view>
|
||||||
<template v-else>
|
|
||||||
<place @modifyPlaceTabs="modifyPlaceTabs"></place>
|
|
||||||
</template>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<template v-else>
|
||||||
|
<place @modifyPlaceTabs="modifyPlaceTabs" :vvyId="shipInfo.vvyId" :pyaObj="pyaObj"
|
||||||
|
:brdId="brdId" :bvmId="bvmId" :potId="potId" :mnfBl="mnfBl"></place>
|
||||||
|
</template>
|
||||||
</custom-tab-pane>
|
</custom-tab-pane>
|
||||||
<custom-tab-pane :label="zcyqName" name="c1_5" v-if="zcyqIsShow">
|
<custom-tab-pane :label="zcyqName" name="c1_5" v-if="zcyqIsShow">
|
||||||
<view></view>
|
<view></view>
|
||||||
|
@ -813,7 +779,6 @@
|
||||||
</uni-popup>
|
</uni-popup>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
@ -827,6 +792,8 @@
|
||||||
loginObj: {},
|
loginObj: {},
|
||||||
tabsValue: 0, // 0(总指令) 1(分指令)
|
tabsValue: 0, // 0(总指令) 1(分指令)
|
||||||
shipInfo: {}, // 船只数据
|
shipInfo: {}, // 船只数据
|
||||||
|
// 港区信息
|
||||||
|
portObj: {},
|
||||||
// 搜索框
|
// 搜索框
|
||||||
mnfBl: '', // 提单号
|
mnfBl: '', // 提单号
|
||||||
mnfBlItem: {},
|
mnfBlItem: {},
|
||||||
|
@ -848,12 +815,14 @@
|
||||||
potList: [],
|
potList: [],
|
||||||
// 发送状态
|
// 发送状态
|
||||||
sendList: [{
|
sendList: [{
|
||||||
vale: "1",
|
vale: "1",
|
||||||
text: "已发送"
|
text: "已发送"
|
||||||
}, {
|
},
|
||||||
vale: "0",
|
{
|
||||||
text: "待发送"
|
vale: "0",
|
||||||
}],
|
text: "待发送"
|
||||||
|
}
|
||||||
|
],
|
||||||
sendValue: "",
|
sendValue: "",
|
||||||
sendText: "",
|
sendText: "",
|
||||||
// 指令下发弹窗负责人
|
// 指令下发弹窗负责人
|
||||||
|
@ -884,29 +853,17 @@
|
||||||
zTjList: {},
|
zTjList: {},
|
||||||
shipDeck: "",
|
shipDeck: "",
|
||||||
|
|
||||||
optionValue: "",
|
// 场位图相关数据
|
||||||
optionList: [{
|
// 堆场
|
||||||
value: "0",
|
dcId: "",
|
||||||
text: "全部堆场"
|
dcName: "",
|
||||||
},
|
dcList: [],
|
||||||
{
|
// 区域
|
||||||
alue: "1",
|
pyaObj: "",
|
||||||
text: "外六"
|
qyList: [],
|
||||||
},
|
activeIndex: 0,
|
||||||
{
|
// 场位的状态 是否进入车道
|
||||||
alue: "2",
|
isCwnum: 0,
|
||||||
text: "港建库"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
alue: "3",
|
|
||||||
text: "高东库"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
alue: "4",
|
|
||||||
text: "江海库"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
placeTabs: 0,
|
|
||||||
|
|
||||||
// 分页
|
// 分页
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
|
@ -947,19 +904,13 @@
|
||||||
return sum
|
return sum
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
itemSum2() {
|
|
||||||
return function(item) {
|
|
||||||
let sum = 1000 / item * 100
|
|
||||||
return sum
|
|
||||||
};
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
this.shipInfo = JSON.parse(decodeURIComponent(options.params)).shipInfo
|
this.shipInfo = JSON.parse(decodeURIComponent(options.params)).shipInfo
|
||||||
this.title = `${this.shipInfo.spmIdDesc} / ${this.shipInfo.vvyName}`
|
this.title = `${this.shipInfo.spmIdDesc} / ${this.shipInfo.vvyName}`
|
||||||
this.loginObj = uni.getStorageSync('loginObj')
|
this.loginObj = uni.getStorageSync('loginObj')
|
||||||
|
this.portObj = uni.getStorageSync('portObj')
|
||||||
this.qxList = uni.getStorageSync('qxList')
|
this.qxList = uni.getStorageSync('qxList')
|
||||||
console.log(this.qxList)
|
|
||||||
this.qxList.forEach(v => {
|
this.qxList.forEach(v => {
|
||||||
if (v.code == "shipmentDirectives") {
|
if (v.code == "shipmentDirectives") {
|
||||||
v.operates.forEach(e => {
|
v.operates.forEach(e => {
|
||||||
|
@ -1021,6 +972,7 @@
|
||||||
this.shipDeck = ""
|
this.shipDeck = ""
|
||||||
this.current = 1
|
this.current = 1
|
||||||
this.zTjType = true
|
this.zTjType = true
|
||||||
|
this.activeIndex = 0
|
||||||
if (e.value == 1 || e.value == 2) {
|
if (e.value == 1 || e.value == 2) {
|
||||||
this.loadOtherOrder()
|
this.loadOtherOrder()
|
||||||
// this.askDisabled = true
|
// this.askDisabled = true
|
||||||
|
@ -1031,6 +983,8 @@
|
||||||
this.getPotList()
|
this.getPotList()
|
||||||
this.getImgInfo()
|
this.getImgInfo()
|
||||||
this.getGoodsInfo()
|
this.getGoodsInfo()
|
||||||
|
} else if (e.value == 4) {
|
||||||
|
this.getDc()
|
||||||
}
|
}
|
||||||
this.directorList = []
|
this.directorList = []
|
||||||
this.getRoleId()
|
this.getRoleId()
|
||||||
|
@ -1039,10 +993,13 @@
|
||||||
search() {
|
search() {
|
||||||
if (this.tabsValue == 1 || this.tabsValue == 2) {
|
if (this.tabsValue == 1 || this.tabsValue == 2) {
|
||||||
this.loadOtherOrder()
|
this.loadOtherOrder()
|
||||||
|
this.getStatistics()
|
||||||
} else if (this.tabsValue == 0) {
|
} else if (this.tabsValue == 0) {
|
||||||
this.loadSumOrder()
|
this.loadSumOrder()
|
||||||
|
this.getStatistics()
|
||||||
|
} else if (this.tabsValue == 4) {
|
||||||
|
this.getQy()
|
||||||
}
|
}
|
||||||
this.getStatistics()
|
|
||||||
},
|
},
|
||||||
// 点击总指令统计列表总标题
|
// 点击总指令统计列表总标题
|
||||||
clickTjHead(type) {
|
clickTjHead(type) {
|
||||||
|
@ -1511,6 +1468,8 @@
|
||||||
this.loadSumOrder()
|
this.loadSumOrder()
|
||||||
} else if (this.tabsValue == 1 || this.tabsValue == 2) {
|
} else if (this.tabsValue == 1 || this.tabsValue == 2) {
|
||||||
this.loadOtherOrder()
|
this.loadOtherOrder()
|
||||||
|
} else if (this.tabsValue == 4) {
|
||||||
|
this.getQy()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 获取港口
|
// 获取港口
|
||||||
|
@ -1540,6 +1499,8 @@
|
||||||
this.loadSumOrder()
|
this.loadSumOrder()
|
||||||
} else if (this.tabsValue == 1 || this.tabsValue == 2) {
|
} else if (this.tabsValue == 1 || this.tabsValue == 2) {
|
||||||
this.loadOtherOrder()
|
this.loadOtherOrder()
|
||||||
|
} else if (this.tabsValue == 4) {
|
||||||
|
this.getQy()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 获取车型
|
// 获取车型
|
||||||
|
@ -1569,6 +1530,8 @@
|
||||||
this.loadSumOrder()
|
this.loadSumOrder()
|
||||||
} else if (this.tabsValue == 1 || this.tabsValue == 2) {
|
} else if (this.tabsValue == 1 || this.tabsValue == 2) {
|
||||||
this.loadOtherOrder()
|
this.loadOtherOrder()
|
||||||
|
} else if (this.tabsValue == 4) {
|
||||||
|
this.getQy()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
toDetails(id) {
|
toDetails(id) {
|
||||||
|
@ -1697,13 +1660,87 @@
|
||||||
ctx.draw();
|
ctx.draw();
|
||||||
},
|
},
|
||||||
// 场位图相关
|
// 场位图相关
|
||||||
|
// 获取左侧堆场列表
|
||||||
|
getDc() {
|
||||||
|
uni.request({
|
||||||
|
url: `${this.$local}/api/yardGoods/monitor/goods/manage/page?displayFlag=1&pamId=${this.portObj.portId}&vvyId=${this.shipInfo.vvyId}&size=100`,
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json', //自定义请求头信息
|
||||||
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||||
|
},
|
||||||
|
method: 'GET', //请求方式,必须为大写
|
||||||
|
success: (res) => {
|
||||||
|
if (res.data.status == "200") {
|
||||||
|
this.dcList = res.data.data.records
|
||||||
|
this.dcId = this.dcList[0].pymId
|
||||||
|
this.dcName = this.dcList[0].pymName
|
||||||
|
this.getQy()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 点击左侧列表
|
||||||
|
clickLeft(item, index) {
|
||||||
|
this.dcId = item.pymId
|
||||||
|
this.dcName = item.pymName
|
||||||
|
this.activeIndex = index
|
||||||
|
this.getQy()
|
||||||
|
},
|
||||||
|
// 获取右侧区域数据
|
||||||
|
getQy() {
|
||||||
|
uni.request({
|
||||||
|
url: `${this.$local}/api/yardGoods/monitor/region/statistics?vvyId=${this.shipInfo.vvyId}&pymId=${this.dcId}&displayFlag=1&brdId=${this.brdId}&bvmId=${this.bvmId}&potId=${this.potId}&mnfBl=${this.mnfBl}&size=1000`,
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json', //自定义请求头信息
|
||||||
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||||
|
},
|
||||||
|
method: 'GET', //请求方式,必须为大写
|
||||||
|
success: (res) => {
|
||||||
|
if (res.statusCode == 200) {
|
||||||
|
console.log(res)
|
||||||
|
this.qyList = res.data.data.records
|
||||||
|
this.qyList.forEach(v => {
|
||||||
|
if (v.remainSeatAmout == null) {
|
||||||
|
this.$set(v, "remainSeatAmout", 0)
|
||||||
|
}
|
||||||
|
if (v.stopGoodsAmout == null) {
|
||||||
|
this.$set(v, "stopGoodsAmout", 0)
|
||||||
|
}
|
||||||
|
if (v.totalLaneAmout == null) {
|
||||||
|
this.$set(v, "totalLaneAmout", 0)
|
||||||
|
}
|
||||||
|
if (v.totalSeatAmout == null) {
|
||||||
|
this.$set(v, "totalSeatAmout", 0)
|
||||||
|
}
|
||||||
|
if (v.unparkGoodsAmout == null) {
|
||||||
|
this.$set(v, "unparkGoodsAmout", 0)
|
||||||
|
}
|
||||||
|
if (v.useSeatAmout == null) {
|
||||||
|
this.$set(v, "useSeatAmout", 0)
|
||||||
|
}
|
||||||
|
if (v.carStatisticsList != null) {
|
||||||
|
v.carStatisticsList.forEach(e => {
|
||||||
|
this.$set(e, "isShow", false)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
console.log(this.qyList)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 点击车位查看详情
|
||||||
|
clickCar(item) {
|
||||||
|
item.isShow = !item.isShow
|
||||||
|
},
|
||||||
// 点击车道
|
// 点击车道
|
||||||
toGoPlace() {
|
clickLine(item) {
|
||||||
this.placeTabs = 1;
|
this.pyaObj = item
|
||||||
|
this.isCwnum = 1;
|
||||||
},
|
},
|
||||||
// 子组件修改值
|
// 子组件修改值
|
||||||
modifyPlaceTabs(data) {
|
modifyPlaceTabs(data) {
|
||||||
this.placeTabs = data;
|
this.isCwnum = data;
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1751,6 +1788,7 @@
|
||||||
|
|
||||||
/deep/.tab-pane {
|
/deep/.tab-pane {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
height: calc(100vh - 134px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.main {
|
.main {
|
||||||
|
@ -2450,199 +2488,157 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.field {
|
// 场位图样式
|
||||||
padding: 20px;
|
.cwMain {
|
||||||
background-color: #000;
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
height: calc(100vh - 66px - 68px - 47px);
|
||||||
|
|
||||||
.boxTop {
|
.cwLeft {
|
||||||
display: flex;
|
width: 128px;
|
||||||
|
height: 100%;
|
||||||
.title {
|
|
||||||
margin-right: 20px;
|
|
||||||
font-size: 18px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.option {
|
|
||||||
width: 200px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.carTabs {
|
|
||||||
width: 100%;
|
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
margin-top: 20px;
|
overflow: scroll;
|
||||||
border-radius: 8px;
|
|
||||||
|
|
||||||
/deep/.tab {
|
.leftData {
|
||||||
border-radius: 8px !important;
|
width: 116px;
|
||||||
}
|
height: 42px;
|
||||||
|
|
||||||
.carList {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
padding: 20px;
|
|
||||||
|
|
||||||
.carInfo {
|
|
||||||
width: 19%;
|
|
||||||
padding: 20px;
|
|
||||||
background-color: #ccc;
|
|
||||||
text-align: center;
|
|
||||||
border-radius: 6px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.partsList {
|
|
||||||
width: 100%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
padding: 20px;
|
|
||||||
|
|
||||||
.partsInfo {
|
|
||||||
width: 19%;
|
|
||||||
padding: 20px;
|
|
||||||
background-color: #ccc;
|
|
||||||
text-align: center;
|
|
||||||
border-radius: 6px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.infoTitle {
|
|
||||||
font-size: 16px;
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
|
|
||||||
.infoNum {
|
|
||||||
font-size: 28px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.fpList {
|
|
||||||
width: 100%;
|
|
||||||
margin-top: 20px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
|
|
||||||
.fpInfo {
|
|
||||||
width: 49%;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.fpTitle {
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background: #262626;
|
line-height: 42px;
|
||||||
padding: 10px;
|
margin: 4px 6px;
|
||||||
color: #fff;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.fpListInfo {
|
.active {
|
||||||
padding: 20px 10px;
|
|
||||||
background: #262626;
|
|
||||||
color: #fff;
|
color: #fff;
|
||||||
margin-top: 10px;
|
background-color: #0372E0;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.infoTop {
|
.cwRight {
|
||||||
|
width: calc(100% - 128px);
|
||||||
|
height: 100%;
|
||||||
|
overflow: scroll;
|
||||||
|
padding-left: 18px;
|
||||||
|
background: #F5F6FA;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
margin-top: 10px;
|
||||||
|
padding: 8px 16px;
|
||||||
|
|
||||||
|
.rightBox {
|
||||||
|
width: calc(33.3% - 10px);
|
||||||
|
height: 214px;
|
||||||
|
border: 1px solid #E1E5ED;
|
||||||
|
margin-right: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
|
||||||
|
/deep/.zb_tooltip_content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.boxTop {
|
||||||
|
width: 100%;
|
||||||
|
height: 32px;
|
||||||
|
border-bottom: 1px solid #E1E5ED;
|
||||||
|
line-height: 32px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
padding: 0 8px;
|
||||||
|
background: #FAFAFA;
|
||||||
|
|
||||||
.infoTopTitle {
|
p {
|
||||||
font-size: 18px;
|
font-size: 14px;
|
||||||
font-weight: bold;
|
color: #0D518B;
|
||||||
padding-left: 10px;
|
|
||||||
border-left: 5px solid #0079FE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.titleRight {
|
text {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #1677FF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.boxContent {
|
||||||
|
height: 180px;
|
||||||
|
overflow: scroll;
|
||||||
|
padding: 5px 8px;
|
||||||
|
|
||||||
|
.dataList {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
.titleIcon {
|
p {
|
||||||
width: 16px;
|
margin-right: 10px;
|
||||||
height: 16px;
|
font-size: 12px;
|
||||||
background: #0079FE;
|
color: #666666;
|
||||||
margin-left: 5px;
|
|
||||||
line-height: 16px;
|
|
||||||
text-align: center;
|
|
||||||
border-radius: 50%;
|
|
||||||
margin-top: 5px;
|
|
||||||
|
|
||||||
/deep/.van-icon {
|
|
||||||
transform: scale(0.8);
|
|
||||||
margin-left: 2px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.boxJd {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 10px;
|
||||||
|
|
||||||
text {
|
text {
|
||||||
color: #0079FE;
|
margin-left: 10px;
|
||||||
margin-top: 2px;
|
font-size: 14px;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/.progress-bar-title {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/.bar {
|
||||||
|
height: 8px;
|
||||||
|
margin-top: 5px;
|
||||||
|
width: 240px;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/.progress-bar .bar-single {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/.progress-bar .bar-double {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/.progress-bar .bar-interval {
|
||||||
|
width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/.bar-text span {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.carUl {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
|
.carLi {
|
||||||
|
width: calc(50% - 12px);
|
||||||
|
height: 42px;
|
||||||
|
margin: 8px 12px;
|
||||||
|
margin-left: 0;
|
||||||
|
background: #ffffff;
|
||||||
|
border: 1px solid #e1e5ed;
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 15px;
|
||||||
|
padding: 4px 8px;
|
||||||
|
|
||||||
|
.carTitle {
|
||||||
|
font-size: 12px;
|
||||||
|
color: #1677FF;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.infoCarNum {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
margin-top: 10px;
|
|
||||||
|
|
||||||
text {
|
|
||||||
margin: 10px 20px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.progressBox {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carInfoList {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
justify-content: space-between;
|
|
||||||
|
|
||||||
.carBrand {
|
|
||||||
width: 32%;
|
|
||||||
background-color: #2C2D2D;
|
|
||||||
padding: 10px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
|
|
||||||
.brandTitle {
|
|
||||||
color: #0079FE;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.notListInfo {
|
|
||||||
.notTitle {
|
|
||||||
font-size: 22px;
|
|
||||||
font-weight: bold;
|
|
||||||
text-align: center;
|
|
||||||
margin: 30px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.infoTop {
|
|
||||||
text {
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
text {
|
|
||||||
margin-right: 30px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.tipInfo {
|
|
||||||
width: 100%;
|
|
||||||
font-size: 24px;
|
|
||||||
color: #5FE515;
|
|
||||||
font-weight: bold;
|
|
||||||
padding: 20px 0;
|
|
||||||
text-align: center;
|
|
||||||
background: #fff;
|
|
||||||
margin-top: 10px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,92 +2,140 @@
|
||||||
<view class="place">
|
<view class="place">
|
||||||
<view class="placeTop">
|
<view class="placeTop">
|
||||||
<view class="topLeft">
|
<view class="topLeft">
|
||||||
堆场资源 B3区
|
<view style="display: flex; flex-direction: column; justify-content: center;">
|
||||||
</view>
|
<view class="left" @click="back">
|
||||||
<view class="topRight">
|
<uni-icons type="back" size="16" color="#1677FF" />
|
||||||
<button @click="back"><text class="back">返回</text></button>
|
<text>返回</text>
|
||||||
<button @click="show"><text class="show">显示</text></button>
|
|
||||||
</view>
|
|
||||||
<view class="showBox" v-if="showType">
|
|
||||||
<view class="showInfo">
|
|
||||||
车道
|
|
||||||
</view>
|
|
||||||
<view class="showInfo">
|
|
||||||
车位
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="placeInfo">
|
|
||||||
<view class="infoLeft">
|
|
||||||
<text>车位总数:12*15=180车位</text>
|
|
||||||
<text>使用车位:40车位</text>
|
|
||||||
<text>剩余车位:40车位</text>
|
|
||||||
<text>虚拟场位:12车位</text>
|
|
||||||
<text>可停放车辆:12辆</text>
|
|
||||||
<text>已停放车辆:12辆</text>
|
|
||||||
</view>
|
|
||||||
<view class="infoRight">
|
|
||||||
<view class="tipBox">
|
|
||||||
<text>空置</text>
|
|
||||||
<view class="colorBox vacant"></view>
|
|
||||||
</view>
|
|
||||||
<view class="tipBox">
|
|
||||||
<text>使用</text>
|
|
||||||
<view class="colorBox use"></view>
|
|
||||||
</view>
|
|
||||||
<view class="tipBox">
|
|
||||||
<text>虚拟车位</text>
|
|
||||||
<view class="colorBox virtually"></view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="placeList">
|
|
||||||
<view class="listInfo">
|
|
||||||
<view class="title">
|
|
||||||
01道(合计12辆车-13车位)
|
|
||||||
</view>
|
|
||||||
<view class="listType1">
|
|
||||||
<view class="type1Box box1">
|
|
||||||
宝马-轿车 12辆
|
|
||||||
</view>
|
|
||||||
<view class="type1Box box2">
|
|
||||||
奔驰-轿车 12辆
|
|
||||||
</view>
|
|
||||||
<view class="type1Box box3">
|
|
||||||
未使用:5车位
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
<view style="display: flex; flex-direction: column; justify-content: center;">
|
||||||
<view class="listInfo">
|
<view class="right">
|
||||||
<view class="title">
|
<view class="statusText">
|
||||||
02道(合计12辆车-13车位)
|
<view class="status kz"></view>
|
||||||
</view>
|
<text>空置</text>
|
||||||
<view class="listType2">
|
</view>
|
||||||
<view class="type2Box">
|
<view class="statusText">
|
||||||
<template v-for="(item, index) in type2List">
|
<view class="status sy"></view>
|
||||||
<view class="type2info"
|
<text>使用</text>
|
||||||
:class="{'type0':item.type == 0, 'type1':item.type == 1, 'type2':item.type == 2}"
|
</view>
|
||||||
:key="index">
|
<view class="statusText">
|
||||||
{{item.name}}
|
<view class="status xn"></view>
|
||||||
|
<text>虚拟车位</text>
|
||||||
|
</view>
|
||||||
|
<template v-if="selectValue == 2">
|
||||||
|
<view class="statusText">
|
||||||
|
<image src="../../static/images/wjhIcon.png" mode=""></image>
|
||||||
|
<text>无计划</text>
|
||||||
|
</view>
|
||||||
|
<view class="statusText">
|
||||||
|
<image src="../../static/images/yjhIcon.png" mode=""></image>
|
||||||
|
<text>有计划</text>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="listInfo">
|
<view class="topRight">
|
||||||
<view class="title">
|
<view class="rightImg">
|
||||||
03道(合计12辆车-13车位)
|
<image src="../../static/images/lineImg.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="listType3">
|
<uni-data-select v-model="selectValue" :localdata="selectList" @change="selectChange"></uni-data-select>
|
||||||
未使用:5车位
|
<uni-icons type="bottom" size="16" color="#1677FF" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="placeText">
|
||||||
|
<text>车位总数:{{lineData.totalSeatAmout}}车位</text>
|
||||||
|
<text>使用车位:{{lineData.useSeatAmout}}车位</text>
|
||||||
|
<text>剩余车位:{{lineData.remainSeatAmout}}车位</text>
|
||||||
|
<text>虚拟场位:{{lineData.virtuaSeatAmout}}车位</text>
|
||||||
|
<text>可停放车辆:{{lineData.unparkGoodsAmout}}辆</text>
|
||||||
|
<text>已停放车辆:{{lineData.stopGoodsAmout}}辆</text>
|
||||||
|
</view>
|
||||||
|
<view class="placeContent" v-if="selectValue == 1">
|
||||||
|
<view class="placeList" style="border: 1px solid #E1E5ED;"
|
||||||
|
v-for="(item,index) in lineData.lineStatisticsList">
|
||||||
|
<view class="listLeft">
|
||||||
|
<template>
|
||||||
|
<p><template v-if="item.yalNo >= 1 && item.yalNo <= 9">0</template>{{item.yalNo}}道</p>
|
||||||
|
<text>已停{{item.stopGoodsAmout}}/{{item.totalSeatAmout}}辆</text>
|
||||||
|
</template>
|
||||||
|
</view>
|
||||||
|
<view class="listRight">
|
||||||
|
<template v-for="(item2,index2) in item.carLineRespList" @click="showContent(item2)">
|
||||||
|
<view class="rigthContent wsy" :key="index2" v-if="item2.type == '0' || item2.type == '3'">
|
||||||
|
<text>{{item2.carSituation}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="rigthContent sy" :key="index2" v-if="item2.type == '1'">
|
||||||
|
<text v-if="item2.existFlag == '1'"
|
||||||
|
class="gl">{{item2.carSituation}}{{item2.carAmout}}辆</text>
|
||||||
|
<text v-else>{{item2.carSituation}}{{item2.carAmout}}辆</text>
|
||||||
|
</view>
|
||||||
|
<view class="rigthContent xn" :key="index2" v-if="item2.type == '2'">
|
||||||
|
<text v-if="item2.existFlag == '1'"
|
||||||
|
class="gl">{{item2.carSituation}}{{item2.carAmout}}辆</text>
|
||||||
|
<text v-else>{{item2.carSituation}}{{item2.carAmout}}辆</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</template>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="listInfo">
|
</view>
|
||||||
<view class="title">
|
<view class="placeContent" v-if="selectValue == 2">
|
||||||
04道(合计12辆车-13车位)
|
<!-- <view class="seatTitle">
|
||||||
|
<view class="titleLeft">
|
||||||
|
车位
|
||||||
</view>
|
</view>
|
||||||
<view class="listType3">
|
<view class="titleRight">
|
||||||
未使用:5车位
|
<p v-for="(item,index) in seatNum" :key="index">
|
||||||
|
<template v-if="item >= 1 && item <= 9">0</template>
|
||||||
|
{{item}}
|
||||||
|
</p>
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
<view class="placeList" v-for="(item,index) in seatData.seatCarStatisticsList">
|
||||||
|
<view class="listLeft">
|
||||||
|
<template>
|
||||||
|
<p><template v-if="item.yalNo >= 1 && item.yalNo <= 9">0</template>{{item.yalNo}}道</p>
|
||||||
|
<text>已停{{item.stopGoodsAmout}}/{{item.totalSeatAmout}}辆</text>
|
||||||
|
</template>
|
||||||
|
</view>
|
||||||
|
<view class="listRightSeat">
|
||||||
|
<template v-for="(item2,index2) in item.carStatisticsList">
|
||||||
|
<view class="seatBox kz" :key="index2" v-if="item2.type == 0">
|
||||||
|
<view class="planIcon">
|
||||||
|
<image src="../../static/images/yjhIcon.png" mode="" v-if="item2.godStatus == 'P'">
|
||||||
|
</image>
|
||||||
|
<image src="../../static/images/wjhIcon.png" mode="" v-if="item2.godStatus == 'N'">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
<p>空置</p>
|
||||||
|
<p><template v-if="item2.yacNo >= 1 && item2.yacNo <= 9">0</template>{{item2.yacNo}}</p>
|
||||||
|
</view>
|
||||||
|
<view class="seatBox sy" :class="{syGl:item2.existFlag == '1'}" :key="index2"
|
||||||
|
v-if="item2.type == 1">
|
||||||
|
<view class="planIcon">
|
||||||
|
<image src="../../static/images/yjhIcon.png" mode="" v-if="item2.godStatus == 'P'">
|
||||||
|
</image>
|
||||||
|
<image src="../../static/images/wjhIcon.png" mode="" v-if="item2.godStatus == 'N'">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
<p>{{item2.brdName}}</p>
|
||||||
|
<p>{{item2.bvmName}}</p>
|
||||||
|
<p><template v-if="item2.yacNo >= 1 && item2.yacNo <= 9">0</template>{{item2.yacNo}}</p>
|
||||||
|
</view>
|
||||||
|
<view class="seatBox xn" :class="{xnGl:item2.existFlag == '1'}" :key="index2"
|
||||||
|
v-if="item2.type == 2">
|
||||||
|
<view class="planIcon">
|
||||||
|
<image src="../../static/images/yjhIcon.png" mode="" v-if="item2.godStatus == 'P'">
|
||||||
|
</image>
|
||||||
|
<image src="../../static/images/wjhIcon.png" mode="" v-if="item2.godStatus == 'N'">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
<p>{{item2.brdName}}</p>
|
||||||
|
<p>{{item2.bvmName}}</p>
|
||||||
|
<p><template v-if="item2.yacNo >= 1 && item2.yacNo <= 9">0</template>{{item2.yacNo}}</p>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -98,69 +146,103 @@
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
type2List: [{
|
loginObj: {},
|
||||||
id: "01",
|
selectValue: "1",
|
||||||
name: "宝马-轿车",
|
selectList: [{
|
||||||
type: 1,
|
text: "车道",
|
||||||
|
value: "1",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "02",
|
text: "车位",
|
||||||
name: "宝马-轿车",
|
value: "2",
|
||||||
type: 1,
|
}
|
||||||
}, {
|
|
||||||
id: "03",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "04",
|
|
||||||
name: "空置",
|
|
||||||
type: 0,
|
|
||||||
}, {
|
|
||||||
id: "05",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "06",
|
|
||||||
name: "空置",
|
|
||||||
type: 0,
|
|
||||||
}, {
|
|
||||||
id: "07",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "08",
|
|
||||||
name: "空置",
|
|
||||||
type: 0,
|
|
||||||
}, {
|
|
||||||
id: "09",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "10",
|
|
||||||
name: "空置",
|
|
||||||
type: 0,
|
|
||||||
}, {
|
|
||||||
id: "11",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "12",
|
|
||||||
name: "虚拟车位",
|
|
||||||
type: 2,
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
showType: false,
|
lineData: {},
|
||||||
|
seatNum: 0,
|
||||||
|
seatData: {},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
props: {
|
||||||
|
vvyId: {
|
||||||
|
type: String,
|
||||||
|
default: () => ""
|
||||||
|
},
|
||||||
|
pyaObj: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {}
|
||||||
|
},
|
||||||
|
brdId: {
|
||||||
|
type: String,
|
||||||
|
default: () => ""
|
||||||
|
},
|
||||||
|
bvmId: {
|
||||||
|
type: String,
|
||||||
|
default: () => ""
|
||||||
|
},
|
||||||
|
potId: {
|
||||||
|
type: String,
|
||||||
|
default: () => ""
|
||||||
|
},
|
||||||
|
mnfBl: {
|
||||||
|
type: String,
|
||||||
|
default: () => ""
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.loginObj = uni.getStorageSync('loginObj')
|
||||||
|
this.getLineData()
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 点击返回
|
// 点击返回
|
||||||
back() {
|
back() {
|
||||||
this.$emit("modifyPlaceTabs", 0)
|
this.$emit("modifyPlaceTabs", 0)
|
||||||
},
|
},
|
||||||
// 点击显示
|
// 点击下拉切换车道车位
|
||||||
show() {
|
selectChange(e) {
|
||||||
this.showType = !this.showType
|
this.selectValue = e
|
||||||
}
|
if (this.selectValue == 2) {
|
||||||
|
this.getSeatData()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 获取车道车辆情况
|
||||||
|
getLineData() {
|
||||||
|
uni.request({
|
||||||
|
url: `${this.$local}/api/yardGoods/monitor/line/statistics?displayFlag=1&vvyId=${this.vvyId}&pyaId=${this.pyaObj.pyaId}&brdId=${this.brdId}&bvmId=${this.bvmId}&potId=${this.potId}&mnfBl=${this.mnfBl}`,
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json', //自定义请求头信息
|
||||||
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||||
|
},
|
||||||
|
method: 'GET', //请求方式,必须为大写
|
||||||
|
success: (res) => {
|
||||||
|
console.log(res)
|
||||||
|
if (res.data.status == 200) {
|
||||||
|
this.lineData = res.data.data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取车位车辆情况
|
||||||
|
getSeatData() {
|
||||||
|
uni.request({
|
||||||
|
url: `${this.$local}/api/yardGoods/monitor/seat/statistics?displayFlag=1&vvyId=${this.vvyId}&pyaId=${this.pyaObj.pyaId}&brdId=${this.brdId}&bvmId=${this.bvmId}&potId=${this.potId}&mnfBl=${this.mnfBl}`,
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json', //自定义请求头信息
|
||||||
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||||
|
},
|
||||||
|
method: 'GET', //请求方式,必须为大写
|
||||||
|
success: (res) => {
|
||||||
|
if (res.data.status == 200) {
|
||||||
|
this.seatData = res.data.data
|
||||||
|
console.log(this.seatData)
|
||||||
|
let numList = []
|
||||||
|
this.seatData.seatCarStatisticsList.forEach(v => {
|
||||||
|
numList.push(v.carStatisticsList.length)
|
||||||
|
})
|
||||||
|
this.seatNum = Math.max(...numList)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -168,189 +250,286 @@
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.place {
|
.place {
|
||||||
.placeTop {
|
.placeTop {
|
||||||
background-color: #fff;
|
padding: 12px 16px;
|
||||||
padding: 20px;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-bottom: 10px;
|
background-color: #F6F7F9;
|
||||||
position: relative;
|
|
||||||
|
|
||||||
.topLeft {
|
.topLeft {
|
||||||
font-size: 20px;
|
|
||||||
font-weight: bold;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
.left {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #1677FF;
|
||||||
|
margin-right: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.status {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
margin-right: 8px;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-top: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.statusText {
|
||||||
|
display: flex;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #666666;
|
||||||
|
margin-right: 20px;
|
||||||
|
|
||||||
|
.kz {
|
||||||
|
background: #EEEEEE;
|
||||||
|
border: 1px solid #DCDCDC;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sy {
|
||||||
|
background: #4476F6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.xn {
|
||||||
|
background: #FF6B3B;
|
||||||
|
}
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 12px;
|
||||||
|
height: 14px;
|
||||||
|
margin-right: 5px;
|
||||||
|
margin-top: 3px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.topRight {
|
.topRight {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
uni-button {
|
.rightImg {
|
||||||
margin-left: 30px;
|
display: flex;
|
||||||
width: 100px;
|
flex-direction: column;
|
||||||
background-color: #fff;
|
justify-content: center;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 14px;
|
||||||
|
height: 14px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.back {
|
/deep/.uni-icons {
|
||||||
color: #0079FE;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show {
|
/deep/.uni-stat__select {
|
||||||
color: #aaa;
|
width: 50px;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.showBox {
|
/deep/.uni-select {
|
||||||
position: absolute;
|
border: none;
|
||||||
bottom: -102px;
|
background: transparent;
|
||||||
right: 25px;
|
}
|
||||||
border: 1px solid #aaa;
|
|
||||||
|
|
||||||
.showInfo {
|
/deep/.uniui-clear:before {
|
||||||
padding: 20px 30px;
|
display: none;
|
||||||
background-color: #fff;
|
}
|
||||||
|
|
||||||
|
/deep/.uni-select__input-box {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/.uni-select__input-text {
|
||||||
|
color: #1677FF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.placeInfo {
|
.placeText {
|
||||||
padding: 10px 20px;
|
padding: 10px 16px;
|
||||||
background-color: #fff;
|
width: 100%;
|
||||||
display: flex;
|
background: #E6F4FF;
|
||||||
|
border: 1px solid #BAE0FF;
|
||||||
|
|
||||||
.infoLeft {
|
text {
|
||||||
flex: 2;
|
margin-right: 20px;
|
||||||
display: flex;
|
font-size: 14px;
|
||||||
flex-wrap: wrap;
|
color: #333333;
|
||||||
|
|
||||||
text {
|
|
||||||
margin: 10px;
|
|
||||||
margin-right: 0;
|
|
||||||
padding-right: 10px;
|
|
||||||
border-right: 1px solid #aaa;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.infoRight {
|
|
||||||
flex: 1;
|
|
||||||
display: flex;
|
|
||||||
margin-left: 30px;
|
|
||||||
|
|
||||||
.tipBox {
|
|
||||||
display: flex;
|
|
||||||
margin: auto;
|
|
||||||
|
|
||||||
.colorBox {
|
|
||||||
width: 20px;
|
|
||||||
height: 20px;
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vacant {
|
|
||||||
background-color: #aaa;
|
|
||||||
}
|
|
||||||
|
|
||||||
.use {
|
|
||||||
background-color: #0079FE;
|
|
||||||
}
|
|
||||||
|
|
||||||
.virtually {
|
|
||||||
background-color: #F86E56;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.placeList {
|
.placeContent {
|
||||||
padding: 20px;
|
height: calc(100vh - 234px);
|
||||||
background-color: #000;
|
overflow: scroll;
|
||||||
|
|
||||||
.listInfo {
|
.seatTitle {
|
||||||
margin-bottom: 20px;
|
display: flex;
|
||||||
|
height: 50px;
|
||||||
|
border: 1px solid #E1E5ED;
|
||||||
|
|
||||||
.title {
|
.titleLeft {
|
||||||
font-size: 18px;
|
width: 80px;
|
||||||
font-weight: bold;
|
background: #E1E5ED;
|
||||||
color: #fff;
|
border: 1px solid #DBDDE3;
|
||||||
padding-left: 10px;
|
text-align: center;
|
||||||
border-left: 5px solid #0079FE;
|
display: flex;
|
||||||
margin-bottom: 20px;
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #0B266A;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.listType1 {
|
.titleRight {
|
||||||
|
width: calc(100% - 80px);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
.type1Box {
|
p {
|
||||||
|
min-width: 80px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
line-height: 50px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.placeList {
|
||||||
|
display: flex;
|
||||||
|
height: 70px;
|
||||||
|
|
||||||
|
.listLeft {
|
||||||
|
width: 80px;
|
||||||
|
background: #E1E5ED;
|
||||||
|
border: 1px solid #DBDDE3;
|
||||||
|
text-align: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #0B266A;
|
||||||
|
}
|
||||||
|
|
||||||
|
text {
|
||||||
|
font-size: 12px;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.listRight {
|
||||||
|
width: calc(100% - 80px);
|
||||||
|
display: flex;
|
||||||
|
padding: 0 12px;
|
||||||
|
gap: 10px;
|
||||||
|
|
||||||
|
.rigthContent {
|
||||||
|
flex: 1;
|
||||||
|
text-align: center;
|
||||||
|
height: 56px;
|
||||||
|
line-height: 56px;
|
||||||
|
border: 1px solid #E1E5ED;
|
||||||
|
margin: 7px 0;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wsy {
|
||||||
|
background: #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sy {
|
||||||
|
background: rgba(199, 212, 243, 0.8);
|
||||||
|
color: #4476F6;
|
||||||
|
|
||||||
|
.gl {
|
||||||
|
color: #fff;
|
||||||
|
background: #4476F6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.xn {
|
||||||
|
background: rgba(253, 98, 98, 0.10);
|
||||||
|
color: #FD6262;
|
||||||
|
|
||||||
|
.gl {
|
||||||
|
color: #fff;
|
||||||
|
background: #FF6B3B;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.listRightSeat {
|
||||||
|
width: calc(100% - 80px);
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.seatBox {
|
||||||
|
border: 1px solid #E1E5ED;
|
||||||
|
min-width: 80px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
height: 100px;
|
font-size: 12px;
|
||||||
}
|
position: relative;
|
||||||
|
|
||||||
.box1 {
|
p {
|
||||||
flex: 1;
|
|
||||||
background-color: #0079FE;
|
|
||||||
color: #fff;
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.box2 {
|
|
||||||
flex: 1;
|
|
||||||
background-color: #0079FE;
|
|
||||||
color: #fff
|
|
||||||
}
|
|
||||||
|
|
||||||
.box3 {
|
|
||||||
flex: 2;
|
|
||||||
background-color: #fff;
|
|
||||||
color: #aaa
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.listType2 {
|
|
||||||
padding: 10px 0;
|
|
||||||
background-color: #222;
|
|
||||||
|
|
||||||
.type2Box {
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
.type2info {
|
|
||||||
flex: 1;
|
|
||||||
height: 150px;
|
|
||||||
border-radius: 8px;
|
|
||||||
margin: 0 5px;
|
|
||||||
color: #fff;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
display: flex;
|
margin-top: 4px;
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.type0 {
|
p:last-child {
|
||||||
background-color: #aaa;
|
color: #828CA7;
|
||||||
}
|
}
|
||||||
|
|
||||||
.type1 {
|
.planIcon {
|
||||||
background-color: #0079FE;
|
position: absolute;
|
||||||
}
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
|
||||||
.type2 {
|
image {
|
||||||
background-color: #F86E56;
|
width: 12px;
|
||||||
|
height: 14px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.listType3 {
|
.kz {
|
||||||
height: 200px;
|
background: #F7F9FF;
|
||||||
text-align: center;
|
|
||||||
color: #F86E56;
|
p:first-child {
|
||||||
line-height: 200px;
|
width: 70%;
|
||||||
font-size: 18px;
|
margin-left: 15%;
|
||||||
font-weight: bold;
|
padding: 3px 0;
|
||||||
background-color: #aaa;
|
background-color: #fff;
|
||||||
|
border: 1px solid #E4E4E4;
|
||||||
|
border-radius: 1px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.sy {
|
||||||
|
color: #4476F6;
|
||||||
|
background: #D3DDF6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.syGl {
|
||||||
|
color: #fff;
|
||||||
|
background: #4476F6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.xn {
|
||||||
|
color: #FD6262;
|
||||||
|
background: rgba(253, 98, 98, 0.10);
|
||||||
|
}
|
||||||
|
|
||||||
|
.xnGl {
|
||||||
|
color: #fff;
|
||||||
|
background: #FF6B3B;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,9 +65,9 @@
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// rtoswuhan1 wuhan_ceshi1
|
// rtoswuhan1 wuhan_ceshi1
|
||||||
account: 'rtoswuhan1',
|
account: '',
|
||||||
// q123456
|
// q123456
|
||||||
password: 'q123456',
|
password: '',
|
||||||
// 登录类型 pad
|
// 登录类型 pad
|
||||||
mediaType: "pad",
|
mediaType: "pad",
|
||||||
// 登录失败提示
|
// 登录失败提示
|
||||||
|
@ -216,7 +216,6 @@
|
||||||
},
|
},
|
||||||
method: 'GET', //请求方式,必须为大写
|
method: 'GET', //请求方式,必须为大写
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
console.log(res.data.data)
|
|
||||||
uni.setStorageSync('qxList', res.data.data);
|
uni.setStorageSync('qxList', res.data.data);
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
|
@ -2,92 +2,140 @@
|
||||||
<view class="place">
|
<view class="place">
|
||||||
<view class="placeTop">
|
<view class="placeTop">
|
||||||
<view class="topLeft">
|
<view class="topLeft">
|
||||||
堆场资源 B3区
|
<view style="display: flex; flex-direction: column; justify-content: center;">
|
||||||
</view>
|
<view class="left" @click="back">
|
||||||
<view class="topRight">
|
<uni-icons type="back" size="16" color="#1677FF" />
|
||||||
<button @click="back"><text class="back">返回</text></button>
|
<text>返回</text>
|
||||||
<button @click="show"><text class="show">显示</text></button>
|
|
||||||
</view>
|
|
||||||
<view class="showBox" v-if="showType">
|
|
||||||
<view class="showInfo">
|
|
||||||
车道
|
|
||||||
</view>
|
|
||||||
<view class="showInfo">
|
|
||||||
车位
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="placeInfo">
|
|
||||||
<view class="infoLeft">
|
|
||||||
<text>车位总数:12*15=180车位</text>
|
|
||||||
<text>使用车位:40车位</text>
|
|
||||||
<text>剩余车位:40车位</text>
|
|
||||||
<text>虚拟场位:12车位</text>
|
|
||||||
<text>可停放车辆:12辆</text>
|
|
||||||
<text>已停放车辆:12辆</text>
|
|
||||||
</view>
|
|
||||||
<view class="infoRight">
|
|
||||||
<view class="tipBox">
|
|
||||||
<text>空置</text>
|
|
||||||
<view class="colorBox vacant"></view>
|
|
||||||
</view>
|
|
||||||
<view class="tipBox">
|
|
||||||
<text>使用</text>
|
|
||||||
<view class="colorBox use"></view>
|
|
||||||
</view>
|
|
||||||
<view class="tipBox">
|
|
||||||
<text>虚拟车位</text>
|
|
||||||
<view class="colorBox virtually"></view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="placeList">
|
|
||||||
<view class="listInfo">
|
|
||||||
<view class="title">
|
|
||||||
01道(合计12辆车-13车位)
|
|
||||||
</view>
|
|
||||||
<view class="listType1">
|
|
||||||
<view class="type1Box box1">
|
|
||||||
宝马-轿车 12辆
|
|
||||||
</view>
|
|
||||||
<view class="type1Box box2">
|
|
||||||
奔驰-轿车 12辆
|
|
||||||
</view>
|
|
||||||
<view class="type1Box box3">
|
|
||||||
未使用:5车位
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
<view style="display: flex; flex-direction: column; justify-content: center;">
|
||||||
<view class="listInfo">
|
<view class="right">
|
||||||
<view class="title">
|
<view class="statusText">
|
||||||
02道(合计12辆车-13车位)
|
<view class="status kz"></view>
|
||||||
</view>
|
<text>空置</text>
|
||||||
<view class="listType2">
|
</view>
|
||||||
<view class="type2Box">
|
<view class="statusText">
|
||||||
<template v-for="(item, index) in type2List">
|
<view class="status sy"></view>
|
||||||
<view class="type2info"
|
<text>使用</text>
|
||||||
:class="{'type0':item.type == 0, 'type1':item.type == 1, 'type2':item.type == 2}"
|
</view>
|
||||||
:key="index">
|
<view class="statusText">
|
||||||
{{item.name}}
|
<view class="status xn"></view>
|
||||||
|
<text>虚拟车位</text>
|
||||||
|
</view>
|
||||||
|
<template v-if="selectValue == 2">
|
||||||
|
<view class="statusText">
|
||||||
|
<image src="../../static/images/wjhIcon.png" mode=""></image>
|
||||||
|
<text>无计划</text>
|
||||||
|
</view>
|
||||||
|
<view class="statusText">
|
||||||
|
<image src="../../static/images/yjhIcon.png" mode=""></image>
|
||||||
|
<text>有计划</text>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="listInfo">
|
<view class="topRight">
|
||||||
<view class="title">
|
<view class="rightImg">
|
||||||
03道(合计12辆车-13车位)
|
<image src="../../static/images/lineImg.png" mode=""></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="listType3">
|
<uni-data-select v-model="selectValue" :localdata="selectList" @change="selectChange"></uni-data-select>
|
||||||
未使用:5车位
|
<uni-icons type="bottom" size="16" color="#1677FF" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="placeText">
|
||||||
|
<text>车位总数:{{lineData.totalSeatAmout}}车位</text>
|
||||||
|
<text>使用车位:{{lineData.useSeatAmout}}车位</text>
|
||||||
|
<text>剩余车位:{{lineData.remainSeatAmout}}车位</text>
|
||||||
|
<text>虚拟场位:{{lineData.virtuaSeatAmout}}车位</text>
|
||||||
|
<text>可停放车辆:{{lineData.unparkGoodsAmout}}辆</text>
|
||||||
|
<text>已停放车辆:{{lineData.stopGoodsAmout}}辆</text>
|
||||||
|
</view>
|
||||||
|
<view class="placeContent" v-if="selectValue == 1">
|
||||||
|
<view class="placeList" style="border: 1px solid #E1E5ED;"
|
||||||
|
v-for="(item,index) in lineData.lineStatisticsList">
|
||||||
|
<view class="listLeft">
|
||||||
|
<template>
|
||||||
|
<p><template v-if="item.yalNo >= 1 && item.yalNo <= 9">0</template>{{item.yalNo}}道</p>
|
||||||
|
<text>已停{{item.stopGoodsAmout}}/{{item.totalSeatAmout}}辆</text>
|
||||||
|
</template>
|
||||||
|
</view>
|
||||||
|
<view class="listRight">
|
||||||
|
<template v-for="(item2,index2) in item.carLineRespList" @click="showContent(item2)">
|
||||||
|
<view class="rigthContent wsy" :key="index2" v-if="item2.type == '0' || item2.type == '3'">
|
||||||
|
<text>{{item2.carSituation}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="rigthContent sy" :key="index2" v-if="item2.type == '1'">
|
||||||
|
<text v-if="item2.existFlag == '1'"
|
||||||
|
class="gl">{{item2.carSituation}}{{item2.carAmout}}辆</text>
|
||||||
|
<text v-else>{{item2.carSituation}}{{item2.carAmout}}辆</text>
|
||||||
|
</view>
|
||||||
|
<view class="rigthContent xn" :key="index2" v-if="item2.type == '2'">
|
||||||
|
<text v-if="item2.existFlag == '1'"
|
||||||
|
class="gl">{{item2.carSituation}}{{item2.carAmout}}辆</text>
|
||||||
|
<text v-else>{{item2.carSituation}}{{item2.carAmout}}辆</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</template>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="listInfo">
|
</view>
|
||||||
<view class="title">
|
<view class="placeContent" v-if="selectValue == 2">
|
||||||
04道(合计12辆车-13车位)
|
<!-- <view class="seatTitle">
|
||||||
|
<view class="titleLeft">
|
||||||
|
车位
|
||||||
</view>
|
</view>
|
||||||
<view class="listType3">
|
<view class="titleRight">
|
||||||
未使用:5车位
|
<p v-for="(item,index) in seatNum" :key="index">
|
||||||
|
<template v-if="item >= 1 && item <= 9">0</template>
|
||||||
|
{{item}}
|
||||||
|
</p>
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
<view class="placeList" v-for="(item,index) in seatData.seatCarStatisticsList">
|
||||||
|
<view class="listLeft">
|
||||||
|
<template>
|
||||||
|
<p><template v-if="item.yalNo >= 1 && item.yalNo <= 9">0</template>{{item.yalNo}}道</p>
|
||||||
|
<text>已停{{item.stopGoodsAmout}}/{{item.totalSeatAmout}}辆</text>
|
||||||
|
</template>
|
||||||
|
</view>
|
||||||
|
<view class="listRightSeat">
|
||||||
|
<template v-for="(item2,index2) in item.carStatisticsList">
|
||||||
|
<view class="seatBox kz" :key="index2" v-if="item2.type == 0">
|
||||||
|
<view class="planIcon">
|
||||||
|
<image src="../../static/images/yjhIcon.png" mode="" v-if="item2.godStatus == 'P'">
|
||||||
|
</image>
|
||||||
|
<image src="../../static/images/wjhIcon.png" mode="" v-if="item2.godStatus == 'N'">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
<p>空置</p>
|
||||||
|
<p><template v-if="item2.yacNo >= 1 && item2.yacNo <= 9">0</template>{{item2.yacNo}}</p>
|
||||||
|
</view>
|
||||||
|
<view class="seatBox sy" :class="{syGl:item2.existFlag == '1'}" :key="index2"
|
||||||
|
v-if="item2.type == 1">
|
||||||
|
<view class="planIcon">
|
||||||
|
<image src="../../static/images/yjhIcon.png" mode="" v-if="item2.godStatus == 'P'">
|
||||||
|
</image>
|
||||||
|
<image src="../../static/images/wjhIcon.png" mode="" v-if="item2.godStatus == 'N'">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
<p>{{item2.brdName}}</p>
|
||||||
|
<p>{{item2.bvmName}}</p>
|
||||||
|
<p><template v-if="item2.yacNo >= 1 && item2.yacNo <= 9">0</template>{{item2.yacNo}}</p>
|
||||||
|
</view>
|
||||||
|
<view class="seatBox xn" :class="{xnGl:item2.existFlag == '1'}" :key="index2"
|
||||||
|
v-if="item2.type == 2">
|
||||||
|
<view class="planIcon">
|
||||||
|
<image src="../../static/images/yjhIcon.png" mode="" v-if="item2.godStatus == 'P'">
|
||||||
|
</image>
|
||||||
|
<image src="../../static/images/wjhIcon.png" mode="" v-if="item2.godStatus == 'N'">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
<p>{{item2.brdName}}</p>
|
||||||
|
<p>{{item2.bvmName}}</p>
|
||||||
|
<p><template v-if="item2.yacNo >= 1 && item2.yacNo <= 9">0</template>{{item2.yacNo}}</p>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -98,259 +146,396 @@
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
type2List: [{
|
loginObj: {},
|
||||||
id: "01",
|
selectValue: "1",
|
||||||
name: "宝马-轿车",
|
selectList: [{
|
||||||
type: 1,
|
text: "车道",
|
||||||
|
value: "1",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "02",
|
text: "车位",
|
||||||
name: "宝马-轿车",
|
value: "2",
|
||||||
type: 1,
|
}
|
||||||
}, {
|
|
||||||
id: "03",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "04",
|
|
||||||
name: "空置",
|
|
||||||
type: 0,
|
|
||||||
}, {
|
|
||||||
id: "05",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "06",
|
|
||||||
name: "空置",
|
|
||||||
type: 0,
|
|
||||||
}, {
|
|
||||||
id: "07",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "08",
|
|
||||||
name: "空置",
|
|
||||||
type: 0,
|
|
||||||
}, {
|
|
||||||
id: "09",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "10",
|
|
||||||
name: "空置",
|
|
||||||
type: 0,
|
|
||||||
}, {
|
|
||||||
id: "11",
|
|
||||||
name: "宝马-轿车",
|
|
||||||
type: 1,
|
|
||||||
}, {
|
|
||||||
id: "12",
|
|
||||||
name: "虚拟车位",
|
|
||||||
type: 2,
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
showType: false,
|
lineData: {},
|
||||||
|
seatNum: 0,
|
||||||
|
seatData: {},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
props: {
|
||||||
|
vvyId: {
|
||||||
|
type: String,
|
||||||
|
default: () => ""
|
||||||
|
},
|
||||||
|
pyaObj: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {}
|
||||||
|
},
|
||||||
|
brdId: {
|
||||||
|
type: String,
|
||||||
|
default: () => ""
|
||||||
|
},
|
||||||
|
potId: {
|
||||||
|
type: String,
|
||||||
|
default: () => ""
|
||||||
|
},
|
||||||
|
mnfBl: {
|
||||||
|
type: String,
|
||||||
|
default: () => ""
|
||||||
|
},
|
||||||
|
vinCode: {
|
||||||
|
type: String,
|
||||||
|
default: () => ""
|
||||||
|
},
|
||||||
|
workId: {
|
||||||
|
type: String,
|
||||||
|
default: () => ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.loginObj = uni.getStorageSync('loginObj')
|
||||||
|
this.getLineData()
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 点击返回
|
// 点击返回
|
||||||
back() {
|
back() {
|
||||||
this.$emit("modifyPlaceTabs", 0)
|
this.$emit("modifyPlaceTabs", 0)
|
||||||
},
|
},
|
||||||
// 点击显示
|
// 点击下拉切换车道车位
|
||||||
show() {
|
selectChange(e) {
|
||||||
this.showType = !this.showType
|
this.selectValue = e
|
||||||
}
|
if (this.selectValue == 2) {
|
||||||
|
this.getSeatData()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 获取车道车辆情况
|
||||||
|
getLineData() {
|
||||||
|
uni.request({
|
||||||
|
url: `${this.$local}/api/yardGoods/monitor/line/statistics?displayFlag=1&vvyId=${this.vvyId}&pyaId=${this.pyaObj.pyaId}&brdId=${this.brdId}&bvmId=${this.bvmId}&potId=${this.potId}&vinCode=${this.vinCode}$workStatuss=${this.workId}`,
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json', //自定义请求头信息
|
||||||
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||||
|
},
|
||||||
|
method: 'GET', //请求方式,必须为大写
|
||||||
|
success: (res) => {
|
||||||
|
console.log(res)
|
||||||
|
if (res.data.status == 200) {
|
||||||
|
this.lineData = res.data.data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取车位车辆情况
|
||||||
|
getSeatData() {
|
||||||
|
uni.request({
|
||||||
|
url: `${this.$local}/api/yardGoods/monitor/seat/statistics?displayFlag=1&vvyId=${this.vvyId}&pyaId=${this.pyaObj.pyaId}&brdId=${this.brdId}&bvmId=${this.bvmId}&potId=${this.potId}&vinCode=${this.vinCode}$workStatuss=${this.workId}`,
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json', //自定义请求头信息
|
||||||
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||||
|
},
|
||||||
|
method: 'GET', //请求方式,必须为大写
|
||||||
|
success: (res) => {
|
||||||
|
if (res.data.status == 200) {
|
||||||
|
this.seatData = res.data.data
|
||||||
|
console.log(this.seatData)
|
||||||
|
let numList = []
|
||||||
|
this.seatData.seatCarStatisticsList.forEach(v => {
|
||||||
|
numList.push(v.carStatisticsList.length)
|
||||||
|
})
|
||||||
|
this.seatNum = Math.max(...numList)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.place {
|
.place {
|
||||||
|
margin-top: 68px;
|
||||||
|
|
||||||
.placeTop {
|
.placeTop {
|
||||||
background-color: #fff;
|
padding: 12px 16px;
|
||||||
padding: 20px;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-bottom: 10px;
|
background-color: #F6F7F9;
|
||||||
position: relative;
|
|
||||||
|
|
||||||
.topLeft {
|
.topLeft {
|
||||||
font-size: 20px;
|
|
||||||
font-weight: bold;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
.left {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #1677FF;
|
||||||
|
margin-right: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.status {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
margin-right: 8px;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-top: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.statusText {
|
||||||
|
display: flex;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #666666;
|
||||||
|
margin-right: 20px;
|
||||||
|
|
||||||
|
.kz {
|
||||||
|
background: #EEEEEE;
|
||||||
|
border: 1px solid #DCDCDC;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sy {
|
||||||
|
background: #4476F6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.xn {
|
||||||
|
background: #FF6B3B;
|
||||||
|
}
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 12px;
|
||||||
|
height: 14px;
|
||||||
|
margin-right: 5px;
|
||||||
|
margin-top: 3px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.topRight {
|
.topRight {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
uni-button {
|
.rightImg {
|
||||||
margin-left: 30px;
|
display: flex;
|
||||||
width: 100px;
|
flex-direction: column;
|
||||||
background-color: #fff;
|
justify-content: center;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 14px;
|
||||||
|
height: 14px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.back {
|
/deep/.uni-icons {
|
||||||
color: #0079FE;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.show {
|
/deep/.uni-stat__select {
|
||||||
color: #aaa;
|
width: 50px;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.showBox {
|
/deep/.uni-select {
|
||||||
position: absolute;
|
border: none;
|
||||||
bottom: -102px;
|
background: transparent;
|
||||||
right: 25px;
|
}
|
||||||
border: 1px solid #aaa;
|
|
||||||
|
|
||||||
.showInfo {
|
/deep/.uniui-clear:before {
|
||||||
padding: 20px 30px;
|
display: none;
|
||||||
background-color: #fff;
|
}
|
||||||
|
|
||||||
|
/deep/.uni-select__input-box {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/.uni-select__input-text {
|
||||||
|
color: #1677FF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.placeInfo {
|
.placeText {
|
||||||
padding: 10px 20px;
|
padding: 10px 16px;
|
||||||
background-color: #fff;
|
width: 100%;
|
||||||
display: flex;
|
background: #E6F4FF;
|
||||||
|
border: 1px solid #BAE0FF;
|
||||||
|
|
||||||
.infoLeft {
|
text {
|
||||||
flex: 2;
|
margin-right: 20px;
|
||||||
display: flex;
|
font-size: 14px;
|
||||||
flex-wrap: wrap;
|
color: #333333;
|
||||||
|
|
||||||
text {
|
|
||||||
margin: 10px;
|
|
||||||
margin-right: 0;
|
|
||||||
padding-right: 10px;
|
|
||||||
border-right: 1px solid #aaa;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.infoRight {
|
|
||||||
flex: 1;
|
|
||||||
display: flex;
|
|
||||||
margin-left: 30px;
|
|
||||||
|
|
||||||
.tipBox {
|
|
||||||
display: flex;
|
|
||||||
margin: auto;
|
|
||||||
|
|
||||||
.colorBox {
|
|
||||||
width: 20px;
|
|
||||||
height: 20px;
|
|
||||||
margin-left: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.vacant {
|
|
||||||
background-color: #aaa;
|
|
||||||
}
|
|
||||||
|
|
||||||
.use {
|
|
||||||
background-color: #0079FE;
|
|
||||||
}
|
|
||||||
|
|
||||||
.virtually {
|
|
||||||
background-color: #F86E56;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.placeList {
|
.placeContent {
|
||||||
padding: 20px;
|
height: calc(100vh - 234px);
|
||||||
background-color: #000;
|
overflow: scroll;
|
||||||
|
|
||||||
.listInfo {
|
.seatTitle {
|
||||||
margin-bottom: 20px;
|
display: flex;
|
||||||
|
height: 50px;
|
||||||
|
border: 1px solid #E1E5ED;
|
||||||
|
|
||||||
.title {
|
.titleLeft {
|
||||||
font-size: 18px;
|
width: 80px;
|
||||||
font-weight: bold;
|
background: #E1E5ED;
|
||||||
color: #fff;
|
border: 1px solid #DBDDE3;
|
||||||
padding-left: 10px;
|
text-align: center;
|
||||||
border-left: 5px solid #0079FE;
|
display: flex;
|
||||||
margin-bottom: 20px;
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #0B266A;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.listType1 {
|
.titleRight {
|
||||||
|
width: calc(100% - 80px);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
.type1Box {
|
p {
|
||||||
|
min-width: 80px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
line-height: 50px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.placeList {
|
||||||
|
display: flex;
|
||||||
|
height: 70px;
|
||||||
|
|
||||||
|
.listLeft {
|
||||||
|
width: 80px;
|
||||||
|
background: #E1E5ED;
|
||||||
|
border: 1px solid #DBDDE3;
|
||||||
|
text-align: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #0B266A;
|
||||||
|
}
|
||||||
|
|
||||||
|
text {
|
||||||
|
font-size: 12px;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.listRight {
|
||||||
|
width: calc(100% - 80px);
|
||||||
|
display: flex;
|
||||||
|
padding: 0 12px;
|
||||||
|
gap: 10px;
|
||||||
|
|
||||||
|
.rigthContent {
|
||||||
|
flex: 1;
|
||||||
|
text-align: center;
|
||||||
|
height: 56px;
|
||||||
|
line-height: 56px;
|
||||||
|
border: 1px solid #E1E5ED;
|
||||||
|
margin: 7px 0;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wsy {
|
||||||
|
background: #EEEEEE;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sy {
|
||||||
|
background: rgba(199, 212, 243, 0.8);
|
||||||
|
color: #4476F6;
|
||||||
|
|
||||||
|
.gl {
|
||||||
|
color: #fff;
|
||||||
|
background: #4476F6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.xn {
|
||||||
|
background: rgba(253, 98, 98, 0.10);
|
||||||
|
color: #FD6262;
|
||||||
|
|
||||||
|
.gl {
|
||||||
|
color: #fff;
|
||||||
|
background: #FF6B3B;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.listRightSeat {
|
||||||
|
width: calc(100% - 80px);
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.seatBox {
|
||||||
|
border: 1px solid #E1E5ED;
|
||||||
|
min-width: 80px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
height: 100px;
|
font-size: 12px;
|
||||||
}
|
position: relative;
|
||||||
|
|
||||||
.box1 {
|
p {
|
||||||
flex: 1;
|
|
||||||
background-color: #0079FE;
|
|
||||||
color: #fff;
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.box2 {
|
|
||||||
flex: 1;
|
|
||||||
background-color: #0079FE;
|
|
||||||
color: #fff
|
|
||||||
}
|
|
||||||
|
|
||||||
.box3 {
|
|
||||||
flex: 2;
|
|
||||||
background-color: #fff;
|
|
||||||
color: #aaa
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.listType2 {
|
|
||||||
padding: 10px 0;
|
|
||||||
background-color: #222;
|
|
||||||
|
|
||||||
.type2Box {
|
|
||||||
display: flex;
|
|
||||||
|
|
||||||
.type2info {
|
|
||||||
flex: 1;
|
|
||||||
height: 150px;
|
|
||||||
border-radius: 8px;
|
|
||||||
margin: 0 5px;
|
|
||||||
color: #fff;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
display: flex;
|
margin-top: 4px;
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.type0 {
|
p:last-child {
|
||||||
background-color: #aaa;
|
color: #828CA7;
|
||||||
}
|
}
|
||||||
|
|
||||||
.type1 {
|
.planIcon {
|
||||||
background-color: #0079FE;
|
position: absolute;
|
||||||
}
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
|
||||||
.type2 {
|
image {
|
||||||
background-color: #F86E56;
|
width: 12px;
|
||||||
|
height: 14px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.listType3 {
|
.kz {
|
||||||
height: 200px;
|
background: #F7F9FF;
|
||||||
text-align: center;
|
|
||||||
color: #F86E56;
|
p:first-child {
|
||||||
line-height: 200px;
|
width: 70%;
|
||||||
font-size: 18px;
|
margin-left: 15%;
|
||||||
font-weight: bold;
|
padding: 3px 0;
|
||||||
background-color: #aaa;
|
background-color: #fff;
|
||||||
|
border: 1px solid #E4E4E4;
|
||||||
|
border-radius: 1px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.sy {
|
||||||
|
color: #4476F6;
|
||||||
|
background: #D3DDF6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.syGl {
|
||||||
|
color: #fff;
|
||||||
|
background: #4476F6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.xn {
|
||||||
|
color: #FD6262;
|
||||||
|
background: rgba(253, 98, 98, 0.10);
|
||||||
|
}
|
||||||
|
|
||||||
|
.xnGl {
|
||||||
|
color: #fff;
|
||||||
|
background: #FF6B3B;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -431,7 +431,6 @@
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
if (res.statusCode == 200) {
|
if (res.statusCode == 200) {
|
||||||
this.infoData = res.data.data
|
this.infoData = res.data.data
|
||||||
console.log(this.infoData)
|
|
||||||
// 获取板车照片
|
// 获取板车照片
|
||||||
this.bcPhoto = this.infoData.boardCarPhotos
|
this.bcPhoto = this.infoData.boardCarPhotos
|
||||||
this.infoData.boardCarPhotos.forEach(v => {
|
this.infoData.boardCarPhotos.forEach(v => {
|
||||||
|
@ -749,7 +748,7 @@
|
||||||
// 修改残损
|
// 修改残损
|
||||||
togoCs() {
|
togoCs() {
|
||||||
let obj = {
|
let obj = {
|
||||||
imgUrl: this.hzzsImg
|
imgUrl: this.zsBase
|
||||||
}
|
}
|
||||||
const params = encodeURIComponent(JSON.stringify(obj));
|
const params = encodeURIComponent(JSON.stringify(obj));
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
|
|
|
@ -468,6 +468,7 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
|
||||||
.leftHead {
|
.leftHead {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
|
|
@ -48,10 +48,30 @@
|
||||||
// 获取传递的对象参数,使用decodeURIComponent解码,并转为对象
|
// 获取传递的对象参数,使用decodeURIComponent解码,并转为对象
|
||||||
this.imgUrl = JSON.parse(decodeURIComponent(options.params)).imgUrl
|
this.imgUrl = JSON.parse(decodeURIComponent(options.params)).imgUrl
|
||||||
}
|
}
|
||||||
this.init()
|
|
||||||
this.loginObj = uni.getStorageSync('loginObj')
|
this.loginObj = uni.getStorageSync('loginObj')
|
||||||
|
if (this.imgUrl == "") {
|
||||||
|
this.handleReset()
|
||||||
|
} else {
|
||||||
|
this.initImg(this.imgUrl)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
initImg(name) {
|
||||||
|
uni.request({
|
||||||
|
url: `${this.$local}/api/file/url/?fileName=${name}`,
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json', //自定义请求头信息
|
||||||
|
'Authorization': `Bearer ${this.loginObj.access_token}`
|
||||||
|
},
|
||||||
|
method: 'GET', //请求方式,必须为大写
|
||||||
|
success: (res) => {
|
||||||
|
if (res.statusCode == 200) {
|
||||||
|
this.imgUrl = res.data
|
||||||
|
this.init(this.imgUrl)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
init() {
|
init() {
|
||||||
let that = this
|
let that = this
|
||||||
that.ctx = uni.createCanvasContext('mycanvas', that); //创建绘图对象
|
that.ctx = uni.createCanvasContext('mycanvas', that); //创建绘图对象
|
||||||
|
@ -145,20 +165,7 @@
|
||||||
method: 'GET', //请求方式,必须为大写
|
method: 'GET', //请求方式,必须为大写
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
if (res.statusCode == 200) {
|
if (res.statusCode == 200) {
|
||||||
uni.request({
|
that.initImg(res.data.data[0].ptrDesc)
|
||||||
url: `${that.$local}/api/file/url/?fileName=${res.data.data[0].ptrDesc}`,
|
|
||||||
header: {
|
|
||||||
'Content-Type': 'application/json', //自定义请求头信息
|
|
||||||
'Authorization': `Bearer ${that.loginObj.access_token}`
|
|
||||||
},
|
|
||||||
method: 'GET', //请求方式,必须为大写
|
|
||||||
success: (res) => {
|
|
||||||
if (res.statusCode == 200) {
|
|
||||||
that.imgUrl = res.data
|
|
||||||
that.init()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -109,6 +109,14 @@
|
||||||
current: 1,
|
current: 1,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
onBackPress(options) {
|
||||||
|
// 触发返回就会调用此方法,这里实现的是禁用物理返回,顶部导航栏的自定义返回 uni.navigateBack 仍可使用
|
||||||
|
if (options.from == 'backbutton') {
|
||||||
|
return true;
|
||||||
|
} else if (options.from == 'navigateBack') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.loginObj = uni.getStorageSync('loginObj')
|
this.loginObj = uni.getStorageSync('loginObj')
|
||||||
this.portObj = uni.getStorageSync('portObj')
|
this.portObj = uni.getStorageSync('portObj')
|
||||||
|
@ -204,7 +212,6 @@
|
||||||
},
|
},
|
||||||
method: 'GET', //请求方式,必须为大写
|
method: 'GET', //请求方式,必须为大写
|
||||||
success: (res) => {
|
success: (res) => {
|
||||||
console.log(res)
|
|
||||||
this.total = res.data.data.total
|
this.total = res.data.data.total
|
||||||
this.itemList = res.data.data.records
|
this.itemList = res.data.data.records
|
||||||
}
|
}
|
||||||
|
|
|
@ -185,7 +185,7 @@
|
||||||
let sql = `DELETE FROM abnormalConditionRespList WHERE vacId = '${this.abnormalRow.vacId}';`
|
let sql = `DELETE FROM abnormalConditionRespList WHERE vacId = '${this.abnormalRow.vacId}';`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
let reg = RegExp(/-/)
|
let reg = RegExp(/-/)
|
||||||
if (reg.test(this.abnormalRow.vacId)) {
|
if (reg.test(this.abnormalRow.vacId) == false) {
|
||||||
this.delCtIds.push(this.abnormalRow.vacId)
|
this.delCtIds.push(this.abnormalRow.vacId)
|
||||||
uni.setStorageSync('delCtIds', this.delCtIds);
|
uni.setStorageSync('delCtIds', this.delCtIds);
|
||||||
}
|
}
|
||||||
|
@ -340,11 +340,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnList {
|
.btnList {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
height: 80px;
|
||||||
|
background-color: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
/deep/ .van-button {
|
/deep/ .van-button {
|
||||||
margin: 30px 20px;
|
margin: 15px 20px;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,29 +3,105 @@
|
||||||
<head-view :title="title" url="/pages/shipWork/documentList"></head-view>
|
<head-view :title="title" url="/pages/shipWork/documentList"></head-view>
|
||||||
<view class="container contentFixed">
|
<view class="container contentFixed">
|
||||||
<view class="topBox">
|
<view class="topBox">
|
||||||
<view class="searchBox">
|
<view class="leftInput">
|
||||||
<uni-easyinput suffixIcon="search" v-model="searchValue" placeholder="品牌/提单号"
|
<uni-easyinput suffixIcon="search" v-model="searchValue" placeholder="品牌/提单号"
|
||||||
@iconClick="iconClick"></uni-easyinput>
|
@iconClick="iconClick"></uni-easyinput>
|
||||||
<text @tap="screen">筛选</text>
|
|
||||||
<fjj-condition ref='condition' @touchmove.stop :color="color" :list="menuList"
|
|
||||||
:defaultValue="defaultValue" @result="resultConditon" />
|
|
||||||
</view>
|
</view>
|
||||||
|
<text @click="screen">筛选</text>
|
||||||
</view>
|
</view>
|
||||||
<template v-if="listInfo.length > 0">
|
<uni-drawer ref="showRight" mode="right" :mask-click="false">
|
||||||
|
<view class="scroll-view">
|
||||||
|
<scroll-view class="scroll-view-box" scroll-y="true">
|
||||||
|
<view class="drawerTop" @click="back">
|
||||||
|
<image src="../../static/images/leftJt.png" mode=""></image>
|
||||||
|
<text>返回</text>
|
||||||
|
</view>
|
||||||
|
<view class="drawerTitle">
|
||||||
|
型号
|
||||||
|
</view>
|
||||||
|
<view class="selectBox">
|
||||||
|
<view class="boxContent" v-for="(item,index) in modelList" :key="index"
|
||||||
|
:class="{active:activeIndex == index}" @click="clickModel(item,index)">
|
||||||
|
{{item.text}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="drawerTitle">
|
||||||
|
品牌
|
||||||
|
</view>
|
||||||
|
<superwei-combox :candidates="brdList" :isJSON="true" keyName="text" placeholder="请选择品牌"
|
||||||
|
v-model="brdName" @select="brdSelect"></superwei-combox>
|
||||||
|
<view class="drawerTitle">
|
||||||
|
车型
|
||||||
|
</view>
|
||||||
|
<superwei-combox :candidates="bvmList" :isJSON="true" keyName="text" placeholder="请选择车型"
|
||||||
|
v-model="bvmName" @select="bvmSelect"></superwei-combox>
|
||||||
|
<view class="drawerTitle">
|
||||||
|
港口
|
||||||
|
</view>
|
||||||
|
<superwei-combox :candidates="potList" :isJSON="true" keyName="text" placeholder="请选择车型"
|
||||||
|
v-model="potName" @select="potSelect"></superwei-combox>
|
||||||
|
<view class="drawerTitle">
|
||||||
|
重量
|
||||||
|
</view>
|
||||||
|
<view class="qjBox">
|
||||||
|
<uni-easyinput v-model="minTon" class="input" type="number"></uni-easyinput>
|
||||||
|
<text>吨</text>
|
||||||
|
<text> - </text>
|
||||||
|
<uni-easyinput v-model="maxTon" class="input" type="number"></uni-easyinput>
|
||||||
|
<text>吨</text>
|
||||||
|
</view>
|
||||||
|
<view class="drawerTitle">
|
||||||
|
宽
|
||||||
|
</view>
|
||||||
|
<view class="qjBox">
|
||||||
|
<uni-easyinput v-model="minWidth" class="input" type="number"></uni-easyinput>
|
||||||
|
<text>m</text>
|
||||||
|
<text> - </text>
|
||||||
|
<uni-easyinput v-model="maxWidth" class="input" type="number"></uni-easyinput>
|
||||||
|
<text>m</text>
|
||||||
|
</view>
|
||||||
|
<view class="drawerTitle">
|
||||||
|
高
|
||||||
|
</view>
|
||||||
|
<view class="qjBox">
|
||||||
|
<uni-easyinput v-model="minHeight" class="input" type="number"></uni-easyinput>
|
||||||
|
<text>m</text>
|
||||||
|
<text> - </text>
|
||||||
|
<uni-easyinput v-model="maxHeight" class="input" type="number"></uni-easyinput>
|
||||||
|
<text>m</text>
|
||||||
|
</view>
|
||||||
|
<view class="bottomBtn">
|
||||||
|
<view class="btn czBtn" @click="reset">
|
||||||
|
重置
|
||||||
|
</view>
|
||||||
|
<view class="btn qrBtn" @click="confirm">
|
||||||
|
确认
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
</uni-drawer>
|
||||||
|
<template v-if=" listInfo.length> 0">
|
||||||
<view class="ul">
|
<view class="ul">
|
||||||
<view class="li" v-for="(item,index) in listInfo" :key="index" @click="togoCar(item)">
|
<view class="li" v-for="(item,index) in listInfo" :key="index" @click="togoCar(item)">
|
||||||
<p class="title">品牌:{{item.brdName}}</p>
|
<view class="liTitle">
|
||||||
<p>提单号:{{item.mnfBl}}</p>
|
<image class="titleImg" src="../../static/images/zlIcon.png" mode="widthFix">
|
||||||
<p>源类型:{{item.sourceType}}</p>
|
</image>
|
||||||
<p>场位:{{item.yardPos}}</p>
|
<p>品牌:{{item.brdName}}</p>
|
||||||
<p>航次:{{item.vvyName}}</p>
|
</view>
|
||||||
<p>报关状态:{{item.customsDeclareStatus}}</p>
|
<view class="liContent">
|
||||||
<p>车型:{{item.bvmName}}</p>
|
<p>提单号:{{item.mnfBl}}</p>
|
||||||
<p>数量:{{item.amount}}</p>
|
<p>源类型:{{item.sourceType}}</p>
|
||||||
<p>港口:{{item.potName}}</p>
|
<p>场位:{{item.yardPos}}</p>
|
||||||
<p>报关单号:{{item.customsDeclareNo}}</p>
|
<p>数量:{{item.amount}}</p>
|
||||||
<p>车型明细:{{item.bvdName}}</p>
|
<p>航次:{{item.vvyName}}</p>
|
||||||
<p>货代:{{item.agentName}}</p>
|
<p>港口:{{item.potName}}</p>
|
||||||
|
<p>报关状态:{{item.customsDeclareStatus}}</p>
|
||||||
|
<p>车型:{{item.bvmName}}</p>
|
||||||
|
<p>报关单号:{{item.customsDeclareNo}}</p>
|
||||||
|
<p>车型明细:{{item.bvdName}}</p>
|
||||||
|
<p>货代:{{item.agentName}}</p>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="pageBox" v-if="total > 0">
|
<view class="pageBox" v-if="total > 0">
|
||||||
|
@ -33,7 +109,6 @@
|
||||||
@change="changePage" />
|
@change="changePage" />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<o-empty v-else height="70vh" bg="#fff" />
|
<o-empty v-else height="70vh" bg="#fff" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -41,19 +116,47 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import sqlite from "../../common/sqlite.js"
|
import sqlite from "../../common/sqlite.js"
|
||||||
|
import api from "../../common/api.js"
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
title: "船名 - 品牌明细",
|
title: "船名 - 品牌明细",
|
||||||
searchValue: "",
|
searchValue: "",
|
||||||
color: '#4D7BFE',
|
|
||||||
hasChoose: false,
|
|
||||||
menuList: [],
|
|
||||||
defaultValue: {},
|
|
||||||
listInfo: [],
|
listInfo: [],
|
||||||
allList: [],
|
allList: [],
|
||||||
vtpId: "",
|
vtpId: "",
|
||||||
|
|
||||||
|
// 抽屉内容
|
||||||
|
// 型号
|
||||||
|
modelId: "",
|
||||||
|
modelName: "",
|
||||||
|
modelList: [],
|
||||||
|
activeIndex: -1,
|
||||||
|
// 品牌
|
||||||
|
brdId: "",
|
||||||
|
brdName: "",
|
||||||
|
brdList: [],
|
||||||
|
// 车型
|
||||||
|
bvmId: "",
|
||||||
|
bvmName: "",
|
||||||
|
bvmList: [],
|
||||||
|
// 港口
|
||||||
|
potId: "",
|
||||||
|
potName: "",
|
||||||
|
potList: [],
|
||||||
|
// 最小吨
|
||||||
|
minTon: "",
|
||||||
|
// 最大吨
|
||||||
|
maxTon: "",
|
||||||
|
// 最小宽度
|
||||||
|
minWidth: "",
|
||||||
|
// 最大宽度
|
||||||
|
maxWidth: "",
|
||||||
|
// 最小高度
|
||||||
|
minHeight: "",
|
||||||
|
// 最大高度
|
||||||
|
maxHeight: "",
|
||||||
|
|
||||||
// 分页
|
// 分页
|
||||||
total: 0,
|
total: 0,
|
||||||
pageSize: 3,
|
pageSize: 3,
|
||||||
|
@ -66,125 +169,6 @@
|
||||||
this.vtpId = uni.getStorageSync('vtpId')
|
this.vtpId = uni.getStorageSync('vtpId')
|
||||||
this.executeSql1('shipmentShipLoadPlansRespList')
|
this.executeSql1('shipmentShipLoadPlansRespList')
|
||||||
this.executeSql1('shipInfoTable')
|
this.executeSql1('shipInfoTable')
|
||||||
setTimeout(() => {
|
|
||||||
this.menuList = [{
|
|
||||||
'title': '按港口',
|
|
||||||
'type': 'custom',
|
|
||||||
'key': 'custom1',
|
|
||||||
'isMutiple': true, //多选
|
|
||||||
'detailList': [{
|
|
||||||
title: '港口1',
|
|
||||||
value: "1",
|
|
||||||
isSelected: true
|
|
||||||
}, {
|
|
||||||
title: '港口2',
|
|
||||||
value: "2",
|
|
||||||
}, {
|
|
||||||
title: '港口3',
|
|
||||||
value: "3",
|
|
||||||
}, {
|
|
||||||
title: '港口4',
|
|
||||||
value: "4",
|
|
||||||
}, {
|
|
||||||
title: '港口5',
|
|
||||||
value: "5",
|
|
||||||
}, {
|
|
||||||
title: '港口6',
|
|
||||||
value: "6",
|
|
||||||
}],
|
|
||||||
}, {
|
|
||||||
'title': '按车型',
|
|
||||||
'type': 'custom',
|
|
||||||
'key': 'custom2',
|
|
||||||
'isMutiple': true, //多选
|
|
||||||
'detailList': [{
|
|
||||||
title: '车型1',
|
|
||||||
value: "1",
|
|
||||||
}, {
|
|
||||||
title: '车型2',
|
|
||||||
value: "2",
|
|
||||||
}, {
|
|
||||||
title: '车型3',
|
|
||||||
value: "3",
|
|
||||||
}, {
|
|
||||||
title: '车型4',
|
|
||||||
value: "4",
|
|
||||||
}, {
|
|
||||||
title: '车型5',
|
|
||||||
value: "5",
|
|
||||||
}, {
|
|
||||||
title: '车型6',
|
|
||||||
value: "6",
|
|
||||||
}, {
|
|
||||||
title: '车型7',
|
|
||||||
value: "7",
|
|
||||||
}],
|
|
||||||
}, {
|
|
||||||
'title': '按品牌',
|
|
||||||
'type': 'custom',
|
|
||||||
'key': 'custom3',
|
|
||||||
'isMutiple': true, //多选
|
|
||||||
'detailList': [{
|
|
||||||
title: '品牌1',
|
|
||||||
value: "1",
|
|
||||||
}, {
|
|
||||||
title: '品牌2',
|
|
||||||
value: "2",
|
|
||||||
}, {
|
|
||||||
title: '品牌3',
|
|
||||||
value: "3",
|
|
||||||
}, {
|
|
||||||
title: '品牌4',
|
|
||||||
value: "4",
|
|
||||||
}, {
|
|
||||||
title: '品牌5',
|
|
||||||
value: "5",
|
|
||||||
}, {
|
|
||||||
title: '品牌6',
|
|
||||||
value: "6",
|
|
||||||
}],
|
|
||||||
}, {
|
|
||||||
'title': '按型号',
|
|
||||||
'type': 'custom',
|
|
||||||
'key': 'custom4',
|
|
||||||
'isMutiple': true, //多选
|
|
||||||
'detailList': [{
|
|
||||||
title: '型号1',
|
|
||||||
value: "1",
|
|
||||||
}, {
|
|
||||||
title: '型号2',
|
|
||||||
value: "2",
|
|
||||||
}, {
|
|
||||||
title: '型号3',
|
|
||||||
value: "3",
|
|
||||||
}, {
|
|
||||||
title: '型号4',
|
|
||||||
value: "4",
|
|
||||||
}, {
|
|
||||||
title: '型号5',
|
|
||||||
value: "5",
|
|
||||||
}, {
|
|
||||||
title: '型号6',
|
|
||||||
value: "6",
|
|
||||||
}],
|
|
||||||
}, {
|
|
||||||
'title': '单选',
|
|
||||||
'type': 'custom',
|
|
||||||
'key': 'custom5',
|
|
||||||
'isMutiple': false, //单选
|
|
||||||
'detailList': [{
|
|
||||||
title: '选项1',
|
|
||||||
value: "1",
|
|
||||||
}, {
|
|
||||||
title: '选项2',
|
|
||||||
value: "2",
|
|
||||||
}],
|
|
||||||
}, ]
|
|
||||||
this.defaultValue = {
|
|
||||||
custom1: ['1'],
|
|
||||||
custom5: 1,
|
|
||||||
};
|
|
||||||
}, 2000)
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 查
|
// 查
|
||||||
|
@ -195,10 +179,83 @@
|
||||||
if (tableName == "shipInfoTable") {
|
if (tableName == "shipInfoTable") {
|
||||||
this.shipInfo = value[0]
|
this.shipInfo = value[0]
|
||||||
} else {
|
} else {
|
||||||
|
console.log(value)
|
||||||
this.allList = value
|
this.allList = value
|
||||||
this.total = value.length
|
this.total = value.length
|
||||||
let newArr = this.getMapping(value, this.pageSize)
|
let newArr = this.getMapping(value, this.pageSize)
|
||||||
this.listInfo = newArr[this.current - 1];
|
this.listInfo = newArr[this.current - 1];
|
||||||
|
this.listInfo.forEach(v => {
|
||||||
|
if (v.brdName == "null") {
|
||||||
|
this.$set(v, "brdName", "-")
|
||||||
|
}
|
||||||
|
if (v.mnfBl == "null") {
|
||||||
|
this.$set(v, "mnfBl", "-")
|
||||||
|
}
|
||||||
|
if (v.sourceType == "null") {
|
||||||
|
this.$set(v, "sourceType", "-")
|
||||||
|
}
|
||||||
|
if (v.yardPos == "null") {
|
||||||
|
this.$set(v, "yardPos", "-")
|
||||||
|
}
|
||||||
|
if (v.vvyName == "null") {
|
||||||
|
this.$set(v, "vvyName", "-")
|
||||||
|
}
|
||||||
|
if (v.customsDeclareStatus == "null") {
|
||||||
|
this.$set(v, "customsDeclareStatus", "-")
|
||||||
|
}
|
||||||
|
if (v.bvmName == "null") {
|
||||||
|
this.$set(v, "bvmName", "-")
|
||||||
|
}
|
||||||
|
if (v.amount == "null") {
|
||||||
|
this.$set(v, "amount", "-")
|
||||||
|
}
|
||||||
|
if (v.potName == "null") {
|
||||||
|
this.$set(v, "potName", "-")
|
||||||
|
}
|
||||||
|
if (v.customsDeclareNo == "null") {
|
||||||
|
this.$set(v, "customsDeclareNo", "-")
|
||||||
|
}
|
||||||
|
if (v.bvdName == "null") {
|
||||||
|
this.$set(v, "bvdName", "-")
|
||||||
|
}
|
||||||
|
if (v.agentName == "null") {
|
||||||
|
this.$set(v, "agentName", "-")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.allList.forEach(v => {
|
||||||
|
// 型号
|
||||||
|
if (v.model != "null") {
|
||||||
|
this.modelList.push({
|
||||||
|
id: v.model,
|
||||||
|
text: v.model
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 品牌
|
||||||
|
if (v.brdId != "null" && v.brdName != "null") {
|
||||||
|
this.brdList.push({
|
||||||
|
id: v.brdId,
|
||||||
|
text: v.brdName
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 车型
|
||||||
|
if (v.bvmId != "null" && v.bvmName != "null") {
|
||||||
|
this.bvmList.push({
|
||||||
|
id: v.bvmId,
|
||||||
|
text: v.bvmName
|
||||||
|
})
|
||||||
|
}
|
||||||
|
// 港口
|
||||||
|
if (v.potId != "null" && v.potName != "null") {
|
||||||
|
this.potList.push({
|
||||||
|
id: v.potId,
|
||||||
|
text: v.potName
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.modelList = api.arrFrom(this.modelList, "text")
|
||||||
|
this.brdList = api.arrFrom(this.brdList, "text")
|
||||||
|
this.bvmList = api.arrFrom(this.bvmList, "text")
|
||||||
|
this.potList = api.arrFrom(this.potList, "text")
|
||||||
}
|
}
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
// 在reject时执行的回调函数
|
// 在reject时执行的回调函数
|
||||||
|
@ -236,7 +293,8 @@
|
||||||
newArr.push(this.allList[v])
|
newArr.push(this.allList[v])
|
||||||
})
|
})
|
||||||
this.listInfo = newArr
|
this.listInfo = newArr
|
||||||
this.total = 0
|
} else {
|
||||||
|
this.listInfo = []
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.executeSql1('shipmentShipLoadPlansRespList')
|
this.executeSql1('shipmentShipLoadPlansRespList')
|
||||||
|
@ -244,17 +302,61 @@
|
||||||
},
|
},
|
||||||
// 点击筛选
|
// 点击筛选
|
||||||
screen() {
|
screen() {
|
||||||
this.$refs.condition.visibleDrawer = true;
|
this.$refs.showRight.open();
|
||||||
},
|
},
|
||||||
resultConditon(obj) {
|
// 返回
|
||||||
this.$refs.condition.visibleDrawer = false;
|
back() {
|
||||||
this.hasChoose = obj.hasChoose;
|
this.$refs.showRight.close();
|
||||||
|
},
|
||||||
|
// 点击型号
|
||||||
|
clickModel(item, index) {
|
||||||
|
this.activeIndex = index
|
||||||
|
},
|
||||||
|
// 品牌下拉
|
||||||
|
brdSelect(e) {
|
||||||
|
this.brdId = e.id
|
||||||
|
this.brdName = e.text
|
||||||
|
},
|
||||||
|
// 车型下拉
|
||||||
|
bvmSelect(e) {
|
||||||
|
this.bvmId = e.id
|
||||||
|
this.bvmName = e.text
|
||||||
|
},
|
||||||
|
// 港口下拉
|
||||||
|
potSelect(e) {
|
||||||
|
this.potId = e.id
|
||||||
|
this.potName = e.text
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
reset() {
|
||||||
|
this.modelId = ""
|
||||||
|
this.modelName = ""
|
||||||
|
this.activeIndex = -1
|
||||||
|
this.brdId = ""
|
||||||
|
this.brdName = ""
|
||||||
|
this.bvmId = ""
|
||||||
|
this.bvmName = ""
|
||||||
|
this.potId = ""
|
||||||
|
this.potName = ""
|
||||||
|
this.minTon = ""
|
||||||
|
this.maxTon = ""
|
||||||
|
this.minWidth = ""
|
||||||
|
this.maxWidth = ""
|
||||||
|
this.minHeight = ""
|
||||||
|
this.maxHeight = ""
|
||||||
|
},
|
||||||
|
// 确认
|
||||||
|
confirm() {
|
||||||
|
this.$refs.showRight.close();
|
||||||
},
|
},
|
||||||
// 跳转车型明细
|
// 跳转车型明细
|
||||||
togoCar(item) {
|
togoCar(item) {
|
||||||
uni.setStorageSync('brandRow', item);
|
let obj = {
|
||||||
|
id: item.webId,
|
||||||
|
}
|
||||||
|
const params = encodeURIComponent(JSON.stringify(obj));
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/shipWork/carDetails`
|
url: `/pages/shipWork/carDetails?params=${params}`
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -264,49 +366,195 @@
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.brandDetails {
|
.brandDetails {
|
||||||
.container {
|
.container {
|
||||||
padding: 30px 20px;
|
padding-bottom: 30px;
|
||||||
background-color: #fff;
|
background-color: #F6F7F9;
|
||||||
|
|
||||||
.topBox {
|
.topBox {
|
||||||
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: space-between;
|
||||||
|
background: #FAFAFA;
|
||||||
|
border-top: 1px solid #EEEEEE;
|
||||||
|
border-bottom: 1px solid #EEEEEE;
|
||||||
|
padding: 5px 10px;
|
||||||
|
|
||||||
.searchBox {
|
.leftInput {
|
||||||
width: 33%;
|
width: 400px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/.uni-easyinput {
|
||||||
|
width: 400px;
|
||||||
|
|
||||||
|
/deep/.content-clear-icon {
|
||||||
|
padding-right: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/.is-input-border {
|
||||||
|
border-radius: 18.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
text {
|
||||||
|
margin-right: 10px;
|
||||||
|
color: #2979ff;
|
||||||
|
line-height: 36px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/.uni-drawer__content {
|
||||||
|
width: 300px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scroll-view {
|
||||||
|
/* #ifndef APP-NVUE */
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
/* #endif */
|
||||||
|
flex: 1
|
||||||
|
}
|
||||||
|
|
||||||
|
// 处理抽屉内容滚动
|
||||||
|
.scroll-view-box {
|
||||||
|
flex: 1;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
padding: 0 16px;
|
||||||
|
|
||||||
|
.drawerTop {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
margin-top: 55px;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
|
||||||
text {
|
image {
|
||||||
margin-left: 10px;
|
width: 14px;
|
||||||
color: #2979ff;
|
height: 24px;
|
||||||
line-height: 36px;
|
margin-right: 16px;
|
||||||
|
margin-top: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/.uni-drawer__content {
|
text {
|
||||||
width: 500px;
|
font-size: 20px;
|
||||||
|
color: #23262E;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.drawerTitle {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #23262E;
|
||||||
|
margin: 8px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.selectBox {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
|
.boxContent {
|
||||||
|
width: 76px;
|
||||||
|
height: 32px;
|
||||||
|
text-align: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
border-radius: 4px;
|
||||||
|
border: 1px solid #EEEEEE;
|
||||||
|
color: #23262E;
|
||||||
|
line-height: 14px;
|
||||||
|
margin-right: 10px;
|
||||||
|
margin-bottom: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.active {
|
||||||
|
background-color: rgba(0, 103, 207, .05);
|
||||||
|
color: #0267CF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.qjBox {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
/deep/.uni-easyinput {
|
||||||
|
width: 96px;
|
||||||
|
flex: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/.uni-easyinput__content {
|
||||||
|
width: 96px;
|
||||||
|
}
|
||||||
|
|
||||||
|
text {
|
||||||
|
line-height: 35px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottomBtn {
|
||||||
|
width: 100%;
|
||||||
|
height: 60px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
padding: 12px 16px;
|
||||||
|
background: #FFFFFF;
|
||||||
|
box-shadow: 0 -3px 7px 0 rgba(0, 0, 0, 0.10);
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0px;
|
||||||
|
right: 0px;
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
width: 116px;
|
||||||
|
height: 36px;
|
||||||
|
font-size: 16px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 36px;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.czBtn {
|
||||||
|
color: #0067CF;
|
||||||
|
border: 1px solid #0067CF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.qrBtn {
|
||||||
|
color: #fff;
|
||||||
|
background: #0067CF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ul {
|
.ul {
|
||||||
padding: 20px 0;
|
padding: 16px;
|
||||||
|
|
||||||
.li {
|
.li {
|
||||||
display: flex;
|
background-color: #fff;
|
||||||
flex-wrap: wrap;
|
padding: 16px;
|
||||||
justify-content: space-between;
|
border-radius: 8px;
|
||||||
border-bottom: 1px solid #ccc;
|
|
||||||
|
|
||||||
|
.liTitle {
|
||||||
.title {
|
display: flex;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
color: #23262E;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #000;
|
|
||||||
|
.titleImg {
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
margin-right: 5px;
|
||||||
|
margin-top: 2px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
p {
|
.liContent {
|
||||||
width: 22%;
|
display: flex;
|
||||||
margin: 10px;
|
flex-wrap: wrap;
|
||||||
color: rgba(0, 0, 0, .5);
|
|
||||||
|
p {
|
||||||
|
width: 22%;
|
||||||
|
margin: 10px;
|
||||||
|
color: rgba(0, 0, 0, .5);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,31 +3,106 @@
|
||||||
<head-view :title="title" url="/pages/shipWork/brandDetails"></head-view>
|
<head-view :title="title" url="/pages/shipWork/brandDetails"></head-view>
|
||||||
<view class="container contentFixed">
|
<view class="container contentFixed">
|
||||||
<view class="ul">
|
<view class="ul">
|
||||||
<view class="li">船名:{{testInfo.vslCnname}}</view>
|
<view class="li">船名:
|
||||||
<view class="li">航次:{{testInfo.vvyName}}</view>
|
<text v-if="workDetails.vslCnname == 'null'">-</text>
|
||||||
<view class="li">贸易类型:{{testInfo.tradeType}}</view>
|
<text v-else>{{workDetails.vslCnname}}</text>
|
||||||
<view class="li">进出口:{{testInfo.importExportFlag}}</view>
|
</view>
|
||||||
<view class="li">港口:{{testInfo.potName}}</view>
|
<view class="li">航次:
|
||||||
<view class="li">提单号:{{testInfo.mnfBl}}</view>
|
<text v-if="workDetails.vvyName == 'null'">-</text>
|
||||||
<view class="li">报关状态:{{testInfo.customsDeclareStatus}}</view>
|
<text v-else>{{workDetails.vvyName}}</text>
|
||||||
<view class="li">报关单号:{{testInfo.customsDeclareNo}}</view>
|
</view>
|
||||||
<view class="li">货代:{{testInfo.agentName}}</view>
|
<view class="li">贸易类型:
|
||||||
<view class="li">联系人:{{testInfo.consignee}}</view>
|
<text v-if="workDetails.tradeTypeNm == 'null'">-</text>
|
||||||
<view class="li">联系方式:{{testInfo.telephone}}</view>
|
<text v-else>{{workDetails.tradeTypeNm}}</text>
|
||||||
<view class="li">品牌:{{testInfo.brdName}}</view>
|
</view>
|
||||||
<view class="li">车型:{{testInfo.bvmName}}</view>
|
<view class="li">进出口:
|
||||||
<view class="li">车型明细:{{testInfo.bvdName}}</view>
|
<text v-if="workDetails.ieFgNm == 'null'">-</text>
|
||||||
<view class="li">型号:{{testInfo.model}}</view>
|
<text v-else>{{workDetails.ieFgNm}}</text>
|
||||||
<view class="li">源类型:{{testInfo.sourceType}}</view>
|
</view>
|
||||||
<view class="li">数量:{{testInfo.amount}}</view>
|
<view class="li">港口:
|
||||||
<view class="li">车长:{{testInfo.carLength}}</view>
|
<text v-if="workDetails.potName == 'null'">-</text>
|
||||||
<view class="li">车宽:{{testInfo.carWidth}}</view>
|
<text v-else>{{workDetails.potName}}</text>
|
||||||
<view class="li">车高:{{testInfo.carHeight}}</view>
|
</view>
|
||||||
<view class="li">重量:{{testInfo.weight}}</view>
|
<view class="li">提单号:
|
||||||
<view class="li">体积:{{testInfo.volume}}</view>
|
<text v-if="workDetails.mnfBl == 'null'">-</text>
|
||||||
<view class="li">单票数量:{{testInfo.ticketGtpks}}</view>
|
<text v-else>{{workDetails.mnfBl}}</text>
|
||||||
<view class="li">单票重量:{{testInfo.ticketWeight}}</view>
|
</view>
|
||||||
<view class="li">单票体积:{{testInfo.ticketVolume}}</view>
|
<view class="li">报关状态:
|
||||||
|
<text v-if="workDetails.customsDeclareStatus == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.customsDeclareStatus}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">报关单号:
|
||||||
|
<text v-if="workDetails.customsDeclareNo == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.customsDeclareNo}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">货代:
|
||||||
|
<text v-if="workDetails.agentName == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.agentName}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">联系人:
|
||||||
|
<text v-if="workDetails.consignee == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.consignee}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">联系方式:
|
||||||
|
<text v-if="workDetails.telephone == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.telephone}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">品牌:
|
||||||
|
<text v-if="workDetails.brdName == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.brdName}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">车型:
|
||||||
|
<text v-if="workDetails.bvmName == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.bvmName}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">车型明细:
|
||||||
|
<text v-if="workDetails.bvdName == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.bvdName}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">型号:
|
||||||
|
<text v-if="workDetails.model == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.model}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">源类型:
|
||||||
|
<text v-if="workDetails.sourceType == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.sourceType}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">数量:
|
||||||
|
<text v-if="workDetails.amount == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.amount}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">车长:
|
||||||
|
<text v-if="workDetails.carLength == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.carLength}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">车宽:
|
||||||
|
<text v-if="workDetails.carWidth == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.carWidth}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">车高:
|
||||||
|
<text v-if="workDetails.carHeight == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.carHeight}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">重量:
|
||||||
|
<text v-if="workDetails.weight == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.weight}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">体积:
|
||||||
|
<text v-if="workDetails.volume == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.volume}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">单票数量:
|
||||||
|
<text v-if="workDetails.ticketGtpks == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.ticketGtpks}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">单票重量:
|
||||||
|
<text v-if="workDetails.ticketWeight == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.ticketWeight}}</text>
|
||||||
|
</view>
|
||||||
|
<view class="li">单票体积:
|
||||||
|
<text v-if="workDetails.ticketVolume == 'null'">-</text>
|
||||||
|
<text v-else>{{workDetails.ticketVolume}}</text>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="tableInfo">
|
<view class="tableInfo">
|
||||||
<view class="title">车架号明细</view>
|
<view class="title">车架号明细</view>
|
||||||
|
@ -37,8 +112,8 @@
|
||||||
<uni-th align="center">车架号/条形码</uni-th>
|
<uni-th align="center">车架号/条形码</uni-th>
|
||||||
<uni-th align="center">场位</uni-th>
|
<uni-th align="center">场位</uni-th>
|
||||||
</uni-tr>
|
</uni-tr>
|
||||||
<uni-tr v-for="(item, index) in testInfo.vinCodeDetails" :key="index">
|
<uni-tr v-for="(item, index) in vinCodeDetails" :key="index">
|
||||||
<uni-td align="center">{{ item.godId }}</uni-td>
|
<uni-td align="center">{{ index + 1 }}</uni-td>
|
||||||
<uni-td align="center">{{item.vinCode}}</uni-td>
|
<uni-td align="center">{{item.vinCode}}</uni-td>
|
||||||
<uni-td align="center">{{ item.yardPos }}</uni-td>
|
<uni-td align="center">{{ item.yardPos }}</uni-td>
|
||||||
</uni-tr>
|
</uni-tr>
|
||||||
|
@ -57,35 +132,8 @@
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
title: "船名 - 车型明细",
|
title: "船名 - 车型明细",
|
||||||
testInfo: {
|
workDetails: {},
|
||||||
vslCnname: "运程10",
|
vinCodeDetails: [],
|
||||||
vvyName: "HC97759809",
|
|
||||||
tradeType: "外贸",
|
|
||||||
importExportFlag: "进口",
|
|
||||||
potName: "巴塞罗那",
|
|
||||||
mnfBl: "TD6955975087",
|
|
||||||
customsDeclareStatus: "未报关",
|
|
||||||
customsDeclareNo: "TD6955975087",
|
|
||||||
agentName: "上海海通国际汽车物流有限公司",
|
|
||||||
consignee: "张星星",
|
|
||||||
telephone: "13266688888",
|
|
||||||
brdName: "特斯拉",
|
|
||||||
bvmName: "轿车",
|
|
||||||
bvdName: "轿车",
|
|
||||||
model: "STAY-CONNECTB",
|
|
||||||
sourceType: "新能源",
|
|
||||||
amount: "199",
|
|
||||||
carLength: "199",
|
|
||||||
carWidth: "199",
|
|
||||||
carHeight: "199",
|
|
||||||
weight: "1978",
|
|
||||||
volume: "1978",
|
|
||||||
ticketGtpks: "100",
|
|
||||||
ticketWeight: "979",
|
|
||||||
ticketVolume: "979",
|
|
||||||
vinCodeDetails: []
|
|
||||||
},
|
|
||||||
barndRow: {},
|
|
||||||
loading: false,
|
loading: false,
|
||||||
// 每页数据量
|
// 每页数据量
|
||||||
pageSize: 3,
|
pageSize: 3,
|
||||||
|
@ -93,16 +141,20 @@
|
||||||
pageCurrent: 1,
|
pageCurrent: 1,
|
||||||
// 数据总量
|
// 数据总量
|
||||||
total: 0,
|
total: 0,
|
||||||
|
id: "",
|
||||||
vtpId: "",
|
vtpId: "",
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
onLoad(options) {
|
||||||
|
this.id = JSON.parse(decodeURIComponent(options.params)).id
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
let title = uni.getStorageSync('shipWorkTitle')
|
let title = uni.getStorageSync('shipWorkTitle')
|
||||||
this.title = `${title} / 车型明细 `
|
this.title = `${title} / 车型明细 `
|
||||||
this.vtpId = uni.getStorageSync('vtpId')
|
this.vtpId = uni.getStorageSync('vtpId')
|
||||||
this.initData()
|
|
||||||
this.executeSql1('shipInfoTable')
|
this.executeSql1('shipInfoTable')
|
||||||
|
this.executeSql2('workQueryDetails')
|
||||||
|
this.executeSql2('vinCodeDetails')
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 查
|
// 查
|
||||||
|
@ -116,31 +168,26 @@
|
||||||
console.error(error);
|
console.error(error);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
// 查
|
||||||
|
executeSql2(tableName) {
|
||||||
|
let sql = `select * from ${tableName} WHERE contactId = '${this.id}'`
|
||||||
|
sqlite.executeSqlCeshi(sql).then((value) => {
|
||||||
|
// 在resolve时执行的回调函数
|
||||||
|
if (tableName == 'workQueryDetails') {
|
||||||
|
this.workDetails = value[0]
|
||||||
|
} else {
|
||||||
|
this.total = value.length
|
||||||
|
this.vinCodeDetails = value
|
||||||
|
this.initData()
|
||||||
|
}
|
||||||
|
}).catch((error) => {
|
||||||
|
// 在reject时执行的回调函数
|
||||||
|
console.error(error);
|
||||||
|
});
|
||||||
|
},
|
||||||
initData() {
|
initData() {
|
||||||
this.testInfo.vinCodeDetails = [{
|
let newArr = this.getMapping(this.vinCodeDetails, this.pageSize)
|
||||||
godId: "01",
|
this.vinCodeDetails = newArr[this.pageCurrent - 1];
|
||||||
spdId: "",
|
|
||||||
vinCode: "CJH67892734895917",
|
|
||||||
yardPos: "A1-09-03",
|
|
||||||
}, {
|
|
||||||
godId: "02",
|
|
||||||
spdId: "",
|
|
||||||
vinCode: "CJH67892734895917",
|
|
||||||
yardPos: "A1-09-03",
|
|
||||||
}, {
|
|
||||||
godId: "03",
|
|
||||||
spdId: "",
|
|
||||||
vinCode: "CJH67892734895917",
|
|
||||||
yardPos: "A1-09-03",
|
|
||||||
}, {
|
|
||||||
godId: "04",
|
|
||||||
spdId: "",
|
|
||||||
vinCode: "CJH67892734895917",
|
|
||||||
yardPos: "A1-09-03",
|
|
||||||
}]
|
|
||||||
this.total = this.testInfo.vinCodeDetails.length
|
|
||||||
let newArr = this.getMapping(this.testInfo.vinCodeDetails, this.pageSize)
|
|
||||||
this.testInfo.vinCodeDetails = newArr[this.pageCurrent - 1];
|
|
||||||
},
|
},
|
||||||
// 点击分页
|
// 点击分页
|
||||||
pageChange(e) {
|
pageChange(e) {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="documentList">
|
<view class="documentList">
|
||||||
<head-view :title="title" :type="true" url="/pages/shipWork/index"></head-view>
|
<head-view :title="title" :type="true" url="/pages/shipWork/index" @isPreview="isPreview"></head-view>
|
||||||
<!-- <uni-notice-bar show-icon single :text="noticeText" style="margin-top: 68px;" /> -->
|
<!-- <uni-notice-bar show-icon single :text="noticeText" style="margin-top: 68px;" /> -->
|
||||||
<view class="container">
|
<view class="container">
|
||||||
<view class="workBox">
|
<view class="workBox">
|
||||||
|
@ -140,6 +140,9 @@
|
||||||
this.getTableStauts()
|
this.getTableStauts()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
isPreview(e) {
|
||||||
|
this.title = e
|
||||||
|
},
|
||||||
getTableStauts() {
|
getTableStauts() {
|
||||||
this.infoList.forEach((v, index) => {
|
this.infoList.forEach((v, index) => {
|
||||||
this.executeSql(v.tableName)
|
this.executeSql(v.tableName)
|
||||||
|
|
|
@ -234,7 +234,7 @@
|
||||||
delAllData() {
|
delAllData() {
|
||||||
console.log('批量删除数据');
|
console.log('批量删除数据');
|
||||||
this.allList.forEach(v => {
|
this.allList.forEach(v => {
|
||||||
let sql = `delete from ${v};`
|
let sql = `delete from ${v} WHERE vtpId = '341a92f3c9ae3d4d228561d84984a1fb';`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
})
|
})
|
||||||
uni.setStorageSync('delSrmIds', []);
|
uni.setStorageSync('delSrmIds', []);
|
||||||
|
@ -242,7 +242,7 @@
|
||||||
},
|
},
|
||||||
dropTable() {
|
dropTable() {
|
||||||
console.log('删除表');
|
console.log('删除表');
|
||||||
let sql = 'DROP TABLE workSignTable;'
|
let sql = 'DROP TABLE workQueryDetails;'
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
},
|
},
|
||||||
dropData() {
|
dropData() {
|
||||||
|
@ -314,7 +314,6 @@
|
||||||
},
|
},
|
||||||
// 船名航次下拉选项
|
// 船名航次下拉选项
|
||||||
select_json(e) {
|
select_json(e) {
|
||||||
console.log(e)
|
|
||||||
this.vvyId = e.vvyId
|
this.vvyId = e.vvyId
|
||||||
this.vvyName = e.vvyName
|
this.vvyName = e.vvyName
|
||||||
this.spmId = e.spmId
|
this.spmId = e.spmId
|
||||||
|
@ -674,23 +673,43 @@
|
||||||
let sql =
|
let sql =
|
||||||
`insert into shipmentShipLoadPlansRespList values('${v.splId}','${this.vtpId}','${v.agentId}','${v.agentName}',
|
`insert into shipmentShipLoadPlansRespList values('${v.splId}','${this.vtpId}','${v.agentId}','${v.agentName}',
|
||||||
'${v.amount}','${v.brdId}','${v.brdName}','${v.bvdId}','${v.bvdName}','${v.bvmId}','${v.bvmName}',
|
'${v.amount}','${v.brdId}','${v.brdName}','${v.bvdId}','${v.bvdName}','${v.bvmId}','${v.bvmName}',
|
||||||
'${v.carHeight}','${v.carLength}','${v.carWidth}','${v.customsDeclareNo}','${v.customsDeclareStatus}',
|
'${v.carHeight}','${v.carLength}','${v.carWidth}','${v.consignee}','${v.customsDeclareNo}',
|
||||||
'${v.mnfBl}','${v.potId}','${v.potName}','${v.sourceType}','${v.vvyId}','${v.vvyName}','${v.yardPos}',
|
'${v.customsDeclareStatus}','${v.ieFg}','${v.ieFgNm}','${v.mnfBl}','${v.model}',
|
||||||
'${webStatus}','${v.createTime}')`
|
'${v.potId}','${v.potName}','${v.sourceType}','${v.sourceTypeNm}','${v.spmId}',
|
||||||
|
'${v.telephone}','${v.ticketGtpks}','${v.ticketVolume}','${v.ticketWeight}','${v.tradeType}',
|
||||||
|
'${v.tradeTypeNm}','${v.volume}','${v.vslCnname}',
|
||||||
|
'${v.vvyId}','${v.vvyName}','${v.weight}',
|
||||||
|
'${v.yardPos}','${webStatus}','${v.createTime}')`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
if (v.workQueryDetails != null) {
|
if (v.workQueryDetails != null) {
|
||||||
let sql2 =
|
let sql2 =
|
||||||
`insert into workQueryDetails values('${v.workQueryDetails.splId}','${this.vtpId}',${v.splId}','${v.workQueryDetails.agentId}',
|
`insert into workQueryDetails values('${v.workQueryDetails.splId}','${this.vtpId}','${v.splId}',
|
||||||
'${v.workQueryDetails.agentName}','${v.workQueryDetails.amount}','${v.workQueryDetails.brdId}','${v.workQueryDetails.brdName}',
|
'${v.workQueryDetails.agentId}',
|
||||||
'${v.workQueryDetails.bvdId}','${v.workQueryDetails.bvdName}','${v.workQueryDetails.bvmId}','${v.workQueryDetails.bvmName}',
|
'${v.workQueryDetails.agentName}','${v.workQueryDetails.amount}','${v.workQueryDetails.brdId}',
|
||||||
'${v.workQueryDetails.carHeight}','${v.workQueryDetails.carLength}','${v.workQueryDetails.carWidth}',
|
'${v.workQueryDetails.brdName}',
|
||||||
'${v.workQueryDetails.consignee}','${v.workQueryDetails.customsDeclareNo}','${v.workQueryDetails.customsDeclareStatus}',
|
'${v.workQueryDetails.bvdId}','${v.workQueryDetails.bvdName}','${v.workQueryDetails.bvmId}',
|
||||||
'${v.workQueryDetails.importExportFlag}','${v.workQueryDetails.mnfBl}','${v.workQueryDetails.model}',
|
'${v.workQueryDetails.bvmName}',
|
||||||
'${v.workQueryDetails.potId}','${v.workQueryDetails.potName}','${v.workQueryDetails.sourceType}',
|
'${v.workQueryDetails.carHeight}','${v.workQueryDetails.carLength}','${v.workQueryDetails.carWidth}',
|
||||||
'${v.workQueryDetails.spmId}','${v.workQueryDetails.telephone}','${v.workQueryDetails.ticketGtpks}',
|
'${v.workQueryDetails.consignee}','${v.workQueryDetails.customsDeclareNo}',
|
||||||
'${v.workQueryDetails.ticketVolume}','${v.workQueryDetails.ticketWeight}','${v.workQueryDetails.tradeType}',
|
'${v.workQueryDetails.customsDeclareStatus}',
|
||||||
'${webStatus}','${v.createTime}')`
|
'${v.workQueryDetails.ieFg}','${v.workQueryDetails.ieFgNm}','${v.workQueryDetails.mnfBl}',
|
||||||
|
'${v.workQueryDetails.model}',
|
||||||
|
'${v.workQueryDetails.potId}','${v.workQueryDetails.potName}','${v.workQueryDetails.sourceType}',
|
||||||
|
'${v.workQueryDetails.sourceTypeNm}',
|
||||||
|
'${v.workQueryDetails.spmId}','${v.workQueryDetails.telephone}','${v.workQueryDetails.ticketGtpks}',
|
||||||
|
'${v.workQueryDetails.ticketVolume}','${v.workQueryDetails.ticketWeight}',
|
||||||
|
'${v.workQueryDetails.tradeType}','${v.workQueryDetails.tradeTypeNm}','${v.workQueryDetails.volume}',
|
||||||
|
'${v.workQueryDetails.vslCnname}','${v.workQueryDetails.vvyId}',
|
||||||
|
'${v.workQueryDetails.vvyName}','${v.workQueryDetails.weight}','${v.workQueryDetails.yardPos}',
|
||||||
|
'${webStatus}','${v.createTime}')`
|
||||||
this.executeSql(sql2)
|
this.executeSql(sql2)
|
||||||
|
v.workQueryDetails.vinCodeDetails.forEach(e => {
|
||||||
|
let sql3 = `insert into vinCodeDetails values('${e.spdId}','${this.vtpId}','${e.splId}','${e.godId}',
|
||||||
|
'${e.storeArea}','${e.storeLine}','${e.storeSeat}','${e.vinCode}','${e.yacId}','${e.yardId}',
|
||||||
|
'${e.yardName}','${e.yardPos}',
|
||||||
|
'${webStatus}','${v.createTime}')`
|
||||||
|
this.executeSql(sql3)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -993,6 +1012,23 @@
|
||||||
that.workSignTable = value
|
that.workSignTable = value
|
||||||
} else if (tableName == 'evaluateTable') {
|
} else if (tableName == 'evaluateTable') {
|
||||||
that.evaluateTable = value
|
that.evaluateTable = value
|
||||||
|
that.evaluateTable.forEach(v => {
|
||||||
|
if (v.evaluate == "null") {
|
||||||
|
that.$set(v, "evaluate", null)
|
||||||
|
}
|
||||||
|
if (v.evaluate2 == "null") {
|
||||||
|
that.$set(v, "evaluate2", null)
|
||||||
|
}
|
||||||
|
if (v.evaluate3 == "null") {
|
||||||
|
that.$set(v, "evaluate3", null)
|
||||||
|
}
|
||||||
|
if (v.evaluate4 == "null") {
|
||||||
|
that.$set(v, "evaluate4", null)
|
||||||
|
}
|
||||||
|
if (v.remake == "null") {
|
||||||
|
that.$set(v, "remake", null)
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
// 在reject时执行的回调函数
|
// 在reject时执行的回调函数
|
||||||
|
|
|
@ -250,7 +250,7 @@
|
||||||
let sql = `DELETE FROM mafiListRespList WHERE smlId = '${this.mafiRow.smlId}';`
|
let sql = `DELETE FROM mafiListRespList WHERE smlId = '${this.mafiRow.smlId}';`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
let reg = RegExp(/-/)
|
let reg = RegExp(/-/)
|
||||||
if (reg.test(this.mafiRow.smlId)) {
|
if (reg.test(this.mafiRow.smlId) == false) {
|
||||||
this.delMfIds.push(this.mafiRow.smlId)
|
this.delMfIds.push(this.mafiRow.smlId)
|
||||||
uni.setStorageSync('delMfIds', this.delMfIds);
|
uni.setStorageSync('delMfIds', this.delMfIds);
|
||||||
}
|
}
|
||||||
|
@ -397,11 +397,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnList {
|
.btnList {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
height: 80px;
|
||||||
|
background-color: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
/deep/ .van-button {
|
/deep/ .van-button {
|
||||||
margin: 30px 20px;
|
margin: 15px 20px;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -656,7 +656,6 @@
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
margin-left: 8px;
|
margin-left: 8px;
|
||||||
margin-top: 2px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -168,7 +168,7 @@
|
||||||
let sql = `DELETE FROM shipmentLoadUnloadNoticeRespList WHERE sluId = '${this.noticeRow.sluId}';`
|
let sql = `DELETE FROM shipmentLoadUnloadNoticeRespList WHERE sluId = '${this.noticeRow.sluId}';`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
let reg = RegExp(/-/)
|
let reg = RegExp(/-/)
|
||||||
if (reg.test(this.noticeRow.sluId)) {
|
if (reg.test(this.noticeRow.sluId) == false) {
|
||||||
this.delLnIds.push(this.noticeRow.sluId)
|
this.delLnIds.push(this.noticeRow.sluId)
|
||||||
uni.setStorageSync('delLnIds', this.delLnIds);
|
uni.setStorageSync('delLnIds', this.delLnIds);
|
||||||
}
|
}
|
||||||
|
@ -302,11 +302,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnList {
|
.btnList {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
height: 80px;
|
||||||
|
background-color: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
/deep/ .van-button {
|
/deep/ .van-button {
|
||||||
margin: 30px 20px;
|
margin: 15px 20px;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -252,7 +252,7 @@
|
||||||
let sql = `DELETE FROM shipmentQualityConsultationRespList WHERE vqcId = '${this.opinionRow.vqcId}';`
|
let sql = `DELETE FROM shipmentQualityConsultationRespList WHERE vqcId = '${this.opinionRow.vqcId}';`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
let reg = RegExp(/-/)
|
let reg = RegExp(/-/)
|
||||||
if (reg.test(this.opinionRow.vqcId)) {
|
if (reg.test(this.opinionRow.vqcId) == false) {
|
||||||
this.delCsIds.push(this.opinionRow.vqcId)
|
this.delCsIds.push(this.opinionRow.vqcId)
|
||||||
uni.setStorageSync('delCsIds', this.delCsIds);
|
uni.setStorageSync('delCsIds', this.delCsIds);
|
||||||
}
|
}
|
||||||
|
@ -389,11 +389,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnList {
|
.btnList {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
height: 80px;
|
||||||
|
background-color: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
/deep/ .van-button {
|
/deep/ .van-button {
|
||||||
margin: 30px 20px;
|
margin: 15px 20px;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -342,12 +342,6 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(that.startTime)
|
|
||||||
console.log(that.endTime)
|
|
||||||
// this.datetime = e;
|
|
||||||
// this.startTime = this.datetime[0]
|
|
||||||
// this.endTime = this.datetime[1]
|
|
||||||
},
|
},
|
||||||
// 取消
|
// 取消
|
||||||
cancel() {
|
cancel() {
|
||||||
|
@ -360,7 +354,7 @@
|
||||||
let sql = `DELETE FROM messageRespList WHERE pmeId = '${this.peopleRow.pmeId}';`
|
let sql = `DELETE FROM messageRespList WHERE pmeId = '${this.peopleRow.pmeId}';`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
let reg = RegExp(/-/)
|
let reg = RegExp(/-/)
|
||||||
if (reg.test(this.peopleRow.pmeId)) {
|
if (reg.test(this.peopleRow.pmeId) == false) {
|
||||||
this.delPmIds.push(this.peopleRow.pmeId)
|
this.delPmIds.push(this.peopleRow.pmeId)
|
||||||
uni.setStorageSync('delPmIds', this.delPmIds);
|
uni.setStorageSync('delPmIds', this.delPmIds);
|
||||||
}
|
}
|
||||||
|
@ -505,11 +499,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnList {
|
.btnList {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
height: 80px;
|
||||||
|
background-color: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
/deep/ .van-button {
|
/deep/ .van-button {
|
||||||
margin: 30px 20px;
|
margin: 15px 20px;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1170,82 +1170,89 @@
|
||||||
},
|
},
|
||||||
// 保存
|
// 保存
|
||||||
save() {
|
save() {
|
||||||
let date = new Date().getTime()
|
if (this.hcValue == "" || this.zxValue == "") {
|
||||||
let contactId = this.shipInfo.webId
|
uni.showModal({
|
||||||
let webStatus = "0"
|
title: '提示',
|
||||||
let editStatus = 1
|
showCancel: false,
|
||||||
let isVvyType = 0
|
content: '请输入必填项!'
|
||||||
this.infoVvyArr.forEach(v => {
|
})
|
||||||
if (v == this.hcValue) {
|
} else {
|
||||||
isVvyType++
|
let date = new Date().getTime()
|
||||||
}
|
let contactId = this.shipInfo.webId
|
||||||
})
|
let webStatus = "0"
|
||||||
if (this.obj.state == "edit") {
|
let editStatus = 1
|
||||||
// 工班信息
|
let isVvyType = 0
|
||||||
for (let i = 0; i < this.ulList1.length; i++) {
|
this.infoVvyArr.forEach(v => {
|
||||||
if (this.ulList1[i].webId != '' && this.ulList1[i].webId != null) {
|
if (v == this.hcValue) {
|
||||||
let webDate = api.getDate(date)
|
isVvyType++
|
||||||
let sql =
|
}
|
||||||
`UPDATE workMessageRespList SET vvyId = '${this.hcValue}',vvyName = '${this.hcTextValue}',importExportFlagName = '${this.importExportFlagName}',
|
})
|
||||||
|
if (this.obj.state == "edit") {
|
||||||
|
// 工班信息
|
||||||
|
for (let i = 0; i < this.ulList1.length; i++) {
|
||||||
|
if (this.ulList1[i].webId != '' && this.ulList1[i].webId != null) {
|
||||||
|
let webDate = api.getDate(date)
|
||||||
|
let sql =
|
||||||
|
`UPDATE workMessageRespList SET vvyId = '${this.hcValue}',vvyName = '${this.hcTextValue}',importExportFlagName = '${this.importExportFlagName}',
|
||||||
loadType = '${this.zxValue}',loadTypeName = '${this.zxTextValue}',pwcType = '${this.ulList1[i].gbValue}',
|
loadType = '${this.zxValue}',loadTypeName = '${this.zxTextValue}',pwcType = '${this.ulList1[i].gbValue}',
|
||||||
pwcTypeName = '${this.ulList1[i].gbTextValue}',workStartTime = '${this.ulList1[i].startTime}',
|
pwcTypeName = '${this.ulList1[i].gbTextValue}',workStartTime = '${this.ulList1[i].startTime}',
|
||||||
workEndTime = '${this.ulList1[i].endTime}',webStatus = '${webStatus}',webDate = '${webDate}' WHERE webId = '${this.ulList1[i].webId}';`
|
workEndTime = '${this.ulList1[i].endTime}',webStatus = '${webStatus}',webDate = '${webDate}' WHERE webId = '${this.ulList1[i].webId}';`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
for (let j = 0; j < this.ulList1[i].ulList2.length; j++) {
|
for (let j = 0; j < this.ulList1[i].ulList2.length; j++) {
|
||||||
if (this.ulList1[i].ulList2[j].webId != '' && this.ulList1[i].ulList2[j]
|
if (this.ulList1[i].ulList2[j].webId != '' && this.ulList1[i].ulList2[j]
|
||||||
.webId !=
|
.webId !=
|
||||||
null) {
|
null) {
|
||||||
let sql2 =
|
let sql2 =
|
||||||
`UPDATE workMessageRespInfoList SET carType = '${this.ulList1[i].ulList2[j].carType}',carTypeName = '${this.ulList1[i].ulList2[j].carTypeName}',
|
`UPDATE workMessageRespInfoList SET carType = '${this.ulList1[i].ulList2[j].carType}',carTypeName = '${this.ulList1[i].ulList2[j].carTypeName}',
|
||||||
goodsNumber = '${this.ulList1[i].ulList2[j].goodsNumber}', loadingType = '${this.ulList1[i].ulList2[j].loadingType}',
|
goodsNumber = '${this.ulList1[i].ulList2[j].goodsNumber}', loadingType = '${this.ulList1[i].ulList2[j].loadingType}',
|
||||||
loadingTypeName = '${this.ulList1[i].ulList2[j].loadingTypeName}', remark = '${this.ulList1[i].ulList2[j].remark}',
|
loadingTypeName = '${this.ulList1[i].ulList2[j].loadingTypeName}', remark = '${this.ulList1[i].ulList2[j].remark}',
|
||||||
webStatus = '${webStatus}', webDate = '${webDate}' WHERE webId = '${this.ulList1[i].ulList2[j].webId}';`
|
webStatus = '${webStatus}', webDate = '${webDate}' WHERE webId = '${this.ulList1[i].ulList2[j].webId}';`
|
||||||
this.executeSql(sql2)
|
this.executeSql(sql2)
|
||||||
} else {
|
} else {
|
||||||
let webId2 = uuidv4()
|
let webId2 = uuidv4()
|
||||||
let webDate = api.getDate(date)
|
let webDate = api.getDate(date)
|
||||||
let sql2 =
|
let sql2 =
|
||||||
`insert into workMessageRespInfoList values('${webId2}','${this.vtpId}','${this.ulList1[i].webId}','${this.ulList1[i].ulList2[j].carType}',
|
`insert into workMessageRespInfoList values('${webId2}','${this.vtpId}','${this.ulList1[i].webId}','${this.ulList1[i].ulList2[j].carType}',
|
||||||
'${this.ulList1[i].ulList2[j].carTypeName}','${this.ulList1[i].ulList2[j].goodsNumber}','${this.ulList1[i].ulList2[j].loadingType}',
|
'${this.ulList1[i].ulList2[j].carTypeName}','${this.ulList1[i].ulList2[j].goodsNumber}','${this.ulList1[i].ulList2[j].loadingType}',
|
||||||
'${this.ulList1[i].ulList2[j].loadingTypeName}','${this.ulList1[i].ulList2[j].remark}','${webStatus}','${webDate}')`
|
'${this.ulList1[i].ulList2[j].loadingTypeName}','${this.ulList1[i].ulList2[j].remark}','${webStatus}','${webDate}')`
|
||||||
this.executeSql(sql2)
|
this.executeSql(sql2)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
} else {
|
let webId = uuidv4()
|
||||||
let webId = uuidv4()
|
let webDate = api.getDate(date)
|
||||||
let webDate = api.getDate(date)
|
let sql = `insert into workMessageRespList values('${webId}','${this.vtpId}','${contactId}','${this.aId}','${this.hcValue}',
|
||||||
let sql = `insert into workMessageRespList values('${webId}','${this.vtpId}','${contactId}','${this.aId}','${this.hcValue}',
|
|
||||||
'${this.hcTextValue}','${this.importExportFlagName}','${this.zxValue}','${this.zxTextValue}','${this.ulList1[i].gbValue}',
|
'${this.hcTextValue}','${this.importExportFlagName}','${this.zxValue}','${this.zxTextValue}','${this.ulList1[i].gbValue}',
|
||||||
'${this.ulList1[i].gbTextValue}','${this.ulList1[i].startTime}','${this.ulList1[i].endTime}','${0}',
|
'${this.ulList1[i].gbTextValue}','${this.ulList1[i].startTime}','${this.ulList1[i].endTime}','${0}',
|
||||||
'${webStatus}','${webDate}')`
|
'${webStatus}','${webDate}')`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
for (let j = 0; j < this.ulList1[i].ulList2.length; j++) {
|
for (let j = 0; j < this.ulList1[i].ulList2.length; j++) {
|
||||||
if (this.ulList1[i].ulList2[j].webId != '' && this.ulList1[i].ulList2[j]
|
if (this.ulList1[i].ulList2[j].webId != '' && this.ulList1[i].ulList2[j]
|
||||||
.webId !=
|
.webId !=
|
||||||
null) {
|
null) {
|
||||||
let sql2 =
|
let sql2 =
|
||||||
`UPDATE workMessageRespInfoList SET carType = '${this.ulList1[i].ulList2[j].carType}',carTypeName = '${this.ulList1[i].ulList2[j].carTypeName}',
|
`UPDATE workMessageRespInfoList SET carType = '${this.ulList1[i].ulList2[j].carType}',carTypeName = '${this.ulList1[i].ulList2[j].carTypeName}',
|
||||||
goodsNumber = '${this.ulList1[i].ulList2[j].goodsNumber}', loadingType = '${this.ulList1[i].ulList2[j].loadingType}',
|
goodsNumber = '${this.ulList1[i].ulList2[j].goodsNumber}', loadingType = '${this.ulList1[i].ulList2[j].loadingType}',
|
||||||
loadingTypeName = '${this.ulList1[i].ulList2[j].loadingTypeName}', remark = '${this.ulList1[i].ulList2[j].remark}',
|
loadingTypeName = '${this.ulList1[i].ulList2[j].loadingTypeName}', remark = '${this.ulList1[i].ulList2[j].remark}',
|
||||||
webStatus = '${webStatus}', webDate = '${webDate}' WHERE webId = '${this.ulList1[i].ulList2[j].webId}';`
|
webStatus = '${webStatus}', webDate = '${webDate}' WHERE webId = '${this.ulList1[i].ulList2[j].webId}';`
|
||||||
this.executeSql(sql2)
|
this.executeSql(sql2)
|
||||||
} else {
|
} else {
|
||||||
let webId2 = uuidv4()
|
let webId2 = uuidv4()
|
||||||
let webDate = api.getDate(date)
|
let webDate = api.getDate(date)
|
||||||
let sql2 =
|
let sql2 =
|
||||||
`insert into workMessageRespInfoList values('${webId2}','${this.vtpId}','${webId}','${this.ulList1[i].ulList2[j].carType}',
|
`insert into workMessageRespInfoList values('${webId2}','${this.vtpId}','${webId}','${this.ulList1[i].ulList2[j].carType}',
|
||||||
'${this.ulList1[i].ulList2[j].carTypeName}','${this.ulList1[i].ulList2[j].goodsNumber}','${this.ulList1[i].ulList2[j].loadingType}',
|
'${this.ulList1[i].ulList2[j].carTypeName}','${this.ulList1[i].ulList2[j].goodsNumber}','${this.ulList1[i].ulList2[j].loadingType}',
|
||||||
'${this.ulList1[i].ulList2[j].loadingTypeName}','${this.ulList1[i].ulList2[j].remark}','${webStatus}','${webDate}')`
|
'${this.ulList1[i].ulList2[j].loadingTypeName}','${this.ulList1[i].ulList2[j].remark}','${webStatus}','${webDate}')`
|
||||||
this.executeSql(sql2)
|
this.executeSql(sql2)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
// 翻仓信息
|
||||||
// 翻仓信息
|
for (let i = 0; i < this.fcUlList.length; i++) {
|
||||||
for (let i = 0; i < this.fcUlList.length; i++) {
|
if (this.fcUlList[i].webId != null) {
|
||||||
if (this.fcUlList[i].webId != null) {
|
let sql =
|
||||||
let sql =
|
`UPDATE retallyMessageRespList SET reyVvyId = '${this.hcValue}', vvyName = '${this.hcTextValue}',
|
||||||
`UPDATE retallyMessageRespList SET reyVvyId = '${this.hcValue}', vvyName = '${this.hcTextValue}',
|
|
||||||
retallyType = '${this.fcUlList[i].retallyType}',retallyTypeName = '${this.fcUlList[i].retallyTypeName}',
|
retallyType = '${this.fcUlList[i].retallyType}',retallyTypeName = '${this.fcUlList[i].retallyTypeName}',
|
||||||
retallyOrigin = '${this.fcUlList[i].retallyOrigin}', retallyTerminus = '${this.fcUlList[i].retallyTerminus}',
|
retallyOrigin = '${this.fcUlList[i].retallyOrigin}', retallyTerminus = '${this.fcUlList[i].retallyTerminus}',
|
||||||
retallyStartTime = '${this.fcUlList[i].retallyStartTime}', retallyEndTime = '${this.fcUlList[i].retallyEndTime}',
|
retallyStartTime = '${this.fcUlList[i].retallyStartTime}', retallyEndTime = '${this.fcUlList[i].retallyEndTime}',
|
||||||
|
@ -1253,119 +1260,120 @@
|
||||||
goodsNumber = '${this.fcUlList[i].goodsNumber}', goodsVolume = '${this.fcUlList[i].goodsVolume}',
|
goodsNumber = '${this.fcUlList[i].goodsNumber}', goodsVolume = '${this.fcUlList[i].goodsVolume}',
|
||||||
goodsWeight = '${this.fcUlList[i].goodsWeight}',mafiGroupNum = '${this.fcUlList[i].mafiGroupNum}', webStatus = '${webStatus}',
|
goodsWeight = '${this.fcUlList[i].goodsWeight}',mafiGroupNum = '${this.fcUlList[i].mafiGroupNum}', webStatus = '${webStatus}',
|
||||||
webDate = '${webDate}' WHERE webId = '${this.fcUlList[i].webId}';`
|
webDate = '${webDate}' WHERE webId = '${this.fcUlList[i].webId}';`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
} else {
|
} else {
|
||||||
let webId = uuidv4()
|
let webId = uuidv4()
|
||||||
let webDate = api.getDate(date)
|
let webDate = api.getDate(date)
|
||||||
let sql =
|
let sql =
|
||||||
`insert into retallyMessageRespList values('${webId}','${this.vtpId}','${contactId}','${this.aId}','${this.hcValue}','${this.hcTextValue}','${this.fcUlList[i].retallyType}',
|
`insert into retallyMessageRespList values('${webId}','${this.vtpId}','${contactId}','${this.aId}','${this.hcValue}','${this.hcTextValue}','${this.fcUlList[i].retallyType}',
|
||||||
'${this.fcUlList[i].retallyTypeName}','${this.fcUlList[i].retallyOrigin}','${this.fcUlList[i].retallyTerminus}',
|
'${this.fcUlList[i].retallyTypeName}','${this.fcUlList[i].retallyOrigin}','${this.fcUlList[i].retallyTerminus}',
|
||||||
'${this.fcUlList[i].retallyStartTime}','${this.fcUlList[i].retallyEndTime}','${this.fcUlList[i].carType}',
|
'${this.fcUlList[i].retallyStartTime}','${this.fcUlList[i].retallyEndTime}','${this.fcUlList[i].carType}',
|
||||||
'${this.fcUlList[i].carTypeName}','${this.fcUlList[i].goodsNumber}','${this.fcUlList[i].goodsVolume}',
|
'${this.fcUlList[i].carTypeName}','${this.fcUlList[i].goodsNumber}','${this.fcUlList[i].goodsVolume}',
|
||||||
'${this.fcUlList[i].goodsWeight}','${this.fcUlList[i].mafiGroupNum}','${editStatus}','${webStatus}','${webDate}')`
|
'${this.fcUlList[i].goodsWeight}','${this.fcUlList[i].mafiGroupNum}','${editStatus}','${webStatus}','${webDate}')`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
// 其他信息
|
||||||
// 其他信息
|
let webDate = api.getDate(date)
|
||||||
let webDate = api.getDate(date)
|
this.otherArr.forEach(v => {
|
||||||
this.otherArr.forEach(v => {
|
let webId = uuidv4()
|
||||||
let webId = uuidv4()
|
let sql = ""
|
||||||
let sql = ""
|
if (v.webId == '') {
|
||||||
if (v.webId == '') {
|
sql =
|
||||||
sql =
|
`insert into infoRespList values('${webId}','${this.vtpId}','${contactId}','${this.aId}','${this.hcValue}','${this.hcTextValue}','${v.jsworker}',
|
||||||
`insert into infoRespList values('${webId}','${this.vtpId}','${contactId}','${this.aId}','${this.hcValue}','${this.hcTextValue}','${v.jsworker}',
|
|
||||||
'${v.startTime}','${v.endTime}','${v.zlValue}','${v.tjValue}','${v.ptworker}',
|
'${v.startTime}','${v.endTime}','${v.zlValue}','${v.tjValue}','${v.ptworker}',
|
||||||
'${v.startTime2}','${v.endTime2}','${v.zlValue2}','${v.tjValue2}','${v.describe}',
|
'${v.startTime2}','${v.endTime2}','${v.zlValue2}','${v.tjValue2}','${v.describe}',
|
||||||
'${v.dgWork}','${v.remark}','${webStatus}','${webDate}')`
|
'${v.dgWork}','${v.remark}','${webStatus}','${webDate}')`
|
||||||
} else {
|
} else {
|
||||||
sql =
|
sql =
|
||||||
`UPDATE infoRespList SET vvyId = '${this.hcValue}', vvyName = '${this.hcTextValue}', tecNum = '${v.jsworker}',
|
`UPDATE infoRespList SET vvyId = '${this.hcValue}', vvyName = '${this.hcTextValue}', tecNum = '${v.jsworker}',
|
||||||
startTm = '${v.startTime}', endTm = '${v.endTime}', weight = '${v.zlValue}',
|
startTm = '${v.startTime}', endTm = '${v.endTime}', weight = '${v.zlValue}',
|
||||||
volume = '${v.tjValue}', genNum = '${v.ptworker}',
|
volume = '${v.tjValue}', genNum = '${v.ptworker}',
|
||||||
startTmPt = '${v.startTime2}', endTmPt = '${v.endTime2}', weightPt = '${v.zlValue2}',
|
startTmPt = '${v.startTime2}', endTmPt = '${v.endTime2}', weightPt = '${v.zlValue2}',
|
||||||
volumePt = '${v.tjValue2}', auxRemark = '${v.describe}', waitRemark = '${v.dgWork}',
|
volumePt = '${v.tjValue2}', auxRemark = '${v.describe}', waitRemark = '${v.dgWork}',
|
||||||
workRemark = '${v.remark}', webStatus = '${webStatus}', webDate = '${webDate}' WHERE webId = '${v.webId}';`
|
workRemark = '${v.remark}', webStatus = '${webStatus}', webDate = '${webDate}' WHERE webId = '${v.webId}';`
|
||||||
}
|
}
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
})
|
})
|
||||||
|
|
||||||
// 删除工班信息
|
// 删除工班信息
|
||||||
this.shiftDelList.forEach(v => {
|
this.shiftDelList.forEach(v => {
|
||||||
let sql = `DELETE FROM workMessageRespList WHERE webId = '${v}';`
|
let sql = `DELETE FROM workMessageRespList WHERE webId = '${v}';`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
})
|
})
|
||||||
// 删除工班详细信息
|
// 删除工班详细信息
|
||||||
this.shiftInfoDelList.forEach(v => {
|
this.shiftInfoDelList.forEach(v => {
|
||||||
let sql = `DELETE FROM workMessageRespInfoList WHERE webId = '${v}';`
|
let sql = `DELETE FROM workMessageRespInfoList WHERE webId = '${v}';`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
})
|
})
|
||||||
// 删除翻仓信息
|
// 删除翻仓信息
|
||||||
this.fcInfoDelList.forEach(v => {
|
this.fcInfoDelList.forEach(v => {
|
||||||
let sql = `DELETE FROM retallyMessageRespList WHERE webId = '${v}';`
|
let sql = `DELETE FROM retallyMessageRespList WHERE webId = '${v}';`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
})
|
})
|
||||||
// 删除其他信息
|
// 删除其他信息
|
||||||
this.otherDelList.forEach(v => {
|
this.otherDelList.forEach(v => {
|
||||||
let sql = `DELETE FROM infoRespList WHERE webId = '${v}';`
|
let sql = `DELETE FROM infoRespList WHERE webId = '${v}';`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
})
|
})
|
||||||
|
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/shipWork/mixWork'
|
url: '/pages/shipWork/mixWork'
|
||||||
})
|
})
|
||||||
} else if (this.obj.state == "add") {
|
} else if (this.obj.state == "add") {
|
||||||
if (isVvyType == 0) {
|
if (isVvyType == 0) {
|
||||||
let aId = uuidv4()
|
let aId = uuidv4()
|
||||||
// 工班信息
|
// 工班信息
|
||||||
for (let i = 0; i < this.ulList1.length; i++) {
|
for (let i = 0; i < this.ulList1.length; i++) {
|
||||||
let webId = uuidv4()
|
let webId = uuidv4()
|
||||||
let webDate = api.getDate(date)
|
let webDate = api.getDate(date)
|
||||||
let sql = `insert into workMessageRespList values('${webId}','${this.vtpId}','${contactId}','${aId}','${this.hcValue}',
|
let sql = `insert into workMessageRespList values('${webId}','${this.vtpId}','${contactId}','${aId}','${this.hcValue}',
|
||||||
'${this.hcTextValue}','${this.importExportFlagName}','${this.zxValue}','${this.zxTextValue}','${this.ulList1[i].gbValue}',
|
'${this.hcTextValue}','${this.importExportFlagName}','${this.zxValue}','${this.zxTextValue}','${this.ulList1[i].gbValue}',
|
||||||
'${this.ulList1[i].gbTextValue}','${this.ulList1[i].startTime}','${this.ulList1[i].endTime}','${0}',
|
'${this.ulList1[i].gbTextValue}','${this.ulList1[i].startTime}','${this.ulList1[i].endTime}','${0}',
|
||||||
'${webStatus}','${webDate}')`
|
'${webStatus}','${webDate}')`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
for (let j = 0; j < this.ulList1[i].ulList2.length; j++) {
|
for (let j = 0; j < this.ulList1[i].ulList2.length; j++) {
|
||||||
let webId2 = uuidv4()
|
let webId2 = uuidv4()
|
||||||
let webDate = api.getDate(date)
|
let webDate = api.getDate(date)
|
||||||
let sql2 =
|
let sql2 =
|
||||||
`insert into workMessageRespInfoList values('${webId2}','${this.vtpId}','${webId}','${this.ulList1[i].ulList2[j].carType}',
|
`insert into workMessageRespInfoList values('${webId2}','${this.vtpId}','${webId}','${this.ulList1[i].ulList2[j].carType}',
|
||||||
'${this.ulList1[i].ulList2[j].carTypeName}','${this.ulList1[i].ulList2[j].goodsNumber}','${this.ulList1[i].ulList2[j].loadingType}',
|
'${this.ulList1[i].ulList2[j].carTypeName}','${this.ulList1[i].ulList2[j].goodsNumber}','${this.ulList1[i].ulList2[j].loadingType}',
|
||||||
'${this.ulList1[i].ulList2[j].loadingTypeName}','${this.ulList1[i].ulList2[j].remark}','${webStatus}','${webDate}')`
|
'${this.ulList1[i].ulList2[j].loadingTypeName}','${this.ulList1[i].ulList2[j].remark}','${webStatus}','${webDate}')`
|
||||||
this.executeSql(sql2)
|
this.executeSql(sql2)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
// 翻仓信息
|
||||||
// 翻仓信息
|
for (let i = 0; i < this.fcUlList.length; i++) {
|
||||||
for (let i = 0; i < this.fcUlList.length; i++) {
|
let webId = uuidv4()
|
||||||
let webId = uuidv4()
|
let webDate = api.getDate(date)
|
||||||
let webDate = api.getDate(date)
|
let sql =
|
||||||
let sql =
|
`insert into retallyMessageRespList values('${webId}','${this.vtpId}','${contactId}','${aId}','${this.hcValue}','${this.hcTextValue}','${this.fcUlList[i].retallyType}',
|
||||||
`insert into retallyMessageRespList values('${webId}','${this.vtpId}','${contactId}','${aId}','${this.hcValue}','${this.hcTextValue}','${this.fcUlList[i].retallyType}',
|
|
||||||
'${this.fcUlList[i].retallyTypeName}','${this.fcUlList[i].retallyOrigin}','${this.fcUlList[i].retallyTerminus}',
|
'${this.fcUlList[i].retallyTypeName}','${this.fcUlList[i].retallyOrigin}','${this.fcUlList[i].retallyTerminus}',
|
||||||
'${this.fcUlList[i].retallyStartTime}','${this.fcUlList[i].retallyEndTime}','${this.fcUlList[i].carType}',
|
'${this.fcUlList[i].retallyStartTime}','${this.fcUlList[i].retallyEndTime}','${this.fcUlList[i].carType}',
|
||||||
'${this.fcUlList[i].carTypeName}','${this.fcUlList[i].goodsNumber}','${this.fcUlList[i].goodsVolume}',
|
'${this.fcUlList[i].carTypeName}','${this.fcUlList[i].goodsNumber}','${this.fcUlList[i].goodsVolume}',
|
||||||
'${this.fcUlList[i].goodsWeight}','${this.fcUlList[i].mafiGroupNum}','${editStatus}','${webStatus}','${webDate}')`
|
'${this.fcUlList[i].goodsWeight}','${this.fcUlList[i].mafiGroupNum}','${editStatus}','${webStatus}','${webDate}')`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
}
|
}
|
||||||
// 其他信息
|
// 其他信息
|
||||||
this.otherArr.forEach(v => {
|
this.otherArr.forEach(v => {
|
||||||
let webId = uuidv4()
|
let webId = uuidv4()
|
||||||
let webDate = api.getDate(date)
|
let webDate = api.getDate(date)
|
||||||
let sql =
|
let sql =
|
||||||
`insert into infoRespList values('${webId}','${this.vtpId}','${contactId}','${aId}','${this.hcValue}','${this.hcTextValue}','${v.jsworker}',
|
`insert into infoRespList values('${webId}','${this.vtpId}','${contactId}','${aId}','${this.hcValue}','${this.hcTextValue}','${v.jsworker}',
|
||||||
'${v.startTime}','${v.endTime}','${v.zlValue}','${v.tjValue}','${v.ptworker}',
|
'${v.startTime}','${v.endTime}','${v.zlValue}','${v.tjValue}','${v.ptworker}',
|
||||||
'${v.startTime2}','${v.endTime2}','${v.zlValue2}','${v.tjValue2}','${v.describe}',
|
'${v.startTime2}','${v.endTime2}','${v.zlValue2}','${v.tjValue2}','${v.describe}',
|
||||||
'${v.dgWork}','${v.remark}','${webStatus}','${webDate}')`
|
'${v.dgWork}','${v.remark}','${webStatus}','${webDate}')`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
})
|
})
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pages/shipWork/mixWork'
|
url: '/pages/shipWork/mixWork'
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
icon: 'none',
|
icon: 'none',
|
||||||
title: '该航次已有已录,请选择其他航次'
|
title: '该航次已有已录,请选择其他航次'
|
||||||
});
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -199,7 +199,7 @@
|
||||||
<view class="btnList">
|
<view class="btnList">
|
||||||
<van-button type="default" @click="cancel">取消</van-button>
|
<van-button type="default" @click="cancel">取消</van-button>
|
||||||
<template v-if="status == 0 || status == 4 || status == 5 || status == 'null'">
|
<template v-if="status == 0 || status == 4 || status == 5 || status == 'null'">
|
||||||
<van-button type="danger" @click="del">删除</van-button>
|
<!-- <van-button type="danger" @click="del">删除</van-button> -->
|
||||||
<van-button type="info" @click="edit('edit')">编辑</van-button>
|
<van-button type="info" @click="edit('edit')">编辑</van-button>
|
||||||
</template>
|
</template>
|
||||||
</view>
|
</view>
|
||||||
|
@ -341,7 +341,7 @@
|
||||||
uni.setStorageSync('tabsType', 1)
|
uni.setStorageSync('tabsType', 1)
|
||||||
this.dataInfo.forEach(v => {
|
this.dataInfo.forEach(v => {
|
||||||
let reg = RegExp(/-/)
|
let reg = RegExp(/-/)
|
||||||
if (reg.test(v.webId)) {
|
if (reg.test(v.webId) == false) {
|
||||||
this.delSwmIds.push(v.webId)
|
this.delSwmIds.push(v.webId)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -249,7 +249,7 @@
|
||||||
let sql = `DELETE FROM shipmentShipSupplyRespList WHERE sssId = '${this.supplyRow.sssId}';`
|
let sql = `DELETE FROM shipmentShipSupplyRespList WHERE sssId = '${this.supplyRow.sssId}';`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
let reg = RegExp(/-/)
|
let reg = RegExp(/-/)
|
||||||
if (reg.test(this.supplyRow.sssId)) {
|
if (reg.test(this.supplyRow.sssId) == false) {
|
||||||
this.delSsIds.push(this.supplyRow.sssId)
|
this.delSsIds.push(this.supplyRow.sssId)
|
||||||
uni.setStorageSync('delSsIds', this.delSsIds);
|
uni.setStorageSync('delSsIds', this.delSsIds);
|
||||||
}
|
}
|
||||||
|
@ -388,11 +388,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnList {
|
.btnList {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
height: 80px;
|
||||||
|
background-color: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
/deep/ .van-button {
|
/deep/ .van-button {
|
||||||
margin: 30px 20px;
|
margin: 15px 20px;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -270,7 +270,7 @@
|
||||||
let sql = `DELETE FROM attachUnmoorRespList WHERE sauId = '${this.untieRow.sauId}';`
|
let sql = `DELETE FROM attachUnmoorRespList WHERE sauId = '${this.untieRow.sauId}';`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
let reg = RegExp(/-/)
|
let reg = RegExp(/-/)
|
||||||
if (reg.test(this.untieRow.sauId)) {
|
if (reg.test(this.untieRow.sauId) == false) {
|
||||||
this.delSauIds.push(this.untieRow.sauId)
|
this.delSauIds.push(this.untieRow.sauId)
|
||||||
uni.setStorageSync('delSauIds', this.delSauIds);
|
uni.setStorageSync('delSauIds', this.delSauIds);
|
||||||
}
|
}
|
||||||
|
@ -410,11 +410,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnList {
|
.btnList {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
height: 80px;
|
||||||
|
background-color: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
/deep/ .van-button {
|
/deep/ .van-button {
|
||||||
margin: 30px 20px;
|
margin: 15px 20px;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -300,7 +300,7 @@
|
||||||
let sql = `DELETE FROM shipmentAdviserLayoutRespList WHERE altId = '${this.assignRow.altId}';`
|
let sql = `DELETE FROM shipmentAdviserLayoutRespList WHERE altId = '${this.assignRow.altId}';`
|
||||||
this.executeSql(sql)
|
this.executeSql(sql)
|
||||||
let reg = RegExp(/-/)
|
let reg = RegExp(/-/)
|
||||||
if (reg.test(this.assignRow.altId)) {
|
if (reg.test(this.assignRow.altId) == false) {
|
||||||
this.delAlIds.push(this.assignRow.altId)
|
this.delAlIds.push(this.assignRow.altId)
|
||||||
uni.setStorageSync('delAlIds', this.delAlIds);
|
uni.setStorageSync('delAlIds', this.delAlIds);
|
||||||
}
|
}
|
||||||
|
@ -440,11 +440,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.btnList {
|
.btnList {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
height: 80px;
|
||||||
|
background-color: #fff;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
/deep/ .van-button {
|
/deep/ .van-button {
|
||||||
margin: 30px 20px;
|
margin: 15px 20px;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
}
|
}
|
||||||
|
|
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 852 B |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 764 B |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 717 B |
After Width: | Height: | Size: 776 B |
|
@ -0,0 +1,13 @@
|
||||||
|
## 1.2.1(2021-11-22)
|
||||||
|
- 修复 vue3中个别scss变量无法找到的问题
|
||||||
|
## 1.2.0(2021-11-19)
|
||||||
|
- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
|
||||||
|
- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-drawer](https://uniapp.dcloud.io/component/uniui/uni-drawer)
|
||||||
|
## 1.1.1(2021-07-30)
|
||||||
|
- 优化 vue3下事件警告的问题
|
||||||
|
## 1.1.0(2021-07-13)
|
||||||
|
- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
|
||||||
|
## 1.0.7(2021-05-12)
|
||||||
|
- 新增 组件示例地址
|
||||||
|
## 1.0.6(2021-02-04)
|
||||||
|
- 调整为uni_modules目录规范
|
|
@ -0,0 +1,45 @@
|
||||||
|
// #ifdef H5
|
||||||
|
export default {
|
||||||
|
name: 'Keypress',
|
||||||
|
props: {
|
||||||
|
disable: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
const keyNames = {
|
||||||
|
esc: ['Esc', 'Escape'],
|
||||||
|
tab: 'Tab',
|
||||||
|
enter: 'Enter',
|
||||||
|
space: [' ', 'Spacebar'],
|
||||||
|
up: ['Up', 'ArrowUp'],
|
||||||
|
left: ['Left', 'ArrowLeft'],
|
||||||
|
right: ['Right', 'ArrowRight'],
|
||||||
|
down: ['Down', 'ArrowDown'],
|
||||||
|
delete: ['Backspace', 'Delete', 'Del']
|
||||||
|
}
|
||||||
|
const listener = ($event) => {
|
||||||
|
if (this.disable) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const keyName = Object.keys(keyNames).find(key => {
|
||||||
|
const keyName = $event.key
|
||||||
|
const value = keyNames[key]
|
||||||
|
return value === keyName || (Array.isArray(value) && value.includes(keyName))
|
||||||
|
})
|
||||||
|
if (keyName) {
|
||||||
|
// 避免和其他按键事件冲突
|
||||||
|
setTimeout(() => {
|
||||||
|
this.$emit(keyName, {})
|
||||||
|
}, 0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
document.addEventListener('keyup', listener)
|
||||||
|
// this.$once('hook:beforeDestroy', () => {
|
||||||
|
// document.removeEventListener('keyup', listener)
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
render: () => {}
|
||||||
|
}
|
||||||
|
// #endif
|
|
@ -0,0 +1,183 @@
|
||||||
|
<template>
|
||||||
|
<view v-if="visibleSync" :class="{ 'uni-drawer--visible': showDrawer }" class="uni-drawer" @touchmove.stop.prevent="clear">
|
||||||
|
<view class="uni-drawer__mask" :class="{ 'uni-drawer__mask--visible': showDrawer && mask }" @tap="close('mask')" />
|
||||||
|
<view class="uni-drawer__content" :class="{'uni-drawer--right': rightMode,'uni-drawer--left': !rightMode, 'uni-drawer__content--visible': showDrawer}" :style="{width:drawerWidth+'px'}">
|
||||||
|
<slot />
|
||||||
|
</view>
|
||||||
|
<!-- #ifdef H5 -->
|
||||||
|
<keypress @esc="close('mask')" />
|
||||||
|
<!-- #endif -->
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
// #ifdef H5
|
||||||
|
import keypress from './keypress.js'
|
||||||
|
// #endif
|
||||||
|
/**
|
||||||
|
* Drawer 抽屉
|
||||||
|
* @description 抽屉侧滑菜单
|
||||||
|
* @tutorial https://ext.dcloud.net.cn/plugin?id=26
|
||||||
|
* @property {Boolean} mask = [true | false] 是否显示遮罩
|
||||||
|
* @property {Boolean} maskClick = [true | false] 点击遮罩是否关闭
|
||||||
|
* @property {Boolean} mode = [left | right] Drawer 滑出位置
|
||||||
|
* @value left 从左侧滑出
|
||||||
|
* @value right 从右侧侧滑出
|
||||||
|
* @property {Number} width 抽屉的宽度 ,仅 vue 页面生效
|
||||||
|
* @event {Function} close 组件关闭时触发事件
|
||||||
|
*/
|
||||||
|
export default {
|
||||||
|
name: 'UniDrawer',
|
||||||
|
components: {
|
||||||
|
// #ifdef H5
|
||||||
|
keypress
|
||||||
|
// #endif
|
||||||
|
},
|
||||||
|
emits:['change'],
|
||||||
|
props: {
|
||||||
|
/**
|
||||||
|
* 显示模式(左、右),只在初始化生效
|
||||||
|
*/
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 蒙层显示状态
|
||||||
|
*/
|
||||||
|
mask: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 遮罩是否可点击关闭
|
||||||
|
*/
|
||||||
|
maskClick:{
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 抽屉宽度
|
||||||
|
*/
|
||||||
|
width: {
|
||||||
|
type: Number,
|
||||||
|
default: 220
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visibleSync: false,
|
||||||
|
showDrawer: false,
|
||||||
|
rightMode: false,
|
||||||
|
watchTimer: null,
|
||||||
|
drawerWidth: 220
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
// #ifndef APP-NVUE
|
||||||
|
this.drawerWidth = this.width
|
||||||
|
// #endif
|
||||||
|
this.rightMode = this.mode === 'right'
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
clear(){},
|
||||||
|
close(type) {
|
||||||
|
// fixed by mehaotian 抽屉尚未完全关闭或遮罩禁止点击时不触发以下逻辑
|
||||||
|
if((type === 'mask' && !this.maskClick) || !this.visibleSync) return
|
||||||
|
this._change('showDrawer', 'visibleSync', false)
|
||||||
|
},
|
||||||
|
open() {
|
||||||
|
// fixed by mehaotian 处理重复点击打开的事件
|
||||||
|
if(this.visibleSync) return
|
||||||
|
this._change('visibleSync', 'showDrawer', true)
|
||||||
|
},
|
||||||
|
_change(param1, param2, status) {
|
||||||
|
this[param1] = status
|
||||||
|
if (this.watchTimer) {
|
||||||
|
clearTimeout(this.watchTimer)
|
||||||
|
}
|
||||||
|
this.watchTimer = setTimeout(() => {
|
||||||
|
this[param2] = status
|
||||||
|
this.$emit('change',status)
|
||||||
|
}, status ? 50 : 300)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
$uni-mask: rgba($color: #000000, $alpha: 0.4) ;
|
||||||
|
// 抽屉宽度
|
||||||
|
$drawer-width: 220px;
|
||||||
|
|
||||||
|
.uni-drawer {
|
||||||
|
/* #ifndef APP-NVUE */
|
||||||
|
display: block;
|
||||||
|
/* #endif */
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.uni-drawer__content {
|
||||||
|
/* #ifndef APP-NVUE */
|
||||||
|
display: block;
|
||||||
|
/* #endif */
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
width: $drawer-width;
|
||||||
|
bottom: 0;
|
||||||
|
background-color: $uni-bg-color;
|
||||||
|
transition: transform 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.uni-drawer--left {
|
||||||
|
left: 0;
|
||||||
|
/* #ifdef APP-NVUE */
|
||||||
|
transform: translateX(-$drawer-width);
|
||||||
|
/* #endif */
|
||||||
|
/* #ifndef APP-NVUE */
|
||||||
|
transform: translateX(-100%);
|
||||||
|
/* #endif */
|
||||||
|
}
|
||||||
|
|
||||||
|
.uni-drawer--right {
|
||||||
|
right: 0;
|
||||||
|
/* #ifdef APP-NVUE */
|
||||||
|
transform: translateX($drawer-width);
|
||||||
|
/* #endif */
|
||||||
|
/* #ifndef APP-NVUE */
|
||||||
|
transform: translateX(100%);
|
||||||
|
/* #endif */
|
||||||
|
}
|
||||||
|
|
||||||
|
.uni-drawer__content--visible {
|
||||||
|
transform: translateX(0px);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.uni-drawer__mask {
|
||||||
|
/* #ifndef APP-NVUE */
|
||||||
|
display: block;
|
||||||
|
/* #endif */
|
||||||
|
opacity: 0;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
background-color: $uni-mask;
|
||||||
|
transition: opacity 0.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.uni-drawer__mask--visible {
|
||||||
|
/* #ifndef APP-NVUE */
|
||||||
|
display: block;
|
||||||
|
/* #endif */
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,87 @@
|
||||||
|
{
|
||||||
|
"id": "uni-drawer",
|
||||||
|
"displayName": "uni-drawer 抽屉",
|
||||||
|
"version": "1.2.1",
|
||||||
|
"description": "抽屉式导航,用于展示侧滑菜单,侧滑导航。",
|
||||||
|
"keywords": [
|
||||||
|
"uni-ui",
|
||||||
|
"uniui",
|
||||||
|
"drawer",
|
||||||
|
"抽屉",
|
||||||
|
"侧滑导航"
|
||||||
|
],
|
||||||
|
"repository": "https://github.com/dcloudio/uni-ui",
|
||||||
|
"engines": {
|
||||||
|
"HBuilderX": ""
|
||||||
|
},
|
||||||
|
"directories": {
|
||||||
|
"example": "../../temps/example_temps"
|
||||||
|
},
|
||||||
|
"dcloudext": {
|
||||||
|
"category": [
|
||||||
|
"前端组件",
|
||||||
|
"通用组件"
|
||||||
|
],
|
||||||
|
"sale": {
|
||||||
|
"regular": {
|
||||||
|
"price": "0.00"
|
||||||
|
},
|
||||||
|
"sourcecode": {
|
||||||
|
"price": "0.00"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"contact": {
|
||||||
|
"qq": ""
|
||||||
|
},
|
||||||
|
"declaration": {
|
||||||
|
"ads": "无",
|
||||||
|
"data": "无",
|
||||||
|
"permissions": "无"
|
||||||
|
},
|
||||||
|
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
|
||||||
|
},
|
||||||
|
"uni_modules": {
|
||||||
|
"dependencies": ["uni-scss"],
|
||||||
|
"encrypt": [],
|
||||||
|
"platforms": {
|
||||||
|
"cloud": {
|
||||||
|
"tcb": "y",
|
||||||
|
"aliyun": "y"
|
||||||
|
},
|
||||||
|
"client": {
|
||||||
|
"App": {
|
||||||
|
"app-vue": "y",
|
||||||
|
"app-nvue": "y"
|
||||||
|
},
|
||||||
|
"H5-mobile": {
|
||||||
|
"Safari": "y",
|
||||||
|
"Android Browser": "y",
|
||||||
|
"微信浏览器(Android)": "y",
|
||||||
|
"QQ浏览器(Android)": "y"
|
||||||
|
},
|
||||||
|
"H5-pc": {
|
||||||
|
"Chrome": "y",
|
||||||
|
"IE": "y",
|
||||||
|
"Edge": "y",
|
||||||
|
"Firefox": "y",
|
||||||
|
"Safari": "y"
|
||||||
|
},
|
||||||
|
"小程序": {
|
||||||
|
"微信": "y",
|
||||||
|
"阿里": "y",
|
||||||
|
"百度": "y",
|
||||||
|
"字节跳动": "y",
|
||||||
|
"QQ": "y"
|
||||||
|
},
|
||||||
|
"快应用": {
|
||||||
|
"华为": "u",
|
||||||
|
"联盟": "u"
|
||||||
|
},
|
||||||
|
"Vue": {
|
||||||
|
"vue2": "y",
|
||||||
|
"vue3": "y"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
|
||||||
|
|
||||||
|
## Drawer 抽屉
|
||||||
|
> **组件名:uni-drawer**
|
||||||
|
> 代码块: `uDrawer`
|
||||||
|
|
||||||
|
抽屉侧滑菜单。
|
||||||
|
|
||||||
|
### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-drawer)
|
||||||
|
#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
|
|
@ -0,0 +1,24 @@
|
||||||
|
## 1.0.11(2023-01-29)
|
||||||
|
优化点击,加入点击自己再次点击也会关闭
|
||||||
|
## 1.0.10(2023-01-17)
|
||||||
|
优化
|
||||||
|
## 1.0.9(2023-01-17)
|
||||||
|
增加注释
|
||||||
|
## 1.0.8(2022-08-18)
|
||||||
|
优化细节
|
||||||
|
## 1.0.67(2022-05-09)
|
||||||
|
修复安卓报错
|
||||||
|
## 1.0.6(2022-05-07)
|
||||||
|
修改默认展示
|
||||||
|
## 1.0.5(2022-04-28)
|
||||||
|
进行优化
|
||||||
|
## 1.0.4(2022-04-27)
|
||||||
|
进行优化
|
||||||
|
## 1.0.3(2022-04-25)
|
||||||
|
去掉多余得注释
|
||||||
|
## 1.0.2(2022-04-25)
|
||||||
|
增加自定义主题颜色
|
||||||
|
## 1.0.1(2022-04-25)
|
||||||
|
进行优化显示
|
||||||
|
## 1.0.0(2022-04-24)
|
||||||
|
初始化
|
|
@ -0,0 +1,290 @@
|
||||||
|
<template>
|
||||||
|
<view class="zb-tooltip" :style="{
|
||||||
|
'--theme-bg-color':color
|
||||||
|
}">
|
||||||
|
<view class="zb_tooltip_content" @click.stop="handleClick">
|
||||||
|
<slot></slot>
|
||||||
|
<view class="zb_tooltip__popper"
|
||||||
|
@click.stop="()=>{}"
|
||||||
|
:style="[style,{
|
||||||
|
visibility:isShow?'visible':'hidden',
|
||||||
|
color:color==='white'?'':'#fff',
|
||||||
|
boxShadow: color==='white'?'0 3px 6px -4px #0000001f, 0 6px 16px #00000014, 0 9px 28px 8px #0000000d':''
|
||||||
|
}]" >
|
||||||
|
<slot name="content">{{content}}</slot>
|
||||||
|
<view class="zb_popper__icon" :style="[arrowStyle]" :class="[{
|
||||||
|
'zb_popper__up':placement.indexOf('bottom')===0,
|
||||||
|
'zb_popper__arrow':placement.indexOf('top')===0,
|
||||||
|
'zb_popper__right':placement.indexOf('right')===0,
|
||||||
|
'zb_popper__left':placement.indexOf('left')===0,
|
||||||
|
}]">
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props:{
|
||||||
|
visible:Boolean,
|
||||||
|
color:{
|
||||||
|
type:String,
|
||||||
|
default:'#303133',
|
||||||
|
},
|
||||||
|
placement:{
|
||||||
|
type:String,
|
||||||
|
default:'top',
|
||||||
|
},
|
||||||
|
content:{
|
||||||
|
type:String,
|
||||||
|
default:''
|
||||||
|
},
|
||||||
|
show:{
|
||||||
|
type:Boolean,
|
||||||
|
default:false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
isShow :this.visible,
|
||||||
|
title: 'Hello',
|
||||||
|
arrowLeft:0,
|
||||||
|
query:null,
|
||||||
|
style:{
|
||||||
|
|
||||||
|
},
|
||||||
|
arrowStyle:{}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
|
||||||
|
},
|
||||||
|
watch:{
|
||||||
|
isShow:{
|
||||||
|
handler(val){
|
||||||
|
this.$emit('update:visible', val)
|
||||||
|
},
|
||||||
|
immediate:true,
|
||||||
|
},
|
||||||
|
visible:{
|
||||||
|
handler(val){
|
||||||
|
if(val){
|
||||||
|
this.$nextTick(()=>{
|
||||||
|
this.getPosition()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.isShow = val
|
||||||
|
},
|
||||||
|
immediate:true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted(){
|
||||||
|
// #ifdef H5
|
||||||
|
window.addEventListener('click',()=>{
|
||||||
|
this.isShow = false
|
||||||
|
})
|
||||||
|
// #endif
|
||||||
|
this.getPosition()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
close(){
|
||||||
|
this.isShow = false
|
||||||
|
},
|
||||||
|
fixedWrap(){
|
||||||
|
this.isShow = false
|
||||||
|
},
|
||||||
|
async handleClick(){
|
||||||
|
if(this.isShow){
|
||||||
|
return this.isShow = false
|
||||||
|
}
|
||||||
|
await this.getPosition()
|
||||||
|
this.isShow = true
|
||||||
|
},
|
||||||
|
getPosition(){
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
uni.createSelectorQuery().in(this).selectAll('.zb_tooltip_content,.zb_tooltip__popper').boundingClientRect(async (data)=>{
|
||||||
|
let {left,bottom,right,top,width,height} = data[0]
|
||||||
|
let obj1 = data[1]
|
||||||
|
let objStyle = {}
|
||||||
|
let objStyle1 = {}
|
||||||
|
switch(this.placement){
|
||||||
|
case 'top':
|
||||||
|
if(obj1.width > width){
|
||||||
|
objStyle.left = `-${(obj1.width - width)/2}px`
|
||||||
|
}else{
|
||||||
|
objStyle.left = `${Math.abs(obj1.width - width)/2}px`
|
||||||
|
}
|
||||||
|
|
||||||
|
objStyle.bottom =`${height+8}px`
|
||||||
|
objStyle1.left = (obj1.width/2-6)+'px'
|
||||||
|
break;
|
||||||
|
case 'top-start':
|
||||||
|
objStyle.left = `0px`
|
||||||
|
objStyle.bottom =`${height+8}px`
|
||||||
|
break;
|
||||||
|
case 'top-end':
|
||||||
|
objStyle.right = `0px`
|
||||||
|
objStyle.bottom =`${height+8}px`
|
||||||
|
objStyle1.right=`8px`
|
||||||
|
break;
|
||||||
|
case 'bottom':
|
||||||
|
if(obj1.width>width){
|
||||||
|
objStyle.left = `-${(obj1.width - width)/2}px`
|
||||||
|
}else{
|
||||||
|
objStyle.left = `${Math.abs(obj1.width - width)/2}px`
|
||||||
|
}
|
||||||
|
objStyle.top =`${height+8}px`
|
||||||
|
objStyle1.left = (obj1.width/2-6)+'px'
|
||||||
|
break;
|
||||||
|
case 'bottom-start':
|
||||||
|
objStyle.left = `0px`
|
||||||
|
objStyle.top =`${height+8}px`
|
||||||
|
objStyle1.left = `8px`
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'bottom-end':
|
||||||
|
objStyle.right = `0px`
|
||||||
|
objStyle.top =`${height+8}px`
|
||||||
|
objStyle1.right = `8px`
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'right':
|
||||||
|
objStyle.left = `${width+8}px`
|
||||||
|
if(obj1.height>height){
|
||||||
|
objStyle.top =`-${(obj1.height - height)/2}px`
|
||||||
|
}else{
|
||||||
|
objStyle.top =`${Math.abs((obj1.height - height)/2)}px`
|
||||||
|
}
|
||||||
|
|
||||||
|
objStyle1.top = `${obj1.height/2-6}px`
|
||||||
|
break;
|
||||||
|
case 'right-start':
|
||||||
|
objStyle.left = `${width+8}px`
|
||||||
|
objStyle.top =`0px`
|
||||||
|
objStyle1.top = `8px`
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'right-end':
|
||||||
|
objStyle.left = `${width+8}px`
|
||||||
|
objStyle.bottom =`0px`
|
||||||
|
objStyle1.bottom = `8px`
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'left':
|
||||||
|
objStyle.right = `${width+8}px`
|
||||||
|
|
||||||
|
if(obj1.height>height){
|
||||||
|
objStyle.top =`-${(obj1.height - height)/2}px`
|
||||||
|
}else{
|
||||||
|
objStyle.top =`${Math.abs((obj1.height - height)/2)}px`
|
||||||
|
}
|
||||||
|
|
||||||
|
objStyle1.top = `${obj1.height/2-6}px`
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'left-start':
|
||||||
|
objStyle.right = `${width+8}px`
|
||||||
|
objStyle.top =`0px`
|
||||||
|
objStyle1.top = `8px`
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'left-end':
|
||||||
|
objStyle.right = `${width+8}px`
|
||||||
|
objStyle.bottom =`0px`
|
||||||
|
objStyle1.bottom = `8px`
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
this.style = objStyle
|
||||||
|
// 三角形箭头
|
||||||
|
this.arrowStyle = objStyle1
|
||||||
|
resolve()
|
||||||
|
}).exec()
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
$theme-bg-color: var(--theme-bg-color);
|
||||||
|
|
||||||
|
.zb-tooltip{
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
}
|
||||||
|
.zb_tooltip_content{
|
||||||
|
height: 100%;
|
||||||
|
/* float: left; */
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
|
||||||
|
// display: flex;
|
||||||
|
// flex-direction: row;
|
||||||
|
// align-items: center;
|
||||||
|
/* overflow: hidden; */
|
||||||
|
}
|
||||||
|
.zb_tooltip__popper{
|
||||||
|
/* transform-origin: center top; */
|
||||||
|
background: $theme-bg-color;
|
||||||
|
|
||||||
|
visibility: hidden;
|
||||||
|
// color:'#fff';
|
||||||
|
position: absolute;
|
||||||
|
border-radius: 4px;
|
||||||
|
font-size: 12px;
|
||||||
|
padding: 10px;
|
||||||
|
min-width: 10px;
|
||||||
|
word-wrap: break-word;
|
||||||
|
display: inline-block;
|
||||||
|
white-space: nowrap;
|
||||||
|
z-index:9;
|
||||||
|
}
|
||||||
|
.zb_popper__icon{
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
z-index:9;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
.zb_popper__arrow{
|
||||||
|
bottom: -5px;
|
||||||
|
/* transform-origin: center top; */
|
||||||
|
border-left: 6px solid transparent;
|
||||||
|
border-right: 6px solid transparent;
|
||||||
|
border-top: 6px solid $theme-bg-color;
|
||||||
|
|
||||||
|
}
|
||||||
|
.zb_popper__right{
|
||||||
|
border-top: 6px solid transparent;
|
||||||
|
border-bottom: 6px solid transparent;
|
||||||
|
border-right: 6px solid $theme-bg-color;
|
||||||
|
left:-5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zb_popper__left{
|
||||||
|
border-top: 6px solid transparent;
|
||||||
|
border-bottom: 6px solid transparent;
|
||||||
|
border-left: 6px solid $theme-bg-color;
|
||||||
|
right:-5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zb_popper__up{
|
||||||
|
border-left: 6px solid transparent;
|
||||||
|
border-right: 6px solid transparent;
|
||||||
|
border-bottom: 6px solid $theme-bg-color;
|
||||||
|
top:-5px;
|
||||||
|
}
|
||||||
|
.fixed{
|
||||||
|
position: absolute;width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
pointer-events: auto;
|
||||||
|
background: red;
|
||||||
|
z-index:-1;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,83 @@
|
||||||
|
{
|
||||||
|
"id": "zb-tooltip",
|
||||||
|
"displayName": "zb-tooltip (文字提示气泡框)",
|
||||||
|
"version": "1.0.11",
|
||||||
|
"description": "简单的文字提示气泡框,可以自定义皮肤颜色",
|
||||||
|
"keywords": [
|
||||||
|
"tooltip",
|
||||||
|
"tip",
|
||||||
|
"文字提示",
|
||||||
|
"气泡框",
|
||||||
|
"自定义皮肤颜色、Popover"
|
||||||
|
],
|
||||||
|
"repository": "",
|
||||||
|
"engines": {
|
||||||
|
},
|
||||||
|
"dcloudext": {
|
||||||
|
"category": [
|
||||||
|
"前端组件",
|
||||||
|
"通用组件"
|
||||||
|
],
|
||||||
|
"sale": {
|
||||||
|
"regular": {
|
||||||
|
"price": "0.00"
|
||||||
|
},
|
||||||
|
"sourcecode": {
|
||||||
|
"price": "0.00"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"contact": {
|
||||||
|
"qq": ""
|
||||||
|
},
|
||||||
|
"declaration": {
|
||||||
|
"ads": "无",
|
||||||
|
"data": "无",
|
||||||
|
"permissions": "无"
|
||||||
|
},
|
||||||
|
"npmurl": ""
|
||||||
|
},
|
||||||
|
"uni_modules": {
|
||||||
|
"dependencies": [],
|
||||||
|
"encrypt": [],
|
||||||
|
"platforms": {
|
||||||
|
"cloud": {
|
||||||
|
"tcb": "y",
|
||||||
|
"aliyun": "y"
|
||||||
|
},
|
||||||
|
"client": {
|
||||||
|
"Vue": {
|
||||||
|
"vue2": "y",
|
||||||
|
"vue3": "y"
|
||||||
|
},
|
||||||
|
"App": {
|
||||||
|
"app-vue": "y",
|
||||||
|
"app-nvue": "u"
|
||||||
|
},
|
||||||
|
"H5-mobile": {
|
||||||
|
"Safari": "y",
|
||||||
|
"Android Browser": "y",
|
||||||
|
"微信浏览器(Android)": "y",
|
||||||
|
"QQ浏览器(Android)": "y"
|
||||||
|
},
|
||||||
|
"H5-pc": {
|
||||||
|
"Chrome": "y",
|
||||||
|
"IE": "y",
|
||||||
|
"Edge": "y",
|
||||||
|
"Firefox": "y",
|
||||||
|
"Safari": "y"
|
||||||
|
},
|
||||||
|
"小程序": {
|
||||||
|
"微信": "y",
|
||||||
|
"阿里": "y",
|
||||||
|
"百度": "y",
|
||||||
|
"字节跳动": "y",
|
||||||
|
"QQ": "y"
|
||||||
|
},
|
||||||
|
"快应用": {
|
||||||
|
"华为": "y",
|
||||||
|
"联盟": "y"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
## 介绍
|
||||||
|
基于uni-app开发的一个普通的提示组件,功能点击提示
|
||||||
|
|
||||||
|
|
||||||
|
## 友情链接
|
||||||
|
#### vue-admin-perfect —— [企业级、通用型中后台前端解决方案 预览地址](http://182.61.5.190:8889/)
|
||||||
|
#### vue-admin-perfect —— [企业级、通用型中后台前端解决方案(基于vue3.0+TS+Element-Plus 最新版,同时支持电脑,手机,平板)](https://github.com/zouzhibin/vue-admin-perfect)
|
||||||
|
|
||||||
|
|
||||||
|
## Tooltip 属性
|
||||||
|
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
||||||
|
| ------ | ------ | ------ | ------ | ------ |
|
||||||
|
| visible | 是否显示 tooltip,支持 .sync 修饰符 | Boolean |visible.sync | false |
|
||||||
|
| content | 显示的内容,也可以通过 slot#content | String |-- | ' ' |
|
||||||
|
| color | 自定义主题颜色| String |'#303133' | '#303133' |
|
||||||
|
| placement | Tooltip 的出现位置 | String |top/top-start/top-end/bottom/bottom-start/bottom-end/left/left-start/left-end/right/right-start/right-end | top |
|
||||||
|
|
||||||
|
|
||||||
|
## Slot 插槽
|
||||||
|
| 参数 | 说明 |
|
||||||
|
| ------ | ------ |
|
||||||
|
| content | 显示提示框得内容 |
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
因为uniapp 中小程序中没有window对象,需手动调用 关闭
|
||||||
|
第一种办法关闭:this.$refs.tooltip.close()
|
||||||
|
第二种办法关闭:visible.sync = false
|
||||||
|
|
||||||
|
```
|