ソースを参照

Merge branch 'V0.0.2' of http://10.87.10.227:4000/jzyd_yyds/soc_web into V0.0.2

jiawuxian 2 年 前
コミット
11a1e9668b

+ 2 - 2
.env.development

@@ -10,12 +10,12 @@ ENV = 'development'
 #罗俊
 # VUE_APP_BASE_API = 'http://10.87.10.49:8080'
 #罗伟
-# VUE_APP_BASE_API = 'http://10.87.10.47:8080'
+VUE_APP_BASE_API = 'http://10.87.10.47:8080'
 #高雄
 #VUE_APP_BASE_API = 'http://10.87.11.94:8080'
 # VUE_APP_BASE_API = 'http://localhost:8080'
 # 55环境
-VUE_APP_BASE_API = 'http://10.87.10.55:8080'
+# VUE_APP_BASE_API = 'http://10.87.10.55:8080'
 
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 5 - 30
src/api/scorestatistics/scorestatistics.js

@@ -1,42 +1,17 @@
 import request from "@/utils/request";
-//综合计算得分
+//对押运公司月度评价报表
 // 查询列表分页
 export function list(query) {
   return request({
-    url: "/core/safeMonthScore/list",
+    url: "/core/task/statistics",
     method: "get",
     params: query,
   });
 }
