Parcourir la source

履职计划选择履职内容窗口没有默认选中

jiawuxian il y a 2 ans
Parent
commit
03be30cbc6

+ 60 - 59
src/views/resumption/plan/dialog.edit.vue

@@ -107,7 +107,6 @@
             <el-col :span="6">
               <el-form-item prop="roleList" label="履职角色:">
                 <el-select
-                  
                   label="履职角色"
                   v-model="formData.roleList"
                   placeholder="请选择履职角色"
@@ -157,41 +156,40 @@
             </el-col>
           </el-row>
           <el-form-item prop="note" label="备注">
-            <el-input
-              v-model="formData.note"
-              :maxlength="255"
-              clearable
-            />
+            <el-input v-model="formData.note" :maxlength="255" clearable />
           </el-form-item>
         </el-form>
         <el-button @click="openSelect">新增履职内容</el-button>
-       
+
         <el-table :data="tableData" style="width: 100%" height="400px">
-          <el-table-column  label="是否扫描" >
-            <template v-slot="{ row }"> 
+          <el-table-column label="是否扫描">
+            <template v-slot="{ row }">
               <el-switch
                 v-model="row.pointScan"
                 active-text="是"
-                inactive-text="否">
+                inactive-text="否"
+              >
               </el-switch>
             </template>
           </el-table-column>
 
-          <el-table-column label="必须履职" >
-            <template v-slot="{ row }"> 
+          <el-table-column label="必须履职">
+            <template v-slot="{ row }">
               <el-switch
                 v-model="row.required"
                 active-text="是"
-                inactive-text="否">
+                inactive-text="否"
+              >
               </el-switch>
             </template>
           </el-table-column>
-          <el-table-column prop="ruleName" label="履职内容库" > </el-table-column>
-          <el-table-column prop="itemName" label="履职项" > </el-table-column>
-          <el-table-column prop="pointName" label="履职内容" > </el-table-column>
-          <el-table-column prop="areaName" label="履职区域" > </el-table-column>
-          <el-table-column prop="areaName" label="操作" >
-            <template v-slot="{ row }"> 
+          <el-table-column prop="ruleName" label="履职内容库">
+          </el-table-column>
+          <el-table-column prop="itemName" label="履职项"> </el-table-column>
+          <el-table-column prop="pointName" label="履职内容"> </el-table-column>
+          <el-table-column prop="areaName" label="履职区域"> </el-table-column>
+          <el-table-column prop="areaName" label="操作">
+            <template v-slot="{ row }">
               <el-button type="text" @click="removeRow(row)">删除</el-button>
             </template>
           </el-table-column>
@@ -204,11 +202,11 @@
       </div>
     </DialogCom>
     <DialogSelect
-          ref="DialogSelect"
-          :defaultSelect=defaultSelect
-          :orgType="formData.execOrgType"
-          @select="onSelect"
-        ></DialogSelect>
+      ref="DialogSelect"
+      :defaultSelect="defaultSelect"
+      :orgType="formData.execOrgType"
+      @select="onSelect"
+    ></DialogSelect>
   </div>
 </template>
 
@@ -347,33 +345,35 @@ export default {
     },
     async refresh(id, other) {
       this.formData = id ? (await api.get(id)).data : this.reset(other);
-      if(this.formData.execOrgType){
+      if (this.formData.execOrgType) {
         this.getRolesByOrg();
-      } 
+      }
     },
