瀏覽代碼

Merge remote-tracking branch 'origin/V0.0.2' into V0.0.2

jingyuanchao 2 年之前
父節點
當前提交
408a1d6ff4

+ 2 - 1
src/api/safetycheck/plan.js

@@ -78,7 +78,8 @@ export function delelte(id) {
 export function getDesignateHangshe(planId){
   return request({
     url: '/core/SafecheckPlanToExecOrg/designatehangshe/' + planId,
-    method: 'get'
+    method: 'get',
+    showLoading:true
   })
 }
 

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

@@ -351,3 +351,7 @@
  .el-table--small .el-table__cell{
    padding: 10px 0!important;
  }
+
+ .el-collapse-item__header{
+   font-size: 16px!important;
+ }

+ 22 - 17
src/components/orgTree/index.vue

@@ -16,25 +16,29 @@
         <el-checkbox v-model="checkSub" @change="changeCheckBox"
           >关联所有下级数据</el-checkbox>
       </div>
-      <el-tree
-        :data="treeList"
-        :props="defaultProps"
-        :expand-on-click-node="false"
-        :filter-node-method="filterNode"
-        ref="tree"
-        node-key="id"
-        class="el-tree-ex"
-        :default-expanded-keys="defaultKeys"
-        :default-checked-keys="defaultKeys"
-        @node-click="handleNodeClick"
-        v-bind="$attrs"
-      >
-        <span class="custom-tree-node" slot-scope="{ node, data }">
+      <el-collapse v-model="activeNames" @change="handleChange">
+        <el-collapse-item title="福建农信" name="1">
+          <el-tree
+            :data="treeList"
+            :props="defaultProps"
+            :expand-on-click-node="false"
+            :filter-node-method="filterNode"
+            ref="tree"
+            node-key="id"
+            class="el-tree-ex"
+            :default-expanded-keys="defaultKeys"
+            :default-checked-keys="defaultKeys"
+            @node-click="handleNodeClick"
+            v-bind="$attrs"
+          >
+            <span class="custom-tree-node" slot-scope="{ node, data }">
 
-            <span>{{ node.label }}</span>
+                <span>{{ node.label }}</span>
 
-        </span>
-      </el-tree>
+            </span>
+          </el-tree>
+        </el-collapse-item>
+      </el-collapse>
     </div>
   </div>
 </template>
@@ -46,6 +50,7 @@ export default {
   data() {
     return {
       //过滤信息
+      activeNames: ["1"],
       deptName: "",
       // 机构树列表
       treeList: [],

+ 1 - 0
src/components/orgTree/orgDropDown.vue

@@ -32,6 +32,7 @@ export default {
   watch: {
     value(v) {
       if(!v){
+        this.$emit("select", null);
         return;
       }
       if (!this.currentNode || this.currentNode.id != v) {        

+ 3 - 2
src/components/userSelector/index.vue

@@ -37,7 +37,7 @@
           >
             <!-- 搜索 -->
             <template slot="searchs">
-              <el-form-item  prop="ruleId" label="用户账号">
+              <el-form-item  prop="username" label="用户账号">
                 <el-input v-model="search.username" clearable></el-input>
               </el-form-item>
               <el-form-item prop="name" label="用户姓名">
@@ -156,7 +156,8 @@ export default {
       this.refresh()   
     },
     resetQuery() {
-      this.resetForm("search");
+      this.search=this.emptySearch();
+      // this.resetForm("search");
       // this.queryParams.orgId = undefined;
       // this.$refs.tree.setCurrentKey(null);
       this.refresh();

+ 4 - 1
src/views/check/dialog.edit.vue

@@ -465,7 +465,7 @@ export default {
     },
     NowBuild() {
       //如果新增或者是草稿状态的立即生效的编辑
-      if ((this.id==null||this.id==undefined)||(this.defbuildTaskNow &&this.formData.planStatus==0)) return true;
+      if ((this.formData.planCycle!=6)&&((this.id==null||this.id==undefined)||(this.defbuildTaskNow &&this.formData.planStatus==0))) return true;
       else return false;
     },
     getLabel(options, value) {
@@ -672,6 +672,9 @@ export default {
         this.formData.roleIds =
           this.selectedValues.length == 0 ? null : this.selectedValues;
           this.loading = true;
+          if(this.formData.planCycle==6){
+            this.formData.buildTaskNow = true;
+          }
         await api.add(this.formData).then(data=>{
           this.loading = false;
           this.$emit("success");

+ 16 - 7
src/views/check/task/dialog.scanrecord.vue

@@ -3,8 +3,7 @@
     <DialogCom
       title="扫描记录"
       :visible.sync="isShow"
-      width="800px"
-      :destroy-on-close="true"
+      width="850px"
     >
       <el-table :data="tableData" border>
         <el-table-column
@@ -12,6 +11,7 @@
           align="center"
           :show-overflow-tooltip="true"
           prop="areaName"
+          min-width="100px"
         >
         </el-table-column>
         <el-table-column
@@ -19,9 +19,17 @@
           align="center"
           :show-overflow-tooltip="true"
           prop="collectionAreaName"
+          min-width="120px"
         >
         </el-table-column>
-
+        <el-table-column
+        label="NFC标签名称"
+        align="center"
+        :show-overflow-tooltip="true"
+        prop="nfcName"
+        min-width="120px"
+      >
+      </el-table-column>
         <el-table-column
           label="扫描时间"
           align="center"
@@ -33,13 +41,13 @@
         <el-table-column
           label="扫描方式"
           align="center"
-          width="80px"
+          width="100px"
           :show-overflow-tooltip="true"
           prop="scanMethod"
         >
           <template slot-scope="r">
-            <span v-if="r.row.scanMethod === 0">扫描</span>
-            <span v-else>拍照</span>
+            <span v-if="r.row.scanMethod === 0">感应</span>
+            <span v-else>图片</span>
           </template>
         </el-table-column>
         <el-table-column
@@ -47,9 +55,10 @@
           align="center"
           :show-overflow-tooltip="true"
           prop="img"
+          min-width="150px"
         >
           <template slot-scope="r">
-            <label v-if="r.row.scanMethod == 0">-</label>
+            <label v-if="r.row.scanMethod == 0">{{r.row.nfcCode}}}</label>
             <el-image
               v-else
               style="width: 50px; height: 50px"

+ 2 - 2
src/views/core/reportForms/monitorAccessReport.vue

@@ -188,9 +188,9 @@
         getList() {
           this.loading = true;
           listReport(this.queryParams).then(response => {
-            this.checkList = response.data.rows;
+            this.checkList = response.data;
             this.title=response.title;
-            this.total = response.data.total;
+            // this.total = response.data.total;
             this.loading = false;
           });
         },

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

@@ -5,7 +5,7 @@
       :width="'500px'"
       :title="`${id ? '编辑' : '新增'}扣分规则`"
       @close="closeHandler"
-      destroy-on-close
+      
     >
       <el-form
         :model="ruleForm"
@@ -110,6 +110,11 @@ export default {
       this.isShow = false;
     },
     closeHandler() {
+      if(this.$refs.ruleForm){
+
+       
+        this.$refs.ruleForm.resetFields()
+      }
       this.ruleForm = {};
     },
 

+ 6 - 1
src/views/resumption/plan/distribute.vue

@@ -38,7 +38,7 @@
           >
         </el-col>
       </el-row>
-      <el-table :data="tableData" height="400px" size="small">
+      <el-table :data="tableData" height="400px" size="small" v-loading="loading">
         <el-table-column type="index" label="序号" width="80"></el-table-column>
         <el-table-column prop="orgName" label="机构名称"></el-table-column>
         <el-table-column prop="status" label="计划状态" width="150px">
@@ -72,6 +72,7 @@ export default {
   data() {
     return {
       isShow: false,
+      loading:false,
       info: this.emptyInfo(),
       tableData: [],
       filterName: null,
@@ -90,15 +91,19 @@ export default {
   methods: {
     show(plan) {
       this.isShow = true;
+      this.loading=true;
       this.info.id = plan.id;
       listByTypes({
         orgId: plan.planCreateOrgId,
         orgTypes: ["3"],
       }).then((r) => {
+        this.loading=false;
         this.info.orgAndStatus = r.data.map((d) => {
           return { orgId: d.id, orgName: d.shortName, status: "1" };
         });
         this.tableData = this.info.orgAndStatus;
+      }).catch(()=>{
+        this.loading=false;
       });
     },
     handleAllStatus(status) {

+ 16 - 6
src/views/resumption/ruleManager/dialog.select.point.vue

@@ -3,11 +3,10 @@
     title="选择履职内容"
     :visible.sync="isShow"
     class="g-dialog-select-safe-check"
-    :close-on-click-modal="false"
     width="55%"
     top="10vh"
-    destroy-on-close
     append-to-body
+    @close="closed"
   >
     <div class="el-dialog-div">
       <g-search-table
@@ -95,6 +94,7 @@ export default {
   data() {
     return {
       isShow: false,
+      prevOrgType: null,
       selectList: [],
       ruleList: [],
       search: this.emptySearch(),
@@ -121,23 +121,33 @@ export default {
     },
   },
   methods: {
-    show(defaultSelect) {
-      this.search = this.emptySearch();
+    show(defaultSelect) {      
       this.isShow = true;
       if (defaultSelect && defaultSelect.map) {
         this.selectList = defaultSelect.map((s) => ({ id: s }));
       }
-
-      ruleListForOrg({ orgType: this.orgType }).then((r) => {
+      if (this.prevOrgType == this.orgType) {
+        this.search.itemName=null;
+        if (this.search.ruleId) {
+          this.$refs.st.search();
+        }
+      } else {
+        this.search = this.emptySearch();
+        ruleListForOrg({ orgType: this.orgType }).then((r) => {
         this.ruleList = r.data;
+        this.prevOrgType = this.orgType;
         if (r.data && r.data.length > 0) {
           this.search.ruleId = r.data[0].id;
         }
       });
+      }
     },
     onHide() {
       this.isShow = false;
     },
+    closed() {
+      this.$refs.st.dataList=[];
+    },
     onSelect(item) {
       this.selectList = item;
     },

+ 7 - 5
src/views/resumptionEvaluate/evaluate/addEvaluate.vue

@@ -5,8 +5,6 @@
       :width="'500px'"
       :title="`${id ? '编辑' : '新增'}外包履职评价计划`"
       @close="closeHandler"
-      
-      destroy-on-close
     >
       <el-form
         :model="ruleForm"
@@ -16,7 +14,10 @@
         class="demo-ruleForm"
       >
         <el-form-item label="评价类型" prop="contentType">
-          <el-select v-model="ruleForm.contentType" placeholder="请选择评价类型">
+          <el-select
+            v-model="ruleForm.contentType"
+            placeholder="请选择评价类型"
+          >
             <el-option
               v-for="item in dict.type.evaluate_type"
               :key="item.value"
@@ -34,7 +35,6 @@
         </el-form-item>
 
         <el-form-item>
-          
           <el-button type="primary" @click="submitForm('ruleForm')"
             >确定</el-button
           >
@@ -75,9 +75,11 @@ export default {
       this.isShow = false;
     },
     closeHandler() {
+      if (this.$refs.ruleForm) {
+        this.$refs.ruleForm.resetFields();
+      }
       this.ruleForm = {};
     },
-  
 
     submitForm(formName) {
       this.$refs[formName].validate((valid) => {

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

@@ -3,11 +3,10 @@
     title="选择检查要点"
     :visible.sync="isShow"
     class="g-dialog-select-safe-check"
-    :close-on-click-modal="false"
-    destroy-on-close
     width="55%"
     top="10vh"
     append-to-body
+    @close="closed"
   >
     <div class="el-dialog-div">
       <g-search-table
@@ -92,6 +91,7 @@ export default {
       selectList: [],
       ruleList: [],
       search: this.emptySearch(),
+      prevOrgType: null,
     };
   },
   computed: {},
@@ -109,29 +109,38 @@ export default {
     // defaultSelect:{
     //   type:Array
     // },
-    orgType:{
-      type:[String,Number]
+    orgType: {
+      type: [String, Number],
     },
   },
   methods: {
-    show(defaultSelect) {
-      this.search = this.emptySearch();
+    show(defaultSelect) {      
       this.isShow = true;
       if (defaultSelect && defaultSelect.map) {
         this.selectList = defaultSelect.map((s) => ({ id: s }));
       }
-
-      ruleListForOrg({ orgType: this.orgType }).then((r) => {
-        this.ruleList = r.data;
-
-        if (r.data && r.data.length > 0) {
-          this.search.ruleId = r.data[0].id;
+      if (this.prevOrgType == this.orgType) {
+        this.search.itemName=null;
+        if (this.search.ruleId) {
+          this.$refs.st.search();
         }
-      });
+      } else {
+        this.search = this.emptySearch();
+        ruleListForOrg({ orgType: this.orgType }).then((r) => {
+          this.ruleList = r.data;
+          this.prevOrgType = this.orgType;
+          if (r.data && r.data.length > 0) {
+            this.search.ruleId = r.data[0].id;
+          }
+        });
+      }
     },
     onHide() {
       this.isShow = false;
     },
+    closed() {
+      this.$refs.st.dataList=[];
+    },
     onSelect(item) {
       this.selectList = item;
     },

+ 23 - 1
src/views/safetycheck/taskManager/components/checkRegister.vue

@@ -31,6 +31,7 @@
               v-model="info.checkRoleId"
               placeholder="请选择检查人员"
               style="width: 100%"
+              clearable
             >
               <el-option
                 v-for="role in roleOptions"
@@ -59,6 +60,7 @@
               placeHolder="请输入检查组成员"
               v-model="info.checkTeam"
               maxlength="100"
+              clearable
             ></el-input> </el-form-item
         ></el-col>
         <el-col :span="6">
@@ -68,6 +70,7 @@
               v-model="info.planStartTime"
               type="date"
               placeholder="选择检查日期"
+              clearable
             >
             </el-date-picker>
           </el-form-item>
@@ -197,7 +200,8 @@ export default {
         checkList: [],
       },
       roleOptions: [],
-      prevCheckOrgType: null, //上一个选中机构的类型
+      prevCheckOrgType: null, //上一个选中检查机构的类型
+      prevBecheckedOrgType: null, //上一个受检机构的类型
       exceptionRules: {
         remark: [{ required: true, message: "请输入情况描述" }],
         rectificationDeadline: [{ required: true, message: "请选择整改期限" }],
@@ -226,6 +230,12 @@ export default {
     dayjs,
     getLabel,
     onCheckOrgSelect(node) {
+      if (node == null) {
+        this.prevCheckOrgType = null;
+        this.roleOptions = [];
+        this.checkRoleId = null;
+        return;
+      }
       if (node.type == this.prevCheckOrgType) {
         return;
       }
@@ -239,6 +249,18 @@ export default {
       });
     },
     onBecheckOrgSelect(node) {
+      if (node == null) {
+        this.prevBecheckedOrgType = null;
+        this.info.checkList = [];
+        return;
+      }
+
+      if (node.type == this.prevBecheckedOrgType) {
+        return;
+      }
+
+      this.info.checkList = [];
+      this.prevBecheckedOrgType = node.type;
       this.info.beCheckOrgType = node.type;
     },
     onAddPoint() {

+ 8 - 0
src/views/scorestatistics/pointsDialog.vue

@@ -58,6 +58,10 @@
         </el-table-column>
         <el-table-column label="状态" prop="execStatusText"> </el-table-column>
       </el-table>
+      <div slot="footer" class="dialog-footer">
+        <!-- <el-button type="primary" @click="onSubmit">确定</el-button> -->
+        <el-button @click="onHide">关闭</el-button>
+      </div>
     </DialogCom>
   </div>
 </template>
@@ -95,6 +99,10 @@ export default {
         this.itemTableList=data||[]
       });
     },
+    onHide(){
+      this.monthNum = false;
+      this.itemTableList=[]
+    }
   },
 };
 </script>

+ 19 - 2
src/views/scorestatistics/scorestatisticsDialog.vue

@@ -5,7 +5,7 @@
       title="查看"
       :visible.sync="isShow"
       width="1400px"
-      destroy-on-close
+     
       @open="openHandler"
     >
       <div class="pageNum-body">
@@ -57,7 +57,7 @@
 
       <div slot="footer" class="dialog-footer">
         <!-- <el-button type="primary" @click="onSubmit">确定</el-button> -->
-        <el-button @click="onHide">取消</el-button>
+        <el-button @click="onHide">关闭</el-button>
       </div>
       <!-- 月度指数弹框 -->
     </DialogCom>
@@ -144,6 +144,10 @@
         </el-table-column>
         <el-table-column label="扣分" prop="score"> </el-table-column>
       </el-table>
+      <div slot="footer" class="dialog-footer">
+        <!-- <el-button type="primary" @click="onSubmit">确定</el-button> -->
+        <el-button @click="closeHandler">关闭</el-button>
+      </div>
     </DialogCom>
     <!-- 扣分明细弹框 -->
     <points ref="points" :monthNumeData="monthNumeData"></points>
@@ -238,6 +242,18 @@ export default {
 
       this.tableData = [];
     },
+    closeHandler(){
+      this.monthNum=false
+      this.itemTableList=[]
+      this.monthNumeData={
+        firstOrgName: "",
+        secondOrgName: "",
+        orgTypeText: "",
+        date: "",
+        levelName: "",
+        dataScore: "",
+      }
+    },
     monthNumInit(row) {
       this.monthNum = true;
 
@@ -294,6 +310,7 @@ export default {
     cardHandler(item) {
       this.radio = item.typeCode;
       this.itemTableList = item.detailList;
+      
     },
     //打开前的回调
     openHandler() {},

+ 33 - 23
src/views/system/user/extend.vue

@@ -40,16 +40,25 @@
 
               <el-form-item label="持证上岗未通过原因" v-if="formData.certificateWork == 0" label-width="240"
                             prop="certificateFailReason">
-                <el-select style="width: 280px;" v-model="formData.certificateFailReason" placeholder="请选择未通过原因">
+                <el-select style="width: 225px;" v-model="formData.certificateFailReason" placeholder="请选择未通过原因">
                   <el-option v-for="dict in dict.type.post_no_pass" :key="dict.value" :label="dict.label"
                              :value="dict.value" />
                 </el-select>
               </el-form-item>
             </el-col>
 
+            <el-col :xs="24" :sm="12" :md="8" :lg="8">
+              <el-form-item label="专业技术职业资格" v-if="formData.certificateWork != 0" label-width="240"
+                            prop="professionalQualifications">
+                <el-input style="width: 240px;" maxlength="50" v-model="formData.professionalQualifications"
+                          placeholder="请输入初级以上证书名称">
+                </el-input>
+              </el-form-item>
+            </el-col>
 
           </el-row>
           <el-row>
+     
 
             <el-col :xs="24" :sm="12" :md="8" :lg="6">
               <el-form-item label="所属部门" prop="deptId">
@@ -71,7 +80,7 @@
 
             <el-col :xs="24" :sm="12" :md="8" :lg="6">
               <el-form-item prop="entryTime" label="现任职日期">
-                <el-date-picker v-model="formData.entryTime"  align="right"
+                <el-date-picker style="width: 270px;" v-model="formData.entryTime"  align="right"
                                 type="date" placeholder="选择现任职日期">
                 </el-date-picker>
               </el-form-item>
@@ -100,19 +109,13 @@
 
             <el-col :xs="24" :sm="12" :md="8" :lg="6">
               <el-form-item label="最高学历" prop="highestEducation">
-                <el-select style="width: 217px;" v-model="formData.highestEducation" placeholder="请选择最高学历">
+                <el-select style="width: 270px;" v-model="formData.highestEducation" placeholder="请选择最高学历">
                   <el-option v-for="dict in dict.type.sys_highest_education" :key="dict.value" :label="dict.label"
                              :value="dict.value" />
                 </el-select>
               </el-form-item>
             </el-col>
-            <!-- <el-col :xs="24" :sm="12" :md="8" :lg="8">
-              <el-form-item label="初级以上相关专业技术职业资格" v-if="formData.certificateWork != 0" label-width="240" prop="professionalQualifications">
-                <el-input style="width: 280px;" maxlength="50" v-model="formData.professionalQualifications"
-                  placeholder="请输入初级以上相关专业技术职业资格">
-                </el-input>
-              </el-form-item>
-            </el-col> -->
+        
           </el-row>
           <el-row>
 
@@ -132,12 +135,11 @@
             </el-col>
             <el-col :xs="24" :sm="12" :md="8" :lg="6">
               <el-form-item label="身份证号码" prop="idCard">
-                <el-input maxlength="18" style="width: 217px;" v-model="formData.idCard"
+                <el-input maxlength="18" style="width: 270px;" v-model="formData.idCard"
                           placeholder="请输入身份证号码">
                 </el-input>
               </el-form-item>
             </el-col>
-            <!-- :picker-options="endDatepickerOptions" -->
 
 
           </el-row>
@@ -157,29 +159,31 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :xs="24" :sm="12" :md="8" :lg="8">
+            <!-- <el-col :xs="24" :sm="12" :md="8" :lg="8">
               <el-form-item label="专业技术职业资格" v-if="formData.certificateWork != 0" label-width="240"
                             prop="professionalQualifications">
                 <el-input style="width: 280px;" maxlength="50" v-model="formData.professionalQualifications"
                           placeholder="请输入初级以上证书名称">
                 </el-input>
               </el-form-item>
+            </el-col> -->
+
+            <el-col :xs="24" :sm="12" :md="8" :lg="8">
+              <el-form-item label="金融安全防范工程专家" prop="financialExperts" label-width="240">
+                <el-select style="width: 210px;" v-model="formData.financialExperts" placeholder="请选择金融安全防范工程专家">
+                  <el-option v-for="dict in dict.type.administrative_level" :key="dict.value" :label="dict.label"
+                             :value="dict.value" />
+                </el-select>
+              </el-form-item>
             </el-col>
           </el-row>
-          <el-row>
+          <!-- <el-row>
             <el-col :xs="24" :sm="24" :md="24" :lg="24">
               <el-form-item v-if="formData.certificateWork != 0" label="上传初级以上专业技术职业资格证书">
                 <imgs-upload :limit="5" v-model="formData.qualificationCertificateUrl" :fileSize="2"></imgs-upload>
               </el-form-item>
             </el-col>
-            <!--<el-col :xs="24" :sm="12" :md="8" :lg="6">
-              <el-form-item label="示例图">
-                <div style="width: 280px;">
-                  <el-image :src="uplp"></el-image>
-                </div>
-              </el-form-item>
-            </el-col>-->
-          </el-row>
+          </el-row> -->
         </el-form>
       </div>
       <div style="padding-top: 10px; margin-left: 42%">
@@ -204,7 +208,7 @@ import { extendUserInformation } from "@/api/system/information";
 export default {
   props: [],
   components: { TreeSelect ,ImgsUpload},
-  dicts: ['sys_yes_no','sys_highest_education', "sys_work_type", "sys_duties", "sys_education_type", 'sys_department_type', 'post_no_pass', 'current_position','department_name'],
+  dicts: ['administrative_level','sys_yes_no','sys_highest_education', "sys_work_type", "sys_duties", "sys_education_type", 'sys_department_type', 'post_no_pass', 'current_position','department_name'],
   data() {
     return {
       startDatepickerOptions: {
@@ -248,6 +252,12 @@ export default {
         userId: null,
       },
       rules: {
+        financialExperts:[
+          { required: true, message: '请选择金融安全防范工程专家级别', trigger: 'blur'}
+        ],
+        idCard:[
+          { required: true, message: '请输入身份证号码', trigger: 'change'}
+        ],
         deptId: [
           { required: true, message: '请选择所属部门', trigger: 'blur' },
         ],