张诺
6 天以前 c8b65690b946b28b179796fbe2f020e732043c58
src/views/basicData/product/index.vue
@@ -76,7 +76,7 @@
    <div class="right">
      <div style="margin-bottom: 10px" v-if="isShowButton">
        <el-button type="primary" @click="openModelDia('add')">
          新增产品高度
          新增规格型号
        </el-button>
        <ImportExcel @uploadSuccess="getModelList" />
        <el-button
@@ -129,7 +129,7 @@
    </el-dialog>
    <el-dialog
      v-model="modelDia"
      title="产品高度"
      title="规格型号"
      width="400px"
      @close="closeModelDia"
      @keydown.enter.prevent
@@ -143,10 +143,10 @@
      >
        <el-row>
          <el-col :span="24">
            <el-form-item label="产品高度:" prop="model">
            <el-form-item label="规格型号:" prop="model">
              <el-input
                v-model="modelForm.model"
                placeholder="请输入产品高度"
                placeholder="请输入规格型号(g*袋数)"
                clearable
                @keydown.enter.prevent
              />
@@ -155,16 +155,46 @@
        </el-row>
        <el-row>
          <el-col :span="24">
            <el-form-item label="高度单位:" prop="unit">
            <el-form-item label="其他规格型号:" prop="otherModel">
              <el-input
                v-model="modelForm.unit"
                placeholder="请输入高度单位"
                v-model="modelForm.otherModel"
                placeholder="请输入其他规格型号"
                clearable
                @keydown.enter.prevent
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
            <el-form-item label="单位:" prop="unit">
              <el-input
                v-model="modelForm.unit"
                placeholder="请输入单位"
                clearable
                @keydown.enter.prevent
              />
            </el-form-item>
          </el-col>
        </el-row>
<!--        <el-row>-->
<!--          <el-col :span="24">-->
<!--            <el-form-item label="绑定机器:" prop="speculativeTradingName">-->
<!--              <el-select-->
<!--                v-model="modelForm.speculativeTradingName"-->
<!--                placeholder="请选择绑定机器"-->
<!--                multiple-->
<!--                clearable-->
<!--                style="width: 100%"-->
<!--              >-->
<!--                <el-option label="炒机1" value="炒机1" />-->
<!--                <el-option label="炒机2" value="炒机2" />-->
<!--                <el-option label="炒机3" value="炒机3" />-->
<!--                <el-option label="炒机4" value="炒机4" />-->
<!--              </el-select>-->
<!--            </el-form-item>-->
<!--          </el-col>-->
<!--        </el-row>-->
      </el-form>
      <template #footer>
        <div class="dialog-footer">
@@ -205,13 +235,17 @@
const expandedKeys = ref([]);
const tableColumn = ref([
  {
    label: "产品高度",
    label: "规格型号",
    prop: "model",
  },
  {
    label: "高度单位",
    label: "单位",
    prop: "unit",
  },
  // {
  //   label: "绑定机器",
  //   prop: "speculativeTradingName",
  // },
  {
    dataType: "action",
    label: "操作",
@@ -244,12 +278,22 @@
    productName: [{ required: true, message: "请输入", trigger: "blur" }],
  },
  modelForm: {
    otherModel:'',
    model: "",
    unit: "",
    speculativeTradingName: [],
  },
  modelRules: {
    model: [{ required: true, message: "请输入", trigger: "blur" }],
    unit: [{ required: true, message: "请输入", trigger: "blur" }],
    model: [
      // { required: true, message: "请输入", trigger: "blur" },
      {
        pattern: /^[0-9*]*$/,
        message: "只能输入数字和*号",
        trigger: "blur"
      }
    ],
    // unit: [{ required: true, message: "请输入", trigger: "blur" }],
    // speculativeTradingName: [{ required: false, message: "请选择绑定机器", trigger: "change" }],
  },
});
const { form, rules, modelForm, modelRules } = toRefs(data);
@@ -281,15 +325,20 @@
    form.value.productName = data.productName;
  }
};
// 打开产品高度弹框
// 打开规格型号弹框
const openModelDia = (type, data) => {
  modelOperationType.value = type;
  modelDia.value = true;
  modelForm.value.model = "";
  modelForm.value.model = "";
  modelForm.value.unit = "";
  modelForm.value.speculativeTradingName = [];
  modelForm.value.id = "";
  if (type === "edit") {
    modelForm.value = { ...data };
    // 如果后端返回的是字符串,需要转换为数组
    if (data.speculativeTradingName && typeof data.speculativeTradingName === 'string') {
      modelForm.value.speculativeTradingName = data.speculativeTradingName.split(',');
    }
  }
};
// 提交产品名称修改
@@ -358,8 +407,24 @@
const submitModelForm = () => {
  proxy.$refs.modelFormRef.validate((valid) => {
    if (valid) {
      modelForm.value.productId = currentId.value;
      addOrEditProductModel(modelForm.value).then((res) => {
      let _modelForm = { ...modelForm.value };
      if(_modelForm.otherModel){
        _modelForm.model = _modelForm.otherModel;
      }
      delete _modelForm.otherModel;
      // 确保 speculativeTradingName 是数组类型,然后转换为逗号分隔的字符串
      let speculativeTradingNameValue = modelForm.value.speculativeTradingName;
      if (!Array.isArray(speculativeTradingNameValue)) {
        // 如果不是数组,转换为数组
        speculativeTradingNameValue = speculativeTradingNameValue.split(',').filter(item => item);
      }
      const submitData = {
        ..._modelForm,
        productId: currentId.value,
        speculativeTradingName: speculativeTradingNameValue.join(',')
      };
      addOrEditProductModel(submitData).then((res) => {
        proxy.$modal.msgSuccess("提交成功");
        closeModelDia();
        getModelList();