zuozhengqing
2024-03-22 9b2a3f36ec28dfc50d26e9cb4aa9fe13497e8dff
单位组件调整
3个文件已修改
167 ■■■■■ 已修改文件
src/api/basic/standard.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productManage/product/AddProductDialog.vue 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productManage/product/components/bomDialog.vue 136 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/basic/standard.js
@@ -27,6 +27,15 @@
  });
};
// 产品-获取单位列表
export const getUnitInfo = (data) => {
  return request({
    url: "/api-wms/v1/product/getUnitInfo",
    method: "get",
    data,
  });
};
// ----bom --- 計量單位 的數據  更新
export const postGetSaveSUnitDict = (params) =>
  request.post("/api-s/v1/dict/saveUnitDict", params);
src/views/productManage/product/AddProductDialog.vue
@@ -130,14 +130,14 @@
                      </el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item label="单位old" prop="unit">
                  <!-- <el-form-item label="单位old" prop="unit">
                    <el-input
                      v-model="editConfig.infomation.unit"
                      placeholder="请输入"
                      style="width: 85%"
                      :disabled="!showFooter"
                    ></el-input>
                  </el-form-item>
                  </el-form-item> -->
                  <el-form-item label="单位" prop="unit">
                    <el-select
@@ -536,6 +536,7 @@
    </el-dialog>
    <BomDialog
      ref="editDialog"
      :editRow="editRow"
      @sucessSet="handleGetBomKindDictList"
      @handleConfirmSave="handleConfirmSave"
      :workList="unitList"
@@ -552,6 +553,7 @@
import codeMixin from "@/components/mixin/codeMixin"
import { getDataByType } from "@/api/data"
import BomDialog from "./components/bomDialog";
import {getUnitInfo,  } from "@/api/basic/standard";
// import { postGetSaveSUnitDict  } from "@/api/basic/standard";
@@ -656,6 +658,10 @@
      fileFormdata: null, // 上传图片入参
      bomPurchaseTypeList: getDataByType("purchaseType"),
      unitList: [],
      editRow:{
        editDialogVisible:false,
        BomTableData:[]
      }
    }
  },
  created() {
@@ -676,12 +682,13 @@
    this.setOptionalFieldsToEmpty()
    this.formInfo()
    this.getUserInfo()
    this.getUnitInfo()
  },
  methods: {
    // 单位
    handleUnitShow() {
      this.handleGetBomKindDictList();
      this.$refs.editDialog.editDialogVisible = true;
      this.editRow.editDialogVisible = true;
    },
    //  单位
    handleGetBomKindDictList(val) {
@@ -713,7 +720,7 @@
      //     this.handleGetBomKindDictList();
      //   }
      // });
      this.$refs.editDialog.editDialogVisible = false;
      this.editRow.editDialogVisible = false;
    },
    // 获取登录用户信息
@@ -992,6 +999,13 @@
      } else if (val === "销售") {
        this.showSale = param
      }
    },
    // 获取单位列表数据
    async getUnitInfo(){
      await getUnitInfo().then((res)=>{
        this.editRow.BomTableData = res.data;
        console.log( this.editRow.BomTableData,"看下",res.data)
      })
    }
  }
}
src/views/productManage/product/components/bomDialog.vue
@@ -1,25 +1,13 @@
<template>
  <el-dialog
    :close-on-click-modal="false"
    :visible.sync="editDialogVisible"
    width="33rem"
    class="add-event-dialog"
    @close="shutdown"
    append-to-body
  >
  <el-dialog :close-on-click-modal="false" :visible.sync="thatEditRow.editDialogVisible" width="33rem" class="add-event-dialog"
    @close="shutdown" append-to-body>
    <div slot="title" class="tac drawerHeader">
      <!-- {{ title }}组件 -->
      编辑下拉框>单位
    </div>
    <div class="drawerContent">
      <el-table
        v-if="isTableShow"
        :header-cell-style="{ background: '#f1f3f8', color: '#000009' }"
        ref="multipleTable"
        :data="BomTableData"
        tooltip-effect="dark"
        height="440"
      >
      <el-table v-if="isTableShow" :header-cell-style="{ background: '#f1f3f8', color: '#000009' }" ref="multipleTable"
        :data="thatEditRow.BomTableData" tooltip-effect="dark" height="440">
        <el-table-column prop="unit" label="单位">
          <template slot-scope="scope">
            <el-input v-model="scope.row.name"></el-input>
