zuozhengqing
2024-02-05 3c4e059b2c47e3ba22b694805645b008c4276e25
添加修改密码,api拦截,bug修改
4个文件已添加
9个文件已修改
803 ■■■■■ 已修改文件
src/api/admin/user.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/basic/standard.js 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/common/untils/request.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/layout/components/appHeader/components/updatePassWord.vue 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/layout/components/appHeader/index.vue 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/allot/index.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/outEnterLibrary/index.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/scrap/AddScrapDialog.vue 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/overview/AddOverviewDialog.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productManage/product/AddProductDialog.vue 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productManage/product/components/bomDialog.vue 360 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportForm/inboundOutboundDetail/index.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/admin/user.js
New file
@@ -0,0 +1,20 @@
import request from "@/common/untils/request"
// 重置密码
export function initPassword(data) {
  return request({
    url: "/api/user/initPassword",
    method: "post",
    data,
  });
}
// 设置新密码
export function modifiedPwd(data) {
  return request({
    url: "/api/user/modifiedPwd",
    method: "post",
    data,
  });
}
src/api/basic/standard.js
New file
@@ -0,0 +1,32 @@
import request from "@/common/untils/request"
//编码规范列表
export const getCodeStandardList = (data) => {
  return request({
    url: "/api-s/v1/standard/getCodeStandardList",
    method: "post",
    data,
  });
};
export const addMaterial = (data) => {
  return request({
    url: "/api-s/v1/material/addMaterial",
    method: "post",
    data,
  });
};
export const updateMaterial = (data) => {
  return request({
    url: "/api-s/v1/material/updateMaterial",
    method: "post",
    data,
  });
};
// ----bom --- 計量單位 的數據  更新
export const postGetSaveSUnitDict = (params) =>
  request.post("/api-s/v1/dict/saveUnitDict", params);
