|
|
@@ -51,75 +51,81 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="row mt-4 ml-1">
|
|
|
- <label class="col-2" for="ownerId"><b class="text-danger">* </b>货主</label>
|
|
|
- <select id="ownerId" v-model="model.owner_id" class="col-4 form-control" :class="errors.owner_id ? 'is-invalid' : ''">
|
|
|
- <option v-for="owner in owners" :value="owner.id">@{{ owner.name }}</option>
|
|
|
- </select>
|
|
|
- <label class="col-2"><input class="form-control rounded-pill" placeholder="搜索货主" @input="seekOwner($event)"></label>
|
|
|
- </div>
|
|
|
- <label class="row mt-0 mb-0 ml-1" v-if="errors.owner_id">
|
|
|
- <label class="offset-2 text-danger font-weight-bold small">@{{ errors.owner_id[0] }}</label>
|
|
|
- </label>
|
|
|
- <div class="row mt-4 ml-1">
|
|
|
- <label class="col-2" for="procurementNumber">采购单号</label>
|
|
|
- <input class="col-6 form-control" type="text" id="procurementNumber" v-model="model.procurement_number" :class="errors.procurement_number ? 'is-invalid' : ''">
|
|
|
- </div>
|
|
|
- <div class="row mt-2 ml-1">
|
|
|
- <label class="col-2" for="asnNumber">ASN单号</label>
|
|
|
- <input class="col-6 form-control" placeholder="可以输入多个,使用空格或逗号分隔" @blur="verifyASN()"
|
|
|
- type="text" id="asnNumber" v-model="model.asn_number" :class="errors.asn_number ? 'is-invalid' : ''">
|
|
|
- </div>
|
|
|
- <div class="row mt-2 ml-1">
|
|
|
- <label class="col-2" for="logistic_number">快递单号</label>
|
|
|
- <input class="col-6 form-control" type="text" id="logistic_number" v-model="model.logistic_number" :class="errors.logistic_number ? 'is-invalid' : ''">
|
|
|
- </div>
|
|
|
- <div class="row mt-2 ml-1">
|
|
|
- <label class="col-2" for="logistic">快递公司</label>
|
|
|
- <select id="logistic" v-model="model.logistic_id" class="col-4 form-control" :class="errors.logistic_id ? 'is-invalid' : ''">
|
|
|
- <option v-for="logistic in logistics" :value="logistic.id">@{{ logistic.name }}</option>
|
|
|
- </select>
|
|
|
- </div>
|
|
|
- <div class="row mt-2 ml-1">
|
|
|
- <label class="col-2" for="warehouse"><b class="text-danger">* </b>仓库</label>
|
|
|
- <select id="warehouse" v-model="model.warehouse_id" class="col-4 form-control" :class="errors.warehouse_id ? 'is-invalid' : ''">
|
|
|
- <option v-for="warehouse in warehouses" :value="warehouse.id">@{{ warehouse.name }}</option>
|
|
|
- </select>
|
|
|
- </div>
|
|
|
- <label class="row mt-0 mb-0 ml-1" v-if="errors.warehouse_id">
|
|
|
- <label class="offset-2 text-danger font-weight-bold small">@{{ errors.warehouse_id[0] }}</label>
|
|
|
- </label>
|
|
|
- <div class="row mt-2 ml-1">
|
|
|
- <label class="col-2" for="cubic_meter"><b class="text-danger">* </b>立方</label>
|
|
|
- <input class="col-3 form-control" type="number" step="0.01" min="0" id="cubic_meter" v-model="model.cubic_meter" :class="errors.cubic_meter ? 'is-invalid' : ''">
|
|
|
- <label class="col-1 offset-2" for="tonne"><b class="text-danger">* </b>吨</label>
|
|
|
- <input class="col-3 form-control" type="number" step="0.01" min="0" id="tonne" v-model="model.tonne" :class="errors.tonne ? 'is-invalid' : ''">
|
|
|
- </div>
|
|
|
- <label class="row mt-0 mb-0 ml-1" v-if="errors.cubic_meter || errors.tonne">
|
|
|
- <label class="offset-2 text-danger col-3 small"><b v-if="errors.cubic_meter">@{{ errors.cubic_meter[0] }}</b></label>
|
|
|
- <label class="offset-3 text-danger font-weight-bold small" v-if="errors.tonne">@{{ errors.tonne[0] }}</label>
|
|
|
- </label>
|
|
|
- <div class="row mt-2 ml-1">
|
|
|
- <label class="col-2" for="box_amount">箱数</label>
|
|
|
- <input class="col-3 form-control" step="1" min="0" type="number" id="box_amount" v-model="model.box_amount" :class="errors.box_amount ? 'is-invalid' : ''">
|
|
|
- </div>
|
|
|
- <label class="row mt-0 mb-0 ml-1" v-if="errors.box_amount">
|
|
|
- <label class="offset-2 text-danger font-weight-bold small">@{{ errors.box_amount[0] }}</label>
|
|
|
- </label>
|
|
|
- <div class="row mt-2 ml-1">
|
|
|
- <label class="col-2" for="isUpload">是否上传明细单</label>
|
|
|
- <input content="col-3" id="isUpload" type="checkbox" class="switch" v-model="model.is_upload">
|
|
|
- <button id="openFile" type="button" class="col-2 offset-1 btn btn-info text-white"
|
|
|
- title="表头必须包含:商品名称 数量 条码"
|
|
|
- :data-toggle="errors.details ? 'popover' : 'tooltip'"
|
|
|
- v-show="model.is_upload" @click="openFile()">
|
|
|
- <span class="fa fa-cloud-upload"></span> 选择文件</button>
|
|
|
- <span v-if="model.is_upload" class="text-secondary mt-1"> @{{ fileName }}</span>
|
|
|
- <label hidden><input type="file" id="file" accept=".csv, .xlsx, .xls" @change="selectedFile($event)"></label>
|
|
|
- </div>
|
|
|
- <div class="row mt-2 ml-1">
|
|
|
- <label class="col-2" for="remark">预约备注</label>
|
|
|
- <textarea class="col-6 form-control" v-model="model.remark" id="remark"></textarea>
|
|
|
+ <div class="row ml-1">
|
|
|
+ <div class="col-6">
|
|
|
+ <div class="row mt-4">
|
|
|
+ <label class="col-3" for="ownerId"><b class="text-danger">* </b>货主</label>
|
|
|
+ <select id="ownerId" v-model="model.owner_id" class="col-5 form-control" :class="errors.owner_id ? 'is-invalid' : ''">
|
|
|
+ <option v-for="owner in owners" :value="owner.id">@{{ owner.name }}</option>
|
|
|
+ </select>
|
|
|
+ <label class="col-4"><input class="form-control form-control-sm rounded-pill" placeholder="搜索货主" @input="seekOwner($event)"></label>
|
|
|
+ </div>
|
|
|
+ <label class="row mt-0 mb-0 ml-1" v-if="errors.owner_id">
|
|
|
+ <label class="offset-2 text-danger font-weight-bold small">@{{ errors.owner_id[0] }}</label>
|
|
|
+ </label>
|
|
|
+ <div class="row mt-2">
|
|
|
+ <label class="col-3" for="procurementNumber">采购单号</label>
|
|
|
+ <input class="col-9 form-control" type="text" id="procurementNumber" v-model="model.procurement_number" :class="errors.procurement_number ? 'is-invalid' : ''">
|
|
|
+ </div>
|
|
|
+ <div class="row mt-2">
|
|
|
+ <label class="col-3" for="asnNumber">ASN单号</label>
|
|
|
+ <input class="col-9 form-control" placeholder="可以输入多个,使用空格或逗号分隔" @blur="verifyASN()"
|
|
|
+ type="text" id="asnNumber" v-model="model.asn_number" :class="errors.asn_number ? 'is-invalid' : ''">
|
|
|
+ </div>
|
|
|
+ <div class="row mt-2">
|
|
|
+ <label class="col-3" for="warehouse"><b class="text-danger">* </b>仓库</label>
|
|
|
+ <select id="warehouse" v-model="model.warehouse_id" class="col-6 form-control" :class="errors.warehouse_id ? 'is-invalid' : ''">
|
|
|
+ <option v-for="warehouse in warehouses" :value="warehouse.id">@{{ warehouse.name }}</option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ <label class="row mt-0 mb-0" v-if="errors.warehouse_id">
|
|
|
+ <label class="offset-2 text-danger font-weight-bold small">@{{ errors.warehouse_id[0] }}</label>
|
|
|
+ </label>
|
|
|
+ <div class="row mt-2">
|
|
|
+ <label class="col-3" for="cubic_meter"><b class="text-danger">* </b>立方</label>
|
|
|
+ <input class="col-3 form-control" type="number" step="0.01" min="0" id="cubic_meter" v-model="model.cubic_meter" :class="errors.cubic_meter ? 'is-invalid' : ''">
|
|
|
+ <label class="col-2 offset-1" for="tonne"><b class="text-danger">* </b>吨</label>
|
|
|
+ <input class="col-3 form-control" type="number" step="0.01" min="0" id="tonne" v-model="model.tonne" :class="errors.tonne ? 'is-invalid' : ''">
|
|
|
+ </div>
|
|
|
+ <label class="row mt-0 mb-0" v-if="errors.cubic_meter || errors.tonne">
|
|
|
+ <label class="offset-2 text-danger col-3 small"><b v-if="errors.cubic_meter">@{{ errors.cubic_meter[0] }}</b></label>
|
|
|
+ <label class="offset-3 text-danger font-weight-bold small" v-if="errors.tonne">@{{ errors.tonne[0] }}</label>
|
|
|
+ </label>
|
|
|
+ </div>
|
|
|
+ <div class="col-5 offset-1">
|
|
|
+ <div class="row mt-4">
|
|
|
+ <label class="col-3" for="logistic">快递公司</label>
|
|
|
+ <select id="logistic" v-model="model.logistic_id" class="col-6 form-control" :class="errors.logistic_id ? 'is-invalid' : ''">
|
|
|
+ <option v-for="logistic in logistics" :value="logistic.id">@{{ logistic.name }}</option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ <div class="row mt-2">
|
|
|
+ <label class="col-3" for="logistic_number">快递单号</label>
|
|
|
+ <input class="col-9 form-control" type="text" id="logistic_number" v-model="model.logistic_number" :class="errors.logistic_number ? 'is-invalid' : ''">
|
|
|
+ </div>
|
|
|
+ <div class="row mt-2">
|
|
|
+ <label class="col-3" for="box_amount">箱数</label>
|
|
|
+ <input class="col-6 form-control" step="1" min="0" type="number" id="box_amount" v-model="model.box_amount" :class="errors.box_amount ? 'is-invalid' : ''">
|
|
|
+ </div>
|
|
|
+ <label class="row mt-0 mb-0" v-if="errors.box_amount">
|
|
|
+ <label class="offset-2 text-danger font-weight-bold small">@{{ errors.box_amount[0] }}</label>
|
|
|
+ </label>
|
|
|
+ <div class="row mt-2">
|
|
|
+ <label class="col-3" for="isUpload">上传明细单</label>
|
|
|
+ <input content="col-4" id="isUpload" type="checkbox" class="switch" v-model="model.is_upload">
|
|
|
+ <button id="openFile" type="button" class="col-3 offset-1 btn btn-sm btn-info text-white"
|
|
|
+ title="表头必须包含:商品名称 数量 条码"
|
|
|
+ :data-toggle="errors.details ? 'popover' : 'tooltip'"
|
|
|
+ v-show="model.is_upload" @click="openFile()">
|
|
|
+ <span class="fa fa-cloud-upload"></span> 选择文件</button>
|
|
|
+ <span v-if="model.is_upload" class="text-secondary mt-1"> @{{ fileName }}</span>
|
|
|
+ <label hidden><input type="file" id="file" accept=".csv, .xlsx, .xls" @change="selectedFile($event)"></label>
|
|
|
+ </div>
|
|
|
+ <div class="row mt-2">
|
|
|
+ <label class="col-3" for="remark">预约备注</label>
|
|
|
+ <textarea class="col-9 form-control" v-model="model.remark" id="remark"></textarea>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="row mt-4 ml-1">
|
|
|
<button type="button" class="btn btn-success col-8 offset-2" @click="submit()">提 交 预 约</button>
|