소스 검색

分配成员

Joe 4 년 전
부모
커밋
461d24510e
3개의 변경된 파일94개의 추가작업 그리고 40개의 파일을 삭제
  1. 73 24
      src/views/label/Label_AddLabel.vue
  2. 6 8
      src/views/label/Label_AddUser.vue
  3. 15 8
      src/views/label/Label_SetLabel.vue

+ 73 - 24
src/views/label/Label_AddLabel.vue

@@ -28,12 +28,29 @@
       style="width: 400px; margin: 0 auto"
       label-position="left"
     >
-      <el-form-item label="启用标签" prop="labelFlag">
+      <el-form-item
+        label="启用标签"
+        prop="labelFlag"
+        :rules="{
+          required: true,
+          message: '请选择是否开启标签',
+          trigger: 'change',
+        }"
+      >
         <el-radio-group v-model="labelForm.labelFlag" :disabled="editable">
           <el-radio label="0">关闭</el-radio>
           <el-radio label="1">开启</el-radio>
         </el-radio-group>
       </el-form-item>
+      <div
+        v-if="
+          labelForm.labelFlag == 1 && (labelForm.labelArr || []).length == 0
+        "
+      >
+        <el-form-item label=" ">
+          您没有添加标签,所以标签功能尚未生效
+        </el-form-item>
+      </div>
       <div v-if="labelForm.labelFlag == 1">
         <el-form-item
           v-for="(label, index) in labelForm.labelArr"
@@ -49,13 +66,24 @@
           <el-input v-model="label.labelName" :disabled="editable"></el-input>
           <el-popconfirm
             title="此标签在用,删除前请仔细检查,是否删除?"
-            confirm-button-text='删除'
+            confirm-button-text="删除"
             @onConfirm="removeLabel(label)"
             v-if="!!label.id"
           >
-            <el-button slot="reference"  :disabled="editable">删除</el-button>
+            <el-button
+              slot="reference"
+              :disabled="editable"
+              :loading="label.loading"
+              >删除</el-button
+            >
           </el-popconfirm>
-          <el-button @click="removeLabel(label)"  :disabled="editable" v-else>删除</el-button>
+          <el-button
+            @click="removeLabel(label)"
+            :disabled="editable"
+            :loading="label.loading"
+            v-else
+            >删除</el-button
+          >
         </el-form-item>
       </div>
       <el-form-item>
@@ -65,6 +93,9 @@
           v-show="labelForm.labelFlag == 1"
           >新增</el-button
         >
+        <el-button type="danger" @click="editLabel">{{
+          editable ? "修改标签" : "取消"
+        }}</el-button>
         <el-button
           type="primary"
           @click="submitForm('labelForm')"
@@ -72,15 +103,12 @@
           v-show="!editable"
           >提交</el-button
         >
-        <el-button type="danger" @click="editLabel">{{
-          editable ? "修改标签" : "取消"
-        }}</el-button>
       </el-form-item>
     </el-form>
   </div>
 </template>
 <script>
-import { sysDeptDemoList, addlabel } from "@/api/label/label";
+import { sysDeptDemoList, addlabel, selectLabel } from "@/api/label/label";
 
 export default {
   name: "Label_AddLabel",
@@ -92,13 +120,12 @@ export default {
           {
             id: "",
             labelName: "hah",
-          }
+          },
         ],
         delArr: [],
       },
       editable: true,
       tempForm: undefined,