src/common/untils/request.js
@@ -73,6 +73,17 @@
        window.location = getApsPage()+'/login'
      }
      return Promise.reject(res.data)
    }else if([2036].includes(res.data.code)){
      if (isDev){
        window.location = getApsPage()+'/commonWeb?resetPwd=true'
      }else {
        //   JWT鉴权失效 跳转到登录页
        window.location = getApsPage()+'/commonWeb'
      }
      return Promise.reject(res.data)
      // if(window.location.pathname && window.location.pathname !== '/login'){
      //   window.location = window.location.origin+'/login'
      // }
    } else {
      Message({
        message: res.data.msg,
src/components/layout/components/appHeader/components/updatePassWord.vue
New file
@@ -0,0 +1,182 @@
<template>
  <div>
    <el-dialog
      title="修改密码"
      :visible.sync="editConfig.dialogVisible"
      width="30%"
      :before-close="handleClose">
      <el-form :label-position="labelPosition" :model="ruleForm"  :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
        <el-form-item label="旧密码:" prop="oldPass">
          <el-input type="password" clearable v-model="ruleForm.oldPass" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="新密码:" prop="pass">
          <el-input type="password" clearable v-model="ruleForm.pass" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item label="确认密码:" prop="checkPass">
          <el-input type="password"  clearable v-model="ruleForm.checkPass" autocomplete="off"></el-input>
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="submitForm('ruleForm')" style="margin-bottom:20px;">确认</el-button>
        </el-form-item>
      </el-form>
    </el-dialog>
  </div>
</template>
<script>
import { modifiedPwd } from "@/api/admin/user";
export default {
  props: {
    editCommonConfig: {
      type: Object,
      default: () => {
        return {
          dialogVisible:false,
          userId:"",
        };
      },
    },
  },
  data() {
    var validatePass = (rule, value, callback) => {
      if (value === '') {
        callback(new Error('请输入旧密码'));
      }else{
        callback();
      }
    };
    var validatePass1 = (rule, value, callback) => {
      if (value === '') {
        callback(new Error('请输入新密码'));
      } else {
        if (this.ruleForm.checkPass !== '') {
          this.$refs.ruleForm.validateField('checkPass');
        }
        callback();
      }
    };
    var validatePass2 = (rule, value, callback) => {
      if (value === '') {
        callback(new Error('请再次输入密码'));
      } else if (value !== this.ruleForm.pass) {
        callback(new Error('两次输入密码不一致!'));
      } else {
        callback();
      }
    };
    return {
      editConfig:this.editCommonConfig,
      // dialogVisible: false
      ruleForm: {
        oldPass:'',
        pass: '',
        checkPass: '',
      },
      rules: {
        oldPass: [
          { validator: validatePass, trigger: 'blur', required: true, }
        ],
        pass: [
          { validator: validatePass1, trigger: 'blur', required: true, }
        ],
        checkPass: [
          { validator: validatePass2, trigger: 'blur', required: true, }
        ],
      },
      labelPosition:"left",
      userId : '',
    };
  },
  computed: {
  },
  created() {
  },
  mounted() {
  },
  watch: {
  },
  methods: {
    //
    environmentType(){
      let type
      if (location.href.includes('192.168.20.119')) {
        type = 'test'
      } else if (location.href.includes('192.168') || location.href.includes('localhost')) {
        type = 'dev'
      } else {
        type = 'prod'
      }
      return type
    },
    //
    getApsPage(){
      // 首页部署在各个环境的端口
      const loginPathMap = {
        prod:`//${window.location.hostname}:9080`,
        test:`//192.168.20.119:9080`,
        // 想跳到本地启动的登录页的话需要把dev改成你本地项目路径
        dev: `//192.168.8.108:8080`
      }
      return loginPathMap[this.environmentType()]
    },
    handleClose(done){
      done();
    },
    modifiedPwd(params){
      modifiedPwd(params).then((res)=>{
        if(res.code==200){
          this.editConfig.dialogVisible=false
          alert("密码修改成功,请重新登录!")
          window.location = this.getApsPage()+'/login'
        }
      })
    },
    submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          console.log(this.ruleForm,"看看表单")
          this.modifiedPwd({
            userId:this.editConfig.userId,
            oldPwd:this.ruleForm.oldPass,
            newPwd:this.ruleForm.pass,
          })
        } else {
          console.log('error submit!!');
          return false;
        }
      });
    },
  },
  components: {
  },
};
</script>
<style scoped lang="scss">
.el-form{
  margin-top:20px;
}
::v-deep {
  .el-form-item__content{
    display: flex;
    flex-direction: row-reverse;
  }
  .el-dialog__header{
    .el-dialog__title{
      font-size:18px;
    }
  }
  .el-form{
    margin:20px;
  }
}
</style>
src/components/layout/components/appHeader/index.vue
@@ -4,29 +4,53 @@
    <div class="header-user-info">
      <div class="avatar"><el-avatar icon="el-icon-user-solid"></el-avatar></div>
      <el-dropdown @command="handleCommand">
        <div class="el-dropdown-link">{{ username }}<i class="el-icon-arrow-down el-icon&#45;&#45;right"></i></div>
        <div class="el-dropdown-link">你好  {{ username }}<i class="el-icon-arrow-down el-icon&#45;&#45;right"></i></div>
        <el-dropdown-menu slot="dropdown">
          <el-dropdown-item command="logout">退出</el-dropdown-item>
          <el-dropdown-item @click.native="updatePwd">
            <d2-icon name="unlock" class="d2-mr-5" />
            修改密码
          </el-dropdown-item>
        </el-dropdown-menu>
      </el-dropdown>
    </div>
    <UpdatePassWord :editCommonConfig="editConfig"></UpdatePassWord>
  </div>
</template>
<script>
import Cookies from "js-cookie"
import UpdatePassWord from "./components/updatePassWord"
export default {
  name: "SalesLead",
  props: {
    headerTitle: String
  },
  components:{
    UpdatePassWord,
  },
  data() {
    return {
      username: ""
      username: "",
      editConfig:{
        dialogVisible:false,
        userId:"",
      }
    }
  },
  created(){
    const userObj = Cookies.get('userObj');
    if (userObj) {
      let userInfo = JSON.parse(userObj);
      this.editConfig.userId=userInfo.id
      this.username=userInfo.nickName
    } else {
      console.log('Object not found in cookie');
    }
  },
  mounted() {
    this.username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1")
    // this.username = document.cookie.replace(/(?:(?:^|.*;\s*)username\s*=\s*([^;]*).*$)|^.*$/, "$1")
  },
  methods: {
    environmentType() {
@@ -77,6 +101,9 @@
            })
          })
      }
    },
    updatePwd(){
      this.editConfig.dialogVisible=true
    }
  }
}
src/views/operate/allot/index.vue
@@ -231,7 +231,7 @@
            return {
              ...item,
              from: item.location.jointName,
              // to: item.toLocation.name
              to: item.toLocation.name
            }
          })
          this.tableList.tableInfomation = list || []
