wangyi
2026-01-19 7fb0a8f0ab16c149484bf043754cd10cfa94de2f
src/views/basic/gy/gyDepartmentEdit.vue
@@ -1,15 +1,8 @@
<template>
  <div v-loading="formLoading" v-if="formShow">
    <div style="margin-bottom: 10px; border-bottom: 1px solid #f6f6f6">
      <el-button type="primary" @click="submitForm" :disabled="subDisabled"
        >保 存</el-button
      >
      <el-button
        type="primary"
        @click="set_CheckBill(0, form)"
        :disabled="CheckBillDisabled"
        >审 核</el-button
      >
      <el-button type="primary" @click="submitForm" :disabled="subDisabled">保 存</el-button>
      <el-button type="primary" @click="set_CheckBill(0, form)" :disabled="CheckBillDisabled">审 核</el-button>
      <el-button type="primary" @click="close">退 出</el-button>
    </div>
    <el-form ref="form" :model="form" :rules="rules" label-width="110px">
@@ -17,12 +10,12 @@
        <el-tab-pane label="基本信息" name="first">
          <el-row>
            <el-col :span="8">
              <el-form-item label="仓库代码" prop="HNumber">
              <el-form-item label="部门代码" prop="HNumber">
                <el-input v-model="form.HNumber" placeholder="请输入仓库代码" />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="仓库名称" prop="HName">
              <el-form-item label="部门名称" prop="HName">
                <el-input v-model="form.HName" placeholder="请输入仓库名称" />
              </el-form-item>
            </el-col>
@@ -34,84 +27,52 @@
          </el-row>
          <el-row>
            <el-col :span="8">
              <el-form-item label="仓库地址" prop="HAddress">
                <el-input v-model="form.HAddress" placeholder="请输入仓库地址" />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="联系电话" prop="HPhone">
                <el-input v-model="form.HPhone" placeholder="请输入联系电话" />
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="仓库类型" prop="HWarehouseType">
                <el-select v-model="form.HWarehouseType" placeholder="请选择仓库类型">
                  <el-option
                    v-for="(item, index) in HWarehouseTypeList"
                    :key="index"
                    :label="item.Name"
                    :value="item.Name"
                  >
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="8">
              <el-form-item label="禁用标志" prop="HStopflag">
                <el-checkbox v-model="form.HStopflag" disabled>是否禁用</el-checkbox>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="启用仓位" prop="HSPFlag">
                <el-checkbox v-model="form.HSPFlag">是否启用</el-checkbox>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="负库存控制标记" prop="HStockCtrlFlag">
                <el-checkbox v-model="form.HStockCtrlFlag">是否启用</el-checkbox>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="8">
              <el-form-item label="组织" prop="HUSEORGID">
                <el-select
                  v-model="form.HUSEORGID"
                  placeholder="请选择组织"
                  :disabled="zzSelDis"
                >
                  <el-option
                    v-for="(item, index) in organizationList"
                    :key="index"
                    :label="item.Name"
                    :value="item.ID"
                  >
                <el-select v-model="form.HUSEORGID" placeholder="请选择组织" :disabled="zzSelDis">
                  <el-option v-for="(item, index) in organizationList" :key="index" :label="item.Name" :value="item.ID">
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item class="form-inline" label="备注" prop="HRemark">
                <el-input v-model="form.HRemark" placeholder="请输入备注..."></el-input>
              </el-form-item>
            </el-col>
          </el-row>
        </el-tab-pane>
        <el-tab-pane label="其他信息" name="second">
          <el-row>
            <el-col :span="16">
              <el-form-item class="form-inline" label="备注" prop="HRemark">
                <el-input v-model="form.HRemark" placeholder="请输入备注..."></el-input>
            <el-col :span="8">
              <el-form-item label="负责人" prop="HEmpName">
                <el-input v-model="form.HEmpName" placeholder="请选择负责人">
                  <el-button slot="append" icon="el-icon-search" @click="openDataDialog(4)"></el-button>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="条形码" prop="HBarCode">
                <el-input v-model="form.HBarCode" placeholder="请输入条形码"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="是否生产车间" prop="HWorkShopFlag">
                <el-select v-model="form.HWorkShopFlag" placeholder="请选择">
                  <el-option value="true">是</el-option>
                  <el-option value="false">否</el-option>
                </el-select>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="8">
              <el-form-item class="form-inline" label="仓库管理员" prop="HEmpName">
                <el-input v-model="form.HEmpName" placeholder="请选择仓库管理员">
                  <el-button
                    slot="append"
                    icon="el-icon-search"
                    @click="openDataDialog(1)"
                  ></el-button>
                </el-input>
              <el-form-item label="部门人数" prop="HEmpQtys">
                <el-input-number v-model="form.HEmpQtys" placeholder="请输入部门人数" :min="0" :precision="0" />
              </el-form-item>
            </el-col>
          </el-row>
