1062 lines
35 KiB
Vue
1062 lines
35 KiB
Vue
<template>
|
||
<view class="shiftAdd">
|
||
<head-view :title="title"></head-view>
|
||
<view class="container">
|
||
<uni-steps :options="stepList" :active="active" />
|
||
<view class="line"></view>
|
||
<!-- 工班信息 -->
|
||
<template v-if="active == 0">
|
||
<view class="ul ul1">
|
||
<view class="li">
|
||
<p>船名:</p>
|
||
<text>{{shipInfo.vslCnname}}</text>
|
||
</view>
|
||
<view class="li">
|
||
<p><text class="required">*</text>航次:</p>
|
||
<uni-data-select v-model="hcValue" :localdata="hcList" @change="hcChange"></uni-data-select>
|
||
</view>
|
||
<view class="li">
|
||
<p>进出口:</p>
|
||
<text>{{shipInfo.importExportFlagName}}</text>
|
||
</view>
|
||
<view class="li">
|
||
<p>贸易类型:</p>
|
||
<text>{{shipInfo.tradeTypeName}}</text>
|
||
</view>
|
||
<view class="li">
|
||
<p><text class="required">*</text>装卸类型:</p>
|
||
<uni-data-select v-model="zxValue" :localdata="zxList" @change="zxChange"></uni-data-select>
|
||
</view>
|
||
</view>
|
||
<view class="widthLi" v-for="(item,index) in ulList1" :key="index+'ul'">
|
||
<view class="ulTop"><text @click="ulAdd1">添加工班</text><text v-if="index > 0"
|
||
@click="delGb(item,index)">删除</text><van-icon name="arrow-down" /></view>
|
||
<view class="ul">
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>工班:</p>
|
||
<uni-data-select v-model="item.gbValue" :localdata="gbList"
|
||
@change="gbChange(item,index)"></uni-data-select>
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>作业时间 :</p>
|
||
<uni-datetime-picker v-model="item.datetime" type="datetimerange" rangeSeparator="-"
|
||
@change="changeLog(item)" />
|
||
</view>
|
||
<view class="widthLi" v-for="(item2,index2) in item.ulList2" :key="index2+'ul2'">
|
||
<view class="ulTop"><text @click="ulAdd2(index)">添加工班信息</text></text><text v-if="index2 > 0"
|
||
@click="delGb2(item2,index,index2)">删除</text><van-icon name="arrow-down" /></view>
|
||
<view class="ul">
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>车型:</p>
|
||
<uni-data-select v-model="item2.carType" :localdata="cxList"
|
||
@change="cxChange(item,index,item2,index2)"></uni-data-select>
|
||
</view>
|
||
<view class="li">
|
||
<p><text class="required">*</text>数量:</p>
|
||
<uni-number-box @change="numChange" v-model="item2.goodsNumber" :max="1000000000" />
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>装卸方式:</p>
|
||
<uni-data-select v-model="item2.loadingType" :localdata="fsList"
|
||
@change="fsChange(item,index,item2,index2)"></uni-data-select>
|
||
</view>
|
||
<view class="li widthLi">
|
||
<p class="liTitle">备注:</p>
|
||
<uni-easyinput type="textarea" autoHeight v-model="item2.remark"
|
||
placeholder="请输入任务描述(200字以内)" maxlength="200"></uni-easyinput>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<!-- 翻仓信息 -->
|
||
<template v-if="active == 1">
|
||
<view v-for="(item,index) in fcUlList" :key="index + 'fc'">
|
||
<view class="ulTop"><text @click="fcAdd">添加翻仓类型</text><text v-if="index > 0"
|
||
@click="delFc(item,index)">删除</text><van-icon name="arrow-down" /></view>
|
||
<view class="ul fcUl">
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>翻仓类型:</p>
|
||
<uni-data-select v-model="item.fcValue" :localdata="fcList"
|
||
@change="fcChange(item,index)"></uni-data-select>
|
||
</view>
|
||
</view>
|
||
<view v-for="(item2,index2) in item.fcUlList2" :key="index2 + 'fc2'">
|
||
<view class="ulTop"><text @click="fcAdd2(index)">添加翻仓信息</text></text><text v-if="index2 > 0"
|
||
@click="delFc2(item2,index,index2)">删除</text><van-icon name="arrow-down" /></view>
|
||
<view class="ul ul2 fcUl2">
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>翻舱起点位置:</p>
|
||
<uni-easyinput v-model="item2.qdValue" placeholder="请输入翻舱起点位置"></uni-easyinput>
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>翻舱终点位置:</p>
|
||
<uni-easyinput v-model="item2.zdValue" placeholder="请输入翻舱终点位置"></uni-easyinput>
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>作业时间 :</p>
|
||
<uni-datetime-picker v-model="item2.datetime" type="datetimerange" rangeSeparator="-"
|
||
@change="changeLog(item2)" />
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>车型:</p>
|
||
<uni-data-select v-model="item2.carType" :localdata="cxList"
|
||
@change="fccxChange(index,item2,index2)"></uni-data-select>
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>数量:</p>
|
||
<uni-number-box v-model="item2.goodsNumber" :max="1000000000" />
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>体积:</p>
|
||
<uni-number-box v-model="item2.tjValue" :max="1000000000" />
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>重量:</p>
|
||
<uni-number-box v-model="item2.zlValue" :max="1000000000" />
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<!-- 其他信息 -->
|
||
<template v-if="active == 2">
|
||
<view class="otherWork">
|
||
<p class="title">辅助作业</p>
|
||
<view class="ul">
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>技术工人:</p>
|
||
<uni-number-box v-model="otherObj.jsworker" :max="1000000000" />
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>作业时间 :</p>
|
||
<uni-datetime-picker v-model="otherObj.datetime" type="datetimerange" rangeSeparator="-"
|
||
@change="changeLog(otherObj)" />
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>重量:</p>
|
||
<uni-number-box v-model="otherObj.zlValue" :max="1000000000" />
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>体积:</p>
|
||
<uni-number-box v-model="otherObj.tjValue" :max="1000000000" />
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>普通工人:</p>
|
||
<uni-number-box v-model="otherObj.ptworker" :max="1000000000" />
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>作业时间 :</p>
|
||
<uni-datetime-picker v-model="otherObj.datetime2" type="datetimerange" rangeSeparator="-"
|
||
@change="changeLog(otherObj)" />
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>重量:</p>
|
||
<uni-number-box v-model="otherObj.zlValue2" :max="1000000000" />
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle"><text class="required">*</text>体积:</p>
|
||
<uni-number-box v-model="otherObj.tjValue2" :max="1000000000" />
|
||
</view>
|
||
<view class="li">
|
||
<p class="liTitle">描述:</p>
|
||
<uni-easyinput type="textarea" autoHeight v-model="otherObj.describe"
|
||
placeholder="请输入任务描述(200字以内)" maxlength="200"></uni-easyinput>
|
||
</view>
|
||
</view>
|
||
<p class="title">待工作业</p>
|
||
<view class="ul">
|
||
<view class="li">
|
||
<p class="liTitle">描述:</p>
|
||
<uni-easyinput type="textarea" autoHeight v-model="otherObj.dgWork"
|
||
placeholder="请输入任务描述(200字以内)" maxlength="200"></uni-easyinput>
|
||
</view>
|
||
</view>
|
||
<p class="title">作业备注</p>
|
||
<view class="ul">
|
||
<view class="li">
|
||
<p class="liTitle">描述:</p>
|
||
<uni-easyinput type="textarea" autoHeight v-model="otherObj.remark"
|
||
placeholder="请输入任务描述(200字以内)" maxlength="200"></uni-easyinput>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
<view class="btnList">
|
||
<van-button type="default" @click="cancel">取消</van-button>
|
||
<van-button type="info" @click="back" v-if="active > 0">上一步</van-button>
|
||
<van-button type="info" @click="save" v-if="active == 2">保存</van-button>
|
||
<van-button type="info" @click="next" v-if="active < 2">下一步</van-button>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import sqlite from "../../common/sqlite.js"
|
||
import api from "../../common/api.js"
|
||
import {
|
||
v4 as uuidv4
|
||
} from 'uuid';
|
||
export default {
|
||
data() {
|
||
return {
|
||
title: "",
|
||
shipInfo: {},
|
||
obj: {},
|
||
dataInfo: {},
|
||
shiftRowIndex: 0,
|
||
active: 0,
|
||
stepList: [{
|
||
title: '工班信息'
|
||
},
|
||
{
|
||
title: '翻舱信息'
|
||
},
|
||
{
|
||
title: '其他信息'
|
||
}
|
||
],
|
||
|
||
// 工班信息
|
||
// 航次下拉框
|
||
hcValue: "",
|
||
hcTextValue: "",
|
||
hcList: [],
|
||
// 装卸类型下拉框
|
||
zxValue: "",
|
||
zxTextValue: "",
|
||
zxList: [],
|
||
ulList1: [],
|
||
// 工班下拉框
|
||
gbList: [],
|
||
// 车型下拉
|
||
cxList: [],
|
||
// 装卸方式下拉
|
||
fsList: [],
|
||
|
||
// 翻仓信息
|
||
// 翻仓类型下拉
|
||
fcList: [],
|
||
fcUlList: [{
|
||
fcValue: "",
|
||
fcTextValue: "",
|
||
fcUlList2: [{
|
||
qdValue: "",
|
||
zdValue: "",
|
||
carType: "",
|
||
carTypeName: "",
|
||
datetime: ['', ''],
|
||
startTime: "",
|
||
endTime: "",
|
||
goodsNumber: 0,
|
||
tjValue: 0,
|
||
zlValue: 0,
|
||
editStatus: 0,
|
||
}],
|
||
}],
|
||
|
||
// 其他信息
|
||
otherObj: {
|
||
webId: '',
|
||
contactId: '',
|
||
jsworker: '',
|
||
datetime: ['', ''],
|
||
startTime: '',
|
||
endTime: '',
|
||
zlValue: '',
|
||
tjValue: '',
|
||
ptworker: '',
|
||
datetime2: '',
|
||
startTime2: '',
|
||
endTime2: '',
|
||
zlValue2: '',
|
||
tjValue2: '',
|
||
describe: '',
|
||
dgWork: '',
|
||
remark: ''
|
||
},
|
||
// 下拉数据
|
||
optionData: [],
|
||
|
||
contactId: "",
|
||
aId: "",
|
||
// 工班删除ids
|
||
shiftDelList: [],
|
||
// 工班信息删除ids
|
||
shiftInfoDelList: [],
|
||
// 翻仓信息删除ids
|
||
fcInfoDelList: [],
|
||
}
|
||
},
|
||
onLoad(options) {
|
||
if ('params' in options) {
|
||
// 获取传递的对象参数,使用decodeURIComponent解码,并转为对象
|
||
this.obj = JSON.parse(decodeURIComponent(options.params))
|
||
}
|
||
},
|
||
mounted() {
|
||
this.executeSql2('shipOption')
|
||
this.executeSql2('shipInfoTable')
|
||
if (this.obj.state == 'edit') {
|
||
this.title = "编辑工班信息"
|
||
this.dataInfo = uni.getStorageSync('shiftRow')
|
||
this.contactId = this.dataInfo[0].contactId
|
||
this.aId = this.dataInfo[0].aId
|
||
this.ulList1 = []
|
||
this.editData();
|
||
} else if (this.obj.state == 'add') {
|
||
this.title = "新增工班信息"
|
||
this.ulList1 = [{
|
||
gbValue: "",
|
||
gbTextValue: "",
|
||
datetime: ['', ''],
|
||
startTime: "",
|
||
endTime: "",
|
||
ulList2: [{
|
||
carType: "",
|
||
carTypeName: "",
|
||
goodsNumber: 0,
|
||
loadingType: "",
|
||
loadingTypeName: "",
|
||
remark: "",
|
||
}]
|
||
}]
|
||
}
|
||
},
|
||
methods: {
|
||
// 查
|
||
executeSql2(tableName) {
|
||
let sql = `select * from ${tableName};`
|
||
sqlite.executeSqlCeshi(sql).then((value) => {
|
||
if (tableName == 'shipOption') {
|
||
this.optionData = value
|
||
this.getShip()
|
||
} else {
|
||
this.shipInfo = value[0]
|
||
}
|
||
})
|
||
},
|
||
executeSql1(tableName) {
|
||
let sql = `select * from ${tableName} WHERE aId = '${this.aId}';`
|
||
sqlite.executeSqlCeshi(sql).then((value) => {
|
||
// 在resolve时执行的回调函数
|
||
if (tableName == 'workMessageRespList') {
|
||
this.hcValue = value[0].vvyId
|
||
this.hcTextValue = value[0].vvyName
|
||
this.zxValue = value[0].loadType
|
||
this.zxTextValue = value[0].loadTypeName
|
||
this.ulList1 = []
|
||
value.forEach((v, index) => {
|
||
let obj = {
|
||
webId: v.webId,
|
||
contactId: v.contactId,
|
||
datetime: [v.workStartTime, v.workEndTime],
|
||
startTime: v.workStartTime,
|
||
endTime: v.workEndTime,
|
||
gbValue: v.pwcType,
|
||
gbTextValue: v.pwcTypeName,
|
||
ulList2: []
|
||
}
|
||
this.getData(obj)
|
||
})
|
||
} else if (tableName == 'retallyMessageRespList') {
|
||
let arr = [];
|
||
value.forEach(item => {
|
||
if (!arr[item.retallyType]) {
|
||
arr[item.retallyType] = {
|
||
webId: item.webId,
|
||
contactId: item.contactId,
|
||
fcValue: item.retallyType,
|
||
fcTextValue: item.retallyTypeName,
|
||
fcUlList2: []
|
||
};
|
||
}
|
||
arr[item.retallyType].fcUlList2.push({
|
||
webId: item.webId,
|
||
qdValue: item.retallyOrigin,
|
||
zdValue: item.retallyTerminus,
|
||
carType: item.carType,
|
||
carTypeName: item.carTypeName,
|
||
datetime: [item.retallyStartTime, item.retallyEndTime],
|
||
startTime: item.retallyStartTime,
|
||
endTime: item.retallyEndTime,
|
||
goodsNumber: item.goodsNumber,
|
||
tjValue: item.goodsVolume,
|
||
zlValue: item.goodsWeight,
|
||
editStatus: item.editStatus,
|
||
});
|
||
});
|
||
this.fcUlList = Object.values(arr);
|
||
} else if (tableName == 'infoRespList') {
|
||
this.otherObj.webId = value[0].webId
|
||
this.otherObj.contactId = value[0].contactId
|
||
this.otherObj.jsworker = value[0].tecNum
|
||
this.otherObj.datetime = [value[0].tecStartTm, value[0].tecEndTm]
|
||
this.otherObj.startTime = value[0].tecStartTm
|
||
this.otherObj.endTime = value[0].tecEndTm
|
||
this.otherObj.zlValue = value[0].tecWeight
|
||
this.otherObj.tjValue = value[0].tecVolume
|
||
this.otherObj.ptworker = value[0].genNum
|
||
this.otherObj.datetime2 = [value[0].genStartTm, value[0].tecEndTm]
|
||
this.otherObj.startTime2 = value[0].genStartTm
|
||
this.otherObj.endTime2 = value[0].genEndTm
|
||
this.otherObj.zlValue2 = value[0].genWeight
|
||
this.otherObj.tjValue2 = value[0].genVolume
|
||
this.otherObj.describe = value[0].auxRemark
|
||
this.otherObj.dgWork = value[0].waitRemark
|
||
this.otherObj.remark = value[0].workRemark
|
||
}
|
||
}).catch((error) => {
|
||
// 在reject时执行的回调函数
|
||
console.error(error);
|
||
});
|
||
},
|
||
getData(obj) {
|
||
let sql = `select * from workMessageRespInfoList WHERE contactId = '${obj.webId}';`
|
||
sqlite.executeSqlCeshi(sql).then((value) => {
|
||
obj.ulList2 = value
|
||
this.ulList1.push(obj)
|
||
}).catch((error) => {
|
||
// 在reject时执行的回调函数
|
||
console.error(error);
|
||
});
|
||
},
|
||
// 获取船只信息
|
||
getShip() {
|
||
// this.shipInfo = uni.getStorageSync('shipInfo')
|
||
// 航次下拉数据
|
||
let hcOption = []
|
||
this.optionData.forEach((v, index) => {
|
||
if (v.dictionariesName == 'vvyList') {
|
||
hcOption.push(v)
|
||
}
|
||
})
|
||
hcOption.forEach((v, index) => {
|
||
this.hcList.push({
|
||
text: v.ptrDesc,
|
||
value: v.ptrCode
|
||
})
|
||
})
|
||
// 装卸类型数据
|
||
let zxOption = []
|
||
this.optionData.forEach((v, index) => {
|
||
if (v.dictionariesName == 'handTypeList') {
|
||
zxOption.push(v)
|
||
}
|
||
})
|
||
zxOption.forEach((v, index) => {
|
||
this.zxList.push({
|
||
text: v.ptrDesc,
|
||
value: v.ptrCode
|
||
})
|
||
})
|
||
// 工班数据
|
||
let gbOption = []
|
||
this.optionData.forEach((v, index) => {
|
||
if (v.dictionariesName == 'shiftList') {
|
||
gbOption.push(v)
|
||
}
|
||
})
|
||
gbOption.forEach((v, index) => {
|
||
this.gbList.push({
|
||
text: v.ptrDesc,
|
||
value: v.ptrCode
|
||
})
|
||
})
|
||
// 车型数据
|
||
let cxOption = []
|
||
this.optionData.forEach((v, index) => {
|
||
if (v.dictionariesName == 'carList') {
|
||
cxOption.push(v)
|
||
}
|
||
})
|
||
cxOption.forEach((v, index) => {
|
||
this.cxList.push({
|
||
text: v.ptrDesc,
|
||
value: v.ptrCode
|
||
})
|
||
})
|
||
// 装卸方式
|
||
let fsOption = []
|
||
this.optionData.forEach((v, index) => {
|
||
if (v.dictionariesName == 'loadTypeList') {
|
||
fsOption.push(v)
|
||
}
|
||
})
|
||
fsOption.forEach((v, index) => {
|
||
this.fsList.push({
|
||
text: v.ptrDesc,
|
||
value: v.ptrCode
|
||
})
|
||
})
|
||
// 翻仓类型
|
||
let fcOption = []
|
||
this.optionData.forEach((v, index) => {
|
||
if (v.dictionariesName == 'turnoverTypeList') {
|
||
fcOption.push(v)
|
||
}
|
||
})
|
||
fcOption.forEach((v, index) => {
|
||
this.fcList.push({
|
||
text: v.ptrDesc,
|
||
value: v.ptrCode
|
||
})
|
||
})
|
||
},
|
||
//状态为编辑获取数据
|
||
editData() {
|
||
this.executeSql1('workMessageRespList')
|
||
this.executeSql1('retallyMessageRespList')
|
||
this.executeSql1('infoRespList')
|
||
},
|
||
// 工班信息相关
|
||
// 航次下拉
|
||
hcChange(e) {
|
||
this.hcValue = e;
|
||
this.hcList.forEach(v => {
|
||
if (v.value == e) {
|
||
this.hcTextValue = v.text
|
||
}
|
||
})
|
||
},
|
||
// 装卸类型下拉
|
||
zxChange(e) {
|
||
this.zxValue = e;
|
||
this.zxList.forEach(v => {
|
||
if (v.value == e) {
|
||
this.zxTextValue = v.text
|
||
}
|
||
})
|
||
},
|
||
// 工班信息添加
|
||
ulAdd1() {
|
||
this.ulList1.push({
|
||
datetime: ['', ''],
|
||
gbValue: "",
|
||
gbTextValue: "",
|
||
ulList2: [{
|
||
carType: "",
|
||
carTypeName: "",
|
||
goodsNumber: 0,
|
||
loadingType: "",
|
||
loadingTypeName: "",
|
||
remark: "",
|
||
}],
|
||
})
|
||
},
|
||
ulAdd2(index) {
|
||
this.ulList1[index].ulList2.push({
|
||
carType: "",
|
||
carTypeName: "",
|
||
goodsNumber: 0,
|
||
loadingType: "",
|
||
loadingTypeName: "",
|
||
remark: "",
|
||
})
|
||
},
|
||
// 工班下拉
|
||
gbChange(item, index) {
|
||
this.ulList1[index].gbValue = item.gbValue
|
||
this.gbList.forEach(v => {
|
||
if (v.value == item.gbValue) {
|
||
item.gbTextValue = v.text
|
||
}
|
||
})
|
||
},
|
||
// 作业时间
|
||
changeLog(item) {
|
||
// item.datetime[0].slice(0, item.datetime[0].length - 3)
|
||
item.startTime = item.datetime[0]
|
||
item.endTime = item.datetime[1]
|
||
item.startTime2 = item.datetime2[0]
|
||
item.endTime2 = item.datetime2[1]
|
||
},
|
||
// 工班信息删除
|
||
delGb(item, index) {
|
||
this.ulList1.splice(index, 1)
|
||
if (item.webId != null) {
|
||
this.shiftDelList.push(item.webId)
|
||
this.shiftDelList = Array.from(new Set(this.shiftDelList))
|
||
item.ulList2.forEach(v => {
|
||
this.shiftInfoDelList.push(v.webId)
|
||
})
|
||
this.shiftInfoDelList = Array.from(new Set(this.shiftInfoDelList))
|
||
}
|
||
},
|
||
delGb2(item2, index, index2) {
|
||
this.ulList1[index].ulList2.splice(index2, 1)
|
||
if (item2.webId != null) {
|
||
this.shiftInfoDelList.push(item2.webId)
|
||
this.shiftInfoDelList = Array.from(new Set(this.shiftInfoDelList))
|
||
}
|
||
},
|
||
// 车型下拉
|
||
cxChange(item, index, item2, index2) {
|
||
this.ulList1[index].ulList2[index2].carType = item2.carType
|
||
this.cxList.forEach(v => {
|
||
if (v.value == item2.carType) {
|
||
item2.carTypeName = v.text
|
||
}
|
||
})
|
||
},
|
||
// 数量
|
||
numChange(val) {},
|
||
// 装卸方式下拉
|
||
fsChange(item, index, item2, index2) {
|
||
this.ulList1[index].ulList2[index2].loadingType = item2.loadingType
|
||
this.fsList.forEach(v => {
|
||
if (v.value == item2.loadingType) {
|
||
item2.loadingTypeName = v.text
|
||
}
|
||
})
|
||
},
|
||
|
||
// 翻仓信息
|
||
// 翻仓类型下拉
|
||
fcChange(item, index) {
|
||
this.fcUlList[index].fcValue = item.fcValue
|
||
this.fcList.forEach(v => {
|
||
if (v.value == item.fcValue) {
|
||
item.fcTextValue = v.text
|
||
}
|
||
})
|
||
},
|
||
// 翻仓车型
|
||
fccxChange(index, item2, index2) {
|
||
this.fcUlList[index].fcUlList2[index2].carType = item2.carType
|
||
this.cxList.forEach(v => {
|
||
if (v.value == item2.carType) {
|
||
item2.carTypeName = v.text
|
||
}
|
||
})
|
||
},
|
||
// 翻仓add
|
||
fcAdd() {
|
||
this.fcUlList.push({
|
||
fcValue: "",
|
||
fcTextValue: "",
|
||
fcUlList2: [{
|
||
qdValue: "",
|
||
zdValue: "",
|
||
carType: "",
|
||
carTypeName: "",
|
||
datetime: ['', ''],
|
||
startTime: "",
|
||
endTime: "",
|
||
goodsNumber: 0,
|
||
tjValue: 0,
|
||
zlValue: 0,
|
||
editStatus: 0,
|
||
}],
|
||
})
|
||
},
|
||
fcAdd2(index) {
|
||
this.fcUlList[index].fcUlList2.push({
|
||
qdValue: "",
|
||
zdValue: "",
|
||
carType: "",
|
||
carTypeName: "",
|
||
datetime: ['', ''],
|
||
startTime: "",
|
||
endTime: "",
|
||
goodsNumber: 0,
|
||
tjValue: 0,
|
||
zlValue: 0,
|
||
editStatus: 0,
|
||
})
|
||
},
|
||
// 翻仓删除
|
||
delFc(item, index) {
|
||
this.fcUlList.splice(index, 1)
|
||
if (item.webId != null) {
|
||
item.fcUlList2.forEach(v => {
|
||
this.fcInfoDelList.push(v.webId)
|
||
})
|
||
this.fcInfoDelList = Array.from(new Set(this.fcInfoDelList))
|
||
}
|
||
},
|
||
delFc2(item2, index, index2) {
|
||
this.fcUlList[index].fcUlList2.splice(index2, 1)
|
||
if (item2.webId != null) {
|
||
this.fcInfoDelList.push(item2.webId)
|
||
this.fcInfoDelList = Array.from(new Set(this.fcInfoDelList))
|
||
}
|
||
},
|
||
// 取消
|
||
cancel() {
|
||
uni.setStorageSync('tabsType', 1);
|
||
uni.navigateTo({
|
||
url: '/pages/shipWork/mixWork'
|
||
})
|
||
},
|
||
// 上一步
|
||
back() {
|
||
this.active = this.active - 1
|
||
},
|
||
// 下一步
|
||
next() {
|
||
this.active = this.active + 1
|
||
},
|
||
// 保存
|
||
save() {
|
||
let date = new Date().getTime()
|
||
let contactId = this.shipInfo.webId
|
||
let webStatus = "0"
|
||
let editStatus = 1
|
||
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}',
|
||
loadType = '${this.zxValue}',loadTypeName = '${this.zxTextValue}',pwcType = '${this.ulList1[i].gbValue}',
|
||
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}';`
|
||
this.executeSql(sql)
|
||
for (let j = 0; j < this.ulList1[i].ulList2.length; j++) {
|
||
if (this.ulList1[i].ulList2[j].webId != '' && this.ulList1[i].ulList2[j].webId != null) {
|
||
let sql2 =
|
||
`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}',
|
||
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}';`
|
||
this.executeSql(sql2)
|
||
} else {
|
||
let webId2 = uuidv4()
|
||
let webDate = api.getDate(date)
|
||
let sql2 = `insert into workMessageRespInfoList values('${webId2}','${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].loadingTypeName}','${this.ulList1[i].ulList2[j].remark}',
|
||
'${this.shipInfo.tradeTypeName}','${this.shipInfo.importExportFlagName}',
|
||
'${this.shipInfo.vslCnname}','${webStatus}','${webDate}')`
|
||
this.executeSql(sql2)
|
||
}
|
||
}
|
||
} else {
|
||
let webId = uuidv4()
|
||
let webDate = api.getDate(date)
|
||
let sql = `insert into workMessageRespList values('${webId}','${contactId}','${this.aId}','${this.hcValue}',
|
||
'${this.hcTextValue}','${this.zxValue}','${this.zxTextValue}','${this.ulList1[i].gbValue}',
|
||
'${this.ulList1[i].gbTextValue}','${this.ulList1[i].startTime}','${this.ulList1[i].endTime}',
|
||
'${this.shipInfo.tradeTypeName}',
|
||
'${this.shipInfo.importExportFlagName}','${this.shipInfo.vslCnname}',
|
||
'${webStatus}','${webDate}')`
|
||
this.executeSql(sql)
|
||
for (let j = 0; j < this.ulList1[i].ulList2.length; j++) {
|
||
if (this.ulList1[i].ulList2[j].webId != '' && this.ulList1[i].ulList2[j].webId != null) {
|
||
let sql2 =
|
||
`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}',
|
||
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}';`
|
||
this.executeSql(sql2)
|
||
} else {
|
||
let webId2 = uuidv4()
|
||
let webDate = api.getDate(date)
|
||
let sql2 = `insert into workMessageRespInfoList values('${webId2}','${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].loadingTypeName}','${this.ulList1[i].ulList2[j].remark}',
|
||
'${this.shipInfo.tradeTypeName}','${this.shipInfo.importExportFlagName}',
|
||
'${this.shipInfo.vslCnname}','${webStatus}','${webDate}')`
|
||
this.executeSql(sql2)
|
||
}
|
||
}
|
||
}
|
||
}
|
||
// 翻仓信息
|
||
for (let i = 0; i < this.fcUlList.length; i++) {
|
||
if (this.fcUlList[i].webId != null) {
|
||
for (let j = 0; j < this.fcUlList[i].fcUlList2.length; j++) {
|
||
let webId = uuidv4()
|
||
let webDate = api.getDate(date)
|
||
if (this.fcUlList[i].fcUlList2[j].editStatus != 0) {
|
||
let sql =
|
||
`UPDATE retallyMessageRespList SET vvyId = '${this.hcValue}', vvyName = '${this.hcTextValue}',
|
||
retallyType = '${this.fcUlList[i].fcValue}',retallyTypeName = '${this.fcUlList[i].fcTextValue}',
|
||
retallyOrigin = '${this.fcUlList[i].fcUlList2[j].qdValue}', retallyTerminus = '${this.fcUlList[i].fcUlList2[j].zdValue}',
|
||
retallyStartTime = '${this.fcUlList[i].fcUlList2[j].startTime}', retallyEndTime = '${this.fcUlList[i].fcUlList2[j].endTime}',
|
||
carType = '${this.fcUlList[i].fcUlList2[j].carType}',carTypeName = '${this.fcUlList[i].fcUlList2[j].carTypeName}',
|
||
goodsNumber = '${this.fcUlList[i].fcUlList2[j].goodsNumber}', goodsVolume = '${this.fcUlList[i].fcUlList2[j].tjValue}',
|
||
goodsWeight = '${this.fcUlList[i].fcUlList2[j].zlValue}', webStatus = '${webStatus}',
|
||
webDate = '${webDate}' WHERE webId = '${this.fcUlList[i].fcUlList2[j].webId}';`
|
||
this.executeSql(sql)
|
||
} else {
|
||
let sql =
|
||
`insert into retallyMessageRespList values('${webId}','${this.fcUlList[i].contactId}','${this.aId}','${this.hcValue}','${this.hcTextValue}','${this.fcUlList[i].fcValue}',
|
||
'${this.fcUlList[i].fcTextValue}','${this.fcUlList[i].fcUlList2[j].qdValue}','${this.fcUlList[i].fcUlList2[j].zdValue}',
|
||
'${this.fcUlList[i].fcUlList2[j].startTime}','${this.fcUlList[i].fcUlList2[j].endTime}','${this.fcUlList[i].fcUlList2[j].carType}',
|
||
'${this.fcUlList[i].fcUlList2[j].carTypeName}','${this.fcUlList[i].fcUlList2[j].goodsNumber}','${this.fcUlList[i].fcUlList2[j].tjValue}',
|
||
'${this.fcUlList[i].fcUlList2[j].zlValue}','${this.shipInfo.tradeTypeName}',
|
||
'${this.shipInfo.importExportFlagName}','${this.shipInfo.vslCnname}',
|
||
'${editStatus}','${webStatus}','${webDate}')`
|
||
this.executeSql(sql)
|
||
}
|
||
}
|
||
} else {
|
||
for (let j = 0; j < this.fcUlList[i].fcUlList2.length; j++) {
|
||
let webId = uuidv4()
|
||
let webDate = api.getDate(date)
|
||
let sql =
|
||
`insert into retallyMessageRespList values('${webId}','${contactId}','${this.aId}','${this.hcValue}','${this.hcTextValue}','${this.fcUlList[i].fcValue}',
|
||
'${this.fcUlList[i].fcTextValue}','${this.fcUlList[i].fcUlList2[j].qdValue}','${this.fcUlList[i].fcUlList2[j].zdValue}',
|
||
'${this.fcUlList[i].fcUlList2[j].startTime}','${this.fcUlList[i].fcUlList2[j].endTime}','${this.fcUlList[i].fcUlList2[j].carType}',
|
||
'${this.fcUlList[i].fcUlList2[j].carTypeName}','${this.fcUlList[i].fcUlList2[j].goodsNumber}','${this.fcUlList[i].fcUlList2[j].tjValue}',
|
||
'${this.fcUlList[i].fcUlList2[j].zlValue}','${this.shipInfo.tradeTypeName}',
|
||
'${this.shipInfo.importExportFlagName}','${this.shipInfo.vslCnname}',
|
||
'${editStatus}','${webStatus}','${webDate}')`
|
||
this.executeSql(sql)
|
||
}
|
||
}
|
||
}
|
||
// 其他信息
|
||
let webDate = api.getDate(date)
|
||
let sql =
|
||
`UPDATE infoRespList SET vvyId = '${this.hcValue}', vvyName = '${this.hcTextValue}', tecNum = '${this.otherObj.jsworker}',
|
||
tecStartTm = '${this.otherObj.startTime}', tecEndTm = '${this.otherObj.endTime}', tecWeight = '${this.otherObj.zlValue}',
|
||
tecVolume = '${this.otherObj.tjValue}', genNum = '${this.otherObj.ptworker}',
|
||
genStartTm = '${this.otherObj.startTime2}', genEndTm = '${this.otherObj.endTime2}', genWeight = '${this.otherObj.zlValue2}',
|
||
genVolume = '${this.otherObj.tjValue2}', auxRemark = '${this.otherObj.describe}', waitRemark = '${this.otherObj.dgWork}',
|
||
workRemark = '${this.otherObj.remark}', webStatus = '${webStatus}', webDate = '${webDate}' WHERE webId = '${this.otherObj.webId}';`
|
||
this.executeSql(sql)
|
||
// 删除工班信息
|
||
this.shiftDelList.forEach(v => {
|
||
let sql = `DELETE FROM workMessageRespList WHERE webId = '${v}';`
|
||
this.executeSql(sql)
|
||
})
|
||
// 删除工班详细信息
|
||
this.shiftInfoDelList.forEach(v => {
|
||
let sql = `DELETE FROM workMessageRespInfoList WHERE webId = '${v}';`
|
||
this.executeSql(sql)
|
||
})
|
||
// 删除翻仓信息
|
||
this.fcInfoDelList.forEach(v => {
|
||
let sql = `DELETE FROM retallyMessageRespList WHERE webId = '${v}';`
|
||
this.executeSql(sql)
|
||
})
|
||
} else if (this.obj.state == "add") {
|
||
// 工班信息
|
||
let aId = uuidv4()
|
||
for (let i = 0; i < this.ulList1.length; i++) {
|
||
let webId = uuidv4()
|
||
let webDate = api.getDate(date)
|
||
let sql = `insert into workMessageRespList values('${webId}','${contactId}','${aId}','${this.hcValue}',
|
||
'${this.hcTextValue}','${this.zxValue}','${this.zxTextValue}','${this.ulList1[i].gbValue}',
|
||
'${this.ulList1[i].gbTextValue}','${this.ulList1[i].startTime}','${this.ulList1[i].endTime}',
|
||
'${this.shipInfo.tradeTypeName}',
|
||
'${this.shipInfo.importExportFlagName}','${this.shipInfo.vslCnname}',
|
||
'${webStatus}','${webDate}')`
|
||
this.executeSql(sql)
|
||
for (let j = 0; j < this.ulList1[i].ulList2.length; j++) {
|
||
let webId2 = uuidv4()
|
||
let webDate = api.getDate(date)
|
||
let sql2 = `insert into workMessageRespInfoList values('${webId2}','${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].loadingTypeName}','${this.ulList1[i].ulList2[j].remark}',
|
||
'${this.shipInfo.tradeTypeName}','${this.shipInfo.importExportFlagName}',
|
||
'${this.shipInfo.vslCnname}','${webStatus}','${webDate}')`
|
||
this.executeSql(sql2)
|
||
}
|
||
}
|
||
// 翻仓信息
|
||
for (let i = 0; i < this.fcUlList.length; i++) {
|
||
for (let j = 0; j < this.fcUlList[i].fcUlList2.length; j++) {
|
||
let webId = uuidv4()
|
||
let webDate = api.getDate(date)
|
||
let sql =
|
||
`insert into retallyMessageRespList values('${webId}','${contactId}','${aId}','${this.hcValue}','${this.hcTextValue}','${this.fcUlList[i].fcValue}',
|
||
'${this.fcUlList[i].fcTextValue}','${this.fcUlList[i].fcUlList2[j].qdValue}','${this.fcUlList[i].fcUlList2[j].zdValue}',
|
||
'${this.fcUlList[i].fcUlList2[j].startTime}','${this.fcUlList[i].fcUlList2[j].endTime}','${this.fcUlList[i].fcUlList2[j].carType}',
|
||
'${this.fcUlList[i].fcUlList2[j].carTypeName}','${this.fcUlList[i].fcUlList2[j].goodsNumber}','${this.fcUlList[i].fcUlList2[j].tjValue}',
|
||
'${this.fcUlList[i].fcUlList2[j].zlValue}','${this.shipInfo.tradeTypeName}',
|
||
'${this.shipInfo.importExportFlagName}','${this.shipInfo.vslCnname}',
|
||
'${editStatus}','${webStatus}','${webDate}')`
|
||
this.executeSql(sql)
|
||
}
|
||
}
|
||
// 其他信息
|
||
let webId = uuidv4()
|
||
let webDate = api.getDate(date)
|
||
let sql =
|
||
`insert into infoRespList values('${webId}','${contactId}','${aId}','${this.hcValue}','${this.hcTextValue}','${this.otherObj.jsworker}',
|
||
'${this.otherObj.startTime}','${this.otherObj.endTime}','${this.otherObj.zlValue}','${this.otherObj.tjValue}','${this.otherObj.ptworker}',
|
||
'${this.otherObj.startTime2}','${this.otherObj.endTime2}','${this.otherObj.zlValue2}','${this.otherObj.tjValue2}','${this.otherObj.describe}',
|
||
'${this.otherObj.dgWork}','${this.otherObj.remark}','${this.shipInfo.tradeTypeName}',
|
||
'${this.shipInfo.importExportFlagName}','${this.shipInfo.vslCnname}',
|
||
'${webStatus}','${webDate}')`
|
||
this.executeSql(sql)
|
||
}
|
||
uni.setStorageSync('tabsType', 1);
|
||
uni.navigateTo({
|
||
url: '/pages/shipWork/mixWork'
|
||
})
|
||
},
|
||
executeSql(sql) {
|
||
sqlite.executeSqlCeshi(sql).then((value) => {
|
||
// 在resolve时执行的回调函数
|
||
}).catch((error) => {
|
||
// 在reject时执行的回调函数
|
||
console.error(error);
|
||
});
|
||
},
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="less" scoped>
|
||
.shiftAdd {
|
||
.container {
|
||
padding: 30px 20px;
|
||
background-color: #fff;
|
||
|
||
/deep/.uni-steps__row-title {
|
||
font-size: 20px;
|
||
}
|
||
|
||
/deep/.uni-icons {
|
||
font-size: 20px !important;
|
||
}
|
||
|
||
/deep/.uni-steps__row-container {
|
||
margin-top: 10px;
|
||
}
|
||
|
||
.line {
|
||
width: 100%;
|
||
height: 10px;
|
||
background: #f2f2f2;
|
||
margin: 20px 0;
|
||
}
|
||
|
||
.ulTop {
|
||
width: 100%;
|
||
padding: 20px;
|
||
text-align: right;
|
||
border-top: 1px solid #ccc;
|
||
|
||
|
||
text {
|
||
color: #2979ff;
|
||
margin-right: 10px;
|
||
}
|
||
|
||
text:nth-of-type(2) {
|
||
color: red;
|
||
}
|
||
}
|
||
|
||
.fcUl {
|
||
.li {
|
||
border: none;
|
||
margin-bottom: 0;
|
||
|
||
.liTitle {
|
||
width: 120px;
|
||
}
|
||
}
|
||
}
|
||
|
||
.fcUl2 {
|
||
.liTitle {
|
||
width: 120px;
|
||
}
|
||
}
|
||
|
||
.ul {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
justify-content: space-between;
|
||
margin-bottom: 20px;
|
||
|
||
.li {
|
||
width: 44%;
|
||
border-top: 1px solid #ccc;
|
||
border-bottom: 1px solid #ccc;
|
||
display: flex;
|
||
padding: 10px 20px;
|
||
line-height: 35px;
|
||
margin-bottom: 20px;
|
||
|
||
.required {
|
||
color: red;
|
||
margin-right: 5px;
|
||
}
|
||
|
||
.liTitle {
|
||
min-width: 85px;
|
||
text-align: right;
|
||
}
|
||
|
||
/deep/.uni-numbox {
|
||
border: 1px solid #ccc;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
/deep/.uni-numbox-btns {
|
||
padding: 0 14px;
|
||
box-sizing: border-box;
|
||
}
|
||
|
||
/deep/.uni-numbox__value {
|
||
width: 100px;
|
||
height: 35px;
|
||
line-height: 35px;
|
||
background-color: #fff !important;
|
||
}
|
||
}
|
||
|
||
.widthLi {
|
||
width: 100%;
|
||
}
|
||
}
|
||
|
||
.ul2 {
|
||
padding: 0;
|
||
margin-top: 0;
|
||
|
||
.li {
|
||
border: none;
|
||
margin-bottom: 0;
|
||
}
|
||
}
|
||
|
||
.otherWork {
|
||
padding: 0 20px;
|
||
|
||
.title {
|
||
font-size: 16px;
|
||
font-weight: bold;
|
||
padding-left: 10px;
|
||
border-left: 5px solid #2979ff;
|
||
margin-bottom: 20px;
|
||
}
|
||
|
||
.ul {
|
||
.li {
|
||
border: none;
|
||
}
|
||
|
||
.li:last-child {
|
||
width: 100%;
|
||
}
|
||
}
|
||
}
|
||
|
||
.btnList {
|
||
display: flex;
|
||
justify-content: center;
|
||
margin-top: 20px;
|
||
|
||
/deep/ .van-button {
|
||
margin: 30px 20px;
|
||
width: 120px;
|
||
height: 50px;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</style> |