Authored by xwx

Merge branch 'master' of http://113.200.75.45:82/monitor_v3/hg-monitor-web into master-v32-xwx

@@ -317,8 +317,9 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f @@ -317,8 +317,9 @@ layui.define(['form', 'admin', 'laydate', 'common', 'sessions', 'reskpilist'], f
317 charToExpr(data, 'commonlyExpr'); 317 charToExpr(data, 'commonlyExpr');
318 charToExpr(data, 'importantExpr'); 318 charToExpr(data, 'importantExpr');
319 charToExpr(data, 'seriousExpr'); 319 charToExpr(data, 'seriousExpr');
320 -  
321 - form.on('submit(add-alarmpolicy-form)', function () { 320 + //lsq 告警策略编辑不了,id值应该选择的是submit的按钮的lay-filter 2022-09-27
  321 + // form.on('submit(add-alarmpolicy-form)', function () {
  322 + form.on('submit(alarmpolicy-form-save-id)', function () {
322 delete data.noticeMergeFlagExpr; 323 delete data.noticeMergeFlagExpr;
323 admin.req({ 324 admin.req({
324 url: domainName + '/api-web/alarmPolicy/save?access_token=' + accessToken 325 url: domainName + '/api-web/alarmPolicy/save?access_token=' + accessToken
@@ -334,7 +334,8 @@ layui.define(['form', 'admin', 'laydate', 'table', 'common','sessions','cron','o @@ -334,7 +334,8 @@ layui.define(['form', 'admin', 'laydate', 'table', 'common','sessions','cron','o
334 }); 334 });
335 data.subGroupLists = receiveGroupInfoS; 335 data.subGroupLists = receiveGroupInfoS;
336 delete data["sub_send_type"]; 336 delete data["sub_send_type"];
337 - form.on('submit(add-alarmsubscribe-form)',function () { 337 + //lsq 提交按钮需要用的是submit按钮的lay-filter 2022-09-27
  338 + form.on('submit(alarmsubscribe-form-save-id)',function () {
338 var alrmlevels = [],reportTypes = []; 339 var alrmlevels = [],reportTypes = [];
339 $('input[name="reportType"]:checked').each(function() { 340 $('input[name="reportType"]:checked').each(function() {
340 reportTypes.push($(this).val()); 341 reportTypes.push($(this).val());
@@ -26,7 +26,8 @@ layui.define(['form','table', 'admin', 'common','sessions'], function (exports) @@ -26,7 +26,8 @@ layui.define(['form','table', 'admin', 'common','sessions'], function (exports)
26 26
27 //保存 27 //保存
28 $("#alarmtemplate-form-save-id").on("click",function (){ 28 $("#alarmtemplate-form-save-id").on("click",function (){
29 - form.on('submit(add-alarmtemplate-form)',function () { 29 + //lsq 告警模板编辑不了,id值应该选择的是submit的按钮的lay-filter 2022-09-27
  30 + form.on('submit(alarmtemplate-form-save-id)',function () {
30 var data = form.val("add-alarmtemplate-form"); 31 var data = form.val("add-alarmtemplate-form");
31 var policyIds = []; 32 var policyIds = [];
32 var policylist = $("#alarmtemplate-policy-table-body").find("tr"); 33 var policylist = $("#alarmtemplate-policy-table-body").find("tr");
@@ -4367,6 +4367,8 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele @@ -4367,6 +4367,8 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
4367 //lsq 状态信息无其他下探 2022-06-08 4367 //lsq 状态信息无其他下探 2022-06-08
4368 var statusF = $menu.data('statusf'); 4368 var statusF = $menu.data('statusf');
4369 var one = $menu.data('one'); 4369 var one = $menu.data('one');
  4370 + //lsq 只有kpiIdent==1时才有性能趋势 2022-09-27
  4371 + var kpiIdent=$menu.data('ident');
4370 var menubox = '<div class="detail_menubox" id="detail_menubox_id" style="color:#666;"><ul>'; 4372 var menubox = '<div class="detail_menubox" id="detail_menubox_id" style="color:#666;"><ul>';
4371 //lsq 只有状态指标下探的标识 4373 //lsq 只有状态指标下探的标识
4372 if(one==1){ 4374 if(one==1){
@@ -4380,7 +4382,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele @@ -4380,7 +4382,7 @@ layui.define(['laytpl', 'admin', 'form', 'table', 'echarts', 'sessions', 'xmSele
4380 if (!hideM) { 4382 if (!hideM) {
4381 menubox += '<li type="m"><i class="layui-icon">&#xe64d;</i>过滤多指标</li>'; 4383 menubox += '<li type="m"><i class="layui-icon">&#xe64d;</i>过滤多指标</li>';
4382 } 4384 }
4383 - if (!nature) { 4385 + if (!nature && kpiIdent==1) {
4384 menubox += '<li type="t"><i class="layui-icon">&#xe62c;</i>性能趋势</li>'; 4386 menubox += '<li type="t"><i class="layui-icon">&#xe62c;</i>性能趋势</li>';
4385 } 4387 }
4386 // if(!statusF){ 4388 // if(!statusF){
@@ -345,8 +345,8 @@ @@ -345,8 +345,8 @@
345 </div> 345 </div>
346 </div> 346 </div>
347 </div> 347 </div>
348 -  
349 - <button type="submit" lay-submit class="layui-btn hide" id="alarmpolicy-form-save-id">保存</button> 348 + <!--lsq 告警策略编辑不了,按钮没有lay-filter 2022-09-27-->
  349 + <button type="submit" lay-submit class="layui-btn hide" lay-filter="alarmpolicy-form-save-id" id="alarmpolicy-form-save-id">保存</button>
350 </form> 350 </form>
351 <script> 351 <script>
352 layui.use('alarmpolicyAdd', function (fn) { 352 layui.use('alarmpolicyAdd', function (fn) {
@@ -141,8 +141,8 @@ @@ -141,8 +141,8 @@
141 <textarea class="layui-textarea" name="subDesc"></textarea> 141 <textarea class="layui-textarea" name="subDesc"></textarea>
142 </div> 142 </div>
143 </div> 143 </div>
144 -  
145 - <button type="submit" lay-submit class="layui-btn hide" id="alarmsubscribe-form-save-id">保存</button> 144 + <!--lsq 告警订阅编辑不了,按钮没有lay-filter 2022-09-27-->
  145 + <button type="submit" lay-submit class="layui-btn hide" lay-filter="alarmsubscribe-form-save-id" id="alarmsubscribe-form-save-id">保存</button>
146 </form> 146 </form>
147 <!--<style>--> 147 <!--<style>-->
148 <!-- #alarmsubscirbe-form-select-users{--> 148 <!-- #alarmsubscirbe-form-select-users{-->
@@ -22,8 +22,8 @@ @@ -22,8 +22,8 @@
22 <input type="text" id="alarmTemplateDesc" name="alarmTempDesc" lay-reqtext="请输模板描述" class="layui-input"> 22 <input type="text" id="alarmTemplateDesc" name="alarmTempDesc" lay-reqtext="请输模板描述" class="layui-input">
23 </div> 23 </div>
24 </div> 24 </div>
25 -  
26 - <button type="submit" lay-submit class="layui-btn hide" id="alarmtemplate-form-save-id">保存</button> 25 + <!--lsq 告警模板编辑不了,按钮没有lay-filter 2022-09-27-->
  26 + <button type="submit" lay-submit class="layui-btn hide" lay-filter="alarmtemplate-form-save-id" id="alarmtemplate-form-save-id">保存</button>
27 </form> 27 </form>
28 28
29 <div class="layui-form layui-form-pane"> 29 <div class="layui-form layui-form-pane">
@@ -54,7 +54,8 @@ @@ -54,7 +54,8 @@
54 <label class="layui-form-label">发送用户</label> 54 <label class="layui-form-label">发送用户</label>
55 <div style="width: calc(100% - 110px)"> 55 <div style="width: calc(100% - 110px)">
56 <div class="layui-input-inline" style="width: calc(100% - 10px);display: inline-flex;"> 56 <div class="layui-input-inline" style="width: calc(100% - 10px);display: inline-flex;">
57 - <div class="tags" id="select_noticeTimely_id_user" style="width: calc(100% - 20px);border: solid 1px #D2D2D2;margin-top: 0px;height: 36px;"></div> 57 + <!--lsq 选择用户过多时,超出高度滚动 2022-09-27-->
  58 + <div class="tags" id="select_noticeTimely_id_user" style="width: calc(100% - 20px);border: solid 1px #D2D2D2;margin-top: 0px;min-height:36px; height: auto; max-height: 200px; overflow: auto;"></div>
58 <i class="layui-icon form-btn-icon" id="noticeTimely-form-select-users" style="line-height: 36px;margin-left: 5px;">&#xe615;</i> 59 <i class="layui-icon form-btn-icon" id="noticeTimely-form-select-users" style="line-height: 36px;margin-left: 5px;">&#xe615;</i>
59 </div> 60 </div>
60 </div> 61 </div>
@@ -21,7 +21,8 @@ @@ -21,7 +21,8 @@
21 } 21 }
22 22
23 .yfyw-user .form-class { 23 .yfyw-user .form-class {
24 - margin-bottom: 0px !important; 24 + /*margin-bottom: 0px !important;*/
  25 + margin: 5px; !important;
25 } 26 }
26 27
27 .yfyw-user .el-form--label-top .el-form-item__label { 28 .yfyw-user .el-form--label-top .el-form-item__label {
@@ -17,7 +17,7 @@ @@ -17,7 +17,7 @@
17 <i class="iconfont icon-icon--yingbing" /> 人员基本信息 17 <i class="iconfont icon-icon--yingbing" /> 人员基本信息
18 </div> 18 </div>
19 <div style="padding-left: 40px;margin-bottom: 6px"> 19 <div style="padding-left: 40px;margin-bottom: 6px">
20 - <el-form :rules="rules" ref="rule" :model="ruleForm" label-width="120px" :size="$global.elementSize" label-position="top" > 20 + <el-form :rules="rules" ref="rule" :model="ruleForm" label-width="120px" :size="$global.elementSize" label-position="right" >
21 <el-row :gutter="5"> 21 <el-row :gutter="5">
22 <el-col :span="8"> 22 <el-col :span="8">
23 <el-form-item label="姓名" prop="nickname" class="form-class"> 23 <el-form-item label="姓名" prop="nickname" class="form-class">
@@ -91,7 +91,37 @@ @@ -91,7 +91,37 @@
91 </el-form-item> 91 </el-form-item>
92 </el-col> 92 </el-col>
93 </el-row> 93 </el-row>
94 - 94 + <el-row :gutter="5">
  95 + <el-col :span="8">
  96 + <el-form-item label="出生日期" prop="birthday" class="form-class">
  97 + <el-date-picker
  98 + v-model="ruleForm.birthday"
  99 + format="YYYY-MM-DD"
  100 + value-format="YYYY-MM-DD"
  101 + :readonly="isAdmin()"
  102 + type="date"
  103 + placeholder="选择日期">
  104 + </el-date-picker>
  105 + </el-form-item>
  106 + </el-col>
  107 + <el-col :span="8">
  108 + <el-form-item label="入党时间" prop="partyDate" class="form-class">
  109 + <el-date-picker
  110 + v-model="ruleForm.partyDate"
  111 + format="YYYY-MM-DD"
  112 + value-format="YYYY-MM-DD"
  113 + :readonly="isAdmin()"
  114 + type="date"
  115 + placeholder="选择日期">
  116 + </el-date-picker>
  117 + </el-form-item>
  118 + </el-col>
  119 + <el-col :span="8">
  120 + <el-form-item label="籍贯" prop="nativePlace" class="form-class">
  121 + <el-input v-model="ruleForm.nativePlace" :readonly="isAdmin()"></el-input>
  122 + </el-form-item>
  123 + </el-col>
  124 + </el-row>
95 <el-row :gutter="5"> 125 <el-row :gutter="5">
96 <el-col :span="8"> 126 <el-col :span="8">
97 <el-form-item label="政治面貌" prop="politicsStatus" class="form-class"> 127 <el-form-item label="政治面貌" prop="politicsStatus" class="form-class">
@@ -106,19 +136,28 @@ @@ -106,19 +136,28 @@
106 </el-radio-group> 136 </el-radio-group>
107 </el-form-item> 137 </el-form-item>
108 </el-col> 138 </el-col>
  139 + <el-col :span="8">
  140 + <el-form-item label="犯罪记录证明" prop="hasProof" class="form-class">
  141 + <el-input v-model="ruleForm.hasProof" :readonly="isAdmin()"></el-input>
  142 + </el-form-item>
  143 + </el-col>
109 </el-row> 144 </el-row>
110 -  
111 - <el-row :gutter="5">  
112 - <el-col :span="24">  
113 - <el-form-item label="获得证书" prop="post" class="form-textarea">  
114 - <el-input v-model="ruleForm.certificate" type="textarea" :readonly="isAdmin()"></el-input> 145 + <el-row :gutter="">
  146 + <el-col :span="12">
  147 + <el-form-item label="获得证书" prop="post">
  148 + <el-input v-model="ruleForm.certificate" :readonly="isAdmin()"></el-input>
  149 + </el-form-item>
  150 + </el-col>
  151 + <el-col :span="12">
  152 + <el-form-item label="家庭住址" prop="post">
  153 + <el-input v-model="ruleForm.post" :readonly="isAdmin()"></el-input>
115 </el-form-item> 154 </el-form-item>
116 </el-col> 155 </el-col>
117 </el-row> 156 </el-row>
118 <el-row :gutter="5"> 157 <el-row :gutter="5">
119 <el-col :span="24"> 158 <el-col :span="24">
120 - <el-form-item label="家庭住址" prop="post" class="form-textarea">  
121 - <el-input v-model="ruleForm.post" type="textarea" :readonly="isAdmin()"></el-input> 159 + <el-form-item label="岗位职责" prop="responsibility" class="form-textarea">
  160 + <el-input v-model="ruleForm.responsibility" type="textarea" :readonly="isAdmin()"></el-input>
122 </el-form-item> 161 </el-form-item>
123 </el-col> 162 </el-col>
124 </el-row> 163 </el-row>
@@ -126,6 +165,56 @@ @@ -126,6 +165,56 @@
126 <el-button type="primary" size="mini" @click="saveUser()">保存基本信息</el-button> 165 <el-button type="primary" size="mini" @click="saveUser()">保存基本信息</el-button>
127 </div> 166 </div>
128 </el-form> 167 </el-form>
  168 +
  169 +
  170 +
  171 + <!--工作简历表格-->
  172 + <div class="title" style="padding-left: 0px">
  173 + <i class="iconfont icon-icon--yingbing" /> 工作简历信息 <el-button v-show="!isAdmin()" type="primary" size="small" @click="addFamilyInfo('新增','work')" plain>新增</el-button>
  174 + </div>
  175 + <el-table border :data="workInfoTableData" stripe style="width: 100%" >
  176 + <el-table-column label="序号" type="index" width="100" align="center"/>
  177 + <el-table-column prop="place" align="center" label="工作单位" />
  178 + <el-table-column prop="position" align="center" label="职位" />
  179 + <el-table-column prop="startDate" align="center" label="入职日期" />
  180 + <el-table-column prop="endDate" align="center" label="离职日期" />
  181 + <el-table-column v-if="!isAdmin()" prop="address" align="center" label="操作" width="100" >
  182 + <template #default="scope">
  183 + <div class="list-handle">
  184 + <span class="icon-bg">
  185 + <i class="el-icon-delete" title="删除" @click="deleteByType(scope.row,'work')"></i>
  186 + </span>
  187 + <span class="icon-bg">
  188 + <i class="el-icon-edit-outline" title="修改" @click="updateFamilyOrWorkInfo(scope.row,'work')"></i>
  189 + </span>
  190 + </div>
  191 + </template>
  192 + </el-table-column>
  193 + </el-table>
  194 +
  195 + <!--家庭成员表格-->
  196 + <div class="title" style="margin-top: 10px;padding-left: 0px">
  197 + <i class="iconfont icon-icon--yingbing" /> 家庭成员信息 <el-button v-show="!isAdmin()" type="primary" size="small" @click="addFamilyInfo('新增','family')" plain>新增</el-button>
  198 + </div>
  199 + <el-table border :data="familyInfoTableData" stripe style="width: 100%" >
  200 + <el-table-column label="序号" type="index" width="100" align="center"/>
  201 + <el-table-column prop="name" align="center" label="成员姓名" />
  202 + <el-table-column prop="appellation" align="center" label="称谓" />
  203 + <el-table-column prop="place" align="center" label="工作单位" />
  204 + <el-table-column prop="position" align="center" label="职位" />
  205 + <el-table-column v-if="!isAdmin()" prop="address" align="center" label="操作" width="100" >
  206 + <template #default="scope">
  207 + <div class="list-handle">
  208 + <span class="icon-bg">
  209 + <i class="el-icon-delete" title="删除" @click="deleteByType(scope.row,'family')"></i>
  210 + </span>
  211 + <span class="icon-bg">
  212 + <i class="el-icon-edit-outline" title="修改" @click="updateFamilyOrWorkInfo(scope.row,'family')"></i>
  213 + </span>
  214 + </div>
  215 + </template>
  216 + </el-table-column>
  217 + </el-table>
129 </div> 218 </div>
130 <!--资产信息--> 219 <!--资产信息-->
131 <div class="title"> 220 <div class="title">
@@ -199,5 +288,93 @@ @@ -199,5 +288,93 @@
199 </template> 288 </template>
200 </cm-dialog> 289 </cm-dialog>
201 290
  291 + <!--家庭人员信息弹框-->
  292 + <cm-dialog :title="familyDiaTitle" width="60%" :showDialogVisible="familyDiaShow" @hidedialog="showDiaByType(false,'family')" :showFooter="true" @okfunc="saveOrUpdateByType('family',familyInfoFormRef)">
  293 + <template v-slot style="padding: 10px">
  294 + <el-form ref="familyInfoFormRef" :rules="familyOrWorkRules" :model="familyInfoForm" label-width="120px" :size="$global.elementSize" label-position="right" >
  295 + <el-row :gutter="5">
  296 + <el-col :span="12">
  297 + <el-form-item label="id" prop="id" v-show="false" >
  298 + <el-input v-model="familyInfoForm.id" :readonly="true"></el-input>
  299 + </el-form-item>
  300 + <el-form-item label="personId" prop="personId" v-show="false" >
  301 + <el-input v-model="familyInfoForm.personId" :readonly="true"></el-input>
  302 + </el-form-item>
  303 + <el-form-item label="姓名" prop="name" class="form-class">
  304 + <el-input v-model="familyInfoForm.name"></el-input>
  305 + </el-form-item>
  306 + </el-col>
  307 + <el-col :span="12">
  308 + <el-form-item label="称谓" prop="appellation" class="form-class">
  309 + <el-input v-model="familyInfoForm.appellation"></el-input>
  310 + </el-form-item>
  311 + </el-col>
  312 + </el-row>
  313 + <el-row :gutter="5">
  314 + <el-col :span="12">
  315 + <el-form-item label="工作单位" prop="place" class="form-class">
  316 + <el-input v-model="familyInfoForm.place"></el-input>
  317 + </el-form-item>
  318 + </el-col>
  319 + <el-col :span="12">
  320 + <el-form-item label="职位" prop="position" class="form-class">
  321 + <el-input v-model="familyInfoForm.position"></el-input>
  322 + </el-form-item>
  323 + </el-col>
  324 + </el-row>
  325 + </el-form>
  326 + </template>
  327 + </cm-dialog>
  328 +
  329 + <!--工作简历弹框-->
  330 + <cm-dialog :title="workDiaTitle" width="60%" :showDialogVisible="workDiaShow" @hidedialog="showDiaByType(false,'work')" :showFooter="true" @okfunc="saveOrUpdateByType('work',familyInfoFormRef)">
  331 + <template v-slot style="padding: 10px">
  332 + <el-form ref="familyInfoFormRef" :rules="familyOrWorkRules" :model="workInfoForm" label-width="120px" :size="$global.elementSize" label-position="right" >
  333 + <el-row :gutter="5">
  334 + <el-col :span="12">
  335 + <el-form-item label="id" prop="id" v-show="false" >
  336 + <el-input v-model="workInfoForm.id" :readonly="true"></el-input>
  337 + </el-form-item>
  338 + <el-form-item label="personId" prop="personId" v-show="false" >
  339 + <el-input v-model="workInfoForm.personId" :readonly="true"></el-input>
  340 + </el-form-item>
  341 + <el-form-item label="工作单位" prop="place" class="form-class">
  342 + <el-input v-model="workInfoForm.place"></el-input>
  343 + </el-form-item>
  344 + </el-col>
  345 + <el-col :span="12">
  346 + <el-form-item label="职位" prop="position" class="form-class">
  347 + <el-input v-model="workInfoForm.position"></el-input>
  348 + </el-form-item>
  349 + </el-col>
  350 + </el-row>
  351 + <el-row :gutter="5">
  352 + <el-col :span="12">
  353 + <el-form-item label="入职日期" prop="startDate" class="form-class">
  354 + <el-date-picker
  355 + v-model="workInfoForm.startDate"
  356 + format="YYYY-MM-DD"
  357 + value-format="YYYY-MM-DD"
  358 + type="date"
  359 + placeholder="选择日期">
  360 + </el-date-picker>
  361 + </el-form-item>
  362 + </el-col>
  363 +
  364 + <el-col :span="12">
  365 + <el-form-item label="离职日期" prop="endDate" class="form-class">
  366 + <el-date-picker
  367 + v-model="workInfoForm.endDate"
  368 + format="YYYY-MM-DD"
  369 + value-format="YYYY-MM-DD"
  370 + type="date"
  371 + placeholder="选择日期">
  372 + </el-date-picker>
  373 + </el-form-item>
  374 + </el-col>
  375 + </el-row>
  376 + </el-form>
  377 + </template>
  378 + </cm-dialog>
202 379
203 </div> 380 </div>
@@ -243,7 +243,16 @@ export default { @@ -243,7 +243,16 @@ export default {
243 243
244 const {proxy} = Vue.getCurrentInstance(); 244 const {proxy} = Vue.getCurrentInstance();
245 let imageUrl = Vue.ref(''); 245 let imageUrl = Vue.ref('');
246 - 246 + const familyInfoTableData=Vue.ref([]);
  247 + // 家庭成员信息弹框显示标识
  248 + let familyDiaShow = Vue.ref(false);
  249 + //家庭成员信息弹框标题
  250 + let familyDiaTitle = Vue.ref('');
  251 + const workInfoTableData=Vue.ref([]);
  252 + // 简历信息弹框显示标识
  253 + let workDiaShow = Vue.ref(false);
  254 + //简历信息弹框标题
  255 + let workDiaTitle = Vue.ref('');
247 256
248 let ruleForm = Vue.ref({ 257 let ruleForm = Vue.ref({
249 nickname: '', 258 nickname: '',
@@ -260,7 +269,32 @@ export default { @@ -260,7 +269,32 @@ export default {
260 quitTime: '', 269 quitTime: '',
261 state: '', 270 state: '',
262 idcard:'', 271 idcard:'',
263 - politicsStatus:'' 272 + politicsStatus:'',
  273 + hasProof:'', //是否有无犯罪证明 joke add 20221012
  274 + nativePlace:'', //籍贯 joke add 20221012
  275 + birthday:'', //出生日期 joke add 20221012
  276 + partyDate:'', //入党日期 joke add 20221012
  277 + responsibility:'' //岗位职责 joke add 20221012
  278 + })
  279 +
  280 + let familyInfoForm = Vue.ref({
  281 + id:'',
  282 + personId:props.parentNode.id, //用户id
  283 + name: '', //家庭成员姓名
  284 + appellation: '', //家庭成员称谓
  285 + place: '', //家庭成员工作单位
  286 + position: '', //家庭成员职位
  287 + })
  288 +
  289 + let familyInfoFormRef = Vue.ref('');
  290 +
  291 + let workInfoForm = Vue.ref({
  292 + id:'',
  293 + personId:props.parentNode.id, //用户id
  294 + place: '', //工作单位
  295 + position: '', //职位
  296 + startDate: '', //入职日期
  297 + endDate: '', //离职日期
264 }) 298 })
265 299
266 300
@@ -273,6 +307,8 @@ export default { @@ -273,6 +307,8 @@ export default {
273 }, function (res) { 307 }, function (res) {
274 if (res && res.object) { 308 if (res && res.object) {
275 ruleForm.value = res.object 309 ruleForm.value = res.object
  310 + proxy.familyInfoTableData = res.object.familyInfoList;
  311 + proxy.workInfoTableData = res.object.workExperienceList;
276 } else { 312 } else {
277 ruleForm.value = res.object 313 ruleForm.value = res.object
278 } 314 }
@@ -282,6 +318,74 @@ export default { @@ -282,6 +318,74 @@ export default {
282 imageUrl.value = `${sessionStorage.getItem('domainName')}/api-web/bOpsPerson/downloadFile?id=${props.parentNode.id}&access_token=${localStorage.getItem('access_token')}` 318 imageUrl.value = `${sessionStorage.getItem('domainName')}/api-web/bOpsPerson/downloadFile?id=${props.parentNode.id}&access_token=${localStorage.getItem('access_token')}`
283 } 319 }
284 320
  321 + //点击家庭成员信息的新增按钮事件
  322 + let showDiaByType = (flg,type) =>{
  323 + if (type === 'family'){
  324 + //展示新增或编辑页面
  325 + familyDiaShow.value = flg;
  326 + if (flg === false){
  327 + familyInfoForm.value = {
  328 + id:'',
  329 + personId:props.parentNode.id, //用户id
  330 + name: '', //家庭成员姓名
  331 + appellation: '', //家庭成员称谓
  332 + place: '', //家庭成员工作单位
  333 + position: '', //家庭成员职位
  334 + }
  335 + }
  336 + }else if (type === 'work'){
  337 + //展示新增或编辑页面
  338 + workDiaShow.value = flg;
  339 + if (flg === false){
  340 + workInfoForm.value = {
  341 + id:'',
  342 + personId:props.parentNode.id, //用户id
  343 + place: '', //工作单位
  344 + position: '', //职位
  345 + startDate: '', //入职日期
  346 + endDate: '', //离职日期
  347 + }
  348 + }
  349 + }
  350 + }
  351 +
  352 + let seTitleByType = (name,type) => {
  353 + if (type === 'family'){
  354 + familyDiaTitle.value = name + '家庭成员';
  355 + }else if (type === 'work'){
  356 + workDiaTitle.value = name + '工作经历';
  357 + }
  358 + }
  359 +
  360 + //点击家庭成员新增按钮
  361 + let addFamilyInfo = (name,type) => {
  362 + showDiaByType(true,type);
  363 + seTitleByType(name,type);
  364 + }
  365 + //点击修改按钮
  366 + let updateFamilyOrWorkInfo = (row,type) => {
  367 + //获取数据
  368 + if (type === 'family'){
  369 + familyInfoForm.value = {
  370 + id:row.id,
  371 + personId:props.parentNode.id, //用户id
  372 + name: row.name, //家庭成员姓名
  373 + appellation: row.appellation, //家庭成员称谓
  374 + place: row.place, //家庭成员工作单位
  375 + position: row.position, //家庭成员职位
  376 + }
  377 + }else if (type === 'work'){
  378 + workInfoForm.value = {
  379 + id:row.id,
  380 + personId:props.parentNode.id, //用户id
  381 + place: row.place, //工作单位
  382 + position: row.position, //职位
  383 + startDate: row.startDate, //入职日期
  384 + endDate: row.endDate, //离职日期
  385 + }
  386 + }
  387 + addFamilyInfo('编辑',type);
  388 + }
285 389
286 /** 390 /**
287 * @Author LH 391 * @Author LH
@@ -324,6 +428,10 @@ export default { @@ -324,6 +428,10 @@ export default {
324 } 428 }
325 } 429 }
326 430
  431 + const validatorDate = (rule, value, callback) => {
  432 + return value !== '' ? callback() : callback(new Error(rule.message));
  433 + };
  434 +
327 /** 435 /**
328 * @author LH 436 * @author LH
329 * 表单规则校验 437 * 表单规则校验
@@ -343,6 +451,33 @@ export default { @@ -343,6 +451,33 @@ export default {
343 ] 451 ]
344 }); 452 });
345 453
  454 + let familyOrWorkRules = Vue.ref({
  455 + name: [
  456 + { required: true, message: '请输入姓名' },
  457 + { message: '请输入姓名', trigger: 'blur' }
  458 + ],
  459 + appellation: [
  460 + { required: true, message: '请输入称谓' },
  461 + { message: '请输入称谓', trigger: 'blur' }
  462 + ],
  463 + place: [
  464 + { required: true, message: '请输入工作单位' },
  465 + { message: '请输入工作单位', trigger: 'blur' }
  466 + ],
  467 + position: [
  468 + { required: true, message: '请输入职位' },
  469 + { message: '请输入职位', trigger: 'blur' }
  470 + ],
  471 + startDate: [
  472 + { required: true, message: '请选择入职日期' },
  473 + { validator:validatorDate,message:'请选择入职日期', trigger: 'blur'}
  474 + ],
  475 + endDate: [
  476 + { required: true, message: '请选择离职日期' },
  477 + { validator:validatorDate,message:'请选择离职日期', trigger: 'blur'}
  478 + ],
  479 + });
  480 +
346 481
347 /** 482 /**
348 * @EDITOR LH 483 * @EDITOR LH
@@ -366,6 +501,42 @@ export default { @@ -366,6 +501,42 @@ export default {
366 501
367 } 502 }
368 503
  504 + let saveOrUpdateByType = (type,rules) => {
  505 + let msg = '新增';
  506 + var data = {};
  507 + if (type === 'family'){
  508 + if (familyDiaTitle.value.indexOf('新增') == -1){ //表示编辑
  509 + msg = '编辑';
  510 + }
  511 + data = familyInfoForm.value;
  512 + }else if (type === 'work'){
  513 + if (workDiaTitle.value.indexOf('新增') == -1){ //表示编辑
  514 + msg = '编辑';
  515 + }
  516 + data = workInfoForm.value;
  517 + }
  518 + rules.validate((valid) => {
  519 + if (valid){
  520 + proxy.$http.post("/api-web/bOpsPerson/saveOrUpdateByType?type="+type, data, function (res) {
  521 + if (res && res.success == true) {
  522 + proxy.$global.showMsg(msg +'成功!');
  523 + showDiaByType(false,type);
  524 + getPage();
  525 + }
  526 + });
  527 + }
  528 + })
  529 + }
  530 + //删除
  531 + let deleteByType = (row,type) => {
  532 + proxy.$http.post("/api-web/bOpsPerson/deleteByType?type="+type+"&ids="+row.id, {}, function (res) {
  533 + if (res && res.success == true) {
  534 + proxy.$global.showMsg('删除成功!');
  535 + getPage();
  536 + }
  537 + });
  538 + }
  539 +
369 540
370 let getFile = (param) => { 541 let getFile = (param) => {
371 let fileObj = param.file 542 let fileObj = param.file
@@ -447,6 +618,21 @@ export default { @@ -447,6 +618,21 @@ export default {
447 // 资产属性 618 // 资产属性
448 icon, 619 icon,
449 rules, 620 rules,
  621 + familyInfoTableData,
  622 + addFamilyInfo,
  623 + showDiaByType,
  624 + seTitleByType,
  625 + saveOrUpdateByType,
  626 + familyDiaShow,
  627 + familyDiaTitle,
  628 + familyInfoForm,
  629 + deleteByType,
  630 + workDiaShow,
  631 + workDiaTitle,
  632 + workInfoForm,
  633 + updateFamilyOrWorkInfo,
  634 + familyOrWorkRules,
  635 + familyInfoFormRef
450 } 636 }
451 } 637 }
452 } 638 }