pad-app/pages/shipWork/shiftAdd.vue

1062 lines
35 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<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>