Răsfoiți Sursa

Merge branch 'V0.0.5' of http://10.87.21.221:8000/jzyd_yyds/soc_web into V0.0.5

luowei 1 an în urmă
părinte
comite
c106ba9a74
31 a modificat fișierele cu 477 adăugiri și 466 ștergeri
  1. 10 2
      .env.development
  2. 3 2
      package.json
  3. 4 4
      src/api/safetycheck/plan.js
  4. 4 0
      src/assets/styles/ruoyi.scss
  5. 11 5
      src/components/ImageListPreview/index.vue
  6. 4 2
      src/components/K-FileUpload/index.vue
  7. 1 0
      src/store/modules/user.js
  8. 4 5
      src/views/core/accessPlan/index.vue
  9. 11 2
      src/views/core/drill/plan/index.vue
  10. 2 2
      src/views/core/drill/task/index.vue
  11. 11 1
      src/views/core/edu/plan/index.vue
  12. 2 2
      src/views/core/edu/task/index.vue
  13. 88 111
      src/views/core/outIn/approve/dialog.approve.letter.detail.vue
  14. 1 0
      src/views/core/outIn/approve/index.vue
  15. 138 102
      src/views/core/outIn/letter/dialog.letter.detail.vue
  16. 4 98
      src/views/core/outIn/outInLog/dialog.outIn.detail.vue
  17. 3 2
      src/views/core/outIn/outInLog/index.vue
  18. 2 2
      src/views/core/task/dialog.info.vue
  19. 4 2
      src/views/core/task/index.vue
  20. 1 3
      src/views/resumption/plan/dialog.edit.vue
  21. 8 2
      src/views/resumption/plan/index.vue
  22. 1 0
      src/views/resumptionEvaluate/evaluate/index.vue
  23. 6 6
      src/views/safetyBook/newBook/dialog.des.vue
  24. 45 48
      src/views/safetycheck/plan/dialog.edit.vue
  25. 7 5
      src/views/safetycheck/plan/distribute.vue
  26. 86 44
      src/views/safetycheck/plan/index.vue
  27. 1 1
      src/views/safetycheck/ruleManager/dialog.select.point.vue
  28. 6 5
      src/views/safetycheck/task/index.vue
  29. 3 3
      src/views/system/dept/extend.vue
  30. 1 1
      src/views/system/dept/index.vue
  31. 5 4
      src/views/system/workTimeSet/workTimeWeek.vue

+ 10 - 2
.env.development

@@ -6,11 +6,19 @@ ENV = 'development'
 
 # 开发环境
 #测试地址
-VUE_APP_BASE_API = 'http://47.92.229.224:8080'
+<<<<<<< HEAD
+#VUE_APP_BASE_API = 'http://47.92.229.224:8080'
 #罗俊
 #VUE_APP_BASE_API = 'http://10.87.21.60:8080'
 #罗伟
-#  VUE_APP_BASE_API = 'http://10.87.23.62:8080'
+  VUE_APP_BASE_API = 'http://10.87.23.62:8080'
+=======
+# VUE_APP_BASE_API = 'http://47.92.229.224:8080'
+#罗俊
+#VUE_APP_BASE_API = 'http://10.87.21.60:8080'
+#罗伟
+ VUE_APP_BASE_API = 'http://10.87.23.62:8080'
+>>>>>>> d909b77fe3593021b73d72d6276f6df848c73f8a
 #高雄
 #VUE_APP_BASE_API = 'http://10.87.11.94:8080'
 #景远超

+ 3 - 2
package.json

@@ -40,24 +40,24 @@
     "@riophae/vue-treeselect": "0.4.0",
     "axios": "0.24.0",
     "clipboard": "2.0.8",
-    "core-js": "^3.34.0",
     "core.js": "^0.4.2",
     "dayjs": "^1.11.9",
     "echarts": "5.4.0",
     "element-ui": "2.15.12",
     "file-saver": "2.0.5",
     "fuse.js": "6.4.3",
+    "gm-crypt": "0.0.2",
     "highlight.js": "10.7.3",
     "js-beautify": "1.13.0",
     "js-cookie": "3.0.1",
     "jsencrypt": "3.0.0-rc.1",
+    "moment": "^2.29.4",
     "node-polyfill-webpack-plugin": "^3.0.0",
     "nprogress": "0.2.0",
     "quill": "1.3.7",
     "screenfull": "5.0.2",
     "sortablejs": "1.10.2",
     "vue": "2.6.12",
-    "gm-crypt": "0.0.2",
     "vue-count-to": "1.0.13",
     "vue-cropper": "0.5.5",
     "vue-meta": "2.4.0",
@@ -73,6 +73,7 @@
     "chalk": "4.1.0",
     "compression-webpack-plugin": "5.0.2",
     "connect": "3.6.6",
+    "core-js": "^3.34.0",
     "html-webpack-plugin": "^5.5.3",
     "lint-staged": "10.5.3",
     "runjs": "4.4.2",

+ 4 - 4
src/api/safetycheck/plan.js

@@ -16,9 +16,9 @@ export function cheHui(id) {
   })
 }
 // 查询【请填写功能名称】详细
-export function distributeHS(id) {
+export function distributeSingle(id,immediate) {
   return request({
-    url: '/core/checkplan/distributehs/' + id,
+    url: `/core/checkplan/distributesingle/${id}/${immediate}`,
     method: 'get'
   })
 }
@@ -30,9 +30,9 @@ export function itemfind(id) {
   })
 }
 // 查询【请填写功能名称】详细
-export function distribute(query) {
+export function distribute(query,immediate) {
   return request({
-    url: '/core/checkplan/distribute' ,
+    url: '/core/checkplan/distribute/'+immediate ,
     method: 'post',
     data: query
   })

+ 4 - 0
src/assets/styles/ruoyi.scss

@@ -389,6 +389,10 @@
        }
      }
    }
