Эх сурвалжийг харах

Merge remote-tracking branch 'remotes/origin/V0.0.3' into V0.0.4

zhulu 1 жил өмнө
parent
commit
bde12f242b
40 өөрчлөгдсөн 1225 нэмэгдсэн , 535 устгасан
  1. 3 5
      .env.development
  2. 0 35
      build/index.js
  3. 6 2
      src/assets/styles/ruoyi.scss
  4. 1 1
      src/components/RightToolbar/index.vue
  5. 7 1
      src/components/orgTree/index.vue
  6. 1 0
      src/components/userSelector/index.vue
  7. 1 1
      src/layout/components/Navbar.vue
  8. 3 3
      src/views/board/charts/question/report.vue
  9. 1 1
      src/views/core/edu/task/dialog.info.vue
  10. 4 4
      src/views/core/outIn/approve/dialog.approve.letter.detail.vue
  11. 5 6
      src/views/core/outIn/approve/dialog.approve.letter.vue
  12. 9 9
      src/views/core/outIn/letter/dialog.addletter.vue
  13. 2 2
      src/views/core/outIn/letter/dialog.letter.detail.vue
  14. 7 15
      src/views/core/outIn/outInLog/dialog.outIn.detail.vue
  15. 1 0
      src/views/core/outIn/outInLog/index.vue
  16. 1 1
      src/views/evaluationRule/addEvaluate.vue
  17. 1 1
      src/views/evaluationRule/editEvaluationRuleDialog.vue
  18. 163 141
      src/views/question/list/dialog.vue
  19. 16 9
      src/views/question/list/index.vue
  20. 4 0
      src/views/question/reform/dialog.vue
  21. 8 4
      src/views/question/reform/index.vue
  22. 4 0
      src/views/registerBook/index.vue
  23. 10 1
      src/views/resumption/protection/index.vue
  24. 6 1
      src/views/resumption/rule/index.vue
  25. 17 8
      src/views/resumption/ruleManager/index.vue
  26. 69 62
      src/views/resumption/taskManager/index.vue
  27. 2 1
      src/views/resumptionEvaluate/evaluate/addEvaluate.vue
  28. 43 19
      src/views/resumptionEvaluate/evaluate/editDialog.vue
  29. 12 7
      src/views/resumptionEvaluate/evaluate/index.vue
  30. 11 7
      src/views/resumptionEvaluate/evaluatePlan/index.vue
  31. 232 0
      src/views/safetyBook/dialog.des.vue
  32. 20 2
      src/views/safetyBook/dialog.edit.vue
  33. 13 6
      src/views/safetyBook/dialog.sign.vue
  34. 238 0
      src/views/safetyBook/hsggbsdj/dialog.des.vue
  35. 39 18
      src/views/safetyBook/hsggbsdj/dialog.edit.vue
  36. 180 108
      src/views/safetyBook/hsggbsdj/index.vue
  37. 46 34
      src/views/safetyBook/index.vue
  38. 11 1
      src/views/safetycheck/rule/index.vue
  39. 17 8
      src/views/safetycheck/ruleManager/index.vue
  40. 11 11
      src/views/safetycheck/taskManager/components/checkRegister.vue

+ 3 - 5
.env.development

@@ -10,14 +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.21.103:8080'
 #高雄
 #VUE_APP_BASE_API = 'http://10.87.11.94:8080'
-#景远超
-# VUE_APP_BASE_API = 'http://10.87.11.173:8080'
-VUE_APP_BASE_API = 'http://localhost:8080'
+# VUE_APP_BASE_API = 'http://localhost:8080'
 # 55环境
-# VUE_APP_BASE_API = 'http://10.87.21.103:8080'
+#VUE_APP_BASE_API = 'http://10.87.10.55:8080'
 
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 0 - 35
build/index.js

@@ -1,35 +0,0 @@
-const { run } = require('runjs')
-const chalk = require('chalk')
-const config = require('../vue.config.js')
-const rawArgv = process.argv.slice(2)
-const args = rawArgv.join(' ')
-
-if (process.env.npm_config_preview || rawArgv.includes('--preview')) {
-  const report = rawArgv.includes('--report')
-
-  run(`vue-cli-service build ${args}`)
-
-  const port = 8080
-  const publicPath = config.publicPath
-
-  var connect = require('connect')
-  var serveStatic = require('serve-static')
-  const app = connect()
-
-  app.use(
-    publicPath,
-    serveStatic('./dist', {
-      index: ['index.html', '/']
-    })
-  )
-
-  app.listen(port, function () {
-    console.log(chalk.green(`> Preview at  http://localhost:${port}${publicPath}`))
-    if (report) {
-      console.log(chalk.green(`> Report at  http://localhost:${port}${publicPath}report.html`))
-    }
-
-  })
-} else {
-  run(`vue-cli-service build ${args}`)
-}

+ 6 - 2
src/assets/styles/ruoyi.scss

@@ -361,12 +361,16 @@
    text-align: center !important;
    color: #1e1e1e;
  }
