Browse Source

Merge branch 'ol_12_30' into test

mo 3 years ago
parent
commit
f98397c9f8

+ 546 - 392
src/views/HumanResources/form.vue

@@ -8,45 +8,70 @@
         <table class="description-table">
           <tbody>
             <tr class="description-tr">
-              <th class="description-label"><i class="requiredStar">*</i>姓名</th>
+              <th class="description-label">
+                <i class="requiredStar">*</i>姓名
+              </th>
               <td class="description-content">
-                <el-form-item prop="realName" :rules="[
-                  { required: true, message: '请输入姓名', trigger: 'blur' }
-                ]">
-                  <el-input v-model="form.realName" size="mini" placeholder="请输入姓名"/>
+                <el-form-item
+                  prop="realName"
+                  :rules="[
+                    { required: true, message: '请输入姓名', trigger: 'blur' },
+                  ]"
+                >
+                  <el-input
+                    v-model="form.realName"
+                    size="mini"
+                    placeholder="请输入姓名"
+                  />
                 </el-form-item>
               </td>
               <th class="description-label">年龄</th>
               <td class="description-content">
                 <el-form-item prop="age">
-                  <el-input v-model="form.age" size="mini" type="number" min="1" step="1" placeholder="请输入年龄"/>
+                  <el-input
+                    v-model="form.age"
+                    size="mini"
+                    type="number"
+                    min="1"
+                    step="1"
+                    placeholder="请输入年龄"
+                  />
                 </el-form-item>
               </td>
               <th class="description-label">性别</th>
               <td class="description-content">
-                <el-form-item
-                  prop="gender"
-                >
-                  <el-select size="mini" v-model.trim="form.gender"
-                              clearable
-                              filterable
-                              placeholder="请选择性别">
-                    <el-option label="男"
-                                :value="true"></el-option>
-                    <el-option label="女"
-                                :value="false"></el-option>
+                <el-form-item prop="gender">
+                  <el-select
+                    size="mini"
+                    v-model.trim="form.gender"
+                    clearable
+                    filterable
+                    placeholder="请选择性别"
+                  >
+                    <el-option label="男" :value="true"></el-option>
+                    <el-option label="女" :value="false"></el-option>
                   </el-select>
                 </el-form-item>
               </td>
             </tr>
             <tr class="description-tr">
-              <th class="description-label"><i class="requiredStar">*</i>手机号</th>
+              <th class="description-label">
+                <i class="requiredStar">*</i>手机号
+              </th>
               <td class="description-content">
                 <el-form-item
                   prop="mobileNo"
                   :rules="[
-                    { required: true, message: '请输入手机号', trigger: 'blur' },
-                    { pattern: /^1\d{10}$/, message: '请输入正确的手机号', trigger: 'blur'}
+                    {
+                      required: true,
+                      message: '请输入手机号',
+                      trigger: 'blur',
+                    },
+                    {
+                      pattern: /^1\d{10}$/,
+                      message: '请输入正确的手机号',
+                      trigger: 'blur',
+                    },
                   ]"
                 >
                   <el-input
@@ -57,14 +82,12 @@
                     placeholder="请输入手机号"
                     type="tel"
                   />
-                    <!-- @blur="mobileOrWechatValidate" -->
+                  <!-- @blur="mobileOrWechatValidate" -->
                 </el-form-item>
               </td>
               <th class="description-label">微信号</th>
               <td class="description-content">
-                <el-form-item
-                  prop="wechatNo"
-                >
+                <el-form-item prop="wechatNo">
                   <el-input
                     size="mini"
                     v-model="form.wechatNo"
@@ -74,10 +97,12 @@
               </td>
               <th class="description-label">身份证号</th>
               <td class="description-content">
-                <el-form-item
-                  prop="idCard"
-                >
-                  <el-input size="mini" v-model="form.idCard" placeholder="请输入身份证号"/>
+                <el-form-item prop="idCard">
+                  <el-input
+                    size="mini"
+                    v-model="form.idCard"
+                    placeholder="请输入身份证号"
+                  />
                 </el-form-item>
               </td>
             </tr>
@@ -91,49 +116,66 @@
       <div class="description-view">
         <table class="description-table">
           <tbody>
