2 Commits 3ae8bc6efa ... 3bf88fa8bb

Author SHA1 Message Date
  yuansh 3bf88fa8bb 1 1 week ago
  yuansh c46cff6705 完善 1 week ago

+ 3 - 1
src/views/oa/IncidentTicketList.vue

@@ -77,7 +77,9 @@
             
             <a-col :xl="4" :lg="7" :md="8" :sm="24">
               <a-form-item label="责任人">
-                <a-input placeholder="请输入责任人" v-model="queryParam.responsibilityPerson1"></a-input>
+                <j-search-select-tag v-model="queryParam.responsibilityPerson1" placeholder=""
+                     dict="sys_user,realname,realname" @search="searchName" :multiple="false"/>
+                <!-- <a-input placeholder="请输入责任人" v-model="queryParam.responsibilityPerson1"></a-input> -->
               </a-form-item>
               
             </a-col>

+ 8 - 0
src/views/oa/modules/SyCarryDetailModal.vue

@@ -233,6 +233,14 @@
              ellipsis: true,
              className: 'replacecolor'
            },
+           {
+            title: '抽真空数量',
+            dataIndex: 'vacuumNum',
+            width:120,
+             ellipsis: true,
+             scopedSlots: { customRender: 'vacuumNum' },
+             className: 'replacecolor'
+           },
            {
             title: '集装箱号',
             dataIndex: 'containerNo',

+ 1 - 1
src/views/oa/modules/SyCarryModal.vue

@@ -160,7 +160,7 @@
           <!-- 抽真空数 -->
           <span slot="vacuumNum" slot-scope="text, record, index">
             <!-- <a-form-model-item prop="remarks2"> -->
-                  <a-input placeholder="请输入" v-model="record.vacuumNum" @blur="handleChangePrice(record)" />
+                  <a-input placeholder="请输入" v-model="record.vacuumNum" @blur="handleChangePrice(record)" :disabled="editAll=='yes'"/>
             <!-- </a-form-model-item> -->
           </span>
           

+ 7 - 1
src/views/oa/salary_management/Attendance/attendanceManagement.vue

@@ -35,6 +35,7 @@
       <!-- 操作按钮区域 -->
       <div class="table-operator">
         <a-button @click="UploadAttendanceSheet" type="primary" icon="plus">上传考勤表</a-button>
+        <a-button @click="addPayroll" v-has="'salaryAttendance:importExcel:flj'" type="primary" icon="plus">导入薪金</a-button>
       </div>
   
         <a-table
@@ -62,6 +63,7 @@
       <AttendancelDetail ref="AttendancelDetail"></AttendancelDetail>
       <OvertimeDetail ref="OvertimeDetail"></OvertimeDetail>
       <AnnualLeave ref="AnnualLeave"></AnnualLeave>
+      <uploadPayroll ref="uploadPayroll" @ok="searchQuery"></uploadPayroll>
       <uploadModal ref="uploadModal" @ok="searchQuery"></uploadModal>
     </a-card>
   </template>
@@ -74,6 +76,7 @@
     import AttendancelDetail from './modules/AttendancelDetail.vue'
     import OvertimeDetail from './modules/OvertimeDetail.vue'
     import AnnualLeave from './modules/AnnualLeave.vue'
+    import uploadPayroll from '../personnelSalary/modules/uploadPayroll.vue'
     import uploadModal from './modules/uploadModal.vue'
     export default {
       name: "attendanceManagement",
@@ -83,7 +86,7 @@
         AttendancelDetail,
         AnnualLeave,
         OvertimeDetail,
-        uploadModal
+        uploadModal,uploadPayroll
       },
       data () {
         let ellipsis = (v, l) => <j-ellipsis value={v} length={l} />
@@ -181,6 +184,9 @@
             }
           })
         },
+        addPayroll(){
+          this.$refs.uploadPayroll.visible = true
+        },
         UploadAttendanceSheet(){
           this.$refs.uploadModal.visible = true
         },

+ 4 - 3
src/views/oa/salary_management/personnelSalary/Payroll.vue

@@ -66,6 +66,7 @@
         <a-button @click="createPayroll" type="primary" icon="plus">生成工资单</a-button>
         <a-button @click="addPayroll" type="primary" icon="plus">导入</a-button>
         <a-button @click="daochu" type="primary" icon="plus">导出明细</a-button>
+        <!-- <a-button @click="tempChange" type="primary" icon="plus">初始化</a-button> -->
       </div>
 
       <div>
@@ -275,9 +276,9 @@
         //   // let par = {"excelName":"五月考勤 - 正织","month":"2024-05"}
         //   // let par = {"excelName":"五月考勤 - 森语","month":"2024-05"}
           
-        //   // getAction('/salary/salaryManagement/tempChange',par).then(res=>{
-        //   //   console.log("=====================执行结束");
-        //   // })
+        //   getAction('/salary/salaryManagement/tempChange3',{}).then(res=>{
+        //     console.log("=====================执行结束");
+        //   })
           
           
         // },

+ 2 - 1
src/views/oa/salary_management/personnelSalary/modules/uploadPayroll.vue

@@ -30,7 +30,8 @@
                         </a-col>
                         <a-col :md="24">
                             <a-form-model-item label="文件" >
