Browse Source

部门选择框组件

戴艳蓉 3 years ago
parent
commit
b61fc22831

+ 7 - 0
src/apis/components/all-organize.js

@@ -0,0 +1,7 @@
+import http from "@/apis/axios";
+const api = "admin/";
+export default {
+  // 列表
+  list: (data, params) => http(api + "query", data, "post", params),
+};
+   

+ 7 - 0
src/apis/components/search-customer.js

@@ -0,0 +1,7 @@
+import http from "@/apis/axios";
+const api = "admin/";
+export default {
+  // 列表
+  list: (data, params) => http(api + "customerlist", data, "post", params),
+};
+   

+ 2 - 0
src/components/all-organize/index.js

@@ -0,0 +1,2 @@
+import Main from './main.vue'
+export default Main

+ 104 - 0
src/components/all-organize/main.vue

@@ -0,0 +1,104 @@
+<template>
+  <el-cascader
+    style="width: 100%"
+    :disabled="disabled"
+    :placeholder="placeholder"
+    v-model="value"
+    :options="options"
+    @change="selectChange"
+    :props="{
+      expandTrigger: 'hover',
+      children: 'child',
+      multiple: multiple,
+      checkStrictly: checkStrictly,
+    }"
+  ></el-cascader>
+</template>
+
+<script>
+import asyncRequest from "@/apis/components/all-organize";
+import resToken from "@/mixins/resToken";
+export default {
+  name: "AllOrganize",
+  mixins: [resToken],
+  props: [
+    "size",
+    "value",
+    "placeholder",
+    "isDetail",
+    "disabled",
+    "names",
+    "multiple",
+    "checkStrictly",
+  ],
+  /**
+   * 属性集合
+   * @param {String}        size             : 组件大小            非必填
+   * @param {Array}         value            : 选中值              必填
+   * @param {String}        placeholder      : 提示信息            非必填
+   * @param {Boolean}       isDetail          : 是否是详情逻辑       必填
+   * @param {Boolean}       disabled         : 是否禁用            必填
+   * @param {Boolean}       multiple         : 是否多选            必填
+   * @param {Boolean}       checkStrictly    : 是否选择任意一项     必填
+   *
+   */
+  /**
+   * 事件集合
+   * @searchChange             : 选中值变化调用   抛出选中数据
+   */
+  data() {
+    return {
+      options: [],
+      code: [],
+      selectLoading: false,
+      searchName: "",
+    };
+  },
+  watch: {
+    isDetail: function (val, old) {
+      if (this.isDetail !== val) {
+        this.options = [];
+        this.selectLoading = false;
+        this.getList();
+      }
+    },
+  },
+  created() {
+    this.options = [];
+    this.selectLoading = false;
+    this.getList();
+  },
+  methods: {
+    async selectChange(e) {
+      this.$emit("searchChange", e);
+    },
+    async getList() {
+      this.options = [];
+      const res = await asyncRequest.list({});
+      if (res && res.code === 0 && res.data) {
+        this.options = res.data;
+        this.recursion(this.options);
+      } else {
+        this.options = [];
+      }
+    },
+    recursion(list) {
+      list.map((v) => {
+        if (v && Array.isArray(v.child)) {
+          v.value = v.id + "";
+          v.label = v.name;
+          if (v.child.length === 0) {
+            delete v["child"];
+          } else {
+            this.recursion(v.child);
+          }
+        }
+        return v;
+      });
+    },
+  },
+};
+</script>
+
+<style>
+</style>

+ 0 - 0
src/components/search-account/账号选择框 → src/components/all-organize/组织架构选择框


+ 17 - 7
src/components/search-account/main.vue