-            <tr class="description-tr" v-for="(item, index) in form.educations" :key="index">
-                <th class="description-label desc-item">
-                  <span class="close">
-                    <i v-if="index === 0" @click="addEducation" class="el-icon-circle-plus-outline"/>
-                    <i v-else @click="removeEducation(index)" class="el-icon-remove-outline"/>
-                  </span>学历</th>
-                <td class="description-content">
-                  <el-form-item
-                    :prop="'educations.' + index + '.level'"
-                  >
-                    <el-input v-model="form.educations[index].level" size="mini" placeholder="请输入学历"/>
-                  </el-form-item>
-                </td>
-                <th class="description-label">学校</th>
-                <td class="description-content">
-                  <el-form-item
-                    :prop="'educations.' + index + '.school'"
-                  >
-                    <el-input size="mini" v-model="form.educations[index].school" placeholder="请输入学校"/>
-                  </el-form-item>
-                </td>
-                <th class="description-label">专业</th>
-                <td class="description-content">
-                  <el-form-item
-                    :prop="'educations.' + index + '.subject'"
-                  >
-                    <el-input size="mini" v-model="form.educations[index].subject" placeholder="请输入专业"/>
-                  </el-form-item>
-                </td>
-                <th class="description-label">毕业时间</th>
-                <td class="description-content">
-                  <el-form-item
-                    :prop="'educations.' + index + '.year'"
-                  >
-                    <el-date-picker
-                      type="month"
-                      placeholder="请选择毕业时间"
-                      size="mini"
-                      v-model="form.educations[index].year"
-                    />
-                  </el-form-item>
-                </td>
-              </tr>
+            <tr
+              class="description-tr"
+              v-for="(item, index) in form.educations"
+              :key="index"
+            >
+              <th class="description-label desc-item">
+                <span class="close">
+                  <i
+                    v-if="index === 0"
+                    @click="addEducation"
+                    class="el-icon-circle-plus-outline"
+                  />
+                  <i
+                    v-else
+                    @click="removeEducation(index)"
+                    class="el-icon-remove-outline"
+                  /> </span
+                >学历
+              </th>
+              <td class="description-content">
+                <el-form-item :prop="'educations.' + index + '.level'">
+                  <el-input
+                    v-model="form.educations[index].level"
+                    size="mini"
+                    placeholder="请输入学历"
+                  />
+                </el-form-item>
+              </td>
+              <th class="description-label">学校</th>
+              <td class="description-content">
+                <el-form-item :prop="'educations.' + index + '.school'">
+                  <el-input
+                    size="mini"
+                    v-model="form.educations[index].school"
+                    placeholder="请输入学校"
+                  />
+                </el-form-item>
+              </td>
+              <th class="description-label">专业</th>
+              <td class="description-content">
+                <el-form-item :prop="'educations.' + index + '.subject'">
+                  <el-input
+                    size="mini"
+                    v-model="form.educations[index].subject"
+                    placeholder="请输入专业"
+                  />
+                </el-form-item>
+              </td>
+              <th class="description-label">毕业时间</th>
+              <td class="description-content">
+                <el-form-item :prop="'educations.' + index + '.year'">
+                  <el-date-picker
+                    type="month"
+                    placeholder="请选择毕业时间"
+                    size="mini"
+                    v-model="form.educations[index].year"
+                  />
+                </el-form-item>
+              </td>
+            </tr>
           </tbody>
         </table>
       </div>
@@ -144,32 +186,39 @@
       <div class="description-view">
         <table class="description-table">
           <tbody>
-             <tr class="description-tr">
+            <tr class="description-tr">
               <th class="description-label">所在城市</th>
               <td class="description-content">
-                <el-form-item prop="liveCity"
-                >
-                  <el-input size="mini" v-model.trim="form.liveCity" placeholder="请输入所在城市"/>
+                <el-form-item prop="liveCity">
+                  <el-input
+                    size="mini"
+                    v-model.trim="form.liveCity"
+                    placeholder="请输入所在城市"
+                  />
                 </el-form-item>
               </td>
               <th class="description-label">意向城市</th>
-              <td class="description-content"
-              >
+              <td class="description-content">
                 <el-form-item prop="intentionCity">
-                  <el-input size="mini" v-model.trim="form.intentionCity" placeholder="请输入意向城市"/>
+                  <el-input
+                    size="mini"
+                    v-model.trim="form.intentionCity"
+                    placeholder="请输入意向城市"
+                  />
                 </el-form-item>
               </td>
               <th class="description-label">意向合作模式</th>
               <td class="description-content">
                 <el-form-item prop="jobNature">
-                  <el-select size="mini" v-model.trim="form.jobNature"
-                              clearable
-                              filterable
-                              placeholder="请选择意向合作模式">
-                    <el-option label="兼职"
-                                value="PART_TIME"></el-option>
-                    <el-option label="全职"
-                                value="FULL_TIME"></el-option>
+                  <el-select
+                    size="mini"
+                    v-model.trim="form.jobNature"
+                    clearable
+                    filterable
+                    placeholder="请选择意向合作模式"
+                  >
+                    <el-option label="兼职" value="PART_TIME"></el-option>
+                    <el-option label="全职" value="FULL_TIME"></el-option>
                   </el-select>
                 </el-form-item>
               </td>
@@ -178,16 +227,16 @@
               <th class="description-label">岗位类别</th>
               <td class="description-content">
                 <el-form-item prop="jobType">
-                  <el-select size="mini" v-model.trim="form.jobType"
-                              clearable
-                              filterable
-                              placeholder="请选择岗位类别">
-                    <el-option label="指导老师"
-                              value="ADVISER"></el-option>
-                    <el-option label="乐团主管"
-                              value="ACADEMIC"></el-option>
-                    <el-option label="乐队指导"
-                              value="TEACHING"></el-option>
+                  <el-select
+                    size="mini"
+                    v-model.trim="form.jobType"
+                    clearable
+                    filterable
+                    placeholder="请选择岗位类别"
+                  >
+                    <el-option label="指导老师" value="ADVISER"></el-option>
+                    <el-option label="乐团主管" value="ACADEMIC"></el-option>
+                    <el-option label="乐队指导" value="TEACHING"></el-option>
                   </el-select>
                 </el-form-item>
               </td>
@@ -195,15 +244,16 @@
               <td class="description-content" colspan="3">
                 <el-form-item prop="subjectIdList">
                   <el-select
-                  size="mini"
+                    size="mini"
                     v-model.trim="form.subjectIdList"
                     clearable
                     filterable
                     multiple
                     collapse-tags
-                    placeholder='请选择声部'
+                    placeholder="请选择声部"
                   >
-                    <el-option v-for='(item,index) in subjectList'
+                    <el-option
+                      v-for="(item, index) in subjectList"
                       :key="index"
                       :value="String(item.id)"
                       :label="item.name"
@@ -217,55 +267,51 @@
               <th class="description-label">信息来源</th>
               <td class="description-content">
                 <el-form-item prop="sourceFrom">