-// 评分重新计算
-export function  anewDetail(data) {
+//获取所有计划
+export function getPlanList() {
   return request({
-    url: "/core/safetyExceptionData/reCalculate",
-    method: "post",
-    data
-  });
-}
-// 详情
-export function detail(data) {
-  return request({
-    url: "/core/safeMonthScore/detail",
-    method: "post",
-    data,
-  });
-}
-// 编辑规则配置
-export function editTargetEvaluate(data) {
-  return request({
-    url: "/core/safetyIndexRule",
-    method: "put",
-    data,
-  });
-}
-// 获取详情
-export function getEvaluateById(id) {
-  return request({
-    url: `/core/safetyIndexRule/${id}`,
+    url: "/core/evaluatePlan/allList",
     method: "get",
   });
 }
-

+ 2 - 2
src/assets/styles/index.scss

@@ -264,8 +264,8 @@ aside {
 }
 
 .el-button--primary {
-  background: rgba(0,140,214,1) !important;
-  border-color:rgba(0,140,214,.8)  !important;
+  background: rgb(73, 180, 236) !important;
+  border-color:rgb(73, 180, 236)  !important;
   color:#fff !important;
 }
 

+ 274 - 0
src/views/core/drill/task/dialog.evaluate.vue

@@ -0,0 +1,274 @@
+<template>
+  <div class="edu-training-edit">
+    <DialogCom title="演练任务评价" :visible.sync="isShow" width="960px">
+      <div class="page-body">
+        <el-form :model="formData" size="small" ref="form" label-position="right" label-width="120px"
+                 label-suffix=":">
+          <el-row>
+            <el-col :span="12">
+              <el-form-item prop="type" label="任务名称">{{
+                  formData.title
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="type" label="任务进度">{{
+                  getLabel(dict.type.drill_task_status, formData.status,"未知")
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="任务时间">{{
+                  formData.startDate +" ~ " + formData.endDate
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="演练机构">{{
+                  formData.orgName
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="指挥人">{{
+                  formData.hostName
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="记录人">{{
+                  formData.recorderName
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="演练项目">{{
+                  formData.typeText
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="演练地点">{{
+                  formData.drillSite
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="drillStartTime" label="演练开始时间">
+                {{ formData.drillStartTime }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="drillEndTime" label="演练结束时间">
+                {{ formData.drillEndTime }}
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="24">
+              <el-form-item prop="hostId" label="预设案由">{{
+                  formData.presetCase
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item prop="hostId" label="演练情况">{{
+                  formData.drillSituation
+                }}
+              </el-form-item>
+            </el-col>
+
+            <!-- 参与人数 -->
+            <el-col :span="12">
+              <el-form-item prop="dueCount" label="参与人员">{{
+                  formData.taskUserList ? formData.taskUserList.filter((x) => x.type === 1)
+                    .map((v) => v.userName).join(",") : ""
+                }}
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item prop="dueCount" label="缺席人员">{{
+                  formData.taskUserList ? formData.taskUserList.filter((x) => x.type === 2)
+                    .map((v) => v.userName).join(",") : ""
+                }}
+              </el-form-item>
+            </el-col>
+            <!-- 图片 -->
+            <el-col :span="12">
+              <el-form-item prop="imageList" label="演练图片">
+                <ImageListPreview v-model="formData.imageList"></ImageListPreview>
+              </el-form-item>
+            </el-col>
+            <!-- 图片 -->
+            <el-col :span="12">
+              <el-form-item prop="imageList" label="参与人员签名图片">
+                <ImageListPreview v-model="formData.signImageList"></ImageListPreview>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="24">
+            <el-form-item label="资料文件" prop="fileList">
+              <K-file-upload ref="upload" :isShowUploadBtn="false"
+                             :defaultValue="formFileListDefualtValue"
+                             v-model="formData.fileList"/>
+            </el-form-item>
+            </el-col>
+
+
+            <el-col :span="24">
+              <el-form-item  prop="commentScore" label="评分">
+                <el-rate
+                  :max="10"
+                  v-model="formData.commentScore"
+                >
+                </el-rate>
+              </el-form-item>
+            </el-col>
+
+            <el-col :span="24">
+              <el-form-item  prop="comment" label="评语">
+                <k-textarea style="width: 100%;" v-model="formData.comment" placeholder="请输入评语" :length="200"/>
+              </el-form-item>
+            </el-col>
+
+          </el-row>
+        </el-form>
+      </div>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="onHide">关闭</el-button>
+        <el-button type="primary" @click="onEvaluate">评价</el-button>
+      </div>
+    </DialogCom>
+  </div>
+</template>
+
+<script>
+import {mapState, mapMutations} from "vuex";
+import KTextarea from "@/components/common/textarea.vue";
+import {evaluateDrillTask, getDrillTask} from "@/api/core/drill/drillTask";
+import {initList} from "@/api/core/drill/drillDictionary";
+import KFileUpload from "@/components/K-FileUpload/index.vue";
+import { getLabel } from "@/views/commonOption";
+export default {
+  components: {KFileUpload,KTextarea},
+  dicts: ['drill_task_status', 'core_drill_type'],
+  data() {
+    const params = this.$route.params;
+    return {
+      id: params ? params.id : null,
+      isShow: false,
+      formData: this.reset(),
+      drillTypeOptions: [],
+      formFileListDefualtValue: [],
+      iconClasses: ['icon-rate-face-1', 'icon-rate-face-2', 'icon-rate-face-3'] // 等同于 { 2: 'icon-rate-face-1', 4: { value: 'icon-rate-face-2', excluded: true }, 5: 'icon-rate-face-3' }
+    };
+  },
+  props: {},
+  watch: {},
+  computed: {
+    ...mapState(["loginUser"]),
+  },
+  methods: {
+    ...mapMutations([]),
+    getLabel,
+    reset(other = {}) {
+      return {
+        id: null,
+        type: null,
+        host: null,
+        drillSite: null,
+        drillTime: null,
+        hostName: null,
+        presetCase: null,
+        drillSituation: null,
+        imageList: null,
+        signImageList: null,
+        commentScore: 5,
+
+        org: {},
+        ...other,
+      };
+    },
+    async onEvaluate() {
+      console.log("onEvaluate", this.formData)
+      if (!this.formData.commentScore) {
+        this.$message.error("请选择评分!");
+      }
+      if (!this.formData.comment) {
+        this.$message.error("请输入评语!");
+      }
+      let { commentScore,comment,id} = { ...this.formData};
+      let json={};
+      json.score = commentScore;
+      json.comment = comment;
+      json.taskId = id;
+
+      evaluateDrillTask(json).then((v) => {
+        this.$emit("success", this.formData);
+        this.onHide();
+        this.$modal.msgSuccess("演练登记评价成功");
+
+      });
+      this.getList();
+    },
+    async refresh(id, other) {
+      if (!id) {
+        this.reset(other);
+      } else {
+        getDrillTask(id).then(response => {
+          this.formData = response.data;
+          this.formFileListDefualtValue=response.data.fileList;
+          this.formData.signImageList = this.getSingImageList();
+          this.loading = false;
+        })
+      }
+    },
+    async show(id, other = {}) {
+      this.id = id;
+      await this.refresh(id, other);
+      this.isShow = true;
+    },
+    // 事件
+    onHide() {
+      this.isShow = false;
+    },
+    onDownload(url, filename) {
+      let this_ = this;
+      this.getBlob(url, function (blob) {
+        this_.saveAs(blob, filename);
+      });
+    },
+    getSingImageList() {
+      let res = this.formData.taskUserList ? this.formData.taskUserList.filter((x) => x.type === 1 && x.sign == 1)
+        .map((v) => v.signImage).join(",") : null;
+      console.log("getSingImage", res)
+      return res;
+    },
+    getBlob(url, cb) {
+      var xhr = new XMLHttpRequest();
+      xhr.open("GET", url, true);
+      xhr.responseType = "blob";
+      xhr.onload = function () {
+        if (xhr.status === 200) {
+          cb(xhr.response);
+        }
+      };
+      xhr.send();
+    },
+    initDrillTypeOptions() {
+      initList().then(response => {
+        this.drillTypeOptions = response;
+      })
+    }
+    // 事件
+    //apimark//
+  },
+  mounted() {
+  },
+};
+</script>
+
+<!-- <style lang="less">
+.edu-training-edit {
+}
+</style> -->

+ 2 - 39
src/views/core/drill/task/dialog.perform.vue

@@ -30,7 +30,7 @@
                 <el-input style="width: 100%;" v-model="formData.drillSite" placeholder="请输入演练地点" :length="50"/>
               </el-form-item>
             </el-col>
-         
+
             <el-col :span="12">
               <el-form-item prop="drillStartTime" label="演练开始时间">
                 <el-date-picker style="width: 100%;" required v-model="formData.drillStartTime"
@@ -48,7 +48,7 @@
               </el-form-item>
             </el-col>
 
-         
+
 
             <el-col :span="24">
 
@@ -94,23 +94,7 @@
                                v-model="formData.fileList"/>
               </el-form-item>
             </el-col>
-           
-
-            <el-col :span="24">
-              <el-form-item v-if="formData.status==2" prop="commentScore" label="评分">
-                <el-rate
-                  :max="10"
-                  v-model="formData.commentScore"
-                >
-                </el-rate>
-              </el-form-item>
-            </el-col>
 
-            <el-col :span="24">
-              <el-form-item v-if="formData.status==2" prop="comment" label="评语">
-                <k-textarea v-model="formData.comment" placeholder="请输入评语" :length="200"/>
-              </el-form-item>
-            </el-col>
           </el-row>
         </el-form>
       </div>
@@ -119,7 +103,6 @@
         <el-button @click="onHide">取消</el-button>
         <el-button v-if="formData.status!=2" type="primary" @click="onSave">暂存</el-button>
         <el-button v-if="formData.status!=2" type="primary" @click="onSubmit">提交</el-button>
-        <el-button v-if="formData.status==2" type="primary" @click="onEvaluate">评价</el-button>
       </div>
     </DialogCom>
     <dialog-drill-dictionary-select
@@ -354,27 +337,7 @@ export default {
         });
       }
     },
-    async onEvaluate() {
-      console.log("onEvaluate", this.formData)
-      if (!this.formData.commentScore) {
-        this.$message.error("请选择评分!");
-      }
-      if (!this.formData.comment) {
-        this.$message.error("请输入评语!");
-      }
-      let { commentScore,comment,id} = { ...this.formData};
-      let json={};
-      json.score = commentScore;
-      json.comment = comment;
-      json.taskId = id;
-
-      evaluateDrillTask(json).then((v) => {
-        this.$emit("success", this.formData);
-        this.onHide();
-        this.$modal.msgSuccess("演练登记评价成功");
-      });
 
-    },
     validatePerson() {
       for (let i = 0; i < this.formData.absenceList.length; i++) {
         let absence = this.formData.absenceList[i];

+ 11 - 4
src/views/core/drill/task/index.vue

@@ -100,7 +100,7 @@
                               </el-table-column>
                               <el-table-column label="指挥人" align="center" prop="hostName"/>
                               <el-table-column label="演练地点" align="center" prop="drillSite"/>-->
-          
+
           <!-- <el-table-column label="演练时间" align="center" width="300">
             <template slot-scope="scope">
               {{scope.row.drillStartTime? dayjs(scope.row.drillStartTime).format("YYYY-MM-DD HH:MM") +" ~ "+dayjs(scope.row.drillEndTime).format("YYYY-MM-DD HH:MM"):''}}
@@ -129,7 +129,7 @@
                               type="text"
                               icon="el-icon-document-add"
                               v-if="canEvaluate(scope.row)"
-                              @click="handleRecorded(scope.row.id)"
+                              @click="handleEvaluate(scope.row.id)"
                               v-hasPermi="['core:drillTask:evaluate']"
                             >评价</el-button>
               <el-button
@@ -160,6 +160,7 @@
     <dialog-info ref="infoDialog" @success="handleQuery(true)"></dialog-info>
     <dialog-perform ref="performDialog" @success="handleQuery(true)"></dialog-perform>
     <dialog-new-task ref="newTaskDialog"></dialog-new-task>
+    <dialog-evaluate ref="evaluateDialog"></dialog-evaluate>
   </div>
 </template>
 
@@ -169,6 +170,7 @@ import OrgTree from "@/components/orgTree";
 import DialogInfo from "./dialog.info";
 import DialogPerform from "./dialog.perform";
 import DialogNewTask from "./dialog.newtask";
+import DialogEvaluate from "./dialog.evaluate";
 import dayjs from "dayjs";
 
 export default {
@@ -178,6 +180,7 @@ export default {
     DialogInfo,
     DialogPerform,
     DialogNewTask,
+    DialogEvaluate,
     OrgTree,
     dayjs
   },
@@ -322,12 +325,16 @@ export default {
     handleRecorded(id) {
       this.$refs["performDialog"].show(id, {});
     },
+    /** 评价按钮操作 */
+    handleEvaluate(id) {
+      this.$refs["evaluateDialog"].show(id, {});
+    },
     /** 导出按钮操作 */
-    handleExport() {
+    /*handleExport() {
       this.download('system/eduTask/export', {
         ...this.queryParams
       }, `eduTask_${new Date().getTime()}.xlsx`)
-    },
+    },*/
     canEvaluate(row) {
       //仅行社安全保卫管理人员进入且演练任务处于待评价状态才显示
       return row.status == 2 && this.$store.getters.roleList.some(item => item.roleId == 120) && this.isNotOverOrUnStart(row);

+ 27 - 28
src/views/core/edu/plan/index.vue

@@ -44,15 +44,14 @@
           <el-form-item>
             <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
             <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+            <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
+                       v-hasPermi="['core:plan:add']">新增任务
+            </el-button>
           </el-form-item>
         </el-form>
 
         <el-row :gutter="10" class="mb8">
-          <el-col :span="1.5">
-            <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd"
-                       v-hasPermi="['core:plan:add']">新增任务
-            </el-button>
-          </el-col>
+
           <!--   <el-col :span="1.5">
                <el-button type="success" plain icon="el-icon-edit-outline" size="mini" :disabled="single" @click="handleUpdate"
                           v-hasPermi="['core:plan:edit']">修改
@@ -119,7 +118,7 @@
           </el-table-column>
 
           <el-table-column label="备注" align="center" prop="remark"/>
-          <el-table-column label="操作" width="160" fixed="right" align="center" class-name="small-padding fixed-width">
+          <el-table-column label="操作" width="220" fixed="right" align="center" class-name="small-padding fixed-width">
             <template slot-scope="scope">
               <el-button v-if="checkCanPublish(scope.row)" size="mini" type="text" icon="el-icon-down"
                          @click="handlePublish(scope.row)" v-hasPermi="['core:plan:edit']">下发
@@ -162,22 +161,15 @@
               </el-select>
             </el-form-item>
           </el-col>
-
-
-          <el-col :span="12" v-show="form.planCycle != 0">
-            <el-form-item label="立即生效" prop="buildTaskNow">
-              <el-checkbox v-model="form.buildTaskNow">
-                默认从下个周期生成任务,
-                <br/>
-                勾选后从当前周期立即生成任务
-                <!--                <el-popover placement="top-start" title="" width="200" trigger="hover"
-                                            content="默认从下个周期生成任务,勾选后从当前周期立即生成任务">
-                                  <i class="el-icon-warning-outline change-icon" slot="reference"></i>
-                                </el-popover>-->
-              </el-checkbox>
+          <el-col :span="12">
+            <el-form-item label="任务次数" prop="execTimes">
+              <template>
+                <el-input-number style="width: 100%" v-model="form.execTimes" :min="1" :max="10"></el-input-number>
+              </template>
             </el-form-item>
-
           </el-col>
+
+
           <!--     <el-col :span="12">
                  <el-form-item label="培训角色" prop="planRoleId">
                    <el-select style="width: 100%"  v-model="form.planRoleId" placeholder="请选择" multiple>
@@ -206,6 +198,20 @@
         </el-row>
 
         <el-row>
+          <el-col :span="12" v-show="form.planCycle != 0">
+            <el-form-item label="立即生效" prop="buildTaskNow">
+              <el-checkbox v-model="form.buildTaskNow">
+                默认从下个周期生成任务,
+                <br/>
+                勾选后从当前周期立即生成任务
+                <!--                <el-popover placement="top-start" title="" width="200" trigger="hover"
+                                            content="默认从下个周期生成任务,勾选后从当前周期立即生成任务">
+                                  <i class="el-icon-warning-outline change-icon" slot="reference"></i>
+                                </el-popover>-->
+              </el-checkbox>
+            </el-form-item>
+
+          </el-col>
           <el-col :span="12">
             <el-form-item label="受训机构类型" prop="execOrgType">
               <el-select style="width: 100%" v-model="form.execOrgType" placeholder="请选择受训机构类型"
@@ -215,13 +221,6 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="任务次数" prop="execTimes">
-              <template>
-                <el-input-number style="width: 100%" v-model="form.execTimes" :min="1" :max="10"></el-input-number>
-              </template>
-            </el-form-item>
-          </el-col>
         </el-row>
         <el-row>
           <!--          <el-col :span="12">
@@ -232,7 +231,7 @@
                         </el-select>
                       </el-form-item>
                     </el-col>-->
-          <el-col :span="12">
+          <el-col :span="24">
             <el-form-item v-show="form.execOrgType" label="受训机构" prop="planExecOrgIdList">
               <org-tree-select v-model="form.planExecOrgIdList" :queryData="form.execOrgType"
                                ref="orgTreeSelect" :enabledCheckOrgTypes="form.execOrgType" :disable="true">

+ 2 - 0
src/views/core/edu/task/dialog.perform.vue

@@ -42,6 +42,7 @@
               <el-form-item prop="trainingStartDateTime" label="培训开始时间">
                 <el-date-picker required v-model="formData.trainingStartDateTime"
                                 :picker-options="startDatepickerOptions"
+                                format="yyyy-MM-dd HH:mm"
                                 type="datetime" placeholder="选择日期" @change="startDateChanged">
                 </el-date-picker>
               </el-form-item>
@@ -50,6 +51,7 @@
               <el-form-item prop="trainingEndDateTime" label="培训结束时间">
                 <el-date-picker required v-model="formData.trainingEndDateTime" :picker-options="endDatepickerOptions"
                                 @change="endDateChanged"
+                                format="yyyy-MM-dd HH:mm"
                                 type="datetime" placeholder="选择日期">
                 </el-date-picker>
               </el-form-item>

+ 155 - 45
src/views/evaluateTable/index.vue

@@ -12,7 +12,7 @@
           v-show="showSearch"
           label-width="100px"
         >
-          <el-form-item label="组织机构" class="formTreeItem">
+          <el-form-item label="组织机构:" class="formTreeItem">
             <tree-select
               v-model="queryParams.orgId"
               :options="deptOptions"
@@ -22,18 +22,21 @@
               placeholder="请选择归属机构"
               clearValueText="清除"
               :noChildrenText="''"
+              @select="changeSelect"
               noOptionsText="没有数据"
               noResultsText="没有搜索结果"
             />
           </el-form-item>
-          <el-form-item label="年月">
-            <el-date-picker
-              type="month"
-              v-model="queryParams.date"
-              placeholder="选择年月"
-              value-format="yyyy-MM"
-            >
-            </el-date-picker>
+          <el-form-item label="外包评价名称:">
+            <el-select v-model="queryParams.planId" @change="changeHandler">
+              <el-option
+                v-for="item in options"
+                :key="item.id"
+                :label="item.evaluateName"
+                :value="item.id"
+              >
+              </el-option>
+            </el-select>
           </el-form-item>
           <el-button
             type="primary"
@@ -47,78 +50,115 @@
           >
         </el-form>
 
-        <el-table
-          border
-          size="small"
-          v-loading="loading"
-          :data="dataList"
-          align="center"
-          fixed
-        >
-          <el-table-column
-            label="序号"
-            type="index"
-            width="50"
-          ></el-table-column>
-
-          <el-table-column label="机构名称" prop="orgName" />
-          <el-table-column label=">90 低" prop="level_gt90" />
-          <el-table-column label="80-90 中" prop="level_80_90" />
-          <el-table-column label="70-80 高" prop="level_70_80" />
-
-          <el-table-column label="70及以下 极高" prop="level_lt70" />
-        </el-table>
+        <!-- 按纽    -->
+        <!-- <el-row :gutter="10" class="mb8">
+              <el-col :span="1.5">
+                <el-button
+                  type="primary"
+                  plain
+                  icon="el-icon-plus"
+                  size="mini"
+                  @click="exportExcel"
+                  
+                  >导出</el-button
+                >
+              </el-col>
+            </el-row> -->
+        <div v-if="obj&&obj.length>0" class="securityEquipmentMonitoringtable ml-4 flex-1">
+          <div class="title">{{ fullTableTitle }}</div>
+          <table ref="tb11" class="table-scroll" >
+            <tr>
+              <th colspan="1" rowspan="1">序号</th>
+              <th colspan="1" rowspan="1" :key="item" v-for="item in obj">
+                {{ item }}
+              </th>
+            </tr>
+            <tr v-for="(item, index) in targetList" :key="index">
+              <td>{{ index }}</td>
+              <td v-for="i in obj" :key="i"> {{ item[i] }}</td>
+             
+            </tr>
+          </table>
+        </div>
       </el-col>
     </el-row>
   </div>
 </template>
 <script>
 import { mapGetters } from "vuex";
-
-import { list } from "@/api/scorestatistics/scorestatistics.js";
+import { findAllRole } from "@/api/system/role";
+import { list, getPlanList } from "@/api/scorestatistics/scorestatistics.js";
 import OrgTree from "@/components/orgTree";
+import { newDateMonth } from "@/utils/index.js";
 import { deptTreeSelect } from "@/api/system/public";
 export default {
   name: "SocWebIndex",
-  dicts: ["plan_status"],
 
   components: {
     OrgTree,
   },
   data() {
+    const { params, query } = this.$route;
     return {
-      targetListChild: [],
-      targetListGrandson: [],
+      targetList: [],
+      obj: {},
       loading: false,
       selectedValues: [],
       planRoles: [],
-
+      options: [],
+      fullTableTitle: "对押运公司月度评价",
       queryParams: {
         orgId: null,
-        date: "",
+        planId: "",
+        // date: newDateMonth("", "1"),
       },
       // 显示搜索条件
       showSearch: true,
-
+      total: 0,
       dataList: [],
       deptOptions: [], //机构数组
     };
   },
   created() {
-    this.getList();
     this.getDeptTree();
+    this.getevlauteList();
+  },
+  watch: {
+    queryParams() {
+      this.getList();
+    },
+  },
+  mounted() {
+    if (this.deptOptions) {
+      this.queryParams.orgId = this.orgId;
+    }
   },
-  mounted() {},
   computed: {
     ...mapGetters(["orgId"]),
   },
   methods: {
+    changeHandler() {
+      this.getList();
+    },
+    changeSelect() {
+      this.getList();
+    },
     /** 查询机构树数据 */
     getDeptTree() {
       deptTreeSelect().then((response) => {
         this.deptOptions = response.data;
       });
     },
+    /** 获取所有计划列表 */
+    getevlauteList() {
+      getPlanList().then((res) => {
+        this.queryParams.planId = res[0].id;
+        this.options = res;
+        if (this.queryParams.orgId && this.queryParams.planId) {
+          this.getList();
+        }
+      });
+    },
     /** treeSelect组件自定义数据*/
     tenantIdnormalizer(node, instanceId) {
       if (node.children && !node.children.length) {
@@ -134,14 +174,27 @@ export default {
     //获取列表
     getList() {
       this.loading = true;
-      // this.queryParams.orgId = this.orgId;
-      list(this.queryParams).then((res) => {
-        this.dataList = res?.rows || [];
 
+      list(this.queryParams).then((res) => {
+        let { code, data, msg } = res;
+        if (code == 200) {
+          this.targetList = data || [];
+          if (this.targetList) {
+            this.obj = Object.keys(this.targetList[0]);
+          }
+        }
         this.loading = false;
       });
     },
 
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.$refs.Evaluate.show();
+    },
+    editHandler(row) {
+      this.$refs.Evaluate.show(row);
+    },
+
     /** 搜索按钮操作 */
     handleQuery() {
       this.getList();
@@ -149,12 +202,14 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.queryParams = {
-        orgId: null,
-        date: "",
+        orgId: this.orgId,
+        planId: this.options[0].id,
       };
 
       this.getList();
     },
+    //导出
+    exportExcel() {},
   },
 };
 </script>
@@ -164,4 +219,59 @@ export default {
     width: 264px;
   }
 }
+.securityEquipmentMonitoringtable {
+  background-color: #fff;
+  .table-scroll {
+    // table-layout:auto;
+
+    color: #000000;
+    min-width: 100%;
+    border-spacing: 0;
+    text-align: center;
+    border-collapse: collapse;
+    max-height: 500px;
+    overflow-y: auto;
+    font-family: "仿宋_GB2312";
+
+    .orgName {
+      min-width: 180px !important;
+      width: 180px !important;
+    }
+
+    tr th,
+    tr td {
+      height: 25px;
+      border: 1px solid rgb(0, 0, 0);
+      // min-width: 75px;
+    }
+
+    .jump {
+      color: #02a7f0;
+      text-decoration: underline;
+    }
+
+    .nojump {
+      color: #000000;
+      font-size: 10;
+      //font-weight: bold;
+    }
+
+    .greentd {
+      color: green;
+    }
+    .redtd {
+      color: red;
+    }
+  }
+}
+
+.title {
+  clear: both;
+  margin: auto;
+  text-align: center;
+  color: black;
+  font-size: x-large;
+  letter-spacing: 3px;
+  font-weight: bold;
+}
 </style>

+ 1 - 0
src/views/system/dept/index.vue

@@ -168,6 +168,7 @@
             <el-table-column
               label="操作"
               align="left"
+              width="220"
               class-name="small-padding fixed-width"
             >
               <template slot-scope="scope">

+ 1 - 1
src/views/system/user/index.vue

@@ -271,7 +271,7 @@
           <el-table-column
             label="操作"
             align="left"
-            width="240"
+            width="220"
             fixed="right"
             class-name="small-padding fixed-width"
           >