zzq
2023-09-26 25b727a5dc28f3c2d225c5e017da58f35c6b84b3
src/views/productManage/product/AddProductDialog.vue
@@ -36,7 +36,6 @@
          <el-button plain size="mini" disabled>更新数量</el-button>
          <el-button plain size="mini" disabled>执行补货</el-button>
        </div>
        <div class="basic-info">
          <FormBtnsView
            :add-product="addProduct"
@@ -47,7 +46,7 @@
          <div class="basic-info-view">
            <el-row>
              <el-col :span="23">
                <div style="margin-left: 20px">产品名称</div>
                <div style="margin-left: 20px"><span style="color: #f56c6c">*</span>产品名称</div>
                <el-form-item label="" prop="name" label-width="20px">
                  <el-input v-model="editConfig.infomation.name" placeholder="" :disabled="!showFooter"></el-input>
                </el-form-item>
@@ -105,8 +104,8 @@
                      <el-option v-for="item in strategyOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                    <div>可储存的产品是您管理库存水平的实物项目。</div>
                    <div>您可以在发货前为其开具结算单。</div>
                    <div class="font_size_13" style="color: gray">可储存的产品是您管理库存水平的实物项目。</div>
                    <div class="font_size_13" style="color: gray">您可以在发货前为其开具结算单。</div>
                  </el-form-item>
                  <el-form-item label="物料类型" prop="model" style="margin-left: 20px">
                    <el-select
@@ -116,20 +115,26 @@
                      clearable
                      style="width: 85%"
                      :popper-append-to-body="false"
                      :disabled="!showFooter"
                    >
                      <el-option v-for="item in materialTypeList" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item label="单位" prop="unit" style="margin-left: 20px">
                    <el-input v-model="editConfig.infomation.unit" placeholder="请输入" style="width: 85%"></el-input>
                    <el-input
                      v-model="editConfig.infomation.unit"
                      placeholder="请输入"
                      style="width: 85%"
                      :disabled="!showFooter"
                    ></el-input>
                  </el-form-item>
                  <el-form-item label="产品标签" prop="productTagName" style="margin-left: 20px">
                    <el-input
                      v-model="editConfig.infomation.productTagName"
                      placeholder="请输入"
                      style="width: 85%"
                      :disabled="!showFooter"
                    ></el-input>
                  </el-form-item>
                </div>
@@ -153,6 +158,7 @@
                      :min="0"
                      :controls="false"
                      style="width: 85%; margin-right: 5px"
                      :disabled="!showFooter"
                    ></el-input-number>
                  </el-form-item>
                  <el-form-item label="成本" prop="cost" style="margin-left: 20px">
@@ -237,7 +243,6 @@
                    </el-checkbox-group>
                  </el-form-item>
                </div> -->
                <div class="left">
                  <el-form-item label="负责人" prop="principal" style="margin-left: 20px" label-width="80px">
                    <el-select
@@ -259,6 +264,7 @@
                      :precision="2"
                      :controls="false"
                      style="width: 85%"
                      :disabled="!showFooter"
                    ></el-input-number>
                    <span> kg</span>
                  </el-form-item>
@@ -270,6 +276,7 @@
                      :precision="2"
                      :controls="false"
                      style="width: 85%"
                      :disabled="!showFooter"
                    ></el-input-number>
                    <span> m³</span>
                  </el-form-item>
@@ -277,6 +284,40 @@
                <div class="right">
                  <el-form-item
                    label="制造前置时间"
                    prop="makeAdvanceTime"
                    style="margin-left: 20px"
                    label-width="130px"
                  >
                    <el-input-number
                      v-model="editConfig.infomation.makeAdvanceTime"
                      placeholder="请输入"
                      :min="0"
                      :precision="0"
                      :controls="false"
                      style="width: 85%"
                      :disabled="!showFooter"
                    ></el-input-number>
                    <span> 天数</span>
                  </el-form-item>
                  <el-form-item
                    label="生产订单准备天数"
                    prop="orderAdvanceTime"
                    style="margin-left: 20px"
                    label-width="130px"
                  >
                    <el-input-number
                      v-model="editConfig.infomation.orderAdvanceTime"
                      placeholder="请输入"
                      :min="0"
                      :precision="0"
                      :controls="false"
                      style="width: 85%"
                      :disabled="!showFooter"
                    ></el-input-number>
                    <span> 天数</span>
                  </el-form-item>
                  <el-form-item
                    label="客户前置时间"
                    prop="deliveryAdvanceTime"
                    style="margin-left: 20px"
                    label-width="130px"
@@ -285,35 +326,12 @@
                      v-model="editConfig.infomation.deliveryAdvanceTime"
                      placeholder="请输入"
                      :min="0"
                      :precision="2"
                      :precision="0"
                      :controls="false"
                      style="width: 85%"
                    ></el-input-number>
                    <span> 天数</span>
                  </el-form-item>
                  <el-form-item label="生产订单准备天数" prop="name" style="margin-left: 20px" label-width="130px">
                    <el-input-number
                      v-model="editConfig.infomation.customerTaxes"
                      placeholder="请输入"
                      :min="0"
                      :precision="2"
                      :controls="false"
                      style="width: 85%"
                    ></el-input-number>
                    <span> 天数</span>
                  </el-form-item>
                  <el-form-item label="客户前置时间" prop="aaa" style="margin-left: 20px" label-width="130px">
                    <el-select
                      v-model="editConfig.infomation.aaa"
                      multiple
                      placeholder="请选择"
                      size="mini"
                      style="width: 85%"
                      :disabled="!showFooter"
                    >
                      <el-option v-for="item in aaaOptions" :key="item.id" :label="item.username" :value="item.id">
                      </el-option>
                    </el-select>
                    ></el-input-number>
                    <span> 天</span>
                  </el-form-item>
                </div>
              </div>