-                  <el-select v-model.trim="form.sourceFrom"
-                              clearable
-                              filterable
-                              size="mini"
-                              placeholder="请选择信息来源">
-                    <el-option label="BOSS"
-                                value="BOSS"></el-option>
-                    <el-option label="转介绍"
-                                value="转介绍"></el-option>
-                    <el-option label="其它"
-                                value="其它"></el-option>
+                  <el-select
+                    v-model.trim="form.sourceFrom"
+                    clearable
+                    filterable
+                    size="mini"
+                    placeholder="请选择信息来源"
+                  >
+                    <el-option label="BOSS" value="BOSS"></el-option>
+                    <el-option label="转介绍" value="转介绍"></el-option>
+                    <el-option label="其它" value="其它"></el-option>
                   </el-select>
                 </el-form-item>
               </td>
               <th class="description-label">人员状态</th>
               <td class="description-content">
                 <el-form-item prop="status">
-                  <el-select size="mini" v-model.trim="form.status"
-                              clearable
-                              filterable
-                              placeholder="请选择人员状态">
-                    <el-option label="未录用"
-                                value="NOT_EMPLOYED"></el-option>
-                    <el-option label="面试中"
-                                value="INTERVIEWING"></el-option>
-                    <el-option label="储备"
-                                value="RESERVE"></el-option>
-                    <el-option label="兼职"
-                                value="PART_TIME"></el-option>
-                    <el-option label="全职"
-                                value="FULL_TIME"></el-option>
-                    <el-option label="离职"
-                                value="DIMISSION"></el-option>
-                    <el-option label="黑名单"
-                                value="BLACK_LIST"></el-option>
+                  <el-select
+                    size="mini"
+                    v-model.trim="form.status"
+                    clearable
+                    filterable
+                    placeholder="请选择人员状态"
+                  >
+                    <el-option label="未录用" value="NOT_EMPLOYED"></el-option>
+                    <el-option label="面试中" value="INTERVIEWING"></el-option>
+                    <el-option label="储备" value="RESERVE"></el-option>
+                    <el-option label="兼职" value="PART_TIME"></el-option>
+                    <el-option label="全职" value="FULL_TIME"></el-option>
+                    <el-option label="离职" value="DIMISSION"></el-option>
+                    <el-option label="黑名单" value="BLACK_LIST"></el-option>
                   </el-select>
                 </el-form-item>
               </td>
               <th class="description-label">HRBP</th>
               <td class="description-content">
                 <el-form-item prop="hrbp">
-                <el-select
-                  size="mini"
+                  <el-select
+                    size="mini"
                     v-model.trim="form.hrbp"
                     clearable
                     filterable
-                    placeholder='请选择HRBP'
+                    placeholder="请选择HRBP"
                   >
-                    <el-option v-for='(item,index) in roleList'
+                    <el-option
+                      v-for="(item, index) in roleList"
                       :key="index"
                       :value="String(item.userId)"
                       :label="item.userName"
@@ -288,9 +334,7 @@
             <tr class="description-tr">
               <th class="description-label">入职日期</th>
               <td class="description-content">
-                <el-form-item
-                  prop="entryDate"
-                >
+                <el-form-item prop="entryDate">
                   <el-date-picker
                     type="date"
                     placeholder="选择入职日期"
@@ -301,9 +345,7 @@
               </td>
               <th class="description-label">离职日期</th>
               <td class="description-content">
-                <el-form-item
-                  prop="resignationDate"
-                >
+                <el-form-item prop="resignationDate">
                   <el-date-picker
                     type="date"
                     placeholder="选择离职日期"
@@ -314,57 +356,55 @@
               </td>
               <th class="description-label">离职原因</th>
               <td class="description-content">
-                <el-form-item
-                  prop="resignationReason"
-                >
-                  <el-input size="mini" v-model.trim="form.resignationReason" placeholder="请输入离职原因"/>
+                <el-form-item prop="resignationReason">
+                  <el-input
+                    size="mini"
+                    v-model.trim="form.resignationReason"
+                    placeholder="请输入离职原因"
+                  />
                 </el-form-item>
               </td>
             </tr>
             <tr class="description-tr">
               <th class="description-label">分部</th>
               <td class="description-content">
-                <el-form-item
-                  prop="organId"
-                >
-                  <el-select v-model.trim="form.organId"
-                      placeholder='请选择分部'
-                      clearable
-                      filterable
-                      size="mini"
+                <el-form-item prop="organId">
+                  <el-select
+                    v-model.trim="form.organId"
+                    placeholder="请选择分部"
+                    clearable
+                    filterable
+                    size="mini"
+                  >
+                    <el-option
+                      v-for="(item, index) in organList"
+                      :key="index"
+                      :value="item.id"
+                      :label="item.name"
                     >
-                      <el-option v-for='(item,index) in organList'
-                        :key="index"
-                        :value="item.id"
-                        :label="item.name"
-                      >
-                      </el-option>
-                    </el-select>
-                  </el-form-item>
+                    </el-option>
+                  </el-select>
+                </el-form-item>
               </td>
               <th class="description-label">职位</th>
               <td class="description-content">
-                <el-form-item
-                  prop="position"
-                >
-                  <el-select v-model.trim="form.position"
-                            clearable
-                            filterable
-                            size="mini"
-                            placeholder="请选择职位">
-                    <el-option label="指导老师"
-                              value="ADVISER"></el-option>
-                    <el-option label="乐团主管"
-                              value="ACADEMIC"></el-option>
-                    <el-option label="乐队指导"
-                              value="TEACHING"></el-option>
+                <el-form-item prop="position">
+                  <el-select
+                    v-model.trim="form.position"
+                    clearable
+                    filterable
+                    size="mini"
+                    placeholder="请选择职位"
+                  >
+                    <el-option label="指导老师" value="ADVISER"></el-option>
+                    <el-option label="乐团主管" value="ACADEMIC"></el-option>
+                    <el-option label="乐队指导" value="TEACHING"></el-option>
                   </el-select>
                 </el-form-item>
               </td>
               <th class="description-label">声部</th>
               <td class="description-content">