@@ -137,34 +98,19 @@
          <el-row>
            <el-col :span="8">
              <el-form-item label="创建日期" prop="HMakeDate">
                <el-date-picker
                  v-model="form.HMakeDate"
                  type="date"
                  placeholder="选择创建日期"
                  disabled
                >
                <el-date-picker v-model="form.HMakeDate" type="date" placeholder="选择创建日期" disabled>
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="禁用日期" prop="HStopTime">
                <el-date-picker
                  v-model="form.HStopTime"
                  type="date"
                  placeholder="选择禁用日期"
                  disabled
                >
                <el-date-picker v-model="form.HStopTime" type="date" placeholder="选择禁用日期" disabled>
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="8">
              <el-form-item label="审核日期" prop="HCheckTime">
                <el-date-picker
                  v-model="form.HCheckTime"
                  type="date"
                  placeholder="选择审核日期"
                  disabled
                >
                <el-date-picker v-model="form.HCheckTime" type="date" placeholder="选择审核日期" disabled>
                </el-date-picker>
              </el-form-item>
            </el-col>
@@ -173,21 +119,8 @@
      </el-tabs>
    </el-form>
    <!-- 部门弹窗 -->
    <el-dialog
      :title="dialogTitle"
      :visible.sync="openData"
      width="1280px"
      append-to-body
    >
      <Dept @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="deptShow" />
      <Warehouse @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="warehouseShow" />
      <Material @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="materialShow" />
      <GyWorkCenter @deptEmitDb="dbEmitData" @deptEmit="emitData" v-if="workCenterShow" />
      <Employee
        @deptEmitDb="dbEmitData"
        @deptEmit="emitData"
        v-if="employeeShow"
      ></Employee>
    <el-dialog :title="dialogTitle" :visible.sync="openData" width="1280px" append-to-body>
      <GyEmployee @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyEmployeeShow" />
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="deptClickSub">确 定</el-button>
        <el-button @click="deptClose">取 消</el-button>