+   .el-table{
+	box-shadow: none !important;
+
+   }
  }
  .vue-treeselect__single-value{
    align-items: center;

+ 11 - 5
src/components/ImageListPreview/index.vue

@@ -30,10 +30,11 @@
         </div>
       </div>
   </div>
-   </div> 
+   </div>
 </template>
 
 <script>
+import {imageUrl} from "@/utils/ruoyi";
 export default {
   name: "ImageListPreview",
   data() {
@@ -48,10 +49,15 @@ export default {
       handler(newVal) {
         if(newVal){
         const list = Array.isArray(newVal) ? newVal : this.value.split(",");
-        this.fileList = list.map((url) => ({ name: url, url }));
-        this.previewSrcList=list.map((url) => url);
-        console.log("this.fileList",this.fileList,this.previewSrcList);
-      }        
+        this.fileList = list.map((url) => (
+          {
+            name: url,
+            url :url.indexOf('http') > -1 ?   url : imageUrl(url),
+          }
+        ));
+        this.previewSrcList = this.fileList.map((img) => img.url);
+        console.log("fileList",this.fileList,this.previewSrcList);
+      }
         else{
           this.fileList =[];
           this.previewSrcList=[];

+ 4 - 2
src/components/K-FileUpload/index.vue

@@ -32,7 +32,7 @@
     <!-- 详情页面显示列表 -->
     <transition-group v-if="!isShowUploadBtn" class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear" tag="ul">
       <li :key="file.url" class="el-upload-list__item ele-upload-list__item-content" v-for="(file) in fileList">
-        <el-link :href="file.url" :underline="false" target="_blank">
+        <el-link :href="file.url.indexOf('http') > -1? file.url: imageUrl(file.url)" :underline="false" target="_blank">
           <span class="el-icon-document"> {{ file.name }} </span>
         </el-link>
       </li>
@@ -43,6 +43,7 @@
 <script>
 import { getToken } from "@/utils/auth";
 import { upload } from "@/api/system/public";
+import {imageUrl} from "@/utils/ruoyi";
 
 export default {
   name: "K-FileUpload",
@@ -149,6 +150,7 @@ export default {
     },
   },
   methods: {
+    imageUrl,
 
     getAcceptByFileType()
     {
@@ -309,7 +311,7 @@ export default {
       clearFiles(){
         if(this.$refs["fileUpload"])
           this.$refs["fileUpload"].clearFiles();
-        
+
         this.fileList = [];
         this.fileValueList = [];
       },

+ 1 - 0
src/store/modules/user.js

@@ -78,6 +78,7 @@ const user = {
     Login({ commit }, userInfo) {
       const username = userInfo.username.trim()
       const password = SM4Encrypt(userInfo.password)
+      // const password = (userInfo.password)
       const code = userInfo.code
       const uuid = userInfo.uuid
       return new Promise((resolve, reject) => {

+ 4 - 5
src/views/core/accessPlan/index.vue

@@ -122,7 +122,6 @@
                   size="mini"
                   @click="handleAdd"
                   v-hasPermi="['core:accessPlan:add']"
-                  v-if="check == true"
                   >新增任务
                 </el-button>
               </el-col>
@@ -239,7 +238,7 @@
                     (scope.row.planStatus == 0 || scope.row.planStatus == 2)
                   "
                   @click="handDistribute(scope.row)"
-                  v-hasPermi="['core:accessPlan:add']"
+                  v-hasPermi="['core:accessPlan:release']"
                   >下发
                 </el-button>
                 <el-button
@@ -253,6 +252,7 @@
                     scope.row.parentId == null
                   "
                   @click="handWithdraw(scope.row)"
+                  v-hasPermi="['core:accessPlan:withdraw']"
                   >撤回
                 </el-button>
                 <el-button
@@ -260,7 +260,7 @@
                   type="text"
                   icon="el-icon-edit-outline"
                   @click="handleUpdate(scope.row)"
-                  v-if="scope.row.orgId == isEdit && check == true"
+                  v-if="scope.row.orgId == isEdit"
                   v-hasPermi="['core:accessPlan:edit', 'core:accessPlan:query']"
                   >编辑
                 </el-button>
@@ -270,8 +270,7 @@
                   type="text"
                   v-if="
                     scope.row.parentOrgId == isEdit &&
-                    scope.row.parentId == null &&
-                    check == true
+                    scope.row.parentId == null 
                   "
                   icon="el-icon-delete"
                   @click="handleDelete(scope.row)"

+ 11 - 2
src/views/core/drill/plan/index.vue

@@ -907,15 +907,21 @@ export default {
           })
           .then(() => {
             publishPlan(row.id, 1);
+            setTimeout(() => {
+              this.getList()
+            }, 100)
           });
       } else {
         if (row.planStatus == 0) {
-          msg = "请选择从当前轮次或周期开始生成任务?";
+          msg = "请选择从当前轮次或周期开始生成任务?";
           this.$refs["DialogThreeState"].show(
             msg,
             (state) => {
               if (state == 0 || state == 1) {
                 publishPlan(row.id, state);
+                setTimeout(() => {
+                  this.getList()
+                }, 100)
               }
             },
             {
@@ -932,10 +938,13 @@ export default {
             })
             .then(() => {
               publishPlan(row.id, 0);
+              setTimeout(() => {
+                this.getList()
+              }, 100)
             });
         }
       }
-      this.getList();
+
     },
     //撤回计划
     handleRevocation(row) {

+ 2 - 2
src/views/core/drill/task/index.vue

@@ -356,7 +356,7 @@ export default {
         orgId: this.$store.getters.orgId,
         type: null,
         status: null,
-        range: null,
+        range: [new Date(),new Date()],
       },
       // 表单参数
       form: {},
@@ -428,7 +428,7 @@ export default {
       this.queryParams.title = null;
       this.queryParams.type = null;
       this.queryParams.status = null;
-      this.queryParams.range = [];
+      this.queryParams.range =  [new Date(),new Date()];
       this.queryParams.orgId = this.orgId;
       this.selectedOrgName = this.orgName;
       this.queryParams.checkSub = true;

+ 11 - 1
src/views/core/edu/plan/index.vue

@@ -678,6 +678,7 @@ export default {
     },
     /** 查询教育培训计划列表 */
     getList() {
+      console.log("12312312312312")
       this.loading = true;
       listPlan(this.queryParams).then((response) => {
         this.planList = response.rows;
@@ -983,15 +984,21 @@ export default {
           })
           .then(() => {
             publishPlan(row.id, 1);
+            setTimeout(() => {
+              this.getList()
+            }, 100)
           });
       } else {
         if (row.planStatus == 0) {
-          msg = "请选择从当前轮次或周期开始生成任务?";
+          msg = "请选择从当前轮次或周期开始生成任务?";
           this.$refs["DialogThreeState"].show(
             msg,
             (state) => {
               if (state == 0 || state == 1) {
                 publishPlan(row.id, state);
+                setTimeout(() => {
+                  this.getList()
+                }, 100)
               }
             },
             {
@@ -1008,6 +1015,9 @@ export default {
             })
             .then(() => {
               publishPlan(row.id, 0);
+              setTimeout(() => {
+                this.getList()
+              }, 100)
             });
         }
       }

+ 2 - 2
src/views/core/edu/task/index.vue

@@ -348,7 +348,7 @@ export default {
         orgId: this.$store.getters.orgId,
         type: null,
         status: null,
-        range: null,
+        range:  [new Date(),new Date()],
       },
       // 表单参数
       form: {},
@@ -405,7 +405,7 @@ export default {
     clearQueryForm() {
       this.queryParams.title = null;
       this.queryParams.status = null;
-      this.queryParams.range = [];
+      this.queryParams.range =  [new Date(),new Date()];
       this.queryParams.orgId = this.orgId;
       this.selectedOrgName = this.orgName;
       this.queryParams.checkSub = true;

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

@@ -6,114 +6,79 @@
       width="1000px"
     >
       <div class="page-body">
-        <el-form
-          ref="form"
-          :model="formData"
-          label-width="120px"
-          label-suffix=":">             
-          <el-row>
-            <el-col :span="24">
-              <el-form-item label="介绍信类型">
-              <dict-tag :options="dict.type.out_in_type" :value="formData.type"/>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="介绍信编号">
-              {{formData.letterNo}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="接待机构" prop="receptionOrgIds">
-                {{formData.receptionOrgNames}}
-                <!-- <org-tree-select v-model="formData.receptionOrgIds" ref="orgTreeSelect">
-                </org-tree-select> -->
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item label="来访事由">
-              {{formData.reasons}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item  label="开具日期">
-              {{formData.startTimeStr}}
-              </el-form-item>
-            </el-col>
-           
-            <el-col :span="12">
-              <el-form-item  label="有效天数">
-                {{ formData.effectiveDays}}
-              </el-form-item>
-            </el-col>
-           
-            <el-col :span="12">
-              <!-- <el-form-item label="介绍信" prop="letterNo">               
-              </el-form-item> -->
-              <el-form-item label="介绍信附件">
-                <K-file-upload ref="upload" :isShowUploadBtn="false"
-                                :defaultValue="formFileListDefualtValue"
-                                v-model="formData.letterFile"/>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="备注" prop="letterNo">
-                {{formData.description}}
-              </el-form-item>
-            </el-col>          
-          </el-row>
-          <el-row :gutter="10">
-            <el-col :span="12">
-                <h3>
-                  <i class="el-icon-collection-tag"></i>
-                  人员信息
-                </h3> 
-            </el-col>              
-          </el-row>
-          <el-table border :data="formData.userInfos" height="300">
-            <el-table-column label="序号"  align="center"  type="index" width="70" />
-            <el-table-column label="来访单位" width="100" align="center" prop="companyName" />
-            <el-table-column label="来访人员" width="100" align="center" prop="userName" />
-            <el-table-column label="证件类型" width="100" align="center" prop="idType">
-              <template slot-scope="scope">
+        <el-descriptions
+          :column="2"
+          border
+          size="medium"
+          :label-style="labelStyle"
+          :contentStyle="content_style">
+          <el-descriptions-item label="介绍信类型">
+            <dict-tag :options="dict.type.out_in_type" :value="formData.type"/>
+          </el-descriptions-item>
+<!--          <el-descriptions-item label="当前状态">-->
+<!--            <dict-tag :options="dict.type.letter_status" :value="formData.status"/>-->
+<!--          </el-descriptions-item>-->
+          <el-descriptions-item label="介绍信编号">{{formData.letterNo}}</el-descriptions-item>
+          <el-descriptions-item label="接待机构">{{formData.receptionOrgNames}}</el-descriptions-item>
+          <el-descriptions-item label="来访事由">{{formData.reasons}}</el-descriptions-item>
+          <el-descriptions-item label="开具日期">{{formData.startTimeStr}}</el-descriptions-item>
+          <el-descriptions-item label="有效天数">{{formData.effectiveDays}}</el-descriptions-item>
+          <el-descriptions-item label="介绍信附件">
+            <K-file-upload
+              ref="upload"
+              :isShowUploadBtn="false"
+              :defaultValue="formData.letterFile"
+            />
+          </el-descriptions-item>
+          <el-descriptions-item label="备注">{{formData.description}}</el-descriptions-item>
+
+        </el-descriptions >
+
+        <el-row :gutter="10">
+          <el-col :span="12">
+            <h3>
+              <i class="el-icon-collection-tag"></i>
+              人员信息
+            </h3>
+          </el-col>
+        </el-row>
+        <el-table border :data="formData.userInfos" height="300">
+          <el-table-column label="序号"  align="center"  type="index" width="70" />
+          <el-table-column label="来访单位" width="100" align="center" prop="companyName" />
+          <el-table-column label="来访人员" width="100" align="center" prop="userName" />
+          <el-table-column label="证件类型" width="100" align="center" prop="idType">
+            <template slot-scope="scope">
               <dict-tag :options="dict.type.letter_id_type" :value="scope.row.idType"/>
             </template>
-            </el-table-column>
-            <el-table-column label="证件号码" width="200" align="center" prop="idCard">
-            </el-table-column>
-            <el-table-column label="证件图片" align="center" prop="imgFile">
-              <template slot-scope="scope">                      
-                      <ImageListPreview v-model="scope.row.imgFile"></ImageListPreview>                  
-                    </template> 
-              </el-table-column>             
-          </el-table>     
-          <el-row :gutter="10">
-            <el-col :span="12">
-                <h3>
-                  <i class="el-icon-collection-tag"></i>
-                  审批信息
-                </h3> 
-            </el-col>              
-          </el-row>      
-          <el-row>
-            <el-col :span="12">
-              <el-form-item label="审批状态">   
-                <dict-tag :options="dict.type.out_in_approve_status" :value="formData.approveLog.approveStatus"/> 
-                <!-- <el-radio v-model="formData.approveStatus" label="1">同意</el-radio>
-                <el-radio v-model="formData.approveStatus" label="2">不同意</el-radio>            -->
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="审批说明"> 
-               {{formData.approveLog.approveRemark}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="审批时间"> 
-               {{formData.approveLog.approveTime}}
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-form>
+          </el-table-column>
+          <el-table-column label="证件号码" width="200" align="center" prop="idCard">
+          </el-table-column>
+          <el-table-column label="证件图片" align="center" prop="imgFile">
+            <template slot-scope="scope">
+              <ImageListPreview v-model="scope.row.imgFile"></ImageListPreview>
+            </template>
+          </el-table-column>
+        </el-table>
+        <el-row :gutter="10">
+          <el-col :span="12">
+            <h3>
+              <i class="el-icon-collection-tag"></i>
+              审批信息
+            </h3>
+          </el-col>
+        </el-row>
+        <el-descriptions
+          :column="2"
+          border
+          size="medium"
+          :label-style="labelStyle"
+          :contentStyle="content_style">
+          <el-descriptions-item label="审批状态">
+            <dict-tag :options="dict.type.out_in_approve_status" :value="formData.approveLog.approveStatus"/>
+          </el-descriptions-item>
+          <el-descriptions-item label="审批时间"> {{formData.approveLog.approveTime}}</el-descriptions-item>
+          <el-descriptions-item label="审批说明">  {{formData.approveLog.approveRemark}}</el-descriptions-item>
+        </el-descriptions >
       </div>
       <div slot="footer" class="dialog-footer">
         <!-- <el-button type="primary" @click="submitForm">确 定</el-button> -->
@@ -136,10 +101,22 @@ export default {
   data() {
     const params = this.$route.params;
     return {
+      labelStyle: {
+        color: "#000",
+        "text-align": "center",
+        height: "40px",
+        "min-width": "150px",
+        "word-break": "keep-all",
+      },
+      content_style: {
+        "text-align": "left",
+        "min-width": "300px",
+        "word-break": "break-all",
+      },
       id: params ? params.id : null,
       isShow: false,
       title: "来访事项审批详情",
-      formData: this.reset(),      
+      formData: this.reset(),
       formFileListDefualtValue: [],
     };
   },
@@ -169,19 +146,19 @@ export default {
         ...other,
       };
     },
-    async show(id) {     
-        this.title = "来访事项审批详情";   
+    async show(id) {
+        this.title = "来访事项审批详情";
         this.isShow = true;
         getLetter(id).then((response) => {
           this.formData = response.data;
           this.formFileListDefualtValue=this.formData.letterFile;
-        });     
+        });
     },
     onHide() {
       this.isShow = false;
       this.formData = this.reset();
       // this.$refs["upload"].clearFiles();
-    },    
+    },
   },
   mounted() {},
 };

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

@@ -205,6 +205,7 @@ export default {
       this.$refs["dialogApproveLetter"].show(row.id, {});
     },
     canApprove(row) {
+      console.log(row.status,row.approveStatus,'row')
       //  console.log("canApprove",row.status ==1,row.approveStatus ==0,dayjs(dayjs(row.endTime).add(1, 'day')).isAfter(dayjs(new Date())))
       return row.status == 1 && row.approveStatus == 0
     },

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

@@ -7,108 +7,132 @@
       width="1000px"
     >
       <div class="page-body">
-        <el-form
-          ref="form"
-          :model="formData"
-          label-width="120px"          
-          label-suffix=":"
-        >
-          <el-row>
-            <el-col :span="24">
-              <el-form-item label="当前状态">
-                <dict-tag :options="dict.type.letter_status" :value="formData.status"/>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="介绍信编号" prop="letterNo">
-                {{formData.letterNo}}
-              </el-form-item>
-            </el-col>
-          
+        <el-descriptions
+          :column="2"
+          border
+          size="medium"
+          :label-style="labelStyle"
+          :contentStyle="content_style">
+          <el-descriptions-item label="当前状态">
+            <dict-tag :options="dict.type.letter_status" :value="formData.status"/>
+          </el-descriptions-item>
+          <el-descriptions-item label="介绍信编号">{{formData.letterNo}}</el-descriptions-item>
+          <el-descriptions-item label="接待机构">{{formData.receptionOrgNames}}</el-descriptions-item>
+          <el-descriptions-item label="来访事由">{{formData.reasons}}</el-descriptions-item>
+          <el-descriptions-item label="开具日期">{{formData.startTimeStr}}</el-descriptions-item>
+          <el-descriptions-item label="有效天数">{{formData.effectiveDays}}</el-descriptions-item>
+          <el-descriptions-item label="介绍信附件">
+            <K-file-upload
+              ref="upload"
+              :isShowUploadBtn="false"
+              :defaultValue="formData.letterFile"
+            />
+          </el-descriptions-item>
+          <el-descriptions-item label="备注">{{formData.description}}</el-descriptions-item>
 
-            <el-col :span="12">
-              <el-form-item label="接待机构" prop="receptionOrgIds">
-                <!-- <org-tree-select v-model="formData.receptionOrgIds" ref="orgTreeSelect">
-                </org-tree-select> -->
-                {{formData.receptionOrgNames}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="24">
-              <el-form-item prop="reasons" label="来访事由">
-                {{formData.reasons}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item  label="开具日期">
-                {{ formData.startTimeStr}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item  label="有效天数">
-                {{ formData.effectiveDays}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="介绍信附件">
-                <K-file-upload
-                  ref="upload"
-                  :isShowUploadBtn="false"
-                  :defaultValue="formData.letterFile"
-                />
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="备注">
-                {{formData.description}}
-              </el-form-item>
-            </el-col>
-           
-          </el-row>
-          <el-row :gutter="10">
-            <el-col :span="12">
-                <h3>
-                  <i class="el-icon-collection-tag"></i>
-                  人员信息
-                </h3> 
-            </el-col>
-          </el-row>
-          <el-table border :data="formData.userInfos" max-height="500" style="margin-bottom: 10px;">
-            <el-table-column label="序号"  align="center"  type="index" width="70" />
-            <el-table-column label="来访单位" width="150" align="center" prop="companyName" />
-            <el-table-column label="来访人员" width="100" align="center" prop="userName" />
-            <el-table-column label="证件类型" width="100" align="center" prop="idType">
-              <template slot-scope="scope">
+        </el-descriptions >
+<!--        <el-form-->
+<!--          ref="form"-->
+<!--          :model="formData"-->
+<!--          label-width="120px"-->
+<!--          label-suffix=":"-->
+<!--        >-->
+<!--          <el-row>-->
+<!--            <el-col :span="24">-->
+<!--              <el-form-item label="当前状态">-->
+<!--                <dict-tag :options="dict.type.letter_status" :value="formData.status"/>-->
+<!--              </el-form-item>-->
+<!--            </el-col>-->
+<!--            <el-col :span="12">-->
+<!--              <el-form-item label="介绍信编号" prop="letterNo">-->
+<!--                {{formData.letterNo}}-->
+<!--              </el-form-item>-->
+<!--            </el-col>-->
+
+
+<!--            <el-col :span="12">-->
+<!--              <el-form-item label="接待机构" prop="receptionOrgIds">-->
+<!--                &lt;!&ndash; <org-tree-select v-model="formData.receptionOrgIds" ref="orgTreeSelect">-->
+<!--                </org-tree-select> &ndash;&gt;-->
+<!--                {{formData.receptionOrgNames}}-->
+<!--              </el-form-item>-->
+<!--            </el-col>-->
+<!--            <el-col :span="24">-->
+<!--              <el-form-item prop="reasons" label="来访事由">-->
+<!--                {{formData.reasons}}-->
+<!--              </el-form-item>-->
+<!--            </el-col>-->
+<!--            <el-col :span="12">-->
+<!--              <el-form-item  label="开具日期">-->
+<!--                {{ formData.startTimeStr}}-->
+<!--              </el-form-item>-->
+<!--            </el-col>-->
+<!--            <el-col :span="12">-->
+<!--              <el-form-item  label="有效天数">-->
+<!--                {{ formData.effectiveDays}}-->
+<!--              </el-form-item>-->
+<!--            </el-col>-->
+<!--            <el-col :span="12">-->
+<!--              <el-form-item label="介绍信附件">-->
+<!--                <K-file-upload-->
+<!--                  ref="upload"-->
+<!--                  :isShowUploadBtn="false"-->
+<!--                  :defaultValue="formData.letterFile"-->
+<!--                />-->
+<!--              </el-form-item>-->
+<!--            </el-col>-->
+<!--            <el-col :span="12">-->
+<!--              <el-form-item label="备注">-->
+<!--                {{formData.description}}-->
+<!--              </el-form-item>-->
+<!--            </el-col>-->
+
+<!--          </el-row>-->
+<!--        </el-form>-->
+        <el-row :gutter="10">
+          <el-col :span="12">
+            <h3>
+              <i class="el-icon-collection-tag"></i>
+              人员信息
+            </h3>
+          </el-col>
+        </el-row>
+        <el-table border :data="formData.userInfos" max-height="500" style="margin-bottom: 10px;">
+          <el-table-column label="序号"  align="center"  type="index" width="70" />
+          <el-table-column label="来访单位" width="150" align="center" prop="companyName" />
+          <el-table-column label="来访人员" width="100" align="center" prop="userName" />
+          <el-table-column label="证件类型" width="100" align="center" prop="idType">
+            <template slot-scope="scope">
               <dict-tag :options="dict.type.letter_id_type" :value="scope.row.idType"/>
             </template>
-            </el-table-column>
-            <el-table-column label="证件号码" width="200" align="center" prop="idCard">
-            </el-table-column>
-            <el-table-column label="证件图片" align="center" prop="imgFile">
-              <template slot-scope="scope">                      
-                      <ImageListPreview v-model="scope.row.imgFile"></ImageListPreview>                  
-                    </template> 
-               </el-table-column>            
-          </el-table>
-          <el-row :gutter="10">
-            <el-col :span="12">
-                <h3 >
-                  <i class="el-icon-collection-tag"></i>
-                  审批详情
-                </h3> 
-            </el-col>
-          </el-row>
-          <el-table border :data="formData.approveInfos" max-height="500" style="margin-bottom: 10px;">
-                  <el-table-column label="机构名称" header-align="center" align="left" prop="orgName" />
-                  <el-table-column label="审批状态" align="center" prop="approveStatus" >
-                    <template slot-scope="scope">
-                      <dict-tag :options="dict.type.out_in_approve_status" :value="scope.row.approveStatus"/>
-                    </template>                    
-                  </el-table-column>
-                  <el-table-column label="审批说明" header-align="center" align="center" prop="approveRemark">
-                  </el-table-column>
-                </el-table>
-          
-        </el-form>
+          </el-table-column>
+          <el-table-column label="证件号码" width="200" align="center" prop="idCard">
+          </el-table-column>
+          <el-table-column label="证件图片" align="center" prop="imgFile">
+            <template slot-scope="scope">
+              <ImageListPreview v-model="scope.row.imgFile"></ImageListPreview>
+            </template>
+          </el-table-column>
+        </el-table>
+
+        <el-row :gutter="10">
+          <el-col :span="12">
+            <h3 >
+              <i class="el-icon-collection-tag"></i>
+              审批详情
+            </h3>
+          </el-col>
+        </el-row>
+        <el-table border :data="formData.approveInfos" max-height="500" style="margin-bottom: 10px;">
+          <el-table-column label="机构名称" header-align="center" align="left" prop="orgName" />
+          <el-table-column label="审批状态" align="center" prop="approveStatus" >
+            <template slot-scope="scope">
+              <dict-tag :options="dict.type.out_in_approve_status" :value="scope.row.approveStatus"/>
+            </template>
+          </el-table-column>
+          <el-table-column label="审批说明" header-align="center" align="center" prop="approveRemark">
+          </el-table-column>
+        </el-table>
       </div>
       <div slot="footer" class="dialog-footer">
         <el-button @click="onHide">关 闭</el-button>
@@ -135,6 +159,18 @@ export default {
   data() {
     const params = this.$route.params;
     return {
+      labelStyle: {
+        color: "#000",
+        "text-align": "center",
+        height: "40px",
+        "min-width": "150px",
+        "word-break": "keep-all",
+      },
+      content_style: {
+        "text-align": "left",
+        "min-width": "300px",
+        "word-break": "break-all",
+      },
       id: params ? params.id : null,
       isShow: false,
       title: "录入介绍信",
@@ -176,15 +212,15 @@ export default {
       };
     },
 
-    async show(id) {   
-        this.title = "介绍信详情";   
+    async show(id) {
+        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;
-          this.formData = response.data;          
+          this.formData = response.data;
         });
     },
     onHide() {

+ 4 - 98
src/views/core/outIn/outInLog/dialog.outIn.detail.vue

@@ -61,106 +61,12 @@
               :defaultValue="formData.letterFile"
             />
           </el-descriptions-item>
-          <el-descriptions-item label="核验结果">{{
-            formData.checkImage
-          }}</el-descriptions-item>
+          <el-descriptions-item label="核验结果">
+            <ImageListPreview v-model="formData.checkImage"></ImageListPreview>
+          </el-descriptions-item>
         </el-descriptions>
-        <!-- <el-form
-          ref="form"
-          :model="formData"
-          :rules="formDataRules"
-          label-width="120px"
-          label-suffix=":"
-        >
-          <el-row>
-            <el-col :span="24">
-              <el-form-item label="介绍信类型">
-              <dict-tag :options="dict.type.out_in_type" :value="formData.type"/>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="介绍信编号">
-              {{formData.letterNo}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item  label="接待机构">
-              {{formData.orgName}}
-              </el-form-item>
-            </el-col>
-            
-            <el-col :span="24">
-              <el-form-item label="来访事由">
-              {{formData.reasons}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item  label="开具日期">
-                {{ formData.startTime}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item  label="有效天数">
-                {{ formData.effectiveDays}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="来访单位">
-             {{formData.companyName}}
-              </el-form-item>
-            </el-col> 
-           
-            <el-col :span="12">
-              <el-form-item label="来访人员">
-             {{formData.userName}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="证件类型">              
-              <dict-tag :options="dict.type.letter_id_type" :value="formData.idType"/>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="证件号码">
-             {{formData.idCard}}
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="进入时间">
-                {{ formData.arrivalTime}}
-              </el-form-item>
-            </el-col>  
-            <el-col :span="12">
-              <el-form-item label="离开时间">
-                {{formData.departureTime}}
-              </el-form-item>
-            </el-col>  
-          
-            <el-col :span="12">
-              <el-form-item label="介绍信附件">
-                <K-file-upload ref="upload" :isShowUploadBtn="false"
-                                :defaultValue="formData.letterFile"/>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="核验结果">
-                <template>
-                  <ImageListPreview v-model="formData.checkImage"></ImageListPreview>
-                </template> 
-              </el-form-item>
-            </el-col>
-          
-        
-           
-            
-           
-            
-           
-          </el-row>
-        </el-form> -->
       </div>
       <div slot="footer" class="dialog-footer">
-        <!-- <el-button type="primary" @click="submitForm">确 定</el-button> -->
         <el-button @click="onHide">关 闭</el-button>
       </div>
     </DialogCom>
@@ -200,7 +106,7 @@ export default {
       formFileListDefualtValue: [],
     };
   },
-  dicts: ["out_in_type", "letter_id_type"],
+  dicts: ["out_in_type", "letter_id_type",],
   props: {},
   watch: {},
   created() {},

+ 3 - 2
src/views/core/outIn/outInLog/index.vue

@@ -252,6 +252,7 @@ import OrgTree from "@/components/orgTree/orgQuerySelector.vue";
 import DataRangePicker from "@/components/dateTime/daterange.picker.vue";
 import dialogOutInDetail from "./dialog.outIn.detail.vue";
 import {mapGetters} from "vuex";
+import {imageUrl} from "@/utils/ruoyi";
 
 export default {
   components: {OrgTree, KFileUpload, DataRangePicker, dialogOutInDetail},
@@ -326,7 +327,7 @@ export default {
       this.queryParams.orgId = this.orgId;
       this.queryParams.checkSub = true;
       this.$refs["orgTree"].setCheckSub(this.queryParams.checkSub)
-      this.queryParams.range = [];
+      this.queryParams.range = ['',''];
       this.handleQuery();
     },
     getDefaultKey(key) {
@@ -349,7 +350,7 @@ export default {
     },
     async onDown(pdfUrl) {
       // const data = await this.$api.eduTraining.predown(id);
-      window.open(pdfUrl);
+      window.open(imageUrl(pdfUrl));
     },
   },
 };

+ 2 - 2
src/views/core/task/dialog.info.vue

@@ -87,7 +87,7 @@
                 formData.retrievalUserName
               }}</el-form-item>
             </el-col>
-           
+
             <el-col :span="12">
               <el-form-item prop="trainingEndDateTime" label="调阅开始时间">{{
                 formData.startTime
@@ -101,7 +101,7 @@
           </el-row> -->
           <div class="extend_mod">
 
-          
+
           <el-table
             v-loading="loading"
             :data="formData.taskDataVoList"

+ 4 - 2
src/views/core/task/index.vue

@@ -262,6 +262,7 @@ export default {
         taskName: null,
         cycle: null,
         dateRange: [],
+        planStartTime:null,
         status: null,
         roleId: null,
         checkSub: true,
@@ -379,8 +380,9 @@ export default {
       this.queryParams.orgId = this.orgId;
       this.selectedOrgName = this.orgName;
       this.queryParams.checkSub = true;
-      this.$refs["orgTree"].setCheckSub(this.queryParams.checkSub)
-      this.queryParams.dateRange = [];
+      this.queryParams.dateRange = ['',''];
+      this.queryParams.planStartTime=null;
+      this.$refs["orgTree"].setCheckSub(this.queryParams.checkSub);
       this.handleQuery();
     },
     // 多选框选中数据

+ 1 - 3
src/views/resumption/plan/dialog.edit.vue

@@ -134,7 +134,7 @@
                   clearable
                 >
                   <el-option
-                    v-for="item in dict.type.sys_org_type"
+                    v-for="item in orgTypeOptions"
                     :key="item.value"
                     :label="item.label"
                     :value="item.value"
@@ -497,8 +497,6 @@ export default {
 
     cannotEdit() {
       //停用和使用中的任务,只能编辑名称和履职内容
-      // let f = this.formData;
-      //
       if (this.formData.planStatus == null) {
         return false;
       }

+ 8 - 2
src/views/resumption/plan/index.vue

@@ -341,7 +341,7 @@
     <dialog-edit
       ref="editDialog"
       @success="getList()"
-      :orgTypeOptions="dict.type.sys_org_type"
+      :orgTypeOptions="orgTypeOptions"
       :ruleTypeOptions="dict.type.rule_type"
     ></dialog-edit>
     <DialogDistribute ref="dialogDistribute" @select="sel"></DialogDistribute>
@@ -422,8 +422,14 @@ export default {
   props: {},
   watch: {},
   computed: {
-    ...mapState([]),
     ...mapGetters(["orgId", "orgName"]),
+    orgTypeOptions(){
+     if(!this.dict || !this.dict.type.sys_org_type==null)  {
+      return []
+     }
+     
+     return this.dict.type.sys_org_type.filter(t=>!["1","2","7","8"].includes(t.value))
+    }
   },
   methods: {
     ...mapMutations([]),

+ 1 - 0
src/views/resumptionEvaluate/evaluate/index.vue

@@ -176,6 +176,7 @@
                 <el-button
                   size="mini"
                   @click="publishHandler(row)"
+                  v-hasPermi="['core:evaluatePlan:distribute']"
                   type="text"
                   v-if="row.orgId == isEdit && row.status == 0"
                   :class="

+ 6 - 6
src/views/safetyBook/newBook/dialog.des.vue

@@ -48,7 +48,7 @@
                 v-model="formData.orgName"
                 :disabled="true"
               ></el-input>
-               
+
               </el-form-item> -->
             <el-descriptions-item labelClassName="gx_info_label" label="甲方姓名">
               {{ formData.partyA }}
@@ -128,7 +128,7 @@
                   :preview-src-list="[file.url]"
                   fit="contain"
                 ></el-image>
-                <div v-else="isPic(file.url)">
+                <div v-else>
                   <el-link :href="file.url" :underline="false" target="_blank">
                     <span class="el-icon-document"> {{ file.name }} </span>
                   </el-link>
@@ -292,14 +292,14 @@ export default {
   }
 }
 .container {
-  width: 50px;
   height: 50px;
-  float: left;
+  display: flex;
+  justify-content: flex-start;
   .item {
-    width: 100%;
+    width: 50px;
     height: 100%;
   }
-  .item img {
+  .item >img {
     width: 100% !important;
     object-fit: cover !important;
   }

+ 45 - 48
src/views/safetycheck/plan/dialog.edit.vue

@@ -19,7 +19,7 @@
             <el-col :span="6">
               <el-form-item prop="planName" label="任务名称:">
                 <el-input
-                  :disabled="canEdit()"
+                  :disabled="cannotEditName()"
                   v-model.trim="formData.planName"
                   :maxlength="50"
                   name="planName"
@@ -33,7 +33,7 @@
               <el-form-item prop="checkType" label="任务类型:">
                 <el-select
                   @change="changeData"
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   label="任务类型"
                   v-model="formData.checkType"
                   placeholder="请选择任务类型"
@@ -52,7 +52,7 @@
             <el-col :span="6">
               <el-form-item prop="planCycle" label="任务周期:">
                 <el-select
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   prop="planCycle"
                   label="任务周期"
                   v-model="formData.planCycle"
@@ -68,23 +68,7 @@
                   </el-option>
                 </el-select>
               </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item
-                prop="buildTaskNow"
-                label="立即生效:"
-                v-if="NowBuild()"
-                ><div class="checkbox-wrapper">
-                  <el-checkbox
-                    :disabled="isbuildTaskNow()"
-                    v-model="formData.buildTaskNow"
-                    size="medium"
-                    @change="handleCheckboxChange"
-                    >默认从下个周期生成任务,<br />勾选后从当前周期立即生成任务</el-checkbox
-                  >
-                </div>
-              </el-form-item>
-            </el-col>
+            </el-col>            
             <el-col :span="6">
               <el-form-item
                 prop="startDate"
@@ -92,7 +76,7 @@
                 v-if="formData.planCycle == 6"
               >
                 <el-date-picker
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   v-model="formData.startDate"
                   style="width: 240px"
                   value-format="yyyy-MM-dd 00:00:00"
@@ -110,7 +94,7 @@
                 v-if="formData.planCycle == 6"
               >
                 <el-date-picker
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   v-model="formData.endDate"
                   style="width: 240px"
                   value-format="yyyy-MM-dd 23:59:59"
@@ -124,7 +108,7 @@
             <el-col :span="6">
               <el-form-item prop="execOrgType" label="检查主体类型:">
                 <el-select
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   @change="cleanExecOrgList"
                   prop="execOrgType"
                   label="机构类型"
@@ -133,10 +117,10 @@
                   clearable
                 >
                   <el-option
-                    v-for="item in dict.type.sys_org_type"
+                    v-for="item in  dict.type.sys_org_type"
                     :key="item.value"
                     :label="item.label"
-                    :value="item.value"
+                    :value="parseInt(item.value)"
                   >
                   </el-option>
                 </el-select>
@@ -147,7 +131,7 @@
             <el-col :span="6">
               <el-form-item prop="roleIds" label="检查人员:">
                 <el-select
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   label="检查人员"
                   v-model="formData.roleIds"
                   placeholder="请选择用户角色"
@@ -168,7 +152,7 @@
             <el-col :span="6">
               <el-form-item prop="checkOrgTypes" label="受检机构类型:">
                 <el-select
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   @change="cleanCheckOrgList"
                   prop="checkOrgTypes"
                   label="受检机构类型"
@@ -178,7 +162,7 @@
                   multiple
                 >
                   <el-option
-                    v-for="item in dict.type.sys_org_type"
+                    v-for="item in orgTypeOptions"
                     :key="item.value"
                     :label="item.label"
                     :value="item.value"
@@ -204,7 +188,7 @@
             <el-col :span="6">
               <el-form-item :span="6" prop="execOrgIds" label="检查主体">
                 <org-tree-select
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   v-model="formData.execOrgIds"
                   :queryData="parseInt(formData.execOrgType)"
                   ref="execorgTreeSelect"
@@ -217,7 +201,7 @@
             <el-col :span="6">
               <el-form-item :span="6" prop="checkOrgIds" label="受检机构">
                 <org-tree-select
-                  :disabled="canEdit()"
+                  :disabled="cannotEdit()"
                   v-model="formData.checkOrgIds"
                   :queryData="parseInt(formData.checkOrgType)"
                   ref="checkorgTreeSelect"
@@ -253,17 +237,17 @@
           </el-row>
           <el-form-item :span="6" prop="description" label="备注">
             <el-input
-              :disabled="canEdit()"
+              :disabled="cannotEdit()"
               v-model="formData.description"
               :maxlength="255"
               clearable
             />
           </el-form-item>
         </el-form>
-        <el-button @click="openSelect"
+        <el-button @click="openSelect"  v-if="formData.id==null || formData.planOfOrgId == orgId"
           ><span class="requiredlabel">选择检查内容</span>
         </el-button>
-        <el-button @click="deleteSelected">批量删除</el-button>
+        <el-button @click="deleteSelected"  v-if="formData.id==null || formData.planOfOrgId == orgId">批量删除</el-button>
         <el-table
           :data="tableData"
           style="width: 100%; margin-top: 15px"
@@ -322,7 +306,7 @@
           <el-table-column prop="areaName" label="操作">
             <template v-slot="{ row }">
               <el-button
-                v-if="getshenglianshe(row)"
+                v-if="getshenglianshe(row) && (formData.Id==null || formData.planOfOrgId == orgId)"
                 type="text"
                 @click="removeRow(row)"
                 >删除</el-button
@@ -400,6 +384,8 @@ export default {
         count: [{ required: true, message: "请选择任务次数" }],
         checkOrgTypes: [{ required: true, message: "请选择受检机构类型" }],
         roleIds: [{ required: true, message: "请选择检查人员" }],
+        startDate:[{ required: true, message: "请选择开始时间" }],
+        endDate:[{ required: true, message: "请选择结束时间" }]
       },
       statusOptions: statusOptions,
     };
@@ -564,15 +550,29 @@ export default {
       } else return false;
     },
     //编辑内容判断
-    canEdit() {
+    cannotEdit() {
       //停用和使用中的任务,只能编辑名称和履职内容
-      // let f = this.formData;
-      //
-      let r = !(
-        this.formData.planStatus == null || this.formData.planStatus == "0"
-      );
-      //行社不能编辑省联社计划的名称;省联社也不能单独编辑子计划的名称
-      r &= this.formData.planOfOrgId == this.orgId;
+      if (this.formData.planStatus == null) {
+        return false;
+      }
+
+      if (this.formData.planOfOrgId != this.orgId) {
+        return true;
+      }
+
+      let r = !(this.formData.planStatus == 0);
+
+      return r;
+    },
+    //只能编辑创建机构和所属机构是自己的
+    cannotEditName() {
+      if (this.formData.planStatus == null) {
+        return false;
+      }
+
+      let r =
+        this.formData.planOfOrgId != this.orgId ||
+        this.formData.planCreateOrgId != this.orgId;
       return r;
     },
     NowBuild() {
@@ -811,12 +811,9 @@ export default {
       this.$refs.form.validate(async (isValidate) => {
         if (!isValidate) return;
         this.loading = true;
-        let status = 0;
         // console.log(this.formData.hasEdit,"this.formData.hasEdit")
         this.formData.planCreateOrgId = this.orgId;
         this.formData.planCreateOrgName = this.orgName;
-        status = this.formData.planStatus;
-        this.formData.planStatus = 0;
 
         this.formData.rulePointList =
           this.tableData == null ? [] : this.tableData;
@@ -830,7 +827,7 @@ export default {
         //   this.formData.buildTaskNow = true;
         // }
 
-        if (this.formData.planStatus == "1") {
+        if (this.formData.planStatus == 1) {
           let msg;
           let imme;
           if (this.formData.taskHasCompleted == 1) {
@@ -844,14 +841,14 @@ export default {
           this.$modal.confirm(msg).then(() => {
             this.update(this.formData, imme);
           });
-        } else if (this.formData.planStatus == "2") {
+        } else if (this.formData.planStatus == 2) {
           this.update(this.formData, false);
         } else {
           this.update(this.formData, false);
         }
       });
     },
-    async update(data, immediateEffect) {
+    async update(data, immediateEffect) {      
       await api
         .add(data, immediateEffect)
         .then((data) => {

+ 7 - 5
src/views/safetycheck/plan/distribute.vue

@@ -9,7 +9,7 @@
     append-to-body
   >
     <div class="el-dialog-div">
-      <el-row :gutter="10" >
+      <el-row :gutter="10">
         <el-col :span="1.5">
           <el-input
             size="mini"
@@ -62,7 +62,7 @@
       <el-button type="primary" @click="onSubmit">确定</el-button>
       <el-button @click="onHide">关闭</el-button>
     </div>
- </DialogCom>
+  </DialogCom>
 </template>
 <script>
 import { listByTypes } from "@/api/system/org.js";
@@ -75,6 +75,7 @@ export default {
       info: this.emptyInfo(),
       tableData: [],
       filterName: null,
+      plan: null,
     };
   },
   computed: {},
@@ -89,6 +90,7 @@ export default {
   },
   methods: {
     show(plan) {
+      this.plan = plan;
       this.info.id = plan.id;
       getDesignateHangshe(plan.id).then((r) => {
         if (r.data && r.data.length > 0) {
@@ -130,7 +132,7 @@ export default {
     },
     onSubmit() {
       console.info(this.info);
-      this.$emit("select", this.info);
+      this.$emit("select", this.info, this.plan);
       this.onHide();
     },
     emptyInfo() {
@@ -147,7 +149,7 @@ export default {
 .el-dialog-div {
   overflow: auto;
 }
-.dialog-footer{
-  margin-top:20px;
+.dialog-footer {
+  margin-top: 20px;
 }
 </style>

+ 86 - 44
src/views/safetycheck/plan/index.vue

@@ -397,7 +397,7 @@
     <dialog-edit
       ref="editDialog"
       @success="getList()"
-      :orgTypeOptions="dict.type.sys_org_type"
+      :orgTypeOptions="orgTypeOptions"
       :ruleTypeOptions="dict.type.rule_type"
     ></dialog-edit>
     <DialogDistribute ref="dialogDistribute" @select="sel"></DialogDistribute>
@@ -427,7 +427,7 @@ export default {
     DialogEdit,
     OrgTree,
     DialogDistribute,
-    DialogThreeState
+    DialogThreeState,
   },
   data() {
     const { params, query } = this.$route;
@@ -482,6 +482,13 @@ export default {
   computed: {
     ...mapState([]),
     ...mapGetters(["orgId", "orgName"]),
+    orgTypeOptions(){
+     if(!this.dict || !this.dict.type.sys_org_type==null)  {
+      return []
+     }
+     
+     return this.dict.type.sys_org_type.filter(t=>!["7","8"].includes(t.value))
+    }
   },
   methods: {
     ...mapMutations([]),
@@ -499,48 +506,68 @@ export default {
         return true;
       }
       return false;
-    },    
+    },
     showDialogDistribute(row) {
-      if (row.planOfOrgType == 3) {
-        this.onHSPlanDistribute(row);
+      //行社的计划,或检查机构类型是省联社、办事处,走单个下发
+      if (
+        row.planOfOrgType == 3 ||
+        row.checkOrgType == 1 ||
+        row.checkOrgType == 2
+      ) {
+        this.onSinglePlanDistribute(row);
       } else {
         this.$refs.dialogDistribute.show(row);
       }
     },
 
-    onHSPlanDistribute(row) {
+    onSinglePlanDistribute(row) {
       if (row.planStatus == 0) {
-        let msg = "请选择下发后立即生成或下周期生成任务";
-        this.$refs["DialogThreeState"].show(
-          msg,
-          (state) => {
-            if (state == 0 || state == 1) {
-              this.distributeHS(row.id, state == 1);
+        if (row.planCycle == 6) {
+          //无周期任务,
+          let msg = "无周期任务下发后将立即生成任务,确定下发?";
+          this.$modal.confirm(msg).then(() => {
+            this.distributeSingle(row.id, true);
+          });
+        } else {
+          let msg = "请选择下发后立即生成或下周期生成任务";
+          this.$refs["DialogThreeState"].show(
+            msg,
+            (state) => {
+              if (state == 0 || state == 1) {
+                this.distributeSingle(row.id, state == 1);
+              }
+            },
+            {
+              yesText: "立即生成",
+              noText: "下周期",
+              cancelText: "取消",
             }
-          },
-          {
-            yesText: "立即生成",
-            noText: "下周期",
-            cancelText: "取消",
-          }
-        );
+          );
+        }
       } else if (row.planStatus == 2) {
+        let msg = "";
+
+        if (row.planCycle == 6) {
+          msg = "已存在已完成任务,是否确定下发?";
+        } else {
+          msg = "因存在已完成任务,是否确定从下周期生成任务?";
+        }
         this.$modal
-          .confirm("因存在已完成任务,是否确定从下周期生成任务?", {
+          .confirm(msg, {
             confirmButtonText: "确定",
             canelButtonText: "取消",
           })
           .then(() => {
-            this.distributeHS(row.id, false);
+            this.distributeSingle(row.id, false);
           });
       } else {
-        this.distributeHS(row.id, false);
+        this.distributeSingle(row.id, false);
       }
     },
-    distributeHS(id, immediateEffect) {
+    distributeSingle(id, immediateEffect) {
       this.loading = true;
       api
-        .distributeHS(id, immediateEffect)
+        .distributeSingle(id, immediateEffect)
         .then((response) => {
           // console.log(response, "then");
           if (response.data == 0) {
@@ -558,7 +585,7 @@ export default {
     },
     showPublish(row) {
       //有父计划且父计划不是使用中状态,不能下发
-      if (row.parentStatus != 1 && row.parentId) {
+      if (row.parentStatus != 1 && row.parentId > 0) {
         return false;
       }
       //可以下发:本机构创建+状态为草稿、停用的计划
@@ -612,23 +639,36 @@ export default {
     sel(selectList, row) {
       let msg = "";
       if (row.planStatus == 0) {
-        msg = "请选择下发后立即生成或下周期生成任务。";
-        this.$refs["DialogThreeState"].show(
-          msg,
-          (state) => {
-            if (state == 0 || state == 1) {
-              this.distributeInner(selectList, state == 1);
+        if (row.planCycle == 6) {
+          //无周期任务,
+          let msg = "无周期任务下发后将立即生成任务,确定下发?";
+          this.$modal.confirm(msg).then(() => {
+            this.distributeInner(selectList, true);
+          });
+        } else {
+          msg = "请选择下发后立即生成或下周期生成任务。";
+          this.$refs["DialogThreeState"].show(
+            msg,
+            (state) => {
+              if (state == 0 || state == 1) {
+                this.distributeInner(selectList, state == 1);
+              }
+            },
+            {
+              yesText: "立即生成",
+              noText: "下周期",
+              cancelText: "取消",
             }
-          },
-          {
-            yesText: "立即生成",
-            noText: "下周期",
-            cancelText: "取消",
-          }
-        );
+          );
+        }
       } else if (row.planStatus == 2) {
+        if (row.planCycle == 6) {
+          msg = "已存在已完成任务,是否确定下发?";
+        } else {
+          msg = "因存在已完成任务,是否确定从下周期生成任务?";
+        }
         this.$modal
-          .confirm("因存在已完成任务,是否确定从下周期生成任务?")
+          .confirm(msg)
           .then(() => {
             this.distributeInner(selectList, false);
           });
@@ -648,11 +688,12 @@ export default {
           this.loading = false;
         });
     },
-    
+
     //开始撤回
     chhuile(row) {
       let msg;
-      if (row.taskHasCompleted == 1) {
+      
+      if (row.taskHasCompleted != 1) {        
         msg = "因不存在已完成任务,撤回后将删除所有生成任务?";
       } else {
         msg = "因存在已完成任务,撤回后下周期起将不再生成任务?";
@@ -747,7 +788,7 @@ export default {
           // console.log("执行操作...");
           this.loading = true;
           api
-            .delelte(id)
+            .delelte(row.id)
             .then(() => {
               this.getList();
               this.loading = false;
@@ -757,7 +798,8 @@ export default {
               this.loading = false;
             });
         })
-        .catch(() => {
+        .catch((ex) => {
+          console.error(ex)
           // 用户点击了取消按钮
           // console.log("取消操作...");
         });
@@ -773,7 +815,7 @@ export default {
       this.resetForm("search");
       this.queryParams.orgId = this.orgId;
       this.queryParams.checkSub = false;
-      this.$refs["orgTree"].setCheckSub(this.queryParams.checkSub)
+      this.$refs["orgTree"].setCheckSub(this.queryParams.checkSub);
       // this.$refs.tree.setCurrentKey(null);
       this.getList();
     },

+ 1 - 1
src/views/safetycheck/ruleManager/dialog.select.point.vue

@@ -13,7 +13,7 @@
       <g-search-table
         ref="st"
         url="/core/safetycheck/ruleItem/pointSelectionPage"
-        method="get"
+        method="post"
         :search-data="search"
         :manual="true"
         :pageable="true"

+ 6 - 5
src/views/safetycheck/task/index.vue

@@ -420,6 +420,7 @@ import { checkPermi } from "@/utils/permission.js";
 import dayjs from "dayjs";
 import { deptTreeSelect } from "@/api/system/public";
 import request from "@/utils/request";
+import {newline} from "js-beautify/js/src/javascript/acorn";
 export default {
   name: "Saftask",
   dicts: ["resumption_plan_cycle", "resumption_status", "safety_check_status"],
@@ -453,7 +454,7 @@ export default {
         planStartTime: null,
         title: null,
         checkOrgIds: null,
-        range: [],
+        range: [new Date(),new Date()],
       },
       selectedOrgName: null,
       pageData: [],
@@ -594,14 +595,14 @@ export default {
       this.getList();
     },
     resetQuery() {
-      this.queryParams.checkOrgIds = null;
-      this.queryParams.range = [];
       this.resetForm("queryParams");
+      this.queryParams.checkOrgIds = null;
       this.queryParams.orgId = this.orgId;
       this.selectedOrgName = this.orgName;
       this.queryParams.checkSub = true;
-      this.$refs["orgTree"].setCheckSub(this.queryParams.checkSub)
-      this.getList();
+      this.$refs["orgTree"].setCheckSub(this.queryParams.checkSub);
+      this.queryParams.range = [new Date(),new Date()];
+
     },
     handleAdd() {
       let path = "/safetycheck/tempregister/add";

+ 3 - 3
src/views/system/dept/extend.vue

@@ -252,8 +252,8 @@
                   :value="dict.value"
                 ></el-option>
               </el-select>
-            </el-descriptions-item>
-
+            </el-descriptions-item> 
+    
             <el-descriptions-item v-if="type === org_type.yewd" labelClassName="gx_info_label" label="是否配备保安人员">
               <el-radio-group v-model="askari">
                 <el-radio :label="1">是</el-radio>
@@ -509,6 +509,7 @@
 
   export default {
     dicts: [
+    "duty_options",
       "sys_org_type",
       "org_platform_brand",
       "org_platform_supplier_brand",
@@ -521,7 +522,6 @@
       "org_extend_detached_standard",
       "org_extend_is",
       "property_situation",
-      "duty_options",
     ],
     props: [],
     components: {

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

@@ -517,7 +517,7 @@ export default {
           { required: true, message: "机构名称不能为空", trigger: "blur" },
         ],
         type: [
-          { required: true, message: "机构类型不能为空", trigger: "blur" },
+          { required: true, message: "机构类型不能为空", trigger: "change" },
         ],
         orderNum: [
           { required: true, message: "显示排序不能为空", trigger: "blur" },

+ 5 - 4
src/views/system/workTimeSet/workTimeWeek.vue

@@ -38,9 +38,10 @@
               <el-form-item label="生效日期">
                 <DataRangePicker
                   style="width: 240px"
-                  v-model="dateRange"
+                  v-model="queryParams.dateRange"
                   key="daterange"
                   type="daterange"
+                  :editable="false"
                   :clearable="false"
                   range-separator="-"
                   start-placeholder="开始日期"
@@ -153,8 +154,8 @@ export default {
         orgId: null,
         isEnable:false,
         orgType:null,
+        dateRange:[],
       },
-      dateRange:[],
       total:0,
       // 列信息
       columns: [
@@ -218,7 +219,7 @@ export default {
     /** 查询列表 */
     getList() {
       this.loading = true;
-      weekTableList(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
+      weekTableList(this.queryParams).then(response => {
           this.tableList = response.data.records;
           this.total = response.data.total;
           this.loading = false;
@@ -262,7 +263,7 @@ export default {
       this.queryParams.isEnable = false;
       this.queryParams.pageNum= 1;
       this.queryParams.pageSize=10;
-      this.dateRange = [];
+      this.queryParams.dateRange = ['',''];
       this.queryParams.orgId=this.orgId;
       this.queryParams.orgType = null;
       this.queryParams.checkSub = true;