-                <el-form-item prop="jobSubjectIdList"
-                >
+                <el-form-item prop="jobSubjectIdList">
                   <el-select
                     size="mini"
                     v-model.trim="form.jobSubjectIdList"
@@ -372,9 +412,10 @@
                     filterable
                     multiple
                     collapse-tags
-                    placeholder='请选择声部'
+                    placeholder="请选择声部"
                   >
-                    <el-option v-for='(item,index) in subjectList'
+                    <el-option
+                      v-for="(item, index) in subjectList"
                       :key="index"
                       :value="String(item.id)"
                       :label="item.name"
@@ -387,19 +428,29 @@
             <tr class="description-tr">
               <th class="description-label">紧急联系人姓名</th>
               <td class="description-content">
-                <el-form-item
-                  prop="emergencyContactName"
-                >
-                  <el-input size="mini" v-model.trim="form.emergencyContactName" placeholder="请输入紧急联系人姓名"/>
+                <el-form-item prop="emergencyContactName">
+                  <el-input
+                    size="mini"
+                    v-model.trim="form.emergencyContactName"
+                    placeholder="请输入紧急联系人姓名"
+                  />
                 </el-form-item>
               </td>
               <th class="description-label">紧急联系人关系</th>
               <td class="description-content">
                 <el-form-item
                   prop="emergencyContactRelation"
-                  :rules="{ required: propRequred, message: '请输入紧急联系人关系', trigger: 'blur' }"
+                  :rules="{
+                    required: propRequred,
+                    message: '请输入紧急联系人关系',
+                    trigger: 'blur',
+                  }"
                 >
-                  <el-input size="mini" v-model.trim="form.emergencyContactRelation" placeholder="请输入紧急联系人关系"/>
+                  <el-input
+                    size="mini"
+                    v-model.trim="form.emergencyContactRelation"
+                    placeholder="请输入紧急联系人关系"
+                  />
                 </el-form-item>
               </td>
               <th class="description-label">紧急联系人电话</th>
@@ -407,26 +458,43 @@
                 <el-form-item
                   prop="emergencyContactPhone"
                   :rules="[
-                    { min: 11, max: 11, message: '请输入正确的手机号码', trigger: 'blur' }
+                    {
+                      min: 11,
+                      max: 11,
+                      message: '请输入正确的手机号码',
+                      trigger: 'blur',
+                    },
                   ]"
                 >
-                  <el-input size="mini" v-model.trim="form.emergencyContactPhone" minlength="11" maxlength="11" placeholder="请输入紧急联系人电话"/>
+                  <el-input
+                    size="mini"
+                    v-model.trim="form.emergencyContactPhone"
+                    minlength="11"
+                    maxlength="11"
+                    placeholder="请输入紧急联系人电话"
+                  />
                 </el-form-item>
               </td>
             </tr>
             <tr class="description-tr">
               <th class="description-label">开户行</th>
               <td class="description-content">
-                <el-form-item
-                  prop="bankAddress">
-                  <el-input size="mini" v-model="form.bankAddress" placeholder="请输入开户行"/>
+                <el-form-item prop="bankAddress">
+                  <el-input
+                    size="mini"
+                    v-model="form.bankAddress"
+                    placeholder="请输入开户行"
+                  />
                 </el-form-item>
               </td>
               <th class="description-label">银行卡号</th>
               <td class="description-content" colspan="3">
-                <el-form-item
-                  prop="bankCardNo">
-                  <el-input size="mini" v-model="form.bankCardNo" placeholder="请输入银行卡号"/>
+                <el-form-item prop="bankCardNo">
+                  <el-input
+                    size="mini"
+                    v-model="form.bankCardNo"
+                    placeholder="请输入银行卡号"
+                  />
                 </el-form-item>
               </td>
             </tr>
@@ -435,15 +503,28 @@
       </div>
     </el-form>
 
-    <div class="tableWrap" style="margin-top: 20px;" v-if="formActionTitle == 'update'">
+    <div
+      class="tableWrap"
+      style="margin-top: 20px"
+      v-if="formActionTitle == 'update'"
+    >
       <div class="description-title head_title">
         <span>在职信息</span>
-        <span class="createRecord" @click="onCreateRecord" v-if="$helpers.permission('employeeInfo/insertVisit')">新增沟通记录 >></span>
+        <span
+          class="createRecord"
+          @click="onCreateRecord"
+          v-if="$helpers.permission('employeeInfo/insertVisit')"
+          >新增沟通记录 >></span
+        >
       </div>
       <el-table
         style="width: 100% !important"
         :data="tableList"
-        :header-cell-style="{ background: '#fafafa', color: '#444', borderTop: '1px solid #ebeef5' }"
+        :header-cell-style="{
+          background: '#fafafa',
+          color: '#444',
+          borderTop: '1px solid #ebeef5',
+        }"
       >
         <el-table-column
           align="center"
@@ -452,7 +533,12 @@
         ></el-table-column>
         <el-table-column align="center" prop="operatorName" label="沟通人">
         </el-table-column>
-        <el-table-column align="center" prop="content" label="沟通结论" show-overflow-tooltip>
+        <el-table-column
+          align="center"
+          prop="content"
+          label="沟通结论"
+          show-overflow-tooltip
+        >
           <template slot-scope="scope">
             <!-- <el-tooltip
               class="item"
@@ -460,21 +546,30 @@
               :content="scope.row.content"
               placement="top"
             > -->
-              {{ scope.row.content }}
+            {{ scope.row.content }}
             <!-- </el-tooltip> -->
           </template>
         </el-table-column>
