2023-07-12 17:46:47 +08:00
< template >
< view class = "opinionAdd" >
2023-08-24 17:06:35 +08:00
< head -view :title ="title" url = "/pages/shipWork/opinion" > < / h e a d - v i e w >
2023-11-01 18:40:05 +08:00
< view class = "container contentFixed" >
< view class = "info" >
< view class = "ul" >
< view class = "li" >
< p > 船名 : < / p >
< text > { { shipInfo . vslCnname } } < / text >
< / view >
< view class = "li" >
< p > < text class = "required" v-if ="obj.state != 'look'" > * < / text > 航 次 : < / p >
< uni -data -select v -model = " vvyId " :localdata ="hcList" @change ="hcChange"
v - if = "obj.state != 'look'" > < / u n i - d a t a - s e l e c t >
< text v-else > {{ vvyName }} < / text >
< / view >
< view class = "li" >
< p > 进出口 : < / p >
< text > { { importExportFlagName } } < / text >
< / view >
< view class = "li" >
< p > 贸易类型 : < / p >
2023-11-21 17:43:02 +08:00
< text > { { spmTradeName } } < / text >
2023-11-01 18:40:05 +08:00
< / view >
< view class = "li" >
< p > < text class = "required" v-if ="obj.state != 'look'" > * < / text > 泊 位 : < / p >
< uni -data -select v -model = " bthId " :localdata ="bwList" @change ="bwChange"
v - if = "obj.state != 'look'" > < / u n i - d a t a - s e l e c t >
< text v-else > {{ bthIdName }} < / text >
< / view >
< view class = "li" >
< p > < text class = "required" v-if ="obj.state != 'look'" > * < / text > 装 卸 类 型 : < / p >
< uni -data -select v -model = " handlingType " :localdata ="zxList" @change ="zxChange"
v - if = "obj.state != 'look'" > < / u n i - d a t a - s e l e c t >
< text v-else > {{ handlingName }} < / text >
< / view >
< view class = "li" >
< p > < text class = "required" v-if ="obj.state != 'look'" > * < / text > 车 辆 数 量 : < / p >
< uni -number -box v -model = " vehiclesNumber " :max ="1000000000" v -if = " obj.state ! = ' look ' " / >
< text v-else > {{ vehiclesNumber }} < / text >
< / view >
< view class = "li" >
< p > < text class = "required" v-if ="obj.state != 'look'" > * < / text > 备 件 数 量 : < / p >
< uni -number -box v -model = " spareNumber " :max ="1000000000" v -if = " obj.state ! = ' look ' " / >
< text v-else > {{ spareNumber }} < / text >
< / view >
< view class = "li" >
< p > < text class = "required" v-if ="obj.state != 'look'" > * < / text > 作 业 日 期 : < / p >
< uni -datetime -picker v -model = " operationDate " type = "date" :clear-icon ="false" @change ="changeLog"
v - if = "obj.state != 'look'" : border = "false" / >
< text v-else > {{ operationDate }} < / text >
< / view >
2023-07-20 17:16:08 +08:00
< / view >
2023-11-01 18:40:05 +08:00
< uni -popup ref = "popup" type = "dialog" >
< uni -popup -dialog type = "error" confirmText = "确定" title = "通知" content = "是否删除此条数据"
@ confirm = "delConfirm" > < / u n i - p o p u p - d i a l o g >
< / u n i - p o p u p >
< view class = "btnList" >
< van -button type = "default" @click ="cancel" > 取 消 < / van -button >
< van -button type = "danger" v-if ="obj.state == 'look'" @click="del" > 删 除 < / van -button >
< van -button type = "info" v -if = " obj.state = = ' add ' | | obj.state = = ' edit ' "
@ click = "save" > 保存 < / v a n - b u t t o n >
< van -button type = "info" v-if ="obj.state == 'look'" @click="toGo('edit')" > 编 辑 < / van -button >
2023-07-20 17:16:08 +08:00
< / view >
2023-07-12 17:46:47 +08:00
< / view >
< / view >
< / view >
< / template >
< script >
2023-08-01 09:32:45 +08:00
import sqlite from "../../common/sqlite.js"
2023-08-01 16:32:50 +08:00
import api from "../../common/api.js"
2023-08-01 16:50:18 +08:00
import {
v4 as uuidv4
} from 'uuid' ;
2023-07-12 17:46:47 +08:00
export default {
data ( ) {
return {
2023-08-24 16:22:29 +08:00
title : "" ,
2023-08-23 17:42:44 +08:00
shipInfo : { } ,
2023-07-12 17:46:47 +08:00
obj : { } ,
2023-11-01 18:40:05 +08:00
vtpId : "" ,
2023-07-20 17:16:08 +08:00
opinionRow : { } ,
opinionRowIndex : 0 ,
2023-07-12 17:46:47 +08:00
// 航次下拉框
2023-07-20 17:16:08 +08:00
vvyId : "" ,
vvyName : "" ,
hcList : [ ] ,
2023-07-12 17:46:47 +08:00
// 泊位下拉框
2023-07-20 17:16:08 +08:00
bthId : "" ,
bthIdName : "" ,
bwList : [ ] ,
2023-07-12 17:46:47 +08:00
// 装卸类型下拉框
2023-09-23 20:16:54 +08:00
handlingType : "" ,
2023-11-01 18:40:05 +08:00
handlingName : "" ,
2023-07-20 17:16:08 +08:00
zxList : [ ] ,
2023-07-12 17:46:47 +08:00
// 车辆数量
2023-09-23 20:16:54 +08:00
vehiclesNumber : 0 ,
2023-07-12 17:46:47 +08:00
// 备件数量
2023-09-23 20:16:54 +08:00
spareNumber : 0 ,
2023-07-12 17:46:47 +08:00
// 作业时间
2023-09-23 20:16:54 +08:00
operationDate : [ '' ] ,
2023-08-04 17:06:33 +08:00
2023-11-01 18:40:05 +08:00
// 删除质量意见征询单id
delCsIds : [ ] ,
vvyInfo : [ ] ,
importExportFlagName : "" ,
2023-11-21 17:43:02 +08:00
spmTradeName : "" ,
2023-11-01 18:40:05 +08:00
2023-08-03 15:36:23 +08:00
// 下拉数据
optionData : [ ] ,
2023-07-12 17:46:47 +08:00
}
} ,
onLoad ( options ) {
if ( 'params' in options ) {
// 获取传递的对象参数, 使用decodeURIComponent解码, 并转为对象
this . obj = JSON . parse ( decodeURIComponent ( options . params ) )
}
} ,
2023-07-20 17:16:08 +08:00
mounted ( ) {
if ( this . obj . state == 'edit' || this . obj . state == 'look' ) {
this . getRow ( ) ;
}
2023-08-24 16:22:29 +08:00
if ( this . obj . state == "edit" ) {
2023-09-23 20:16:54 +08:00
this . title = "编辑质量意见征询"
2023-08-24 16:22:29 +08:00
} else if ( this . obj . state == "look" ) {
2023-09-23 20:16:54 +08:00
this . title = "查看质量意见征询"
2023-08-24 16:22:29 +08:00
} else {
2023-09-23 20:16:54 +08:00
this . title = "新增质量意见征询"
2023-08-24 16:22:29 +08:00
}
2023-11-01 18:40:05 +08:00
this . vtpId = uni . getStorageSync ( 'vtpId' )
this . delCsIds = uni . getStorageSync ( "delCsIds" )
2023-08-03 15:36:23 +08:00
this . executeSql1 ( 'shipOption' )
2023-08-23 17:42:44 +08:00
this . executeSql1 ( "shipInfoTable" )
2023-11-01 18:40:05 +08:00
this . executeSql1 ( "voyageScheduleDataDetailRespDTOList" )
2023-07-20 17:16:08 +08:00
} ,
2023-07-12 17:46:47 +08:00
methods : {
2023-08-03 15:36:23 +08:00
// 查
executeSql1 ( tableName ) {
2023-11-01 18:40:05 +08:00
let sql = ` select * from ${ tableName } WHERE vtpId = ' ${ this . vtpId } ' `
2023-08-03 15:36:23 +08:00
sqlite . executeSqlCeshi ( sql ) . then ( ( value ) => {
// 在resolve时执行的回调函数
2023-08-23 17:42:44 +08:00
if ( tableName == 'shipOption' ) {
this . optionData = value
this . getShip ( )
} else if ( tableName == 'shipInfoTable' ) {
this . shipInfo = value [ 0 ]
2023-11-01 18:40:05 +08:00
} else if ( tableName == 'voyageScheduleDataDetailRespDTOList' ) {
this . vvyInfo = value
value . forEach ( ( v , index ) => {
this . hcList . push ( {
text : v . vvyName ,
value : v . vvyId
} )
} )
2023-08-23 17:42:44 +08:00
}
2023-08-03 15:36:23 +08:00
} ) . catch ( ( error ) => {
// 在reject时执行的回调函数
console . error ( error ) ;
} ) ;
} ,
2023-07-20 17:16:08 +08:00
// 获取船只信息
getShip ( ) {
// 装卸类型数据
2023-08-03 15:36:23 +08:00
let zxOption = [ ]
this . optionData . forEach ( ( v , index ) => {
if ( v . dictionariesName == 'handTypeList' ) {
zxOption . push ( v )
}
} )
zxOption . forEach ( ( v , index ) => {
2023-07-20 17:16:08 +08:00
this . zxList . push ( {
text : v . ptrDesc ,
value : v . ptrCode
} )
} )
2023-08-03 15:36:23 +08:00
// 船舶下拉数据
let bwOption = [ ]
this . optionData . forEach ( ( v , index ) => {
if ( v . dictionariesName == 'bthList' ) {
bwOption . push ( v )
}
} )
bwOption . forEach ( ( v , index ) => {
2023-07-20 17:16:08 +08:00
this . bwList . push ( {
2023-08-03 15:36:23 +08:00
text : v . ptrDesc ,
value : v . ptrCode
2023-07-20 17:16:08 +08:00
} )
} )
} ,
// 获取当前行信息
getRow ( ) {
this . opinionRow = uni . getStorageSync ( 'opinionRow' ) ;
this . opinionRowIndex = uni . getStorageSync ( 'opinionRowIndex' ) ;
this . vvyId = this . opinionRow . vvyId
this . vvyName = this . opinionRow . vvyName
2023-11-01 18:40:05 +08:00
this . importExportFlagName = this . opinionRow . importExportFlagName
2023-07-20 17:16:08 +08:00
this . bthId = this . opinionRow . bthId
this . bthIdName = this . opinionRow . bthIdName
2023-09-23 20:16:54 +08:00
this . handlingType = this . opinionRow . handlingType
2023-11-01 18:40:05 +08:00
this . handlingName = this . opinionRow . handlingName
2023-09-23 20:16:54 +08:00
this . vehiclesNumber = this . opinionRow . vehiclesNumber
this . spareNumber = this . opinionRow . spareNumber
this . operationDate = this . opinionRow . operationDate
2023-07-20 17:16:08 +08:00
} ,
2023-07-12 17:46:47 +08:00
// 航次下拉
hcChange ( e ) {
2023-07-20 17:16:08 +08:00
this . vvyId = e ;
this . hcList . forEach ( v => {
if ( v . value == e ) {
this . vvyName = v . text
}
} )
2023-11-01 18:40:05 +08:00
this . vvyInfo . forEach ( v => {
if ( v . vvyId == e ) {
this . importExportFlagName = v . importExportFlagName
2023-11-21 17:43:02 +08:00
this . spmTradeName = v . tradeTypeName
2023-11-01 18:40:05 +08:00
}
} )
2023-07-12 17:46:47 +08:00
} ,
// 泊位下拉
bwChange ( e ) {
2023-07-20 17:16:08 +08:00
this . bthId = e ;
this . bwList . forEach ( v => {
if ( v . value == e ) {
this . bthIdName = v . text
}
} )
2023-07-12 17:46:47 +08:00
} ,
// 装卸类型下拉
zxChange ( e ) {
2023-11-01 18:40:05 +08:00
this . handlingType = e ;
2023-07-20 17:16:08 +08:00
this . zxList . forEach ( v => {
if ( v . value == e ) {
2023-11-01 18:40:05 +08:00
this . handlingName = v . text
2023-07-20 17:16:08 +08:00
}
} )
} ,
// 作业时间
changeLog ( e ) {
2023-09-23 20:16:54 +08:00
this . operationDate = e
2023-07-12 17:46:47 +08:00
} ,
// 取消
cancel ( ) {
uni . navigateTo ( {
url : '/pages/shipWork/opinion'
} )
} ,
2023-07-24 16:56:46 +08:00
// 弹框删除
delConfirm ( ) {
2023-11-01 18:40:05 +08:00
let sql = ` DELETE FROM shipmentQualityConsultationRespList WHERE vqcId = ' ${ this . opinionRow . vqcId } '; `
2023-08-01 09:32:45 +08:00
this . executeSql ( sql )
2023-11-01 18:40:05 +08:00
this . delCsIds . push ( this . opinionRow . vqcId )
uni . setStorageSync ( 'delCsIds' , this . delCsIds ) ;
2023-07-20 17:16:08 +08:00
uni . navigateTo ( {
url : '/pages/shipWork/opinion'
} )
} ,
2023-07-24 16:56:46 +08:00
// 删除
del ( ) {
this . $refs . popup . open ( )
} ,
2023-07-12 17:46:47 +08:00
// 保存
save ( ) {
2023-08-01 09:32:45 +08:00
let date = new Date ( ) . getTime ( )
2023-11-01 18:40:05 +08:00
let vqcId = uuidv4 ( )
2023-08-01 09:32:45 +08:00
let webStatus = 0
2023-08-01 16:32:50 +08:00
let webDate = api . getDate ( date )
2023-07-20 17:16:08 +08:00
if ( this . obj . state == "edit" ) {
2023-08-01 09:32:45 +08:00
let sql =
2023-11-01 18:40:05 +08:00
` UPDATE shipmentQualityConsultationRespList SET vvyId = ' ${ this . vvyId } ', vvyName = ' ${ this . vvyName } ', importExportFlagName = ' ${ this . importExportFlagName } ',
bthId = '${this.bthId}' , bthIdName = '${this.bthIdName}' , handlingType = '${this.handlingType}' ,
handlingName = '${this.handlingName}' , vehiclesNumber = '${this.vehiclesNumber}' , spareNumber = '${this.spareNumber}' ,
operationDate = '${this.operationDate}' , webStatus = '${webStatus}' , webDate = '${webDate}' WHERE vqcId = '${this.opinionRow.vqcId}' ; `
2023-08-01 09:32:45 +08:00
this . executeSql ( sql )
2023-07-20 17:16:08 +08:00
} else if ( this . obj . state == "add" ) {
2023-11-01 18:40:05 +08:00
let sql = ` insert into shipmentQualityConsultationRespList values(' ${ vqcId } ',' ${ this . vtpId } ',' ${ this . vvyId } ',' ${ this . vvyName } ',' ${ this . importExportFlagName } ',
'${this.bthId}' , '${this.bthIdName}' , '${this.handlingType}' , '${this.handlingName}' , '${this.vehiclesNumber}' ,
'${this.spareNumber}' , '${this.operationDate}' , '${webStatus}' , '${webDate}' ) `
2023-08-01 09:32:45 +08:00
this . executeSql ( sql )
2023-07-20 17:16:08 +08:00
}
2023-07-12 17:46:47 +08:00
uni . navigateTo ( {
url : '/pages/shipWork/opinion'
} )
} ,
// 编辑
toGo ( state ) {
this . obj . state = state ;
const params = encodeURIComponent ( JSON . stringify ( this . obj ) ) ;
uni . navigateTo ( {
url : ` /pages/shipWork/opinionAdd?params= ${ params } `
} )
2023-08-01 09:32:45 +08:00
} ,
executeSql ( sql ) {
sqlite . executeSqlCeshi ( sql ) . then ( ( value ) => {
// 在resolve时执行的回调函数
console . log ( value ) ;
} ) . catch ( ( error ) => {
// 在reject时执行的回调函数
console . error ( error ) ;
} ) ;
} ,
2023-07-12 17:46:47 +08:00
}
}
< / script >
< style lang = "less" scoped >
. opinionAdd {
. container {
2023-11-01 18:40:05 +08:00
padding : 16 px ;
background - color : # F6F7F9 ;
. info {
background - color : # fff ;
}
2023-07-12 17:46:47 +08:00
2023-07-20 17:16:08 +08:00
. ul {
2023-07-12 17:46:47 +08:00
display : flex ;
flex - wrap : wrap ;
justify - content : space - between ;
2023-07-20 17:16:08 +08:00
. li {
2023-11-01 18:40:05 +08:00
width : 49 % ;
2023-07-12 17:46:47 +08:00
display : flex ;
2023-11-01 18:40:05 +08:00
justify - content : space - between ;
border - bottom : 1 px solid # EEEEEE ;
padding : 0 16 px ;
height : 56 px ;
line - height : 56 px ;
2023-07-12 17:46:47 +08:00
. required {
color : red ;
margin - right : 5 px ;
}
/deep/ . uni - numbox {
border : 1 px solid # ccc ;
box - sizing : border - box ;
2023-11-01 18:40:05 +08:00
height : 38 px ;
margin - top : 8 px ;
2023-07-12 17:46:47 +08:00
}
/deep/ . uni - numbox - btns {
padding : 0 14 px ;
box - sizing : border - box ;
}
/deep/ . uni - numbox _ _value {
width : 100 px ;
height : 35 px ;
line - height : 35 px ;
background - color : # fff ! important ;
}
2023-11-01 18:40:05 +08:00
/deep/ . uni - date {
flex : none ;
width : 25 % ;
text - align : right ;
display : flex ;
flex - direction : column ;
justify - content : center ;
}
/deep/ . uni - date - x . icon - calendar {
display : none ;
}
/deep/ . uni - date - x {
height : 38 px ;
}
/deep/ . uni - stat _ _select {
flex : none ;
width : 30 % ;
}
/deep/ . uni - select {
border : none ;
}
/deep/ . uni - select _ _input - text {
text - align : right ;
padding - right : 10 px ;
}
2023-07-12 17:46:47 +08:00
}
}
. btnList {
display : flex ;
justify - content : center ;
/deep/ . van - button {
margin : 30 px 20 px ;
width : 120 px ;
height : 50 px ;
}
}
}
}
< / style >