zouyu
2023-11-14 e611c919f4d9d2139e86235594f22296b684f7a9
src/views/plan/customerorder/sample-customerorder-form.vue
@@ -125,208 +125,33 @@
      </el-form>
    </div>
    <el-divider
      ><span style="font-weight:bold;font-size:16px;">订单行</span></el-divider
    >
    <el-divider>
      <span style="font-weight:bold;font-size:16px;">订单行</span>
    </el-divider>
    <div class="l-mes normal-form">
      <el-row :gutter="20">
        <el-col :span="2">
          <span>零件号</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.partNo"
            placeholder=""
            readonly
          >
            <el-button
              slot="append"
              icon="el-icon-search"
              @click="openPartDialog()"
            ></el-button>
          </el-input>
        </el-col>
        <el-col :span="2">
          <span>单位</span>
        </el-col>
        <el-col :span="6">
          <el-select
            v-model="dataForm.customerOrder.unit"
            placeholder=""
            style="width: 100%"
          >
            <el-option
              v-for="item in units"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            />
          </el-select>
        </el-col>
        <el-col :span="2">
          <span>数量</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.buyQtyDue"
            placeholder=""
          ></el-input>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="2">
          <span>电压等级</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.voltAgeClass"
            placeholder=""
          ></el-input>
        </el-col>
        <el-col :span="2">
          <span>产品名称</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.productName"
            placeholder=""
          ></el-input>
        </el-col>
        <el-col :span="2">
          <span>制造属性</span>
        </el-col>
        <el-col :span="6">
          <el-select
            v-model="dataForm.customerOrder.manufactureAttr"
            placeholder=""
            style="width: 100%"
            disabled
          >
            <el-option
              v-for="item in manufactureAttrs"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            />
          </el-select>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="2">
          <span>外护颜色</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.outerColor"
            placeholder=""
          ></el-input>
        </el-col>
        <el-col :span="2">
          <span>零件规格</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.customerPartSpec"
            placeholder=""
          ></el-input>
        </el-col>
        <el-col :span="2">
          <span>印字类型</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.printType"
            placeholder=""
          ></el-input>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="2">
          <span>印字要求</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.printingRequirements"
            placeholder=""
          ></el-input>
        </el-col>
        <el-col :span="2">
          <span>包装要求</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.packageRequire"
            placeholder=""
          ></el-input>
        </el-col>
        <el-col :span="2">
          <span>质量要求</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.qualityRequire"
            placeholder=""
          ></el-input>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="2">
          <span>生产需求说明</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.otherProductRequire"
            placeholder=""
          ></el-input>
        </el-col>
        <el-col :span="2">
          <span>系统</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.divisionSystem"
            placeholder=""
          ></el-input>
        </el-col>
        <el-col :span="2">
          <span>收货地址</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.shippingAddress"
            placeholder=""
          ></el-input>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="2">
          <span>业务员</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.salesmanName"
            placeholder=""
          ></el-input>
        </el-col>
        <el-col :span="2">
          <span>盘长要求</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.lengthRequirement"
            placeholder=""
          ></el-input>
        </el-col>
        <el-col :span="2">
          <span>备注</span>
        </el-col>
        <el-col :span="6">
          <el-input
            v-model="dataForm.customerOrder.remark"
            placeholder=""
          ></el-input>
        </el-col>
      </el-row>
      <avue-crud ref="crud"
        show-hide="false"
        :option="option"
        :data="tableData">
          <template slot="partNo" slot-scope="scope">
            <el-input v-model="scope.row.partNo" placeholder="查询零件号" readonly>
                <el-button slot="append" icon="el-icon-search" @click="openPartDialog(scope.row.$index)"></el-button>
            </el-input>
          </template>
          <template slot="otcUnit" slot-scope="scope">
            <el-select v-model="scope.row.otcUnit" placeholder="请选择单位" style="width: 100%">
              <el-option
                v-for="item in units"
                :key="item.value"
                :label="item.label"
                :value="item.value" />
            </el-select>
          </template>
          <template slot="menu" slot-scope="scope">
            <el-button :disabled="tableData.length<2" @click="delRow(scope.row,scope.$index)"
            icon="el-icon-circle-close" type="text" size="small">取消</el-button>
          </template>
      </avue-crud>
    </div>
    <span slot="footer" class="dialog-footer">
@@ -370,6 +195,7 @@
import { remote } from '@/api/admin/dict'
import PartDialog from '@/views/common/part.vue'
import { validateSixDecimal } from '@/util/validate'
import { tableOption } from '@/const/crud/customerOrder/customerOrderForm'
export default {
  components: {
@@ -377,6 +203,22 @@
  },
  data() {
    return {
      currentSelectRow: null,
      option: tableOption,
      tableData: [{
          "$cellEdit": true,
          "$index": 0,
          "partNo": "",
          "customerPartSpec": "",
          "manufactureAttr": "",
          "productName": "",
          "productType": "",
          "otcUnit": "",
          "buyQtyDue": "",
          "shippingAddress": "",
          "remark": "",
          "isTrusted": true
      }],
      title: '',
      isFullScreen: false,
      visible: false,
@@ -427,6 +269,9 @@
    this.getManufactureAttrs('manufacture_attr_type')
  },
  methods: {
    delRow(row,index) {
      this.tableData.splice(index,1)
    },
    init(id) {
      this.initDataForm()
      this.visible = true
@@ -488,12 +333,17 @@
      })
    },
    // 零件选择
    openPartDialog() {
    openPartDialog(index) {
      this.currentSelectRow = index
      this.showPart = true
    },
    selectPart(part) {
      if (part) {
        this.dataForm.customerOrder.partNo = part.partNo
        const index = this.currentSelectRow
          this.tableData[index].partNo = part.partNo
          this.tableData[index].customerPartSpec = part.specs
          this.tableData[index].productName = part.partName
      }
    },
    // 全屏