-                                <a-upload name="file" :multiple="false" :showUploadList="showUploadList" action="/jeecg-boot/salary/salaryManagement/importExcel" :before-upload="beforeUpload" @change="handleUploadChange" :data="{'type':formState.type,'id':this.checked}"  :headers="tokenHeader" >
+                                <a-upload name="file" :multiple="false" :showUploadList="showUploadList" action="/jeecg-boot/salary/salaryAttendance/importExcelFlNz" :before-upload="beforeUpload" @change="handleUploadChange" :data="{'type':formState.type,'id':this.checked}"  :headers="tokenHeader" >
+                                <!-- <a-upload name="file" :multiple="false" :showUploadList="showUploadList" action="/jeecg-boot/salary/salaryManagement/importExcel" :before-upload="beforeUpload" @change="handleUploadChange" :data="{'type':formState.type,'id':this.checked}"  :headers="tokenHeader" > -->
                                     <a-button> <a-icon type="upload" /> 上  传 </a-button>
                                 </a-upload>
                             </a-form-model-item>

+ 16 - 4
src/views/system/UserList.vue

@@ -1,7 +1,7 @@
 <template>
   <a-card :bordered="false">
 
-    <!-- 查询区域 -->
+    <!-- 查询区域 测试 -->
     <div class="table-page-search-wrapper">
       <a-form layout="inline" @keyup.enter.native="searchQuery">
         <a-row :gutter="24">
@@ -256,7 +256,13 @@
             dataIndex: 'workNo',
           },
           {
-            title: '身份证号',
+            title: '证件类型',
+            align: "center",
+            width: 120,
+            dataIndex: 'passportNo',
+          },
+          {
+            title: '证件号',
             align: "center",
             width: 120,
             dataIndex: 'nidNo',
@@ -273,11 +279,17 @@
             width: 180,
             dataIndex: 'belongingCompany'
           },
+          // {
+          //   title: '生日',
+          //   align: "center",
+          //   width: 100,
+          //   dataIndex: 'birthday'
+          // },   
           {
-            title: '生日',
+            title: '入司时间',
             align: "center",
             width: 100,
-            dataIndex: 'birthday'
+            dataIndex: 'nInductionTime'
           },     
           // {
           //   title: '状态',

+ 53 - 3
src/views/system/modules/UserModal.vue

@@ -76,6 +76,15 @@
           <j-select-position placeholder="请选择职务" :multiple="false" v-decorator="['post', validatorRules.post]" />
         </a-form-item>
 
+        <a-form-item label="证件类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
+          <j-dict-select-tag
+            v-decorator="['passportNo', validatorRules.passportNo]"
+            placeholder="请选择证件类型"
+            :triggerChange="true"
+            dictCode="passportNo"
+          />
+        </a-form-item>
+       
         <a-form-item label="身份证号码" :labelCol="labelCol" :wrapperCol="wrapperCol">
           <a-input placeholder="请输入身份证号码" v-decorator="['nidNo', validatorRules.nidNo]"  @blur="changeNidNo"/>
         </a-form-item>
@@ -509,7 +518,11 @@ export default {
                     rules: [{ required: true, message: '请选择性别' }]
                 },
                 nidNo:{
-                    rules: [{ required: true, message: '输入身份证号码'},{validator: this.validateIdCard}]
+                    rules: [{ required: true, message: '请输入身份证号码'},{validator: this.validateIdCard}]
+                    // rules: [{ required: true, message: '请输入身份证号码'}]
+                },
+                passportNo:{
+                    rules: [{ required: true, message: '请选择证件类型'}]
                 },
                 nmarriage:{
                     rules: [{ required: true, message: '请选择婚否' }]
@@ -603,6 +616,13 @@ export default {
         this.fileList = '';
       },
        validateIdCard(rule, value, callback) {
+         
+         var passportNo = this.form.getFieldValue('passportNo')
+                  
+         if(passportNo !='身份证'){
+           callback();
+         }
+         
         if (!value || new RegExp(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/).test(value)) {
           callback();
         } else {
@@ -712,6 +732,7 @@ export default {
                         'nnation',
                         'nnativePlace',
                         'nidNo',
+                        'passportNo',
                         'nhomeAddress',
                         'nrequirement',
                         'nhopeFor',
@@ -809,6 +830,15 @@ export default {
               this.$message.warning("请选择公司");
               return
             }
+            const form = this.form
+            // const passportNo = form.getFieldValue('passportNo')
+            // const nIdNo = form.getFieldValue('nIdNo')
+            
+            // if((passportNo == '' || passportNo == null) && (nIdNo == '' || nIdNo == null)){
+            //   this.$message.warning("身份证号码与护照号码不能全部为空");
+            //   return
+            // }
+            
             const that = this
             // 触发表单验证
             this.form.validateFields((err, values) => {
@@ -820,6 +850,8 @@ export default {
                         values.birthday = values.birthday.format(this.dateFormat)
                     }
                     let formData = Object.assign(this.model, values)
+                    
+                    
                     // 获取公司信息
                     formData.pkOrg = this.orgObject.pkOrg
                     formData.pkOrgName = this.orgObject.pkOrgName
@@ -1077,13 +1109,31 @@ export default {
             //   }
             // }
         },
+        isDateFormat(str) {
+          const regex = /^\d{4}-\d{2}-\d{2}$/;
+          if (!regex.test(str)) return false;
+          const [year, month, day] = str.split('-').map(Number);
+          return month >= 1 && month <= 12 && day >= 1 && day <= 31;
+        },
         changeNidNo(e){
+          
+          var passportNo = this.form.getFieldValue('passportNo')
+         
+          if(passportNo !='身份证'){
+            return
+          }
           var year =  e.target.value.slice(6,10),
           month = e.target.value.slice(10,12),
           day = e.target.value.slice(12,14),
           data = year+'-'+month+'-'+day
-          data = moment(data)
-          this.form.setFieldsValue({birthday:data})
+          
+          if (!this.isDateFormat(data)){
+            return false;
+          } else{
+             data = moment(data)
+            this.form.setFieldsValue({birthday:data})
+          }
+          
         },
         changeWorkNo(e){
           // var that = this