Selaa lähdekoodia

1 . 解决XZT-94

002201 2 vuotta sitten
vanhempi
commit
87e4c9e7f2

+ 71 - 39
src/views/login.vue

@@ -1,6 +1,11 @@
 <template>
   <div class="login">
-    <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
+    <el-form
+      ref="loginForm"
+      :model="loginForm"
+      :rules="loginRules"
+      class="login-form"
+    >
       <h3 class="title">德荣供应链管理平台</h3>
       <el-form-item prop="username">
         <el-input
@@ -9,7 +14,11 @@
           auto-complete="off"
           placeholder="账号"
         >
-          <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
+          <svg-icon
+            slot="prefix"
+            icon-class="user"
+            class="el-input__icon input-icon"
+          />
         </el-input>
       </el-form-item>
       <el-form-item prop="password">
@@ -20,7 +29,11 @@
           placeholder="密码"
           @keyup.enter.native="handleLogin"
         >
-          <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
+          <svg-icon
+            slot="prefix"
+            icon-class="password"
+            class="el-input__icon input-icon"
+          />
         </el-input>
       </el-form-item>
       <el-form-item prop="code" v-if="captchaEnabled">
@@ -31,26 +44,36 @@
           style="width: 63%"
           @keyup.enter.native="handleLogin"
         >
-          <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
+          <svg-icon
+            slot="prefix"
+            icon-class="validCode"
+            class="el-input__icon input-icon"
+          />
         </el-input>
         <div class="login-code">
-          <img :src="codeUrl" @click="getCode" class="login-code-img"/>
+          <img :src="codeUrl" @click="getCode" class="login-code-img" />
         </div>
       </el-form-item>
-      <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox>
-      <el-form-item style="width:100%;">
+      <el-checkbox
+        v-model="loginForm.rememberMe"
+        style="margin: 0px 0px 25px 0px"
+        >记住密码</el-checkbox
+      >
+      <el-form-item style="width: 100%">
         <el-button
           :loading="loading"
           size="medium"
           type="primary"
-          style="width:100%;"
+          style="width: 100%"
           @click.native.prevent="handleLogin"
         >
           <span v-if="!loading">登 录</span>
           <span v-else>登 录 中...</span>
         </el-button>
-        <div style="float: right;" v-if="register">
-          <router-link class="link-type" :to="'/register'">立即注册</router-link>
+        <div style="float: right" v-if="register">
+          <router-link class="link-type" :to="'/register'"
+            >立即注册</router-link
+          >
         </div>
       </el-form-item>
     </el-form>
@@ -64,7 +87,7 @@
 <script>
 import { getCodeImg } from "@/api/login";
 import Cookies from "js-cookie";