@@ -27,28 +15,16 @@
        </el-table-column>
        <el-table-column prop="createdAt" label="设为默认">
          <template slot-scope="scope">
            <el-switch
              @change="switchChange(scope, scope.row.isDefault)"
              v-model="scope.row.isDefault"
            ></el-switch>
            <el-switch @change="switchChange(scope, scope.row.isDefault)" v-model="scope.row.isDefault"></el-switch>
          </template>
        </el-table-column>
        <!-- <el-table-column label="操作" width="100">
        <el-table-column label="操作" width="100">
          <template slot-scope="scope">
            <i
              class="el-icon-delete"
              id="iconStyle"
              @click="handleDelete(scope.row.id)"
            ></i>
            <i class="el-icon-delete" id="iconStyle" @click="handleDelete(scope.row.id)"></i>
          </template>
        </el-table-column> -->
        </el-table-column>
      </el-table>
      <el-button
        @click="handleAdd()"
        type="text"
        class="margin_top_15px margin_left_20px"
        >新增下拉框</el-button
      >
      <el-button @click="handleAdd()" type="text" class="margin_top_15px margin_left_20px">新增下拉框</el-button>
    </div>
    <div slot="footer" class="dialog-footer tac">
      <!-- <el-button
@@ -56,19 +32,14 @@
        style="margin-left: 16px; color: #fff; background-color: #ee790c"
        >新增</el-button
      > -->
      <el-button @click="shutdown">取消</el-button
      ><el-button
        type="primary"
        @click="handleConfirmSave()"
        style="margin-left: 16px; color: #fff; background-color: #2a78fb"
        >确定</el-button
      >
      <el-button @click="shutdown">取消</el-button><el-button type="primary" @click="handleConfirmSave()"
        style="margin-left: 16px; color: #fff; background-color: #2a78fb">确定</el-button>
    </div>
  </el-dialog>
