岗位胜任度完善、岗位详细信息修改增加

pull/6/head
Endercad 2023-02-15 14:24:13 +08:00
parent f13fda0690
commit ed243f1d4b
5 changed files with 375 additions and 297 deletions

View File

@ -17,13 +17,14 @@
<script> <script>
export default { export default {
name: "EditText", name: "EditText",
props: ["val", "itemName"], props: ["val", "itemName","bigDomain"],
data() { data() {
return { return {
item: this.val, item: this.val,
isChecked: false, isChecked: false,
inputStr: "", inputStr: "",
domain: this.itemName domain: this.itemName,
bigDomain:this.bigDomain
}; };
}, },
methods: { methods: {
@ -34,7 +35,7 @@ export default {
inputStred() { inputStred() {
this.item = this.inputStr; this.item = this.inputStr;
this.isChecked = false; this.isChecked = false;
this.$emit("changeDomainVal", this.domain, this.item) this.$emit("changeDomainVal",this.bigDomain, this.domain, this.item)
} }
}, },
directives: { directives: {

View File

@ -308,43 +308,46 @@ export default {
this.showChart(); this.showChart();
}); });
}, },
verifyWritePriority() { // verifyWritePriority() {
if (this.writePriority === null) { // if (this.writePriority === null) {
return new Promise((resolve, reject) => { // return new Promise((resolve, reject) => {
verifyJobPriority({ // verifyJobPriority({
id_card: this.$store.state.user.id_card, // id_card: this.$store.state.user.id_card,
priority_type: "job_write", // priority_type: "job_write",
}).then( // }).then(
(res) => { // (res) => {
this.writePriority = res.data.result; // console.log(res)
resolve(); // this.writePriority = res.data.result;
}, // resolve();
(err) => { // },
this.writePriority = 0; // (err) => {
console.log("err:", err); // this.writePriority = 0;
reject(); // console.log("err:", err);
} // reject();
); // }
}); // );
} else { // });
return new Promise((resolve, reject) => { // } else {
resolve(); // return new Promise((resolve, reject) => {
}); // resolve();
} // });
}, // }
async clickModify() { // },
await this.verifyWritePriority(); clickModify() {
if (this.writePriority) {
this.allowSave = true; this.allowSave = true;
this.jm.enable_edit(); this.jm.enable_edit();
} else { // await this.verifyWritePriority();
// // if (this.writePriority) {
this.$message({ // this.allowSave = true;
message: "没有修改权限", // this.jm.enable_edit();
type: "error", // } else {
duration: 2000, // //
}); // this.$message({
} // message: "",
// type: "error",
// duration: 2000,
// });
// }
// //
// verifyJobPriority({ // verifyJobPriority({
// id_card: this.$store.state.user.id_card, // id_card: this.$store.state.user.id_card,

View File

@ -76,7 +76,9 @@
</template> </template>
</el-table> --> </el-table> -->
<el-row> <el-row>
<p v-for="(item, index) in chosen_row[0].content" :key="index">{{index+1}}.{{item}}</p> <p v-for="(item, index) in chosen_row[0].content" :key="index">
{{ index + 1 }}.{{ item }}
</p>
</el-row> </el-row>
<el-row <el-row
v-for="(row, row_index) in current_matrix_obj" v-for="(row, row_index) in current_matrix_obj"
@ -89,12 +91,12 @@
v-model="current_matrix_obj[row_index].value[col_index].value" v-model="current_matrix_obj[row_index].value[col_index].value"
type="number" type="number"
oninput="if(value.length>1)value=value.slice(0,1)" oninput="if(value.length>1)value=value.slice(0,1)"
style="width:45px" style="width: 45px"
:disabled="col_index===row_index?true:false" :disabled="col_index === row_index ? true : false"
@input="input_change(event,row_index,col_index)" @input="input_change(event, row_index, col_index)"
> />
</el-row> </el-row>
<el-button style="float:right" @click="postMatrix"></el-button> <el-button style="float: right" @click="postMatrix"></el-button>
</el-dialog> </el-dialog>
</el-container> </el-container>
</template> </template>
@ -116,10 +118,10 @@ export default {
modify: [], modify: [],
composed_info: [], composed_info: [],
chosen_row: [{content:''}], chosen_row: [{ content: "" }],
current_matrix: [], current_matrix: [],
current_matrix_obj:[], current_matrix_obj: [],
current_number:null, current_number: null,
dialogVisible: false, dialogVisible: false,
}; };
}, },
@ -150,14 +152,14 @@ export default {
}); });
}, },
methods: { methods: {
input_change($event,row,col){ input_change($event, row, col) {
this.current_matrix_obj[row].value[col].value=event.target.value this.current_matrix_obj[row].value[col].value = event.target.value;
let num=1/event.target.value let num = 1 / event.target.value;
num=num.toFixed(2) num = num.toFixed(2);
this.current_matrix_obj[col].value[row].value=num this.current_matrix_obj[col].value[row].value = num;
this.current_matrix[row][col]=event.target.value this.current_matrix[row][col] = event.target.value;
this.current_matrix[col][row]=num this.current_matrix[col][row] = num;
}, },
change_curDepartmant(num) { change_curDepartmant(num) {
this.department = this.departments[num]; this.department = this.departments[num];
@ -171,6 +173,8 @@ export default {
let re_matrix = /^\d+_matrix$/; let re_matrix = /^\d+_matrix$/;
let re_modify = /^\d+_modify$/; let re_modify = /^\d+_modify$/;
const data = res.data; const data = res.data;
console.log(this.department,this.job)
console.log(res)
this.show_contents = []; this.show_contents = [];
this.matrice = []; this.matrice = [];
this.modify = []; this.modify = [];
@ -182,52 +186,55 @@ export default {
else if (re_modify.test(key)) else if (re_modify.test(key))
this.modify.push({ name: key, value: data[key] }); this.modify.push({ name: key, value: data[key] });
} }
});
let length = this.modify.length; let length = this.modify.length;
this.composed_info = []; this.composed_info = [];
for (let i = 0; i < length; i++) { for (let i = 0; i < length; i++) {
this.composed_info.push({ this.composed_info.push({
number:this.show_contents[i].name, number: this.show_contents[i].name,
content: this.show_contents[i].value, content: this.show_contents[i].value,
matrix: this.matrice[i].value, matrix: this.matrice[i].value,
modify: this.modify[i].value, modify: this.modify[i].value,
length: this.show_contents[i].value.length, length: this.show_contents[i].value.length,
}); });
} }
});
console.log(this.composed_info); console.log(this.composed_info);
}, },
showDialog(row) { showDialog(row) {
this.dialogVisible = true; this.dialogVisible = true;
this.current_number=row['number'] this.current_number = row["number"];
this.chosen_row = []; this.chosen_row = [];
this.chosen_row.push(row); this.chosen_row.push(row);
this.current_matrix = row["matrix"]; this.current_matrix = row["matrix"];
console.log(this.current_matrix); console.log(this.current_matrix);
this.current_matrix_obj=[] this.current_matrix_obj = [];
for(let i of this.current_matrix){ for (let i of this.current_matrix) {
console.log(i) console.log(i);
let tmp=[] let tmp = [];
for(let j of i){ for (let j of i) {
tmp.push({value:j}) tmp.push({ value: j });
} }
this.current_matrix_obj.push({value:tmp}) this.current_matrix_obj.push({ value: tmp });
} }
console.log(this.current_matrix_obj) console.log(this.current_matrix_obj);
}, },
postMatrix(){ postMatrix() {
let matrix=[] let matrix = [];
for(let i of this.current_matrix_obj){ for (let i of this.current_matrix_obj) {
let tmp=[] let tmp = [];
for(let j of i.value){ for (let j of i.value) {
tmp.push(j.value) tmp.push(j.value);
} }
matrix.push(tmp) matrix.push(tmp);
} }
let post_data={} let post_data = {};
post_data.department=this.department post_data.department = this.department;
post_data.job=this.job post_data.job = this.job;
post_data.number=this.current_number post_data.number = this.current_number;
post_data.data=matrix post_data.data = matrix;
jobApi.saveScore({ params: post_data }).then( jobApi.saveScore({ params: post_data }).then(
(res) => { (res) => {
if (res.code === 0) { if (res.code === 0) {
@ -243,8 +250,8 @@ export default {
console.log("err: ", err); console.log("err: ", err);
} }
); );
this.dialogVisible=false this.dialogVisible = false;
} },
}, },
}; };
</script> </script>