@@ -248,9 +248,23 @@
    },
    // 查看 编辑
    tableRowClick(row, val) {
      console.log(row)
      console.log(row,"查看")
      this.editConfig.visible = true
      this.editConfig.title = val
      row.details.map((item)=>{
        item.fromLocationId=item.fromLocation.jointName
        item.toLocationId=item.toLocation.jointName
      })
      row.location={
        value:row.location.id||row.location.value,
        label:row.location.jointName||row.location.label
      }
      row.toLocation={
        value:row.toLocation.id||row.toLocation.value,
        label:row.toLocation.jointName||row.toLocation.label
      }
      row.locationID=row.location.jointName
      row.locationId=row.location.value
      this.editConfig.infomation = { ...row }
    },
    // 新建
src/views/operate/inventoryAdjustment/inventoryAdjustmentHistory.vue
@@ -142,8 +142,8 @@
            let product = item.details[0].product
            return {
              ...item,
              from: item.fromLocation.name,
              to: item.toLocation.name,
              from: item.fromLocation?item.fromLocation.name:"",
              to: item.toLocation?item.toLocation.name:"",
              productName: product.name,
              amount: item.details[0].amount,
              unit: product.unit
src/views/operate/outEnterLibrary/index.vue
@@ -92,7 +92,7 @@
      sessionStorage.setItem("paramsList", JSON.stringify(params))
    }
    this.params = params
    console.log(this.params,'====111')
    console.log(this.params,'路由参数')
    this.getData()
  },
  // 页面销毁之前
@@ -273,7 +273,10 @@
      this.workType=row.baseOperationType
      this.editConfig.title = val
      getOperationInfo(row.operationId).then((res)=>{
        this.editConfig.infomation = { ...res.data }
        this.editConfig.infomation = {
          ...res.data
        }
        this.editConfig.visible = true
      })
      // this.editConfig.visible = true
src/views/operate/scrap/AddScrapDialog.vue
@@ -113,7 +113,7 @@
                    style="width: 90%"
                    :disabled="!showFooter"
                  >
                    <el-option v-for="item in toLocationOptions" :key="item.id" :label="item.name" :value="item.id">
                    <el-option v-for="item in toLocationOptions1" :key="item.id" :label="item.name" :value="item.id">
                    </el-option>
                  </el-select>
                </el-form-item>