@@ -30,7 +30,15 @@ import resToken from "@/mixins/resToken";
 export default {
   name: "SearchAccount",
   mixins: [resToken],
-  props: ["size", "code", "placeholder", "isDetail", "disabled", "names"],
+  props: [
+    "size",
+    "code",
+    "placeholder",
+    "isDetail",
+    "disabled",
+    "names",
+    "itemid",
+  ],
   /**
    * 属性集合
    * @param {String}        size             : 组件大小            非必填
@@ -39,10 +47,11 @@ export default {
    * @param {Boolean}       sDetail          : 是否是详情逻辑       必填
    * @param {Boolean}       disabled         : 是否禁用            必填
    * @param {String}        names            : 选中值label         展示详情必填
+   * @param {String}        itemid           : 组织id              非必填
    */
   /**
    * 事件集合
-   * @change             : 选中值变化调用   抛出选中数据
+   * @searchChange             : 选中值变化调用   抛出选中数据
    */
   data() {
     return {
@@ -53,8 +62,8 @@ export default {
     };
   },
   watch: {
-    names: function (val,old) {
-      console.log(val,old)
+    names: function (val, old) {
+      console.log(val, old);
       this.searchName = val;
       if (this.isDetail && this.searchName) {
         this.remoteMethod(this.searchName);
@@ -75,12 +84,12 @@ export default {
             code: this.options[index].id,
             label: this.options[index].nickname,
           };
-          this.$emit("change", model);
+          this.$emit("searchChange", model);
         } else {
-          this.$emit("change", {});
+          this.$emit("searchChange", {});
         }
       } else {
-        this.$emit("change", {});
+        this.$emit("searchChange", {});
       }
     },
     async remoteMethod(query) {
@@ -91,6 +100,7 @@ export default {
           page: 1,
           size: 100,
           name: query,
+          itemid: this.itemid || "",
         };
 
         let res = await asyncRequest.list(formValue);

+ 0 - 0
src/components/search-account/系统账号选择框


+ 2 - 0
src/components/search-customer/index.js

@@ -0,0 +1,2 @@
+import Main from './main.vue'
+export default Main

+ 117 - 0
src/components/search-customer/main.vue

@@ -0,0 +1,117 @@
+<template>
+  <el-select
+    v-model="code"
+    multiple
+    filterable
+    remote
+    :multiple-limit="1"
+    reserve-keyword
+    :size="size || 'medium'"
+    style="width: 100%"
+    :placeholder="placeholder"
+    :disabled="disabled"
+    :remote-method="remoteMethod"
+    :loading="selectLoading"
+    @change="selectChange"
+  >
+    <el-option
+      v-for="(item, index) in options"
+      :key="item.id + index"
+      :label="item.name"
+      :value="item.id"
+      :disabled="item.status!=='1'"
+    >
+    </el-option>
+  </el-select>
+</template>
+
+<script>
+import asyncRequest from "@/apis/components/search-customer";
+import resToken from "@/mixins/resToken";
+export default {
+  name: "SearchCustomer",
+  mixins: [resToken],
+  props: ["size", "code", "placeholder", "isDetail", "disabled", "names"],
+  /**
+   * 属性集合
+   * @param {String}        size             : 组件大小            非必填
+   * @param {Array}         value            : 选中值              必填
+   * @param {String}        placeholder      : 提示信息            非必填
+   * @param {Boolean}       isDetail          : 是否是详情逻辑       必填
+   * @param {Boolean}       disabled         : 是否禁用            必填
+   * @param {String}        names            : 选中值label         展示详情必填
+   */
+  /**
+   * 事件集合
+   * @searchChange             : 选中值变化调用   抛出选中数据
+   */
+  data() {
+    return {
+      options: [],
+      code: [],
+      selectLoading: false,
+      searchName: "",
+    };
+  },
+  watch: {
+    names: function (val, old) {
+      console.log(val, old);
+      this.searchName = val;
+      if (this.isDetail && this.searchName) {
+        this.remoteMethod(this.searchName);
+      }
+    },
+  },
+  created() {
+    this.options = [];
+    this.selectLoading = false;
+  },
+  methods: {
+    async selectChange(e) {
+      if (e && e.length > 0) {
+        let index = this.options.findIndex((v) => v.id === e[0]);
+        if (index !== -1) {
+          let model = {
+            id: this.options[index].id,
+            code: this.options[index].id,
+            label: this.options[index].name,
+          };
+          this.$emit("searchChange", model);
+        } else {
+          this.$emit("searchChange", {});
+        }
+      } else {
+        this.$emit("searchChange", {});
+      }
+    },
+    async remoteMethod(query) {
+      this.selectLoading = true;
+      if (query !== "") {
+        this.options = [];
+        let formValue = {
+          page: 1,
+          size: 100,
+          name: query,
+          code: "",
+        };
+
+        let res = await asyncRequest.list(formValue);
+        if (res && res.code === 0 && res.data) {
+          const { list } = res.data;
+          this.options = list;
+        } else if (res && res.code >= 100 && res.code <= 104) {
+          await this.logout();
+        } else {
+          this.$message.warning(res.message);
+        }
+      } else {
+        this.options = [];
+      }
+      this.selectLoading = false;
+    },
+  },
+};
+</script>
+
+<style>
+</style>

+ 0 - 0
src/components/search-customer/企业客户选择框


+ 1 - 1
src/components/search-supplier/main.vue

@@ -37,7 +37,7 @@ export default {
    * @param {String}        size             : 组件大小            非必填
    * @param {Array}         value            : 选中值              必填
    * @param {String}        placeholder      : 提示信息            非必填
-   * @param {Boolean}       sDetail          : 是否是详情逻辑       必填
+   * @param {Boolean}       isDetail          : 是否是详情逻辑       必填
    * @param {Boolean}       disabled         : 是否禁用            必填
    * @param {String}        names            : 选中值label         展示详情必填
    */

+ 34 - 13
src/views/interest/account/addEdit.vue

@@ -38,7 +38,16 @@
               <el-input v-model="ruleForm.mobile" :disabled="isDetail" />
             </el-form-item>
             <el-form-item label="所在部门" prop="itemid">
-              <el-cascader
+              <all-organize
+                :value="ruleForm.itemid"
+                :is-detail="isDetail"
+                :disabled="isDetail"
+                :multiple="true"
+                :checkStrictly="true"
+                :placeholder="'请选择所在部门'"
+                @searchChange="itemidChange"
+              />
+              <!-- <el-cascader
                 style="width: 100%"
                 :disabled="isDetail"
                 :placeholder="'请选择所在部门'"
@@ -50,7 +59,7 @@
                   multiple: true,
                   checkStrictly: true,
                 }"
-              ></el-cascader>
+              ></el-cascader> -->
             </el-form-item>
             <el-form-item label="邮箱" prop="email">
               <el-input v-model="ruleForm.email" :disabled="isDetail" />
@@ -181,7 +190,7 @@ export default {
         email: "",
         role_id: "",
         status: "1",
-       itemid: [],
+        itemid: [],
       },
       rulesThis: this.rules,
       rules: {
@@ -255,6 +264,11 @@ export default {
     closeModel() {
       console.log("closeModel!!");
     },
+    itemidChange(e) {
+      console.log(e)
+      this.ruleForm.itemid = e;
+      this.$refs.ruleForm.validateField("itemid");
+    },
     async initForm() {
       console.log(this.id);
       this.loading = true;
@@ -289,8 +303,8 @@ export default {
     recursion(list) {
       list.map((v) => {
         if (v && Array.isArray(v.child)) {
-          v.value=v.id+""
-          v.label=v.name
+          v.value = v.id + "";
+          v.label = v.name;
           if (v.child.length === 0) {
             delete v["child"];
           } else {
@@ -333,8 +347,15 @@ export default {
         if (this.$refs.ruleForm) {
           this.$refs.ruleForm.resetFields();
           this.$refs.ruleForm.clearValidate();
-          const { username, nickname, mobile, email, roleid, status, depart_code } =
-            sitem;
+          const {
+            username,
+            nickname,
+            mobile,
+            email,
+            roleid,
+            status,
+            depart_code,
+          } = sitem;
           this.ruleForm = {
             username: username || "", // 账号
             name: nickname || "", // 真实姓名
@@ -344,10 +365,10 @@ export default {
             status: status || "",
             itemid: depart_code || [],
           };
-          console.log(depart_code);
-          if (this.id === "add" || this.isDetail) {
-            this.rules.username[0].required = false;
-          }
+          // console.log(depart_code);
+          // if (this.id === "add" || this.isDetail) {
+          //   this.rules.username[0].required = false;
+          // }
         }
       });
     },
@@ -357,7 +378,7 @@ export default {
           this.loading = true;
           const { username, name, mobile, email, role_id, status, itemid } =
             JSON.parse(JSON.stringify(this.ruleForm));
-            console.log(this.ruleForm);
+          console.log(this.ruleForm);
           const model = {
             id: this.id,
             username: username || "", // 账号
@@ -366,7 +387,7 @@ export default {
             email: email || "",
             role: role_id || "",
             status: status || "",
-           itemid: itemid || [],
+            itemid: itemid || [],
           };
           let res = {};
           if (this.id === "add") {

+ 236 - 186
src/views/purchaseIn/storeSet/addEdit.vue

@@ -16,138 +16,141 @@
     <el-card>
       <el-row :gutter="10">
         <el-col :span="24">
-      <el-form
-        ref="ruleForm"
-        :model="ruleForm"
-        status-icon
-        :rules="rulesThis"
-        label-width="100px"
-        class="demo-ruleForm"
-        v-if="addId === 'add'"
-      >
-        <div style="padding: 12px 0">
-          <el-divider content-position="center">仓库信息</el-divider>
-        </div>
+          <el-form
+            ref="ruleForm"
+            :model="ruleForm"
+            status-icon
+            :rules="rulesThis"
+            label-width="100px"
+            class="demo-ruleForm"
+            v-if="addId === 'add'"
+          >
+            <div style="padding: 12px 0">
+              <el-divider content-position="center">仓库信息</el-divider>
+            </div>
 
-        <el-row>
-          <el-col :span="12"
-            ><el-form-item
-              label="所属公司"
-              prop="storeToCompany"
-              style="width: 100%"
-            >
-              <search-supplier @searchCard="getCompanyName"></search-supplier>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="仓库名称" prop="accountName">
-              <el-input
-                placeholder="请输入仓库名称"
-                filterable
-                clearable
-                v-model="ruleForm.accountName"
-              >
-              </el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="省/市/区" prop="addr_code">
-              <select-area
-                :value="ruleForm.addr_code"
-                @selectChange="areaSelect"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="详细地址" prop="accountDetail">
-              <el-input
-                placeholder="请输入内容"
-                v-model="ruleForm.accountDetail"
-                clearable
-                @change="accountDetail"
-              >
-              </el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
+            <el-row>
+              <el-col :span="12"
+                ><el-form-item
+                  label="所属公司"
+                  prop="supplierNo"
+                  style="width: 100%"
+                >
+                  <search-supplier
+                    :value="supplierNo"
+                    :placeholder="'请输入公司名称'"
+                    @searchChange="getCompanyName"
+                  />
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="仓库名称" prop="name">
+                  <el-input
+                    placeholder="请输入仓库名称"
+                    filterable
+                    clearable
+                    v-model="ruleForm.name"
+                  >
+                  </el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="省/市/区" prop="addr_code">
+                  <select-area
+                    :value="ruleForm.addr_code"
+                    @selectChange="areaSelect"
+                  />
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="详细地址" prop="addr">
+                  <el-input
+                    placeholder="请输入内容"
+                    v-model="ruleForm.addr"
+                    clearable
+                  >
+                  </el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
 
-        <el-row>
-          <el-col :span="12">
-            <el-form-item
-              label="负责人"
-              prop="accountDutyer"
-              style="width: 100%"
-            >
-              <search-account
-                :size="searchSize"
-                :code="accountNo"
-                :placeholder="'请输入负责人'"
-                :is-detail="true"
-                :disabled="false"
-                :names="accountNames"
-                @change="accountChange"
-              /> </el-form-item
-          ></el-col>
-          <el-col :span="12">
-            <el-form-item label="负责人电话" prop="dutyer_mobile">
-              <el-input
-                type="number"
-                placeholder="请输入联系人电话"
-                v-model="ruleForm.dutyer_mobile"
-                clearable
-              >
-              </el-input> </el-form-item
-          ></el-col>
-        </el-row>
-        <div style="padding: 0 0 12px 0">
-          <el-divider content-position="center">收发货信息</el-divider>
-        </div>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="联系人" prop="linker">
-              <el-input
-                placeholder="请填写联系人"
-                v-model="ruleForm.linker"
-                clearable
-                @change="linker"
-              >
-              </el-input> </el-form-item
-          ></el-col>
-          <el-col :span="12">
-            <el-form-item label="电话" prop="linker_mobile">
-              <el-input
-                type="number"
-                placeholder="请输入联系人电话"
-                v-model="ruleForm.linker_mobile"
-                clearable
-                @change="linkerMobile"
-              >
-              </el-input> </el-form-item
-          ></el-col>
-        </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item
+                  label="负责人"
+                  prop="accountDutyer"
+                  style="width: 100%"
+                >
+                  <search-account
+                    :size="searchSize"
+                    :code="accountNo"
+                    :placeholder="'请输入负责人'"
+                    :is-detail="true"
+                    :disabled="false"
+                    :names="accountNames"
+                    @change="accountChange"
+                  /> </el-form-item
+              ></el-col>
+              <el-col :span="12">
+                <el-form-item label="负责人电话" prop="dutyer_mobile">
+                  <el-input
+                    type="number"
+                    placeholder="请输入联系人电话"
+                    v-model="ruleForm.dutyer_mobile"
+                    clearable
+                  >
+                  </el-input> </el-form-item
+              ></el-col>
+            </el-row>
+            <div style="padding: 0 0 12px 0">
+              <el-divider content-position="center">收发货信息</el-divider>
+            </div>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="联系人" prop="linker">
+                  <el-input
+                    placeholder="请填写联系人"
+                    v-model="ruleForm.linker"
+                    clearable
+                    @change="linker"
+                  >
+                  </el-input> </el-form-item
+              ></el-col>
+              <el-col :span="12">
+                <el-form-item label="电话" prop="linker_mobile">
+                  <el-input
+                    type="number"
+                    placeholder="请输入联系人电话"
+                    v-model="ruleForm.linker_mobile"
+                    clearable
+                    @change="linkerMobile"
+                  >
+                  </el-input> </el-form-item
+              ></el-col>
+            </el-row>
 
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="省/市/区" prop="addrs_code">
-              <select-area
-                :value="ruleForm.addrs_code"
-                @selectChange="selectArea"
-              /> </el-form-item
-          ></el-col>
-          <el-col :span="12">
-            <el-form-item label="详细地址" prop="linker_detail">
-              <el-input
-                placeholder="请输入详细地址"
-                v-model="ruleForm.linker_detail"
-                clearable
-                @change="linkerDetail"
-              >
-              </el-input> </el-form-item
-          ></el-col>
-        </el-row>
-      </el-form>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="省/市/区" prop="addrs_code">
+                  <select-area
+                    :value="ruleForm.addrs_code"
+                    @selectChange="selectArea"
+                  /> </el-form-item
+              ></el-col>
+              <el-col :span="12">
+                <el-form-item label="详细地址" prop="linker_detail">
+                  <el-input
+                    placeholder="请输入详细地址"
+                    v-model="ruleForm.linker_detail"
+                    clearable
+                    @change="linkerDetail"
+                  >
+                  </el-input> </el-form-item
+              ></el-col>
+            </el-row>
+          </el-form>
         </el-col>
         <el-col :span="24" style="text-align: right">
           <el-button type="primary" @click="submitForm" v-if="!isDetail"
@@ -178,46 +181,95 @@ export default {
   props: ["showModel", "id", "isDetail", "sitem"],
   mixins: [resToken],
   data() {
-     const validatemobile = (rule, value, callback) => {
+    const validatemobile = (rule, value, callback) => {
       if (value === "") {
-        callback(new Error("手机号不能为空!"));
+        callback(new Error("负责人联系方式不能为空!"));
       } else {
         if (!isMobile(value)) {
-          callback(new Error("手机号格式不正确!"));
+          callback(new Error("负责人联系方式格式不正确!"));
         } else {
           callback();
         }
       }
     };
+    const validatewsmmobile = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("收发货联系方式不能为空!"));
+      } else {
+        if (!isMobile(value)) {
+          callback(new Error("收发货联系方式格式不正确!"));
+        } else {
+          callback();
+        }
+      }
+    };
+
     return {
       loading: false,
       title: "添加账号",
       showModelThis: this.showModel,
       ruleForm: {
-        username: "", // 账号
-        name: "", // 真实姓名
-        mobile: "",
-        email: "",
-        role_id: "",
-        status: "1",
-        item: [],
+        name: "", // 仓库名称
+        supplierNo: [], //供应商编码
+        wsmtype: "", //仓库类型 目前随便填
+        addr_code: [], //仓库省市区
+        addr: "", //仓库详细地址
+        contactor: [], //仓库联系人
+        mobile: "", //仓库联系方式
+        position: "", //联系人职位  目前随便填
+        wsm_type: "", //目前随便填
+
+        wsm_name: "", //收发货联系人
+        wsm_mobile: "", //收发货联系方式
+        wsm_addr: "", //收发货地址详细
+        addrs_code: [], //收发货省市区
       },
       rulesThis: this.rules,
       rules: {
         name: [
+          { required: true, message: "请输入仓库名称", trigger: "blur" },
           {
-            required: true,
-            validator: validatename,
+            min: 1,
+            max: 20,
+            message: "长度在 1 到 20 个字符",
             trigger: "blur",
           },
         ],
-        username: [
+        supplierNo: [
           {
+            type: "array",
             required: true,
-            validator: validateusername,
+            message: "请选择供应商公司",
+            trigger: "change",
+          },
+        ],
+        addr_code: [
+          {
+            type: "array",
+            required: true,
+            message: "请选择仓库所在省/市/区",
+            trigger: "change",
+          },
+        ],
+        addr: [
+          { required: true, message: "请输入仓库详细地址", trigger: "blur" },
+          {
+            min: 1,
+            max: 100,
+            message: "长度在 1 到 100 个字符",
             trigger: "blur",
           },
         ],
+
+        contactor: [
+          {
+            required: true,
+            type: "array",
+            message: "请选择仓库负责人",
+            trigger: "change",
+          },
+        ],
+
         mobile: [
           {
             required: true,
@@ -225,33 +277,37 @@ export default {
             trigger: "blur",
           },
         ],
-        email: [
+        wsm_name: [
+          { required: true, message: "请输入收发货联系人", trigger: "blur" },
           {
-            required: false,
-            validator: validateEmail,
+            min: 1,
+            max: 20,
+            message: "长度在 1 到 20 个字符",
             trigger: "blur",
           },
         ],
-        role_id: [
+        wsm_mobile: [
           {
             required: true,
-            message: "请选择角色",
-            trigger: "change",
+            validator: validatewsmmobile,
+            trigger: "blur",
           },
         ],
-        item: [
+        addrs_code: [
           {
             type: "array",
             required: true,
-            message: "请选择所在部门",
+            message: "请选择收发货所在省/市/区",
             trigger: "change",
           },
         ],
-        status: [
+        wsm_addr: [
+          { required: true, message: "请输入收发货详细地址", trigger: "blur" },
           {
-            required: true,
-            message: "请选择状态",
-            trigger: "change",
+            min: 1,
+            max: 100,
+            message: "长度在 1 到 100 个字符",
+            trigger: "blur",
           },
         ],
       },
@@ -274,9 +330,17 @@ export default {
     closeModel() {
       console.log("closeModel!!");
     },
+    //供应商公司选择
+    searchChange(e) {
+      if (e && e.id) {
+        this.ruleForm.supplierNo = [e.code]; //供应商编码
+      } else {
+        this.ruleForm.supplierNo = [];
+      }
+      this.$refs.ruleForm.validateField("supplierNo");
+    },
     async initForm() {
       this.loading = true;
-      // await this.getRole();
       if (this.id === "add") {
         this.title = "新建仓库";
         this.rulesThis = this.rules;
@@ -290,26 +354,10 @@ export default {
           this.rulesThis = this.rules;
         }
         await this.resetForm(this.sitem);
-        // await this.initData()
+        await this.initData();
       }
       this.loading = false;
     },
-    // async getRole() {
-    //   const model = {
-    //     status: "", // 状态
-    //     level: "", // 姓名
-    //     role_name: "",
-    //   };
-    //   const res = await asyncRequest.getRole(model);
-    //   if (res && res.code === 0 && res.data) {
-    //     this.roleList = res.data;
-    //     this.roleList.map((v1) => {
-    //       v1.id += "";
-    //       v1.status += "";
-    //       return v1;
-    //     });
-    //   }
-    // },
     async initData() {
       const res = await asyncRequest.detail({ id: this.id });
       if (res && res.code === 0 && res.data) {
@@ -321,26 +369,28 @@ export default {
         this.$message.warning(res.message);
       }
     },
-    async resetForm(sitem) {
+    async resetForm() {
       // 重置
       await this.$nextTick(() => {
         if (this.$refs.ruleForm) {
           this.$refs.ruleForm.resetFields();
           this.$refs.ruleForm.clearValidate();
-          const { username, nickname, mobile, email, roleid, status, item } =
-            sitem;
           this.ruleForm = {
-            username: username || "", // 账号
-            name: nickname || "", // 真实姓名
-            mobile: mobile || "",
-            email: email || "",
-            role_id: roleid || "",
-            status: status || "",
-            item: item || [],
+            name: "", // 仓库名称
+            supplierNo: [], //供应商编码
+            wsmtype: "", //仓库类型 目前随便填
+            addr_code: [], //仓库省市区
+            addr: "", //仓库详细地址
+            contactor: [], //仓库联系人
+            mobile: "", //仓库联系方式
+            position: "", //联系人职位  目前随便填
+            wsm_type: "", //目前随便填
+
+            wsm_name: "", //收发货联系人
+            wsm_mobile: "", //收发货联系方式
+            wsm_addr: "", //收发货地址详细
+            addrs_code: [], //收发货省市区
           };
-          if (this.id === "add" || this.isDetail) {
-            this.rules.username[0].required = false;
-          }
         }
       });
     },

+ 6 - 41
src/views/purchaseIn/storeSet/index.vue

@@ -89,7 +89,7 @@
             </el-row>
             <el-row style="padding: 0">
               <el-col :span="18" style="width: 340px; padding: 0">
-                <search-supplier
+                <search-customer
                   :size="searchSize"
                   :code="supplierNo"
                   :placeholder="'供应商公司名称'"
@@ -110,7 +110,7 @@
                   class="fl"
                   :size="searchSize"
                   type="success"
-                  @click="addList('add')"
+                  @click="openModal('add', false)"
                 >
                   新建
                 </el-button>
@@ -127,10 +127,10 @@
           >
             <i
               class="el-icon-view tb-icon"
-              @click="openModal(scope.row.id, true, scope.row)"
+              @click="openModal(scope.row.id, true)"
             ></i>
           </el-tooltip>
-          <el-tooltip
+          <el-tooltip 
             v-if="powers.some((item) => item == '005')"
             effect="dark"
             content="修改"
@@ -138,7 +138,7 @@
           >
             <i
               class="el-icon-edit tb-icon"
-              @click="openModal(scope.row.id, false, scope.row)"
+              @click="openModal(scope.row.id, false)"
             ></i>
           </el-tooltip>
           <el-tooltip
@@ -171,7 +171,6 @@
       </ex-table>
       <add-edit
         :id="modelId"
-        :sitem="sitem"
         :show-model="showModel"
         :is-detail="isDetail"
         @refresh="searchList"
@@ -198,7 +197,6 @@ import statusList from "@/assets/js/statusList";
 import asyncRequest from "@/apis/service/purchaseIn/storeSet";
 import addEdit from "./addEdit";
 import { mapGetters } from "vuex";
-import AddStore from "@/views/purchaseIn/addStore";
 export default {
   name: "storeSet",
   mixins: [mixinPage, resToken],
@@ -227,14 +225,11 @@ export default {
       stock_sn: "", //企业/仓库编码
       stock_name: "", //企业/仓库名称
       link: "", //联系电话/联系人
-      sitem: null,
-
       statusList: statusList,
       loading: true,
       showModel: false,
       isDetail: false,
       modelId: 0,
-
       parmValue: {
         supplierNo: "", //供应商编码
         wsm_code: "", //仓库编码
@@ -339,7 +334,6 @@ export default {
     addList(id) {
       this.$router.push({
         path: "addStore",
-        component: AddStore,
         query: {
           id: id,
         },
@@ -362,40 +356,11 @@ export default {
       this.searchList();
     },
 
-    openModal(id, isDetail, sitem) {
+    openModal(id, isDetail) {
       this.showModel = true;
       this.modelId = id;
       this.isDetail = isDetail;
-      this.sitem = sitem;
     },
-    // async deleteById(id, status) {
-    //   await this.$confirm("确定要删除?", {
-    //     confirmButtonText: "确定",
-    //     cancelButtonText: "取消",
-    //     type: "warning",
-    //   })
-    //     .then(async () => {
-    //       const model = {
-    //         id: id,
-    //         status: status === "1" ? "0" : "1",
-    //       };
-    //       const res = await asyncRequest.status(model);
-    //       if (res && res.code === 0) {
-    //         this.$notify.success({
-    //           title: "删除成功",
-    //           message: "",
-    //         });
-    //         this.searchList();
-    //       } else if (res && res.code >= 100 && res.code <= 104) {
-    //         await this.logout();
-    //       } else {
-    //         this.$message.warning(res.message);
-    //       }
-    //     })
-    //     .catch(() => {
-    //       console.log("取消");
-    //     });
-    // },
     async searchList() {
       this.loading = true;
       this.parmValue.wsm_code = this.select === "1" ? this.input : "";