|
@@ -16,7 +16,7 @@
|
|
<script src="../../static/kj/upload-util.js"></script>
|
|
<script src="../../static/kj/upload-util.js"></script>
|
|
<style type="text/css">
|
|
<style type="text/css">
|
|
.c-panel .el-form .c-label{width: 7em !important;}
|
|
.c-panel .el-form .c-label{width: 7em !important;}
|
|
- .c-panel .el-form .el-input, .c-panel .el-form .el-textarea__inner{width: 250px;}
|
|
|
|
|
|
+ .c-panel .el-form .c-panel .el-form {width: 180px;}
|
|
</style>
|
|
</style>
|
|
</head>
|
|
</head>
|
|
<body>
|
|
<body>
|
|
@@ -26,44 +26,71 @@
|
|
<div class="c-panel">
|
|
<div class="c-panel">
|
|
<div class="c-title" v-if="id == 0">数据添加</div>
|
|
<div class="c-title" v-if="id == 0">数据添加</div>
|
|
<div class="c-title" v-else>数据修改</div>
|
|
<div class="c-title" v-else>数据修改</div>
|
|
- <el-form v-if="m">
|
|
|
|
|
|
+ <el-form v-if="m" label-position="left">
|
|
<el-row>
|
|
<el-row>
|
|
- <el-col span=12>
|
|
|
|
- <div class="c-item">
|
|
|
|
- <label class="c-label">客户名称:</label>
|
|
|
|
- <el-autocomplete
|
|
|
|
- v-model="m.customerName"
|
|
|
|
- @select="handleSelectCustomer"
|
|
|
|
- value-key='name'
|
|
|
|
- :fetch-suggestions="queryCustomerAsync">
|
|
|
|
- </el-autocomplete>
|
|
|
|
- </div>
|
|
|
|
- <div class="c-item">
|
|
|
|
- <label class="c-label">车牌号:</label>
|
|
|
|
- <el-autocomplete
|
|
|
|
- v-model="m.cardNo"
|
|
|
|
- @select="handleSelectCar"
|
|
|
|
- value-key='cardNo'
|
|
|
|
- :fetch-suggestions="queryCarAsync">
|
|
|
|
- </el-autocomplete>
|
|
|
|
- </div>
|
|
|
|
- <sa-item type="text" name="车规格" v-model="m.cardSize" br></sa-item>
|
|
|
|
- <sa-item type="num" name="载重(kg)" v-model="m.netWeight" br></sa-item>
|
|
|
|
- <sa-item type="text" name="运输货品" v-model="m.goodsName" br></sa-item>
|
|
|
|
|
|
+ <el-col span=10>
|
|
|
|
+ <el-card class="box-card">
|
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
|
+ <span>基本资料</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div>
|
|
|
|
+ <div class="c-item" v-show="currentCustomerId==1">
|
|
|
|
+ <label class="c-label">客户:</label>
|
|
|
|
+ <el-select v-model="m.customerId" placeholder="请选择">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in customerList"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.name"
|
|
|
|
+ :value="item.id">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="c-item">
|
|
|
|
+ <label class="c-label">车牌号:</label>
|
|
|
|
+ <el-autocomplete
|
|
|
|
+ v-model="m.cardNo"
|
|
|
|
+ @select="handleSelectCar"
|
|
|
|
+ value-key='cardNo'
|
|
|
|
+ :fetch-suggestions="queryCarAsync">
|
|
|
|
+ </el-autocomplete>
|
|
|
|
+ </div>
|
|
|
|
+ <sa-item type="text" name="车规格" v-model="m.cardSize" br></sa-item>
|
|
|
|
+ <sa-item type="text" name="运输货品" v-model="m.goodsName" br></sa-item>
|
|
|
|
+ <sa-item type="num" name="载重(kg)" v-model="m.netWeight" br></sa-item>
|
|
|
|
+ <div class="c-item">
|
|
|
|
+ <label class="c-label">司机身份证:</label>
|
|
|
|
+ <el-autocomplete
|
|
|
|
+ v-model="m.driverIdCard"
|
|
|
|
+ @select="handleSelectDriver"
|
|
|
|
+ value-key='idCard'
|
|
|
|
+ :fetch-suggestions="queryDriverAsync">
|
|
|
|
+ </el-autocomplete>
|
|
|
|
+ </div>
|
|
|
|
+ <sa-item type="text" name="司机名称" v-model="m.driverName" br></sa-item>
|
|
|
|
+ <sa-item type="text" name="司机联系号码" v-model="m.driverPhone" br></sa-item>
|
|
|
|
+ </div>
|
|
|
|
+ </el-card>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col span=12>
|
|
|
|
- <div class="c-item">
|
|
|
|
- <label class="c-label">司机身份证:</label>
|
|
|
|
- <el-autocomplete
|
|
|
|
- v-model="m.driverIdCard"
|
|
|
|
- @select="handleSelectDriver"
|
|
|
|
- value-key='idCard'
|
|
|
|
- :fetch-suggestions="queryDriverAsync">
|
|
|
|
- </el-autocomplete>
|
|
|
|
- </div>
|
|
|
|
- <sa-item type="text" name="司机名称" v-model="m.driverName" br></sa-item>
|
|
|
|
- <sa-item type="text" name="司机联系号码" v-model="m.driverPhone" br></sa-item>
|
|
|
|
- <sa-item type="date" name="预计入境日期" v-model="m.expectInDay" br></sa-item>
|
|
|
|
|
|
+
|
|
|
|
+ <el-col span=14>
|
|
|
|
+ <el-card class="box-card">
|
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
|
+ <span>业务项</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div>
|
|
|
|
+ <el-form-item v-for="(type,index) in itemTypeList" :label="type.name">
|
|
|
|
+ <el-select v-model="type.itemId" style="width: 120px;" placeholder="请选择">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in type.items"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.itemName"
|
|
|
|
+ :value="item.id">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ <el-input-number style="width: 180px;margin-left: 80px;" v-model="type.num" :min="1" :max="10" size="mini"></el-input-number>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ </el-card>
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<sa-item name="" class="s-ok" br>
|
|
<sa-item name="" class="s-ok" br>
|
|
@@ -96,27 +123,43 @@
|
|
cardSize: '', // 车规格
|
|
cardSize: '', // 车规格
|
|
netWeight: '', // 载重(kg)
|
|
netWeight: '', // 载重(kg)
|
|
goodsName: '', // 商品
|
|
goodsName: '', // 商品
|
|
- goodsCode: '', // 商品编号
|
|
|
|
driverName: '', // 司机名称
|
|
driverName: '', // 司机名称
|
|
- driverId: '', // 司机id
|
|
|
|
driverPhone: '', // 司机联系号码
|
|
driverPhone: '', // 司机联系号码
|
|
driverIdCard: '', // 司机身份证
|
|
driverIdCard: '', // 司机身份证
|
|
payTicket: '', // 支付凭证
|
|
payTicket: '', // 支付凭证
|
|
- expectInDay: '', // 预计进边境日期
|
|
|
|
- realInDay: '', // 实际进边境日期
|
|
|
|
- realInTime: '', // 实际进境时间
|
|
|
|
- payStatus: '', // 支付状态(1=未支付,2=已支付)
|
|
|
|
- payTime: '', // 支付时间
|
|
|
|
- payType: '', // 支付方式(1=线下支付,2现金支付,3=第三方支付)
|
|
|
|
- outDayTime: '', // 离境时间
|
|
|
|
- partMoney: '', // 停车费用
|
|
|
|
- partTime: '', // 停车时常(分)
|
|
|
|
}, // 实体对象
|
|
}, // 实体对象
|
|
customerList:[],
|
|
customerList:[],
|
|
cardList:[],
|
|
cardList:[],
|
|
- driverList:[]
|
|
|
|
|
|
+ driverList:[],
|
|
|
|
+ currentCustomerId:1,
|
|
|
|
+ itemTypeList:[]
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ getItemTypeList(){
|
|
|
|
+ sa.ajax('/TbItemType/getList',function(resp){
|
|
|
|
+ let typeList=resp.data;
|
|
|
|
+ // 初始化数据
|
|
|
|
+ if(this.id > 0) {
|
|
|
|
+ sa.ajax('/TbBusiness/getById?id=' + this.id, function(res) {
|
|
|
|
+ let m=res.data;
|
|
|
|
+ let items=m.items;
|
|
|
|
+ console.log(items);
|
|
|
|
+ for(let i in items){
|
|
|
|
+ let item=items[i];
|
|
|
|
+ for(let j in typeList){
|
|
|
|
+ let type=typeList[j];
|
|
|
|
+ if(item.itemTypeId==type.id){
|
|
|
|
+ type.itemId=item.itemId;
|
|
|
|
+ type.num=item.num;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ this.m = m;
|
|
|
|
+ }.bind(this))
|
|
|
|
+ }
|
|
|
|
+ this.itemTypeList=typeList;
|
|
|
|
+ }.bind(this))
|
|
|
|
+ },
|
|
getCardList(){
|
|
getCardList(){
|
|
sa.ajax('/TbCar/getList', {pageNo:1,pageSize:100}, function(resp) {
|
|
sa.ajax('/TbCar/getList', {pageNo:1,pageSize:100}, function(resp) {
|
|
this.cardList=resp.data;
|
|
this.cardList=resp.data;
|
|
@@ -152,20 +195,42 @@
|
|
this.customerList=resp.data;
|
|
this.customerList=resp.data;
|
|
}.bind(this));
|
|
}.bind(this));
|
|
},
|
|
},
|
|
- queryCustomerAsync(queryString, cb){
|
|
|
|
- let list=this.customerList;
|
|
|
|
- let filterList= list.filter(obj=>obj.name.indexOf(queryString)!==-1);
|
|
|
|
- cb(filterList)
|
|
|
|
- },
|
|
|
|
- handleSelectCustomer(item){
|
|
|
|
- this.m.customerName=item.name;
|
|
|
|
- this.m.customerId=item.id;
|
|
|
|
|
|
+ getCustomer(){
|
|
|
|
+ sa.ajax('/TbCostomer/getCurrentCustomerId', function(resp) {
|
|
|
|
+ let id=resp.data;
|
|
|
|
+ if(id==1){
|
|
|
|
+ this.getCustomerList();
|
|
|
|
+ }else{
|
|
|
|
+ this.m.customerId=id;
|
|
|
|
+ }
|
|
|
|
+ this.currentCustomerId=id;
|
|
|
|
+ }.bind(this));
|
|
},
|
|
},
|
|
// 提交数据
|
|
// 提交数据
|
|
ok: function(){
|
|
ok: function(){
|
|
|
|
+ let itemList=this.itemTypeList.filter(obj=>obj.itemId);
|
|
|
|
+ let list=[];
|
|
|
|
+ for(let i in itemList){
|
|
|
|
+ let item=itemList[i];
|
|
|
|
+ if(!item.num||item.num<=0){
|
|
|
|
+ this.$message({
|
|
|
|
+ message: '请填写【'+item.name+'】数量',
|
|
|
|
+ type: 'error'
|
|
|
|
+ });
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ list.push({
|
|
|
|
+ itemId:item.itemId,
|
|
|
|
+ num:item.num
|
|
|
|
+ })
|
|
|
|
+ }
|
|
// 表单校验
|
|
// 表单校验
|
|
let m = this.m;
|
|
let m = this.m;
|
|
- sa.checkNull(m.customerName, '请输入 [客户名称]');
|
|
|
|
|
|
+ m.itemJson=JSON.stringify(list);
|
|
|
|
+ m.items=[];
|
|
|
|
+ if(this.currentCustomerId==1){
|
|
|
|
+ sa.checkNull(m.customerId, '请选择 [客户名称]');
|
|
|
|
+ }
|
|
sa.checkNull(m.cardNo, '请输入 [车牌号]');
|
|
sa.checkNull(m.cardNo, '请输入 [车牌号]');
|
|
sa.checkNull(m.cardSize, '请输入 [车规格]');
|
|
sa.checkNull(m.cardSize, '请输入 [车规格]');
|
|
sa.checkNull(m.netWeight, '请输入 [载重]');
|
|
sa.checkNull(m.netWeight, '请输入 [载重]');
|
|
@@ -173,7 +238,6 @@
|
|
sa.checkNull(m.driverName, '请输入 [司机名称]');
|
|
sa.checkNull(m.driverName, '请输入 [司机名称]');
|
|
sa.checkNull(m.driverPhone, '请输入 [司机联系号码]');
|
|
sa.checkNull(m.driverPhone, '请输入 [司机联系号码]');
|
|
sa.checkNull(m.driverIdCard, '请输入 [司机身份证]');
|
|
sa.checkNull(m.driverIdCard, '请输入 [司机身份证]');
|
|
- sa.checkNull(m.expectInDay, '请输入 [预计进边境日期]');
|
|
|
|
if(this.id <= 0) { // 添加
|
|
if(this.id <= 0) { // 添加
|
|
sa.ajax('/TbBusiness/add', m, function(res){
|
|
sa.ajax('/TbBusiness/add', m, function(res){
|
|
sa.alert('增加成功', this.clean);
|
|
sa.alert('增加成功', this.clean);
|
|
@@ -195,18 +259,11 @@
|
|
}
|
|
}
|
|
},
|
|
},
|
|
mounted: function(){
|
|
mounted: function(){
|
|
- // 初始化数据
|
|
|
|
- if(this.id > 0) {
|
|
|
|
- sa.ajax('/TbBusiness/getById?id=' + this.id, function(res) {
|
|
|
|
- this.m = res.data;
|
|
|
|
- if(res.data == null) {
|
|
|
|
- sa.alert('未能查找到 id=' + this.id + " 详细数据");
|
|
|
|
- }
|
|
|
|
- }.bind(this))
|
|
|
|
- }
|
|
|
|
- this.getCustomerList();
|
|
|
|
|
|
+
|
|
|
|
+ this.getCustomer();
|
|
this.getCardList();
|
|
this.getCardList();
|
|
this.getDriverList();
|
|
this.getDriverList();
|
|
|
|
+ this.getItemTypeList();
|
|
}
|
|
}
|
|
})
|
|
})
|
|
|
|
|