maven
8 天以前 4cc27f93a1901e12eb12a198029911c483dd991f
src/views/procureMent/components/ProductionDialog.vue
@@ -30,6 +30,20 @@
            />
          </el-select>
        </el-form-item>
        <el-form-item label="煤料类型" prop="type">
          <el-select
              v-model="form.type"
              placeholder="请选择煤种"
              :disabled="isViewMode"
          >
            <el-option
                :label="item.label"
                v-for="item in typeList"
                :key="item.value"
                :value="item.value"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="煤种" prop="coalId">
          <el-select
            v-model="form.coalId"
@@ -145,6 +159,20 @@
            value-format="YYYY-MM-DD"
          />
        </el-form-item>
          <el-form-item label="类型" prop="purchaseType">
          <el-select
              v-model="form.purchaseType"
              placeholder="请选择类型"
              :disabled="isViewMode"
          >
            <el-option
                v-for="item in purchaseTypeList"
                :key="item.value"
                :label="item.label"
                :value="Number(item.value)"
            />
          </el-select>
        </el-form-item>
      </el-form>
      <template #footer>
        <div class="dialog-footer">
@@ -171,6 +199,7 @@
import { ElMessage } from "element-plus";
import useUserStore from "@/store/modules/user";
import { addOrEditPR, getSupplyList, getCoalInfoList } from "@/api/procureMent";
import useDictStore from "@/store/modules/dict"
const props = defineProps({
  title: {
@@ -183,6 +212,16 @@
  required: true,
  type: Boolean,
});
const typeList = [
  {
    value: 1,
    label: "成品",
  },
  {
    value: 2,
    label: "原料",
  },
];
const form = defineModel("form", {
  required: true,
  type: Object,
@@ -193,8 +232,9 @@
});
const supplyList = ref([]);
const coalList = ref([]);
const purchaseTypeList = ref([])
const isViewMode = computed(() => props.title.includes("查看"));
// 获取供应商下拉和煤种下拉
// 获取供应商下拉和煤种下拉 以及类型
const getDropdownData = async () => {
  try {
    const [supplyRes, coalRes] = await Promise.all([
@@ -211,6 +251,7 @@
      value: item.id,
      label: item.coal,
    }));
  } catch (error) {
    ElMessage.error("获取下拉数据失败,请稍后重试");
  }
@@ -333,16 +374,24 @@
};
onMounted(async () => {
  purchaseTypeList.value = useDictStore().getDictTypeList("purchase_type").map((item) => ({
    value: item.value,
    label: item.label,
  }))
  let res = await userStore.getInfo();
  userInfo.value = res.user;
  await getDropdownData();
  // 组件加载完成后触发一次计算
  calculatePrices();
});
const rules = {
  supplierName: [
    { required: true, message: "请输入供应商名称", trigger: "blur" },
  ],
  type: [{ required: true, message: "请选择类型", trigger: "change" }],
  coal: [{ required: true, message: "请输入煤种", trigger: "blur" }],
  purchaseQuantity: [
    { required: true, message: "请输入采购数量", trigger: "blur" },
@@ -358,6 +407,9 @@
    { required: true, message: "请输入税率", trigger: "blur" },
    { type: "number", message: "税率必须为数字", trigger: "blur" },
  ],
  purchaseType: [
    { required: true, message: "请选择类型", trigger: "change" }
  ]
};
// 关闭弹窗
const handleClose = () => {