-        <el-table-column align="center" prop="nextVisitDate" label="下次沟通时间">
+        <el-table-column
+          align="center"
+          prop="nextVisitDate"
+          label="下次沟通时间"
+        >
           <template slot-scope="scope">
-              {{ scope.row.nextVisitDate | dayjsFormat }}
-            </template>
+            {{ scope.row.nextVisitDate | dayjsFormat }}
+          </template>
         </el-table-column>
       </el-table>
     </div>
 
     <span class="dialog-footer">
       <el-button @click="close('ruleForm')">取 消</el-button>
-      <el-button type="primary" class="main-button" @click="onTypeSubmit('ruleForm')">确 定</el-button>
+      <el-button
+        type="primary"
+        class="main-button"
+        @click="onTypeSubmit('ruleForm')"
+        >确 定</el-button
+      >
     </span>
 
     <el-dialog
@@ -496,46 +591,58 @@
 </template>
 <script>
 // import Vue from 'vue'
-import { employeeCreate, employeeUpdate, employeeQueryDetail } from '@/api/appTenant'
-import CreateRecord from './createRecord.vue'
+import {
+  employeeCreate,
+  employeeUpdate,
+  employeeQueryDetail,
+} from "@/api/appTenant";
+import CreateRecord from "./createRecord.vue";
 export default {
-  name: 'hrform',
-  props: ['detail', 'subjectList', 'organList', 'close', 'getList', 'formActionTitle', 'roleList'],
+  name: "hrform",
+  props: [
+    "detail",
+    "subjectList",
+    "organList",
+    "close",
+    "getList",
+    "formActionTitle",
+    "roleList",
+  ],
   components: {
-    CreateRecord
+    CreateRecord,
   },
   data() {
     return {
       recordStatus: false,
-      realName: '',
+      realName: "",
       form: {
-        age: '',
-        bankAddress: '',
-        bankCardNo: '',
-        birthdate: '',
-        educationalBackground: '',
-        emergencyContactName: '',
-        emergencyContactPhone: '',
-        emergencyContactRelation: '',
-        entryDate: '',
-        gender: '',
-        idCard: '',
-        intentionCity: '',
-        assessmentResult: '',
-        status: '',
-        isProbationPeriod: '',
-        liveCity: '',
-        mobileNo: '',
-        otherComment: '',
-        position: '',
-        realName: '',
-        resignationDate: '',
+        age: "",
+        bankAddress: "",
+        bankCardNo: "",
+        birthdate: "",
+        educationalBackground: "",
+        emergencyContactName: "",
+        emergencyContactPhone: "",
+        emergencyContactRelation: "",
+        entryDate: "",
+        gender: "",
+        idCard: "",
+        intentionCity: "",
+        assessmentResult: "",
+        status: "",
+        isProbationPeriod: "",
+        liveCity: "",
+        mobileNo: "",
+        otherComment: "",
+        position: "",
+        realName: "",
+        resignationDate: "",
         subjectIdList: [],
         jobSubjectIdList: [],
-        wechatNo: '',
-        organId: '',
-        sourceFrom: '',
-        educations: [{level: '', school: '', year: ''}]
+        wechatNo: "",
+        organId: "",
+        sourceFrom: "",
+        educations: [{ level: "", school: "", year: "" }],
       },
       rules: {
         // birthdate: [
@@ -567,225 +674,272 @@ export default {
         // ],
       },
       tableList: [],
-    }
+    };
   },
   watch: {
     detail() {
-     this.updateData()
+      this.updateData();
     },
   },
   async mounted() {
-    this.updateData()
-    if(this.formActionTitle == 'update') {
-      this.getRecordList()
+    this.updateData();
+    if (this.formActionTitle == "update") {
+      this.getRecordList();
     }
   },
   computed: {
     propRequred() {
-      return this.form.status === 'PART_TIME' || this.form.status === 'FULL_TIME' || this.form.status === 'DIMISSION'
-    }
+      return (
+        this.form.status === "PART_TIME" ||
+        this.form.status === "FULL_TIME" ||
+        this.form.status === "DIMISSION"
+      );
+    },
   },
   methods: {
     updateData() {
       if (this.detail) {
         try {
-          this.detail.subjectIdList = this.detail.subjectIdList ? this.detail.subjectIdList.split(',') : []
-          this.detail.jobSubjectIdList = this.detail.jobSubjectIdList ? this.detail.jobSubjectIdList.split(',') : []
+          this.detail.subjectIdList = this.detail.subjectIdList
+            ? this.detail.subjectIdList.split(",")
+            : [];
+          this.detail.jobSubjectIdList = this.detail.jobSubjectIdList
+            ? this.detail.jobSubjectIdList.split(",")
+            : [];
         } catch (error) {}
         if (this.detail.organId === 0) {
-          this.detail.organId = ''
+          this.detail.organId = "";
         }
         if (this.detail.age === 0) {
-          this.detail.age = ''
+          this.detail.age = "";
         }
-        this.form = Object.assign({
-          educations: [{level: '', school: '', year: '', subject: ''}]
-        }, this.detail)
+        this.form = Object.assign(
+          {
+            educations: [{ level: "", school: "", year: "", subject: "" }],
+          },
+          this.detail
+        );
         try {
-          this.form.educations = JSON.parse(this.detail.educationalBackground)
+          this.form.educations = JSON.parse(this.detail.educationalBackground);
           if (this.form.educations.length < 1) {
-            this.form.educations = [{level: '', school: '', year: '', subject: ''}]
+            this.form.educations = [
+              { level: "", school: "", year: "", subject: "" },
+            ];
           }
-          this.form = {...this.form}
+          this.form = { ...this.form };
         } catch (error) {}
 
-        console.log(this.form)
+        console.log(this.form);
       } else {
-        this.form.educations = [{level: '', school: '', year: '', subject: ''}]
-        this.form = {...this.form}
+        this.form.educations = [
+          { level: "", school: "", year: "", subject: "" },
+        ];
+        this.form = { ...this.form };
       }
-      this.$refs['ruleForm'].resetFields()
+      this.$refs["ruleForm"].resetFields();
     },
     addEducation() {
-      this.form.educations = [...this.form.educations, {level: '', school: '', year: '', subject: ''}]
-      this.form = {...this.form}
+      this.form.educations = [
+        ...this.form.educations,
+        { level: "", school: "", year: "", subject: "" },
+      ];
+      this.form = { ...this.form };
     },
     removeEducation(index) {
-      this.form.educations[index] = null
-      this.form.educations = this.form.educations.filter(item => !!item)
-      this.form = {...this.form}
+      this.form.educations[index] = null;
+      this.form.educations = this.form.educations.filter((item) => !!item);
+      this.form = { ...this.form };
     },
     onTypeSubmit() {
-      this.$refs['ruleForm'].validate(valid => {
+      this.$refs["ruleForm"].validate((valid) => {
         if (valid) {
-          const { $message } = this
-          this.form.educationalBackground = JSON.stringify(this.form.educations)
-          const {educations, subjectIdList, jobSubjectIdList, ...rest} = this.form
+          const { $message } = this;
+          this.form.educationalBackground = JSON.stringify(
+            this.form.educations
+          );
+          const { educations, subjectIdList, jobSubjectIdList, ...rest } =
+            this.form;
           if (this.detail && this.detail.id) {
-            employeeUpdate(Object.assign({id: this.detail.id, subjectIdList: (subjectIdList || []).join(','), jobSubjectIdList: (jobSubjectIdList || []).join(',')}, rest))
-            .then(res => {
+            employeeUpdate(
+              Object.assign(
+                {
+                  id: this.detail.id,
+                  subjectIdList: (subjectIdList || []).join(","),
+                  jobSubjectIdList: (jobSubjectIdList || []).join(","),
+                },
+                rest
+              )
+            ).then((res) => {
               if (res.code === 200) {
-                $message.success('修改成功')
-                this.close('ruleForm')
+                $message.success("修改成功");
+                this.close("ruleForm");
                 // this.getList()
               }
-            })
+            });
           } else {
-            employeeCreate({subjectIdList: (subjectIdList || []).join(','), ...rest})
-            .then(res => {
+            employeeCreate({
+              subjectIdList: (subjectIdList || []).join(","),
+              ...rest,
+            }).then((res) => {
               if (res.code === 200) {
-                $message.success('创建成功')
-                this.close('ruleForm')
+                $message.success("创建成功");
+                this.close("ruleForm");
                 // this.getList()
+              } else if (res.code == 206) {
+                this.$confirm(res.msg, "提示", {
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning",
+                }).then((res) => {
+                  employeeCreate({
+                    subjectIdList: (subjectIdList || []).join(","),
+                    ...rest,
+                    cover: true,
+                  }).then((res) => {
+                    if (res.code == 200) {
+                      $message.success("提交成功");
+                      this.close("ruleForm");
+                    }
+                  });
+                });
               }
-            })
+            });
           }
         }
-      })
+      });
     },
     mobileOrWechatValidate() {
-      this.$refs['ruleForm'].validateField('mobileNo')
+      this.$refs["ruleForm"].validateField("mobileNo");
     },
     onCreateRecord() {
       // 新增沟通记录
-      this.recordStatus = true
+      this.recordStatus = true;
     },
     getRecordList() {
-      employeeQueryDetail({ id: this.detail.id }).then(res => {
-        let result = res.data.employeeVisitList || []
-        this.tableList = result
-      })
-    }
-  }
-}
+      employeeQueryDetail({ id: this.detail.id }).then((res) => {
+        let result = res.data.employeeVisitList || [];
+        this.tableList = result;
+      });
+    },
+  },
+};
 </script>
 <style lang="less" scoped>