@@ -180,6 +180,7 @@
      memberOptions: [],
      productOptions: [],
      toLocationOptions: [],
      toLocationOptions1: [],
      list: [
        { label: "草稿", status: "todo", value: 1 },
        { label: "就绪", status: "todo", value: 3 },
@@ -196,7 +197,16 @@
  created() {
    this.setBottonView()
    this.getProductList()
    this.getLocationList()
    this.getLocationList({
      isScrapLocation: true,
      page: 0,
      pageSize: 0
    })
    this.getLocationList({
      // isScrapLocation: true,
      page: 0,
      pageSize: 0
    })
    this.unit = this.editConfig.infomation.unit || ""
    this.formInfo()
  },
@@ -224,17 +234,22 @@
      })
    },
    // 获取仓库位置列表
    async getLocationList() {
      await getLocationList({
        isScrapLocation: true,
        page: 0,
        pageSize: 0
      }).then((res) => {
        console.log(res)
        if (res.code === 200) {
          this.toLocationOptions = res.data
        }
      })
    async getLocationList(params) {
      if(params.isScrapLocation){
        await getLocationList(params).then((res) => {
          console.log(res)
          if (res.code === 200) {
            this.toLocationOptions1 = res.data
          }
        })
      }else{
        await getLocationList(params).then((res) => {
          console.log(res)
          if (res.code === 200) {
            this.toLocationOptions = res.data
          }
        })
      }
    },
    // 设置删除/打印/编辑是否显示
    setBottonView() {
src/views/overview/AddOverviewDialog.vue
@@ -470,7 +470,8 @@
    workType: {
      type: Number,
      default: function() {  
        return JSON.parse(window.sessionStorage.getItem('paramsData')).workType|| 1;
        // return JSON.parse(window.sessionStorage.getItem('paramsData')).workType|| 1;
        return 1;
      }
    },
    addName: {
src/views/productManage/product/AddProductDialog.vue
@@ -130,7 +130,7 @@
                      </el-option>
                    </el-select>
                  </el-form-item>
                  <el-form-item label="单位" prop="unit">
                  <el-form-item label="单位old" prop="unit">
                    <el-input
                      v-model="editConfig.infomation.unit"
                      placeholder="请输入"
@@ -138,6 +138,29 @@
                      :disabled="!showFooter"
                    ></el-input>
                  </el-form-item>
                  <el-form-item label="单位" prop="unit">
                    <el-select
                      v-model="editConfig.infomation.unit"
                      placeholder="单位"
                      filterable
                      @change="$forceUpdate()"
                      style="width: calc(100% - 30px)"
                    >
                      <el-option
                        v-for="ele in unitList"
                        :key="ele.id"
                        :label="ele.name"
                        :value="ele.name"
                      ></el-option>
                    </el-select>
                    <i
                      class="el-icon-setting margin_left_10px cursor_pointer"
                      style="font-size: 20px; color: gray"
                      @click="handleUnitShow"
                    ></i>
                  </el-form-item>
                  <el-form-item label="产品标签" prop="productTagName">
                    <el-input
                      v-model="editConfig.infomation.productTagName"
@@ -505,6 +528,13 @@
        <el-button size="small" @click="editConfig.visible = false">取消</el-button>
      </div>
    </el-dialog>
    <BomDialog
      ref="editDialog"
      @sucessSet="handleGetBomKindDictList"
      @handleConfirmSave="handleConfirmSave"
      :workList="unitList"
      title="计量单位"
    ></BomDialog>
  </div>
</template>
@@ -515,6 +545,10 @@
import { uploadFiles } from "@/api/common/other"
import codeMixin from "@/components/mixin/codeMixin"
import { getDataByType } from "@/api/data"
import BomDialog from "./components/bomDialog";
// import { postGetSaveSUnitDict  } from "@/api/basic/standard";
export default {
  mixins: [codeMixin],
  name: "AddProductDialog",
@@ -531,7 +565,10 @@
      }
    }
  },
  components: { IconCropper },
  components: {
    IconCropper,
    BomDialog,
  },
  computed: {
    modalTitle() {
      if (this.editConfig.title === "编辑" && this.editConfig.autoEdit) {
@@ -611,7 +648,8 @@
      },
      isView: false,
      fileFormdata: null, // 上传图片入参
      purchaseTypeList: getDataByType("purchaseType")
      purchaseTypeList: getDataByType("purchaseType"),
      unitList: [],
    }
  },
  created() {
@@ -633,6 +671,44 @@
    this.formInfo()
  },
  methods: {
    // 单位
    handleUnitShow() {
      this.handleGetBomKindDictList();
      this.$refs.editDialog.editDialogVisible = true;
    },
    //  单位
    handleGetBomKindDictList(val) {
      console.log(val)
      // postGetUnitDictList().then((res) => {
      //   this.unitList = res.data;
      //   if (val) {
      //     for (let i in this.unitList) {
      //       if (this.unitList[i].isDefault) {
      //         this.form.unit = this.form.unit
      //           ? this.form.unit
      //           : this.unitList[i].name;
      //         // this.$set(this.form, "unit", this.form.unit);
      //         break;
      //       }
      //     }
      //   }
      // });
    },
    handleConfirmSave(data) {
      console.log(data)
      // postGetSaveSUnitDict({ data: data }).then((res) => {
      //   if (res.code == 200) {
      //     this.$message({
      //       message: "操作成功!",
      //       type: "success",
      //     });
      //     this.$refs.editDialog.editDialogVisible = false;
      //     this.handleGetBomKindDictList();
      //   }
      // });
      this.$refs.editDialog.editDialogVisible = false;
    },
    formInfo() {
      this.objCode.type = "物料编码"
      this.objCode.codeStandID = ""
src/views/productManage/product/components/bomDialog.vue
New file
@@ -0,0 +1,360 @@
<template>
  <el-dialog
    :close-on-click-modal="false"
    :visible.sync="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-column prop="unit" label="单位">
          <template slot-scope="scope">
            <el-input v-model="scope.row.name"></el-input>
          </template>
        </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>
          </template>
        </el-table-column>
        <!-- <el-table-column label="操作" width="100">
          <template slot-scope="scope">
            <i
              class="el-icon-delete"
              id="iconStyle"
              @click="handleDelete(scope.row.id)"
            ></i>
          </template>
        </el-table-column> -->
      </el-table>
      <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
        @click="handleAdd()"
        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
      >
    </div>
  </el-dialog>
</template>
<script>
import { getCodeStandardList,addMaterial, updateMaterial  } from "@/api/basic/standard";
export default {
  name: "bomDialog",
  props: {
    title: {
      type: String,
    },
    editRow: {
      type: Object,
      default: () => {
        return {};
      },
    },
    workList: {
      type: Array,
    },
  },
  data() {
    return {
      editDialogVisible: false,
      isTableShow: true,
      form: {},
      BomTableData: [1],
      work: 1,
      flag: "add",
      obj: { name: "", page: 0, pageSize: 0, type: "物料编码" },
      inputValue: [],
      codenumer: 0, //每次输入的编码
      codenumberList: [], //整条编码
      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" }],
        specs: [{ required: true, message: "请输入物料规格", trigger: "blur" }],
        type: [{ required: true, message: "请输入物料型号", trigger: "blur" }],
        amount: [
          {
            required: true,
            message: "请输入数量",
            trigger: "blur",
          },
        ],
        unit: [
          {
            required: true,
            message: "请输入单位",
            trigger: "blur",
          },
        ],
        model: [
          { required: true, message: "请选择物料类型", trigger: "change" },
        ],
      },
    };
  },
  watch: {
    editDialogVisible(newVal) {
      if (newVal) {
        this.BomTableData = this.workList;
      }
    },
    workList(newVal) {
      console.log(newVal)
      this.BomTableData = this.workList;
    },
  },
  mounted() {},
  methods: {
    handleAdd() {
      this.BomTableData.push({ name: "", isDefault: false });
    },
    handleDelete(id) {
      this.BomTableData = this.BomTableData.filter((i) => {
        return i.id != id;
      });
    },
    async getCodeStandardList() {
      const res = await getCodeStandardList(this.obj);
      this.codenumer = [];
      this.sum = 0;
      this.explain = "";
      const { rules = [] } = res.data[0];
      rules.forEach((item, index) => {
        this.codenumer.push(item.length);
        this.sum++;
        // index - 1
        //   ? (this.explain += item.name + "/")
        //   : (this.explain += item.name);
        this.explain += item.name + (index === rules.length - 1 ? "" : "/");
      });
      this.$forceUpdate();
    },
    codeList(val) {
      console.log(val, "codeList");
      this.inputValue = val;
      this.codenumberList = val.toString();
      console.log(this.codenumberList.replace(/,/g, ""));
    },
    switchChange(scope, val) {
      let arr = [];
      for (let i in this.BomTableData) {
        if (this.BomTableData[i].isDefault) {
          arr.push(i);
        }
      }
      if (arr.length > 1) {
        this.$message({
          message: "只能设一个为默认",
          type: "warning",
        });
        scope.row.isDefault = !val;
      }
    },
    handleConfirmSave() {
      let arr = [];
      for (let i in this.BomTableData) {
        if (this.BomTableData[i].isDefault) {
          arr.push(i);
        }
      }
      if (arr.length > 1) {
        this.$message({
          message: "只能设一个为默认",
          type: "warning",
        });
      } else {
        this.$emit("handleConfirmSave", this.BomTableData);
      }
    },
    async validate() {
      try {
        if (this.flag == "add")
          this.form.id = this.codenumberList.replace(/,/g, "");
        this.form.explain = this.explain;
        let fn = this.flag == "set" ? updateMaterial : addMaterial;
        const res = await fn(this.form);
        this.shutdown();
        this.$sucessSet("sucessSet");
        if (res.code == 200) {
          this.$message({
            message: this.flag == "set" ? "修改成功!" : "添加成功!",
            type: "success",
          });
        }
      } catch (err) {
        console.log(err);
        this.$message({
          message: err.message.data.data,
          type: "warning",
        });
      }
    },
    shutdown() {
      this.editDialogVisible = false;
    },
  },
};
</script>
<style lang="scss" scoped>
.drawer {
  z-index: 99;
  border: 2px solid #ccc;
  border-radius: 20px;
  background: #fff;
  width: 25vw !important;
  height: 600px;
  #iconStyle {
    font-size: 20px !important;
  }
  .drawerContent {
    position: relative;
    overflow-y: auto;
    padding: 12px 10px 0 10px;
    padding-top: 12px;
    margin: auto;
    width: 25vw;
    overflow-x: hidden;
    height: 480px;
    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 */
  }
}
.drawerFooter {
  margin-top: 16px;
  margin-right: 20px;
  text-align: right;
  .el-button {
    width: 80px;
    height: 38px;
    border-color: rgba(0, 0, 0, 0.1);
    font-family: PingFangSC-Medium, sans-serif;
    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;
  font-family: PingFangSC;
  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;
  line-height: 38px !important;
  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-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;
}
</style>
src/views/reportForm/inboundOutboundDetail/index.vue
@@ -254,8 +254,16 @@
    },
    // 行点击
    async tableRowClick(row) {
      console.log(row,"看看row")
      // window.sessionStorage.sessionStorage.setItem('paramsData', {
      //   // name: "拼夕夕仓库-出库",
      //   workType: row.baseOperationType,
      //   id: row.operationId,
      //   // code: "PX"
      // });
      await getOperationInfo(row.operationId).then((res)=>{
        this.editConfig.infomation = { ...res.data }
        this.editConfig.infomation = { ...res.data,workType:res.baseOperationType }
      })
      this.editConfig.visible = true
      this.editConfig.title = "查看"