flat: 暂存

This commit is contained in:
Apcallover
2024-06-12 15:27:14 +08:00
parent e77a6a774b
commit 9a61fca92f
8 changed files with 246 additions and 95 deletions

View File

@@ -11,7 +11,7 @@
<div class="box" :style="{ height: leftHeight }">
<el-scrollbar style="height: 100%">
<el-tree ref="tree" node-key="id" highlight-current :expand-on-click-node="false" @node-click="nodeClick"
:data="treeData" :props="props">
:data="treeData" :props="props">
<span class="custom-tree-node" slot-scope="{ node, data }" style="width: 80%">
<!-- <el-tooltip class="item" effect="dark" :content="node.label" placement="top"> -->
<span style="
@@ -38,8 +38,10 @@
</el-tree>
<!-- v-show="vaildData(permission.tenant_wage_payroll_view, false)" -->
<div class="footer" style="padding-left: 6px">
<el-button type="text" icon="el-icon-plus" v-if="vaildData(permission.tenant_main_policy_index_groupadd, false)"
@click="updateGroups('add')">新建分组</el-button>
<el-button type="text" icon="el-icon-plus"
v-if="vaildData(permission.tenant_main_policy_index_groupadd, false)"
@click="updateGroups('add')">新建分组
</el-button>
</div>
</el-scrollbar>
</div>
@@ -61,7 +63,7 @@
<el-form-item label="服务类型:">
<el-select v-model="query.stype" placeholder="服务类型" style="width: 100%" filterable clearable>
<el-option v-for="(item, key, index) in serviceType" :key="index" :label="item.label"
:value="item.value"></el-option>
:value="item.value"></el-option>
</el-select>
</el-form-item>
@@ -73,23 +75,26 @@
</el-form>
<!--/搜索栏-->
<avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" v-model="obj"
:permission="permissionList" :before-open="beforeOpen" @row-del="rowDel" @row-update="rowUpdate"
@row-save="rowSave" @search-change="searchChange" @search-reset="searchReset"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" class="customPage" @upload-after="uploadSearchAfter">
:permission="permissionList" :before-open="beforeOpen" @row-del="rowDel" @row-update="rowUpdate"
@row-save="rowSave" @search-change="searchChange" @search-reset="searchReset"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" class="customPage" @upload-after="uploadSearchAfter">
<!--自定义列-->
<template slot="labelName" slot-scope="{ row }">
<el-tooltip effect="dark" placement="top">
<div slot="content">
<div v-for="(item, index) in clipStr(row.labelName)" :key="index"><div>{{item}}</div></div>
<div v-for="(item, index) in clipStr(row.labelName)" :key="index">
<div>{{ item }}</div>
</div>
</div>
<span>{{ row.labelName.length > 20 ? row.labelName.substring(0, 20) : row.labelName}}</span>
<span>{{ row.labelName.length > 20 ? row.labelName.substring(0, 20) : row.labelName }}</span>
</el-tooltip>
</template>
<template slot="resume" slot-scope="{ row }">
<div>
<el-button type="text" size="mini" @click="$refs.resume.openDialog(row)"
v-if="row.userId && row.userId !== '0'">查看简历</el-button>
v-if="row.userId && row.userId !== '0'">查看简历
</el-button>
<div v-else>暂无简历</div>
</div>
</template>
@@ -101,14 +106,16 @@
<template slot="policyFileUrlForm">
<div class="policyFileUrlWrapper">
<div class="uploadWrapperAb">
<!-- <avue-upload :action="action" :propsHttp="policyFileUrlHttpProps" v-model="policyFileUrl"></avue-upload>-->
<!-- <avue-upload :action="action" :propsHttp="policyFileUrlHttpProps" v-model="policyFileUrl"></avue-upload>-->
<el-upload
action="#"
ref="upload"
:show-file-list="false"
:http-request="allUpload"
:multiple="false"
><el-button size="small" type="primary">点击上传</el-button></el-upload>
>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</div>
<avue-input disabled v-model="policyFileUrl" placeholder="点击上传文件"></avue-input>
</div>
@@ -116,14 +123,16 @@
<template slot="guidelineFileUrlForm">
<div class="policyFileUrlWrapper">
<div class="uploadWrapperAb">
<!-- <avue-upload :action="action" :propsHttp="propsHttp" v-model="form"></avue-upload>-->
<!-- <avue-upload :action="action" :propsHttp="propsHttp" v-model="form"></avue-upload>-->
<el-upload
action="#"
ref="upload"
:show-file-list="false"
:http-request="allUploadGuideline"
:multiple="false"
><el-button size="small" type="primary">点击上传</el-button></el-upload>
>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</div>
<avue-input disabled v-model="guidelineFileUrl" placeholder="点击上传文件"></avue-input>
</div>
@@ -137,13 +146,17 @@
<!--自定义按钮-->
<template slot="menuLeft">
<!-- <el-button type="success" size="small" plain icon="el-icon-plus" @click="handleImport"-->
<!-- v-show="vaildData(permission.tenant_talents_groupadd, false)">导入</el-button>-->
<!-- <el-button type="success" size="small" plain icon="el-icon-plus" @click="handleImport"-->
<!-- v-show="vaildData(permission.tenant_talents_groupadd, false)">导入</el-button>-->
<el-button type="warning" size="small" plain :disabled="!selectionList.length" icon="el-icon-sort"
@click="handleTransfer" v-show="vaildData(permission.tenant_main_policy_transfergroup, false)">转移分组</el-button>
@click="handleTransfer" v-show="vaildData(permission.tenant_main_policy_transfergroup, false)">
转移分组
</el-button>
<el-button type="danger" size="small" icon="el-icon-delete" @click="handleDelete"
:disabled="!selectionList.length" plain v-show="vaildData(permission.tenant_main_policy_index_del, false)">
删除</el-button>
:disabled="!selectionList.length" plain
v-show="vaildData(permission.tenant_main_policy_index_del, false)">
删除
</el-button>
</template>
<template slot="name" slot-scope="{row}">
<span>{{ row.name }}</span>
@@ -157,7 +170,7 @@
<!--批量导入-->
<el-dialog title="导入" append-to-body :visible.sync="excelBox" :close-on-click-modal="false" width="555px">
<avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter"
:upload-before="beforeAvatarUpload" :upload-error="uploadError">
:upload-before="beforeAvatarUpload" :upload-error="uploadError">
<template slot="excelTemplate">
<el-button type="primary" @click="handleTemplate()" :loading="templateLoading">
点击下载
@@ -191,18 +204,19 @@ import {
upload,
uploadFilePolicy
} from "@/api/tenant/policy";
import { getWorkTypes, getLabelList } from "@/api/tenant/common";
import { mapGetters } from "vuex";
import {getWorkTypes, getLabelList} from "@/api/tenant/common";
import {mapGetters} from "vuex";
import addGroups from "./Dialog/addGroups";
import transferGroups from "./Dialog/transferGroups";
import Resume from "@/components/resume/index";
import { isvalidatemobile, isExcel } from "@/util/validate";
import { getTemplate } from "@/api/resource/template";
import {isvalidatemobile, isExcel} from "@/util/validate";
import {getTemplate} from "@/api/resource/template";
import ied from "@/views/util/import-error-dialog";
import { serviceType } from "@/common/dic";
import { excelAccept } from "@/common/accept";
import {serviceType} from "@/common/dic";
import {excelAccept} from "@/common/accept";
import Tinymce from "@/components/Tinymce";
import _ from "lodash";
export default {
filters: {
ellipsis(value) {
@@ -274,10 +288,10 @@ export default {
excelBox: false,
data: [],
obj: {},
excelForm: { isCovered: 1 },
excelForm: {isCovered: 1},
};
},
components: { Tinymce, addGroups, transferGroups, Resume, ied },
components: {Tinymce, addGroups, transferGroups, Resume, ied},
watch: {},
computed: {
...mapGetters(["permission"]),
@@ -429,7 +443,7 @@ export default {
type: "tree",
span: 12,
display: true,
dicData: [{ name: "有效", value: 1 }, { name: "无效", value: 0 }],
dicData: [{name: "有效", value: 1}, {name: "无效", value: 0}],
props: {
label: "name",
value: "value",
@@ -668,7 +682,7 @@ export default {
const result = [];
const wt = this.obj.labelName ? this.obj.labelName.split(",") : [];
wt.forEach((item) => {
result.push({ name: item });
result.push({name: item});
});
return result;
},
@@ -685,7 +699,7 @@ export default {
for (let j = 0; j < this.arr.length; j++) {
const key = this.arr[j];
if (this.worktypeDic.hasOwnProperty(key)) {
rel.push({ name: key })
rel.push({name: key})
}
}
/* for (const key in this.worktypeDic) {
@@ -696,7 +710,7 @@ export default {
for (let i = 0; i < this.tempWorkType.length; i++) {
const key = this.tempWorkType[i];
if (key && !this.worktypeDic.hasOwnProperty(key)) {
rel.push({ name: key });
rel.push({name: key});
}
}
return rel;
@@ -712,7 +726,7 @@ export default {
const formData = new FormData();
formData.append('file', file.file);
let resData = await uploadFilePolicy(formData)
if(resData.data.code === 200) {
if (resData.data.code === 200) {
this.policyFileUrl = resData.data.msg
}
},
@@ -720,7 +734,7 @@ export default {
const formData = new FormData();
formData.append('file', file.file);
let resData = await uploadFilePolicy(formData)
if(resData.data.code === 200) {
if (resData.data.code === 200) {
this.guidelineFileUrl = resData.data.msg
}
},
@@ -740,7 +754,7 @@ export default {
getLabelList().then(async (res) => {
const arr = res.data.data.flatMap(obj => obj.child.map(item => item.concatName));
this.arr = arr.map(concatName => {
return { name: concatName };
return {name: concatName};
});
});
},
@@ -766,13 +780,13 @@ export default {
this.$nextTick(function () {
this.$refs.tree.setCurrentKey(groupId);
}); //默认高亮
this.nodeClick({ id: groupId });
this.nodeClick({id: groupId});
} else {
if (this.treeData.length) {
this.$nextTick(function () {
this.$refs.tree.setCurrentKey(this.treeData[0].id);
}); //默认高亮第一个
this.nodeClick({ id: this.treeData[0].id });
this.nodeClick({id: this.treeData[0].id});
}
}
this.personTotal = res.data.data.sum;
@@ -791,8 +805,8 @@ export default {
const h = this.$createElement;
this.$confirm(
h("div", null, [
h("p", { style: "font-size: 16px" }, "您确定要删除此分组吗? "),
h("p", { style: "color: red" }, "一旦删除则无法找回"),
h("p", {style: "font-size: 16px"}, "您确定要删除此分组吗? "),
h("p", {style: "color: red"}, "一旦删除则无法找回"),
]),
{
type: "warning",
@@ -980,8 +994,8 @@ export default {
const h = this.$createElement;
this.$confirm(
h("div", null, [
h("p", { style: "font-size: 16px" }, "您确定要删除此人才吗? "),
h("p", { style: "color: red" }, "一旦删除则无法找回"),
h("p", {style: "font-size: 16px"}, "您确定要删除此人才吗? "),
h("p", {style: "color: red"}, "一旦删除则无法找回"),
]),
{
type: "warning",
@@ -1038,7 +1052,7 @@ export default {
const h = this.$createElement;
this.$confirm(
h("div", null, [
h("p", { style: "font-size: 16px" }, "您确定要批量删除选中人才吗? "),
h("p", {style: "font-size: 16px"}, "您确定要批量删除选中人才吗? "),
]),
{
type: "warning",
@@ -1104,13 +1118,13 @@ export default {
const arr = [];
const data = res.data.data;
data.error &&
data.error.errorList.forEach((item) => {
arr.push(`${item.name} ${item.remarks}`);
});
data.error.errorList.forEach((item) => {
arr.push(`${item.name} ${item.remarks}`);
});
data.auth &&
data.auth.authList.forEach((item) => {
arr.push(`${item.name} ${item.remarks}`);
});
data.auth.authList.forEach((item) => {
arr.push(`${item.name} ${item.remarks}`);
});
this.$refs.ied.show(arr);
}
this.refreshChange();
@@ -1200,9 +1214,9 @@ export default {
},
clipStr(str) {
const clip = []
if(str && str.length > 50) {
if (str && str.length > 50) {
for (let i = 0; i < Math.ceil(str.length / 50); i++) {
clip.push(str.slice(i * 50,i * 50 + 50))
clip.push(str.slice(i * 50, i * 50 + 50))
}
return clip
}