</template>
<script>
import { getCodeStandardList,addMaterial, updateMaterial  } from "@/api/basic/standard";
import { getCodeStandardList, addMaterial, updateMaterial, } from "@/api/basic/standard";
export default {
  name: "bomDialog",
@@ -79,7 +50,9 @@
    editRow: {
      type: Object,
      default: () => {
        return {};
        return {
          editDialogVisible: false,
        };
      },
    },
    workList: {
@@ -88,10 +61,11 @@
  },
  data() {
    return {
      editDialogVisible: false,
      thatEditRow:this.editRow,
      isTableShow: true,
      form: {},
      BomTableData: [1],
      // BomTableData: JSON.parse(this.thatEditRow.BomTableData),
      // BomTableData: [{ id: 303, createdAt: "2024-02-05 18:02:47", updatedAt: "2024-02-05 18:02:47",name: "kg", isDefault: false }],
      work: 1,
      flag: "add",
      obj: { name: "", page: 0, pageSize: 0, type: "物料编码" },
@@ -101,14 +75,6 @@
      sum: 0,
      explain: "",
      Tabs: "msg",
      tableData: [
        {
          date: "PEBU",
          name: "PE布",
          number: "21",
          unit: "吨",
        },
      ],
      rules: {
        id: [{ required: true, message: "请输入物料编码", trigger: "blur" }],
        name: [{ required: true, message: "请输入物料名称", trigger: "blur" }],
@@ -135,17 +101,21 @@
    };
  },
  watch: {
    editDialogVisible(newVal) {
      if (newVal) {
        this.BomTableData = this.workList;
      }
    },
    workList(newVal) {
      console.log(newVal)
      this.BomTableData = this.workList;
    },
    // editDialogVisible(newVal) {
    //   console.log(newVal,"看看val")
    //   if (newVal) {
    //     this.BomTableData = this.workList;
    //   }
    // },
    // workList(newVal) {
    //   console.log(newVal)
    //   this.BomTableData = this.workList;
    // },
  },
  mounted() {},
  created() {
    console.log(this.thatEditRow,"thatEditRow")
  },
  mounted() { },
  methods: {
    handleAdd() {
      this.BomTableData.push({ name: "", isDefault: false });
@@ -232,7 +202,7 @@
      }
    },
    shutdown() {
      this.editDialogVisible = false;
      this.thatEditRow.editDialogVisible = false;
    },
  },
};
@@ -246,9 +216,11 @@
  background: #fff;
  width: 25vw !important;
  height: 600px;
  #iconStyle {
    font-size: 20px !important;
  }
  .drawerContent {
    position: relative;
    overflow-y: auto;
@@ -258,21 +230,28 @@
    width: 25vw;
    overflow-x: hidden;
    height: 480px;
    scrollbar-width: none; /* firefox */
    -ms-overflow-style: none; /* IE 10+ */
    scrollbar-width: none;
    /* firefox */
    -ms-overflow-style: none;
    /* IE 10+ */
    ::v-deep .el-tabs__nav-scroll {
      padding-left: 25px;
    }
    .baseTitle {
      margin: 50px 0 20px;
      font-weight: bold;
    }
    .baseInfo {
      display: flex;
    }
  }
  .drawerContent::-webkit-scrollbar {
    display: none; /* Chrome Safari */
    display: none;
    /* Chrome Safari */
  }
}
@@ -280,6 +259,7 @@
  margin-top: 16px;
  margin-right: 20px;
  text-align: right;
  .el-button {
    width: 80px;
    height: 38px;
@@ -288,30 +268,38 @@
    color: #000;
  }
}
::v-deep .el-form {
  width: 389px;
  .input-box .input-content input {
    margin: 0;
    margin-right: 3px;
  }
  .el-input__inner,
  .el-textarea__inner {
    line-height: 18px;
    font-family: PingFangSC;
  }
}
::v-deep .el-tabs__header {
  border: none;
  .el-tabs__nav {
    border: none;
  }
}
::v-deep .el-form-item__content {
  width: 263px;
  .input-box {
    width: 263px;
  }
}
::v-deep .el-form-item__label {
  font-size: 13px !important;
  color: #000;
@@ -319,12 +307,14 @@
  text-align: center !important;
  width: 60px;
}
::v-deep .input-box .input-content input {
  width: 23px;
  height: 26px;
  border-color: rgba(0, 0, 0, 0.1);
  font-family: PingFangSC;
}
::v-deep .el-icon-minus {
  width: 13px !important;
  height: 26px !important;
@@ -332,29 +322,35 @@
  color: #e5e5e5;
  font-size: 13px;
}
::v-deep .el-input__inner {
  font-size: 13px !important;
  color: rgba(0, 0, 0, 0.9);
}
::v-deep .el-input__inner::placeholder {
  color: rgba(0, 0, 0, 0.4);
}
::v-deep .el-form-item__error {
  font-family: PingFangSC;
}
.self {
  ::v-deep .el-input__inner {
  }
  ::v-deep .el-input__inner {}
}
::v-deep .el-select-dropdown {
  position: absolute !important;
  top: 36px !important;
  left: 0px !important;
}
::v-deep .el-select-dropdown__wrap {
  overflow: auto !important;
}
::v-deep .el-dialog__body{
  padding-bottom:10px!important;
::v-deep .el-dialog__body {
  padding-bottom: 10px !important;
}
</style>