yyb
2025-11-20 04d883c9f7866722b11420f2a40b2e1a8194a75f
pages/wareHouse/nuclearScale/createwriteoffform.vue
@@ -6,11 +6,11 @@
         back-icon-color="#000" />
      <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" 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-form-item label="产品类型:" :border-bottom="false" prop="productType" style="font-size: 16px; height: 40px">
            <u-radio-group v-model="form.productType" @change="handleProductTypeChange" class="radio-group-large">
               <u-radio name="DT01" class="radio-large">导体</u-radio>
               <u-radio name="TG01" class="radio-large">铜杆</u-radio>
               <u-radio name="DT02" class="radio-large">导体2.6</u-radio>
            </u-radio-group>
         </u-form-item>
         <!-- <u-form-item
@@ -24,11 +24,20 @@
          <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 label="车牌号:" :border-bottom="false" prop="licensePlate" style="font-size: 16px; height: 40px">
            <u-input v-model="form.licensePlate" type="select" placeholder="请输入车牌号" @click="lpn" :custom-style="{
            fontSize: '16px',
            height: '40px',
            lineHeight: '40px',
          }" :input-style="{
            fontSize: '16px',
            height: '40px',
            lineHeight: '40px',
          }" />
         </u-form-item>
         <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"
         <u-form-item label="客户名称1:" :border-bottom="false" prop="customerName1"
            style="font-size: 16px; height: 40px">
            <picker class="item-one item-two" style="width: 100%; font-size: 16px; text-align: right"
               @change="selClientChange($event, selClientList, 'customerName1')" :value="selClientIndex1"
               :range="selClientList" range-key="label">
               <view>
@@ -43,12 +52,21 @@
            </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" style="font-size: small"
            :label-width="245">
            <u-input v-model="form.shippingNoticeNo1" placeholder="" disabled />
         <u-form-item label="发货通知单号:" :border-bottom="false" prop="shippingNoticeNo1"
            style="font-size: 16px; height: 40px" :label-width="300">
            <u-input v-model="form.shippingNoticeNo1" placeholder="" disabled :custom-style="{
            fontSize: '16px',
            height: '40px',
            lineHeight: '40px',
          }" :input-style="{
            fontSize: '16px',
            height: '40px',
            lineHeight: '40px',
          }" />
         </u-form-item>
         <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"
         <u-form-item label="客户名称2:" :border-bottom="false" prop="customerName2"
            style="font-size: 16px; height: 40px">
            <picker class="item-one item-two" style="width: 100%; font-size: 16px; text-align: right"
               @change="selClientChange($event, selClientList, 'customerName2')" :value="selClientIndex2"
               :range="selClientList" range-key="label">
               <view>
@@ -63,12 +81,20 @@
            </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" style="font-size: small"
            :label-width="245">
            <u-input v-model="form.shippingNoticeNo2" placeholder="" disabled />
         <u-form-item label="发货通知单号:" :border-bottom="false" prop="shippingNoticeNo2"
            style="font-size: 16px; height: 40px" :label-width="300">
            <u-input v-model="form.shippingNoticeNo2" placeholder="" disabled :custom-style="{
            fontSize: '16px',
            height: '40px',
            lineHeight: '40px',
          }" :input-style="{
            fontSize: '16px',
            height: '40px',
            lineHeight: '40px',
          }" />
         </u-form-item>
         <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"
         <u-form-item label="生产车间:" :border-bottom="false" prop="workshop" style="font-size: 16px; height: 40px">
            <picker class="item-one item-two" style="width: 100%; text-align: right; font-size: 16px"
               @change="workshopChange($event, workshopList)" :value="workshopIndex" :range="workshopList"
               range-key="label" :disabled="!form.productType">
               <view>
@@ -81,8 +107,9 @@
            </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" style="font-size: small">
            <picker class="item-one item-two" style="width: 100%; text-align: right"
         <u-form-item label="司磅员:" :border-bottom="false" prop="weighingOperator"
            style="font-size: 16px; height: 40px">
            <picker class="item-one item-two" style="width: 100%; text-align: right; font-size: 16px"
               @change="weighmanChange($event, weighmanList)" :value="weighmanIndex" :range="weighmanList"
               range-key="label">
               <view>
@@ -95,9 +122,17 @@
            </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" style="font-size: small">
            <u-input v-model="form.forkliftOperator" type="select" placeholder="请选择"
               @click="openForkliftDriverList" />
         <u-form-item label="叉车工:" :border-bottom="false" prop="forkliftOperator"
            style="font-size: 16px; height: 40px">
            <u-input v-model="form.forkliftOperator" type="select" placeholder="请选择" :custom-style="{
            fontSize: '16px',
            height: '40px',
            lineHeight: '40px',
          }" :input-style="{
            fontSize: '16px',
            height: '40px',
            lineHeight: '40px',
          }" @click="openForkliftDriverList" />
         </u-form-item>
      </u-form>
      <u-button type="primary" class="bottom-button1" @click="submit">创建</u-button>
@@ -456,9 +491,11 @@
            // 检查不同客户的收货地址、联系人、联系电话是否相同
            if (code === "customerName1" && this.selClientIndex2 !== null) {
               const otherCustomer = storage[this.selClientIndex2];
               if (selectedCustomer.receiverAddress !== otherCustomer.receiverAddress ||
               if (
                  selectedCustomer.receiverAddress !== otherCustomer.receiverAddress ||
                  selectedCustomer.contactPerson !== otherCustomer.contactPerson ||
                  selectedCustomer.contactPhone !== otherCustomer.contactPhone) {
                  selectedCustomer.contactPhone !== otherCustomer.contactPhone
               ) {
                  uni.showToast({
                     title: "两个客户的收货地址、联系人或联系电话不相同,不能同时选择",
                     icon: "none",
@@ -468,9 +505,11 @@
            }
            if (code === "customerName2" && this.selClientIndex1 !== null) {
               const otherCustomer = storage[this.selClientIndex1];
               if (selectedCustomer.receiverAddress !== otherCustomer.receiverAddress ||
               if (
                  selectedCustomer.receiverAddress !== otherCustomer.receiverAddress ||
                  selectedCustomer.contactPerson !== otherCustomer.contactPerson ||
                  selectedCustomer.contactPhone !== otherCustomer.contactPhone) {
                  selectedCustomer.contactPhone !== otherCustomer.contactPhone
               ) {
                  uni.showToast({
                     title: "两个客户的收货地址、联系人或联系电话不相同,不能同时选择",
                     icon: "none",
@@ -502,7 +541,7 @@
            const productType = this.form.productType;
            const selectedWorkshop = storage[e.target.value];
            console.log('选择的车间:', selectedWorkshop);
            console.log("选择的车间:", selectedWorkshop);
            // 检查产品类型是否为铜杆(值为TG01)
            if (productType === "TG01") {
               // 铜杆只能选择铜杆相关车间
@@ -572,7 +611,7 @@
                  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);
@@ -621,7 +660,7 @@
            if (!this.form.customerName1 && !this.form.customerName2) {
               throw {
                  type: "validation",
                  message: "请至少选择一个客户名称"
                  message: "请至少选择一个客户名称",
               };
            }
@@ -717,4 +756,18 @@
      color: #a5abb4;
      margin-right: 6rpx;
   }
   /* 产品类型单选组样式 */
   .radio-group-large {
      font-size: 16px !important;
      height: 40px !important;
      display: flex;
      align-items: center;
   }
   .radio-large {
      font-size: 15px !important;
      // margin-right: 5px;
      transform: scale(1.2);
   }
</style>