Browse Source

业务录入调整

qzyReal 2 years ago
parent
commit
b327ba0566

+ 40 - 47
app-ui/pages/onely-disinfect/type-business-edit.vue

@@ -25,16 +25,26 @@
           </picker>
         </view>
       </view>
-      <view class="item" v-if="goods.needOwner==1">
-        <view class="l">
-          <text style="color: red;">*</text>
-          货主:
-        </view>
-        <view class="r">
-          <u-input placeholder="输入货主" v-model="form.owner">
-          </u-input>
-        </view>
-      </view>
+     <view class="item" v-if="goods.needOwner==1">
+     	<view class="l">
+     		<text style="color: red;">*</text>
+     		货物:
+     	</view>
+     	<view class="r">
+     		<u-input placeholder="输入货物" v-model="form.businessGoodsName">
+     		</u-input>
+     	</view>
+     </view>
+     <view class="item">
+     	<view class="l">
+     		<text style="color: red;" v-if="goods.needOperateTime">*</text>
+     		件数:
+     	</view>
+     	<view class="r">
+     		<u-input v-model="form.businessGoodsNum" type="number">
+     		</u-input>
+     	</view>
+     </view>
       <view class="item">
         <view class="l">作业人员:</view>
         <view class="r">
@@ -42,15 +52,6 @@
           </u-input>
         </view>
       </view>
-      <view class="item">
-        <view class="l">
-          <text style="color: red;" v-if="goods.needOperateTime">*</text>
-          作业时间:
-        </view>
-        <view class="r">
-          <uni-datetime-picker type="datetime" v-model="form.operateTime"/>
-        </view>
-      </view>
       <view class="item-line">
         <u-row style="height: 40px;">
           <u-col span=4>车辆</u-col>
@@ -436,20 +437,16 @@ export default {
         this.$common.toast('请选择申报单');
         return false;
       }