@@ -466,7 +484,6 @@
      </el-form>
      <!-- 尾 -->
      <div v-if="showFooter" slot="footer" class="dialog-footer">
        <!-- <el-button type="primary" size="small" @click="editConfig.visible = false">保并提交审批</el-button> -->
        <el-button type="primary" size="small" @click="saveClick('form')">保存</el-button>
        <el-button size="small" @click="editConfig.visible = false">取消</el-button>
      </div>
@@ -477,7 +494,7 @@
<script>
// import CommonFormTableView from "@/components/makepager/CommonFormTableView"
import { getProductCategoryList } from "@/api/product/productCategory"
import { getProductList, addProduct } from "@/api/product/product"
import { getProductList, addProduct, updateProduct } from "@/api/product/product"
let inputElement = null
export default {
@@ -489,7 +506,7 @@
        return {
          visible: false,
          title: "新建",
          infomation: { type: [] }
          infomation: {}
        }
      }
    }
@@ -501,18 +518,12 @@
      dialogWidth: "50%",
      editConfig: this.editCommonConfig,
      rules: {
        client_name: [{ required: true, message: "请选择客户名称", trigger: "change" }],
        number: [{ required: true, message: "请输入退款单编号", trigger: "blur" }],
        refundDate: [{ required: true, message: "请选择退款日期", trigger: "change" }],
        memberId: [{ required: true, message: "请选择销售负责人", trigger: "change" }],
        sale_return_nunber: [{ required: true, message: "请选择销售退货单", trigger: "change" }]
        name: [{ required: true, message: "请输入产品名称", trigger: "blur" }],
        model: [{ required: true, message: "请选择物料类型", trigger: "change" }],
        salePrice: [{ required: true, message: "请输入销售价格", trigger: "blur" }],
        unit: [{ required: true, message: "请输入单位", trigger: "blur" }]
      },
      memberOptions: [
        {
          name: "admin",
          id: 1
        }
      ],
      memberOptions: [{ name: "管理员", id: 1 }],
      productCategoryOptions: [], // 产品类别
      productTypeOptions: [
        { name: "能消耗", id: 1 },
@@ -527,7 +538,7 @@
      showButton: true,
      activeName: "first",
      productTableList: {},
      tableData: [{ name: "ssss" }],
      tableData: [],
      isNoProduct: false, // 添加明细行时是否有产品未选择
      showEdit: false, // 是否显示编辑按钮
      isDelClick: false, // 删除按钮是否可点击
@@ -541,30 +552,12 @@
      showProcure: true,
      showSale: true,
      materialTypeList: [
        {
          name: "原材料",
          id: "原材料"
        },
        {
          name: "半成品",
          id: "半成品"
        },
        {
          name: "成品",
          id: "成品"
        },
        {
          name: "辅料",
          id: "辅料"
        },
        {
          name: "耗材",
          id: "耗材"
        },
        {
          name: "其他",
          id: "其他"
        }
        { name: "原材料", id: "原材料" },
        { name: "半成品", id: "半成品" },
        { name: "成品", id: "成品" },
        { name: "辅料", id: "辅料" },
        { name: "耗材", id: "耗材" },
        { name: "其他", id: "其他" }
      ]
    }
  },
@@ -630,16 +623,21 @@
      this.setTableForm()
    },
    // 保存
    async saveClick() {
    saveClick(formName) {
      console.log(this.editConfig.infomation)
      await addProduct({
        ...this.editConfig.infomation
      }).then((res) => {
        console.log(res)
        this.editConfig.visible = false
        if (res.code === 200) {
          this.$message.success("添加成功")
          this.$parent.getData()
      this.$refs[formName].validate((valid) => {
        if (valid) {
          let requestUrl = this.editConfig.title === "新建" ? addProduct : updateProduct
          requestUrl({
            ...this.editConfig.infomation
          }).then((res) => {
            console.log(res)
            this.editConfig.visible = false
            if (res.code === 200) {
              this.$message.success("添加成功")
              this.$parent.getData()
            }
          })
        }
      })
    },
@@ -750,7 +748,11 @@
    // 进出点击
    inOutBoundClick() {
      if (this.editConfig.title !== "新建") {
        this.$router.push({ path: "/reportForm/inOutboundDetail", query: { name: "产品名称/出入库明细" } })
        console.log(this.editConfig.infomation)
        this.$router.push({
          name: "inOutboundDetail",
          params: { name: this.editConfig.infomation.name, id: this.editConfig.infomation.id }
        })
      }
    },
    // 可销售/可采购
@@ -905,5 +907,8 @@
    line-height: 30px;
    font-size: 13px;
  }
  .el-input__inner {
    text-align: left;
  }
}
</style>