This commit is contained in:
zxy
2024-02-25 09:43:18 +08:00
3 changed files with 308 additions and 61 deletions

File diff suppressed because one or more lines are too long

View File

@@ -18,7 +18,7 @@
<el-dialog <el-dialog
:title="name" :title="name"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="30%" width="55%"
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false"
:append-to-body="true" :append-to-body="true"
@@ -37,7 +37,7 @@
>{{ value }}</el-tag >{{ value }}</el-tag
> >
</div> </div>
<div class="tag-select-tip">请选择您所需的{{ name }}</div> <div class="tag-select-tip">请选择您所需的qq{{ name }}</div>
<div class="tag-select-searchinp"> <div class="tag-select-searchinp">
<el-input <el-input
v-model="search" v-model="search"

View File

@@ -92,8 +92,29 @@
<tag-select v-model="selectedWorkTypes" :prop="{ label: 'name', value: 'name' }" :data="arr"> <tag-select v-model="selectedWorkTypes" :prop="{ label: 'name', value: 'name' }" :data="arr">
</tag-select> </tag-select>
</template> </template>
<template slot="policyFileUrlForm">
<div class="policyFileUrlWrapper">
<div class="uploadWrapperAb"><avue-upload :action="action" :propsHttp="propsHttp"
v-model="form"></avue-upload></div>
<avue-input disabled v-model="policyFileUrl" placeholder="点击上传文件"></avue-input>
</div>
</template>
<template slot="guidelineFileUrlForm">
<div class="policyFileUrlWrapper">
<div class="uploadWrapperAb"><avue-upload :action="action" :propsHttp="propsHttp"
v-model="form"></avue-upload></div>
<avue-input disabled v-model="guidelineFileUrl" placeholder="点击上传文件"></avue-input>
</div>
</template>
<template slot="policyContentForm">
<Tinymce v-model="policyContent" ref="tinymce"></Tinymce>
</template>
<template slot="guidelineContentForm">
<Tinymce v-model="guidelineContent" ref="tinymce"></Tinymce>
</template>
<!--自定义按钮--> <!--自定义按钮-->
<template slot="menuLeft"> <template slot="menuLeft">
<el-button type="success" size="small" plain icon="el-icon-plus" @click="handleImport" <el-button type="success" size="small" plain icon="el-icon-plus" @click="handleImport"
v-show="vaildData(permission.tenant_talents_groupadd, false)">导入</el-button> v-show="vaildData(permission.tenant_talents_groupadd, false)">导入</el-button>
<el-button type="warning" size="small" plain :disabled="!selectionList.length" icon="el-icon-sort" <el-button type="warning" size="small" plain :disabled="!selectionList.length" icon="el-icon-sort"
@@ -152,11 +173,12 @@ import { mapGetters } from "vuex";
import addGroups from "./Dialog/addGroups"; import addGroups from "./Dialog/addGroups";
import transferGroups from "./Dialog/transferGroups"; import transferGroups from "./Dialog/transferGroups";
import Resume from "@/components/resume/index"; import Resume from "@/components/resume/index";
import { check18IdCardNo, isvalidatemobile, isExcel } from "@/util/validate"; import { isvalidatemobile, isExcel } from "@/util/validate";
import { getTemplate } from "@/api/resource/template"; import { getTemplate } from "@/api/resource/template";
import ied from "@/views/util/import-error-dialog"; import ied from "@/views/util/import-error-dialog";
import { serviceType } from "@/common/dic"; import { serviceType } from "@/common/dic";
import { excelAccept } from "@/common/accept"; import { excelAccept } from "@/common/accept";
import Tinymce from "@/components/Tinymce";
export default { export default {
filters: { filters: {
@@ -192,6 +214,8 @@ export default {
total: 0, total: 0,
}, },
tempWorkType: [], tempWorkType: [],
policyContent: "",
guidelineContent: "",
serviceType: serviceType, serviceType: serviceType,
worktypeDic: {}, worktypeDic: {},
arr: [],////// arr: [],//////
@@ -228,7 +252,7 @@ export default {
excelForm: { isCovered: 1 }, excelForm: { isCovered: 1 },
}; };
}, },
components: { addGroups, transferGroups, Resume, ied }, components: { Tinymce, addGroups, transferGroups, Resume, ied },
watch: {}, watch: {},
computed: { computed: {
...mapGetters(["permission"]), ...mapGetters(["permission"]),
@@ -282,7 +306,7 @@ export default {
}; };
return { return {
height: "auto", height: "auto",
dialogWidth: "30%", dialogWidth: "66%",
calcHeight: 180, calcHeight: 180,
align: "center", align: "center",
menuAlign: "center", menuAlign: "center",
@@ -295,15 +319,16 @@ export default {
border: true, border: true,
index: true, index: true,
indexLabel: "序号", indexLabel: "序号",
labelWidth: "100",
selection: true, selection: true,
dialogType: "drawer", dialogType: "drawer",
dialogClickModal: false, dialogClickModal: false,
column: [ column: [
{ {
label: "政策名", label: "政策名",
prop: "name", prop: "name",
// search: true, // search: true,
span: 24, span: 12,
rules: [ rules: [
{ {
required: true, required: true,
@@ -314,42 +339,56 @@ export default {
], ],
slot: true slot: true
}, },
// { {
// label: "手机号", label: "政策级别",
// prop: "telphone", prop: "level",
// span: 24, // search: true,
// hide: true, span: 12,
// rules: [ rules: [
// { {
// required: true, required: true,
// validator: validateTel, whitespace: true,
// trigger: "blur", message: "请输入政策级别",
// }, trigger: "blur",
// ], },
// }, ],
// { slot: true
// label: "用户类型", },
// prop: "userId", {
// type: "select", label: "政策文号",
// dicData: [ prop: "number",
// { // search: true,
// value: "0", span: 12,
// label: "未注册用户", rules: [
// }, {
// { required: true,
// value: "1", whitespace: true,
// label: "已注册用户", message: "请输入政策文号",
// }, trigger: "blur",
// ], },
// display: false, ],
// hide: true, slot: true
// // search: true },
// }, {
label: "发文机构",
prop: "issuingAuthority",
// search: true,
span: 12,
rules: [
{
required: true,
whitespace: true,
message: "请输入发文机构",
trigger: "blur",
},
],
slot: true
},
{ {
label: "分组", label: "分组",
prop: "groupId", prop: "groupId",
type: "tree", type: "tree",
span: 24, span: 12,
display: true, display: true,
dicData: self.treeData, dicData: self.treeData,
props: { props: {
@@ -365,11 +404,31 @@ export default {
], ],
placeholder: "请选择 分组", placeholder: "请选择 分组",
}, },
{
label: "有效性",
prop: "status",
type: "tree",
span: 12,
display: true,
dicData: [{ name: "有效", value: "1" }, { name: "无效", value: "0" }],
props: {
label: "name",
value: "value",
},
rules: [
{
required: true,
message: "请选择有效性",
trigger: "change",
},
],
placeholder: "请选择 有效性",
},
{ {
label: "服务类型", label: "服务类型",
prop: "stype", prop: "stype",
type: "tree", type: "tree",
span: 24, span: 12,
display: true, display: true,
dicData: serviceType, dicData: serviceType,
props: { props: {
@@ -385,6 +444,86 @@ export default {
], ],
placeholder: "请选择 服务类型", placeholder: "请选择 服务类型",
}, },
{
label: "发文字号",
prop: "issuingNumber",
hide: true,
span: 12,
// row: true,
maxlength: 50,
showWordLimit: true,
rules: [
{
required: true,
message: '请输入发文字号'
}
]
},
{
label: "类别",
prop: "category",
span: 12,
hide: true,
// row: true,
rules: [
{
required: true,
message: '请输入类别'
}
],
maxlength: 50,
showWordLimit: true,
},
// {
// label: "政策首页图",
// prop: "headPic",
// type: "upload",
// hide: true,
// action: putFile,
// span: 12,
// showFileList: false,
// listType: "picture-img",
// multiple: false,
// canvasOption: {},
// headers: [],
// data: [],
// propsHttp: {
// res: "data",
// url: "link",
// },
// // rules: [
// // {
// // required: true,
// // message: '请上传首页图'
// // }
// // ]
// },
// {
// label: "指南首页图",
// prop: "headPic",
// type: "upload",
// hide: true,
// action: putFile,
// span: 12,
// showFileList: false,
// listType: "picture-img",
// multiple: false,
// canvasOption: {},
// headers: [],
// data: [],
// propsHttp: {
// res: "data",
// url: "link",
// },
// // rules: [
// // {
// // required: true,
// // message: '请上传首页图'
// // }
// // ]
// },
{ {
label: "标签", label: "标签",
prop: "labelName", prop: "labelName",
@@ -399,12 +538,91 @@ export default {
formslot: true, formslot: true,
span: 24, span: 24,
}, },
// { {
// label: "简历", label: "政策文件名",
// prop: "resume", prop: "policyFileName",
// slot: true, hide: true,
// display: false span: 24,
// }, rules: [
{
required: true,
message: '请输入政策文件名'
}
]
},
{
label: "政策内容",
prop: "policyContent",
// rules: [
// {
// required: true,
// message: "请选择标签",
// trigger: ["blur"],
// },
// ],
slot: true,
formslot: true,
span: 24,
},
{
label: "政策文件地址",
prop: "policyFileUrl",
hide: true,
type: "upload",
// accept:["png", "jpg", "jpeg"],
showFileList: true,
action: "https://api.avuejs.com/imgupload",
headers: [],
data: "",
span: 24,
propsHttp: {
res: "data",
url: "link",
},
slot: true,
formslot: true,
showWordLimit: true,
},
{
label: "指南文件名",
prop: "guidelineFileName",
hide: true,
span: 24,
maxlength: 50,
showWordLimit: true,
rules: [
{
required: true,
message: '请输入指南文件名'
}
]
},
{
label: "指南内容",
prop: "guidelineContent",
// rules: [
// {
// required: true,
// message: "请选择标签",
// trigger: ["blur"],
// },
// ],
slot: true,
formslot: true,
span: 24,
},
{
label: "指南文件地址",
prop: "guidelineFileUrl",
span: 24,
type: "upload",
hide: true,
maxlength: 100,
showWordLimit: true,
slot: true,
formslot: true,
},
{ {
label: "备注", label: "备注",
prop: "remarks", prop: "remarks",
@@ -638,13 +856,29 @@ export default {
}, },
/*新增人才*/ /*新增人才*/
rowSave(row, done) { rowSave(row, done) {
console.log(row, this.policyContent, '000000000000000000000');
debugger
add({ add({
groupId: row.groupId, // groupId: row.groupId,
name: row.name, // name: row.name,
idNumber: row.idNumber, // idNumber: row.idNumber,
telphone: row.telphone, // telphone: row.telphone,
labelName: row.labelName, // // labelName: row.labelName,
remarks: row.remarks,
// remarks: row.remarks,
// level: row.level,
// number: row.number,
// issuingAuthority: row.issuingAuthority,
// guidelineFileName: row.guidelineFileName,
// policyFileUrl: row.policyFileUrl,
// guidelineFileUrl: row.guidelineFileUrl,
// category: row.category,
// status: row.status,
// issuingNumber: row.issuingNumber,
...row,
labelName: this.selectedWorkTypes,
policyContent: this.policyContent,
guidelineContent: this.guidelineContent,
}).then( }).then(
() => { () => {
this.$message({ this.$message({
@@ -663,13 +897,14 @@ export default {
/*编辑人才*/ /*编辑人才*/
rowUpdate(row, index, done) { rowUpdate(row, index, done) {
update({ update({
id: row.id, // id: row.id,
groupId: row.groupId, // groupId: row.groupId,
name: row.name, // name: row.name,
idNumber: row.idNumber, // idNumber: row.idNumber,
telphone: row.telphone, // telphone: row.telphone,
labelName: row.labelName, // labelName: row.labelName,
remarks: row.remarks, // remarks: row.remarks,
...row
}).then( }).then(
() => { () => {
done(); done();
@@ -904,6 +1139,8 @@ export default {
this.selectionClear(); this.selectionClear();
}); });
}, },
}, },
}; };
</script> </script>
@@ -931,4 +1168,14 @@ export default {
display: inline-block; display: inline-block;
margin-bottom: 18px; margin-bottom: 18px;
} }
</style>
.policyFileUrlWrapper {
position: relative;
}
.uploadWrapperAb {
position: absolute;
right: 0px;
z-index: 99;
}</style>