-import { encrypt, decrypt } from '@/utils/jsencrypt'
+import { encrypt, decrypt } from "@/utils/jsencrypt";
 
 export default {
   name: "Login",
@@ -72,36 +95,36 @@ export default {
     return {
       codeUrl: "",
       loginForm: {
-        username: "002201",
+        username: "drp",
         password: "drp0330",
         rememberMe: false,
         code: "",
-        uuid: ""
+        uuid: "",
       },
       loginRules: {
         username: [
-          { required: true, trigger: "blur", message: "请输入您的账号" }
+          { required: true, trigger: "blur", message: "请输入您的账号" },
         ],
         password: [
-          { required: true, trigger: "blur", message: "请输入您的密码" }
+          { required: true, trigger: "blur", message: "请输入您的密码" },
         ],
-        code: [{ required: true, trigger: "change", message: "请输入验证码" }]
+        code: [{ required: true, trigger: "change", message: "请输入验证码" }],
       },
       loading: false,
       // 验证码开关
       captchaEnabled: true,
       // 注册开关
       register: false,
-      redirect: undefined
+      redirect: undefined,
     };
   },
   watch: {
     $route: {
-      handler: function(route) {
+      handler: function (route) {
         this.redirect = route.query && route.query.redirect;
       },
-      immediate: true
-    }
+      immediate: true,
+    },
   },
   created() {
     this.getCode();
@@ -109,8 +132,9 @@ export default {
   },
   methods: {
     getCode() {
-      getCodeImg().then(res => {
-        this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled;
+      getCodeImg().then((res) => {
+        this.captchaEnabled =
+          res.captchaEnabled === undefined ? true : res.captchaEnabled;
         if (this.captchaEnabled) {
           this.codeUrl = "data:image/gif;base64," + res.img;
           this.loginForm.uuid = res.uuid;
@@ -120,38 +144,46 @@ export default {
     getCookie() {
       const username = Cookies.get("username");
       const password = Cookies.get("password");
-      const rememberMe = Cookies.get('rememberMe')
+      const rememberMe = Cookies.get("rememberMe");
       this.loginForm = {
         username: username === undefined ? this.loginForm.username : username,
-        password: password === undefined ? this.loginForm.password : decrypt(password),
-        rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
+        password:
+          password === undefined ? this.loginForm.password : decrypt(password),
+        rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
       };
     },
     handleLogin() {
-      this.$refs.loginForm.validate(valid => {
+      this.$refs.loginForm.validate((valid) => {
         if (valid) {
           this.loading = true;
           if (this.loginForm.rememberMe) {
             Cookies.set("username", this.loginForm.username, { expires: 30 });
-            Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });
-            Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });
+            Cookies.set("password", encrypt(this.loginForm.password), {
+              expires: 30,
+            });
+            Cookies.set("rememberMe", this.loginForm.rememberMe, {
+              expires: 30,
+            });
           } else {
             Cookies.remove("username");
             Cookies.remove("password");
-            Cookies.remove('rememberMe');
+            Cookies.remove("rememberMe");
           }
-          this.$store.dispatch("Login", this.loginForm).then(() => {
-            this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
-          }).catch(() => {
-            this.loading = false;
-            if (this.captchaEnabled) {
-              this.getCode();
-            }
-          });
+          this.$store
+            .dispatch("Login", this.loginForm)
+            .then(() => {
+              this.$router.push({ path: this.redirect || "/" }).catch(() => {});
+            })
+            .catch(() => {
+              this.loading = false;
+              if (this.captchaEnabled) {
+                this.getCode();
+              }
+            });
         }
       });
-    }
-  }
+    },
+  },
 };
 </script>
 

+ 48 - 15
src/views/material/classify/index.vue

@@ -24,7 +24,7 @@
       </el-col> -->
     </el-row>
 
-    <el-card>
+    <el-card v-loading="loading">
       <el-row :gutter="10" class="content">
         <el-col :span="6">
           <el-input
@@ -124,15 +124,25 @@
             <el-row :gutter="20">
               <el-col :span="24">
                 <el-form-item label="" prop="name">
-                  <el-checkbox-group :disabled="disable" v-model="checkList">
-                    <el-checkbox label="库存状态"></el-checkbox>
-                    <!-- <el-checkbox label="项目"></el-checkbox>
+                  <!-- <el-checkbox-group :disabled="disable" v-model="checkList"> -->
+                  <el-checkbox
+                    :disabled="disable"
+                    v-model="ruleForm.isInventory"
+                    label="isInventory"
+                    >库存状态</el-checkbox
+                  >
+                  <!-- <el-checkbox label="项目"></el-checkbox>
                   <el-checkbox label="供应商"></el-checkbox>
                   <el-checkbox label="生产厂商"></el-checkbox>
                   <el-checkbox label="客户"></el-checkbox>
                   <el-checkbox label="特征码"></el-checkbox> -->
-                    <el-checkbox label="产品批号"></el-checkbox>
-                  </el-checkbox-group>
+                  <el-checkbox
+                    :disabled="disable"
+                    v-model="ruleForm.isProductBatch"
+                    label="isProductBatch"
+                    >产品批号</el-checkbox
+                  >
+                  <!-- </el-checkbox-group> -->
                 </el-form-item>
               </el-col>
             </el-row>
@@ -167,6 +177,7 @@ export default {
   dicts: ["material_enable", "sys_assist_condtion"],
   data() {
     return {
+      loading: false,
       filterText: "",
       data: [],
       defaultProps: {
@@ -179,6 +190,8 @@ export default {
         isEnable: "0",
         delFlag: "",
         marasstframe: "",
+        isInventory: "",
+        isProductBatch: "",
       },
       rules: {
         code: [
@@ -214,12 +227,17 @@ export default {
   methods: {
     // 获取树形结构
     getTreeData(data) {
-      getTree(data).then((res) => {
-        let { code, rows } = res;
-        if (code === 200) {
-          this.data = rows;
-        }
-      });
+      this.loading = true;
+      getTree(data)
+        .then((res) => {
+          let { code, rows } = res;
+          if (code === 200) {
+            this.data = rows;
+          }
+        })
+        .finally(() => {
+          this.loading = false;
+        });
     },
     // 获取物料基本分类详情
     getDetailData(id) {
@@ -228,6 +246,9 @@ export default {
         if (code === 200) {
           console.log("data", data);
           this.ruleForm = data;
+          this.ruleForm.isInventory = data.isInventory === "0" ? true : false;
+          this.ruleForm.isProductBatch =
+            data.isProductBatch === "0" ? true : false;
         }
       });
     },
@@ -260,6 +281,8 @@ export default {
       }
     },
     submitForm(formName) {
+      let isInventory = this.ruleForm.isInventory ? "0" : "2";
+      let isProductBatch = this.ruleForm.isProductBatch ? "0" : "2";
       this.$refs[formName].validate((valid) => {
         if (valid) {
           if (this.isAdd) {
@@ -267,7 +290,12 @@ export default {
             console.log("add!");
             console.log(this.biao.parentId);
             console.log(this.ruleForm);
-            let params = { ...this.ruleForm, ...this.biao };
+            let params = {
+              ...this.ruleForm,
+              ...this.biao,
+              isInventory,
+              isProductBatch,
+            };
             console.log("params", params);
             add(params).then((res) => {
               if (res.code === 200) {
@@ -285,7 +313,12 @@ export default {
             console.log("edit");
             let ids = { id: this.biao.parentId };
             console.log("ids", ids);
-            let params = { ...this.ruleForm, ...ids };
+            let params = {
+              ...this.ruleForm,
+              ...ids,
+              isInventory,
+              isProductBatch,
+            };
             console.log("params", params);
             edit(params).then((res) => {
               if (res.code === 200) {
@@ -336,11 +369,11 @@ export default {
         console.log("删除", this.delId);
         delClassify({ id: this.delId }).then((res) => {
           if (res.code === 200) {
+            this.getTreeData();
             this.$message({
               message: "删除成功",
               type: "success",
             });
-            this.getTreeData();
           }
         });
       }

+ 2 - 3
src/views/system/table-template/index.vue

@@ -36,8 +36,7 @@ export default {
   --padding: var(--size);
 }
 .container {
-  width: calc(100% - calc(var(--size) * 2));
-  margin: var(--padding);
-  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 6px rgba(0, 0, 0, 0.04);
+  width: calc(100% - calc(var(--size)));
+  margin-right: var(--padding);
 }
 </style>