@@ -203,13 +136,13 @@
import Material from "@/views/component/material";
import RowSettings from "@/views/component/rowSettings";
import GyWorkCenter from "@/views/component/gyWorkCenter";
import Employee from "@/views/component/employee";
import GyEmployee from '@/views/basic/gyEmployee/gyEmployee.vue'
import moment from "moment";
import dayjs from "dayjs";
export default {
  name: "gyWarehouse_Edit",
  components: { Dept, Warehouse, Material, RowSettings, GyWorkCenter, Employee },
  components: { Dept, Warehouse, Material, RowSettings, GyWorkCenter, GyEmployee },
  props: {
    OperationType: { type: Number },
    linterid: { type: Number },
@@ -218,13 +151,15 @@
  },
  data() {
    return {
      HModName: "Xt_UserListEdit",
      formShow: false,
      temp: undefined,
      formLoading: true,
      zzSelDis: false,
      zzSelDis: true,
      rowHideShow: false,
      openRowHide: false,
      workCenterShow: false,
      gyEmployeeShow: false,
      sWhere: "",
      sTime: "",
      eTime: "",
@@ -238,13 +173,12 @@
      openData: false, //数据弹窗
      dialogTitle: "",
      zuzhiId: 0,
      organizationList: [], //组织列表
      organizationList: JSON.parse(sessionStorage.getItem('organizationList')), //组织列表
      subDisabled: false, //编辑页面保存按钮是否禁用(true禁用,false可用)
      CheckBillDisabled: true,
      // OperationType: this.$route.query.OperationType,//保存类型(新增1修改3)
      HInterID: null,
      baseURL: process.env.VUE_APP_BASE_API || "http://47.96.97.237/API/",
      user: "admin",
      currentRow: [],
      lastSelectedRowIndex: null, // 用于记录上次点击的行索引
      lastSelectedRow: null, // 上一次选中的行
@@ -289,110 +223,66 @@
  },
  created() {
    this.reset();
    this.fetchData();
    this.getdata();
  },
  activated() {
    this.reset();
    this.fetchData();
    this.getdata();
  },
  methods: {
    fetchData() {
      //登录用户信息
      axios
        .get(
          "http://47.96.97.237/API/Web/GetUser?UserName=001&PassWord=123456&HOrgName=100038"
        )
        .then((response) => {
          let data = response.data.data[0];
          this.zuzhiId = data.HUSEORGID; //根据登录用户获取默认的组织ID
          this.user = data.Czymc;
          axios
            .get(this.baseURL + "/Web/GetOrganizations", {})
            .then((response) => {
              if (response.data.count == 1) {
                this.organizationList = response.data.data; //组织列表
                this.getdata();
              }
            })
            .catch((error) => {
              this.$modal.msgError("接口请求失败!");
            });
        })
        .catch((error) => {
          this.$modal.msgError("接口请求失败!");
        });
    },
    getdata() {
      this.reset();
      console.log(this.OperationType);
      console.log(this.OperationType,this.copyType);
      if (this.OperationType != 1) {
        this.zzSelDis = true;
        axios
          .get(this.baseURL + "/Gy_Warehouse/cx", {
            params: {
              HInterID: this.linterid,
            },
          })
          .then((response) => {
            console.log(response);
            let result = response.data;
            if (result.code == 1) {
              // 说明验证成功了,
              var data = result.data[0];
              Object.assign(this.form, {
                HNumber: data.仓库代码,
                HItemID: data.HItemID,
                HParentID: data.HParentID,
                HShortNumber: data.HNumber,
                HName: data.仓库名称,
                HHelpCode: data.HHelpCode,
                HEmpID: data.HEmpID,
                HEmpName: data.HEmpName,
                HAddress: data.仓库地址,
                HPhone: data.联系电话,
                HStopflag: data.禁用标记,
                HStockCtrlFlag: data.负库存控制标记,
                HSPFlag: data.启用仓位 == "Y" ? 1 : 0,
                HRemark: data.HRemark,
                HWarehouseType: data.仓库类型,
                //, "HItemID": data.条码编号
                HBarCode: data.HBarCode,
                HUSEORGID: data.HUSEORGID,
                //, "HCreator": data.创建人
                //, "lngBillKey": data.lngBillKey
                //, "lngBillSubKey": data.lngBillSubKey
                //, "HMaker": data.HMaker
                //, "HCreateDate": data.创建日期
                HUpDater: sessionStorage["HUserName"],
                HMakeEmp: data["创建人"],
                HMakeDate:
                  data["创建日期"] == null
                    ? ""
                    : dayjs(new Date(data["创建日期"])).format("yyyy-MM-dd"),
                HCheckEmp: data["审核人"],
                HCheckDate:
                  data["审核日期"] == null
                    ? ""
                    : dayjs(new Date(data["审核日期"])).format("yyyy-MM-dd"),
                HStopEmp: data["禁用人"],
                HStopDate:
                  data["禁用日期"] == null
                    ? ""
                    : dayjs(new Date(data["禁用日期"])).format("yyyy-MM-dd"),
              });
              if (!data.HCheckEmp) {
                this.CheckBillDisabled = false;
              }
            }
            this.$nextTick(() => {
              this.formShow = true;
              this.formLoading = false;
        axios.get(this.$baseUrl + "/Gy_Department/cx", {
          params: {
            HInterID: this.linterid,
          },
        }).then((response) => {
          let result = response.data;
          if (result.code == 1) {
            // 说明验证成功了,
            var data = result.data[0];
            Object.assign(this.form, {
              HNumber: data.部门代码,
              HItemID: data.HItemID,
              HName: data.部门名称,
              HHelpCode: data.HHelpCode,
              HEmpID: data.HEmpID,
              HEmpName: data.HEmpName,
              HBarCode: data.条形码,
              HStopflag: data.禁用标记,
              HRemark: data.HRemark,
              HUSEORGID: data.HUSEORGID,
              HRemark: data.备注,
              HMakeEmp: data["创建人"],
              HMakeDate: data["创建日期"] == null ? "" : dayjs(new Date(data["创建日期"])).format("yyyy-MM-dd"),
              HCheckEmp: data["审核人"],
              HCheckDate: data["审核日期"] == null ? "" : dayjs(new Date(data["审核日期"])).format("yyyy-MM-dd"),
              HStopEmp: data["禁用人"],
              HStopDate: data["禁用日期"] == null ? "" : dayjs(new Date(data["禁用日期"])).format("yyyy-MM-dd"),
            });
          })
          .catch((error) => {
            this.$modal.msgError("接口请求失败!");
            if (!data.HCheckEmp) {
              this.CheckBillDisabled = false;
            }
            if (this.copyType == 1) {
              this.form.HItemID = 0
              this.form.HMakeEmp = sessionStorage["HUserName"]
              this.form.HMakeDate = moment(new Date()).format("YYYY-MM-DDTHH:mm:ss")
              this.form.HCheckEmp = ''
              this.form.HCheckDate = ''
              this.form.HStopEmp = ''
              this.form.HStopDate = ''
            }
          }
          this.$nextTick(() => {
            this.formShow = true;
            this.formLoading = false;
          });
        }).catch((error) => {
          this.$modal.msgError("接口请求失败!");
        });
      } else if (this.OperationType == 1) {
        let date = new Date();
        this.form.HMakeDate = moment(date).format("YYYY-MM-DDTHH:mm:ss");
@@ -416,12 +306,11 @@
    },
    //部门弹窗赋值
    dbEmitData(deptRow, num) {
      console.log(deptRow, num);
      // num=1 仓库管理员
      if (num == 1) {
        this.form.HEmpID = deptRow.HItemID;
        this.form.HEmpName = deptRow["职员名称"];
        this.openData = false;
      if (num == 4) {
        this.form.HEmpName = deptRow.职员名称
        this.form.HEmpID = deptRow.HItemID
        this.gyEmployeeShow = false
        this.openData = false
      }
    },
    emitData(deptRow, num) {
@@ -440,35 +329,18 @@
    //新增编辑表单初始化
    reset() {
      this.form = {
        HNumber: null,
        HNumber: '',
        HItemID: 0,
        HName: null,
        HHelpCode: null,
        HWorkTimes: "0",
        HMaxWorkTimes: "0",
        HRelationID: "0",
        HMinAdd: "0",
        HClassCount: "0",
        HOverTimes: "0",
        HCenter: null,
        HCenterID: null,
        HGroup: null,
        HGroupID: 0,
        HDeptName: null,
        HDeptID: 0,
        HProcName: null,
        HProcID: 0,
        HProcNumber: null,
        HStopflag: false,
        HType: null,
        HRemark: null,
        HUseFlag: "未检测",
        HUSEORGID: this.zuzhiId,
        HCREATEORGID: this.zuzhiId,
        HMacAddr: null,
        HName: '',
        HHelpCode: '',
        HEmpID: 0,
        HEmpName: null,
        HMakeEmp: this.user,
        HEmpName: '',
        HBarCode: '',
        HStopflag: false,
        HRemark: '',
        HUSEORGID: sessionStorage["OrganizationID"] - 0,
        HRemark: '',
        HMakeEmp: sessionStorage["HUserName"],
        HMakeTime: null,
        HStopEmp: null,
        HStopTime: null,
@@ -504,15 +376,12 @@
          let fhck = false;
          this.$nextTick(() => {
            if (!fhck) {
              console.log(4);
              var sMainStr = JSON.stringify(this.form);
              // var sSubStr = JSON.stringify(this.editData);
              var sMainSub = sMainStr + ";" + this.user;
              axios({
                method: "post",
                url: this.baseURL + "/Gy_Warehouse/ModifyByID",
                url: this.$baseUrl + "/Gy_Department/AddBill1",
                data: {
                  oMain: sMainSub,
                  oMain: sMainStr + ';' + sessionStorage["HUserName"] + ';' + sessionStorage["OrganizationID"],
                },
              })
                .then((response) => {
@@ -543,8 +412,8 @@
        .then(() => {
          if (this.rowForm.状态 == "创建") {
            axios
              .get(this.baseURL + "/Kf_SellOutBill/DeltetSellOutBill", {
                params: { HInterID: this.rowForm.hmainid.toString(), user: this.user },
              .get(this.$baseUrl + "/Kf_SellOutBill/DeltetSellOutBill", {
                params: { HInterID: this.rowForm.hmainid.toString(), user: sessionStorage["HUserName"] },
              })
              .then((response) => {
                if (response.data.count == 1) {
@@ -560,15 +429,15 @@
            this.$modal.msgError("此条数据不是创建状态,无法删除!");
          }
        })
        .catch(() => {});
        .catch(() => { });
    },
    // 反审核/审核数据
    set_CheckBill(num, form) {
      var InterID = form.HItemID || form.HInterID;
      var InterID = this.form.HItemID.toString();
      //逻辑审核方法
      axios
        .get(this.baseURL + "/Gy_Warehouse/AuditGy_Warehouse", {
          params: { HInterID: InterID, IsAudit: num, CurUserName: this.user },
        .get(this.$baseUrl + "/Gy_Department/AuditGy_Department", {
          params: { HInterID: InterID, IsAudit: num, CurUserName: sessionStorage["HUserName"] },
        })
        .then((response) => {
          let result = response.data;
@@ -584,10 +453,7 @@
        });
    },
    showReset() {
      this.deptShow = false;
      this.warehouseShow = false;
      this.materialShow = false;
      this.workCenterShow = false;
      this.gyEmployeeShow = false
    },
    //  打开数据列表弹窗
    openDataDialog(num, row) {
@@ -595,10 +461,10 @@
        this.zbIndex = row.index - 1;
      }
      this.showReset();
      if (num == 1) {
        this.dialogTitle = "仓库管理员列表";
        this.employeeShow = true;
        this.openData = true;
      if (num == 4) {
        this.dialogTitle = '职员列表'
        this.gyEmployeeShow = true
        this.openData = true
      }
    },
  },
@@ -609,7 +475,7 @@
  width: 100%;
}
.form-inline > .el-form-item__content {
.form-inline>.el-form-item__content {
  display: flex;
  flex-direction: row;
}