-      if (!form.owner && goods.needOwner == 1) {
-        this.$common.toast('请填写货主');
-        return false;
-      }
-      let needOperateTime = goods.needOperateTime;
-      let operateTime = form.operateTime;
-      if (!operateTime && needOperateTime == '1') {
-        this.$common.toast('请录入作业时间');
-        return false;
-      }
-      if (operateTime && operateTime.length < 12) {
-        this.$common.toast('请录入准确的作业时间');
-        return false;
-      }
+     if (!form.businessGoodsName && goods.needOwner == 1) {
+     	this.$common.toast('请填写货物');
+     	return false;
+     }
+     let needOperateTime = goods.needOperateTime;
+     let businessGoodsNum = form.businessGoodsNum;
+     if ((!businessGoodsNum || businessGoodsNum <= 0) && needOperateTime == '1') {
+     	this.$common.toast('请填写件数');
+     	return false;
+     }
       let carList = this.car.list;
       if (carList.length == 0) {
         this.$common.toast('请录入车辆');
@@ -480,20 +477,16 @@ export default {
         this.$common.toast('请选择申报单');
         return false;
       }
-      if (!form.owner && goods.needOwner == 1) {
-        this.$common.toast('请填写货主');
-        return false;
-      }
-      let needOperateTime = goods.needOperateTime;
-      let operateTime = form.operateTime;
-      if (!operateTime && needOperateTime == '1') {
-        this.$common.toast('请录入作业时间');
-        return false;
-      }
-      if (operateTime && operateTime.length < 12) {
-        this.$common.toast('请录入准确的作业时间');
-        return false;
-      }
+     if (!form.businessGoodsName && goods.needOwner == 1) {
+     	this.$common.toast('请填写货物');
+     	return false;
+     }
+     let needOperateTime = goods.needOperateTime;
+     let businessGoodsNum = form.businessGoodsNum;
+     if ((!businessGoodsNum || businessGoodsNum <= 0) && needOperateTime == '1') {
+     	this.$common.toast('请填写件数');
+     	return false;
+     }
       let carList = this.car.list;
       if (carList.length == 0) {
         this.$common.toast('请录入车辆');

+ 570 - 573
app-ui/pages/onely-disinfect/type-business.vue

@@ -1,590 +1,587 @@
 <template>
-  <view>
-    <view class="box">
-      <view class="top">
-        <text class="title">{{ goods.name }}</text>
-      </view>
-      <view class="item" v-if="goods.needDeclare==1">
-        <view class="l">
-          <text style="color: red;" v-if="goods.needDeclare==1">*</text>
-          申报单号:
-        </view>
-        <view class="r">
-          <u-input placeholder="申报订单号" v-model="form.declareNo" clearable readonly>
-            <text slot="suffix" style="font-size: 50rpx;" @click="selectDeclare">+</text>
-          </u-input>
-        </view>
-      </view>
-      <view class="item" v-if="goods.needCustomer==1">
-        <view class="l">客户:</view>
-        <view class="r" style="flex: 12;">
-          <picker :disabled="goods.needDeclare==1" v-if="customer.customerList.length>0" class="p-picker"
-                  @change="customerChange($event)" :value="customer.index" :range="customer.customerList"
-                  range-key="name">
-            <text class="p-text">{{ customer.customerList[customer.index].name }}</text>
-          </picker>
-        </view>
-      </view>
-      <view class="item" v-if="goods.needOwner==1">
-        <view class="l">
-          <text style="color: red;">*</text>
-          货主:
-        </view>
-        <view class="r">
-          <u-input placeholder="输入货主" v-model="form.owner">
-          </u-input>
-        </view>
-      </view>
-      <view class="item">
-        <view class="l">作业人员:</view>
-        <view class="r">
-          <u-input placeholder="输入作业人员" v-model="form.operator">
-          </u-input>
-        </view>
-      </view>
-      <view class="item">
-        <view class="l">
-          <text style="color: red;" v-if="goods.needOperateTime">*</text>
-          作业时间:
-        </view>
-        <view class="r">
-          <uni-datetime-picker type="datetime" v-model="form.operateTime"/>
-        </view>
-      </view>
-      <view class="item-line">
-        <u-row style="height: 40px;">
-          <u-col span=4>车辆</u-col>
-          <u-col span=8>
-            <u-button type="primary" text="添加" @click="addCar" icon="plus"
-                      style="width: 60px;height: 26px;" v-if="goods.mulCar==1||car.list.length==0"/>
-          </u-col>
-        </u-row>
-      </view>
-      <view class="item" v-for="(car,index) in car.list" :key="index">
-        <view class="l">车牌:</view>
-        <view class="r">
-          <u-input placeholder="车辆" v-model="car.carNo" readonly>
-            <view slot="suffix" style="display: flex;">
-              <u-icon @click="editCar(car)" size="20" name="edit-pen-fill" color="blue"></u-icon>
-              <u-icon style="margin-left:20rpx;" size="20" @click="delCar(car)" name="close-circle-fill"
-                      color="red"></u-icon>
-            </view>
-          </u-input>
-        </view>
-      </view>
-      <view class="item-line" style="margin-top: 30rpx;">
-        业务项
-      </view>
-      <view class="business-list" v-for="(item,index) in typeList">
-        <u-row>
-          <u-col span="4.5">
-            <text>
-              <text style="color: red;display: inline;" v-if="item.need==1">*</text>
-              {{ item.name }}:
-            </text>
-          </u-col>
-          <u-col span="7.5">
-            <u-row>
-              <u-col span="10" @click="showSelect(item)">
-                {{ item.itemName ? item.itemName : '请选择' }}
-              </u-col>
-              <u-col span="2" @click="item.itemName='',item.itemId=''" v-if="item.itemId">
-                <u-icon style="margin-left:15rpx;display: inline;" size="20" name="close-circle-fill"
-                        color="red"></u-icon>
-              </u-col>
-            </u-row>
-          </u-col>
-        </u-row>
-        <view style="display: flex;position: relative;left: 30%;" v-if="item.itemName">
-          <u-number-box style="margin-left: 15rpx;" :disabled="item.inc==0" v-model="item.num"></u-number-box>
-          <text style="margin-left: 20rpx;color: red;">
-            ¥{{ item.num * item.price }}
-          </text>
-          <view style="margin-left: 60rpx;" @click="remarkFn(item)">
-            备注
-          </view>
-        </view>
-        <u-line></u-line>
-      </view>
-      <view class="hj" v-show="totalPrice>0">
-        合计:{{ totalPrice }}元
-      </view>
-    </view>
-    <u-button type="primary" text="确定" @click="saveFn" v-show="perList.indexOf('tb-flex-business-add')!==-1">
-    </u-button>
-    <!-- ---------------------------------------------------------- -->
-    <view class="bottom-safety"></view>
-    <u-picker :show="show" :columns="columns" @confirm="confirmFn" keyName="itemName" @cancel="show=false">
-    </u-picker>
-  </view>
+	<view>
+		<view class="box">
+			<view class="top">
+				<text class="title">{{ goods.name }}</text>
+			</view>
+			<view class="item" v-if="goods.needDeclare==1">
+				<view class="l">
+					<text style="color: red;" v-if="goods.needDeclare==1">*</text>
+					申报单号:
+				</view>
+				<view class="r">
+					<u-input placeholder="申报订单号" v-model="form.declareNo" clearable readonly>
+						<text slot="suffix" style="font-size: 50rpx;" @click="selectDeclare">+</text>
+					</u-input>
+				</view>
+			</view>
+			<view class="item" v-if="goods.needCustomer==1">
+				<view class="l">客户:</view>
+				<view class="r" style="flex: 12;">
+					<picker :disabled="goods.needDeclare==1" v-if="customer.customerList.length>0" class="p-picker"
+						@change="customerChange($event)" :value="customer.index" :range="customer.customerList"
+						range-key="name">
+						<text class="p-text">{{ customer.customerList[customer.index].name }}</text>
+					</picker>
+				</view>
+			</view>
+			<view class="item" v-if="goods.needOwner==1">
+				<view class="l">
+					<text style="color: red;">*</text>
+					货物:
+				</view>
+				<view class="r">
+					<u-input placeholder="输入货物" v-model="form.businessGoodsName">
+					</u-input>
+				</view>
+			</view>
+			<view class="item">
+				<view class="l">
+					<text style="color: red;" v-if="goods.needOperateTime">*</text>
+					件数:
+				</view>
+				<view class="r">
+					<u-input v-model="form.businessGoodsNum" type="number">
+					</u-input>
+				</view>
+			</view>
+			<view class="item">
+				<view class="l">作业人员:</view>
+				<view class="r">
+					<u-input placeholder="输入作业人员" v-model="form.operator">
+					</u-input>
+				</view>
+			</view>
+
+			<view class="item-line">
+				<u-row style="height: 40px;">
+					<u-col span=4>车辆</u-col>
+					<u-col span=8>
+						<u-button type="primary" text="添加" @click="addCar" icon="plus" style="width: 60px;height: 26px;"
+							v-if="goods.mulCar==1||car.list.length==0" />
+					</u-col>
+				</u-row>
+			</view>
+			<view class="item" v-for="(car,index) in car.list" :key="index">
+				<view class="l">车牌:</view>
+				<view class="r">
+					<u-input placeholder="车辆" v-model="car.carNo" readonly>
+						<view slot="suffix" style="display: flex;">
+							<u-icon @click="editCar(car)" size="20" name="edit-pen-fill" color="blue"></u-icon>
+							<u-icon style="margin-left:20rpx;" size="20" @click="delCar(car)" name="close-circle-fill"
+								color="red"></u-icon>
+						</view>
+					</u-input>
+				</view>
+			</view>
+			<view class="item-line" style="margin-top: 30rpx;">
+				业务项
+			</view>
+			<view class="business-list" v-for="(item,index) in typeList">
+				<u-row>
+					<u-col span="4.5">
+						<text>
+							<text style="color: red;display: inline;" v-if="item.need==1">*</text>
+							{{ item.name }}:
+						</text>
+					</u-col>
+					<u-col span="7.5">
+						<u-row>
+							<u-col span="10" @click="showSelect(item)">
+								{{ item.itemName ? item.itemName : '请选择' }}
+							</u-col>
+							<u-col span="2" @click="item.itemName='',item.itemId=''" v-if="item.itemId">
+								<u-icon style="margin-left:15rpx;display: inline;" size="20" name="close-circle-fill"
+									color="red"></u-icon>
+							</u-col>
+						</u-row>
+					</u-col>
+				</u-row>
+				<view style="display: flex;position: relative;left: 30%;" v-if="item.itemName">
+					<u-number-box style="margin-left: 15rpx;" :disabled="item.inc==0" v-model="item.num"></u-number-box>
+					<text style="margin-left: 20rpx;color: red;">
+						¥{{ item.num * item.price }}
+					</text>
+					<view style="margin-left: 60rpx;" @click="remarkFn(item)">
+						备注
+					</view>
+				</view>
+				<u-line></u-line>
+			</view>
+			<view class="hj" v-show="totalPrice>0">
+				合计:{{ totalPrice }}元
+			</view>
+		</view>
+		<u-button type="primary" text="确定" @click="saveFn" v-show="perList.indexOf('tb-flex-business-add')!==-1">
+		</u-button>
+		<!-- ---------------------------------------------------------- -->
+		<view class="bottom-safety"></view>
+		<u-picker :show="show" :columns="columns" @confirm="confirmFn" keyName="itemName" @cancel="show=false">
+		</u-picker>
+	</view>
 </template>
 
 <script>
-export default {
-  data() {
-    return {
-      show: false,
-      columns: [],
-      customerId: '1',
-      customer: {
-        index: 0,
-        customerList: [],
-      },
-      goods: {
-        id: '',
-        name: '',
-        mulCar: 0
-      },
-      typeList: [],
-      allTypeList: [],
-      form: {
-        customerId: '',
-        declareNo: '',
-        carNo: '',
-        owner: '',
-        carSize: '',
-        goodsName: '',
-        netWeight: '',
-      },
-      show: false,
-      item: {
-        items: []
-      },
-      car: {
-        list: [{
-          id: '',
-          carNo: '',
-          index: 0
-        }]
-      },
-      perList: []
-    }
-  },
-  onShow() {
-    this.perList = uni.getStorageSync('perList')
-  },
-  computed: {
-    totalPrice() {
-      let typeList = this.typeList.filter(obj => obj.itemName);
-      let price = 0;
-      for (let i in typeList) {
-        let type = typeList[i];
-        price = price + type.price * type.num;
-      }
-      return price;
-    },
-  },
-  onLoad(options) {
-    this.customerId = uni.getStorageSync('customerId');
-    this.goods = JSON.parse(options.goodsJson);
-    this.getCustomerList();
-    this.getTypeByGoodsId();
-    let that = this;
-    uni.$on('getSelectDeclare', declare => {
-      that.$nextTick(() => {
-        that.handlerSelectDeclare(declare)
-      })
-    })
-    uni.$on('getCar', car => {
-      that.$nextTick(() => {
-        that.handlerCar(car)
-      })
-    })
-    uni.$on('getRemark', type => {
-      that.$nextTick(() => {
-        that.handlerRemark(type)
-      })
-    })
-  },
-  methods: {
-    remarkFn(type) {
-      let remark = type.remark ? type.remark : '';
-      this.$common.to('/pages/onely-disinfect/add-remark?needRemark=' + type.needRemark + '&typeId=' + type.id +
-          '&remark=' + remark)
-    },
-    handlerRemark(type) {
-      let typeList = this.typeList;
-      typeList.filter(obj => type.typeId == obj.id).forEach(obj => obj.remark = type.remark)
-    },
-    addCar() {
-      this.car.list.push({
-        index: Math.random(),
-        id: '',
-        carNo: '',
-        index: 0
-      })
-    },
-    filterItems(car) {
-      let carList = this.car.list;
-      let filterTypeList = JSON.parse(JSON.stringify(this.allTypeList));
-      if (carList.length == 0) {
-        this.typeList = filterTypeList;
-        return;
-      }
-      if (!car) {
-        let checkList = carList.filter(obj => obj.carType.indexOf('空') === -1);
-        if (checkList.length > 0) {
-          car = checkList[0];
-        }
-      }
-      let carSize = car.carSize;
-      let carType = car.carType;
-      if (carType.indexOf('空') !== -1 && carList.length > 1) {
-        return;
-      }
-      let netWeight = car.netWeight;
-      let tempList = [];
-      for (let i in filterTypeList) {
-        let type = filterTypeList[i];
-        let items = type.items;
-        if (carType) {
-          items = items.filter(item => item.itemType && item.itemType.indexOf(carType) !== -1);
-        }
-        if (carSize && carSize > 1) {
-          items = items.filter(item => item.minLength <= carSize && item.carLength >= carSize);
-        }
-        if (netWeight && netWeight > 1 && carType.indexOf('空') == -1) {
-          items = items.filter(item => item.minWeight <= netWeight && item.maxWeight >= netWeight);
-        }
-        let itemIds = items.map(item => item.id);
-        if (itemIds.indexOf(type.itemId) == -1) {
-          this.cleanItem(type);
-        }
-        type.items = items;
-        tempList.push(type);
-      }
-      this.typeList = tempList;
-    },
-    cleanItem(type) {
-      type.itemId = '';
-      type.itemName = '';
-      type.price = '';
-    },
-    showSelect(item) {
-      if (this.validBefore()) {
-        this.columns = [];
-        this.columns.push(item.items);
-        this.show = true;
-      }
-    },
-    confirmFn(e) {
-      let selects = e.value;
-      if (selects.length > 0) {
-        let item = selects[0];
-        let typeId = item.typeId;
-        let typeList = this.typeList;
-        typeList.filter(obj => obj.id == typeId).forEach(obj => {
-          obj.itemId = item.id;
-          obj.itemName = item.itemName;
-          obj.inc = item.inc;
-          obj.price = item.price;
-          obj.needRemark = item.needRemark;
-        })
-      }
-      this.show = false;
-    },
-    getTypeByGoodsId() {
-      this.$api.getTypeByGoodsId({
-        goodsId: this.goods.id
-      }).then(resp => {
-        let list = resp.data;
-        this.allTypeList = JSON.parse(JSON.stringify(list));
-        this.typeList = list;
-      })
-    },
-    getCustomerList() {
-      this.$api.getCustomerList({
-        pageNo: 1,
-        pageSize: 100
-      }).then(resp => {
-        let list = resp.data;
-        let customerId = this.customerId;
-        if (customerId !== '1') {
-          this.customer.index = list.map(obj => obj.id).indexOf(customerId);
-        }
-        this.customer.customerList = list;
-      })
-    },
-    customerChange(e) {
-      var value = e.detail.value; //当前picker选中的值
-      this.customer.index = value;
-    },
-    handlerCar(car) {
-      let list = this.car.list;
-      let check = list.filter(obj => obj.carNo == car.carNo).pop();
-      if (check) {
-        check.carSize = car.carSize;
-        check.netWeight = car.netWeight;
-        check.carType = car.carType;
-      } else {
-        this.car.list.push(car);
-      }
-      this.clearEmptyCar(car);
-    },
-    clearEmptyCar(car) {
-      let list = this.car.list;
-      let obj = list.filter(obj => !obj.carNo).pop();
-      if (obj) {
-        this.car.list.splice(list.indexOf(obj), 1);
-      }
-      this.filterItems(car);
-    },
-    handlerSelectDeclare(declare) {
-      let oldDeclareNo = this.form.declareNo;
-      if (oldDeclareNo && oldDeclareNo !== declare.declareNo) {
-        this.car.list = [];
-      }
-      this.form.declareNo = declare.declareNo;
-      this.form.cardNo = declare.carNo;
-      this.form.chinaCarNo = declare.chinaCarNo;
-      this.form.netWeight = declare.grossWeight;
-      this.form.owner = declare.sendUnit;
-      let customerList = this.customer.customerList;
-      this.customer.index = customerList.map(customer => customer.id).indexOf(declare.customerId);
-      let carNo = declare.carNo;
-      let grossWeight = declare.grossWeight;
-      let carList = this.car.list;
-      let exit = carList.filter(obj => obj.carNo == carNo).pop();
-      if (!exit) {
-        let car = {
-          carNo: carNo,
-          netWeight: grossWeight,
-          carType: '载重'
-        }
-        this.car.list.push(car)
-      }
-      this.form.cardNo = declare.carNo;
-      this.form.chinaCarNo = declare.chinaCarNo;
-      this.form.netWeight = declare.grossWeight;
-      let chinaCarNo = declare.chinaCarNo;
-      if (chinaCarNo) {
-        let list = [];
-        chinaCarNo.replace(",", ",").split(",").forEach(carNo => {
-          let exit = carList.filter(obj => obj.carNo == carNo).pop();
-          if (!exit) {
-            let car = {
-              carNo: carNo,
-              carType: '空车',
-            }
-            this.car.list.push(car)
-          }
-        })
-      }
-      this.clearEmptyCar();
-    },
+	export default {
+		data() {
+			return {
+				show: false,
+				columns: [],
+				customerId: '1',
+				customer: {
+					index: 0,
+					customerList: [],
+				},
+				goods: {
+					id: '',
+					name: '',
+					mulCar: 0
+				},
+				typeList: [],
+				allTypeList: [],
+				form: {
+					customerId: '',
+					declareNo: '',
+					carNo: '',
+					owner: '',
+					carSize: '',
+					goodsName: '',
+					netWeight: '',
+					businessGoodsName: '',
+					businessGoodsNum: 1
+				},
+				show: false,
+				item: {
+					items: []
+				},
+				car: {
+					list: [{
+						id: '',
+						carNo: '',
+						index: 0
+					}]
+				},
+				perList: []
+			}
+		},
+		onShow() {
+			this.perList = uni.getStorageSync('perList')
+		},
+		computed: {
+			totalPrice() {
+				let typeList = this.typeList.filter(obj => obj.itemName);
+				let price = 0;
+				for (let i in typeList) {
+					let type = typeList[i];
+					price = price + type.price * type.num;
+				}
+				return price;
+			},
+		},
+		onLoad(options) {
+			this.customerId = uni.getStorageSync('customerId');
+			this.goods = JSON.parse(options.goodsJson);
+			this.getCustomerList();
+			this.getTypeByGoodsId();
+			let that = this;
+			uni.$on('getSelectDeclare', declare => {
+				that.$nextTick(() => {
+					that.handlerSelectDeclare(declare)
+				})
+			})
+			uni.$on('getCar', car => {
+				that.$nextTick(() => {
+					that.handlerCar(car)
+				})
+			})
+			uni.$on('getRemark', type => {
+				that.$nextTick(() => {
+					that.handlerRemark(type)
+				})
+			})
+		},
+		methods: {
+			remarkFn(type) {
+				let remark = type.remark ? type.remark : '';
+				this.$common.to('/pages/onely-disinfect/add-remark?needRemark=' + type.needRemark + '&typeId=' + type.id +
+					'&remark=' + remark)
+			},
+			handlerRemark(type) {
+				let typeList = this.typeList;
+				typeList.filter(obj => type.typeId == obj.id).forEach(obj => obj.remark = type.remark)
+			},
+			addCar() {
+				this.car.list.push({
+					index: Math.random(),
+					id: '',
+					carNo: '',
+					index: 0
+				})
+			},
+			filterItems(car) {
+				let carList = this.car.list;
+				let filterTypeList = JSON.parse(JSON.stringify(this.allTypeList));
+				if (carList.length == 0) {
+					this.typeList = filterTypeList;
+					return;
+				}
+				if (!car) {
+					let checkList = carList.filter(obj => obj.carType.indexOf('空') === -1);
+					if (checkList.length > 0) {
+						car = checkList[0];
+					}
+				}
+				let carSize = car.carSize;
+				let carType = car.carType;
+				if (carType.indexOf('空') !== -1 && carList.length > 1) {
+					return;
+				}
+				let netWeight = car.netWeight;
+				let tempList = [];
+				for (let i in filterTypeList) {
+					let type = filterTypeList[i];
+					let items = type.items;
+					if (carType) {
+						items = items.filter(item => item.itemType && item.itemType.indexOf(carType) !== -1);
+					}
+					if (carSize && carSize > 1) {
+						items = items.filter(item => item.minLength <= carSize && item.carLength >= carSize);
+					}
+					if (netWeight && netWeight > 1 && carType.indexOf('空') == -1) {
+						items = items.filter(item => item.minWeight <= netWeight && item.maxWeight >= netWeight);
+					}
+					let itemIds = items.map(item => item.id);
+					if (itemIds.indexOf(type.itemId) == -1) {
+						this.cleanItem(type);
+					}
+					type.items = items;
+					tempList.push(type);
+				}
+				this.typeList = tempList;
+			},
+			cleanItem(type) {
+				type.itemId = '';
+				type.itemName = '';
+				type.price = '';
+			},
+			showSelect(item) {
+				if (this.validBefore()) {
+					this.columns = [];
+					this.columns.push(item.items);
+					this.show = true;
+				}
+			},
+			confirmFn(e) {
+				let selects = e.value;
+				if (selects.length > 0) {
+					let item = selects[0];
+					let typeId = item.typeId;
+					let typeList = this.typeList;
+					typeList.filter(obj => obj.id == typeId).forEach(obj => {
+						obj.itemId = item.id;
+						obj.itemName = item.itemName;
+						obj.inc = item.inc;
+						obj.price = item.price;
+						obj.needRemark = item.needRemark;
+					})
+				}
+				this.show = false;
+			},
+			getTypeByGoodsId() {
+				this.$api.getTypeByGoodsId({
+					goodsId: this.goods.id
+				}).then(resp => {
+					let list = resp.data;
+					this.allTypeList = JSON.parse(JSON.stringify(list));
+					this.typeList = list;
+				})
+			},
+			getCustomerList() {
+				this.$api.getCustomerList({
+					pageNo: 1,
+					pageSize: 100
+				}).then(resp => {
+					let list = resp.data;
+					let customerId = this.customerId;
+					if (customerId !== '1') {
+						this.customer.index = list.map(obj => obj.id).indexOf(customerId);
+					}
+					this.customer.customerList = list;
+				})
+			},
+			customerChange(e) {
+				var value = e.detail.value; //当前picker选中的值
+				this.customer.index = value;
+			},
+			handlerCar(car) {
+				let list = this.car.list;
+				let check = list.filter(obj => obj.carNo == car.carNo).pop();
+				if (check) {
+					check.carSize = car.carSize;
+					check.netWeight = car.netWeight;
+					check.carType = car.carType;
+				} else {
+					this.car.list.push(car);
+				}
+				this.clearEmptyCar(car);
+			},
+			clearEmptyCar(car) {
+				let list = this.car.list;
+				let obj = list.filter(obj => !obj.carNo).pop();
+				if (obj) {
+					this.car.list.splice(list.indexOf(obj), 1);
+				}
+				this.filterItems(car);
+			},
+			handlerSelectDeclare(declare) {
+				let oldDeclareNo = this.form.declareNo;
+				if (oldDeclareNo && oldDeclareNo !== declare.declareNo) {
+					this.car.list = [];
+				}
+				this.form.declareNo = declare.declareNo;
+				this.form.cardNo = declare.carNo;
+				this.form.chinaCarNo = declare.chinaCarNo;
+				this.form.netWeight = declare.grossWeight;
+				this.form.owner = declare.sendUnit;
+				let customerList = this.customer.customerList;
+				this.customer.index = customerList.map(customer => customer.id).indexOf(declare.customerId);
+				let carNo = declare.carNo;
+				let grossWeight = declare.grossWeight;
+				let carList = this.car.list;
+				let exit = carList.filter(obj => obj.carNo == carNo).pop();
+				if (!exit) {
+					let car = {
+						carNo: carNo,
+						netWeight: grossWeight,
+						carType: '载重'
+					}
+					this.car.list.push(car)
+				}
+				this.form.cardNo = declare.carNo;
+				this.form.chinaCarNo = declare.chinaCarNo;
+				this.form.netWeight = declare.grossWeight;
+				let chinaCarNo = declare.chinaCarNo;
+				if (chinaCarNo) {
+					let list = [];
+					chinaCarNo.replace(",", ",").split(",").forEach(carNo => {
+						let exit = carList.filter(obj => obj.carNo == carNo).pop();
+						if (!exit) {
+							let car = {
+								carNo: carNo,
+								carType: '空车',
+							}
+							this.car.list.push(car)
+						}
+					})
+				}
+				this.clearEmptyCar();
+			},
+
+			selectDeclare() {
+				this.$common.to('/pages/business-entering/declare-select?declareNo=' + this.form.declareNo)
+			},
+			editCar(car) {
+				let goods = this.goods;
+				this.$common.to('/pages/onely-disinfect/car-manager?carJson=' + JSON.stringify(car) + "&needCarSize=" +
+					goods.needCarSize + '&needWeight=' + goods.needWeight)
+			},
 
-    selectDeclare() {
-      this.$common.to('/pages/business-entering/declare-select?declareNo=' + this.form.declareNo)
-    },
-    editCar(car) {
-      let goods = this.goods;
-      this.$common.to('/pages/onely-disinfect/car-manager?carJson=' + JSON.stringify(car) + "&needCarSize=" +
-          goods.needCarSize + '&needWeight=' + goods.needWeight)
-    },
+			delCar(car) {
+				let list = this.car.list;
+				if (list.length == 1) {
+					this.$common.toast('至少有一辆车');
+					return;
+				}
+				this.car.list.splice(list.indexOf(car), 1);
+				this.filterItems();
+			},
+			validBefore() {
+				let form = this.form;
+				let goods = this.goods;
+				let needDeclare = goods.needDeclare;
+				let needCustomer = goods.needCustomer;
+				let index = this.customer.index;
+				if (needDeclare == 1 && !form.declareNo) {
+					this.$common.toast('请选择申报单');
+					return false;
+				}
+				if (!form.businessGoodsName && goods.needOwner == 1) {
+					this.$common.toast('请填写货物');
+					return false;
+				}
+				let needOperateTime = goods.needOperateTime;
+				let businessGoodsNum = form.businessGoodsNum;
+				if ((!businessGoodsNum || businessGoodsNum <= 0) && needOperateTime == '1') {
+					this.$common.toast('请填写件数');
+					return false;
+				}
 
-    delCar(car) {
-      let list = this.car.list;
-      if (list.length == 1) {
-        this.$common.toast('至少有一辆车');
-        return;
-      }
-      this.car.list.splice(list.indexOf(car), 1);
-      this.filterItems();
-    },
-    validBefore() {
-      let form = this.form;
-      let goods = this.goods;
-      let needDeclare = goods.needDeclare;
-      let needCustomer = goods.needCustomer;
-      let index = this.customer.index;
-      if (needDeclare == 1 && !form.declareNo) {
-        this.$common.toast('请选择申报单');
-        return false;
-      }
-      if (!form.owner && goods.needOwner == 1) {
-        this.$common.toast('请填写货主');
-        return false;
-      }
-      let needOperateTime = goods.needOperateTime;
-      let operateTime = form.operateTime;
-      if (!operateTime && needOperateTime == '1') {
-        this.$common.toast('请录入作业时间');
-        return false;
-      }
-      if (operateTime && operateTime.length < 12) {
-        this.$common.toast('请录入准确的作业时间');
-        return false;
-      }
-      let carList = this.car.list;
-      if (carList.length == 0) {
-        this.$common.toast('请录入车辆');
-        return false;
-      }
-      let needCarSize = goods.needCarSize;
-      let needWeight = goods.needWeight;
-      for (let i in carList) {
-        let car = carList[i];
-        if (needCarSize == 1 && !car.carSize) {
-          this.$common.toast('请补充' + car.carNo + '的规格');
-          return false;
-        }
-        if (needWeight == 1 && car.carType.indexOf('重') !== -1 && !car.netWeight) {
-          this.$common.toast('请补充' + car.carNo + '载重');
-          return false;
-        }
-      }
-      return true;
-    },
-    check() {
-      let form = this.form;
-      let goods = this.goods;
-      let needDeclare = goods.needDeclare;
-      let needCustomer = goods.needCustomer;
-      let index = this.customer.index;
-      if (needDeclare == 1 && !form.declareNo) {
-        this.$common.toast('请选择申报单');
-        return false;
-      }
-      if (!form.owner && goods.needOwner == 1) {
-        this.$common.toast('请填写货主');
-        return false;
-      }
-      let needOperateTime = goods.needOperateTime;
-      let operateTime = form.operateTime;
-      if (!operateTime && needOperateTime == '1') {
-        this.$common.toast('请录入作业时间');
-        return false;
-      }
-      if (operateTime && operateTime.length < 12) {
-        this.$common.toast('请录入准确的作业时间');
-        return false;
-      }
-      let carList = this.car.list;
-      if (carList.length == 0) {
-        this.$common.toast('请录入车辆');
-        return false;
-      }
-      let needCarSize = goods.needCarSize;
-      let needWeight = goods.needWeight;
-      for (let i in carList) {
-        let car = carList[i];
-        if (needCarSize == 1 && !car.carSize) {
-          this.$common.toast('请补充' + car.carNo + '的规格');
-          return false;
-        }
-        if (needWeight == 1 && car.carType.indexOf('重') !== -1 && !car.netWeight) {
-          this.$common.toast('请补充' + car.carNo + '载重');
-          return false;
-        }
-      }
-      let typeList = this.typeList;
-      let selectList = [];
-      for (let i in typeList) {
-        let type = typeList[i];
-        if (type.need == 1 && !type.itemId) {
-          this.$common.toast('【' + type.name + '】必选');
-          return false;
-        }
-        if (type.needRemark == 1 && !type.remark) {
-          this.$common.toast('请录入【' + type.name + '】备注');
-          return false;
-        }
-        if (type.itemId) {
-          let obj = {
-            typeId: type.id,
-            typeName: type.name,
-            id: type.itemId,
-            num: type.num,
-            price: type.price,
-            remark: type.remark
-          }
-          selectList.push(obj);
-        }
-      }
-      this.form.itemJson = JSON.stringify(selectList);
-      this.form.carJson = JSON.stringify(this.car.list);
-      this.form.items = null;
-      if (needCustomer == 1) {
-        let customerList = this.customer.customerList;
-        let index = this.customer.index;
-        let customer = customerList[index];
-        this.form.customerId = customer.id;
-        this.form.customerName = customer.name;
-      } else {
-        this.form.customerId = '';
-        this.form.customerName = '';
-      }
-      this.form.goodsId = this.goods.id;
-      this.form.goodsName = this.goods.name;
-      let chinaCarNo = carList
-          .filter(car => this.$common.isCarNo(car.carNo.toUpperCase()))
-          .map(car => car.carNo.toUpperCase())
-          .join("、");
-      let yueCarNo = carList
-          .filter(car => !this.$common.isCarNo(car.carNo.toUpperCase()))
-          .map(car => car.carNo.toUpperCase())
-          .join("、");
-      this.form.cardNo = yueCarNo;
-      this.form.chinaCarNo = chinaCarNo;
-      return true;
-    },
-    saveFn() {
-      if (this.check()) {
-        let obj = this.$common.removeNull(this.form);
-        this.$api.addOtherBusiness(obj).then(resp => {
-          if (resp.code == 200) {
-            this.$common.toast('录入成功');
-            setTimeout(() => {
-              this.$common.to('/pages/onely-disinfect/Index')
-            }, 1000)
-          }
-        })
-      }
-    },
-  }
-}
+				let carList = this.car.list;
+				if (carList.length == 0) {
+					this.$common.toast('请录入车辆');
+					return false;
+				}
+				let needCarSize = goods.needCarSize;
+				let needWeight = goods.needWeight;
+				for (let i in carList) {
+					let car = carList[i];
+					if (needCarSize == 1 && !car.carSize) {
+						this.$common.toast('请补充' + car.carNo + '的规格');
+						return false;
+					}
+					if (needWeight == 1 && car.carType.indexOf('重') !== -1 && !car.netWeight) {
+						this.$common.toast('请补充' + car.carNo + '载重');
+						return false;
+					}
+				}
+				return true;
+			},
+			check() {
+				let form = this.form;
+				let goods = this.goods;
+				let needDeclare = goods.needDeclare;
+				let needCustomer = goods.needCustomer;
+				let index = this.customer.index;
+				if (needDeclare == 1 && !form.declareNo) {
+					this.$common.toast('请选择申报单');
+					return false;
+				}
+				if (!form.businessGoodsName && goods.needOwner == 1) {
+					this.$common.toast('请填写货物');
+					return false;
+				}
+				let needOperateTime = goods.needOperateTime;
+				let businessGoodsNum = form.businessGoodsNum;
+				if ((!businessGoodsNum || businessGoodsNum <= 0) && needOperateTime == '1') {
+					this.$common.toast('请填写件数');
+					return false;
+				}
+				let carList = this.car.list;
+				if (carList.length == 0) {
+					this.$common.toast('请录入车辆');
+					return false;
+				}
+				let needCarSize = goods.needCarSize;
+				let needWeight = goods.needWeight;
+				for (let i in carList) {
+					let car = carList[i];
+					if (needCarSize == 1 && !car.carSize) {
+						this.$common.toast('请补充' + car.carNo + '的规格');
+						return false;
+					}
+					if (needWeight == 1 && car.carType.indexOf('重') !== -1 && !car.netWeight) {
+						this.$common.toast('请补充' + car.carNo + '载重');
+						return false;
+					}
+				}
+				let typeList = this.typeList;
+				let selectList = [];
+				for (let i in typeList) {
+					let type = typeList[i];
+					if (type.need == 1 && !type.itemId) {
+						this.$common.toast('【' + type.name + '】必选');
+						return false;
+					}
+					if (type.needRemark == 1 && !type.remark) {
+						this.$common.toast('请录入【' + type.name + '】备注');
+						return false;
+					}
+					if (type.itemId) {
+						let obj = {
+							typeId: type.id,
+							typeName: type.name,
+							id: type.itemId,
+							num: type.num,
+							price: type.price,
+							remark: type.remark
+						}
+						selectList.push(obj);
+					}
+				}
+				this.form.itemJson = JSON.stringify(selectList);
+				this.form.carJson = JSON.stringify(this.car.list);
+				this.form.items = null;
+				if (needCustomer == 1) {
+					let customerList = this.customer.customerList;
+					let index = this.customer.index;
+					let customer = customerList[index];
+					this.form.customerId = customer.id;
+					this.form.customerName = customer.name;
+				} else {
+					this.form.customerId = '';
+					this.form.customerName = '';
+				}
+				this.form.goodsId = this.goods.id;
+				this.form.goodsName = this.goods.name;
+				let chinaCarNo = carList
+					.filter(car => this.$common.isCarNo(car.carNo.toUpperCase()))
+					.map(car => car.carNo.toUpperCase())
+					.join("、");
+				let yueCarNo = carList
+					.filter(car => !this.$common.isCarNo(car.carNo.toUpperCase()))
+					.map(car => car.carNo.toUpperCase())
+					.join("、");
+				this.form.cardNo = yueCarNo;
+				this.form.chinaCarNo = chinaCarNo;
+				return true;
+			},
+			saveFn() {
+				if (this.check()) {
+					let obj = this.$common.removeNull(this.form);
+					this.$api.addOtherBusiness(obj).then(resp => {
+						if (resp.code == 200) {
+							this.$common.toast('录入成功');
+							setTimeout(() => {
+								this.$common.to('/pages/onely-disinfect/Index')
+							}, 1000)
+						}
+					})
+				}
+			},
+		}
+	}
 </script>
 
 <style lang="scss">
-page {
-  background-color: #fff;
-}
+	page {
+		background-color: #fff;
+	}
 
-.hs-item {
-  text-align: center;
-}
+	.hs-item {
+		text-align: center;
+	}
 
-.item-line {
-  color: #a2a2a2;
-  padding: 5px 0 10px 29px;
-  border-bottom: 1px solid #E5E5E5;
-}
+	.item-line {
+		color: #a2a2a2;
+		padding: 5px 0 10px 29px;
+		border-bottom: 1px solid #E5E5E5;
+	}
 
-.hj {
-  padding: 50rpx;
-  font-size: 40rpx;
-  color: red;
-  font-weight: bold;
-}
+	.hj {
+		padding: 50rpx;
+		font-size: 40rpx;
+		color: red;
+		font-weight: bold;
+	}
 
-.business-list {
-  line-height: 75rpx;
-  margin: 4rpx 0 0 48rpx;
+	.business-list {
+		line-height: 75rpx;
+		margin: 4rpx 0 0 48rpx;
 
-}
+	}
 
-.save-btn {
-  background-color: #ff4200;
-  height: 88rpx;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  margin: 60rpx;
-  color: #fff;
-  font-size: 30rpx;
-  font-weight: bold;
-  border-radius: 10rpx;
-}
+	.save-btn {
+		background-color: #ff4200;
+		height: 88rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		margin: 60rpx;
+		color: #fff;
+		font-size: 30rpx;
+		font-weight: bold;
+		border-radius: 10rpx;
+	}
 
-@import '@/common/common.scss'
+	@import '@/common/common.scss'
 </style>

+ 2 - 2
app-ui/utils/request.js

@@ -1,8 +1,8 @@
 // const server = 'http://127.0.0.1:8099/pro';
-// const server = 'https://pco.aseanbusiness.cn/pro';
+const server = 'https://pco.aseanbusiness.cn/pro';
 
 
-const server = 'https://dxkaa1.gxbtka.com/pro';
+// const server = 'https://dxkaa1.gxbtka.com/pro';
 
 
 import common from '../common/js/common.js';

+ 713 - 711
sp-admin/sa-view/tb-business/tb-car-disincle-add.html

@@ -1,212 +1,211 @@
 <!DOCTYPE html>
 <html>
-<head>
-    <title>入境登记-添加/修改</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-    <meta name="viewport"
-          content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
-    <!-- 所有的 css js 资源 -->
-    <link rel="stylesheet" href="../../static/kj/element-ui/theme-chalk/index.css">
-    <link rel="stylesheet" href="../../static/sa.css">
-    <script src="../../static/kj/vue.min.js"></script>
-    <script src="../../static/kj/element-ui/index.js"></script>
-    <script src="../../static/kj/httpVueLoader.js"></script>
-    <script src="../../static/kj/jquery.min.js"></script>
-    <script src="../../static/kj/layer/layer.js"></script>
-    <script src="../../static/sa.js"></script>
-    <script src="../../static/kj/upload-util.js"></script>
-    <style type="text/css">
-        .c-panel .el-form .c-label {
-            width: 7em !important;
-        }
+	<head>
+		<title>入境登记-添加/修改</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+		<meta name="viewport"
+			content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
+		<!-- 所有的 css js 资源 -->
+		<link rel="stylesheet" href="../../static/kj/element-ui/theme-chalk/index.css">
+		<link rel="stylesheet" href="../../static/sa.css">
+		<script src="../../static/kj/vue.min.js"></script>
+		<script src="../../static/kj/element-ui/index.js"></script>
+		<script src="../../static/kj/httpVueLoader.js"></script>
+		<script src="../../static/kj/jquery.min.js"></script>
+		<script src="../../static/kj/layer/layer.js"></script>
+		<script src="../../static/sa.js"></script>
+		<script src="../../static/kj/upload-util.js"></script>
+		<style type="text/css">
+			.c-panel .el-form .c-label {
+				width: 7em !important;
+			}
 
-        .c-panel .el-form .c-panel .el-form {
-            width: 180px;
-        }
+			.c-panel .el-form .c-panel .el-form {
+				width: 180px;
+			}
 
-        .item-num .el-input__inner {
-            width: 130px;
-        }
+			.item-num .el-input__inner {
+				width: 130px;
+			}
 
-        .xj {
-            display: inline;
-            color: red;
-            margin-left: 9px;
-            font-weight: bold;
-        }
+			.xj {
+				display: inline;
+				color: red;
+				margin-left: 9px;
+				font-weight: bold;
+			}
 
-        .hj {
-            color: red;
-            margin-left: 9px;
-            font-weight: bold;
+			.hj {
+				color: red;
+				margin-left: 9px;
+				font-weight: bold;
 
-        }
+			}
 
-        .china-car-size .el-input__inner {
-            width: 130px;
-        }
-    </style>
-</head>
-<body>
-<div class="vue-box sbot" style="display: none;" :style="'display: block;'">
-    <!-- ------- 内容部分 ------- -->
-    <div class="s-body">
-        <div class="c-panel">
-            <div class="c-title">数据添加</div>
-            <el-form v-if="m" label-position="left">
-                <el-row>
-                    <el-card class="box-card">
-                        <div slot="header" class="clearfix">
-                            <span>基本资料</span>
-                        </div>
-                        <div>
-                            <el-row>
-                                <el-col span=8>
-                                    <div class="c-item">
-                                        <label class="c-label"><span style="color: red;">*</span>业务项目:</label>
-                                        <el-select v-model="m.goodsId" placeholder="请选择" @change="goodsChange">
-                                            <el-option v-for="item in goodsList" :key="item.id"
-                                                       :label="item.name" :value="item.id">
-                                            </el-option>
-                                        </el-select>
-                                    </div>
-                                    <div class="c-item" v-if="goods.needDeclare==1">
-                                        <label class="c-label">
-                                            <span style="color: red;">*</span>
-                                            申报单号:</label>
-                                        <el-input v-model="m.declareNo" placeholder="选择申报单"
-                                                  :readonly="goods.needDeclare==1" clearable>
-                                        </el-input>
-                                        <div style="cursor: pointer;color: blue;display: inline;"
-                                             @click="handlerDeclare">
-                                            <i class="el-icon-folder-add"></i>
-                                        </div>
-                                    </div>
-                                </el-col>
-                                <el-col span=8>
-                                    <div class="c-item" v-if="goods.needCustomer">
-                                        <label class="c-label"><span style="color: red;">*</span>客户:</label>
-                                        <el-select
-                                                :disabled="goods.needDeclare||m.declareNo"
-                                                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" v-if="goods.needOwner==1">
-                                        <label class="c-label">
-                                            <span style="color: red;">*</span>
-                                            货主:</label>
-                                        <el-input v-model="m.owner" placeholder="填写货主" clearable>
-                                        </el-input>
-                                    </div>
-                                </el-col>
-                                <el-col span=8>
-                                    <div class="c-item">
-                                        <label class="c-label">作业人员:</label>
-                                        <el-input v-model="m.operator" placeholder="作业人员" clearable>
-                                        </el-input>
-                                    </div>
-                                    <div class="c-item">
-                                        <label class="c-label"><span style="color: red;"
-                                                                     v-if="goods.needOperateTime==1">*</span>作业时间:</label>
-                                        <el-date-picker type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
-                                                        v-model="m.operateTime"></el-date-picker>
-                                    </div>
-                                </el-col>
-                            </el-row>
-                        </div>
-                    </el-card>
-                </el-row>
-                <el-row>
-                    <el-card class="box-card">
-                        <div slot="header" class="clearfix">
-                            <span>车辆</span>
-                            <el-button style="float: right;" icon="el-icon-plus" type="primary"
-                                       @click="showAddModal" v-if="goods.mulCar==1||car.list.length==0">添加
-                            </el-button>
-                        </div>
-                        <el-table :data="car.list">
-                            <el-table-column type="index" width="50" label="序号">
-                            </el-table-column>
-                            <el-table-column prop="carNo" label="车牌号">
-                            </el-table-column>
-                            <el-table-column prop="carSize" label="规格(米)">
-                            </el-table-column>
-                            <el-table-column prop="carType" label="类型">
-                            </el-table-column>
-                            <el-table-column prop="netWeight" label="载重(kg)">
-                            </el-table-column>
-                            <el-table-column label="操作">
-                                <template slot-scope="s">
-                                    <el-button class="c-btn" type="info" @click="editFn(s.row)">修改</el-button>
-                                    <el-button class="c-btn" type="danger" @click="deleteFn(s.row)">删除
-                                    </el-button>
-                                </template>
-                            </el-table-column>
-                        </el-table>
-                    </el-card>
-                </el-row>
-                <el-row>
-                    <el-card class="box-card">
-                        <div slot="header" class="clearfix">
-                            <span>收费项</span>
-                        </div>
-                        <div>
-                            <el-form-item v-for="(type,index) in itemTypeList">
-                                <el-row justify="center">
-                                    <el-col span="9">
-                                        <label style="color: red;"
-                                               v-if="type.need==1">*</label><label>{{type.name}}:</label>
-                                        <el-select v-model="type.itemId" style="width: 120px;"
-                                                   @change="itemChange(type)" placeholder="请选择">
-                                            <el-option v-for="item in type.items" :key="item.id"
-                                                       :label="item.itemName" :value="item.id">
-                                            </el-option>
-                                        </el-select>
-                                    </el-col>
-                                    <el-col span="7">
-                                        <el-input-number style="margin-left: 60px;" class="item-num"
-                                                         v-model="type.num" :min="1" :max="10" size="mini"
-                                                         :disabled="type.inc==0"></el-input-number>
-                                        <div class="xj" v-if="type.itemId">
-                                            {{type.price * type.num}}元
-                                            <label @click="cleanItem(type)"
-                                                   style="margin-left: 5px;cursor: pointer">(<i
-                                                    class="el-icon-delete"></i>)</label>
-                                        </div>
-                                    </el-col>
-                                    <el-col span="8">
-                                        <label class="c-label">
-                                            备注:</label>
-                                        <el-input v-model="type.remark" placeholder="请输入备注" clearable>
-                                        </el-input>
-                                    </el-col>
-                                </el-row>
-                                <el-divider></el-divider>
-                            </el-form-item>
-                            <div class="hj" v-if="totalPrice>0">
-                                合计费用:{{totalPrice}}<label>元</label>
-                            </div>
-                        </div>
-                    </el-card>
-                </el-row>
-            </el-form>
-        </div>
-    </div>
-    <!-- ------- 底部按钮 ------- -->
-    <div class="s-foot">
-        <el-button type="primary" @click="ok()">确定</el-button>
-        <el-button @click="closeFn()">取消</el-button>
-    </div>
-    <el-dialog title="车辆录入" :visible.sync="car.visible" width="400">
+			.china-car-size .el-input__inner {
+				width: 130px;
+			}
+		</style>
+	</head>
+	<body>
+		<div class="vue-box sbot" style="display: none;" :style="'display: block;'">
+			<!-- ------- 内容部分 ------- -->
+			<div class="s-body">
+				<div class="c-panel">
+					<div class="c-title">数据添加</div>
+					<el-form v-if="m" label-position="left">
+						<el-row>
+							<el-card class="box-card">
+								<div slot="header" class="clearfix">
+									<span>基本资料</span>
+								</div>
+								<div>
+									<el-row>
+										<el-col span=8>
+											<div class="c-item">
+												<label class="c-label"><span style="color: red;">*</span>业务项目:</label>
+												<el-select v-model="m.goodsId" placeholder="请选择" @change="goodsChange">
+													<el-option v-for="item in goodsList" :key="item.id"
+														:label="item.name" :value="item.id">
+													</el-option>
+												</el-select>
+											</div>
+											<div class="c-item" v-if="goods.needDeclare==1">
+												<label class="c-label">
+													<span style="color: red;">*</span>
+													申报单号:</label>
+												<el-input v-model="m.declareNo" placeholder="选择申报单"
+													:readonly="goods.needDeclare==1" clearable>
+												</el-input>
+												<div style="cursor: pointer;color: blue;display: inline;"
+													@click="handlerDeclare">
+													<i class="el-icon-folder-add"></i>
+												</div>
+											</div>
+										</el-col>
+										<el-col span=8>
+											<div class="c-item" v-if="goods.needCustomer">
+												<label class="c-label"><span style="color: red;">*</span>客户:</label>
+												<el-select :disabled="goods.needDeclare||m.declareNo"
+													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" v-if="goods.needOwner==1">
+												<label class="c-label">
+													<span style="color: red;">*</span>
+													货物:</label>
+												<el-input v-model="m.businessGoodsName" placeholder="填写货物" clearable>
+												</el-input>
+											</div>
+										</el-col>
+										<el-col span=8>
+											<div class="c-item">
+												<label class="c-label">作业人员:</label>
+												<el-input v-model="m.operator" placeholder="作业人员" clearable>
+												</el-input>
+											</div>
+											<div class="c-item" v-if="goods.needOperateTime==1">
+												<label class="c-label"><span style="color: red;">*</span>件数:</label>
+												<el-input-number class="item-num" v-model="m.businessGoodsNum"
+													:min="1" :max="99999" size="mini">
+												</el-input-number>
+											</div>
+										</el-col>
+									</el-row>
+								</div>
+							</el-card>
+						</el-row>
+						<el-row>
+							<el-card class="box-card">
+								<div slot="header" class="clearfix">
+									<span>车辆</span>
+									<el-button style="float: right;" icon="el-icon-plus" type="primary"
+										@click="showAddModal" v-if="goods.mulCar==1||car.list.length==0">添加
+									</el-button>
+								</div>
+								<el-table :data="car.list">
+									<el-table-column type="index" width="50" label="序号">
+									</el-table-column>
+									<el-table-column prop="carNo" label="车牌号">
+									</el-table-column>
+									<el-table-column prop="carSize" label="规格(米)">
+									</el-table-column>
+									<el-table-column prop="carType" label="类型">
+									</el-table-column>
+									<el-table-column prop="netWeight" label="载重(kg)">
+									</el-table-column>
+									<el-table-column label="操作">
+										<template slot-scope="s">
+											<el-button class="c-btn" type="info" @click="editFn(s.row)">修改</el-button>
+											<el-button class="c-btn" type="danger" @click="deleteFn(s.row)">删除
+											</el-button>
+										</template>
+									</el-table-column>
+								</el-table>
+							</el-card>
+						</el-row>
+						<el-row>
+							<el-card class="box-card">
+								<div slot="header" class="clearfix">
+									<span>收费项</span>
+								</div>
+								<div>
+									<el-form-item v-for="(type,index) in itemTypeList">
+										<el-row justify="center">
+											<el-col span="9">
+												<label style="color: red;"
+													v-if="type.need==1">*</label><label>{{type.name}}:</label>
+												<el-select v-model="type.itemId" style="width: 120px;"
+													@change="itemChange(type)" placeholder="请选择">
+													<el-option v-for="item in type.items" :key="item.id"
+														:label="item.itemName" :value="item.id">
+													</el-option>
+												</el-select>
+											</el-col>
+											<el-col span="7">
+												<el-input-number style="margin-left: 60px;" class="item-num"
+													v-model="type.num" :min="1" :max="10" size="mini"
+													:disabled="type.inc==0"></el-input-number>
+												<div class="xj" v-if="type.itemId">
+													{{type.price * type.num}}元
+													<label @click="cleanItem(type)"
+														style="margin-left: 5px;cursor: pointer">(<i
+															class="el-icon-delete"></i>)</label>
+												</div>
+											</el-col>
+											<el-col span="8">
+												<label class="c-label">
+													备注:</label>
+												<el-input v-model="type.remark" placeholder="请输入备注" clearable>
+												</el-input>
+											</el-col>
+										</el-row>
+										<el-divider></el-divider>
+									</el-form-item>
+									<div class="hj" v-if="totalPrice>0">
+										合计费用:{{totalPrice}}<label>元</label>
+									</div>
+								</div>
+							</el-card>
+						</el-row>
+					</el-form>
+				</div>
+			</div>
+			<!-- ------- 底部按钮 ------- -->
+			<div class="s-foot">
+				<el-button type="primary" @click="ok()">确定</el-button>
+				<el-button @click="closeFn()">取消</el-button>
+			</div>
+			<el-dialog title="车辆录入" :visible.sync="car.visible" width="400">
 				<span>
 					<el-form label-position="left">
 						<div class="c-item">
 							<label class="c-label"><span style="color: red;">*</span>车牌号:</label>
 							<el-autocomplete v-model="car.form.carNo" placeholder="请输入车牌号" value-key='carNo'
-                                             :fetch-suggestions="queryCarAsync">
+								:fetch-suggestions="queryCarAsync">
 							</el-autocomplete>
 						</div>
 						<div class="c-item">
@@ -232,530 +231,533 @@
 						</div>
 					</el-form>
 				</span>
-        <span slot="footer" class="dialog-footer">
+				<span slot="footer" class="dialog-footer">
 					<el-button @click="car.visible = false">取 消</el-button>
 					<el-button type="primary" @click="confirmAdd">确 定</el-button>
 				</span>
-    </el-dialog>
-    <el-dialog title="申报单" :visible.sync="declare.visible" width="90%">
-        <div class="delect-search">
-            申报人:
-            <el-input style="width: 140px;" v-model="declare.p.declarePeople" placeholder="申报人">
-            </el-input>
-            <el-button type="primary" @click="getDeclareList">搜索</el-button>
-            <el-button type="info" @click="resetDclare">重置</el-button>
-        </div>
-        <el-card class="box-card" style="margin-top: 20px;">
-            <div slot="header">
-                <span>列表</span>
-            </div>
-            <el-table :data="declare.list" ref="declareTable">
-                <el-table-column type="selection">
-                </el-table-column>
-                <el-table-column prop="declarePeople" label="申报人">
-                </el-table-column>
-                <el-table-column prop="customerName" label="申报公司" width=200>
-                </el-table-column>
-                <el-table-column prop="sendUnit" label="货主" width=200>
-                </el-table-column>
-                <el-table-column prop="createTime" width="140" label="申报时间">
-                </el-table-column>
-                <el-table-column prop="declareNo" width="180" label="申报单号">
-                </el-table-column>
-                <el-table-column prop="goodsName" label="产品学名">
-                </el-table-column>
-                <el-table-column prop="carNo" label="越南车牌">
-                </el-table-column>
-                <el-table-column prop="grossWeight" label="毛重(kg)">
-                </el-table-column>
-            </el-table>
-            <div class="block">
-                <el-pagination layout="prev, pager, next" @current-change="currentPageChange"
-                               :page-size="declare.p.pageSize" :total="declare.p.dataCount"
-                               :current-page="declare.p.pageNo">
-                </el-pagination>
-            </div>
-        </el-card>
-        <span slot="footer" class="dialog-footer">
+			</el-dialog>
+			<el-dialog title="申报单" :visible.sync="declare.visible" width="90%">
+				<div class="delect-search">
+					申报人:
+					<el-input style="width: 140px;" v-model="declare.p.declarePeople" placeholder="申报人">
+					</el-input>
+					<el-button type="primary" @click="getDeclareList">搜索</el-button>
+					<el-button type="info" @click="resetDclare">重置</el-button>
+				</div>
+				<el-card class="box-card" style="margin-top: 20px;">
+					<div slot="header">
+						<span>列表</span>
+					</div>
+					<el-table :data="declare.list" ref="declareTable">
+						<el-table-column type="selection">
+						</el-table-column>
+						<el-table-column prop="declarePeople" label="申报人">
+						</el-table-column>
+						<el-table-column prop="customerName" label="申报公司" width=200>
+						</el-table-column>
+						<el-table-column prop="sendUnit" label="货主" width=200>
+						</el-table-column>
+						<el-table-column prop="createTime" width="140" label="申报时间">
+						</el-table-column>
+						<el-table-column prop="declareNo" width="180" label="申报单号">
+						</el-table-column>
+						<el-table-column prop="goodsName" label="产品学名">
+						</el-table-column>
+						<el-table-column prop="carNo" label="越南车牌">
+						</el-table-column>
+						<el-table-column prop="grossWeight" label="毛重(kg)">
+						</el-table-column>
+					</el-table>
+					<div class="block">
+						<el-pagination layout="prev, pager, next" @current-change="currentPageChange"
+							:page-size="declare.p.pageSize" :total="declare.p.dataCount"
+							:current-page="declare.p.pageNo">
+						</el-pagination>
+					</div>
+				</el-card>
+				<span slot="footer" class="dialog-footer">
 					<el-button @click="declare.visible = false">取 消</el-button>
 					<el-button type="primary" @click="confirmSelectDeclare">确 定</el-button>
 				</span>
-    </el-dialog>
-</div>
-<script>
-    var app = new Vue({
-        components: {
-            "sa-item": httpVueLoader('../../sa-frame/com/sa-item.vue'),
-            "sa-td": httpVueLoader('../../sa-frame/com/sa-td.vue')
-        },
-        el: '.vue-box',
-        data: {
-            m: {
-                id: '', // 主键
-                customerId: '', // 客户id
-                customerName: '', // 客户名称
-                operateTime: '',
-                no: '', // 编号
-                goodsId: '',
-                goodsName: '', // 商品
-            }, // 实体对象
-            customerList: [],
-            carList: [],
-            currentCustomerId: 1,
-            itemTypeList: [],
-            filterTypeList: [],
-            goodsList: [],
-            tableData: [],
-            car: {
-                visible: false,
-                list: [],
-                form: {
-                    carNo: '',
-                    carType: '',
-                    netWeight: '',
-                    carSize: ''
-                }
-            },
-            declare: {
-                visible: false,
-                list: [],
-                p: {
-                    pageNo: 1,
-                    pageSize: 8,
-                    dataCount: 0,
-                    declarePeople: '',
-                    production: '',
-                    declareNo: '1'
-                }
-            },
-            goods: {
-                id: '',
-                name: '',
-                needWeight: 1,
-                needCarSize: 1,
-                needDeclare: 1,
-                needOperateTime: 1,
-                chinaCarPay: 1,
-                vietnamCarPay: 1,
-                mulCar: 0,
-            },
-            carTypeList: []
-        },
-        computed: {
-            totalPrice() {
-                let itemList = this.itemTypeList.filter(obj => obj.itemId);
-                let price = 0;
-                for (let i in itemList) {
-                    let type = itemList[i];
-                    let num = type.num;
-                    let items = type.items;
-                    for (let j in items) {
-                        let item = items[j];
-                        if (item.id == type.itemId) {
-                            price += num * item.price;
-                            break;
-                        }
-                    }
-                }
-                return price;
-            }
-        },
-        methods: {
-            resetDclare() {
-                this.declare.p.pageNo = 1;
-                this.declare.p.pageSize = 8;
-                this.declare.p.production = '';
-                this.declare.p.declarePeople = '';
-                this.getDeclareList();
-            },
-            handlerDeclare() {
-                this.declare.visible = true;
-                this.getDeclareList();
-            },
-            currentPageChange(page) {
-                this.declare.p.pageNo = page;
-                this.getDeclareList();
-            },
-            getDeclareList() {
-                let declareNo = this.m.declareNo;
-                if (declareNo) {
-                    this.declare.p.declareNo = declareNo;
-                }
-                sa.ajax('/TbDeclare/getNotBindList', sa.removeNull(this.declare.p), function (resp) {
-                    let list = resp.data;
-                    this.declare.list = list;
-                    this.declare.p.pageNo = resp.pageNo;
-                    this.declare.p.dataCount = resp.dataCount;
-                    list.forEach(row => {
-                        if (row.declareNo == this.m.declareNo && this.m.declareNo) {
-                            this.$nextTick(() => {
-                                this.$refs['declareTable'].toggleRowSelection(row, true)
-                            })
-                        }
-                    })
-                }.bind(this))
-            },
-            confirmSelectDeclare() {
-                // 获取选中元素的id列表
-                let selection = this.$refs['declareTable'].selection;
-                let declareNo = sa.getArrayField(selection, 'declareNo');
-                if (selection.length == 0) {
-                    return sa.msg('请至少选择一条数据')
-                }
-                if (selection.length > 1) {
-                    return sa.msg('只能选择一条数据')
-                }
-                let declare = selection[0];
-                let oldNo = this.m.declareNo;
-                if (oldNo && oldNo !== declare.declareNo) {
-                    this.car.list = [];
-                }
-                if (oldNo !== declare.declareNo) {
-                    this.m.declareNo = declare.declareNo;
-                    this.m.customerId = declare.customerId;
-                    this.m.customerName = declare.customerName;
-                    this.m.owner = declare.sendUnit;
-                    let carNo = declare.carNo;
-                    let grossWeight = declare.grossWeight;
-                    let carList = this.car.list;
-                    let exit = carList.filter(obj => obj.carNo == carNo).pop();
-                    if (!exit) {
-                        let car = {
-                            carNo: carNo,
-                            netWeight: grossWeight,
-                            carType: '载重'
-                        }
-                        this.car.list.push(car)
-                    }
-                    this.m.cardNo = declare.carNo;
-                    this.m.chinaCarNo = declare.chinaCarNo;
-                    this.m.netWeight = declare.grossWeight;
-                    let chinaCarNo = declare.chinaCarNo;
-                    if (chinaCarNo) {
-                        let list = [];
-                        chinaCarNo.replace(",", ",").split(",").forEach(carNo => {
-                            let exit = carList.filter(obj => obj.carNo == carNo).pop();
-                            if (!exit) {
-                                let car = {
-                                    carNo: carNo,
-                                    carType: '空车'
-                                }
-                                this.car.list.push(car)
-                            }
-                        })
-                    }
-                    this.filterItems();
-                }
-                this.declare.visible = false;
-            },
-            cleanItem(type) {
-                type.itemId = '';
-                type.itemName = '';
-                type.price = '';
-            },
-            itemChange(type) {
-                let itemId = type.itemId;
-                let item = type.items.filter(obj => obj.id == itemId).pop();
-                if (item) {
-                    type.inc = item.inc;
-                    type.price = item.price;
-                    type.needRemark = item.needRemark
-                }
-                this.validBefore();
-            },
-            confirmAdd() {
-                let list = this.car.list;
-                let carNo = this.car.form.carNo;
-                let netWeight = this.car.form.netWeight;
-                let goods = this.goods;
-                let form = this.car.form;
-                let carType = form.carType;
+			</el-dialog>
+		</div>
+		<script>
+			var app = new Vue({
+				components: {
+					"sa-item": httpVueLoader('../../sa-frame/com/sa-item.vue'),
+					"sa-td": httpVueLoader('../../sa-frame/com/sa-td.vue')
+				},
+				el: '.vue-box',
+				data: {
+					m: {
+						id: '', // 主键
+						customerId: '', // 客户id
+						customerName: '', // 客户名称
+						operateTime: '',
+						no: '', // 编号
+						goodsId: '',
+						goodsName: '', // 商品
+						businessGoodsNum:1,
+						businessGoodsName:''
+					}, // 实体对象
+					customerList: [],
+					carList: [],
+					currentCustomerId: 1,
+					itemTypeList: [],
+					filterTypeList: [],
+					goodsList: [],
+					tableData: [],
+					car: {
+						visible: false,
+						list: [],
+						form: {
+							carNo: '',
+							carType: '',
+							netWeight: '',
+							carSize: ''
+						}
+					},
+					declare: {
+						visible: false,
+						list: [],
+						p: {
+							pageNo: 1,
+							pageSize: 8,
+							dataCount: 0,
+							declarePeople: '',
+							production: '',
+							declareNo: '1'
+						}
+					},
+					goods: {
+						id: '',
+						name: '',
+						needWeight: 1,
+						needCarSize: 1,
+						needDeclare: 1,
+						needOperateTime: 1,
+						chinaCarPay: 1,
+						vietnamCarPay: 1,
+						mulCar: 0,
+					},
+					carTypeList: []
+				},
+				computed: {
+					totalPrice() {
+						let itemList = this.itemTypeList.filter(obj => obj.itemId);
+						let price = 0;
+						for (let i in itemList) {
+							let type = itemList[i];
+							let num = type.num;
+							let items = type.items;
+							for (let j in items) {
+								let item = items[j];
+								if (item.id == type.itemId) {
+									price += num * item.price;
+									break;
+								}
+							}
+						}
+						return price;
+					}
+				},
+				methods: {
+					resetDclare() {
+						this.declare.p.pageNo = 1;
+						this.declare.p.pageSize = 8;
+						this.declare.p.production = '';
+						this.declare.p.declarePeople = '';
+						this.getDeclareList();
+					},
+					handlerDeclare() {
+						this.declare.visible = true;
+						this.getDeclareList();
+					},
+					currentPageChange(page) {
+						this.declare.p.pageNo = page;
+						this.getDeclareList();
+					},
+					getDeclareList() {
+						let declareNo = this.m.declareNo;
+						if (declareNo) {
+							this.declare.p.declareNo = declareNo;
+						}
+						sa.ajax('/TbDeclare/getNotBindList', sa.removeNull(this.declare.p), function(resp) {
+							let list = resp.data;
+							this.declare.list = list;
+							this.declare.p.pageNo = resp.pageNo;
+							this.declare.p.dataCount = resp.dataCount;
+							list.forEach(row => {
+								if (row.declareNo == this.m.declareNo && this.m.declareNo) {
+									this.$nextTick(() => {
+										this.$refs['declareTable'].toggleRowSelection(row, true)
+									})
+								}
+							})
+						}.bind(this))
+					},
+					confirmSelectDeclare() {
+						// 获取选中元素的id列表
+						let selection = this.$refs['declareTable'].selection;
+						let declareNo = sa.getArrayField(selection, 'declareNo');
+						if (selection.length == 0) {
+							return sa.msg('请至少选择一条数据')
+						}
+						if (selection.length > 1) {
+							return sa.msg('只能选择一条数据')
+						}
+						let declare = selection[0];
+						let oldNo = this.m.declareNo;
+						if (oldNo && oldNo !== declare.declareNo) {
+							this.car.list = [];
+						}
+						if (oldNo !== declare.declareNo) {
+							this.m.declareNo = declare.declareNo;
+							this.m.customerId = declare.customerId;
+							this.m.customerName = declare.customerName;
+							this.m.owner = declare.sendUnit;
+							let carNo = declare.carNo;
+							let grossWeight = declare.grossWeight;
+							let carList = this.car.list;
+							let exit = carList.filter(obj => obj.carNo == carNo).pop();
+							if (!exit) {
+								let car = {
+									carNo: carNo,
+									netWeight: grossWeight,
+									carType: '载重'
+								}
+								this.car.list.push(car)
+							}
+							this.m.cardNo = declare.carNo;
+							this.m.chinaCarNo = declare.chinaCarNo;
+							this.m.netWeight = declare.grossWeight;
+							let chinaCarNo = declare.chinaCarNo;
+							if (chinaCarNo) {
+								let list = [];
+								chinaCarNo.replace(",", ",").split(",").forEach(carNo => {
+									let exit = carList.filter(obj => obj.carNo == carNo).pop();
+									if (!exit) {
+										let car = {
+											carNo: carNo,
+											carType: '空车'
+										}
+										this.car.list.push(car)
+									}
+								})
+							}
+							this.filterItems();
+						}
+						this.declare.visible = false;
+					},
+					cleanItem(type) {
+						type.itemId = '';
+						type.itemName = '';
+						type.price = '';
+					},
+					itemChange(type) {
+						let itemId = type.itemId;
+						let item = type.items.filter(obj => obj.id == itemId).pop();
+						if (item) {
+							type.inc = item.inc;
+							type.price = item.price;
+							type.needRemark = item.needRemark
+						}
+						this.validBefore();
+					},
+					confirmAdd() {
+						let list = this.car.list;
+						let carNo = this.car.form.carNo;
+						let netWeight = this.car.form.netWeight;
+						let goods = this.goods;
+						let form = this.car.form;
+						let carType = form.carType;
 
-                if (!carNo) {
-                    sa.error('请录入车牌号')
-                    return false;
-                }
-                if (!form.carSize && goods.needCarSize == 1) {
-                    sa.error('请填入车辆规格')
-                    return false;
-                }
-                if (carType.indexOf('空') !== -1) {
-                    netWeight = 0;
-                }
-                let index = list.map(obj => obj.carNo).indexOf(carNo);
-                if (index > -1) {
-                    list.splice(index, 1);
-                }
-                let carSize = form.carSize;
-                let car = {
-                    id: form.id,
-                    carNo: form.carNo.toUpperCase(),
-                    carType: carType,
-                    carSize: carSize,
-                    netWeight: netWeight
-                }
-                this.car.list.push(car);
-                this.car.visible = false;
-                this.filterItems();
-            },
-            filterItems() {
-                let carList = this.car.list;
-                let filterTypeList = JSON.parse(JSON.stringify(this.filterTypeList));
-                if (carList.length == 0) {
-                    this.itemTypeList = filterTypeList;
-                    return;
-                }
-                let car = this.car.form;
-                if (car == null) {
-                    let checkList = carList.filter(obj => obj.carType.indexOf('空') === -1);
-                    if (checkList.length > 0) {
-                        car = checkList[0];
-                    }
-                }
-                let carSize = car.carSize;
-                let carType = car.carType;
-                if (carType.indexOf('空') !== -1 && carList.length > 1) {
-                    return;
-                }
-                let netWeight = car.netWeight;
-                let tempList = [];
-                for (let i in filterTypeList) {
-                    let type = filterTypeList[i];
-                    let items = type.items;
-                    if (carType) {
-                        items = items.filter(item => item.itemType && item.itemType.indexOf(carType) !== -1);
-                    }
-                    if (carSize && carSize > 1) {
-                        items = items.filter(item => item.minLength <= carSize && item.carLength >= carSize);
-                    }
-                    if (netWeight && netWeight > 1 && carType.indexOf('空') == -1) {
-                        items = items.filter(item => item.minWeight <= netWeight && item.maxWeight >= netWeight);
-                    }
-                    let itemIds = items.map(item => item.id);
-                    if (itemIds.indexOf(type.itemId) == -1) {
-                        this.cleanItem(type);
-                    }
-                    type.items = items;
-                    tempList.push(type);
-                }
-                this.itemTypeList = tempList;
-            },
-            showAddModal() {
-                this.car.visible = true;
-                this.car.form.carNo = '';
-                this.car.form.carSize = '';
-                this.car.form.netWeight = '';
-            },
-            editFn(data) {
-                Object.assign(this.car, {
-                    visible: true,
-                    form: JSON.parse(JSON.stringify(data))
-                })
-            },
-            deleteFn(data) {
-                this.car.list.splice(this.car.list.indexOf(data), 1);
-                this.filterItems();
-            },
-            getGoods() {
-                sa.ajax('/TbGoods/getList', {
-                    pageNo: 1,
-                    pageSize: 10
-                }, function (resp) {
-                    let list = resp.data;
-                    if (list.length >= 1) {
-                        let initGoods = list[0];
-                        this.goods = initGoods
-                        this.m.goodsId = initGoods.id;
-                        this.m.goodsName = initGoods.name;
-                        this.getTypeByGoodsId();
-                    }
-                    this.goodsList = list;
+						if (!carNo) {
+							sa.error('请录入车牌号')
+							return false;
+						}
+						if (!form.carSize && goods.needCarSize == 1) {
+							sa.error('请填入车辆规格')
+							return false;
+						}
+						if (carType.indexOf('空') !== -1) {
+							netWeight = 0;
+						}
+						let index = list.map(obj => obj.carNo).indexOf(carNo);
+						if (index > -1) {
+							list.splice(index, 1);
+						}
+						let carSize = form.carSize;
+						let car = {
+							id: form.id,
+							carNo: form.carNo.toUpperCase(),
+							carType: carType,
+							carSize: carSize,
+							netWeight: netWeight
+						}
+						this.car.list.push(car);
+						this.car.visible = false;
+						this.filterItems();
+					},
+					filterItems() {
+						let carList = this.car.list;
+						let filterTypeList = JSON.parse(JSON.stringify(this.filterTypeList));
+						if (carList.length == 0) {
+							this.itemTypeList = filterTypeList;
+							return;
+						}
+						let car = this.car.form;
+						if (car == null) {
+							let checkList = carList.filter(obj => obj.carType.indexOf('空') === -1);
+							if (checkList.length > 0) {
+								car = checkList[0];
+							}
+						}
+						let carSize = car.carSize;
+						let carType = car.carType;
+						if (carType.indexOf('空') !== -1 && carList.length > 1) {
+							return;
+						}
+						let netWeight = car.netWeight;
+						let tempList = [];
+						for (let i in filterTypeList) {
+							let type = filterTypeList[i];
+							let items = type.items;
+							if (carType) {
+								items = items.filter(item => item.itemType && item.itemType.indexOf(carType) !== -1);
+							}
+							if (carSize && carSize > 1) {
+								items = items.filter(item => item.minLength <= carSize && item.carLength >= carSize);
+							}
+							if (netWeight && netWeight > 1 && carType.indexOf('空') == -1) {
+								items = items.filter(item => item.minWeight <= netWeight && item.maxWeight >= netWeight);
+							}
+							let itemIds = items.map(item => item.id);
+							if (itemIds.indexOf(type.itemId) == -1) {
+								this.cleanItem(type);
+							}
+							type.items = items;
+							tempList.push(type);
+						}
+						this.itemTypeList = tempList;
+					},
+					showAddModal() {
+						this.car.visible = true;
+						this.car.form.carNo = '';
+						this.car.form.carSize = '';
+						this.car.form.netWeight = '';
+					},
+					editFn(data) {
+						Object.assign(this.car, {
+							visible: true,
+							form: JSON.parse(JSON.stringify(data))
+						})
+					},
+					deleteFn(data) {
+						this.car.list.splice(this.car.list.indexOf(data), 1);
+						this.filterItems();
+					},
+					getGoods() {
+						sa.ajax('/TbGoods/getList', {
+							pageNo: 1,
+							pageSize: 10
+						}, function(resp) {
+							let list = resp.data;
+							if (list.length >= 1) {
+								let initGoods = list[0];
+								this.goods = initGoods
+								this.m.goodsId = initGoods.id;
+								this.m.goodsName = initGoods.name;
+								this.getTypeByGoodsId();
+							}
+							this.goodsList = list;
 
-                }.bind(this))
-            },
-            goodsChange(v) {
-                let goodsList = this.goodsList;
-                let goods = goodsList.filter(goods => goods.id == v).pop();
-                this.goods = goods;
-                this.m.goodsName = goods.name;
-                this.getTypeByGoodsId();
-            },
-            getTypeByGoodsId() {
-                sa.ajax('/TbItemType/getTypeByGoodsId', {
-                    goodsId: this.m.goodsId
-                }, function (resp) {
-                    let list = resp.data;
-                    this.itemTypeList = list;
-                    this.filterTypeList = JSON.parse(JSON.stringify(this.itemTypeList));
-                    this.filterItems();
-                }.bind(this))
-            },
-            getItemType() {
-                sa.ajax('/TbItem/getItemType', function (resp) {
-                    let list = resp.data;
-                    if (list.length > 0) {
-                        this.car.form.carType = list[0].name;
-                    }
-                    this.carTypeList = list;
-                }.bind(this))
-            },
-            carTypeChange(v) {
+						}.bind(this))
+					},
+					goodsChange(v) {
+						let goodsList = this.goodsList;
+						let goods = goodsList.filter(goods => goods.id == v).pop();
+						this.goods = goods;
+						this.m.goodsName = goods.name;
+						this.getTypeByGoodsId();
+					},
+					getTypeByGoodsId() {
+						sa.ajax('/TbItemType/getTypeByGoodsId', {
+							goodsId: this.m.goodsId
+						}, function(resp) {
+							let list = resp.data;
+							this.itemTypeList = list;
+							this.filterTypeList = JSON.parse(JSON.stringify(this.itemTypeList));
+							this.filterItems();
+						}.bind(this))
+					},
+					getItemType() {
+						sa.ajax('/TbItem/getItemType', function(resp) {
+							let list = resp.data;
+							if (list.length > 0) {
+								this.car.form.carType = list[0].name;
+							}
+							this.carTypeList = list;
+						}.bind(this))
+					},
+					carTypeChange(v) {
 
-            },
-            getCustomerList() {
-                sa.ajax('/TbCostomer/getList', {
-                    pageNo: 1,
-                    pageSize: 30,
-                    sortType: 20,
-                    judgeStatus: 2
-                }, function (res) {
-                    let list = res.data;
-                    this.customerList = list;
-                }.bind(this));
-            },
-            queryCarAsync(queryStr, cb) {
-                sa.ajaxNoLoading('/TbBusinessCar/searchByNo', {
-                    carNo: queryStr
-                }, function (resp) {
-                    cb(resp.data)
-                }.bind(this))
-            },
-            closeFn() {
-                parent.app.f5();
-                sa.closeCurrIframe();
-            },
-            validBefore() {
-                let goods = this.goods;
-                let needCustomer = goods.needCustomer;
-                let m = this.m;
-                if (goods.needDeclare == 1 && !m.declareNo) {
-                    sa.error('请选择申报单');
-                    return false;
-                }
-                if (needCustomer == 1 && !m.customerId) {
-                    sa.error('请选择客户');
-                    return false;
-                }
-                if (goods.needOperateTime == 1 && !m.operateTime) {
-                    sa.error('请选择作业时间');
-                    return false;
-                }
-                if (!m.owner && goods.needOwner == 1) {
-                    sa.error('请填写货主');
-                    return false;
-                }
-                if (this.car.list.length == 0) {
-                    sa.error('请录入车辆');
-                    return false;
-                }
-                let needCarSize = goods.needCarSize;
-                let carList = this.car.list;
-                for (let i in carList) {
-                    let car = carList[i];
-                    if (needCarSize == 1 && !car.carSize) {
-                        sa.error('请补充' + car.carNo + '规格');
-                        return;
-                    }
+					},
+					getCustomerList() {
+						sa.ajax('/TbCostomer/getList', {
+							pageNo: 1,
+							pageSize: 30,
+							sortType: 20,
+							judgeStatus: 2
+						}, function(res) {
+							let list = res.data;
+							this.customerList = list;
+						}.bind(this));
+					},
+					queryCarAsync(queryStr, cb) {
+						sa.ajaxNoLoading('/TbBusinessCar/searchByNo', {
+							carNo: queryStr
+						}, function(resp) {
+							cb(resp.data)
+						}.bind(this))
+					},
+					closeFn() {
+						parent.app.f5();
+						sa.closeCurrIframe();
+					},
+					validBefore() {
+						let goods = this.goods;
+						let needCustomer = goods.needCustomer;
+						let m = this.m;
+						if (goods.needDeclare == 1 && !m.declareNo) {
+							sa.error('请选择申报单');
+							return false;
+						}
+						if (needCustomer == 1 && !m.customerId) {
+							sa.error('请选择客户');
+							return false;
+						}
+						if (goods.needOperateTime == 1 &&(!m.businessGoodsNum||m.businessGoodsNum<=0) ) {
+							sa.error('请输入件数');
+							return false;
+						}
+						if (!m.businessGoodsName && goods.needOwner == 1) {
+							sa.error('请填写货物');
+							return false;
+						}
+						if (this.car.list.length == 0) {
+							sa.error('请录入车辆');
+							return false;
+						}
+						let needCarSize = goods.needCarSize;
+						let carList = this.car.list;
+						for (let i in carList) {
+							let car = carList[i];
+							if (needCarSize == 1 && !car.carSize) {
+								sa.error('请补充' + car.carNo + '规格');
+								return;
+							}
 
-                }
-            },
-            // 提交数据
-            ok: function () {
-                let goods = this.goods;
-                let needCustomer = goods.needCustomer;
-                let m = this.m;
-                if (goods.needDeclare == 1 && !m.declareNo) {
-                    sa.error('请选择申报单');
-                    return false;
-                }
-                if (needCustomer == 1 && !m.customerId) {
-                    sa.error('请选择客户');
-                    return false;
-                }
-                if (goods.needOperateTime == 1 && !m.operateTime) {
-                    sa.error('请选择作业时间');
-                    return false;
-                }
-                if (!m.owner && goods.needOwner == 1) {
-                    sa.error('请填写货主');
-                    return false;
-                }
-                if (this.car.list.length == 0) {
-                    sa.error('请录入车辆');
-                    return false;
-                }
-                let needCarSize = goods.needCarSize;
-                let carList = this.car.list;
-                for (let i in carList) {
-                    let car = carList[i];
-                    if (needCarSize == 1 && !car.carSize) {
-                        sa.error('请补充' + car.carNo + '规格');
-                        return;
-                    }
+						}
+					},
+					// 提交数据
+					ok: function() {
+						let goods = this.goods;
+						let needCustomer = goods.needCustomer;
+						let m = this.m;
+						if (goods.needDeclare == 1 && !m.declareNo) {
+							sa.error('请选择申报单');
+							return false;
+						}
+						if (needCustomer == 1 && !m.customerId) {
+							sa.error('请选择客户');
+							return false;
+						}
+						
+						if (!m.businessGoodsName && goods.needOwner == 1) {
+							sa.error('请填写货物');
+							return false;
+						}
+						if (goods.needOperateTime == 1 && (!m.businessGoodsNum||m.businessGoodsNum<=0)) {
+							sa.error('请填写货物件数');
+							return false;
+						}
+						if (this.car.list.length == 0) {
+							sa.error('请录入车辆');
+							return false;
+						}
+						let needCarSize = goods.needCarSize;
+						let carList = this.car.list;
+						for (let i in carList) {
+							let car = carList[i];
+							if (needCarSize == 1 && !car.carSize) {
+								sa.error('请补充' + car.carNo + '规格');
+								return;
+							}
 
-                }
-                let typeList = this.itemTypeList;
-                let selectList = [];
-                for (let i in typeList) {
-                    let type = typeList[i];
-                    if (type.need == 1 && !type.itemId) {
-                        sa.error('【' + type.name + '】必选');
-                        return false;
-                    }
-                    if (type.needRemark == 1 && !type.remark) {
-                        sa.error('请输入【' + type.name + '】的备注');
-                        return false;
-                    }
-                    if (type.itemId) {
-                        let obj = {
-                            typeId: type.id,
-                            typeName: type.name,
-                            id: type.itemId,
-                            num: type.num,
-                            price: type.price,
-                            remark: type.remark
-                        }
-                        selectList.push(obj);
-                    }
-                }
-                if (needCustomer != 1) {
-                    m.customerId = '';
-                }
-                m.itemJson = JSON.stringify(selectList);
-                m.carJson = JSON.stringify(carList);
-                let chinaCarNo = carList
-                    .filter(car => sa.isCarNo(car.carNo.toUpperCase()))
-                    .map(car => car.carNo.toUpperCase())
-                    .join("、");
-                let yueCarNo = carList
-                    .filter(car => !sa.isCarNo(car.carNo.toUpperCase()))
-                    .map(car => car.carNo.toUpperCase())
-                    .join("、");
-                m.cardNo = yueCarNo;
-                m.chinaCarNo = chinaCarNo;
-                sa.ajax('/TbBusiness/addOtherBusiness', sa.removeNull(m), function (res) {
-                    sa.alert('增加成功', this.clean);
-                }.bind(this));
-            },
-            // 添加/修改 完成后的动作
-            clean: function () {
-                parent.app.f5(); // 刷新父页面列表
-                sa.closeCurrIframe(); // 关闭本页
-            },
-            getCurrentCustomer() {
-                sa.ajax('/TbCostomer/getCurrentCustomerId', function (resp) {
-                    let id = resp.data;
-                    this.currentCustomerId = id;
-                }.bind(this));
-            },
-        },
-        mounted: function () {
-            this.getCurrentCustomer();
-            this.getGoods();
-            this.getItemType();
-            this.getCustomerList();
-        }
-    })
-</script>
-</body>
+						}
+						let typeList = this.itemTypeList;
+						let selectList = [];
+						for (let i in typeList) {
+							let type = typeList[i];
+							if (type.need == 1 && !type.itemId) {
+								sa.error('【' + type.name + '】必选');
+								return false;
+							}
+							if (type.needRemark == 1 && !type.remark) {
+								sa.error('请输入【' + type.name + '】的备注');
+								return false;
+							}
+							if (type.itemId) {
+								let obj = {
+									typeId: type.id,
+									typeName: type.name,
+									id: type.itemId,
+									num: type.num,
+									price: type.price,
+									remark: type.remark
+								}
+								selectList.push(obj);
+							}
+						}
+						if (needCustomer != 1) {
+							m.customerId = '';
+						}
+						m.itemJson = JSON.stringify(selectList);
+						m.carJson = JSON.stringify(carList);
+						let chinaCarNo = carList
+							.filter(car => sa.isCarNo(car.carNo.toUpperCase()))
+							.map(car => car.carNo.toUpperCase())
+							.join("、");
+						let yueCarNo = carList
+							.filter(car => !sa.isCarNo(car.carNo.toUpperCase()))
+							.map(car => car.carNo.toUpperCase())
+							.join("、");
+						m.cardNo = yueCarNo;
+						m.chinaCarNo = chinaCarNo;
+						sa.ajax('/TbBusiness/addOtherBusiness', sa.removeNull(m), function(res) {
+							sa.alert('增加成功', this.clean);
+						}.bind(this));
+					},
+					// 添加/修改 完成后的动作
+					clean: function() {
+						parent.app.f5(); // 刷新父页面列表
+						sa.closeCurrIframe(); // 关闭本页
+					},
+					getCurrentCustomer() {
+						sa.ajax('/TbCostomer/getCurrentCustomerId', function(resp) {
+							let id = resp.data;
+							this.currentCustomerId = id;
+						}.bind(this));
+					},
+				},
+				mounted: function() {
+					this.getCurrentCustomer();
+					this.getGoods();
+					this.getItemType();
+					this.getCustomerList();
+				}
+			})
+		</script>
+	</body>
 </html>

+ 730 - 731
sp-admin/sa-view/tb-business/tb-car-disincle-edit.html

@@ -1,209 +1,208 @@
 <!DOCTYPE html>
 <html>
-<head>
-    <title>入境登记-添加/修改</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-    <meta name="viewport"
-          content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
-    <!-- 所有的 css js 资源 -->
-    <link rel="stylesheet" href="../../static/kj/element-ui/theme-chalk/index.css">
-    <link rel="stylesheet" href="../../static/sa.css">
-    <script src="../../static/kj/vue.min.js"></script>
-    <script src="../../static/kj/element-ui/index.js"></script>
-    <script src="../../static/kj/httpVueLoader.js"></script>
-    <script src="../../static/kj/jquery.min.js"></script>
-    <script src="../../static/kj/layer/layer.js"></script>
-    <script src="../../static/sa.js"></script>
-    <script src="../../static/kj/upload-util.js"></script>
-    <style type="text/css">
-        .c-panel .el-form .c-label {
-            width: 7em !important;
-        }
+	<head>
+		<title>入境登记-添加/修改</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+		<meta name="viewport"
+			content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
+		<!-- 所有的 css js 资源 -->
+		<link rel="stylesheet" href="../../static/kj/element-ui/theme-chalk/index.css">
+		<link rel="stylesheet" href="../../static/sa.css">
+		<script src="../../static/kj/vue.min.js"></script>
+		<script src="../../static/kj/element-ui/index.js"></script>
+		<script src="../../static/kj/httpVueLoader.js"></script>
+		<script src="../../static/kj/jquery.min.js"></script>
+		<script src="../../static/kj/layer/layer.js"></script>
+		<script src="../../static/sa.js"></script>
+		<script src="../../static/kj/upload-util.js"></script>
+		<style type="text/css">
+			.c-panel .el-form .c-label {
+				width: 7em !important;
+			}
 
-        .c-panel .el-form .c-panel .el-form {
-            width: 180px;
-        }
+			.c-panel .el-form .c-panel .el-form {
+				width: 180px;
+			}
 
-        .item-num .el-input__inner {
-            width: 130px;
-        }
+			.item-num .el-input__inner {
+				width: 130px;
+			}
 
-        .xj {
-            display: inline;
-            color: red;
-            margin-left: 9px;
-            font-weight: bold;
-        }
+			.xj {
+				display: inline;
+				color: red;
+				margin-left: 9px;
+				font-weight: bold;
+			}
 
-        .hj {
-            color: red;
-            margin-left: 9px;
-            font-weight: bold;
+			.hj {
+				color: red;
+				margin-left: 9px;
+				font-weight: bold;
 
-        }
-    </style>
-</head>
-<body>
-<div class="vue-box sbot" style="display: none;" :style="'display: block;'">
-    <!-- ------- 内容部分 ------- -->
-    <div class="s-body">
-        <div class="c-panel">
-            <div class="c-title">数据添加</div>
-            <el-form v-if="m" label-position="left">
-                <el-row>
-                    <el-card class="box-card">
-                        <div slot="header" class="clearfix">
-                            <span>基本资料</span>
-                        </div>
-                        <div>
-                            <el-row>
-                                <el-col span=8>
-                                    <div class="c-item">
-                                        <label class="c-label"><span style="color: red;">*</span>业务项目:</label>
-                                        <el-select v-model="m.goodsId" placeholder="请选择" @change="goodsChange">
-                                            <el-option v-for="item in goodsList" :key="item.id"
-                                                       :label="item.name" :value="item.id">
-                                            </el-option>
-                                        </el-select>
-                                    </div>
-                                    <div class="c-item" v-if="goods.needDeclare==1">
-                                        <label class="c-label">
-                                            <span style="color: red;">*</span>
-                                            申报单号:</label>
-                                        <el-input v-model="m.declareNo" placeholder="选择申报单"
-                                                  :readonly="goods.needDeclare==1" clearable>
-                                        </el-input>
-                                        <div style="cursor: pointer;color: blue;display: inline;"
-                                             @click="handlerDeclare">
-                                            <i class="el-icon-folder-add"></i>
-                                        </div>
-                                    </div>
-                                </el-col>
-                                <el-col span=8>
-                                    <div class="c-item" v-if="goods.needCustomer">
-                                        <label class="c-label"><span style="color: red;">*</span>客户:</label>
-                                        <el-select
-                                                :disabled="goods.needDeclare||m.declareNo||currentCustomerId!='1'"
-                                                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" v-if="goods.needOwner==1">
-                                        <label class="c-label">
-                                            <span style="color: red;">*</span>
-                                            货主:</label>
-                                        <el-input v-model="m.owner" placeholder="填写货主" clearable>
-                                        </el-input>
-                                    </div>
-                                </el-col>
-                                <el-col span=8>
-                                    <div class="c-item">
-                                        <label class="c-label">作业人员:</label>
-                                        <el-input v-model="m.operator" placeholder="作业人员" clearable>
-                                        </el-input>
-                                    </div>
-                                    <div class="c-item">
-                                        <label class="c-label"><span style="color: red;"
-                                                                     v-if="goods.needOperateTime==1">*</span>作业时间:</label>
-                                        <el-date-picker type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
-                                                        v-model="m.operateTime"></el-date-picker>
-                                    </div>
-                                </el-col>
-                            </el-row>
-                        </div>
-                    </el-card>
-                </el-row>
-                <el-row>
-                    <el-card class="box-card">
-                        <div slot="header" class="clearfix">
-                            <span>车辆</span>
-                            <el-button style="float: right;"
-                                       icon="el-icon-plus" type="primary"
-                                       @click="showAddModal" v-if="goods.mulCar==1||car.list.length==0">添加
-                            </el-button>
-                        </div>
-                        <el-table :data="car.list">
-                            <el-table-column type="index" width="50" label="序号">
-                            </el-table-column>
-                            <el-table-column prop="carNo" label="车牌号">
-                            </el-table-column>
-                            <el-table-column prop="carSize" label="规格(米)">
-                            </el-table-column>
-                            <el-table-column prop="carType" label="类型">
-                            </el-table-column>
-                            <el-table-column prop="netWeight" label="载重(kg)">
-                            </el-table-column>
-                            <el-table-column label="操作">
-                                <template slot-scope="s">
-                                    <el-button class="c-btn" type="info" @click="editFn(s.row)">修改</el-button>
-                                    <el-button class="c-btn" type="danger" @click="deleteFn(s.row)">删除
-                                    </el-button>
-                                </template>
-                            </el-table-column>
-                        </el-table>
-                    </el-card>
-                </el-row>
-                <el-row>
-                    <el-card class="box-card">
-                        <div slot="header" class="clearfix">
-                            <span>收费项</span>
-                        </div>
-                        <div>
-                            <el-form-item v-for="(type,index) in itemTypeList">
-                                <el-row justify="center">
-                                    <el-col span="9">
-                                        <label style="color: red;"
-                                               v-if="type.need==1">*</label><label>{{type.name}}:</label>
-                                        <el-select v-model="type.itemId" style="width: 120px;"
-                                                   @change="itemChange(type)" placeholder="请选择">
-                                            <el-option v-for="item in type.items" :key="item.id"
-                                                       :label="item.itemName" :value="item.id">
-                                            </el-option>
-                                        </el-select>
-                                    </el-col>
-                                    <el-col span="7">
-                                        <el-input-number style="margin-left: 60px;" class="item-num"
-                                                         v-model="type.num" :min="1" :max="10" size="mini"
-                                                         :disabled="type.inc==0"></el-input-number>
-                                        <div class="xj" v-if="type.itemId">
-                                            {{type.price * type.num}}元
-                                            <label @click="cleanItem(type)"
-                                                   style="margin-left: 5px;cursor: pointer">(<i
-                                                    class="el-icon-delete"></i>)</label>
-                                        </div>
-                                    </el-col>
-                                    <el-col span="8">
-                                        <label class="c-label">
-                                            备注:</label>
-                                        <el-input v-model="type.remark" placeholder="请输入备注" clearable>
-                                        </el-input>
-                                    </el-col>
-                                </el-row>
-                                <el-divider></el-divider>
-                            </el-form-item>
-                            <div class="hj" v-if="totalPrice>0">
-                                合计费用:{{totalPrice}}<label>元</label>
-                            </div>
-                        </div>
-                    </el-card>
-                </el-row>
-            </el-form>
-        </div>
-    </div>
-    <!-- ------- 底部按钮 ------- -->
-    <div class="s-foot">
-        <el-button type="primary" @click="ok()">确定</el-button>
-        <el-button @click="closeFn()">取消</el-button>
-    </div>
-    <el-dialog title="车辆录入" :visible.sync="car.visible" width="400">
+			}
+		</style>
+	</head>
+	<body>
+		<div class="vue-box sbot" style="display: none;" :style="'display: block;'">
+			<!-- ------- 内容部分 ------- -->
+			<div class="s-body">
+				<div class="c-panel">
+					<div class="c-title">数据添加</div>
+					<el-form v-if="m" label-position="left">
+						<el-row>
+							<el-card class="box-card">
+								<div slot="header" class="clearfix">
+									<span>基本资料</span>
+								</div>
+								<div>
+									<el-row>
+										<el-col span=8>
+											<div class="c-item">
+												<label class="c-label"><span style="color: red;">*</span>业务项目:</label>
+												<el-select v-model="m.goodsId" placeholder="请选择" @change="goodsChange">
+													<el-option v-for="item in goodsList" :key="item.id"
+														:label="item.name" :value="item.id">
+													</el-option>
+												</el-select>
+											</div>
+											<div class="c-item" v-if="goods.needDeclare==1">
+												<label class="c-label">
+													<span style="color: red;">*</span>
+													申报单号:</label>
+												<el-input v-model="m.declareNo" placeholder="选择申报单"
+													:readonly="goods.needDeclare==1" clearable>
+												</el-input>
+												<div style="cursor: pointer;color: blue;display: inline;"
+													@click="handlerDeclare">
+													<i class="el-icon-folder-add"></i>
+												</div>
+											</div>
+										</el-col>
+										<el-col span=8>
+											<div class="c-item" v-if="goods.needCustomer">
+												<label class="c-label"><span style="color: red;">*</span>客户:</label>
+												<el-select
+													:disabled="goods.needDeclare||m.declareNo||currentCustomerId!='1'"
+													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" v-if="goods.needOwner==1">
+												<label class="c-label">
+													<span style="color: red;">*</span>
+													货物:</label>
+												<el-input v-model="m.businessGoodsName" placeholder="填写货物" clearable>
+												</el-input>
+											</div>
+										</el-col>
+										<el-col span=8>
+											<div class="c-item">
+												<label class="c-label">作业人员:</label>
+												<el-input v-model="m.operator" placeholder="作业人员" clearable>
+												</el-input>
+											</div>
+											<div class="c-item" v-if="goods.needOperateTime==1">
+												<label class="c-label"><span style="color: red;">*</span>件数:</label>
+												<el-input-number class="item-num" v-model="m.businessGoodsNum" :min="1"
+													:max="99999" size="mini">
+												</el-input-number>
+											</div>
+										</el-col>
+									</el-row>
+								</div>
+							</el-card>
+						</el-row>
+						<el-row>
+							<el-card class="box-card">
+								<div slot="header" class="clearfix">
+									<span>车辆</span>
+									<el-button style="float: right;" icon="el-icon-plus" type="primary"
+										@click="showAddModal" v-if="goods.mulCar==1||car.list.length==0">添加
+									</el-button>
+								</div>
+								<el-table :data="car.list">
+									<el-table-column type="index" width="50" label="序号">
+									</el-table-column>
+									<el-table-column prop="carNo" label="车牌号">
+									</el-table-column>
+									<el-table-column prop="carSize" label="规格(米)">
+									</el-table-column>
+									<el-table-column prop="carType" label="类型">
+									</el-table-column>
+									<el-table-column prop="netWeight" label="载重(kg)">
+									</el-table-column>
+									<el-table-column label="操作">
+										<template slot-scope="s">
+											<el-button class="c-btn" type="info" @click="editFn(s.row)">修改</el-button>
+											<el-button class="c-btn" type="danger" @click="deleteFn(s.row)">删除
+											</el-button>
+										</template>
+									</el-table-column>
+								</el-table>
+							</el-card>
+						</el-row>
+						<el-row>
+							<el-card class="box-card">
+								<div slot="header" class="clearfix">
+									<span>收费项</span>
+								</div>
+								<div>
+									<el-form-item v-for="(type,index) in itemTypeList">
+										<el-row justify="center">
+											<el-col span="9">
+												<label style="color: red;"
+													v-if="type.need==1">*</label><label>{{type.name}}:</label>
+												<el-select v-model="type.itemId" style="width: 120px;"
+													@change="itemChange(type)" placeholder="请选择">
+													<el-option v-for="item in type.items" :key="item.id"
+														:label="item.itemName" :value="item.id">
+													</el-option>
+												</el-select>
+											</el-col>
+											<el-col span="7">
+												<el-input-number style="margin-left: 60px;" class="item-num"
+													v-model="type.num" :min="1" :max="10" size="mini"
+													:disabled="type.inc==0"></el-input-number>
+												<div class="xj" v-if="type.itemId">
+													{{type.price * type.num}}元
+													<label @click="cleanItem(type)"
+														style="margin-left: 5px;cursor: pointer">(<i
+															class="el-icon-delete"></i>)</label>
+												</div>
+											</el-col>
+											<el-col span="8">
+												<label class="c-label">
+													备注:</label>
+												<el-input v-model="type.remark" placeholder="请输入备注" clearable>
+												</el-input>
+											</el-col>
+										</el-row>
+										<el-divider></el-divider>
+									</el-form-item>
+									<div class="hj" v-if="totalPrice>0">
+										合计费用:{{totalPrice}}<label>元</label>
+									</div>
+								</div>
+							</el-card>
+						</el-row>
+					</el-form>
+				</div>
+			</div>
+			<!-- ------- 底部按钮 ------- -->
+			<div class="s-foot">
+				<el-button type="primary" @click="ok()">确定</el-button>
+				<el-button @click="closeFn()">取消</el-button>
+			</div>
+			<el-dialog title="车辆录入" :visible.sync="car.visible" width="400">
 				<span>
 					<el-form label-position="left">
 						<div class="c-item">
 							<label class="c-label"><span style="color: red;">*</span>车牌号:</label>
 							<el-autocomplete v-model="car.form.carNo" placeholder="请输入车牌号" value-key='carNo'
-                                             :fetch-suggestions="queryCarAsync">
+								:fetch-suggestions="queryCarAsync">
 							</el-autocomplete>
 						</div>
 						<div class="c-item">
@@ -229,553 +228,553 @@
 						</div>
 					</el-form>
 				</span>
-        <span slot="footer" class="dialog-footer">
+				<span slot="footer" class="dialog-footer">
 					<el-button @click="car.visible = false">取 消</el-button>
 					<el-button type="primary" @click="confirmAdd">确 定</el-button>
 				</span>
-    </el-dialog>
-    <el-dialog title="申报单" :visible.sync="declare.visible" width="90%">
-        <div class="delect-search">
-            申报人:
-            <el-input style="width: 140px;" v-model="declare.p.declarePeople" placeholder="申报人">
-            </el-input>
-            <el-button type="primary" @click="getDeclareList">搜索</el-button>
-            <el-button type="info" @click="resetDclare">重置</el-button>
-        </div>
-        <el-card class="box-card" style="margin-top: 20px;">
-            <div slot="header">
-                <span>列表</span>
-            </div>
-            <el-table :data="declare.list" ref="declareTable">
-                <el-table-column type="selection">
-                </el-table-column>
-                <el-table-column prop="declarePeople" label="申报人">
-                </el-table-column>
-                <el-table-column prop="customerName" label="申报公司" width=200>
-                </el-table-column>
-                <el-table-column prop="sendUnit" label="货主" width=200>
-                </el-table-column>
-                <el-table-column prop="createTime" width="140" label="申报时间">
-                </el-table-column>
-                <el-table-column prop="declareNo" width="180" label="申报单号">
-                </el-table-column>
-                <el-table-column prop="goodsName" label="产品学名">
-                </el-table-column>
-                <el-table-column prop="carNo" label="越南车牌">
-                </el-table-column>
-                <el-table-column prop="grossWeight" label="毛重(kg)">
-                </el-table-column>
-            </el-table>
-            <div class="block">
-                <el-pagination layout="prev, pager, next" @current-change="getDeclareList"
-                               :page-size="declare.p.pageSize" :total="declare.p.dataCount"
-                               :current-page="declare.p.pageNo">
-                </el-pagination>
-            </div>
-        </el-card>
-        <span slot="footer" class="dialog-footer">
+			</el-dialog>
+			<el-dialog title="申报单" :visible.sync="declare.visible" width="90%">
+				<div class="delect-search">
+					申报人:
+					<el-input style="width: 140px;" v-model="declare.p.declarePeople" placeholder="申报人">
+					</el-input>
+					<el-button type="primary" @click="getDeclareList">搜索</el-button>
+					<el-button type="info" @click="resetDclare">重置</el-button>
+				</div>
+				<el-card class="box-card" style="margin-top: 20px;">
+					<div slot="header">
+						<span>列表</span>
+					</div>
+					<el-table :data="declare.list" ref="declareTable">
+						<el-table-column type="selection">
+						</el-table-column>
+						<el-table-column prop="declarePeople" label="申报人">
+						</el-table-column>
+						<el-table-column prop="customerName" label="申报公司" width=200>
+						</el-table-column>
+						<el-table-column prop="sendUnit" label="货主" width=200>
+						</el-table-column>
+						<el-table-column prop="createTime" width="140" label="申报时间">
+						</el-table-column>
+						<el-table-column prop="declareNo" width="180" label="申报单号">
+						</el-table-column>
+						<el-table-column prop="goodsName" label="产品学名">
+						</el-table-column>
+						<el-table-column prop="carNo" label="越南车牌">
+						</el-table-column>
+						<el-table-column prop="grossWeight" label="毛重(kg)">
+						</el-table-column>
+					</el-table>
+					<div class="block">
+						<el-pagination layout="prev, pager, next" @current-change="getDeclareList"
+							:page-size="declare.p.pageSize" :total="declare.p.dataCount"
+							:current-page="declare.p.pageNo">
+						</el-pagination>
+					</div>
+				</el-card>
+				<span slot="footer" class="dialog-footer">
 					<el-button @click="declare.visible = false">取 消</el-button>
 					<el-button type="primary" @click="confirmSelectDeclare">确 定</el-button>
 				</span>
-    </el-dialog>
-</div>
-<script>
-    var app = new Vue({
-        components: {
-            "sa-item": httpVueLoader('../../sa-frame/com/sa-item.vue'),
-            "sa-td": httpVueLoader('../../sa-frame/com/sa-td.vue')
-        },
-        el: '.vue-box',
-        data: {
-            m: {
-                id: sa.p('id', ''), // 主键
-                customerId: '', // 客户id
-                customerName: '', // 客户名称
-                operateTime: '',
-                no: '', // 编号
-                goodsId: '',
-                goodsName: '', // 商品
-            }, // 实体对象
-            customerList: [],
-            carList: [],
-            currentCustomerId: 1,
-            itemTypeList: [],
-            filterTypeList: [],
-            goodsList: [],
-            tableData: [],
-            car: {
-                visible: false,
-                list: [],
-                form: {
-                    carNo: '',
-                    carType: '',
-                    netWeight: '',
-                    carSize: ''
-                }
-            },
-            declare: {
-                visible: false,
-                list: [],
-                p: {
-                    pageNo: 1,
-                    pageSize: 8,
-                    dataCount: 0,
-                    declarePeople: '',
-                    production: '',
-                    declareNo: '1'
-                }
-            },
-            goods: {
-                id: '',
-                name: '',
-                needWeight: 1,
-                needCarSize: 1,
-                needDeclare: 1,
-                needOperateTime: 1,
-                mulCar: 0
-            },
-            carTypeList: [],
-            intiItems: []
-        },
-        computed: {
-            totalPrice() {
-                let itemList = this.itemTypeList.filter(obj => obj.itemId);
-                let price = 0;
-                for (let i in itemList) {
-                    let type = itemList[i];
-                    let num = type.num;
-                    let items = type.items;
-                    for (let j in items) {
-                        let item = items[j];
-                        if (item.id == type.itemId) {
-                            price += num * item.price;
-                            break;
-                        }
-                    }
-                }
-                return price;
-            }
-        },
-        methods: {
-            resetDclare() {
-                this.declare.p.pageNo = 1;
-                this.declare.p.pageSize = 8;
-                this.declare.p.production = '';
-                this.declare.p.declarePeople = '';
-                this.getDeclareList();
-            },
-            handlerDeclare() {
-                this.declare.visible = true;
-                this.getDeclareList();
-            },
-            getDeclareList() {
-                let currentCustomerId = this.currentCustomerId;
-                if (currentCustomerId != '1') {
-                    this.declare.p.customerId = this.currentCustomerId;
-                }
-                let declareNo = this.m.declareNo;
-                if (declareNo) {
-                    this.declare.p.declareNo = declareNo;
-                }
-                sa.ajax('/TbDeclare/getNotBindList', sa.removeNull(this.declare.p), function (resp) {
-                    let list = resp.data;
-                    this.declare.list = list;
-                    this.declare.p.pageNo = resp.pageNo;
-                    this.declare.p.dataCount = resp.dataCount;
-                    list.forEach(row => {
-                        if (row.declareNo == this.m.declareNo) {
-                            this.$nextTick(() => {
-                                this.$refs['declareTable'].toggleRowSelection(row, true)
-                            })
-                        }
-                    })
-                }.bind(this))
-            },
-            confirmSelectDeclare() {
-                // 获取选中元素的id列表
-                let selection = this.$refs['declareTable'].selection;
-                let declareNo = sa.getArrayField(selection, 'declareNo');
-                if (selection.length == 0) {
-                    return sa.msg('请至少选择一条数据')
-                }
-                if (selection.length > 1) {
-                    return sa.msg('只能选择一条数据')
-                }
-                let declare = selection[0];
-                let oldNo = this.m.declareNo;
-                if (oldNo && oldNo !== declare.declareNo) {
-                    this.car.list = [];
-                }
-                if (oldNo !== declare.declareNo) {
-                    this.m.declareNo = declare.declareNo;
-                    this.m.customerId = declare.customerId;
-                    this.m.customerName = declare.customerName;
-                    this.m.owner = declare.sendUnit;
-                    let carNo = declare.carNo;
-                    let grossWeight = declare.grossWeight;
-                    let carList = this.car.list;
-                    let exit = carList.filter(obj => obj.carNo == carNo).pop();
-                    if (!exit) {
-                        let car = {
-                            carNo: carNo,
-                            netWeight: grossWeight,
-                            carType: '载重'
-                        }
-                        this.car.list.push(car)
-                    }
-                    this.m.cardNo = declare.carNo;
-                    this.m.chinaCarNo = declare.chinaCarNo;
-                    this.m.netWeight = declare.grossWeight;
-                    let chinaCarNo = declare.chinaCarNo;
-                    if (chinaCarNo) {
-                        let list = [];
-                        chinaCarNo.replace(",", ",").split(",").forEach(carNo => {
-                            let exit = carList.filter(obj => obj.carNo == carNo).pop();
-                            if (!exit) {
-                                let car = {
-                                    carNo: carNo,
-                                    carType: '空车'
-                                }
-                                this.car.list.push(car)
-                            }
-                        })
-                    }
-                    this.filterItems();
-                }
-                this.declare.visible = false;
-            },
-            cleanItem(type) {
-                type.itemId = '';
-                type.itemName = '';
-                type.price = '';
-            },
-            itemChange(type) {
-                let itemId = type.itemId;
-                let item = type.items.filter(obj => obj.id == itemId).pop();
-                if (item) {
-                    type.inc = item.inc;
-                    type.price = item.price;
-                }
-                this.validBefore();
-            },
-            confirmAdd() {
-                let list = this.car.list;
-                let weightCar = list.filter(car => car.carType && car.carType.indexOf('空') == -1).pop();
-                let carNo = this.car.form.carNo;
-                let netWeight = this.car.form.netWeight;
-                let goods = this.goods;
-                let form = this.car.form;
-                let carType = form.carType;
-                if (!carNo) {
-                    sa.error('请录入车牌号')
-                    return false;
-                }
-                if (!form.carSize && goods.needCarSize == 1) {
-                    sa.error('请填入车辆规格')
-                    return false;
-                }
-                if (carType.indexOf('空') !== -1) {
-                    netWeight = 0;
-                }
+			</el-dialog>
+		</div>
+		<script>
+			var app = new Vue({
+				components: {
+					"sa-item": httpVueLoader('../../sa-frame/com/sa-item.vue'),
+					"sa-td": httpVueLoader('../../sa-frame/com/sa-td.vue')
+				},
+				el: '.vue-box',
+				data: {
+					m: {
+						id: sa.p('id', ''), // 主键
+						customerId: '', // 客户id
+						customerName: '', // 客户名称
+						operateTime: '',
+						no: '', // 编号
+						goodsId: '',
+						goodsName: '', // 商品
+					}, // 实体对象
+					customerList: [],
+					carList: [],
+					currentCustomerId: 1,
+					itemTypeList: [],
+					filterTypeList: [],
+					goodsList: [],
+					tableData: [],
+					car: {
+						visible: false,
+						list: [],
+						form: {
+							carNo: '',
+							carType: '',
+							netWeight: '',
+							carSize: ''
+						}
+					},
+					declare: {
+						visible: false,
+						list: [],
+						p: {
+							pageNo: 1,
+							pageSize: 8,
+							dataCount: 0,
+							declarePeople: '',
+							production: '',
+							declareNo: '1'
+						}
+					},
+					goods: {
+						id: '',
+						name: '',
+						needWeight: 1,
+						needCarSize: 1,
+						needDeclare: 1,
+						needOperateTime: 1,
+						mulCar: 0
+					},
+					carTypeList: [],
+					intiItems: []
+				},
+				computed: {
+					totalPrice() {
+						let itemList = this.itemTypeList.filter(obj => obj.itemId);
+						let price = 0;
+						for (let i in itemList) {
+							let type = itemList[i];
+							let num = type.num;
+							let items = type.items;
+							for (let j in items) {
+								let item = items[j];
+								if (item.id == type.itemId) {
+									price += num * item.price;
+									break;
+								}
+							}
+						}
+						return price;
+					}
+				},
+				methods: {
+					resetDclare() {
+						this.declare.p.pageNo = 1;
+						this.declare.p.pageSize = 8;
+						this.declare.p.production = '';
+						this.declare.p.declarePeople = '';
+						this.getDeclareList();
+					},
+					handlerDeclare() {
+						this.declare.visible = true;
+						this.getDeclareList();
+					},
+					getDeclareList() {
+						let currentCustomerId = this.currentCustomerId;
+						if (currentCustomerId != '1') {
+							this.declare.p.customerId = this.currentCustomerId;
+						}
+						let declareNo = this.m.declareNo;
+						if (declareNo) {
+							this.declare.p.declareNo = declareNo;
+						}
+						sa.ajax('/TbDeclare/getNotBindList', sa.removeNull(this.declare.p), function(resp) {
+							let list = resp.data;
+							this.declare.list = list;
+							this.declare.p.pageNo = resp.pageNo;
+							this.declare.p.dataCount = resp.dataCount;
+							list.forEach(row => {
+								if (row.declareNo == this.m.declareNo) {
+									this.$nextTick(() => {
+										this.$refs['declareTable'].toggleRowSelection(row, true)
+									})
+								}
+							})
+						}.bind(this))
+					},
+					confirmSelectDeclare() {
+						// 获取选中元素的id列表
+						let selection = this.$refs['declareTable'].selection;
+						let declareNo = sa.getArrayField(selection, 'declareNo');
+						if (selection.length == 0) {
+							return sa.msg('请至少选择一条数据')
+						}
+						if (selection.length > 1) {
+							return sa.msg('只能选择一条数据')
+						}
+						let declare = selection[0];
+						let oldNo = this.m.declareNo;
+						if (oldNo && oldNo !== declare.declareNo) {
+							this.car.list = [];
+						}
+						if (oldNo !== declare.declareNo) {
+							this.m.declareNo = declare.declareNo;
+							this.m.customerId = declare.customerId;
+							this.m.customerName = declare.customerName;
+							this.m.owner = declare.sendUnit;
+							let carNo = declare.carNo;
+							let grossWeight = declare.grossWeight;
+							let carList = this.car.list;
+							let exit = carList.filter(obj => obj.carNo == carNo).pop();
+							if (!exit) {
+								let car = {
+									carNo: carNo,
+									netWeight: grossWeight,
+									carType: '载重'
+								}
+								this.car.list.push(car)
+							}
+							this.m.cardNo = declare.carNo;
+							this.m.chinaCarNo = declare.chinaCarNo;
+							this.m.netWeight = declare.grossWeight;
+							let chinaCarNo = declare.chinaCarNo;
+							if (chinaCarNo) {
+								let list = [];
+								chinaCarNo.replace(",", ",").split(",").forEach(carNo => {
+									let exit = carList.filter(obj => obj.carNo == carNo).pop();
+									if (!exit) {
+										let car = {
+											carNo: carNo,
+											carType: '空车'
+										}
+										this.car.list.push(car)
+									}
+								})
+							}
+							this.filterItems();
+						}
+						this.declare.visible = false;
+					},
+					cleanItem(type) {
+						type.itemId = '';
+						type.itemName = '';
+						type.price = '';
+					},
+					itemChange(type) {
+						let itemId = type.itemId;
+						let item = type.items.filter(obj => obj.id == itemId).pop();
+						if (item) {
+							type.inc = item.inc;
+							type.price = item.price;
+						}
+						this.validBefore();
+					},
+					confirmAdd() {
+						let list = this.car.list;
+						let weightCar = list.filter(car => car.carType && car.carType.indexOf('空') == -1).pop();
+						let carNo = this.car.form.carNo;
+						let netWeight = this.car.form.netWeight;
+						let goods = this.goods;
+						let form = this.car.form;
+						let carType = form.carType;
+						if (!carNo) {
+							sa.error('请录入车牌号')
+							return false;
+						}
+						if (!form.carSize && goods.needCarSize == 1) {
+							sa.error('请填入车辆规格')
+							return false;
+						}
+						if (carType.indexOf('空') !== -1) {
+							netWeight = 0;
+						}
 
-                let index = list.map(obj => obj.carNo).indexOf(carNo);
-                if (index > -1) {
-                    list.splice(index, 1);
-                }
-                let carSize = form.carSize;
-                let car = {
-                    id: form.id,
-                    carNo: form.carNo.toUpperCase(),
-                    carType: carType,
-                    carSize: carSize,
-                    netWeight: netWeight
-                }
-                this.car.list.push(car);
-                this.car.visible = false;
-                if (weightCar) {
-                    if (weightCar.carType == carType &&
-                        carSize == weightCar.carSize &&
-                        netWeight == weightCar.netWeight) {
-                        return;
-                    }
-                }
+						let index = list.map(obj => obj.carNo).indexOf(carNo);
+						if (index > -1) {
+							list.splice(index, 1);
+						}
+						let carSize = form.carSize;
+						let car = {
+							id: form.id,
+							carNo: form.carNo.toUpperCase(),
+							carType: carType,
+							carSize: carSize,
+							netWeight: netWeight
+						}
+						this.car.list.push(car);
+						this.car.visible = false;
+						if (weightCar) {
+							if (weightCar.carType == carType &&
+								carSize == weightCar.carSize &&
+								netWeight == weightCar.netWeight) {
+								return;
+							}
+						}
 
-                this.filterItems();
-            },
-            filterItems() {
-                let carList = this.car.list;
-                let filterTypeList = JSON.parse(JSON.stringify(this.filterTypeList));
-                if (carList.length == 0) {
-                    this.itemTypeList = filterTypeList;
-                    return;
-                }
-                let car = this.car.form;
-                if (car == null) {
-                    let checkList = carList.filter(obj => obj.carType.indexOf('空') === -1);
-                    if (checkList.length > 0) {
-                        car = checkList[0];
-                    }
-                }
-                let carSize = car.carSize;
-                let carType = car.carType;
-                if (carType.indexOf('空') !== -1 && carList.length > 1) {
-                    return;
-                }
-                let netWeight = car.netWeight;
-                let tempList = [];
-                for (let i in filterTypeList) {
-                    let type = filterTypeList[i];
-                    let items = type.items;
-                    if (carType) {
-                        items = items.filter(item => item.itemType && item.itemType.indexOf(carType) !== -1);
-                    }
-                    if (carSize && carSize > 1) {
-                        items = items.filter(item => item.minLength <= carSize && item.carLength >= carSize);
-                    }
-                    if (netWeight && netWeight > 1 && carType && carType.indexOf('空') == -1) {
-                        items = items.filter(item => item.minWeight <= netWeight && item.maxWeight >= netWeight);
-                    }
-                    let itemIds = items.map(item => item.id);
-                    if (itemIds.indexOf(type.itemId) == -1) {
-                        this.cleanItem(type);
-                    }
-                    type.items = items;
-                    tempList.push(type);
-                }
-                this.itemTypeList = tempList;
-            },
-            showAddModal() {
-                this.car.visible = true;
-                this.car.form.carNo = '';
-                this.car.form.carSize = '';
-                this.car.form.netWeight = '';
-            },
-            editFn(data) {
-				if(data.confirmJudge===1){
-					sa.error('该车辆已审核,请先驳回审核在修改');
-					return;
-				}
-                Object.assign(this.car, {
-                    visible: true,
-                    form: JSON.parse(JSON.stringify(data))
-                })
-            },
-            deleteFn(data) {
-				let confirmJudge=data.confirmJudge;
-				if(confirmJudge==1){
-					sa.error('业务已审核,请先驳回');
-					return;
-				}
-                this.car.list.splice(this.car.list.indexOf(data), 1);
-                this.filterItems();
-            },
-            getGoods() {
-                sa.ajaxNoLoading('/TbGoods/getList', {
-                    pageNo: 1,
-                    pageSize: 10
-                }, function (resp) {
-                    let list = resp.data;
-                    this.goods = list.filter(goods => goods.id == this.m.goodsId).pop();
-                    this.goodsList = list;
-                    this.getTypeByGoodsId();
-                }.bind(this))
-            },
-            goodsChange(v) {
-                let goodsList = this.goodsList;
-                let goods = goodsList.filter(goods => goods.id == v).pop();
-                this.goods = goods;
-                this.m.goodsName = goods.name;
-                this.getTypeByGoodsId();
-            },
-            getTypeByGoodsId() {
-                sa.ajax('/TbItemType/getTypeByGoodsId', {
-                    goodsId: this.m.goodsId
-                }, function (resp) {
-                    let list = resp.data;
-                    let initItems = this.intiItems;
-                    for (let i in initItems) {
-                        let initItem = initItems[i];
-                        for (let j in list) {
-                            let type = list[j];
-                            if (type.id == initItem.itemTypeId) {
-                                type.num = initItem.num;
-                                type.price = initItem.itemPrice;
-                                type.itemId = initItem.itemId;
-                                type.remark = initItem.remark;
-                            }
-                        }
-                    }
-                    this.itemTypeList = list;
-                    this.filterTypeList = JSON.parse(JSON.stringify(this.itemTypeList));
-                    //this.filterItems();
-                }.bind(this))
-            },
-            getItemType() {
-                sa.ajax('/TbItem/getItemType', function (resp) {
-                    let list = resp.data;
-                    if (list.length > 0) {
-                        this.car.form.carType = list[0].name;
-                    }
-                    this.carTypeList = list;
-                }.bind(this))
-            },
-            carTypeChange(v) {
+						this.filterItems();
+					},
+					filterItems() {
+						let carList = this.car.list;
+						let filterTypeList = JSON.parse(JSON.stringify(this.filterTypeList));
+						if (carList.length == 0) {
+							this.itemTypeList = filterTypeList;
+							return;
+						}
+						let car = this.car.form;
+						if (car == null) {
+							let checkList = carList.filter(obj => obj.carType.indexOf('空') === -1);
+							if (checkList.length > 0) {
+								car = checkList[0];
+							}
+						}
+						let carSize = car.carSize;
+						let carType = car.carType;
+						if (carType.indexOf('空') !== -1 && carList.length > 1) {
+							return;
+						}
+						let netWeight = car.netWeight;
+						let tempList = [];
+						for (let i in filterTypeList) {
+							let type = filterTypeList[i];
+							let items = type.items;
+							if (carType) {
+								items = items.filter(item => item.itemType && item.itemType.indexOf(carType) !== -1);
+							}
+							if (carSize && carSize > 1) {
+								items = items.filter(item => item.minLength <= carSize && item.carLength >= carSize);
+							}
+							if (netWeight && netWeight > 1 && carType && carType.indexOf('空') == -1) {
+								items = items.filter(item => item.minWeight <= netWeight && item.maxWeight >= netWeight);
+							}
+							let itemIds = items.map(item => item.id);
+							if (itemIds.indexOf(type.itemId) == -1) {
+								this.cleanItem(type);
+							}
+							type.items = items;
+							tempList.push(type);
+						}
+						this.itemTypeList = tempList;
+					},
+					showAddModal() {
+						this.car.visible = true;
+						this.car.form.carNo = '';
+						this.car.form.carSize = '';
+						this.car.form.netWeight = '';
+					},
+					editFn(data) {
+						if (data.confirmJudge === 1) {
+							sa.error('该车辆已审核,请先驳回审核在修改');
+							return;
+						}
+						Object.assign(this.car, {
+							visible: true,
+							form: JSON.parse(JSON.stringify(data))
+						})
+					},
+					deleteFn(data) {
+						let confirmJudge = data.confirmJudge;
+						if (confirmJudge == 1) {
+							sa.error('业务已审核,请先驳回');
+							return;
+						}
+						this.car.list.splice(this.car.list.indexOf(data), 1);
+						this.filterItems();
+					},
+					getGoods() {
+						sa.ajaxNoLoading('/TbGoods/getList', {
+							pageNo: 1,
+							pageSize: 10
+						}, function(resp) {
+							let list = resp.data;
+							this.goods = list.filter(goods => goods.id == this.m.goodsId).pop();
+							this.goodsList = list;
+							this.getTypeByGoodsId();
+						}.bind(this))
+					},
+					goodsChange(v) {
+						let goodsList = this.goodsList;
+						let goods = goodsList.filter(goods => goods.id == v).pop();
+						this.goods = goods;
+						this.m.goodsName = goods.name;
+						this.getTypeByGoodsId();
+					},
+					getTypeByGoodsId() {
+						sa.ajax('/TbItemType/getTypeByGoodsId', {
+							goodsId: this.m.goodsId
+						}, function(resp) {
+							let list = resp.data;
+							let initItems = this.intiItems;
+							for (let i in initItems) {
+								let initItem = initItems[i];
+								for (let j in list) {
+									let type = list[j];
+									if (type.id == initItem.itemTypeId) {
+										type.num = initItem.num;
+										type.price = initItem.itemPrice;
+										type.itemId = initItem.itemId;
+										type.remark = initItem.remark;
+									}
+								}
+							}
+							this.itemTypeList = list;
+							this.filterTypeList = JSON.parse(JSON.stringify(this.itemTypeList));
+							//this.filterItems();
+						}.bind(this))
+					},
+					getItemType() {
+						sa.ajax('/TbItem/getItemType', function(resp) {
+							let list = resp.data;
+							if (list.length > 0) {
+								this.car.form.carType = list[0].name;
+							}
+							this.carTypeList = list;
+						}.bind(this))
+					},
+					carTypeChange(v) {
 
-            },
-            getCustomerList() {
-                sa.ajax('/TbCostomer/getList', {
-                    pageNo: 1,
-                    pageSize: 30,
-                    sortType: 20,
-                    judgeStatus: 2
-                }, function (res) {
-                    let list = res.data;
-                    this.customerList = list;
-                }.bind(this));
-            },
-            queryCarAsync(queryStr, cb) {
-                sa.ajaxNoLoading('/TbBusinessCar/searchByNo', {
-                    carNo: queryStr
-                }, function (resp) {
-                    cb(resp.data)
-                }.bind(this))
-            },
-            closeFn() {
-                parent.app.f5();
-                sa.closeCurrIframe();
-            },
-            validBefore() {
-                let goods = this.goods;
-                let needCustomer = goods.needCustomer;
-                let m = this.m;
-                if (goods.needDeclare == 1 && !m.declareNo) {
-                    sa.error('请选择申报单');
-                    return false;
-                }
-                if (needCustomer == 1 && !m.customerId) {
-                    sa.error('请选择客户');
-                    return false;
-                }
-                if (goods.needOperateTime == 1 && !m.operateTime) {
-                    sa.error('请选择作业时间');
-                    return false;
-                }
-                if (!m.owner && goods.needOwner == 1) {
-                    sa.error('请填写货主');
-                    return false;
-                }
-                if (this.car.list.length == 0) {
-                    sa.error('请录入车辆');
-                    return false;
-                }
-                let needCarSize = goods.needCarSize;
-                let carList = this.car.list;
-                for (let i in carList) {
-                    let car = carList[i];
-                    if (needCarSize == 1 && !car.carSize) {
-                        sa.error('请补充' + car.carNo + '规格');
-                        return;
-                    }
+					},
+					getCustomerList() {
+						sa.ajax('/TbCostomer/getList', {
+							pageNo: 1,
+							pageSize: 30,
+							sortType: 20,
+							judgeStatus: 2
+						}, function(res) {
+							let list = res.data;
+							this.customerList = list;
+						}.bind(this));
+					},
+					queryCarAsync(queryStr, cb) {
+						sa.ajaxNoLoading('/TbBusinessCar/searchByNo', {
+							carNo: queryStr
+						}, function(resp) {
+							cb(resp.data)
+						}.bind(this))
+					},
+					closeFn() {
+						parent.app.f5();
+						sa.closeCurrIframe();
+					},
+					validBefore() {
+						let goods = this.goods;
+						let needCustomer = goods.needCustomer;
+						let m = this.m;
+						if (goods.needDeclare == 1 && !m.declareNo) {
+							sa.error('请选择申报单');
+							return false;
+						}
+						if (needCustomer == 1 && !m.customerId) {
+							sa.error('请选择客户');
+							return false;
+						}
+						if (goods.needOperateTime == 1 && (!m.businessGoodsNum || m.businessGoodsNum <= 0)) {
+							sa.error('请输入件数');
+							return false;
+						}
+						if (!m.businessGoodsName && goods.needOwner == 1) {
+							sa.error('请填写货物');
+							return false;
+						}
+						if (this.car.list.length == 0) {
+							sa.error('请录入车辆');
+							return false;
+						}
+						let needCarSize = goods.needCarSize;
+						let carList = this.car.list;
+						for (let i in carList) {
+							let car = carList[i];
+							if (needCarSize == 1 && !car.carSize) {
+								sa.error('请补充' + car.carNo + '规格');
+								return;
+							}
 
-                }
-            },
-            // 提交数据
-            ok: function () {
-                let goods = this.goods;
-                let m = this.m;
-                if (goods.needDeclare == 1 && !m.declareNo) {
-                    sa.error('请选择申报单');
-                    return false;
-                }
-                if (goods.needOperateTime == 1 && !m.operateTime) {
-                    sa.error('请选择作业时间');
-                    return false;
-                }
-                if (!m.owner && goods.needOwner == 1) {
-                    sa.error('请填写货主');
-                    return false;
-                }
-                if (this.car.list.length == 0) {
-                    sa.error('请录入车辆');
-                    return false;
-                }
-                let carList = this.car.list;
-                let needCarSize = goods.needCarSize;
-                for (let i in carList) {
-                    let car = carList[i];
-                    if (needCarSize == 1 && !car.carSize) {
-                        sa.error('请补充' + car.carNo + '规格');
-                        return;
-                    }
+						}
+					},
+					// 提交数据
+					ok: function() {
+						let goods = this.goods;
+						let m = this.m;
+						if (goods.needDeclare == 1 && !m.declareNo) {
+							sa.error('请选择申报单');
+							return false;
+						}
+						if (!m.businessGoodsName && goods.needOwner == 1) {
+							sa.error('请填写货物');
+							return false;
+						}
+						if (goods.needOperateTime == 1 && (!m.businessGoodsNum||m.businessGoodsNum<=0)) {
+							sa.error('请填写货物件数');
+							return false;
+						}
+						if (this.car.list.length == 0) {
+							sa.error('请录入车辆');
+							return false;
+						}
+						let carList = this.car.list;
+						let needCarSize = goods.needCarSize;
+						for (let i in carList) {
+							let car = carList[i];
+							if (needCarSize == 1 && !car.carSize) {
+								sa.error('请补充' + car.carNo + '规格');
+								return;
+							}
 
-                }
-                let typeList = this.itemTypeList;
-                let selectList = [];
-                for (let i in typeList) {
-                    let type = typeList[i];
-                    if (type.need == 1 && !type.itemId) {
-                        sa.error(type.name + '必选');
-                        return false;
-                    }
-                    if (type.itemId) {
-                        let obj = {
-                            typeId: type.id,
-                            typeName: type.name,
-                            id: type.itemId,
-                            num: type.num,
-                            price: type.price,
-                            remark: type.remark
-                        }
-                        selectList.push(obj);
-                    }
-                }
+						}
+						let typeList = this.itemTypeList;
+						let selectList = [];
+						for (let i in typeList) {
+							let type = typeList[i];
+							if (type.need == 1 && !type.itemId) {
+								sa.error(type.name + '必选');
+								return false;
+							}
+							if (type.itemId) {
+								let obj = {
+									typeId: type.id,
+									typeName: type.name,
+									id: type.itemId,
+									num: type.num,
+									price: type.price,
+									remark: type.remark
+								}
+								selectList.push(obj);
+							}
+						}
 
-                m.itemJson = JSON.stringify(selectList);
-                m.carJson = JSON.stringify(carList);
-                let chinaCarNo = carList
-                    .filter(car => sa.isCarNo(car.carNo.toUpperCase()))
-                    .map(car => car.carNo.toUpperCase())
-                    .join("、");
-                let yueCarNo = carList
-                    .filter(car => !sa.isCarNo(car.carNo.toUpperCase()))
-                    .map(car => car.carNo.toUpperCase())
-                    .join("、");
-                m.cardNo = yueCarNo;
-                m.chinaCarNo = chinaCarNo;
-                m.cars = null;
-                m.items = null;
-                sa.ajax('/TbBusiness/editOtherBusiness', sa.removeNull(m), function (res) {
-                    sa.alert('修改成功', this.clean);
-                }.bind(this));
-            },
-            // 添加/修改 完成后的动作
-            clean: function () {
-                parent.app.f5(); // 刷新父页面列表
-                sa.closeCurrIframe(); // 关闭本页
-            },
-            getCurrentCustomer() {
-                sa.ajax('/TbCostomer/getCurrentCustomerId', function (resp) {
-                    let id = resp.data;
-                    this.currentCustomerId = id;
-                }.bind(this));
-            },
-            getOtherBusinessById() {
-                sa.ajax('/TbBusiness/getOtherBusinessById?id=' + this.m.id, function (resp) {
-                    let data = resp.data;
-                    this.car.list = data.cars;
-                    this.intiItems = data.items;
-                    this.m = resp.data;
-                    this.getGoods();
-                }.bind(this))
-            },
-        },
-        mounted: function () {
-            this.getCurrentCustomer();
-            this.getOtherBusinessById();
-            this.getCustomerList();
-            this.getItemType();
-        }
-    })
-</script>
-</body>
+						m.itemJson = JSON.stringify(selectList);
+						m.carJson = JSON.stringify(carList);
+						let chinaCarNo = carList
+							.filter(car => sa.isCarNo(car.carNo.toUpperCase()))
+							.map(car => car.carNo.toUpperCase())
+							.join("、");
+						let yueCarNo = carList
+							.filter(car => !sa.isCarNo(car.carNo.toUpperCase()))
+							.map(car => car.carNo.toUpperCase())
+							.join("、");
+						m.cardNo = yueCarNo;
+						m.chinaCarNo = chinaCarNo;
+						m.cars = null;
+						m.items = null;
+						sa.ajax('/TbBusiness/editOtherBusiness', sa.removeNull(m), function(res) {
+							sa.alert('修改成功', this.clean);
+						}.bind(this));
+					},
+					// 添加/修改 完成后的动作
+					clean: function() {
+						parent.app.f5(); // 刷新父页面列表
+						sa.closeCurrIframe(); // 关闭本页
+					},
+					getCurrentCustomer() {
+						sa.ajax('/TbCostomer/getCurrentCustomerId', function(resp) {
+							let id = resp.data;
+							this.currentCustomerId = id;
+						}.bind(this));
+					},
+					getOtherBusinessById() {
+						sa.ajax('/TbBusiness/getOtherBusinessById?id=' + this.m.id, function(resp) {
+							let data = resp.data;
+							this.car.list = data.cars;
+							this.intiItems = data.items;
+							this.m = resp.data;
+							this.getGoods();
+						}.bind(this))
+					},
+				},
+				mounted: function() {
+					this.getCurrentCustomer();
+					this.getOtherBusinessById();
+					this.getCustomerList();
+					this.getItemType();
+				}
+			})
+		</script>
+	</body>
 </html>

+ 8 - 6
sp-admin/sa-view/tb-business/tb-car-disincle-info.html

@@ -40,9 +40,10 @@
 												<sa-info name="客户名称" br v-if="m.customerName">{{m.customerName}}
 												</sa-info>
 												<sa-info name="业务项目" br>{{m.goodsName}}</sa-info>
-												<sa-info name="作业时间" br>{{m.operateTime}}</sa-info>
+												<!-- <sa-info name="作业时间" br>{{m.operateTime}}</sa-info> -->
 												<sa-info name="业务费用" br>{{m.itemPrice}}(元)</sa-info>
-												<sa-info name="支付时间" br>{{m.payTime}}</sa-info>
+												<sa-info name="货物" br v-if="m.businessGoodsName">{{m.businessGoodsName}}</sa-info>
+												<sa-info name="件数" br v-if="m.businessGoodsNum">{{m.businessGoodsNum}}</sa-info>
 												<sa-info name="补录人" br v-if="m.supplementBy">{{m.supplementBy}}
 												</sa-info>
 												<sa-info name="补录时间" br v-if="m.supplementTime">{{m.supplementTime}}
@@ -55,13 +56,14 @@
 
 											</el-col>
 											<el-col span="12">
-												<sa-info name="货主" br>{{m.owner}}</sa-info>
+												<!-- <sa-info name="货主" br>{{m.owner}}</sa-info> -->
 												<sa-info name="业务编号" br>{{m.no}}</sa-info>
 												<sa-info name="录入时间" br>{{m.createTime}}</sa-info>
-												<sa-info name="录入人" br>{{m.createBy}}</sa-info>
-												<sa-info style="margin-top: 0;" type="enum" name="支付状态" :value="m.payStatus"
-													:jv="{1: '未支付', 2: '已支付未确认', 3: '已支付'}" br>
+												<!-- <sa-info name="录入人" br>{{m.createBy}}</sa-info> -->
+												<sa-info style="margin-top: 0;" type="enum" name="支付状态"
+													:value="m.payStatus" :jv="{1: '未支付', 2: '已支付未确认', 3: '已支付'}" br>
 												</sa-info>
+												<sa-info name="支付时间" br>{{m.payTime}}</sa-info>
 												<sa-info name="发起人" br v-if="m.sendBy">{{m.sendBy}}</sa-info>
 												<sa-info name="发起时间" br v-if="m.sendTime">{{m.sendTime}}</sa-info>
 												<sa-info name="审批结果" br v-if="m.oaResult">{{m.oaResult}}</sa-info>

+ 1 - 2
sp-admin/sa-view/tb-business/tb-car-disincle-list.html

@@ -42,7 +42,6 @@
 					<sa-item type="text" name="业务单号" placeholder="业务单号" v-model="p.no"></sa-item>
 					<sa-item type="text" name="车牌号" placeholder="车牌号" v-model="p.carNo"></sa-item>
 					<sa-item type="text" name="客户" placeholder="客户" v-model="p.customerName"></sa-item>
-					<sa-item type="text" name="货主" placeholder="客户" v-model="p.owner"></sa-item>
 					<div class="c-item">
 						<label class="c-label">确认状态:</label>
 						<el-select v-model="p.adminConfirmInput" placeholder="请选择" @change="f5()">
@@ -73,7 +72,7 @@
 					<el-table-column type="index" width="50"></el-table-column>
 					<sa-td name="业务单号" prop="no" width="160"></sa-td>
 					<sa-td name="客户名称" prop="customerName" width="190"></sa-td>
-					<sa-td name="货主" prop="owner" width="160"></sa-td>
+					<sa-td name="货物" prop="businessGoodsName" width="160"></sa-td>
 					<sa-td name="业务项" prop="goodsName" width="160"></sa-td>
 					<el-table-column label="车牌号" width="160">
 						<template slot-scope="s">

+ 2 - 2
sp-admin/sa-view/tb-goods/tb-goods-list.html

@@ -44,9 +44,9 @@
                    @change="s => updateNeedDeclare(s.row)" width="90"></sa-td>
             <sa-td name="客户" prop="needCustomer" type="switch" :jv="{0: '选填[#005500]', 1: '必填[#ff0000]'}"
                    @change="s => updateNeedCustomer(s.row)" width="90"></sa-td>
-            <sa-td name="货" prop="needOwner" type="switch" :jv="{0: '选填[#005500]', 1: '必填[#ff0000]'}"
+            <sa-td name="货" prop="needOwner" type="switch" :jv="{0: '选填[#005500]', 1: '必填[#ff0000]'}"
                    @change="s => updateNeedOwner(s.row)" width="90"></sa-td>
-            <sa-td name="作业时间" prop="needOperateTime" type="switch" :jv="{0: '选填[#005500]', 1: '必填[#ff0000]'}"
+            <sa-td name="件数" prop="needOperateTime" type="switch" :jv="{0: '选填[#005500]', 1: '必填[#ff0000]'}"
                    @change="s => updateNeedOperateTime(s.row)" width="90"></sa-td>
             <sa-td name="空车" prop="chinaCarPay" type="switch" :jv="{0: '免停车费[#005500]', 1: '收停车费[#ff0000]'}"
                    @change="s => updateChinaCarPay(s.row)" width="120"></sa-td>

+ 2 - 0
sp-server/src/main/java/com/pj/project/tb_business/OtherBusinessBO.java

@@ -21,6 +21,8 @@ public class OtherBusinessBO implements Serializable {
     private String cardNo;
     private Double carSize;
     private String operateTime;
+    private String businessGoodsName;
+    private int businessGoodsNum;
     private String goodsId;
     private String carJson;
     private String itemJson;

+ 8 - 2
sp-server/src/main/java/com/pj/project/tb_business/TbBusiness.java

@@ -284,8 +284,14 @@ public class TbBusiness extends Model<TbBusiness> implements Serializable {
      */
     private String confirmBy;
     private String confirmByAdminId;
-
-
+    /**
+     * 货物
+     */
+    private String businessGoodsName;
+    /**
+     * 件数
+     */
+    private int businessGoodsNum;
 
 
 

+ 1 - 0
sp-server/src/main/java/com/pj/project/tb_business/TbBusinessMapper.xml

@@ -18,6 +18,7 @@
             <if test=' this.has("customerName") '>and customer_name like concat('%', #{customerName} ,'%')</if>
             <if test=' this.has("owner") '>and owner like concat('%', #{owner} ,'%')</if>
             <if test=' this.has("no") '>and no like concat('%', #{no},'%')</if>
+            <if test=' this.has("businessGoodsName") '>and business_goods_name like concat('%', #{businessGoodsName},'%')</if>
             <if test=' this.has("cardNo") '>and card_no like concat('%', #{cardNo} ,'%')</if>
             <if test=' this.has("cardSize") '>and card_size = #{cardSize}</if>
             <if test=' this.has("netWeight") '>and net_weight = #{netWeight}</if>

+ 3 - 1
sp-server/src/main/java/com/pj/project/tb_business/TbBusinessService.java

@@ -786,6 +786,7 @@ public class TbBusinessService extends ServiceImpl<TbBusinessMapper, TbBusiness>
         tbBusiness.setCardSize(otherBusinessBO.getCarSize()).setNetWeight(otherBusinessBO.getNetWeight())
                 .setOperator(otherBusinessBO.getOperator()).setOperateTime(otherBusinessBO.getOperateTime())
                 .setNo(no).setGoodsName(tbGoods.getName()).setGoodsId(otherBusinessBO.getGoodsId())
+                .setBusinessGoodsName(otherBusinessBO.getBusinessGoodsName()).setBusinessGoodsNum(otherBusinessBO.getBusinessGoodsNum())
                 .setPayStep(tbGoods.getPayStep()).setDeclareNo(declareNo).setCardNo(otherBusinessBO.getCardNo());
         tbBusiness.setCreateTime(now).setCreateByCustomerId(StpUserUtil.getCustomerId())
                 .setItemPrice(price).setTotalMoney(price).setOwner(otherBusinessBO.getOwner());
@@ -1007,7 +1008,8 @@ public class TbBusinessService extends ServiceImpl<TbBusinessMapper, TbBusiness>
         }
         dbBusiness.setCardSize(otherBusinessBO.getCarSize()).setNetWeight(otherBusinessBO.getNetWeight())
                 .setOperator(otherBusinessBO.getOperator()).setOperateTime(otherBusinessBO.getOperateTime())
-                .setGoodsId(otherBusinessBO.getGoodsId()).setOwner(otherBusinessBO.getOwner())
+                .setGoodsId(otherBusinessBO.getGoodsId()).setOwner(otherBusinessBO.getOwner()).setBusinessGoodsName(otherBusinessBO.getBusinessGoodsName())
+                .setBusinessGoodsNum(otherBusinessBO.getBusinessGoodsNum())
                 .setDeclareNo(declareNo).setCardNo(otherBusinessBO.getCardNo());
         String chinaCar = cars.stream().filter(tbBusinessCar -> CAR_LIST.contains(StrUtil.sub(tbBusinessCar.getCarNo(), 0, 1)))
                 .map(TbBusinessCar::getCarNo).collect(Collectors.joining("、")).toUpperCase();

+ 1 - 1
sp-server/src/main/java/com/pj/project/tb_goods/TbGoods.java

@@ -85,7 +85,7 @@ public class TbGoods extends Model<TbGoods> implements Serializable {
     private Integer needDeclare;
 
     /**
-     * 申报时间是否必填(1=是,0=否)
+     * 作业时间是否必填(1=是,0=否)===>
      */
     private Integer needOperateTime = 1;
     private Integer payStep = 2;