View File

@ -1,63 +1,74 @@
<template> <template>
<el-main class="right-main"> <el-main class="right-main">
<div class="jd-title"> <div class="jd-title">
<edit-div <div>{{ jobData.岗位名称 }}</div>
v-model="jobData.岗位名称"
v-if="titleEdit"
></edit-div>
<div v-if="!titleEdit">{{ jobData. }}</div>
</div> </div>
<div class="jd-block1"> <div class="jd-block1">
<div class="jd-h1">岗位概况</div> <div class="jd-h1">基本信息</div>
<table class="jd-table"> <table class="jd-table">
<tr> <tr>
<th>岗位名称</th> <th>岗位名称</th>
<td> <td>
<!-- <span>{{ jobData.基本信息.岗位名称 }}</span> -->
<!-- itemName:对应domain -->
<edit-text <edit-text
:val="jobData.岗位概况.岗位名称" :val="jobData.基本信息.岗位名称"
:bigDomain="'基本信息'"
:itemName="'岗位名称'" :itemName="'岗位名称'"
@changeDomainVal="changeOverviewVal" @changeDomainVal="changeOverviewVal"
></edit-text> ></edit-text>
</td> </td>
<th>岗位级别</th> <th>所属部门</th>
<td> <td>
<!-- <span>{{ jobData.基本信息.所属部门 }}</span> -->
<edit-text <edit-text
:val="jobData.岗位概况.岗位级别" :val="jobData.基本信息.所属部门"
:itemName="'岗位级别'" :bigDomain="'基本信息'"
@changeDomainVal="changeOverviewVal" :itemName="'所属部门'"
></edit-text>
</td>
<th>定编人数</th>
<td>
<edit-text
:val="jobData.岗位概况.定编人数"
:itemName="'定编人数'"
@changeDomainVal="changeOverviewVal" @changeDomainVal="changeOverviewVal"
></edit-text> ></edit-text>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>所属部门</th> <th>岗位类别</th>
<td> <td>
<!-- <span>{{ jobData.基本信息.岗位类别 }}</span> -->
<edit-text <edit-text
:val="jobData.岗位概况.所属部门" :val="jobData.基本信息.岗位类别"
:itemName="'所属部门'" :bigDomain="'基本信息'"
:itemName="'岗位类别'"
@changeDomainVal="changeOverviewVal" @changeDomainVal="changeOverviewVal"
></edit-text> ></edit-text>
</td> </td>
<th>岗位</th> <th>岗位</th>
<td> <td>
<!-- <span>{{ jobData.基本信息.岗位级别 }}</span> -->
<edit-text <edit-text
:val="jobData.岗位概况.岗位类别" :val="jobData.基本信息.岗位级别"
:itemName="'岗位类别'" :bigDomain="'基本信息'"
:itemName="'岗位级别'"
@changeDomainVal="changeOverviewVal"
></edit-text>
</td>
</tr>
<tr>
<th>定编人数</th>
<td>
<!-- <span>{{ jobData.基本信息.定编人数 }}</span> -->
<edit-text
:val="jobData.基本信息.定编人数"
:bigDomain="'基本信息'"
:itemName="'定编人数'"
@changeDomainVal="changeOverviewVal" @changeDomainVal="changeOverviewVal"
></edit-text> ></edit-text>
</td> </td>
<th>辖员人数</th> <th>辖员人数</th>
<td> <td>
<!-- <span>{{ jobData.基本信息.辖员人数 }}</span> -->
<edit-text <edit-text
:val="jobData.岗位概况.辖员人数" :val="jobData.基本信息.辖员人数"
:bigDomain="'基本信息'"
:itemName="'辖员人数'" :itemName="'辖员人数'"
@changeDomainVal="changeOverviewVal" @changeDomainVal="changeOverviewVal"
></edit-text> ></edit-text>
@ -66,141 +77,148 @@
<tr> <tr>
<th>直接上级</th> <th>直接上级</th>
<td> <td>
<!-- <span>{{ jobData.基本信息.直接上级 }}</span> -->
<edit-text <edit-text
:val="jobData.岗位概况.直接上级" :val="jobData.基本信息.直接上级"
:bigDomain="'基本信息'"
:itemName="'直接上级'" :itemName="'直接上级'"
@changeDomainVal="changeOverviewVal" @changeDomainVal="changeOverviewVal"
></edit-text> ></edit-text>
</td> </td>
<th>直接下级</th> <th>直接下级</th>
<td colspan="3"> <td>
<!-- <span>{{ jobData.基本信息.直接下级 }}</span> -->
<edit-text <edit-text
:val="jobData.岗位概况.直接下级" :val="jobData.基本信息.直接下级"
:bigDomain="'基本信息'"
:itemName="'直接下级'" :itemName="'直接下级'"
@changeDomainVal="changeOverviewVal" @changeDomainVal="changeOverviewVal"
></edit-text> ></edit-text>
</td> </td>
</tr> </tr>
<tr>
<th>岗位使命</th>
<td colspan="3">
<!-- <span>{{ jobData.基本信息.岗位使命 }}</span> -->
<edit-text
:val="jobData.基本信息.岗位使命"
:bigDomain="'基本信息'"
:itemName="'岗位使命'"
@changeDomainVal="changeOverviewVal"
></edit-text>
</td>
</tr>
</table> </table>
</div> </div>
<div class="jd-block1"> <div class="jd-block1">
<div class="jd-h1">工作内容</div> <div class="jd-h1">岗位职责</div>
<div class="jd-block2"> <div class="jd-block2">
<div class="jd-h2">1工作概况</div> <div class="jd-h2">工作职责</div>
<edit-div class="jd-text" v-model="jobData.工作内容.工作概况"> <!-- <edit-div class="jd-text" v-model="jobData.工作内容.工作概况">
</edit-div> </edit-div> -->
</div> <!-- <div class="jd-text">{{ jobData.工作内容.工作概况 }}</div> -->
<div class="jd-block2">
<div class="jd-h2">2工作说明</div>
<div <div
class="jd-block3" class="jd-block3"
v-if="'党风廉政建设' in jobData.工作内容.工作说明" v-for="(info, title) in jobResponsibility"
:key="title"
> >
<div class="jd-h3">党风廉政建设</div> <div class="jd-h3">{{ title }}</div>
<!-- <ol class="jd-li">
<li v-for="(item, index) in info" :key="index">{{ item }}</li>
</ol> -->
<edit-list <edit-list
:data="jobData.工作内容.工作说明.党风廉政建设" :data="info"
class="jd-li"
></edit-list>
</div>
<div class="jd-block3" v-if="'工作职责' in jobData.工作内容.工作说明">
<div class="jd-h3">工作职责</div>
<edit-list
:data="jobData.工作内容.工作说明.工作职责"
class="jd-li"
></edit-list>
</div>
<div class="jd-block3" v-if="'部门管理' in jobData.工作内容.工作说明">
<div class="jd-h3">部门管理</div>
<edit-list
:data="jobData.工作内容.工作说明.部门管理"
class="jd-li"
></edit-list>
</div>
<div class="jd-block3" v-if="'业务管理' in jobData.工作内容.工作说明">
<div class="jd-h3">业务管理</div>
<edit-list
:data="jobData.工作内容.工作说明.业务管理"
class="jd-li"
></edit-list>
</div>
<div class="jd-block3" v-if="'属员管理' in jobData.工作内容.工作说明">
<div class="jd-h3">属员管理</div>
<edit-list
:data="jobData.工作内容.工作说明.属员管理"
class="jd-li"
></edit-list>
</div>
<div class="jd-block3" v-if="'安全职责' in jobData.工作内容.工作说明">
<div class="jd-h3">安全职责</div>
<edit-list
:data="jobData.工作内容.工作说明.安全职责"
class="jd-li"
></edit-list>
</div>
<div
class="jd-block3"
v-if="'临时代理工作' in jobData.工作内容.工作说明"
>
<div class="jd-h3">兼办协助临时代理工作</div>
<edit-list
:data="jobData.工作内容.工作说明.临时代理工作"
class="jd-li" class="jd-li"
></edit-list> ></edit-list>
</div> </div>
</div> </div>
</div>
<!--职权范围---->
<div class="jd-block2"> <div class="jd-block2">
<div class="jd-h2">3职权范围</div> <div class="jd-h2">职权范围</div>
<table class="jd-table jd-table2"> <table class="jd-table jd-table2">
<tr> <tr>
<th colspan="2">所受监督</th> <th>所受监督</th>
<td> <td>
<edit-div v-model="jobData.工作内容.职权范围.所受监督"></edit-div> <edit-div v-model="jobData.岗位职责.职权范围.所受监督[0]"></edit-div>
<!-- <div>{{ jobData.岗位职责.职权范围.所受监督[0] }}</div> -->
</td> </td>
</tr> </tr>
<tr> <tr>
<th colspan="2">所施监督</th> <th>所施监督</th>
<td> <td>
<edit-div v-model="jobData.工作内容.职权范围.所施监督"></edit-div> <edit-div v-model="jobData.岗位职责.职权范围.所施监督[0]"></edit-div>
<!-- <div>{{ jobData.岗位职责.职权范围.所施监督[0] }}</div> -->
</td> </td>
</tr> </tr>
<tr> <tr>
<th colspan="2">工作权限</th> <th>工作权限</th>
<td> <td>
<!-- <tr v-for="item in jobData..."
style="border:1px solid #ebebeb;border-left:none">
<div>{{ item }}</div></tr> -->
<edit-list <edit-list
:data="jobData.工作内容.职权范围.工作权限" :data="jobData.岗位职责.职权范围.工作权限"
class="jd-li2" class="jd-li2"
></edit-list> ></edit-list>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>企业内部沟通</th>
<td>
<!-- <tr v-for="item in jobData..."
style="border:1px solid #ebebeb;border-left:none">
<div>{{ item }}</div></tr> -->
<edit-list
:data="jobData.岗位职责.职权范围.企业内部沟通"
class="jd-li2"
></edit-list>
</td>
</tr>
<tr>
<th>企业外部沟通</th>
<td>
<!-- <tr v-for="item in jobData..."
style="border:1px solid #ebebeb;border-left:none">
<div>{{ item }}</div></tr> -->
<edit-list
:data="jobData.岗位职责.职权范围.企业外部沟通"
class="jd-li2"
></edit-list>
</td>
</tr>
<!-- <tr>
<th rowspan="2" class="vertical-one">沟通关系</th> <th rowspan="2" class="vertical-one">沟通关系</th>
<th class="vertical-two">企业内部</th> <th class="vertical-two">企业内部</th>
<td> <td>
<edit-list <ul class="jd-li2">
:data="jobData.工作内容.职权范围.沟通关系企业内部" <li v-for="item in jobData.工作内容.职权范围.沟通关系企业内部">
class="jd-li2" {{ item }}
></edit-list> </li>
</ul>
</td> </td>
</tr> </tr>
<tr> <tr>
<th class="vertical-two">企业外部</th> <th class="vertical-two">企业外部</th>
<td> <td>
<edit-list <ul class="jd-li2">
:data="jobData.工作内容.职权范围.沟通关系企业外部" <li v-for="item in jobData.工作内容.职权范围.沟通关系企业外部">
class="jd-li2" {{ item }}
></edit-list> </li>
</ul>
</td> </td>
</tr> </tr> -->
</table> </table>
</div> </div>
<div class="jd-block2"> <div class="jd-block2">
<div class="jd-h2">4工作环境与条件</div> <div class="jd-h2">工作环境与条件</div>
<table class="jd-table"> <table class="jd-table">
<tr> <tr>
<th>工作时间</th> <th>工作时间</th>
<td> <td>
<!-- <span>{{ jobData.岗位职责.工作环境与条件.工作时间[0] }}</span> -->
<el-radio-group <el-radio-group
v-model="jobData.工作内容.工作环境与条件.工作时间" v-model="jobData.岗位职责.工作环境与条件.工作时间[0]"
@change="changeCheckGroup" @change="changeCheckGroup"
> >
<el-radio :label="'办公班实际工作时间8小时'" <el-radio :label="'办公班实际工作时间8小时'"
@ -212,38 +230,11 @@
<el-radio :label="'不定时工作制'">不定时工作制</el-radio> <el-radio :label="'不定时工作制'">不定时工作制</el-radio>
</el-radio-group> </el-radio-group>
</td> </td>
</tr>
<tr>
<th>脑力强度</th>
<td>
<el-radio-group
v-model="jobData.工作内容.工作环境与条件.工作强度脑力劳动"
@change="changeCheckGroup"
>
<el-radio :label="'高'"></el-radio>
<el-radio :label="'中'"></el-radio>
<el-radio :label="'低'"></el-radio>
</el-radio-group>
</td>
</tr>
<tr>
<th>体力强度</th>
<td>
<el-radio-group
v-model="jobData.工作内容.工作环境与条件.工作强度体力劳动"
@change="changeCheckGroup"
>
<el-radio :label="'高'"></el-radio>
<el-radio :label="'中'"></el-radio>
<el-radio :label="'低'"></el-radio>
</el-radio-group>
</td>
</tr>
<tr>
<th>出差频度</th> <th>出差频度</th>
<td> <td>
<!-- <span>{{ jobData.岗位职责.工作环境与条件.出差频度[0] }}</span> -->
<el-radio-group <el-radio-group
v-model="jobData.工作内容.工作环境与条件.出差频度" v-model="jobData.岗位职责.工作环境与条件.出差频度[0]"
@change="changeCheckGroup" @change="changeCheckGroup"
> >
<el-radio :label="'驻外工作'">驻外工作</el-radio> <el-radio :label="'驻外工作'">驻外工作</el-radio>
@ -253,23 +244,50 @@
</el-radio-group> </el-radio-group>
</td> </td>
</tr> </tr>
<tr>
<th>脑力工作强度</th>
<td>
<!-- <span>{{ jobData.岗位职责.工作环境与条件.脑力工作强度[0] }}</span> -->
<el-radio-group
v-model="jobData.岗位职责.工作环境与条件.脑力工作强度[0]"
@change="changeCheckGroup"
>
<el-radio :label="'高'"></el-radio>
<el-radio :label="'中'"></el-radio>
<el-radio :label="'低'"></el-radio>
</el-radio-group>
</td>
<th>体力工作强度</th>
<td>
<!-- <span>{{ jobData.岗位职责.工作环境与条件.体力工作强度[0] }}</span> -->
<el-radio-group
v-model="jobData.岗位职责.工作环境与条件.体力工作强度[0]"
@change="changeCheckGroup"
>
<el-radio :label="'高'"></el-radio>
<el-radio :label="'中'"></el-radio>
<el-radio :label="'低'"></el-radio>
</el-radio-group>
</td>
</tr>
<tr> <tr>
<th>主要工作场所</th> <th>主要工作场所</th>
<td> <td>
<!-- <span>{{ jobData.岗位职责.工作环境与条件.主要工作场所[0] }}</span> -->
<el-radio-group <el-radio-group
v-model="jobData.工作内容.工作环境与条件.主要工作场所" v-model="jobData.岗位职责.工作环境与条件.主要工作场所[0]"
@change="changeCheckGroup" @change="changeCheckGroup"
> >
<el-radio :label="'室内'">室内</el-radio> <el-radio :label="'室内'">室内</el-radio>
<el-radio :label="'室外'">室外</el-radio> <el-radio :label="'室外'">室外</el-radio>
</el-radio-group> </el-radio-group>
</td> </td>
</tr> <th>工作环境的舒适性</th>
<tr>
<th>环境舒适性</th>
<td> <td>
<!-- <span>{{jobData.岗位职责.工作环境与条件.工作环境的舒适性[0]}}</span> -->
<el-radio-group <el-radio-group
v-model="jobData.工作内容.工作环境与条件.工作环境的舒适性" v-model="jobData.岗位职责.工作环境与条件.工作环境的舒适性[0]"
@change="changeCheckGroup" @change="changeCheckGroup"
> >
<el-radio :label="'舒适'">舒适</el-radio> <el-radio :label="'舒适'">舒适</el-radio>
@ -279,10 +297,11 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<th>环境特殊性</th> <th>工作环境的特殊性</th>
<td> <td colspan="3">
<!-- <span>{{ workEnvSpecialty }}</span> -->
<el-checkbox-group <el-checkbox-group
v-model="jobData.工作内容.工作环境与条件.工作环境的特殊性" v-model="jobData.岗位职责.工作环境与条件.工作环境的特殊性"
@change="changeCheckGroup" @change="changeCheckGroup"
> >
<el-checkbox label="无"></el-checkbox> <el-checkbox label="无"></el-checkbox>
@ -299,59 +318,77 @@
<div class="jd-h1">任职资格</div> <div class="jd-h1">任职资格</div>
<table class="jd-table jd-table2"> <table class="jd-table jd-table2">
<tr> <tr>
<th>学历</th> <th>学历与专业</th>
<td> <td>
<edit-div v-model="jobData.任职资格.学历"></edit-div> <tr>
</td> <th>学历</th>
<!-- <td><div>{{ jobData.任职资格.学历[0] }}</div></td> -->
<edit-div v-model="jobData.任职资格.学历[0]"></edit-div>
</tr> </tr>
<tr> <tr>
<th>专业</th> <th>专业</th>
<td><edit-div v-model="jobData.任职资格.专业"></edit-div></td> <!-- <td><div>{{ jobData.任职资格.专业[0] }}</div></td> -->
<edit-div v-model="jobData.任职资格.专业[0]"></edit-div>
</tr> </tr>
<tr> <tr>
<th>技术职称</th> <th>职业资格</th>
<td><edit-div v-model="jobData.任职资格.技术职称"></edit-div></td> <!-- <td><div>{{ jobData.任职资格.职业资格[0] }}</div></td> -->
<edit-div v-model="jobData.任职资格.职业资格[0]"></edit-div>
</tr>
</td>
</tr> </tr>
<tr> <tr>
<th>所需知识</th> <th>所需知识</th>
<td><edit-div v-model="jobData.任职资格.所需知识"></edit-div></td> <td>
<!-- <tr v-for="item in jobData.."
style="border:1px solid #ebebeb;border-left:none;border-right:none"><div>{{ item }}</div></tr> -->
<edit-list
:data="jobData.任职资格.所需知识"
class="jd-li2"
></edit-list>
</td>
</tr> </tr>
<tr> <tr>
<th class="vertical-four">所需技能能力</th> <th>所需技能能力</th>
<td> <td>
<!-- <tr v-for="item in jobData.."
style="border:1px solid #ebebeb;border-left:none;border-right:none"><div>{{ item }}</div></tr> -->
<edit-list <edit-list
:data="jobData.任职资格.所需技能或能力" :data="jobData.任职资格.所需技能或能力"
class="jd-li2" class="jd-li2"
></edit-list> ></edit-list>
<!-- <edit-div v-model="jobData.任职资格.所需技能或能力"></edit-div> -->
</td> </td>
</tr> </tr>
<tr> <tr>
<th>所需经历经验</th> <th>所需经历经验</th>
<td> <td>
<edit-div v-model="jobData.任职资格.所需经历或经验"></edit-div> <!-- <div>{{ jobData.任职资格.所需经历或经验[0] }}</div> -->
<edit-div v-model="jobData.任职资格.所需经历或经验[0]"></edit-div>
</td> </td>
</tr> </tr>
<tr> <tr>
<th>所需体能</th> <th>所需体能</th>
<td><edit-div v-model="jobData.任职资格.所需体能"></edit-div></td> <td>
<!-- <div>{{ jobData.任职资格.所需体能[0] }}</div> -->
<edit-div v-model="jobData.任职资格.所需体能[0]"></edit-div>
</td>
</tr> </tr>
<tr> <tr>
<th>所需职业风格</th> <th>所需职业风格</th>
<td> <td>
<edit-div v-model="jobData.任职资格.所需职业风格"></edit-div> <!-- <div>{{ jobData.任职资格.所需职业风格[0] }}</div> -->
<edit-div v-model="jobData.任职资格.所需职业风格[0]"></edit-div>
</td> </td>
</tr> </tr>
</table> </table>
</div> </div>
<div class="jd-block1">
<div class="jd-h1">备注</div>
<edit-div v-model="jobData.备注" class="jd-text"></edit-div>
</div>
</el-main> </el-main>
</template> </template>
<script> <script>
import "@/assets/css/mydoc.css"; import "@/assets/css/mydoc.css";
@ -365,12 +402,39 @@ export default {
data() { data() {
return { return {
jobData: this.data, jobData: this.data,
titleEdit: this.comTitleEdit titleEdit: this.comTitleEdit,
}; };
}, },
computed: {
workEnvSpecialty() {
let res = "";
for (
let i = 0;
i < this.jobData.岗位职责.工作环境与条件.工作环境的特殊性.length;
i++
) {
if (i != 0) res += " | ";
res += this.jobData.岗位职责.工作环境与条件.工作环境的特殊性[i];
}
return res;
},
jobResponsibility() {
let jobres = this.jobData.岗位职责.工作职责;
let keyArr = Object.keys(jobres);
keyArr.splice(keyArr.indexOf("临时代理工作"), 1);
keyArr.splice(keyArr.indexOf("工作职责"), 1);
keyArr.splice(0, 0, "工作职责");
keyArr.splice(keyArr.length, 0, "临时代理工作");
let newjobres = {};
for (let i = 0; i < keyArr.length; i++) {
newjobres[keyArr[i]] = jobres[keyArr[i]];
}
return newjobres;
},
},
methods: { methods: {
changeOverviewVal(domain, newVal) { changeOverviewVal(bigDomain,domain, newVal) {
let bigDomain = "岗位概况"; // let bigDomain = "";
this.jobData[bigDomain][domain] = newVal; this.jobData[bigDomain][domain] = newVal;
}, },
changeCheckGroup(newVal) { changeCheckGroup(newVal) {
@ -390,4 +454,10 @@ export default {
</script> </script>
<style scoped> <style scoped>
ul {
list-style-type: circle;
margin-top: 0px;
margin-bottom: 0px;
}
</style> </style>

View File

@ -388,6 +388,7 @@ export default {
jobApi.getJobDetail({ department: jobDep, job: node.topic }).then( jobApi.getJobDetail({ department: jobDep, job: node.topic }).then(
(res) => { (res) => {
if (res.code === 0) { if (res.code === 0) {
console.log(res, "岗位信息");
// //
this.jobData = res.data; this.jobData = res.data;
this.comName = "JobDescription"; this.comName = "JobDescription";
@ -443,67 +444,63 @@ export default {
this.curDep = this.curNewNode.parent.topic; this.curDep = this.curNewNode.parent.topic;
this.curJob = null; this.curJob = null;
// //
this.jobData = { this.jobData = {
岗位名称: "<<岗位名称>>", 任职资格: {
岗位概况: { 专业: ["<<财会>>"],
岗位名称: "<<科长>>", 学历: ["<<大专及以上>>"],
岗位级别: "<<10>>", 所需体能: ["身体健康,……"],
所需技能或能力: ["具备较强的独立工作能力,……"],
所需知识: ["熟悉会计及税务法规,……"],
所需经历或经验: ["行业工作经验5年以上……"],
所需职业风格: ["作风严谨,……"],
职业资格: ["<<会计师及以上职称>>"],
},
基本信息: {
定编人数: "<<1>>", 定编人数: "<<1>>",
所属部门: this.curDep, 岗位使命: "<< >>",
岗位名称: "<<科长>>",
岗位类别: "<<专业管理类>>", 岗位类别: "<<专业管理类>>",
辖员人数: "<<9>>", 岗位级别: "<<10>>",
所属部门: this.curDep,
直接上级: "<<分管领导>>", 直接上级: "<<分管领导>>",
直接下级: "<<副科长>>", 直接下级: "<<副科长>>",
辖员人数: "<<9>>",
}, },
工作内容: { 岗位职责: {
工作概况: "依据《会计法》及相关财经法规,……", 工作环境与条件: {
工作说明: { 主要工作场所: ["室内"],
党风廉政建设: ["抓好全面从严治党和党风廉政建设,……"], 体力工作强度: ["高"],
工作职责: [ 出差频度: ["驻外工作"],
"组织制定企业内部财务管理制度、会计控制规范及会计核算规程,……", 工作时间: ["办公班实际工作时间8小时"],
], 工作环境的特殊性: ["无", "噪音"],
部门管理: ["根据企业管理规范,……"], 工作环境的舒适性: ["舒适"],
脑力工作强度: ["高"],
},
工作职责: {
业务管理: ["协助分管财务厂长完善全厂的财务管理体系,……"], 业务管理: ["协助分管财务厂长完善全厂的财务管理体系,……"],
属员管理: ["开展本部门员工的绩效管理工作,……"], 临时代理工作: ["完成上级领导临时交办的其他工作任务,……"],
党风廉政建设: ["抓好全面从严治党和党风廉政建设,……"],
安全职责: [ 安全职责: [
"保证国家安全生产法规和厂安全生产规章制度在本部门的贯彻执行,……", "保证国家安全生产法规和厂安全生产规章制度在本部门的贯彻执行,……",
], ],
临时代理工作: ["完成上级领导临时交办的其他工作任务,……"], 属员管理: ["开展本部门员工的绩效管理工作,……"],
部门管理: ["根据企业管理规范,……"],
}, },
职权范围: { 职权范围: {
所受监督: "企业资金安全、……", 企业内部沟通: [
所施监督: "会计核算、……", "与企业领导就预算执行情况、财务分析、资金使用情况等……",
],
企业外部沟通: [
"与中烟公司财务部领导就本企业财务预算及资金使用情况等……",
],
工作权限: [ 工作权限: [
"对企业财务预算的分解落实、资金及费用的支付有建议权和执行权……", "对企业财务预算的分解落实、资金及费用的支付有建议权和执行权……",
], ],
沟通关系企业内部: [ 所受监督: ["企业资金安全、……"],
"与企业领导就预算执行情况、财务分析、资金使用情况等……", 所施监督: ["会计核算、……"],
],
沟通关系企业外部: [
"与中烟公司财务部领导就本企业财务预算及资金使用情况等……",
],
},
工作环境与条件: {
工作时间: "办公班实际工作时间8小时",
工作强度脑力劳动: "高",
工作强度体力劳动: "高",
出差频度: "驻外工作",
主要工作场所: "室内",
工作环境的舒适性: "舒适",
工作环境的特殊性: ["无", "噪音"],
}, },
}, },
任职资格: {
学历: "<<大专及以上>>",
专业: "<<财会>>",
技术职称: "<<会计师及以上职称>>",
所需知识: "熟悉会计及税务法规,……",
所需技能或能力: ["具备较强的独立工作能力,……"],
所需经历或经验: "行业工作经验5年以上……",
所需体能: "身体健康,……",
所需职业风格: "作风严谨,……",
},
备注: "无",
}; };
this.comName = "JobDescription"; this.comName = "JobDescription";
this.comData = this.jobData; this.comData = this.jobData;