-  .desc-item{
-    position: relative;
-    .close{
-      position: absolute;
-      left: 10px;
-      cursor: pointer;
-    }
-  }
-  .main-button{
-    background-color: #14928a;
-    border-color: #14928a;
-  }
-  .dialog-footer{
-    display: block;
-    text-align: right;
-    margin-top: 20px;
-  }
-  .description-title {
-    margin-bottom: 10px;
-    color: rgba(0,0,0,.85);
-    font-weight: 700;
-    font-size: 16px;
-    line-height: 1.5;
-  }
-  .description-view {
-    width: 100%;
-    border: 1px solid #e8e8e8;
-  }
-  .description-view .description-table {
-    width: 100%;
-    /* border: 1px solid #e8e8e8; */
-    border-collapse: collapse;
-    table-layout: fixed;
+.desc-item {
+  position: relative;
+  .close {
+    position: absolute;
+    left: 10px;
+    cursor: pointer;
   }
-  .description-view .description-tr {
-    border-bottom: 1px solid #e8e8e8;
-    width: 100%;
-  }
-  .description-view .description-tr:last-child {
-    border-bottom: none;
-  }
-  .description-view .description-label {
-    border-right: 1px solid #e8e8e8;
-    background-color: #fafafa;
-    color: #000;
-    font-weight: 400;
-    font-size: 14px;
-    line-height: 22px;
-    /* margin-right: 8px; */
-    // padding: 0 16px;
-    width: 140px;
-    white-space: nowrap;
-    display: table-cell;
-  }
-  // .description-view .description-label:after {
-    // content: ""; /** content: ":" */
-    // margin: 0 8px 0 2px;
-    // position: relative;
-    // top: -0.5px;
-  // }
-  .description-view .description-content {
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    border-right: 1px solid #e8e8e8;
-    font-size: 14px;
-    line-height: 1.5;
-    // padding: 12px 16px;
-    // padding-bottom: 0;
-    color: rgba(0, 0, 0, 0.65);
-    display: table-cell;
-  }
-  .description-tr .description-content:last-child {
-    border-right: none;
-  }
-  .form{
-    /deep/ .el-form-item{
-      margin-bottom: 0;
-      &.is-error {
-        border: 1px solid red;
-        .el-input__inner {
-          color: red;
-        }
-        input::-webkit-input-placeholder {
-          color: red;
-        }
-        input::-moz-placeholde{
-          color: red;
-        }
-        input::-ms-input-placeholder {
-          color: red;
-        }
+}
+.main-button {
+  background-color: #14928a;
+  border-color: #14928a;
+}
+.dialog-footer {
+  display: block;
+  text-align: right;
+  margin-top: 20px;
+}
+.description-title {
+  margin-bottom: 10px;
+  color: rgba(0, 0, 0, 0.85);
+  font-weight: 700;
+  font-size: 16px;
+  line-height: 1.5;
+}
+.description-view {
+  width: 100%;
+  border: 1px solid #e8e8e8;
+}
+.description-view .description-table {
+  width: 100%;
+  /* border: 1px solid #e8e8e8; */
+  border-collapse: collapse;
+  table-layout: fixed;
+}
+.description-view .description-tr {
+  border-bottom: 1px solid #e8e8e8;
+  width: 100%;
+}
+.description-view .description-tr:last-child {
+  border-bottom: none;
+}
+.description-view .description-label {
+  border-right: 1px solid #e8e8e8;
+  background-color: #fafafa;
+  color: #000;
+  font-weight: 400;
+  font-size: 14px;
+  line-height: 22px;
+  /* margin-right: 8px; */
+  // padding: 0 16px;
+  width: 140px;
+  white-space: nowrap;
+  display: table-cell;
+}
+// .description-view .description-label:after {
+// content: ""; /** content: ":" */
+// margin: 0 8px 0 2px;
+// position: relative;
+// top: -0.5px;
+// }
+.description-view .description-content {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  border-right: 1px solid #e8e8e8;
+  font-size: 14px;
+  line-height: 1.5;
+  // padding: 12px 16px;
+  // padding-bottom: 0;
+  color: rgba(0, 0, 0, 0.65);
+  display: table-cell;
+}
+.description-tr .description-content:last-child {
+  border-right: none;
+}
+.form {
+  /deep/ .el-form-item {
+    margin-bottom: 0;
+    &.is-error {
+      border: 1px solid red;
+      .el-input__inner {
+        color: red;
+      }
+      input::-webkit-input-placeholder {
+        color: red;
+      }
+      input::-moz-placeholde {
+        color: red;
+      }
+      input::-ms-input-placeholder {
+        color: red;
       }
     }
-    /deep/ .el-form-item__error{
-      display: none;
-    }
-    /deep/.el-input__inner {
-      border: 0;
-    }
-
   }
-  .requiredStar {
-    padding-right: 3px;
-    font-style: normal;
-    color: red;
+  /deep/ .el-form-item__error {
+    display: none;
   }
-  .head_title {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    .createRecord {
-      font-size: 14px;
-      font-weight: 400;
-      color: #14928a;
-      cursor: pointer;
-    }
+  /deep/.el-input__inner {
+    border: 0;
   }
+}
+.requiredStar {
+  padding-right: 3px;
+  font-style: normal;
+  color: red;
+}
+.head_title {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  .createRecord {
+    font-size: 14px;
+    font-weight: 400;
+    color: #14928a;
+    cursor: pointer;
+  }
+}
 </style>

+ 12 - 0
src/views/backManager/api.js

@@ -9,3 +9,15 @@ export function getUserCashAccountLog(data) {
     requestType: 'form'
   })
 }
+
+
+// 修改
+export function resetUserCashAccountLog(data) {
+  return request2({
+    url: api + '/userCashAccountLog/update',
+    method: 'get',
+    params:data,
+    requestType: 'form'
+  })
+}
+

+ 56 - 15
src/views/backManager/index.vue

@@ -163,9 +163,11 @@
           <el-table-column align="center" prop="studentId" label="操作">
             <template slot-scope="scope">
               <div>
+                    <auth auths='userCashAccountLog/update'>
                 <el-button type="text" @click="resetBackForm(scope.row)"
                   >修改</el-button
                 >
+                    </auth>
               </div>
             </template>
           </el-table-column>
@@ -181,30 +183,47 @@
       </div>
     </div>
     <el-dialog :visible.sync="resetVisible" title="修改退费记录" width="400px">
-      <el-form :model="form" :rules="rules">
-        <el-form-item label="编号">{{ form.id }}</el-form-item>
-        <el-form-item label="学员">{{ form.username }}</el-form-item>
-        <el-form-item label="课程组编号">{{ form.groupId }}</el-form-item>
-        <el-form-item label="金额">{{
-          form.amount | moneyFormat
-        }}</el-form-item>
+      <el-form :model="form" :rules="rules" :inline="true" label-width="100px" class="form" ref="form">
+        <el-form-item label="编号"
+          ><el-input :disabled="true" v-model="form.id"></el-input
+        ></el-form-item>
+        <el-form-item label="学员"
+          ><el-input :disabled="true" v-model="form.username"></el-input
+        ></el-form-item>
+        <el-form-item label="课程组编号"
+          ><el-input :disabled="true" v-model="form.groupId"></el-input
+        ></el-form-item>
+        <el-form-item label="金额"
+          ><el-input
+            :disabled="true"
+            :value="form.amount | moneyFormat"
+          ></el-input>
+        </el-form-item>
         <el-form-item label="交易流水号"
           ><el-input v-model="form.transNo"></el-input
         ></el-form-item>
-        <el-form-item v-if="form.transNo" label="打款时间">
+        <el-form-item v-if="form.transNo" prop="payTime" label="打款时间" :rules="[{required: true, message: '请选择打款时间'}]">
           <el-date-picker
-            style="width: 400px"
-            v-model="musicForm.date"
+            v-model="form.payTime"
             clearable
             type="datetime"
             value-format="yyyy-MM-dd HH:mm:ss"
-            default-time="23:59:59"
-            :picker-options="{firstDayOfWeek: 1,}"
-            placeholder="打款结束日期"
+            :picker-options="{ firstDayOfWeek: 1 }"
+            placeholder="打款时间"
           >
           </el-date-picker>
         </el-form-item>
+        <el-form-item label="退费时间">
+          <el-input :disabled="true" v-model="form.createTime"></el-input>
+        </el-form-item>
       </el-form>
+              <span slot="footer" class="dialog-footer">
+          <el-button @click="resetVisible = false">取 消</el-button>
+
+          <el-button  @click="resetRorm" type="primary"
+            >确 定</el-button
+          >
+        </span>
     </el-dialog>
   </div>
 </template>
@@ -216,7 +235,7 @@ import pagination from "@/components/Pagination/index";
 import { getTimes } from "@/utils";
 import load from "@/utils/loading";
 import { backTypeList } from "@/utils/searchArray";
-import { getUserCashAccountLog } from "./api";
+import { getUserCashAccountLog,resetUserCashAccountLog } from "./api";
 export default {
   components: { pagination },
   data() {
@@ -238,7 +257,9 @@ export default {
         total: 0, // 总条数
         page_size: [10, 20, 40, 50], // 选择限制显示条数
       },
-      form: {},
+      form: {
+        id: null,
+      },
       resetVisible: false,
     };
   },
@@ -284,6 +305,21 @@ export default {
       this.form = { ...row };
       this.resetVisible = true;
     },
+    resetRorm(){
+      this.$refs.form.validate(async(flag)=>{
+        if(flag){
+          try {
+            const res = await  resetUserCashAccountLog( this.form)
+            this.$message.success('修改成功')
+            this.resetVisible = false
+            this.getList()
+          }catch(e){
+            console.log(e)
+          }
+
+        }
+      })
+    }
   },
 };
 </script>
@@ -293,4 +329,9 @@ export default {
     width: 260px !important;
   }
 }
+.form {
+  /deep/.el-input{
+    width: 220px;
+  }
+}
 </style>

+ 1 - 1
src/views/businessManager/orderManager/financeManager-taoqi.vue

@@ -955,7 +955,7 @@ export default {
           axios(options).then((res) => {
             load.endLoading();
             if (res.data.code == 200) {
-              this.$message.info(res.data.data);
+              this.$message.info(res.data.msg);
             } else {
               this.$message.error(res.data.msg);
             }

+ 1 - 1
src/views/businessManager/orderManager/financeManager.vue

@@ -957,7 +957,7 @@ export default {
           axios(options).then((res) => {
             load.endLoading();
             if (res.data.code == 200) {
-              this.$message.info(res.data.data);
+              this.$message.info(res.data.msg);
             } else {
               this.$message.error(res.data.msg);
             }

+ 1 - 1
src/views/businessManager/orderManager/income.vue

@@ -470,7 +470,7 @@ export default {
             .then((res) => {
               load.endLoading();
               if (res.data.code == 200) {
-                this.$message.info(res.data.data);
+                this.$message.info(res.data.msg);
               } else {
                 this.$message.error(res.data.msg);
               }

+ 3 - 3
src/views/reportForm/index.vue

@@ -419,7 +419,7 @@
             <el-divider></el-divider>
       <div class="m-core">
         <div class="m-wrap">
-          <div class="title">学员vip课统计:</div>
+          <div class="title">vip网管课导出:</div>
           <el-select
             v-model.trim="vipOrganId"
             class="organSelect"
@@ -921,10 +921,10 @@ export default {
         this,
         {
           url: "/api-web/export/studentVipPractice",
-          fileName: "学员vip课统计.xls",
+          fileName: "vip网管课.xls",
           method: "post",
           params: qs.stringify({
-            organId: this.trainOrganId
+            organId: this.vipOrganId
           }),
         },
         "您确定导出学员vip课统计?"

+ 1 - 2
src/views/studentManager/memberList.vue

@@ -49,7 +49,6 @@
           <el-select
             class="multiple"
             v-model.trim="searchForm.hasMember"
-            clearable
             placeholder="会员状态"
           >
             <el-option label="已过期" value="0"></el-option>
@@ -258,7 +257,7 @@ export default {
       searchForm: {
         search: null,
         organId: null,
-        hasMember: null,
+        hasMember: '0',
         visitTime: [],
       },
 

+ 1 - 1
src/views/teamDetail/teamCourseList.vue

@@ -1130,7 +1130,7 @@ export default {
           axios(options)
             .then((res) => {
               if (res.data.code == 200) {
-                this.$message.success(res.data.data);
+                this.$message.success(res.data.msg);
               } else {
                 this.$message.error(res.data.msg);
               }

+ 1 - 0
src/views/teamDetail/teamList.vue

@@ -1139,6 +1139,7 @@ export default {
       await queryByOrganId({ organId: value }).then((res) => {
         if (res.code == 200) {
           this.cooperationList = res.data;
+          this.topForm.cooperationOrganId = null;
         }
       });
     },