-    onSelect(selectList){
+    onSelect(selectList) {
       console.log(selectList);
-      for(let i=0;i<selectList.length;i++){
-        let tem={
-          pointScan:!selectList[i].pointScan,
-          required:!selectList[i].required,
-          ruleName:selectList[i].ruleName,
-          itemName:selectList[i].itemName,
-          pointName:selectList[i].pointName,
-          areaName:selectList[i].areaName,
-          itemId:selectList[i].itemId,
-          id:selectList[i].id,
-        }
-        if(this.tableData==null){
-          this.tableData=[];
+      if (this.tableData == null) {
+        this.tableData = [];
+      }
+      for (let i = 0; i < selectList.length; i++) {
+        let item = selectList[i];
+        let exist = this.tableData.find((d) => d.id == item.id);
+        if (!exist) {
+          let tem = {
+            pointScan: !item.pointScan,
+            required: !item.required,
+            ruleName: item.ruleName,
+            itemName: item.itemName,
+            pointName: item.pointName,
+            areaName: item.areaName,
+            itemId: item.itemId,
+            id: item.id,
+          };
+
+          this.tableData.push(tem);
         }
-        this.tableData.push(tem);
       }
-     
-      
-      
     },
-    onOrgTypeChanged(){
+    onOrgTypeChanged() {
       this.getRolesByOrg();
     },
     async show(id, other = {}) {
@@ -392,26 +392,26 @@ export default {
       this.isShow = true;
     },
     removeRow(row) {
-      this.tableData = this.tableData.filter(item => item !== row)
+      this.tableData = this.tableData.filter((item) => item !== row);
       // this.tableData.splice(index, 1);
     },
     // 事件
     onHide() {
       this.isShow = false;
     },
-    getIteamF(){
-      if(this.id==null){
-        this.defaultSelect=[];
-        return;
-      }
-      api.getPointIds(this.id).then((res) => {
-        this.defaultSelect = res.data;
-      });
+    getIteamF() {
+      // if(this.id==null){
+      //   this.defaultSelect=[];
+      //   return;
+      // }
+      // api.getPointIds(this.id).then((res) => {
+      //   this.defaultSelect = res.data;
+      // });
+
+      return this.tableData.map((d) => d.id);
     },
     openSelect() {
-      
-      this.getIteamF();
-      this.$refs.DialogSelect.show();
+      this.$refs.DialogSelect.show(this.getIteamF());
     },
     onSubmit() {
       this.$refs.form.validate(async (isValidate) => {
@@ -420,7 +420,8 @@ export default {
         this.formData.planCreateOrgName = this.orgName;
         if (!isValidate) return;
         this.formData.itemList = this.tableData == null ? [] : this.tableData;
-        this.formData.roleList = this.selectedValues.length==0?null:this.selectedValues;
+        this.formData.roleList =
+          this.selectedValues.length == 0 ? null : this.selectedValues;
         await api.update(this.formData);
         this.$emit("success");
         this.onHide();
@@ -433,7 +434,7 @@ export default {
     //apimark//
   },
   mounted() {},
-  components: {DialogSelect},
+  components: { DialogSelect },
 };
 </script>
 

+ 15 - 11
src/views/resumption/ruleManager/dialog.select.point.vue

@@ -43,9 +43,10 @@
           <el-table-column
             prop="itemName"
             label="履职项"
-           min-width="40%"
+            min-width="40%"
           ></el-table-column>
-          <el-table-column label="履职内容" prop="pointName" min-width="40%"> </el-table-column>
+          <el-table-column label="履职内容" prop="pointName" min-width="40%">
+          </el-table-column>
           <el-table-column
             prop="areaName"
             label="履职区域"
@@ -80,18 +81,21 @@ export default {
   computed: {},
   watch: {},
   props: {
-    defaultSelect:{
-      type:Array
+    // defaultSelect:{
+    //   type:Array
+    // },
+    orgType: {
+      type: String,
     },
-    orgType:{
-      type:String
-    }
   },
   methods: {
-    show() {
+    show(defaultSelect) {
       this.search = this.emptySearch();
       this.isShow = true;
-      this.selectList =this.defaultSelect; 
+      if (defaultSelect && defaultSelect.map) {
+        this.selectList = defaultSelect.map((s) => ({ id: s }));
+      }
+      console.info("selectList0",this.selectList);
       ruleListForOrg({ orgType: this.orgType }).then((r) => {
         this.ruleList = r.data;
         if (r.data && r.data.length > 0) {
@@ -103,11 +107,11 @@ export default {
     onHide() {
       this.isShow = false;
     },
-    onSelect(item) {      
+    onSelect(item) {
       this.selectList = item;
     },
     onSubmit() {
-      let s=this.selectList
+      let s = this.selectList;
       this.$emit("select", this.selectList);
       this.onHide();
     },

+ 4 - 4
src/views/resumption/taskManager/index.vue

@@ -283,7 +283,7 @@
         <el-table v-loading="loading" :data="pageData">
           <el-table-column
             type="index"
-            min-width="4%"
+            width="50px"
             label="序号"
             v-if="columns[0].visible"
           >
@@ -325,19 +325,19 @@
           <el-table-column
             prop="roleName"
             label="履职角色"
-            min-width="10%"
+            width="100px"
             v-if="columns[6].visible"
           >
           </el-table-column>
           <el-table-column
             prop="submitter"
             label="提交人"
-            min-width="10%"
+            width="100px"
             v-if="columns[7].visible"
           ></el-table-column>
           <el-table-column
             label="提交时间"
-            min-width="15%"
+            width="120px"
             v-if="columns[8].visible"
           >
             <template slot-scope="r">{{