-
+ .el-descriptions-item__label.is-bordered-label {
+   font-weight: bold;
+   color: #515a6e;
+   background: #d7d7d7 !important;
+ }
  .extend_mod{
    .el-table thead{
      >tr{
        >th{
-         background-color: #fafafa !important;
+         background-color: #d7d7d7 !important;
        }
      }
    }

+ 1 - 1
src/components/RightToolbar/index.vue

@@ -2,7 +2,7 @@
   <div class="top-right-btn" :style="style">
     <el-row>
       <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top" v-if="search">
-        <el-button size="mini" circle icon="el-icon-search" @click="toggleSearch()" />
+        <el-button size="mini" circle icon="el-icon-view" @click="toggleSearch()" />
       </el-tooltip>
       <el-tooltip class="item" effect="dark" content="刷新" placement="top">
         <el-button size="mini" circle icon="el-icon-refresh" @click="refresh()" />

+ 7 - 1
src/components/orgTree/index.vue

@@ -96,6 +96,10 @@ export default {
     defaultCheckSub:{
       type:Boolean,
       default:true
+    },
+    autoHeight:{
+      type:Boolean,
+      default:true,
     }
   },
   watch: {
@@ -118,7 +122,9 @@ export default {
     ...mapGetters(["orgTree"]),
   },
   mounted() {
-    this.getHeight();
+    if(this.autoHeight){
+      this.getHeight();
+    }    
   },
   methods: {
     getHeight(){

+ 1 - 0
src/components/userSelector/index.vue

@@ -19,6 +19,7 @@
             @click="clickTreeNode"
             :customRequest="customTreeRequest"
             :defuaultCheckSub="search.checkSub"
+            :autoHeight="false"
           ></org-tree>
         </el-col>
         <el-col :span="18" :xs="24">

+ 1 - 1
src/layout/components/Navbar.vue

@@ -67,7 +67,7 @@ export default {
   },
   data (){
     return {
-      showSetting: process.env.NODE_ENV === "development"
+      showSetting: true,//process.env.NODE_ENV === "development"
     }
   },
   mounted(){

+ 3 - 3
src/views/board/charts/question/report.vue

@@ -126,9 +126,9 @@ export default {
 
       this.data = r;
       if(r.total==0){
-        this.data.reformRate=1;
+        this.data.reformRate=100;
       }else{
-        this.data.reformRate=(r.reformed/r.total).toFixed(2);
+        this.data.reformRate=((r.reformed/r.total)*100).toFixed(0);
       }
     },
 
@@ -201,7 +201,7 @@ export default {
               color: "#fff",
               fontSize: 14,
               formatter: function (value) {
-                return `总数:${t.data.total}\n\n整改率:${t.data.reformRate*100}%`;
+                return `总数:${t.data.total}\n\n整改率:${t.data.reformRate}%`;
               },
             },
             emphasis: {

+ 1 - 1
src/views/core/edu/task/dialog.info.vue

@@ -108,7 +108,7 @@
           'color': '#000',
           'text-align': 'center',
           'height': '40px',
-          'min-width': '200px',
+          'min-width': '150px',
           'word-break': 'keep-all'
         },
         content_style: {

+ 4 - 4
src/views/core/outIn/approve/dialog.approve.letter.detail.vue

@@ -61,9 +61,9 @@
               </el-form-item>
             </el-col>          
           </el-row>
-          <el-row :gutter="10" class="mb8">
+          <el-row :gutter="10">
             <el-col :span="12">
-                <h3 class="title">
+                <h3>
                   <i class="el-icon-collection-tag"></i>
                   人员信息
                 </h3> 
@@ -86,9 +86,9 @@
                     </template> 
               </el-table-column>             
           </el-table>     
-          <el-row :gutter="10" class="mb8">
+          <el-row :gutter="10">
             <el-col :span="12">
-                <h3 class="title">
+                <h3>
                   <i class="el-icon-collection-tag"></i>
                   审批信息
                 </h3> 

+ 5 - 6
src/views/core/outIn/approve/dialog.approve.letter.vue

@@ -61,14 +61,13 @@
             </el-col>          
           </el-row>
 
-          <el-row :gutter="10" class="mb8">
+          <el-row :gutter="10" >
             <el-col :span="12">
-                <h3 class="title">
+                <h3>
                   <i class="el-icon-collection-tag"></i>
                   人员信息
                 </h3> 
-            </el-col>
-              
+            </el-col>              
           </el-row>   
           <el-table border :data="formData.userInfos" height="300">
                   <el-table-column label="序号"  align="center"  type="index" width="70" />
@@ -87,9 +86,9 @@
                           </template> 
                     </el-table-column>             
           </el-table>      
-          <el-row :gutter="10" class="mb8">
+          <el-row :gutter="10">
             <el-col :span="12">
-                <h3 class="title">
+                <h3>
                   <i class="el-icon-collection-tag"></i>
                   审批信息
                 </h3> 

+ 9 - 9
src/views/core/outIn/letter/dialog.addletter.vue

@@ -83,15 +83,15 @@
             </el-col>
           </el-row>
 
-          <el-row :gutter="10" class="mb8">
+          <el-row :gutter="10">
             <el-col :span="12">
-                <h3 class="title">
+                <h3>
                   <i class="el-icon-collection-tag"></i>
                   人员信息
                 </h3> 
             </el-col>
-            <el-col :offset="8" :span="2" justify="end" type="flex">
-              <h3 class="title">
+            <el-col :offset="8" :span="2">
+              <h3>
                 <el-button
                 type="primary"
                 icon="el-icon-plus"
@@ -254,7 +254,7 @@ export default {
         reasons: null,
         letterNo:null,
         receptionOrgIds: [],
-        range:[],
+        // range:[],
         startTime:new Date(),
         effectiveDays:1,
         description: null,
@@ -280,10 +280,10 @@ export default {
         this.title = "修改介绍信";   
         this.isShow = true;
         getLetter(id).then((response) => {
-          let tempRange=[];
-          tempRange.push(dayjs(response.data.startTime));
-          tempRange.push(new Date(response.data.endTime));
-          response.data.range=tempRange;
+          // let tempRange=[];
+          // tempRange.push(dayjs(response.data.startTime));
+          // tempRange.push(new Date(response.data.endTime));
+          // response.data.range=tempRange;
           this.formData = response.data;
           this.formFileListDefualtValue=this.formData.letterFile;
         });        

+ 2 - 2
src/views/core/outIn/letter/dialog.letter.detail.vue

@@ -64,9 +64,9 @@
             </el-col>
            
           </el-row>
-          <el-row :gutter="10" class="mb8">
+          <el-row :gutter="10">
             <el-col :span="12">
-                <h3 class="title">
+                <h3>
                   <i class="el-icon-collection-tag"></i>
                   人员信息
                 </h3> 

+ 7 - 15
src/views/core/outIn/outInLog/dialog.outIn.detail.vue

@@ -58,8 +58,8 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="证件类型">
-             {{formData.idType}}
+              <el-form-item label="证件类型">              
+              <dict-tag :options="dict.type.letter_id_type" :value="formData.idType"/>
               </el-form-item>
             </el-col>
             <el-col :span="12">
@@ -131,7 +131,7 @@ export default {
     return {
       id: params ? params.id : null,
       isShow: false,
-      title: "出入事项审批",
+      title: "来访核验登记详情",
       formData: this.reset(),
       formDataRules: {
         approveStatus: [{ required: true, message: "请勾选审批结果" }],        
@@ -139,7 +139,7 @@ export default {
       formFileListDefualtValue: [],
     };
   },
-  dicts: ['out_in_type'],
+  dicts: ['out_in_type','letter_id_type'],
   props: {},
   watch: {},
   created() {},
@@ -169,21 +169,13 @@ export default {
     //   console.log("checkApprove value",value);
     //   console.log("checkApprove callback",callback);
     // },
-    async show(id, other = {}) {     
-      if (id) {
-        this.title = "出入情况详情";   
+    async show(id, other = {}) {    
+        // this.title = "出入情况详情";   
         this.isShow = true;
         outInRecordDetail(id).then((response) => {
           this.formData = response.data;
           this.formFileListDefualtValue=this.formData.letterFile;
-        });        
-      }
-      else 
-      {
-        this.isShow = true;
-        this.title = "录入介绍信";
-        this.formData = this.reset();       
-      }
+        });      
     },
     handleAddUser() {
       this.open = true;

+ 1 - 0
src/views/core/outIn/outInLog/index.vue

@@ -250,6 +250,7 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
+      this.queryParams.range=[];
       this.handleQuery();
     },
     getDefaultKey(key) {

+ 1 - 1
src/views/evaluationRule/addEvaluate.vue

@@ -5,7 +5,7 @@
       :width="'500px'"
       :title="`${id ? '编辑' : '新增'}扣分规则`"
       @close="closeHandler"
-
+      append-to-body
     >
       <el-form
         :model="ruleForm"

+ 1 - 1
src/views/evaluationRule/editEvaluationRuleDialog.vue

@@ -5,7 +5,7 @@
       :title="`${id ? '编辑' : '新增'}评价规则`"
       :visible.sync="isShow"
       width="900px"
-      destroy-on-close
+   
     >
       <div class="page-body">
         <el-form

+ 163 - 141
src/views/question/list/dialog.vue

@@ -1,150 +1,168 @@
 <template>
-  <DialogCom :title="title" :visible.sync="open" width="800px" append-to-body @close="cancel">
+  <DialogCom
+    :title="title"
+    :visible.sync="open"
+    width="800px"
+    append-to-body
+    @close="cancel"
+  >
     <div class="question-dialog-body">
       <el-descriptions :column="2" class="contentArea">
-      <el-descriptions-item label="机构名称">{{
-        data.orgName
-      }}</el-descriptions-item>
-      <el-descriptions-item label="隐患来源">{{
-        data.srcTaskName
-      }}</el-descriptions-item>
-      <el-descriptions-item label="标准项">{{
-        data.checkItem
-      }}</el-descriptions-item>
-      <el-descriptions-item label="标准依据">
-        <pre>{{ data.checkContent }}</pre>
-      </el-descriptions-item>
-      <el-descriptions-item label="隐患描述">
-        {{ data.questionDesc }}</el-descriptions-item
-      >
-      <el-descriptions-item label="提出人">
-        {{ data.submitorName }}</el-descriptions-item
-      >
-      <el-descriptions-item label="发现时间">
-        {{ dayjs(data.submitTime).format("YYYY-MM-DD HH:mm:ss") }}</el-descriptions-item
-      >
-      <el-descriptions-item label="整改期限">
-        {{
-          dayjs(data.reformDeadline).format("YYYY-MM-DD")
-        }}</el-descriptions-item
-      >
-      <el-descriptions-item label="隐患图片">
-        <div class="imageList">
-          <el-image
-            style="width: 100px"
-            v-for="url in data.images"
-            :src="url"
-            :preview-src-list="data.images"
-          >
-          </el-image></div
-      ></el-descriptions-item>
-    </el-descriptions>
-    <el-descriptions :column="2" class="contentArea" v-if="data.confirm">
-      <el-descriptions-item label="确认结果">{{
-        data.confirm.executeStatus == 0 ? "确认" : "提出异议"
-      }}</el-descriptions-item>
-      <el-descriptions-item label="确认人">{{
-        data.confirm.executorName
-      }}</el-descriptions-item>
-      <el-descriptions-item label="异议内容" :span="2" v-if="data.confirm.executeStatus==1">{{
-        data.confirm.description
-      }}</el-descriptions-item>
-    </el-descriptions>
+        <el-descriptions-item label="机构名称">{{
+          data.orgName
+        }}</el-descriptions-item>
+        <el-descriptions-item label="隐患来源">{{
+          data.srcTaskName
+        }}</el-descriptions-item>
+        <el-descriptions-item label="标准项">{{
+          data.checkItem
+        }}</el-descriptions-item>
+        <el-descriptions-item label="标准依据">
+          <pre>{{ data.checkContent }}</pre>
+        </el-descriptions-item>
+        <el-descriptions-item label="隐患描述">
+          {{ data.questionDesc }}</el-descriptions-item
+        >
+        <el-descriptions-item label="提出人">
+          {{ data.submitorName }}</el-descriptions-item
+        >
+        <el-descriptions-item label="发现时间">
+          {{
+            dayjs(data.submitTime).format("YYYY-MM-DD HH:mm:ss")
+          }}</el-descriptions-item
+        >
+        <el-descriptions-item label="整改期限">
+          {{
+            dayjs(data.reformDeadline).format("YYYY-MM-DD")
+          }}</el-descriptions-item
+        >
+        <el-descriptions-item label="隐患图片">
+          <div class="imageList">
+            <el-image
+              style="width: 100px"
+              v-for="url in data.images"
+              :src="url"
+              :preview-src-list="data.images"
+            >
+            </el-image></div
+        ></el-descriptions-item>
+      </el-descriptions>
+      <el-descriptions :column="2" class="contentArea" v-if="data.confirm">
+        <el-descriptions-item label="确认结果">{{
+          data.confirm.executeStatus == 0 ? "确认" : "提出异议"
+        }}</el-descriptions-item>
+        <el-descriptions-item label="确认人">{{
+          data.confirm.executorName
+        }}</el-descriptions-item>
+        <el-descriptions-item
+          label="异议内容"
+          :span="2"
+          v-if="data.confirm.executeStatus == 1"
+          >{{ data.confirm.description }}</el-descriptions-item
+        >
+      </el-descriptions>
 
-    <el-descriptions :column="2" class="contentArea" v-if="data.confirmDissent">
-      <el-descriptions-item label="审核结果">{{
-        data.confirmDissent.executeStatus == 0 ? "同意" : "不同意"
-      }}</el-descriptions-item>
-      <el-descriptions-item label="审核人">{{
-        data.confirmDissent.executorName
-      }}</el-descriptions-item>
-      <el-descriptions-item label="描述" :span="2" v-if="data.confirmDissent.executeStatus==1">{{
-        data.confirmDissent.description
-      }}</el-descriptions-item>
-    </el-descriptions>
+      <el-descriptions
+        :column="2"
+        class="contentArea"
+        v-if="data.confirmDissent"
+      >
+        <el-descriptions-item label="审核结果">{{
+          data.confirmDissent.executeStatus == 0 ? "同意" : "不同意"
+        }}</el-descriptions-item>
+        <el-descriptions-item label="审核人">{{
+          data.confirmDissent.executorName
+        }}</el-descriptions-item>
+        <el-descriptions-item
+          label="描述"
+          :span="2"
+          v-if="data.confirmDissent.executeStatus == 1"
+          >{{ data.confirmDissent.description }}</el-descriptions-item
+        >
+      </el-descriptions>
 
-    <el-descriptions :column="2" class="contentArea" v-if="data.reform">
-      <el-descriptions-item label="整改时间">{{
-        dayjs(data.reform.executeTime).format("YYYY-MM-DD")
-      }}</el-descriptions-item>
-      <el-descriptions-item label="整改状态">{{
-        data.reform.executeStatus == 0 ? "已整改" : "未整改"
-      }}</el-descriptions-item>
-      <el-descriptions-item label="描述" :span="2">{{
-        data.reform.description
-      }}</el-descriptions-item>
-      <el-descriptions-item label="整改图片" :span="2">
-        <div class="imageList">
-          <el-image
-            style="width: 100px; height: 100px"
-            v-for="url in data.reform.images"
-            :src="url"
-            :preview-src-list="data.reform.images"
-          >
-          </el-image></div
-      ></el-descriptions-item>
-    </el-descriptions>
+      <el-descriptions :column="2" class="contentArea" v-if="data.reform">
+        <el-descriptions-item label="整改时间">{{
+          dayjs(data.reform.executeTime).format("YYYY-MM-DD")
+        }}</el-descriptions-item>
+        <el-descriptions-item label="整改状态">{{
+          data.reform.executeStatus == 0 ? "已整改" : "未整改"
+        }}</el-descriptions-item>
+        <el-descriptions-item label="描述" :span="2">{{
+          data.reform.description
+        }}</el-descriptions-item>
+        <el-descriptions-item label="整改图片" :span="2">
+          <div class="imageList">
+            <el-image
+              style="width: 100px; height: 100px"
+              v-for="url in data.reform.images"
+              :src="url"
+              :preview-src-list="data.reform.images"
+            >
+            </el-image></div
+        ></el-descriptions-item>
+      </el-descriptions>
 
-    <el-form
-      ref="confirmForm"
-      :model="confirmData"
-      label-width="100px"
-      class="form"
-      v-if="type == 'confirm'"
-      :rules="confirmRule"
-    >
-      <el-form-item label="确认结果" prop="status">
-        <el-radio-group v-model="confirmData.status">
-          <el-radio :label="0">确认</el-radio>
-          <el-radio :label="1">提出异议</el-radio>
-        </el-radio-group>
-      </el-form-item>
-      <el-form-item
-        label="异议内容"
-        prop="description"
-        v-if="confirmData.status == 1"
+      <el-form
+        ref="confirmForm"
+        :model="confirmData"
+        label-width="100px"
+        class="form"
+        v-if="type == 'confirm'"
+        :rules="confirmRule"
       >
-        <el-input
-          v-model="confirmData.description"
-          maxlength="255"
-          placeHolder="请输入异议内容"
-        ></el-input>
-      </el-form-item>
-    </el-form>
-    <el-form
-      ref="confirmDissentForm"
-      :model="confirmDissentData"
-      label-width="100px"
-      class="form"
-      v-if="type == 'confirmDissent'"
-      :rules="confirmDissentRule"
-    >
-      <el-form-item label="审核结果" prop="status">
-        <el-radio-group v-model="confirmDissentData.status">
-          <el-radio :label="0">同意</el-radio>
-          <el-radio :label="1">不同意</el-radio>
-        </el-radio-group>
-      </el-form-item>
-      <el-form-item
-        label="原因"
-        prop="description"
-        v-if="confirmDissentData.status == 1"
+        <el-form-item label="确认结果" prop="status">
+          <el-radio-group v-model="confirmData.status">
+            <el-radio :label="0">确认</el-radio>
+            <el-radio :label="1">提出异议</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item
+          label="异议内容"
+          prop="description"
+          v-if="confirmData.status == 1"
+        >
+          <el-input
+            v-model="confirmData.description"
+            maxlength="255"
+            placeHolder="请输入异议内容"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+      <el-form
+        ref="confirmDissentForm"
+        :model="confirmDissentData"
+        label-width="100px"
+        class="form"
+        v-if="type == 'confirmDissent'"
+        :rules="confirmDissentRule"
       >
-        <el-input
-          v-model="confirmDissentData.description"
-          placeHolder="请输入原因"
-          maxlength="255"
-        ></el-input>
-      </el-form-item>
-    </el-form>
-    
-
+        <el-form-item label="审核结果" prop="status">
+          <el-radio-group v-model="confirmDissentData.status">
+            <el-radio :label="0">同意</el-radio>
+            <el-radio :label="1">不同意</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item
+          label="原因"
+          prop="description"
+          v-if="confirmDissentData.status == 1"
+        >
+          <el-input
+            v-model="confirmDissentData.description"
+            placeHolder="请输入原因"
+            maxlength="255"
+          ></el-input>
+        </el-form-item>
+      </el-form>
     </div>
     <div slot="footer" class="dialog-footer">
-      <el-button type="primary" @click="submitForm" v-if="type!='detail'">确 定</el-button>
+      <el-button type="primary" @click="submitForm" v-if="type != 'detail'"
+        >确 定</el-button
+      >
       <el-button @click="cancel">取 消</el-button>
     </div>
- </DialogCom>
+  </DialogCom>
 </template>
 <script>
 import {
@@ -225,8 +243,8 @@ export default {
         this.data.confirmDissent = r.data.flows.find((d) => d.executeStep == 2);
         this.data.confirm = r.data.flows.find((d) => d.executeStep == 1);
         this.data.reform = r.data.flows.find((d) => d.executeStep == 11);
-        if(this.data.reform && this.data.reform.images)     {
-          this.data.reform.images=this.data.reform.images.split(",")
+        if (this.data.reform && this.data.reform.images) {
+          this.data.reform.images = this.data.reform.images.split(",");
         }
         this.open = true;
       });
@@ -351,14 +369,18 @@ export default {
 .imageList div {
   margin-left: 5px;
   margin-right: 5px;
+
+  ::v-deep .el-image__error {
+    display: none !important;
+  }
 }
-.question-dialog-body{
+.question-dialog-body {
   max-height: 500px;
   overflow-y: auto;
   padding-right: 20px;
 }
 
-.question-dialog-body>div{
+.question-dialog-body > div {
   border-bottom: 1px solid #606266;
   padding-bottom: 20px;
 
@@ -369,10 +391,10 @@ export default {
   }
 }
 
-.question-dialog-body>div:not(:first-child){
+.question-dialog-body > div:not(:first-child) {
   padding-top: 20px;
 }
-.question-dialog-body>div:last-child{
+.question-dialog-body > div:last-child {
   border: none;
 }
 </style>

+ 16 - 9
src/views/question/list/index.vue

@@ -7,7 +7,6 @@
           @defaultOrg="getDefaultOrg"
           @checkChange="checkChange"
           @click="clickTreeNode"
-          :businessTree="true"
         ></org-tree>
       </el-col>
       <el-col :span="20" :xs="24">
@@ -22,17 +21,16 @@
               v-show="showSearch"
               label-width="80px"
             >
-              <el-form-item label="关键字" label-width="60px">
+              <el-form-item label="关键字" prop="searchKey" label-width="60px">
                 <el-input
                   v-model="queryParams.searchKey"
-                  placeholder="请输入关键字"
+                  placeholder="请输入标准依据、隐患描述"
                   clearable
                   maxlength="50"
                 />
               </el-form-item>
               <el-form-item prop="confirmStatus" label="隐患状态">
                 <el-select
-                  prop="confirmStatus"
                   label="隐患状态"
                   v-model="queryParams.confirmStatus"
                   placeholder="请选择隐患状态"
@@ -122,7 +120,11 @@
               align="center"
               width="60px"
               v-if="columns[0].visible"
-            ></el-table-column>
+            >
+            <template slot-scope="scope">
+              {{(queryParams.pageNum-1)*queryParams.pageSize+scope.$index+1}}
+            </template>
+          </el-table-column>
             <el-table-column
               header-align="center"
               label="机构名称"
@@ -137,10 +139,14 @@
             />
             <el-table-column
               header-align="center"
-              label="检查标准"
-              prop="checkItem"
+              label="标准依据"
+              prop="checkContent"
               v-if="columns[3].visible"
-            />
+            >
+              <template slot-scope="scope">
+                <pre>{{ scope.row.checkContent }}</pre>
+              </template>
+            </el-table-column>
             <el-table-column
               header-align="center"
               label="隐患描述"
@@ -181,7 +187,7 @@
                 <span>{{
                   getLabel(
                     dict.type.question_confirm_status,
-                    scope.row.confirmStatus
+                    scope.row.overdueStatus?scope.row.overdueStatus:scope.row.confirmStatus
                   )
                 }}</span>
               </template>
@@ -303,6 +309,7 @@ export default {
     /** 查询隐患问题清单列表 */
     getList() {
       this.loading = true;
+      this.questionList=[];
       listQuestion(this.queryParams).then((response) => {
         this.questionList = response.rows;
         this.total = response.total;

+ 4 - 0
src/views/question/reform/dialog.vue

@@ -343,6 +343,10 @@ export default {
 .imageList div {
   margin-left: 5px;
   margin-right: 5px;
+
+  ::v-deep .el-image__error {
+    display: none !important;
+  }
 }
 .question-dialog-body {
   max-height: 500px;

+ 8 - 4
src/views/question/reform/index.vue

@@ -7,7 +7,6 @@
           @defaultOrg="getDefaultOrg"
           @checkChange="checkChange"
           @click="clickTreeNode"
-          :businessTree="true"
         ></org-tree>
       </el-col>
       <el-col :span="20" :xs="24">
@@ -25,7 +24,7 @@
               <el-form-item label="关键字" prop="searchKey" label-width="60px">
                 <el-input
                   v-model="queryParams.searchKey"
-                  placeholder="请输入关键字"
+                  placeholder="请输入标准依据、隐患描述"
                   clearable
                   maxlength="50"
                 />
@@ -105,7 +104,11 @@
               label="序号"
               width="60px"
               v-if="columns[0].visible"
-            ></el-table-column>
+            >
+            <template slot-scope="scope">
+              {{(queryParams.pageNum-1)*queryParams.pageSize+scope.$index+1}}
+            </template>
+          </el-table-column>
             <el-table-column
               header-align="center"
               label="机构名称"
@@ -155,7 +158,7 @@
                 <span>{{
                   getLabel(
                     dict.type.question_reform_status,
-                    scope.row.reformStatus
+                    scope.row.overdueStatus?scope.row.overdueStatus:scope.row.reformStatus
                   )
                 }}</span>
               </template>
@@ -264,6 +267,7 @@ export default {
     /** 查询隐患问题清单列表 */
     getList() {
       this.loading = true;
+      this.questionList=[];
       page(this.queryParams).then((response) => {
         this.questionList = response.rows;
         this.total = response.total;

+ 4 - 0
src/views/registerBook/index.vue

@@ -229,12 +229,16 @@ export default {
     };
   },
   created() {
+    // this.queryParams.date=new date();
     this.getList();
   },
   methods: {
+    dayjs,
     /** 查询registerBook列表 */
     getList() {
       this.loading = true;
+      
+      this.queryParams.date=dayjs(this.queryParams.date).format("YYYY-MM-DD");
       listRegisterBook(this.queryParams).then(response => {
         this.registerBookList = response.rows;
         this.total = response.total;

+ 10 - 1
src/views/resumption/protection/index.vue

@@ -142,7 +142,15 @@
               label="序号"
               width="60"
               v-if="columns[0].visible"
-            ></el-table-column>
+            >
+            <template slot-scope="scope">
+              {{
+                (queryParams.pageNum - 1) * queryParams.pageSize +
+                scope.$index +
+                1
+              }}
+            </template>
+          </el-table-column>
             <el-table-column
               header-align="center"
               prop="orgName"
@@ -322,6 +330,7 @@ export default {
     getLabel,
     getList() {
       this.loading = true;
+      this.pageData=[]
       api
         .list(this.queryParams)
         .then((response) => {

+ 6 - 1
src/views/resumption/rule/index.vue

@@ -101,7 +101,11 @@
               width="60"
               align="center"
               v-if="columns[0].visible"
-            ></el-table-column>
+            >
+            <template slot-scope="scope">
+              {{(queryParams.pageNum-1)*queryParams.pageSize+scope.$index+1}}
+            </template>
+          </el-table-column>
             <el-table-column
               header-align="center"
               prop="name"
@@ -275,6 +279,7 @@ export default {
     getList() {
       this.loading = true;
       console.info(this.dict.type);
+      this.pageData=[];
       api
         .list(this.queryParams)
         .then((response) => {

+ 17 - 8
src/views/resumption/ruleManager/index.vue

@@ -18,11 +18,11 @@
         </org-tree>
       </el-col> -->
       <el-col :span="24" :xs="24">
-        <div class="main-right-box">          
+        <div class="main-right-box">
           <!--    搜索条件    -->
           <div class="main-search-box" v-show="showSearch && rule">
-            <div v-if="rule" style="padding-bottom:10px;font-weight: 700;">
-              {{rule.name}}
+            <div v-if="rule" style="padding-bottom: 10px; font-weight: 700">
+              {{ rule.name }}
             </div>
             <el-form
               :model="queryParams"
@@ -130,7 +130,7 @@
             v-if="fresh"
             style="width: 100%"
             v-loading="loading"
-            height="640"
+            height="600"
           >
             <el-table-column type="expand">
               <template slot-scope="props">
@@ -174,6 +174,13 @@
               width="80"
               v-if="columns[0].visible"
             >
+              <template slot-scope="scope">
+                {{
+                  (queryParams.pageNum - 1) * queryParams.pageSize +
+                  scope.$index +
+                  1
+                }}
+              </template>
             </el-table-column>
             <el-table-column
               header-align="center"
@@ -360,11 +367,13 @@ export default {
         this.$message.warning("请先选择一个履职内容库定义");
         return;
       }
+      this.tableData = [];
       this.loading = true;
-      const data = await page(this.queryParams);
-      this.tableData = data.rows;
-      this.total = Number.parseInt(data.total);
-      this.loading = false;
+      page(this.queryParams).then((data) => {
+        this.tableData = data.rows;
+        this.total = Number.parseInt(data.total);
+        this.loading = false;
+      });
     },
     clicktreenode(data, node) {
       this.tableData = [];

+ 69 - 62
src/views/resumption/taskManager/index.vue

@@ -24,68 +24,68 @@
             >
               <!-- <el-row>
                 <el-col :span="5"> -->
-                  <el-form-item label="任务名称" prop="planId">
-                    <el-select
-                      v-model="queryParams.planId"
-                      filterable
-                      placeholder="请选择任务名称"
-                      clearable
-                    >
-                      <el-option
-                        v-for="item in planList"
-                        :key="item.id"
-                        :label="item.name"
-                        :value="item.id"
-                      >
-                      </el-option>
-                    </el-select>
-                  </el-form-item>
-                <!-- </el-col>
+              <el-form-item label="任务名称" prop="planId">
+                <el-select
+                  v-model="queryParams.planId"
+                  filterable
+                  placeholder="请选择任务名称"
+                  clearable
+                >
+                  <el-option
+                    v-for="item in planList"
+                    :key="item.id"
+                    :label="item.name"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <!-- </el-col>
                 <el-col :span="5"> -->
-                  <el-form-item label="履职人员" prop="executeRole">
-                    <el-select
-                      v-model="queryParams.executeRole"
-                      placeholder="请选择履职人员"
-                      clearable
-                    >
-                      <el-option
-                        v-for="item in roleList"
-                        :key="item.id"
-                        :label="item.name"
-                        :value="item.id"
-                      ></el-option>
-                    </el-select>
-                  </el-form-item>
-                <!-- </el-col>
+              <el-form-item label="履职人员" prop="executeRole">
+                <el-select
+                  v-model="queryParams.executeRole"
+                  placeholder="请选择履职人员"
+                  clearable
+                >
+                  <el-option
+                    v-for="item in roleList"
+                    :key="item.id"
+                    :label="item.name"
+                    :value="item.id"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+              <!-- </el-col>
                 <el-col :span="5"> -->
-                  <el-form-item label="任务进度" prop="status">
-                    <el-select
-                      v-model="queryParams.status"
-                      placeholder="请选择任务进度"
-                      clearable
-                    >
-                      <el-option
-                        v-for="item in dict.type.resumption_status"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value"
-                      ></el-option>
-                    </el-select>
-                  </el-form-item>
-                <!-- </el-col>
+              <el-form-item label="任务进度" prop="status">
+                <el-select
+                  v-model="queryParams.status"
+                  placeholder="请选择任务进度"
+                  clearable
+                >
+                  <el-option
+                    v-for="item in dict.type.resumption_status"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+              <!-- </el-col>
                 <el-col :span="9"> -->
-                  <el-form-item class="searchTitle" label="任务时间">
-                    <DataRangePicker
-                      v-model="queryParams.range"
-                      key="daterange"
-                      type="daterange"
-                      :clearable="timeClearable"
-                      range-separator="至"
-                      start-placeholder="开始日期"
-                      end-placeholder="结束日期"
-                    />
-                  </el-form-item>
-                <!-- </el-col>
+              <el-form-item class="searchTitle" label="任务时间">
+                <DataRangePicker
+                  v-model="queryParams.range"
+                  key="daterange"
+                  type="daterange"
+                  :clearable="timeClearable"
+                  range-separator="至"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期"
+                />
+              </el-form-item>
+              <!-- </el-col>
               </el-row> -->
             </el-form>
             <!--    按纽    -->
@@ -138,6 +138,13 @@
               label="序号"
               v-if="columns[0].visible"
             >
+              <template slot-scope="scope">
+                {{
+                  (queryParams.pageNum - 1) * queryParams.pageSize +
+                  scope.$index +
+                  1
+                }}
+              </template>
             </el-table-column>
             <el-table-column
               header-align="center"
@@ -494,7 +501,7 @@ export default {
 </script>
 
 <style lang="scss" scoped>
-  .el-form--inline .el-form-item{
-    display: inline-flex;
-  }
+.el-form--inline .el-form-item {
+  display: inline-flex;
+}
 </style>

+ 2 - 1
src/views/resumptionEvaluate/evaluate/addEvaluate.vue

@@ -5,6 +5,7 @@
       :width="'500px'"
       :title="`${id ? '编辑' : '新增'}外包履职评价计划`"
       @close="closeHandler"
+      append-to-body
     >
       <el-form
         :model="ruleForm"
@@ -28,7 +29,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="编号" prop="code">
-          <el-input v-model.number="ruleForm.code"></el-input>
+          <el-input v-model.number="ruleForm.code" maxlength="15"></el-input>
         </el-form-item>
         <el-form-item label="评价内容" prop="content">
           <el-input type="textarea" v-model="ruleForm.content"></el-input>

+ 43 - 19
src/views/resumptionEvaluate/evaluate/editDialog.vue

@@ -11,7 +11,7 @@
           :model="formData"
           :rules="formDataRules"
           size="small"
-          ref="form"
+          ref="formData"
           label-position="right"
           label-width="130px"
           label-prefix=":"
@@ -94,7 +94,12 @@
             </el-col>
           </el-row>
         </el-form>
-        <el-button @click="openSelect" type="primary" style="margin-bottom: 10px;">新增评价内容</el-button>
+        <el-button
+          @click="openSelect"
+          type="primary"
+          style="margin-bottom: 10px"
+          >新增评价内容</el-button
+        >
 
         <el-table :data="tableData" style="width: 100%" height="400px">
           <el-table-column label="序号" type="index" width="100">
@@ -109,7 +114,12 @@
           </el-table-column>
           <el-table-column label="操作">
             <template v-slot="{ row }">
-              <el-button type="text" @click="removeRow(row)">移除</el-button>
+              <el-button
+                type="text"
+                @click="removeRow(row)"
+                v-if="row.code !== 0"
+                >移除</el-button
+              >
             </template>
           </el-table-column>
         </el-table>
@@ -119,12 +129,12 @@
         <el-button type="primary" @click="onSubmit">确定</el-button>
         <el-button @click="onHide">取消</el-button>
       </div>
+      <DialogSelect
+        ref="dialogEvaluate"
+        :orgType="formData.orgType"
+        @submitHandler="onSelect"
+      ></DialogSelect>
     </DialogCom>
-    <DialogSelect
-      ref="dialogEvaluate"
-      :orgType="formData.orgType"
-      @submitHandler="onSelect"
-    ></DialogSelect>
   </div>
 </template>
 
@@ -163,7 +173,14 @@ export default {
       ],
       id: null,
       isShow: false,
-      formData: {},
+      formData: {
+        evaluateName: "",
+        roleIds: [],
+        orgType: "",
+        evaluateCycle: "",
+        planStatus: "",
+        buildTaskNow:'',
+      },
       formDataRules: {
         evaluateName: [{ required: true, message: "请输入评价名称" }],
         roleIds: [
@@ -223,7 +240,7 @@ export default {
     onSelect(form) {
       let isAdd = false;
       let falg = false;
-      this.tableData?.forEach((item) => {
+      this.tableData.forEach((item) => {
         if (item.uid == form.uid) {
           Object.assign(item, form);
         } else {
@@ -284,9 +301,15 @@ export default {
     },
     // 事件
     onHide() {
-      this.$refs.form.resetFields();
+      this.$refs.formData.resetFields();
       this.isShow = false;
-      this.formData = {};
+      this.formData = {
+        evaluateName: "",
+        roleIds: [],
+        orgType: "",
+        evaluateCycle: "",
+        planStatus: "",
+      };
 
       this.tableData = [];
     },
@@ -295,28 +318,29 @@ export default {
       this.$refs.dialogEvaluate.show();
     },
     onSubmit() {
-      this.$refs.form.validate(async (isValidate) => {
+      this.$refs.formData.validate((isValidate) => {
         if (isValidate) {
           if (this.tableData.length == 0) {
             return this.$message.error("评价内容项,不能为空");
           }
-          if (falg) {
-            return this.$message.error(
-              "评价内容所有项,至少有一项评价类型为打分"
-            );
-          }
 
           let obj = {
             ...this.formData,
             coreEvaluateContentList: this.tableData,
           };
-          
+
           let falg = true;
+
           this.tableData.forEach((item) => {
             if (item.contentType == "2") {
               falg = false;
             }
           });
+          if (falg) {
+            return this.$message.error(
+              "评价内容所有项,至少有一项评价类型为打分"
+            );
+          }
           if (this.formData.id) {
             //编辑
 

+ 12 - 7
src/views/resumptionEvaluate/evaluate/index.vue

@@ -21,7 +21,6 @@
               size="small"
               :inline="true"
               v-show="showSearch"
-
             >
               <el-form-item label="外包评价名称" prop="evaluateName">
                 <el-input
@@ -83,7 +82,6 @@
                     </el-option>
                   </el-select>
                 </el-form-item>
-
               </el-form-item>
             </el-form>
 
@@ -98,7 +96,7 @@
                   >搜索</el-button
                 >
                 <el-button
-                type="primary"
+                  type="primary"
                   icon="el-icon-refresh"
                   size="mini"
                   @click="resetQuery"
@@ -112,7 +110,6 @@
                   v-hasPermi="['system:user:add']"
                   >新增</el-button
                 >
-
               </el-col>
             </el-row>
           </div>
@@ -157,7 +154,6 @@
               label="操作"
               width="200"
               fixed="right"
-
               class-name="small-padding fixed-width"
             >
               <template slot-scope="{ row }">
@@ -166,7 +162,11 @@
                   size="mini"
                   @click="publishHandler(row)"
                   type="text"
-                  :class="row.isDistribute == 0? 'el-icon-arrow-down':'el-icon-top-left'"
+                  :class="
+                    row.isDistribute == 0
+                      ? 'el-icon-arrow-down'
+                      : 'el-icon-top-left'
+                  "
                   >{{ row.isDistribute == "0" ? "" : "取消" }}发布</el-button
                 >
                 <el-button
@@ -345,8 +345,12 @@ export default {
       this.getList();
     },
     getRolesByOrg() {
+      if(!this.queryParams.orgType){
+        this.planRoles=[]
+        this.queryParams.roleId=[]
+      }
       let params = {
-        orgType: null,
+        orgType:this.queryParams.orgType|| null,
       };
       findAllRole(params).then((res) => {
         this.planRoles = res.data;
@@ -355,6 +359,7 @@ export default {
     cleanExecOrgList() {
       this.execOrgIds = null;
       this.queryParams.execOrgList = [];
+      this.getRolesByOrg();
     },
     handleRolesChange(val) {
       this.selectedValues = val.toString().split(",");

+ 11 - 7
src/views/resumptionEvaluate/evaluatePlan/index.vue

@@ -21,7 +21,7 @@
               size="small"
               :inline="true"
               v-show="showSearch" >
-              <el-form-item label="外包评价名称" prop="evaluateName">
+              <el-form-item label="外包评价名称" >
                 <el-input
                   :maxlength="20"
                   v-model="queryParams.evaluateName"
@@ -45,21 +45,22 @@
                 </el-select>
               </el-form-item>
 
-              <el-form-item>
-                <el-form-item prop="roleId" label="计划时间">
+            
+                <el-form-item  label="计划时间">
                   <el-date-picker
                     v-model="queryParams.dataTime"
                     type="daterange"
                     range-separator="至"
                     start-placeholder="开始日期"
                     end-placeholder="结束日期"
-                    format="yyyy-MM-DD"
-                    value-format="yyyy-MM-DD"
+                    value-format="yyyy-MM-dd"
+                    
+                    @change="changeHandler"
                   >
                   </el-date-picker>
                 </el-form-item>
                 
-              </el-form-item>
+            
             </el-form>
             <el-row :gutter="10" class="mb8">
               <el-col :span="1.5">
@@ -105,7 +106,7 @@
             <el-table-column label="计划开始时间" prop="startTime" />
             <el-table-column label="计划结束时间" prop="endTime" />
             <el-table-column label="评价人" prop="evaluateBy" />
-            <el-table-column label="评价时间" prop="evaluateName" />
+            <el-table-column label="评价时间" prop="completeTime" />
             <el-table-column
               label="状态"
               prop="status"
@@ -208,6 +209,9 @@ export default {
           break;
       }
     },
+    changeHandler(time){
+      console.log(time);
+    },
     //获取列表
     getList() {
       this.loading = true;

+ 232 - 0
src/views/safetyBook/dialog.des.vue

@@ -0,0 +1,232 @@
+<template>
+    <div class="rule-type">
+      <DialogCom
+        :title="id ? '安全责任书存档记录详情' : '新增安全责任书存档记录'"
+        :visible.sync="isShow"
+        @close="onHide"
+        width="800px"
+      >
+        <div class="page-body">
+          <el-form
+            :model="formData"
+            :rules="formDataRules"
+            size="small"
+            ref="form"
+            label-position="right"
+            label-width="180px"
+            label-prefix=":"
+          >
+            <el-form-item prop="orgName" label="签署人所在机构:" >
+                <el-input
+              :readonly="true"
+              v-model="formData.orgName"
+              :disabled="true"
+            ></el-input>
+              <!-- <tree-select
+                v-model="formData.orgId"
+                :options="deptOptions"
+                :show-count="true"
+                :normalizer="tenantIdnormalizer"
+                :props="{ checkStrictly: true, label: 'name' }"
+                placeholder="请选择签署人所在机构"
+              /> -->
+            </el-form-item>
+            <el-form-item label="所属年度" prop="year">
+                  <el-date-picker
+                  :disabled="true"
+                    v-model="formData.year"
+                    :clearable="timeClearable"
+                    type="year"
+                    placeholder="请选择责任书所属年度"
+                    value-format="yyyy"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+            <el-form-item prop="type" label="签署责任书类型:">
+              <el-select
+              :disabled="true"
+                v-model="formData.type"
+                style="width: 100%"
+                placeholder="请选择签署责任书类型"
+              >
+                <el-option
+                  v-for="dict in dict.type.safety_book_type"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="`${dict.value}`"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-form>
+          <el-button @click="openSelect" v-if="false">上传签署文件</el-button>
+  
+          <el-table :data="tableData" style="width: 100%;margin-top: 10px;" height="500px">
+            <el-table-column prop="names" label="签署人">
+              <template slot-scope="scope">
+                <template v-for="item in scope.row.names">
+                  {{ item }}
+                  <br />
+                </template>
+              </template>
+            </el-table-column>
+            <el-table-column prop="time" label="签署时间">
+                <template slot-scope="r">
+                {{
+                  r.row.time
+                    ? dayjs(r.row.time).format("YYYY年-MM月-DD日")
+                    : ""
+                }}
+              </template> </el-table-column>
+            <el-table-column prop="files" label="签署文件">
+              <template slot-scope="r">
+              <el-image
+                style="width: 50px; height: 50px"
+                :src="r.row.files"
+                :preview-src-list="[r.row.files]"
+              ></el-image>
+            </template>
+               </el-table-column>
+  
+            <el-table-column prop="names" label="操作" v-if="false">
+              <template v-slot="{ row }">
+                <el-button type="text" @click="removeRow(row)">删除</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+  
+        <div slot="footer" class="dialog-footer" style="margin-top: 10px;">
+          <el-button @click="isShow = false">确定</el-button>
+          <!-- <el-button type="primary" @click="onSubmit">确定</el-button> -->
+        </div>
+     </DialogCom>
+      <DialogSelect ref="DialogSelect" @success="getSign"></DialogSelect>
+    
+    </div>
+  </template>
+  
+  <script>
+  import { mapState, mapMutations } from "vuex";
+  import {
+    listSafetyBook,
+    getSafetyBook,
+    editOrAdd,
+    delSafetyBook,
+  } from "@/api/safetyBook/index";
+  import { deptTreeSelect } from "@/api/system/public";
+  import DialogSelect from "./dialog.sign";
+  import dayjs from "dayjs";
+  export default {
+    dicts: ["safety_book_type"],
+    data() {
+      return {
+        id: null,
+        isShow: false,
+        timeClearable: true,
+        formData: this.reset(),
+        tableData: [],
+        //修改新增中的机构树
+        deptOptions: [],
+        formDataRules: {
+          orgId: [{ required: true, message: "请选择签署责任人所在机构" }],
+          type: [{ required: true, message: "请选择签署责任书类型" }],
+          year: [{ required: true, message: "请选择所属年度" }],
+        },
+      };
+    },
+  
+    watch: {},
+    computed: {
+      ...mapState([]),
+    },
+    methods: {
+      ...mapMutations([]),
+      dayjs,
+      //添加签署后回调
+      getSign(data) {
+        this.tableData.push(data);
+        // console.log(data, "ddd");
+      },
+      //新增签署
+      openSelect() {
+        this.$refs.DialogSelect.show();
+      },
+      /** 查询机构树数据 */
+      getDeptTree() {
+        deptTreeSelect().then((response) => {
+          this.deptOptions = response.data;
+        });
+      },
+      /** treeSelect组件自定义数据*/
+      tenantIdnormalizer(node, instanceId) {
+        if (node.children && !node.children.length) {
+          delete node.children;
+        }
+        return {
+          id: node.id,
+          label: node.shortName,
+          children: node.children,
+        };
+      },
+      removeRow(row) {
+        this.tableData = this.tableData.filter((item) => item !== row);
+      },
+      reset() {
+        return {
+          id: null,
+          type: null,
+          year:null,
+        };
+      },
+      async refresh(id) {
+        if(id!=null&&id!=undefined){
+          await getSafetyBook(id).then((res) => {
+            // console.log(res.data,"res")
+            this.formData=res.data;
+            this.tableData=res.data.bookUsers;
+          });
+        }
+      },
+      async show(id) {
+        // console.log(id, "id");
+        this.getDeptTree();
+        this.formData=this.reset();
+        this.tableData=[];
+        this.id = id;
+        await this.refresh(id);
+        this.isShow = true;
+      },
+  
+      // 事件
+      onHide() {
+        this.formData = this.reset();
+        this.$refs.form.resetFields();
+      },
+      onSubmit() {
+        console.log(this.formData,"this.formData")
+        this.$refs.form.validate(async (isValidate) => {
+          if (!isValidate) return;
+          this.formData.bookUsers=this.tableData;
+          await editOrAdd(this.formData);
+          this.$emit("success");
+          this.isShow = false;
+        });
+      },
+  
+      // 事件
+      //apimark//
+    },
+    mounted() {},
+    components: { DialogSelect },
+  };
+  </script>
+  
+  <style lang="scss" scoped>
+  .brand_info {
+    .el-form {
+      width: 600px;
+      padding-top: 40px;
+    }
+  }
+  </style>
+  

+ 20 - 2
src/views/safetyBook/dialog.edit.vue

@@ -62,7 +62,15 @@
               </template>
             </template>
           </el-table-column>
-          <el-table-column prop="time" label="签署时间"> </el-table-column>
+          <el-table-column prop="time" label="签署时间"> 
+            <template slot-scope="r">
+                {{
+                  r.row.time
+                    ? dayjs(r.row.time).format("YYYY年-MM月-DD日")
+                    : ""
+                }}
+              </template> 
+          </el-table-column>
           <el-table-column prop="files" label="签署文件">
             <template slot-scope="r">
             <el-image
@@ -75,6 +83,7 @@
 
           <el-table-column prop="names" label="操作">
             <template v-slot="{ row }">
+              <el-button type="text" @click="editII(row)">编辑</el-button>
               <el-button type="text" @click="removeRow(row)">删除</el-button>
             </template>
           </el-table-column>
@@ -87,6 +96,7 @@
       </div>
    </DialogCom>
     <DialogSelect ref="DialogSelect" @success="getSign"></DialogSelect>
+  
   </div>
 </template>
 
@@ -100,12 +110,14 @@ import {
 } from "@/api/safetyBook/index";
 import { deptTreeSelect } from "@/api/system/public";
 import DialogSelect from "./dialog.sign";
+import dayjs from "dayjs";
 export default {
   dicts: ["safety_book_type"],
   data() {
     return {
       id: null,
       isShow: false,
+      timeClearable: true,
       formData: this.reset(),
       tableData: [],
       //修改新增中的机构树
@@ -124,11 +136,17 @@ export default {
   },
   methods: {
     ...mapMutations([]),
+    dayjs,
     //添加签署后回调
     getSign(data) {
       this.tableData.push(data);
       // console.log(data, "ddd");
     },
+    editII(row) {
+      
+      this.$refs.DialogSelect.show(row);
+      this.tableData = this.tableData.filter((item) => item !== row);
+    },
     //新增签署
     openSelect() {
       this.$refs.DialogSelect.show();
@@ -185,7 +203,7 @@ export default {
       this.$refs.form.resetFields();
     },
     onSubmit() {
-      console.log(this.formData,"this.formData")
+      // console.log(this.formData,"this.formData")
       this.$refs.form.validate(async (isValidate) => {
         if (!isValidate) return;
         this.formData.bookUsers=this.tableData;

+ 13 - 6
src/views/safetyBook/dialog.sign.vue

@@ -16,7 +16,7 @@
           label-width="130px"
           label-prefix=":"
         >
-          <el-form-item prop="userIds" label="姓名:">
+          <el-form-item prop="userIds" label="签署人:">
             <div>
             <el-input
               :readonly="true"
@@ -37,9 +37,9 @@
             </el-date-picker>
           </el-form-item>
           <el-col :xs="24" :sm="24" :md="24" :lg="24">
-            <el-form-item label="上传责任书" prop="files">
+            <el-form-item label="上传文件" prop="files">
               <imgs-upload
-                :limit="5"
+                :limit="10"
                 v-model="formData.files"
                 :fileSize="2"
               ></imgs-upload>
@@ -113,9 +113,16 @@ export default {
         names: [],
       };
     },
-    async show(id) {
-      this.formData= this.reset(),
-      this.id = id;
+    async show(row) {
+      console.log(row);
+      if(row!=undefined&&row!=null){
+        this.id = row.id;
+        this.formData=row;
+      }else{
+        this.formData= this.reset()
+      }
+      
+      // this.id = id;
       this.isShow = true;
     },
 

+ 238 - 0
src/views/safetyBook/hsggbsdj/dialog.des.vue

@@ -0,0 +1,238 @@
+<template>
+  <div class="rule-type">
+    <DialogCom
+      :title="id ? '高管工作部署会议记录详情' : '新增高管工作部署会议记录'"
+      :visible.sync="isShow"
+      @close="onHide"
+      width="700px"
+    >
+      <div class="page-body">
+        <el-form
+          :model="formData"
+          size="small"
+          ref="form"
+          label-position="right"
+          label-width="130px"
+          label-prefix=":"
+        >
+          <el-form-item prop="orgId" label="行社名称:">
+            <el-input
+              :readonly="true"
+              v-model="formData.orgName"
+              :disabled="true"
+            ></el-input>
+          </el-form-item>
+          <el-form-item prop="title" label="会议主题:">
+            <el-input
+              :disabled="true"
+              style="width: 100%; margin-bottom: 20px"
+              v-model="formData.title"
+              placeholder="请输入会议主题"
+            ></el-input>
+          </el-form-item>
+
+          <el-form-item prop="date" label="会议日期:">
+            <el-date-picker
+              :disabled="true"
+              v-model="formData.date"
+              style="width: 240px"
+              value-format="yyyy-MM-dd"
+              placeholder="请选择会议日期"
+              type="date"
+              :clearable="false"
+            ></el-date-picker>
+          </el-form-item>
+          <el-form-item prop="userIds" label="主持人:">
+            <div>
+              <el-input
+                :disabled="true"
+                :readonly="true"
+                v-model="joinedStringArray"
+                placeholder="点击选择"
+              ></el-input>
+              <el-button @click="selectUser" v-if="false">选择</el-button>
+            </div>
+          </el-form-item>
+          <el-form-item prop="title" label="参会人员:">
+            <el-input
+              :disabled="true"
+              style="width: 100%; margin-bottom: 20px"
+              v-model="formData.joinNames"
+              placeholder="请输入参会人员"
+            ></el-input>
+          </el-form-item>
+          <el-form-item
+            label="附件(包含不限于会议照片,会议通知等)"
+            prop="images"
+          >
+            <imgs-upload
+              :limit="5"
+              v-model="formData.images"
+              :fileSize="2"
+            ></imgs-upload>
+          </el-form-item>
+          <div>
+            <el-form-item label="会议重点" prop="content">
+              <!-- <Editor style="height: 150px" v-model="formData.content"></Editor> -->
+              <el-input type="textarea" v-model="formData.content" rows="6" :autosize="{ minRows: 6, maxRows: 10 }"></el-input>
+            </el-form-item>
+          </div>
+        </el-form>
+      </div>
+
+      <div style="margin-top: 100px" slot="footer" class="dialog-footer">
+        <el-button @click="isShow = false">确定</el-button>
+        <!-- <el-button type="primary" @click="onSubmit">确定</el-button> -->
+        
+      </div>
+    </DialogCom>
+    <UserSelector ref="UserSelector" @select="onUserSelect"></UserSelector>
+  </div>
+</template>
+
+<script>
+import { mapState, mapMutations } from "vuex";
+import { Add, edit, gethsggbsdj } from "@/api/safetyBook/hsggbsdj";
+import { deptTreeSelect } from "@/api/system/public";
+import UserSelector from "@/components/userSelector/index.vue";
+import ImgsUpload from "@/components/ImgsUpload";
+import Editor from "@/components/Editor";
+export default {
+  components: { UserSelector, ImgsUpload, Editor },
+  data() {
+    return {
+      id: null,
+      isShow: false,
+      formData: this.reset(),
+      //修改新增中的机构树
+      deptOptions: [],
+      formDataRules: {
+        userIds: [{ required: true, message: "请选择主持人" }],
+        date: [{ required: true, message: "请选择开会日期" }],
+        images: [{ required: true, message: "请选择照片" }],
+        content: [{ required: true, message: "请输入内容" }],
+        title: [{ required: true, message: "请输入主题" }],
+        orgId: [{ required: true, message: "请选择行社" }],
+        joinNames: [{ required: true, message: "请输入参会人员" }],
+      },
+    };
+  },
+
+  watch: {},
+  computed: {
+    ...mapState([]),
+    joinedStringArray: {
+      get() {
+        if (this.formData.names == null || this.formData.names == undefined) {
+          this.formData.names = this.formData.userNames.split(", ");
+        }
+        return this.formData.names.join(", ");
+      },
+      set(value) {
+        this.formData.names = value.split(", ");
+      },
+    },
+  },
+  methods: {
+    ...mapMutations([]),
+
+    /** 查询机构树数据 */
+    getDeptTree() {
+      deptTreeSelect().then((response) => {
+        this.deptOptions = response.data;
+      });
+    },
+    /** treeSelect组件自定义数据*/
+    tenantIdnormalizer(node, instanceId) {
+      if (node.children && !node.children.length) {
+        delete node.children;
+      }
+      return {
+        id: node.id,
+        label: node.shortName,
+        children: node.children,
+      };
+    },
+
+    reset() {
+      return {
+        id: null,
+        names: [],
+        userIds: [],
+        date: null,
+        images: [],
+        content: null,
+        title: null,
+        joinNames: null,
+        orgId: null,
+      };
+    },
+    async refresh(id) {
+      if (id != null && id != undefined) {
+        await gethsggbsdj(id).then((res) => {
+          this.formData.names = res.data.userNames.split(",");
+          this.formData = res.data;
+        });
+      }
+    },
+    async show(id) {
+      // console.log(id, "id");
+      this.getDeptTree();
+      this.formData = this.reset();
+      this.id = id;
+      await this.refresh(id);
+      this.isShow = true;
+    },
+
+    // 事件
+    onHide() {
+      this.formData = this.reset();
+      this.$refs.form.resetFields();
+    },
+    onSubmit() {
+      console.log(this.formData, "this.formData");
+      this.$refs.form.validate(async (isValidate) => {
+        if (!isValidate) return;
+        if (this.id == null || this.id == undefined) {
+          await Add(this.formData).then((res) => {
+            this.$emit("success");
+            this.isShow = false;
+          });
+        } else {
+          await edit(this.formData).then((res) => {
+            this.$emit("success");
+            this.isShow = false;
+          });
+        }
+      });
+    },
+    //选择用户回调
+    onUserSelect(data) {
+      var ids = data.map((obj) => obj.id);
+      var names = data.map((obj) => obj.name);
+      this.formData.userIds = ids;
+      this.formData.names = names;
+      this.formData.userNames = names.join(",");
+      //   console.log(this.formData.userIds, "this.formData.userIds");
+    },
+    //用户选择
+    selectUser(event) {
+      //   event.preventDefault();
+      this.$refs.UserSelector.show();
+    },
+
+    // 事件
+    //apimark//
+  },
+  mounted() {},
+};
+</script>
+
+<style lang="scss" scoped>
+.brand_info {
+  .el-form {
+    width: 600px;
+    padding-top: 40px;
+  }
+}
+</style>

+ 39 - 18
src/views/safetyBook/hsggbsdj/dialog.edit.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="rule-type">
     <DialogCom
-      :title="id ? '编辑行社高管部署登记' : '新增行社高管部署登记'"
+      :title="id ? '编辑高管工作部署会议记录' : '新增高管工作部署会议记录'"
       :visible.sync="isShow"
       @close="onHide"
       width="700px"
@@ -16,14 +16,35 @@
           label-width="130px"
           label-prefix=":"
         >
-          <el-form-item prop="title" label="工作主题:">
+        <el-form-item prop="orgId" label="行社名称:">
+            <tree-select
+              v-model="formData.orgId"
+              :options="deptOptions"
+              :show-count="true"
+              :normalizer="tenantIdnormalizer"
+              :props="{ checkStrictly: true, label: 'name' }"
+              placeholder="请选择行社名称"
+            />
+          </el-form-item>
+          <el-form-item prop="title" label="会议主题:">
             <el-input
               style="width: 100%; margin-bottom: 20px"
               v-model="formData.title"
-              placeholder="请输入工作主题"
+              placeholder="请输入会议主题"
             ></el-input>
           </el-form-item>
-          <el-form-item prop="userIds" label="参与人员:">
+
+          <el-form-item prop="date" label="会议日期:">
+            <el-date-picker
+              v-model="formData.date"
+              style="width: 240px"
+              value-format="yyyy-MM-dd"
+              placeholder="请选择会议日期"
+              type="date"
+              :clearable="false"
+            ></el-date-picker>
+          </el-form-item>
+          <el-form-item prop="userIds" label="主持人:">
             <div>
               <el-input
                 :readonly="true"
@@ -33,18 +54,14 @@
               <el-button @click="selectUser">选择</el-button>
             </div>
           </el-form-item>
-          <el-form-item prop="date" label="开会日期:">
-            <el-date-picker
-              v-model="formData.date"
-              style="width: 240px"
-              value-format="yyyy-MM-dd hh:mm:ss"
-              placeholder="请选择开会日期"
-              type="datetime"
-              :clearable="false"
-            ></el-date-picker>
+          <el-form-item prop="joinNames" label="参会人员:">
+            <el-input
+              style="width: 100%; margin-bottom: 20px"
+              v-model="formData.joinNames"
+              placeholder="请输入参会人员"
+            ></el-input>
           </el-form-item>
-
-          <el-form-item label="照片" prop="images">
+          <el-form-item label="上传附件(包含不限于会议照片,会议通知等)" prop="images">
             <imgs-upload
               :limit="5"
               v-model="formData.images"
@@ -52,7 +69,7 @@
             ></imgs-upload>
           </el-form-item>
           <div>
-            <el-form-item label="内容" prop="content">
+            <el-form-item label="会议重点" prop="content">
               <Editor style="height: 150px" v-model="formData.content"></Editor>
             </el-form-item>
           </div>
@@ -85,11 +102,13 @@ export default {
       //修改新增中的机构树
       deptOptions: [],
       formDataRules: {
-        userIds: [{ required: true, message: "请选择参与人员" }],
+        userIds: [{ required: true, message: "请选择主持人" }],
         date: [{ required: true, message: "请选择开会日期" }],
         images: [{ required: true, message: "请选择照片" }],
         content: [{ required: true, message: "请输入内容" }],
-        title: [{ required: true, message: "请输入内容" }],
+        title: [{ required: true, message: "请输入主题" }],
+        orgId: [{ required: true, message: "请选择行社" }],
+        joinNames: [{ required: true, message: "请输入参会人员" }],
       },
     };
   },
@@ -139,6 +158,8 @@ export default {
         images: [],
         content: null,
         title: null,
+        joinNames:null,
+        orgId:null,
       };
     },
     async refresh(id) {

+ 180 - 108
src/views/safetyBook/hsggbsdj/index.vue

@@ -1,8 +1,7 @@
 <template>
   <div class="app-container">
-    <el-row :gutter="20">
-      <!--机构数据-->
-      <el-col :span="4" :xs="24" v-if="false">
+    <!--机构数据-->
+    <!-- <el-col :span="4" :xs="24" v-if="false">
         <org-tree
           v-model="queryParams.orgId"
           @defaultKey="getDefaultKey"
@@ -10,33 +9,83 @@
           @click="clickTreeNode"
           wholeTree
         ></org-tree>
-      </el-col>
-      <!--用户数据-->
-      <el-col :span="24" :xs="24">
+      </el-col> -->
+    <!--用户数据-->
+    <div class="main-right-box">
+      <!--    搜索条件    -->
+      <div class="main-search-box">
         <el-form
           :model="queryParams"
           ref="queryForm"
           size="small"
           :inline="true"
           v-show="showSearch"
-          label-width="68px"
         >
-          <el-form-item label="所属年份" prop="year" v-if="false">
-            <el-date-picker
-              v-model="queryParams.year"
-              :clearable="timeClearable"
-              type="year"
-              placeholder="选择时间"
-              value-format="yyyy"
-              @change="handleQuery"
-            >
-            </el-date-picker>
-          </el-form-item>
+          <el-row :gutter="50">
+            <el-col :span="6" :xs="14">
+              <el-form-item prop="title" label="会议主题">
+                <el-input
+                  v-model="queryParams.title"
+                  :maxlength="50"
+                  name="title"
+                  placeholder="请输入工作主题关键字"
+                  clearable
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8" :xs="24">
+              <el-form-item label="会议时间" prop="range">
+                <DataRangePicker
+                  type="daterange"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  :default-time="['00:00:00', '23:59:59']"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期"
+                  v-model="queryParams.range"
+                >
+                </DataRangePicker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6" :xs="24">
+              <el-form-item label="组织机构" prop="orgId" class="formTreeItem">
+                <tree-select
+                  v-model="queryParams.orgId"
+                  :options="deptOptions"
+                  :show-count="true"
+                  :normalizer="tenantIdnormalizer"
+                  :props="{ checkStrictly: true, label: 'name' }"
+                  placeholder="请选择组织机构"
+                  clearValueText="清除"
+                  :noChildrenText="''"
+                  noOptionsText="没有数据"
+                  noResultsText="没有搜索结果"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
         </el-form>
         <el-row :gutter="10" class="mb8">
           <el-col :span="1.5">
             <el-button
               type="primary"
+              icon="el-icon-search"
+              size="mini"
+              @click="getList"
+              >搜索</el-button
+            >
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="primary"
+              icon="el-icon-refresh"
+              size="mini"
+              @click="resetQuery"
+              >重置</el-button
+            >
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="primary"
               icon="el-icon-plus"
               size="mini"
               @click="handleAdd(null)"
@@ -50,92 +99,97 @@
             @queryTable="getList"
           ></right-toolbar>
         </el-row>
-        <!-- 表格数据 -->
-        <el-table
-          border
-          height="600"
-          size="small"
-          v-loading="loading"
-          :data="dataList"
+      </div>
+      <!-- 表格数据 -->
+      <el-table
+        border
+        height="600"
+        size="small"
+        v-loading="loading"
+        :data="dataList"
+      >
+        <el-table-column label="序号" type="index" align="center" width="60" />
+        <el-table-column
+          label="行社名称"
+          align="left"
+          header-align="center"
+          width="300"
+          prop="orgName"
+        />
+        <el-table-column
+          label="会议主题"
+          align="left"
+          header-align="center"
+          width="300"
+          prop="title"
+        />
+        <el-table-column
+          label="会议日期"
+          align="left"
+          header-align="center"
+          width="260"
+          prop="date"
         >
-          <el-table-column
-            label="序号"
-            type="index"
-            align="center"
-            width="60"
-          />
-          <el-table-column
-            label="工作主题"
-            align="left"
-            header-align="center"
-            width="300"
-            prop="title"
-          />
-          <el-table-column label="参与人" align="center" prop="userNames">
-          </el-table-column>
-          <el-table-column
-            label="开会日期"
-            align="left"
-            header-align="center"
-            width="260"
-            prop="date"
-          >
-          </el-table-column>
+        </el-table-column>
+        <el-table-column label="参会人员" align="center" prop="joinNames">
+        </el-table-column>
 
-          <el-table-column
-            label="操作"
-            width="240"
-            fixed="right"
-            align="center"
-            class-name="small-padding fixed-width"
-          >
-            <template slot-scope="scope">
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-view"
-                @click="showImages(scope.row.images)"
-                v-hasPermi="['core:hsggbsdj:query']"
-                >查看照片
-              </el-button>
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-edit-outline"
-                @click="handleAdd(scope.row.id)"
-                v-hasPermi="['core:hsggbsdj:edit']"
-                >编辑
-              </el-button>
-              <!-- <el-button
+
+        <el-table-column
+          label="操作"
+          width="240"
+          fixed="right"
+          align="center"
+          class-name="small-padding fixed-width"
+        >
+          <template slot-scope="scope">
+            <!-- <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-view"
+              @click="showImages(scope.row.images)"
+              v-hasPermi="['core:hsggbsdj:query']"
+              >查看照片
+            </el-button> -->
+            <el-button
                 size="mini"
                 type="text"
                 icon="el-icon-info"
-                @click="handleInfo(scope.row)"
+                @click="handleInfo(scope.row.id)"
                 v-hasPermi="['core:hsggbsdj:query']"
-                >内容详情
-              </el-button> -->
-              <el-button
-                size="mini"
-                type="text"
-                icon="el-icon-delete"
-                @click="handleDelete(scope.row)"
-                v-hasPermi="['core:hsggbsdj:remove']"
-                >删除
+                >详情
               </el-button>
-            </template>
-          </el-table-column>
-        </el-table>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-edit-outline"
+              @click="handleAdd(scope.row.id)"
+              v-hasPermi="['core:hsggbsdj:edit']"
+              >编辑
+            </el-button>
+           
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-delete"
+              @click="handleDelete(scope.row)"
+              v-hasPermi="['core:hsggbsdj:remove']"
+              >删除
+            </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
 
-        <pagination
-          v-show="total > 0"
-          :total="total"
-          :page.sync="queryParams.pageNum"
-          :limit.sync="queryParams.pageSize"
-          @pagination="getList"
-        />
-      </el-col>
-    </el-row>
+      <pagination
+        v-show="total > 0"
+        :total="total"
+        :page.sync="queryParams.pageNum"
+        :limit.sync="queryParams.pageSize"
+        @pagination="getList"
+      />
+    </div>
     <dialog-edit ref="editDialog" @success="getList()"></dialog-edit>
+    <dialog-des ref="desDialog"></dialog-des>
     <el-image-viewer
       v-if="imageViewer"
       :on-close="closeImgViewer"
@@ -154,13 +208,14 @@ import {
 } from "@/api/safetyBook/hsggbsdj";
 import { getLabel } from "@/views/commonOption";
 import DialogEdit from "./dialog.edit";
+import DialogDes from "./dialog.des";
 import { deptTreeSelect } from "@/api/system/public";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import OrgTree from "@/components/orgTree/index.vue";
 import kOrgTree from "@/components/k-orgTree/index.vue";
 import KFileUpload from "@/components/K-FileUpload/index.vue";
 import tableList from "@/mixins/tableList";
-
+import DataRangePicker from "@/components/dateTime/daterange.picker.vue";
 export default {
   dicts: ["safety_book_type"],
   name: "hsggbsdj",
@@ -169,6 +224,8 @@ export default {
     kOrgTree,
     KFileUpload,
     DialogEdit,
+    DataRangePicker,
+    DialogDes,
     "el-image-viewer": () =>
       import("element-ui/packages/image/src/image-viewer"),
   },
@@ -194,7 +251,7 @@ export default {
       // 是否显示弹出层
       open: false,
       // 机构树选项
-      deptOptions: undefined,
+      deptOptions: [],
       // 机构名称
       deptName: undefined,
       //是否关联下级
@@ -211,8 +268,9 @@ export default {
         pageNum: 1,
         pageSize: 10,
         orgId: null,
-        year: null,
         searchOrgId: null,
+        range:[],
+        title:null,
       },
       // 表单参数
       form: {},
@@ -236,6 +294,21 @@ export default {
     this.getList();
   },
   methods: {
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.getList();
+    },
+    /** treeSelect组件自定义数据*/
+    tenantIdnormalizer(node, instanceId) {
+      if (node.children && !node.children.length) {
+        delete node.children;
+      }
+      return {
+        id: node.id,
+        label: node.shortName,
+        children: node.children,
+      };
+    },
     showImages(file) {
       let array = file.split(",");
       this.srcList = array;
@@ -319,22 +392,21 @@ export default {
     },
 
     /** 详情按钮操作 */
-    handleInfo(row) {
-      this.reset();
-      const id = row.id || this.ids;
-      gethsggbsdj(id).then((response) => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "行社高管部署登记详情";
-      });
-    },
+    handleInfo(id) {
+      this.$refs.desDialog.show(id);
+  },
   },
 };
 </script>
-<style>
+<style lang="scss" scoped>
 .ellipsis {
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
 }
+::v-deep.formTreeItem {
+  .el-form-item__content {
+    width: 264px;
+  }
+}
 </style>

+ 46 - 34
src/views/safetyBook/index.vue

@@ -73,23 +73,23 @@
 
         <el-row :gutter="10" class="mb8">
           <el-col :span="1.5">
-                <el-button
-                  type="primary"
-                  icon="el-icon-search"
-                  size="mini"
-                  @click="getList"
-                  >搜索</el-button
-                >
-              </el-col>
-              <el-col :span="1.5">
-                <el-button
-                  type="primary"
-                  icon="el-icon-refresh"
-                  size="mini"
-                  @click="resetQuery"
-                  >重置</el-button
-                >
-              </el-col>
+            <el-button
+              type="primary"
+              icon="el-icon-search"
+              size="mini"
+              @click="getList"
+              >搜索</el-button
+            >
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="primary"
+              icon="el-icon-refresh"
+              size="mini"
+              @click="resetQuery"
+              >重置</el-button
+            >
+          </el-col>
           <el-col :span="1.5">
             <el-button
               type="primary"
@@ -133,7 +133,12 @@
           width="200"
           prop="year"
         />
-        <el-table-column v-if="false" label="签署人" align="center" prop="userName">
+        <el-table-column
+          v-if="false"
+          label="签署人"
+          align="center"
+          prop="userName"
+        >
         </el-table-column>
         <el-table-column label="签署时间" align="center" prop="createTime" />
 
@@ -145,11 +150,11 @@
           class-name="small-padding fixed-width"
         >
           <template slot-scope="scope">
-             <el-button
+            <el-button
               size="mini"
               type="text"
               icon="el-icon-info"
-              @click="handleInfo(scope.row)"
+              @click="handleInfo(scope.row.id)"
               v-hasPermi="['core:book:query']"
               >详情
             </el-button>
@@ -161,7 +166,7 @@
               v-hasPermi="['core:book:add']"
               >编辑
             </el-button>
-           
+
             <el-button
               size="mini"
               type="text"
@@ -183,6 +188,7 @@
       />
     </div>
     <dialog-edit ref="editDialog" @success="getList()"></dialog-edit>
+    <DialogDes ref="DialogDes"></DialogDes>
   </div>
 </template>
 
@@ -195,6 +201,7 @@ import {
 } from "@/api/safetyBook/index";
 import { getLabel } from "@/views/commonOption";
 import DialogEdit from "./dialog.edit";
+import DialogDes from "./dialog.des";
 import { deptTreeSelect } from "@/api/system/public";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import OrgTree from "@/components/orgTree/index.vue";
@@ -205,7 +212,14 @@ import orgTree from "@/components/orgTree";
 export default {
   dicts: ["safety_book_type"],
   name: "safetyBook",
-  components: { OrgTree, kOrgTree, KFileUpload, DialogEdit, orgTree },
+  components: {
+    OrgTree,
+    kOrgTree,
+    KFileUpload,
+    DialogEdit,
+    orgTree,
+    DialogDes,
+  },
   mixins: [tableList],
   data() {
     return {
@@ -247,7 +261,7 @@ export default {
         orgId: null,
         year: null,
         searchOrgId: null,
-        type:null,
+        type: null,
       },
       // 表单参数
       form: {},
@@ -270,6 +284,10 @@ export default {
     this.getList();
   },
   methods: {
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.getList();
+    },
     getLabel(options, value) {
       return getLabel(options, value);
     },
@@ -344,14 +362,8 @@ export default {
     },
 
     /** 详情按钮操作 */
-    handleInfo(row) {
-      this.reset();
-      const id = row.id || this.ids;
-      getSafetyBook(id).then((response) => {
-        this.form = response.data;
-        this.open = true;
-        this.title = "安全责任书详情";
-      });
+    handleInfo(id) {
+      this.$refs.DialogDes.show(id);
     },
     /** treeSelect组件自定义数据*/
     tenantIdnormalizer(node, instanceId) {
@@ -374,8 +386,8 @@ export default {
   text-overflow: ellipsis;
 }
 ::v-deep.formTreeItem {
-    .el-form-item__content {
-      width: 264px;
-    }
+  .el-form-item__content {
+    width: 264px;
   }
+}
 </style>

+ 11 - 1
src/views/safetycheck/rule/index.vue

@@ -100,7 +100,15 @@
               label="序号"
               width="60"
               v-if="columns[0].visible"
-            ></el-table-column>
+            >
+            <template slot-scope="scope">
+              {{
+                (queryParams.pageNum - 1) * queryParams.pageSize +
+                scope.$index +
+                1
+              }}
+            </template>
+          </el-table-column>
             <el-table-column
               header-align="center"
               prop="name"
@@ -156,6 +164,7 @@
                   type="text"
                   icon="el-icon-edit-outline"
                   @click="onManageContent(r.row.id)"
+                  v-if="r.row.status==0"
                   v-hasPermi="['safetycheck:rule:contentmanage']"
                   >管理内容库</el-button
                 >
@@ -270,6 +279,7 @@ export default {
     getList() {
       this.loading = true;
       console.info(this.dict.type);
+      this.pageData=[]
       api
         .list(this.queryParams)
         .then((response) => {

+ 17 - 8
src/views/safetycheck/ruleManager/index.vue

@@ -22,8 +22,8 @@
         <div class="main-right-box">
           <!--    搜索条件    -->
           <div class="main-search-box" v-show="showSearch && rule">
-            <div style="padding-bottom:10px;font-weight: 700;">
-              {{rule.name}}
+            <div style="padding-bottom: 10px; font-weight: 700">
+              {{ rule.name }}
             </div>
             <el-form
               :model="queryParams"
@@ -106,7 +106,7 @@
             v-if="fresh"
             style="width: 100%"
             v-loading="loading"
-            height="640"
+            height="600"
           >
             <el-table-column header-align="center" type="expand">
               <template slot-scope="props">
@@ -141,6 +141,13 @@
               width="80"
               v-if="columns[0].visible"
             >
+              <template slot-scope="scope">
+                {{
+                  (queryParams.pageNum - 1) * queryParams.pageSize +
+                  scope.$index +
+                  1
+                }}
+              </template>
             </el-table-column>
             <el-table-column
               header-align="center"
@@ -322,11 +329,13 @@ export default {
         return;
       }
       this.loading = true;
-      const data = await page(this.queryParams);
-      this.tableData = data.rows;
-      this.total = Number.parseInt(data.total);
-      this.expandAll = false;
-      this.loading = false;
+      this.tableData = [];
+      const data = await page(this.queryParams).then((data) => {
+        this.tableData = data.rows;
+        this.total = Number.parseInt(data.total);
+        this.expandAll = false;
+        this.loading = false;
+      });
     },
     clicktreenode(data, node) {
       this.tableData = [];

+ 11 - 11
src/views/safetycheck/taskManager/components/checkRegister.vue

@@ -127,17 +127,6 @@
                       maxlength="255"
                     ></el-input>
                   </el-form-item>
-                  <el-form-item label="异常图片" prop="image">
-                    <imgUpload
-                      type="more"
-                      :value="
-                        point.imgData
-                          ? point.imgData.map((d) => d.imgPath).join(',')
-                          : ''
-                      "
-                      @input="onImageChanged(point, $event)"
-                    ></imgUpload>
-                  </el-form-item>
                   <el-form-item label="整改期限" prop="rectificationDeadline">
                     <el-select
                       v-model="point.rectificationDeadline"
@@ -151,6 +140,17 @@
                       ></el-option>
                     </el-select>
                   </el-form-item>
+                  <el-form-item label="异常图片" prop="image">
+                    <imgUpload
+                      type="more"
+                      :value="
+                        point.imgData
+                          ? point.imgData.map((d) => d.imgPath).join(',')
+                          : ''
+                      "
+                      @input="onImageChanged(point, $event)"
+                    ></imgUpload>
+                  </el-form-item>                  
                 </el-form>
               </div>
             </div>