浏览代码

Merge branch 'master' into 测试

lxf 1 年之前
父节点
当前提交
b36a9b690e
共有 2 个文件被更改,包括 51 次插入31 次删除
  1. 17 17
      src/views/group/BOM/calculator/basics.vue
  2. 34 14
      src/views/group/BOM/calculator/index.vue

+ 17 - 17
src/views/group/BOM/calculator/basics.vue

@@ -1,7 +1,7 @@
 <template>
   <div style="max-height: calc(100vh - 184px); overflow-y: auto; overflow-x: hidden; margin-bottom: -40px" v-loading="loading">
-    <div style="display: flex; flex-wrap: wrap; justify-content: space-between">
-      <div v-for="item in codeList" :key="item.key" style="margin-bottom: 40px">
+    <div style="display: flex; flex-wrap: wrap; justify-content: center">
+      <div v-for="item in codeList" :key="item.key" style="margin: 0 40px 40px 0">
         <div style="margin-bottom: 16px; font-size: 24px; font-weight: 700; color: black">
           <span>{{ item.value }}</span>
           <el-button type="primary" style="margin-left: 10px" @click="clickModal(item.key, item.table)" text v-preReClick>新增</el-button>
@@ -94,11 +94,11 @@ const codeList = ref([
     key: "base_material_price",
     value: "基材价格",
     table1: [
-      { type: "input", prop: "name", label: "级别", width: 120, itemType: "text" },
+      { type: "input", prop: "name", label: "级别(体系一)", width: 130, itemType: "text" },
       { type: "number", prop: "price", label: "价格(每m2)", width: 120, min: 0, precision: 2, controls: false },
     ],
     table2: [
-      { type: "input", prop: "name", label: "级别", width: 120, itemType: "text" },
+      { type: "input", prop: "name", label: "级别(体系二)", width: 130, itemType: "text" },
       { type: "number", prop: "price", label: "价格(每m2)", width: 120, min: 0, precision: 2, controls: false },
     ],
   },
@@ -122,28 +122,20 @@ const codeList = ref([
     key: "crop_config",
     value: "裁切配置",
     table: [
-      { type: "input", prop: "name", label: "品类", width: 120, itemType: "text" },
+      { type: "input", prop: "name", label: "品类", width: 180, itemType: "text" },
       { type: "number", prop: "length", label: "加长(cm)", width: 120, min: 0, precision: 0, controls: false },
       { type: "number", prop: "width", label: "加宽(cm)", width: 120, min: 0, precision: 0, controls: false },
     ],
   },
   {
-    key: "embossing_config",
-    value: "压纹配置",
-    table: [
-      { type: "input", prop: "name", label: "品类", width: 120, itemType: "text" },
-      { type: "number", prop: "height", label: "加厚(mm)", width: 120, min: 0, precision: 2, controls: false },
-    ],
-  },
-  {
     key: "yoga_mat_depletion_config",
     value: "瑜伽垫损耗配置",
     table1: [
-      { type: "input", prop: "name", label: "品类", width: 100, itemType: "text" },
+      { type: "input", prop: "name", label: "品类", width: 160, itemType: "text" },
       { type: "number", prop: "depletion", label: "损耗", width: 100, min: 0, precision: 0, controls: false },
     ],
     table2: [
-      { type: "input", prop: "name", label: "成品宽度", width: 100, itemType: "text" },
+      { type: "input", prop: "name", label: "成品宽度", width: 160, itemType: "text" },
       { type: "number", prop: "depletion", label: "特定损耗", width: 100, min: 0, precision: 0, controls: false },
     ],
   },
@@ -151,14 +143,22 @@ const codeList = ref([
     key: "skip_mat_depletion_config",
     value: "跳绳垫损耗配置",
     table1: [
-      { type: "input", prop: "name", label: "品类", width: 100, itemType: "text" },
+      { type: "input", prop: "name", label: "品类", width: 160, itemType: "text" },
       { type: "number", prop: "depletion", label: "损耗", width: 100, min: 0, precision: 0, controls: false },
     ],
     table2: [
-      { type: "input", prop: "name", label: "级别", width: 100, itemType: "text" },
+      { type: "input", prop: "name", label: "级别", width: 160, itemType: "text" },
       { type: "number", prop: "depletion", label: "特定损耗", width: 100, min: 0, precision: 0, controls: false },
     ],
   },
+  {
+    key: "embossing_config",
+    value: "压纹配置",
+    table: [
+      { type: "input", prop: "name", label: "品类", width: 180, itemType: "text" },
+      { type: "number", prop: "height", label: "加厚(mm)", width: 120, min: 0, precision: 2, controls: false },
+    ],
+  },
 ]);
 const getList = () => {
   loading.value = true;

+ 34 - 14
src/views/group/BOM/calculator/index.vue

@@ -13,11 +13,22 @@
           <el-option label="跳绳垫" :value="2"></el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="级别" prop="levelConfigId">
+      <el-form-item label="体系" prop="type">
+        <el-select v-model="formData.data.type" placeholder="请选择" @change="changeType">
+          <el-option label="体系一" :value="0"></el-option>
+          <el-option label="体系二" :value="1"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="级别" prop="levelConfigId" v-if="formData.data.type === 0">
         <el-select v-model="formData.data.levelConfigId" placeholder="请选择">
           <el-option v-for="item in levelConfigList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
         </el-select>
       </el-form-item>
+      <el-form-item label="级别" prop="levelConfigId" v-if="formData.data.type === 1">
+        <el-select v-model="formData.data.levelConfigId" placeholder="请选择">
+          <el-option v-for="item in levelConfigListTwo" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item label="品类" prop="categoryConfigId">
         <el-select v-model="formData.data.categoryConfigId" placeholder="请选择">
           <el-option v-for="item in categoryConfigList" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
@@ -96,7 +107,7 @@
       </template>
     </el-dialog>
 
-    <el-dialog title="基础价格设置" v-if="openBasics" v-model="openBasics" width="1600">
+    <el-dialog title="基础价格设置" v-if="openBasics" v-model="openBasics" width="1500">
       <Basics></Basics>
       <template #footer>
         <el-button @click="openBasics = false" size="large">关 闭</el-button>
@@ -131,6 +142,7 @@ const clickProcessCost = () => {
   openProcessCost.value = true;
 };
 const levelConfigList = ref([]);
+const levelConfigListTwo = ref([]);
 const categoryConfigList = ref([]);
 const colourPriceList = ref([]);
 const embossingList = ref([]);
@@ -149,6 +161,7 @@ const formData = reactive({
 });
 const rules = ref({
   bomClassify: [{ required: true, message: "请选择裸垫类型", trigger: "change" }],
+  type: [{ required: true, message: "请选择体系", trigger: "change" }],
   levelConfigId: [{ required: true, message: "请选择级别", trigger: "change" }],
   categoryConfigId: [{ required: true, message: "请选择品类", trigger: "change" }],
   colourConfigOne: [{ required: true, message: "请选择颜色", trigger: "change" }],
@@ -160,18 +173,22 @@ const rules = ref({
 const getDemandData = () => {
   proxy.post("/bomSpecPriceConfig/list", { code: "base_material_price" }).then((res) => {
     if (res && res.length > 0) {
-      levelConfigList.value = res.map((item) => {
-        let name = item.name;
-        if (item.type === 0) {
-          name += "(体系一)";
-        } else {
-          name += "(体系二)";
-        }
-        return {
-          dictKey: item.id,
-          dictValue: name,
-        };
-      });
+      levelConfigList.value = res
+        .filter((item) => item.type === 0)
+        .map((item) => {
+          return {
+            dictKey: item.id,
+            dictValue: item.name,
+          };
+        });
+      levelConfigListTwo.value = res
+        .filter((item) => item.type === 1)
+        .map((item) => {
+          return {
+            dictKey: item.id,
+            dictValue: item.name,
+          };
+        });
     }
   });
   proxy.post("/bomSpecPriceConfig/list", { code: "category_price" }).then((res) => {
@@ -227,6 +244,9 @@ const clickReset = () => {
   priceData.data = {};
   proxy.$refs.submit.resetFields();
 };
+const changeType = () => {
+  formData.data.levelConfigId = "";
+};
 </script>
 
 <style lang="scss" scoped>