| | |
| | | <view class="packing-registration-bg" /> |
| | | <u-navbar title="核磅录入" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" |
| | | back-icon-color="#000" /> |
| | | <u-form :model="form" ref="uForm" :label-width="210" labelAlign="left" :rules="rules" :error-type="['toast']" |
| | | <u-form :model="form" ref="uForm" :label-width="235" labelAlign="left" :rules="rules" :error-type="['toast']" |
| | | class="uForm"> |
| | | <u-form-item label="产品类型:" :border-bottom="false" prop="productType"> |
| | | <u-radio-group v-model="form.productType" @change="handleProductTypeChange"> |
| | | <u-radio name="1">导体</u-radio> |
| | | <u-radio name="2">铜杆</u-radio> |
| | | <u-radio name="3">导体2.6</u-radio> |
| | | <u-form-item label="产品类型:" :border-bottom="false" prop="productType" style="font-size: small"> |
| | | <u-radio-group v-model="form.productType" @change="handleProductTypeChange" style="font-size: small"> |
| | | <u-radio name="DT01">导体</u-radio> |
| | | <u-radio name="TG01">铜杆</u-radio> |
| | | <u-radio name="DT02">导体2.6</u-radio> |
| | | </u-radio-group> |
| | | </u-form-item> |
| | | <u-form-item label="替换二维码:" :border-bottom="false" prop="replace"> |
| | | <u-radio-group v-model="form.replace"> |
| | | <u-radio name="1">是</u-radio> |
| | | <u-radio name="0">否</u-radio> |
| | | </u-radio-group> |
| | | </u-form-item> |
| | | <u-form-item label="车牌号:" :border-bottom="false" prop="licensePlate"> |
| | | <!-- <u-form-item |
| | | label="替换二维码:" |
| | | :border-bottom="false" |
| | | prop="replace" |
| | | style="font-size: small" |
| | | > |
| | | <u-radio-group v-model="form.replace" style="font-size: small"> |
| | | <u-radio name="1">是</u-radio> |
| | | <u-radio name="0">否</u-radio> |
| | | </u-radio-group> |
| | | </u-form-item> --> |
| | | <u-form-item label="车牌号:" :border-bottom="false" prop="licensePlate" style="font-size: small"> |
| | | <u-input v-model="form.licensePlate" type="select" placeholder="请输入车牌号" @click="lpn" /> |
| | | </u-form-item> |
| | | <u-form-item label="客户名称1:" :border-bottom="false" prop="customerName1"> |
| | | <u-form-item label="客户名称1:" :border-bottom="false" prop="customerName1" style="font-size: small"> |
| | | <picker class="item-one item-two" style="width: 100%; text-align: right" |
| | | @change="selClientChange($event, selClientList, 'customerName1')" :value="selClientIndex1" |
| | | :range="selClientList" range-key="label"> |
| | |
| | | </picker> |
| | | <u-icon v-if="selClientIndex1 == null" name="arrow-right" color="#687792" size="28"></u-icon> |
| | | </u-form-item> |
| | | <u-form-item label="发货通知单号1:" :border-bottom="false" prop="shippingNoticeNo1"> |
| | | <u-form-item label="发货通知单号1:" :border-bottom="false" prop="shippingNoticeNo1" style="font-size: small" |
| | | :label-width="245"> |
| | | <u-input v-model="form.shippingNoticeNo1" placeholder="" disabled /> |
| | | </u-form-item> |
| | | <u-form-item label="客户名称2:" :border-bottom="false" prop="customerName2"> |
| | | <u-form-item label="客户名称2:" :border-bottom="false" prop="customerName2" style="font-size: small"> |
| | | <picker class="item-one item-two" style="width: 100%; text-align: right" |
| | | @change="selClientChange($event, selClientList, 'customerName2')" :value="selClientIndex2" |
| | | :range="selClientList" range-key="label"> |
| | |
| | | </picker> |
| | | <u-icon v-if="selClientIndex2 == null" name="arrow-right" color="#687792" size="28"></u-icon> |
| | | </u-form-item> |
| | | <u-form-item label="发货通知单号2:" :border-bottom="false" prop="shippingNoticeNo2"> |
| | | <u-form-item label="发货通知单号2:" :border-bottom="false" prop="shippingNoticeNo2" style="font-size: small" |
| | | :label-width="245"> |
| | | <u-input v-model="form.shippingNoticeNo2" placeholder="" disabled /> |
| | | </u-form-item> |
| | | <u-form-item label="生产车间:" :border-bottom="false" prop="workshop"> |
| | | <u-form-item label="生产车间:" :border-bottom="false" prop="workshop" style="font-size: small"> |
| | | <picker class="item-one item-two" style="width: 100%; text-align: right" |
| | | @change="workshopChange($event, workshopList)" :value="workshopIndex" :range="workshopList" |
| | | range-key="label" :disabled="!form.productType"> |
| | |
| | | </picker> |
| | | <u-icon v-if="workshopIndex == null" name="arrow-right" color="#687792" size="28"></u-icon> |
| | | </u-form-item> |
| | | <u-form-item label="司磅员:" :border-bottom="false" prop="weighingOperator"> |
| | | <u-form-item label="司磅员:" :border-bottom="false" prop="weighingOperator" style="font-size: small"> |
| | | <picker class="item-one item-two" style="width: 100%; text-align: right" |
| | | @change="weighmanChange($event, weighmanList)" :value="weighmanIndex" :range="weighmanList" |
| | | range-key="label"> |
| | |
| | | </picker> |
| | | <u-icon v-if="weighmanIndex == null" name="arrow-right" color="#687792" size="28"></u-icon> |
| | | </u-form-item> |
| | | <u-form-item label="叉车工:" :border-bottom="false" prop="forkliftOperator"> |
| | | <u-form-item label="叉车工:" :border-bottom="false" prop="forkliftOperator" style="font-size: small"> |
| | | <u-input v-model="form.forkliftOperator" type="select" placeholder="请选择" |
| | | @click="openForkliftDriverList" /> |
| | | </u-form-item> |
| | |
| | | <!-- 叉车工 --> |
| | | <u-modal v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" |
| | | @confirm="confirmSelection" @cancel="cancel"> |
| | | <view class="popup-content"> |
| | | <view class="popup-header"> |
| | | <checkbox-group @change="checkboxChange"> |
| | | <label class="checkbox-item" v-for="(item, index) in checkboxList" :key="index"> |
| | | <checkbox :value="item.value" :checked="item.checked" /> |
| | | <text class="label">{{ item.label }}</text> |
| | | </label> |
| | | </checkbox-group> |
| | | </view> |
| | | <view class="popup-content" style="padding: 20rpx"> |
| | | <scroll-view scroll-y="true" style="height: 400rpx; transform: translateZ(0)"> |
| | | <view class="popup-header"> |
| | | <checkbox-group @change="checkboxChange"> |
| | | <label class="checkbox-item" v-for="(item, index) in checkboxList" :key="index"> |
| | | <checkbox :value="item.value" :checked="item.checked" /> |
| | | <text class="label">{{ item.label }}</text> |
| | | </label> |
| | | </checkbox-group> |
| | | </view> |
| | | </scroll-view> |
| | | </view> |
| | | </u-modal> |
| | | </div> |
| | |
| | | show: false, |
| | | num: 1, |
| | | form: { |
| | | replace: '0', |
| | | productType: '', |
| | | licensePlate: '', |
| | | customerName1: '', |
| | | shippingNoticeNo1: '', |
| | | customerName2: '', |
| | | shippingNoticeNo2: '', |
| | | workshop: '', |
| | | weighingOperator: '', |
| | | forkliftOperator: '', |
| | | // replace: "0", |
| | | productType: "", |
| | | licensePlate: "", |
| | | customerName1: "", |
| | | shippingNoticeNo1: "", |
| | | customerName2: "", |
| | | shippingNoticeNo2: "", |
| | | workshop: "", |
| | | weighingOperator: "", |
| | | forkliftOperator: "", |
| | | }, |
| | | rules: { |
| | | productType: [{ |
| | |
| | | message: "请选择产品类型", |
| | | trigger: ["change"], |
| | | }, ], |
| | | replace: [{ |
| | | required: true, |
| | | message: "请选择是否替换二维码", |
| | | trigger: ["change", "blur"], |
| | | }, ], |
| | | // replace: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请选择是否替换二维码", |
| | | // trigger: ["change", "blur"], |
| | | // }, |
| | | // ], |
| | | licensePlate: [{ |
| | | required: true, |
| | | message: "请输入车牌号", |
| | |
| | | weighmanIndex: null, |
| | | showModal: false, |
| | | selectedItems: [], |
| | | id1: '', |
| | | id2: '', |
| | | isSubmitting: false |
| | | id1: "", |
| | | id2: "", |
| | | isSubmitting: false, |
| | | }; |
| | | }, |
| | | onReady() { |
| | |
| | | onShow() { |
| | | // 重置表单数据 |
| | | this.form = { |
| | | replace: '0', |
| | | productType: '', |
| | | licensePlate: '', |
| | | customerName1: '', |
| | | shippingNoticeNo1: '', |
| | | customerName2: '', |
| | | shippingNoticeNo2: '', |
| | | workshop: '', |
| | | weighingOperator: '', |
| | | forkliftOperator: '', |
| | | // replace: "0", |
| | | productType: "", |
| | | licensePlate: "", |
| | | customerName1: "", |
| | | shippingNoticeNo1: "", |
| | | customerName2: "", |
| | | shippingNoticeNo2: "", |
| | | workshop: "", |
| | | weighingOperator: "", |
| | | forkliftOperator: "", |
| | | }; |
| | | this.selClientIndex1 = null; |
| | | this.selClientIndex2 = null; |
| | | this.workshopIndex = null; |
| | | this.weighmanIndex = null; |
| | | this.checkboxList = this.checkboxList.map(item => ({ |
| | | this.checkboxList = this.checkboxList.map((item) => ({ |
| | | ...item, |
| | | checked: false |
| | | checked: false, |
| | | })); |
| | | this.$refs.uForm && this.$refs.uForm.resetValidation(); |
| | | }, |
| | |
| | | * 获取客户列表 |
| | | */ |
| | | fetchClients() { |
| | | this.$u.api.NuclearScaleEntry.selClient().then((res) => { |
| | | console.log('客户名称', res) |
| | | if (res.code === 0) { |
| | | res.data.forEach((i) => { |
| | | const obj = Object.assign({ |
| | | label: i.customerName, |
| | | value: i.customerName, |
| | | shippingNoticeNo: i.shippingNoticeNo, |
| | | id: i.id |
| | | this.$u.api.NuclearScaleEntry.selClient() |
| | | .then((res) => { |
| | | console.log("客户名称", res); |
| | | if (res.code === 0) { |
| | | res.data.forEach((i) => { |
| | | const obj = Object.assign({ |
| | | label: i.customerName, |
| | | value: i.customerName, |
| | | shippingNoticeNo: i.shippingNoticeNo, |
| | | id: i.id, |
| | | }); |
| | | this.selClientList.push(obj); |
| | | }); |
| | | this.selClientList.push(obj); |
| | | }); |
| | | } else { |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.msg || "获取客户名称失败", |
| | | icon: "none", |
| | | }); |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | uni.showToast({ |
| | | title: res.msg || '获取客户名称失败', |
| | | icon: 'none' |
| | | title: "网络错误,获取客户名称失败", |
| | | icon: "none", |
| | | }); |
| | | } |
| | | }).catch(err => { |
| | | uni.showToast({ |
| | | title: '网络错误,获取客户名称失败', |
| | | icon: 'none' |
| | | console.error("获取客户名称错误:", err); |
| | | }); |
| | | console.error('获取客户名称错误:', err); |
| | | }); |
| | | }, |
| | | |
| | | /** |
| | | * 获取车间列表 |
| | | */ |
| | | fetchWorkshops() { |
| | | this.$u.api.dictData({ |
| | | dictType: 'workshop' |
| | | }).then(res => { |
| | | if (res.code === 0 && res.data.length > 0) { |
| | | res.data.forEach(i => { |
| | | const obj = Object.assign({ |
| | | label: i.label, |
| | | value: i.value, |
| | | }) |
| | | this.workshopList.push(obj) |
| | | }) |
| | | } else { |
| | | this.$u.api |
| | | .dictData({ |
| | | dictType: "workshop", |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 0 && res.data.length > 0) { |
| | | res.data.forEach((i) => { |
| | | const obj = Object.assign({ |
| | | label: i.label, |
| | | value: i.value, |
| | | }); |
| | | this.workshopList.push(obj); |
| | | }); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.msg || "获取车间列表失败", |
| | | icon: "none", |
| | | }); |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | uni.showToast({ |
| | | title: res.msg || '获取车间列表失败', |
| | | icon: 'none' |
| | | title: "网络错误,获取车间列表失败", |
| | | icon: "none", |
| | | }); |
| | | } |
| | | }).catch(err => { |
| | | uni.showToast({ |
| | | title: '网络错误,获取车间列表失败', |
| | | icon: 'none' |
| | | console.error("获取车间列表错误:", err); |
| | | }); |
| | | console.error('获取车间列表错误:', err); |
| | | }); |
| | | }, |
| | | |
| | | /** |
| | | * 获取叉车工列表 |
| | | */ |
| | | fetchForkliftOperators() { |
| | | this.$u.api.dictData({ |
| | | dictType: 'forklift' |
| | | }).then(res => { |
| | | if (res.code === 0 && res.data.length > 0) { |
| | | res.data.forEach(i => { |
| | | const obj = Object.assign({ |
| | | label: i.label, |
| | | value: i.label, |
| | | }) |
| | | this.checkboxList.push(obj) |
| | | }) |
| | | } else { |
| | | this.$u.api |
| | | .dictData({ |
| | | dictType: "forklift", |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 0 && res.data.length > 0) { |
| | | res.data.forEach((i) => { |
| | | const obj = Object.assign({ |
| | | label: i.label, |
| | | value: i.label, |
| | | }); |
| | | this.checkboxList.push(obj); |
| | | }); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.msg || "获取叉车工列表失败", |
| | | icon: "none", |
| | | }); |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | uni.showToast({ |
| | | title: res.msg || '获取叉车工列表失败', |
| | | icon: 'none' |
| | | title: "网络错误,获取叉车工列表失败", |
| | | icon: "none", |
| | | }); |
| | | } |
| | | }).catch(err => { |
| | | uni.showToast({ |
| | | title: '网络错误,获取叉车工列表失败', |
| | | icon: 'none' |
| | | console.error("获取叉车工列表错误:", err); |
| | | }); |
| | | console.error('获取叉车工列表错误:', err); |
| | | }); |
| | | }, |
| | | |
| | | /** |
| | | * 获取司磅员列表 |
| | | */ |
| | | fetchWeighmen() { |
| | | this.$u.api.dictData({ |
| | | dictType: 'weighing' |
| | | }).then(res => { |
| | | if (res.code === 0 && res.data.length > 0) { |
| | | res.data.forEach(i => { |
| | | const obj = Object.assign({ |
| | | label: i.label, |
| | | value: i.label, |
| | | }) |
| | | this.weighmanList.push(obj) |
| | | }) |
| | | } else { |
| | | this.$u.api |
| | | .dictData({ |
| | | dictType: "weighing", |
| | | }) |
| | | .then((res) => { |
| | | if (res.code === 0 && res.data.length > 0) { |
| | | res.data.forEach((i) => { |
| | | const obj = Object.assign({ |
| | | label: i.label, |
| | | value: i.label, |
| | | }); |
| | | this.weighmanList.push(obj); |
| | | }); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.msg || "获取司磅员列表失败", |
| | | icon: "none", |
| | | }); |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | uni.showToast({ |
| | | title: res.msg || '获取司磅员列表失败', |
| | | icon: 'none' |
| | | title: "网络错误,获取司磅员列表失败", |
| | | icon: "none", |
| | | }); |
| | | } |
| | | }).catch(err => { |
| | | uni.showToast({ |
| | | title: '网络错误,获取司磅员列表失败', |
| | | icon: 'none' |
| | | console.error("获取司磅员列表错误:", err); |
| | | }); |
| | | console.error('获取司磅员列表错误:', err); |
| | | }); |
| | | }, |
| | | // 复选框变化事件 |
| | | checkboxChange(e) { |
| | |
| | | this.form.forkliftOperator = this.checkboxList |
| | | .filter((item) => item.checked) |
| | | .map((item) => item.label) |
| | | .join(','); |
| | | .join(","); |
| | | }, |
| | | cancel() {}, |
| | | openForkliftDriverList() { |
| | |
| | | // 检查是否选择了相同的客户 |
| | | if (code === "customerName1" && this.selClientIndex2 === selectedIndex) { |
| | | uni.showToast({ |
| | | title: '不能选择相同的客户', |
| | | icon: 'none' |
| | | title: "不能选择相同的客户", |
| | | icon: "none", |
| | | }); |
| | | return; |
| | | } |
| | | if (code === "customerName2" && this.selClientIndex1 === selectedIndex) { |
| | | uni.showToast({ |
| | | title: '不能选择相同的客户', |
| | | icon: 'none' |
| | | title: "不能选择相同的客户", |
| | | icon: "none", |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | // 检查是否选择了客户名称相同的客户 |
| | | if (code === "customerName1" && this.selClientIndex2 !== null) { |
| | | const otherCustomer = storage[this.selClientIndex2]; |
| | | if (selectedCustomer.label === otherCustomer.label) { |
| | | uni.showToast({ |
| | | title: "不能选择客户名称相同的客户", |
| | | icon: "none", |
| | | }); |
| | | return; |
| | | } |
| | | } |
| | | if (code === "customerName2" && this.selClientIndex1 !== null) { |
| | | const otherCustomer = storage[this.selClientIndex1]; |
| | | if (selectedCustomer.label === otherCustomer.label) { |
| | | uni.showToast({ |
| | | title: "不能选择客户名称相同的客户", |
| | | icon: "none", |
| | | }); |
| | | return; |
| | | } |
| | | } |
| | | // 检查不同客户的收货地址、联系人、联系电话是否相同 |
| | | if (code === "customerName1" && this.selClientIndex2 !== null) { |
| | | const otherCustomer = storage[this.selClientIndex2]; |
| | | if (selectedCustomer.receiverAddress !== otherCustomer.receiverAddress || |
| | | selectedCustomer.contactPerson !== otherCustomer.contactPerson || |
| | | selectedCustomer.contactPhone !== otherCustomer.contactPhone) { |
| | | uni.showToast({ |
| | | title: "两个客户的收货地址、联系人或联系电话不相同,不能同时选择", |
| | | icon: "none", |
| | | }); |
| | | return; |
| | | } |
| | | } |
| | | if (code === "customerName2" && this.selClientIndex1 !== null) { |
| | | const otherCustomer = storage[this.selClientIndex1]; |
| | | if (selectedCustomer.receiverAddress !== otherCustomer.receiverAddress || |
| | | selectedCustomer.contactPerson !== otherCustomer.contactPerson || |
| | | selectedCustomer.contactPhone !== otherCustomer.contactPhone) { |
| | | uni.showToast({ |
| | | title: "两个客户的收货地址、联系人或联系电话不相同,不能同时选择", |
| | | icon: "none", |
| | | }); |
| | | return; |
| | | } |
| | | } |
| | | if (code === "customerName2") { |
| | | this.selClientIndex2 = selectedIndex; |
| | | this.form.customerName2 = selectedCustomer.label; |
| | | this.form.shippingNoticeNo2 = selectedCustomer.shippingNoticeNo; |
| | | this.form.customerNo2 = selectedCustomer.customerNo; |
| | | this.id2 = selectedCustomer.id; |
| | | } |
| | | if (code === "customerName1") { |
| | | this.selClientIndex1 = selectedIndex; |
| | | this.form.customerName1 = selectedCustomer.label; |
| | | this.form.shippingNoticeNo1 = selectedCustomer.shippingNoticeNo; |
| | | this.id1 = selectedCustomer.id |
| | | this.form.customerNo1 = selectedCustomer.customerNo; |
| | | this.id1 = selectedCustomer.id; |
| | | } |
| | | }, |
| | | // 生产车间 |
| | |
| | | |
| | | const productType = this.form.productType; |
| | | const selectedWorkshop = storage[e.target.value]; |
| | | |
| | | // 检查产品类型是否为铜杆(值为2) |
| | | if (productType === '2') { |
| | | console.log('选择的车间:', selectedWorkshop); |
| | | // 检查产品类型是否为铜杆(值为TG01) |
| | | if (productType === "TG01") { |
| | | // 铜杆只能选择铜杆相关车间 |
| | | if (!selectedWorkshop.label.includes('铜杆')) { |
| | | if (!selectedWorkshop.label.includes("铜杆")) { |
| | | uni.showModal({ |
| | | title: "提示", |
| | | content: "铜杆产品只能选择铜杆相关车间", |
| | | showCancel: false |
| | | showCancel: false, |
| | | }); |
| | | return; |
| | | } |
| | | } else { |
| | | // 导体产品不能选择铜杆车间 |
| | | if (selectedWorkshop.label.includes('铜杆')) { |
| | | if (selectedWorkshop.label.includes("铜杆")) { |
| | | uni.showModal({ |
| | | title: "提示", |
| | | content: "导体产品不能选择铜杆车间", |
| | | showCancel: false |
| | | showCancel: false, |
| | | }); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | this.workshopIndex = e.target.value; |
| | | this.form.workshop = selectedWorkshop.label; |
| | | this.form.workshop = selectedWorkshop.value; |
| | | }, |
| | | // 司磅员 |
| | | weighmanChange(e, storage) { |
| | |
| | | */ |
| | | handleProductTypeChange() { |
| | | this.workshopIndex = null; |
| | | this.form.workshop = ''; |
| | | this.form.workshop = ""; |
| | | }, |
| | | // 提交按钮 |
| | | async submit() { |
| | |
| | | |
| | | try { |
| | | // 统一表单验证 |
| | | if (!await this.validateForm()) return; |
| | | |
| | | if (!(await this.validateForm())) return; |
| | | // 构建提交数据 |
| | | const submitData = this.buildSubmitData().customerList; |
| | | console.log('提交的数据',submitData) |
| | | // const submitData = this.buildSubmitData().customerList; |
| | | const submitData = { |
| | | customerName1: this.form.customerName1, |
| | | shippingNoticeNo1: this.form.shippingNoticeNo1, |
| | | customerName2: this.form.customerName2, |
| | | shippingNoticeNo2: this.form.shippingNoticeNo2, |
| | | customerNo1: this.form.customerNo1, |
| | | customerNo2: this.form.customerNo2, |
| | | productType: this.form.productType, |
| | | licensePlate: this.form.licensePlate, |
| | | workshop: this.form.workshop, |
| | | weighingOperator: this.form.weighingOperator, |
| | | forkliftOperator: this.form.forkliftOperator, |
| | | } |
| | | console.log("提交的数据", submitData); |
| | | this.isSubmitting = true; |
| | | const res = await this.$u.api.NuclearScaleEntry.createMain(submitData); |
| | | |
| | |
| | | uni.navigateBack(); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.msg || '提交失败:业务处理错误', |
| | | icon: 'none' |
| | | title: res.msg || "提交失败:业务处理错误", |
| | | icon: "none", |
| | | }); |
| | | console.error('业务错误:', res); |
| | | console.error("业务错误:", res); |
| | | } |
| | | } catch (err) { |
| | | if (err.type === 'validation') { |
| | | if (err.type === "validation") { |
| | | uni.showToast({ |
| | | title: err.message, |
| | | icon: 'none' |
| | | icon: "none", |
| | | }); |
| | | } else if (err.message.includes('Network Error')) { |
| | | } else if (err.message.includes("Network Error")) { |
| | | uni.showToast({ |
| | | title: '网络连接错误,请检查网络后重试', |
| | | icon: 'none' |
| | | title: "网络连接错误,请检查网络后重试", |
| | | icon: "none", |
| | | }); |
| | | } else { |
| | | uni.showToast({ |
| | | title: '系统错误,请稍后重试', |
| | | icon: 'none' |
| | | title: "系统错误,请稍后重试", |
| | | icon: "none", |
| | | }); |
| | | } |
| | | console.error('提交表单错误:', err); |
| | | console.error("提交表单错误:", err); |
| | | } finally { |
| | | this.isSubmitting = false; |
| | | } |
| | |
| | | // 统一表单验证 |
| | | async validateForm() { |
| | | // 使用uView表单验证 |
| | | if (!await this.$refs.uForm.validate()) { |
| | | if (!(await this.$refs.uForm.validate())) { |
| | | return false; |
| | | } |
| | | |
| | | // 客户名称验证 |
| | | if (!this.form.customerName1 || !this.form.customerName2) { |
| | | throw { type: 'validation', message: '请先选择客户名称' }; |
| | | // 客户名称验证 - 修改为至少有一个有值 |
| | | if (!this.form.customerName1 && !this.form.customerName2) { |
| | | throw { |
| | | type: "validation", |
| | | message: "请至少选择一个客户名称" |
| | | }; |
| | | } |
| | | |
| | | return true; |
| | | }, |
| | | |
| | | // 构建提交数据 |
| | | buildSubmitData() { |
| | | // 创建客户数据的辅助函数 |
| | | const createCustomerItem = (customerIndex) => ({ |
| | | customerName: this.form[`customerName${customerIndex}`], |
| | | shippingNoticeNo: this.form[`shippingNoticeNo${customerIndex}`], |
| | | shippingNoticeId: this[`id${customerIndex}`], |
| | | replace: this.form.replace, |
| | | productType: this.form.productType, |
| | | licensePlate: this.form.licensePlate, |
| | | workshop: this.form.workshop, |
| | | weighingOperator: this.form.weighingOperator, |
| | | forkliftOperator: this.form.forkliftOperator, |
| | | }); |
| | | // // 构建提交数据 |
| | | // buildSubmitData() { |
| | | // // 创建客户数据的辅助函数 |
| | | // const createCustomerItem = (customerIndex) => ({ |
| | | // customerName: this.form[`customerName${customerIndex}`], |
| | | // shippingNoticeNo: this.form[`shippingNoticeNo${customerIndex}`], |
| | | // shippingNoticeId: this[`id${customerIndex}`], |
| | | // replace: this.form.replace, |
| | | // productType: this.form.productType, |
| | | // licensePlate: this.form.licensePlate, |
| | | // workshop: this.form.workshop, |
| | | // weighingOperator: this.form.weighingOperator, |
| | | // forkliftOperator: this.form.forkliftOperator, |
| | | // }); |
| | | |
| | | // 构建客户列表 |
| | | const customerList = [1, 2].map(createCustomerItem); |
| | | // // 构建客户列表 |
| | | // const customerList = [1, 2].map(createCustomerItem); |
| | | |
| | | return { |
| | | customerList |
| | | }; |
| | | }, |
| | | // return { |
| | | // customerList, |
| | | // }; |
| | | // }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | |
| | | .confirm-btn { |
| | | color: #007aff; |
| | | font-size: 28rpx; |
| | | font-size: small; |
| | | } |
| | | |
| | | /* 复选框样式 */ |
| | |
| | | } |
| | | |
| | | .item-one { |
| | | font-size: 30rpx; |
| | | font-size: small; |
| | | color: #0c0c0c; |
| | | margin-right: 6rpx; |
| | | } |
| | | |
| | | .item-two { |
| | | font-size: 30rpx; |
| | | font-size: small; |
| | | color: #a5abb4; |
| | | margin-right: 6rpx; |
| | | } |