-      delLabelItem:{}
     };
   },
   created() {
@@ -108,9 +135,7 @@ export default {
     init() {
       this.getList();
     },
-    test(){
-      
-    },
+    test() {},
     getList() {
       return sysDeptDemoList().then((res) => {
         if (res.code == 200) {
@@ -121,9 +146,6 @@ export default {
         }
       });
     },
-    delLabel(label){
-      this.delLabelItem = label;
-    },
     submitForm(labelForm) {
       this.$refs[labelForm].validate((valid) => {
         if (valid) {
@@ -144,14 +166,41 @@ export default {
       this.$refs[labelForm].resetFields();
     },
     removeLabel(item) {
-      if(!!item.id){
-        this.labelForm.delArr.push(item.id);
-        console.log(this.labelForm.delArr)
-      }
-      var index = this.labelForm.labelArr.indexOf(item);
-      if (index !== -1) {
-        this.labelForm.labelArr.splice(index, 1);
+      item.loading = true;
+      this.labelForm = { ...this.labelForm };
+      if (!item.id) {
+        var index = this.labelForm.labelArr.indexOf(item);
+        if (index !== -1) {
+          this.labelForm.labelArr.splice(index, 1);
+        }
+
+        item.loading = false;
+        this.labelForm = { ...this.labelForm };
+        return;
       }
+      selectLabel({
+        labelId: item.id,
+      }).then((res) => {
+        if (res.code == 200) {
+          if (res.data) {
+            this.labelForm.delArr.push(item.id);
+            var index = this.labelForm.labelArr.indexOf(item);
+            if (index !== -1) {
+              this.labelForm.labelArr.splice(index, 1);
+            }
+            item.loading = false;
+            this.labelForm = { ...this.labelForm };
+          } else {
+            this.msgError("请先清空标签下的成员之后,再来删除标签操作");
+            item.loading = false;
+            this.labelForm = { ...this.labelForm };
+          }
+        } else {
+          this.msgError("查询标签状态失败,请重试");
+          item.loading = false;
+          this.labelForm = { ...this.labelForm };
+        }
+      });
     },
     addLabel() {
       this.labelForm.labelArr.push({
@@ -163,7 +212,7 @@ export default {
       if (!this.editable) {
         if (this.tempForm !== undefined) {
           this.labelForm = JSON.parse(this.tempForm);
-          this.labelForm.delArr = []
+          this.labelForm.delArr = [];
         }
       } else {
         this.tempForm = JSON.stringify({ ...this.labelForm });

+ 6 - 8
src/views/label/Label_AddUser.vue

@@ -26,7 +26,7 @@
           :data="notCustomerLabelListCom"
           @change="transfer"
           filterable
-          :titles="['未加入', '已加入']"
+          :titles="['可添加的人员', '已加入']"
         >
           <div
             class="transfer-footer"
@@ -94,14 +94,13 @@ export default {
   },
   created() {
     this.init();
-    setTimeout(() => {
-      console.log(this.notCustomerLabelListCom);
-    }, 1000);
+    // setTimeout(() => {
+    //   console.log(this.notCustomerLabelListCom);
+    // }, 1000);
   },
   methods: {
     init() {
       this.getList();
-      console.log(this.getRightUser.bind(this));
     },
 
     handleChange(val) {
@@ -145,7 +144,6 @@ export default {
       return sysDeptDemoList().then((res) => {
         if (res.code == 200) {
           this.labelList = res.data;
-          console.log(this.labelList);
         } else {
           this.msgError("初始化数据失败");
         }
@@ -178,9 +176,9 @@ export default {
   width: 800px;
   margin: 0 auto;
 
-  .el-collapse-item__wrap {
+  //.el-collapse-item__wrap {
     // border-bottom: 1px solid;
-  }
+  //}
 
   .el-transfer-panel {
     width: 300px;

+ 15 - 8
src/views/label/Label_SetLabel.vue

@@ -11,7 +11,8 @@
         :key="ele.id"
       >
         <template slot="title">
-           标签{{index + 1}} <i class="header-icon el-icon-info"></i> <b>{{ ele.labelName}}</b>
+          标签{{ index + 1 }} <i class="header-icon el-icon-info"></i>
+          <b>{{ ele.labelName }}</b>
         </template>
         <div v-if="(ele.labelRuleDetailList || []).length == 0">
           此条标签下面没有规则
@@ -87,10 +88,18 @@
       :visible.sync="openDialog"
       width="600px"
       append-to-body
-      title="满减"
+      :title="'为' + '【' + currentLabel.labelName + '】 ' + '标签设置规则'"
     >
       <el-form ref="addRulesForm" :model="addRulesForm" label-width="140px">
-        <el-form-item label="油品名称" prop="oilName">
+        <el-form-item
+          label="油品名称"
+          prop="oilName"
+          :rules="{
+            required: true,
+            message: '请填入油品名称',
+            trigger: 'change',
+          }"
+        >
           <el-select
             v-model="addRulesForm.oilName"
             placeholder="油品名称"
@@ -181,7 +190,6 @@ export default {
     },
     getOilName() {
       listPrice().then((response) => {
-        console.log(response);
         if (response.code == 200) {
           this.oilNameOptions = response.rows;
         } else {
@@ -220,7 +228,6 @@ export default {
       return selectLabelList().then((res) => {
         if (res.code == 200) {
           this.labelForm = res.data;
-          console.log(this.labelForm);
         } else {
           this.msgError("初始化数据失败");
         }
@@ -269,8 +276,8 @@ export default {
 .collapse {
   width: 600px;
   margin: 0 auto;
-  .el-collapse-item__wrap {
-    // border-bottom: 1px solid;
-  }
+  //.el-collapse-item__wrap {
+  // border-bottom: 1px solid;
+  //}
 }
 </style>