feat(order): 手动下单表单验证和搜索移除供应商名称字段
- 为批次号、委托人、委托人工号字段增加验证逻辑
已修改3个文件
89 ■■■■ 文件已修改
src/views/business/productOrder/components/addOrder.vue 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/productOrder/components/addView.vue 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/productOrder/index.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/productOrder/components/addOrder.vue
@@ -102,12 +102,6 @@
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="供应商名称:" prop="supplierName">
                <el-input v-model="addObj.supplierName" clearable placeholder="请输入供应商名称" size="small">
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="联系方式:" prop="phone">
                <el-input v-model="addObj.phone" :disabled="active>1&&tabIndex!=4" clearable placeholder="选择委托客户" size="small"></el-input>
              </el-form-item>
@@ -652,6 +646,13 @@
  },
  dicts: ['check_type1', 'urgency_level', 'form_type', 'sample_status_list'],
  data() {
    const validateRequiredText = (message) => (rule, value, callback) => {
      if (typeof value !== 'string' || !value.trim()) {
        callback(new Error(message))
        return
      }
      callback()
    }
    return {
      active: '',
      tabIndex: '',
@@ -737,6 +738,18 @@
        ],
        productionEn: [
          { required: true, message: '请填写生产单位EN', trigger: 'blur' }
        ],
        updateBatchNo: [
          { required: true, message: '请填写批次号', trigger: 'blur' },
          { validator: validateRequiredText('请填写批次号'), trigger: 'blur' }
        ],
        prepareUser: [
          { required: true, message: '请填写委托人', trigger: 'blur' },
          { validator: validateRequiredText('请填写委托人'), trigger: 'blur' }
        ],
        prepareCode: [
          { required: true, message: '请填写委托人工号', trigger: 'blur' },
          { validator: validateRequiredText('请填写委托人工号'), trigger: 'blur' }
        ],
      },
      sample: {
@@ -1172,7 +1185,15 @@
        }
        return str.replaceAll(find, value);
      },
      normalizeRequiredFields() {
        ['updateBatchNo', 'prepareUser', 'prepareCode'].forEach(field => {
          if (typeof this.addObj[field] === 'string') {
            this.addObj[field] = this.addObj[field].trim()
          }
        })
      },
      save() {
        this.normalizeRequiredFields()
        this.$refs['addObj'].validate((valid) => {
          if (valid) {
            this.sampleList.forEach(item => {
src/views/business/productOrder/components/addView.vue
@@ -89,12 +89,6 @@
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="供应商名称:" prop="supplierName">
                <el-input :disabled="active>1&&tabIndex!=4" v-model="addObj.supplierName" clearable placeholder="请输入供应商名称" size="small">
                </el-input>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="6">
@@ -639,6 +633,13 @@
  },
  dicts: ['check_type1', 'urgency_level', 'form_type', 'sample_status_list'],
  data() {
    const validateRequiredText = (message) => (rule, value, callback) => {
      if (typeof value !== 'string' || !value.trim()) {
        callback(new Error(message))
        return
      }
      callback()
    }
    return {
      active: '',
      tabIndex: '',
@@ -716,6 +717,18 @@
        ],
        productionEn: [
          { required: true, message: '请填写生产单位EN', trigger: 'blur' }
        ],
        updateBatchNo: [
          { required: true, message: '请填写批次号', trigger: 'blur' },
          { validator: validateRequiredText('请填写批次号'), trigger: 'blur' }
        ],
        prepareUser: [
          { required: true, message: '请填写委托人', trigger: 'blur' },
          { validator: validateRequiredText('请填写委托人'), trigger: 'blur' }
        ],
        prepareCode: [
          { required: true, message: '请填写委托人工号', trigger: 'blur' },
          { validator: validateRequiredText('请填写委托人工号'), trigger: 'blur' }
        ],
      },
      sample: {
@@ -1113,7 +1126,15 @@
        }
        return str.replaceAll(find, value);
      },
      normalizeRequiredFields() {
        ['updateBatchNo', 'prepareUser', 'prepareCode'].forEach(field => {
          if (typeof this.addObj[field] === 'string') {
            this.addObj[field] = this.addObj[field].trim()
          }
        })
      },
      save() {
        this.normalizeRequiredFields()
        this.$refs['addObj'].validate((valid) => {
          if (valid) {
            this.sampleList.forEach(item => {
src/views/business/productOrder/index.vue
@@ -4,20 +4,24 @@
      <el-form :model="entity" ref="entity" size="small" :inline="true">
        <el-form-item label="委托编号" prop="entrustCode">
          <el-input v-model="entity.entrustCode" clearable placeholder="请输入" size="small"
                    @keyup.enter.native="refreshTable">
                    @keyup.enter.native="handleQuery">
          </el-input>
        </el-form-item>
        <el-form-item label="样品名称" prop="sampleName">
          <el-input v-model="entity.sampleName" clearable placeholder="请输入" size="small"
                    @keyup.enter.native="refreshTable"></el-input>
                    @keyup.enter.native="handleQuery"></el-input>
        </el-form-item>
        <el-form-item label="样品型号" prop="sampleModel">
          <el-input v-model="entity.sampleModel" clearable placeholder="请输入" size="small"
                    @keyup.enter.native="refreshTable()"></el-input>
                    @keyup.enter.native="handleQuery"></el-input>
        </el-form-item>
        <el-form-item label="批次号" prop="updateBatchNo" v-if="more">
          <el-input v-model="entity.updateBatchNo" clearable placeholder="请输入批次号" size="small"
                    @keyup.enter.native="handleQuery"></el-input>
        </el-form-item>
        <el-form-item label="下单时间" prop="createTime" v-if="more">
          <el-date-picker v-model="entity.createTime" clearable format="yyyy-MM-dd" placeholder="选择日期" size="small"
                          @change="refreshTable"
                          @change="handleQuery"
                          style="width:100%" type="date" value-format="yyyy-MM-dd HH:mm:ss">
          </el-date-picker>
        </el-form-item>
@@ -35,7 +39,7 @@
          <el-button :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3A7BFA;" type="text"
                     @click="more = !more">{{ !more ? '更多' : '收起' }}
          </el-button>
          <el-button size="mini" type="primary" @click="refreshTable()">查询</el-button>
          <el-button size="mini" type="primary" @click="handleQuery">查询</el-button>
          <el-button size="mini" @click="refresh()">重置</el-button>
        </el-form-item>
      </el-form>
@@ -415,6 +419,7 @@
          dataType: "link",
          linkMethod: "editSampleModel",
        },
        {label: '批次号', prop: 'updateBatchNo', width: '160px'},
        {label: '样品数量', prop: 'sampleNum'},
        {label: '检验人', prop: 'testingName'},
        {
@@ -860,10 +865,15 @@
    },
    refresh() {
      this.resetForm('entity')
      this.refreshTable()
      this.handleQuery()
    },
    pagination(page) {
      this.page.size = page.limit
      this.page.current = page.page
      this.refreshTable()
    },
    handleQuery() {
      this.page.current = 1
      this.refreshTable()
    },
    // 打开修改委托编号弹框
@@ -1322,6 +1332,7 @@
    handleTab(i) {
      this.tabIndex = i;
      this.multipleSelection = []
      this.page.current = 1
      this.refreshTable()
    },
    // 查看检验数据