From 3339cd48d37e3fe1b0dd7f4ea313c0cf2a8c0623 Mon Sep 17 00:00:00 2001
From: yz <yz_0812@outlook.com>
Date: 星期四, 18 二月 2021 04:58:55 +0800
Subject: [PATCH] 标签管理
---
src/views/yunpan/fujian.vue | 271 +++++++++++++++++++++++++++++++-----------------------
1 files changed, 156 insertions(+), 115 deletions(-)
diff --git a/src/views/yunpan/fujian.vue b/src/views/yunpan/fujian.vue
index eac8c3e..76872d1 100644
--- a/src/views/yunpan/fujian.vue
+++ b/src/views/yunpan/fujian.vue
@@ -146,13 +146,79 @@
</el-form>
<el-row style="margin: 10px;">
<el-col :span="24">
- <el-button class="hr-but-all" type="danger">新建标签</el-button>
- <el-button type="primary">删除标签</el-button>
- <el-popconfirm title="是否删除所选择的附件?">
- <el-button slot="reference" class="hr-but-all" type="danger" @click="delfj()">删除附件</el-button>
+ <el-button class="hr-but-all" type="danger" @click="dialogFormVisible = true">新建标签</el-button>
+ <el-popconfirm title="是否删除标签?" @onConfirm="deldialogFormVisible = true">
+ <el-button slot="reference" class="hr-but" type="danger">删除标签</el-button>
</el-popconfirm>
+
+ <el-dialog
+ title="新建标签"
+ :visible.sync="dialogFormVisible"
+ width="25%"
+ class="add-label"
+ >
+ <el-form ref="labelform" :model="labelform" :rules="rules">
+ <el-form-item
+ label="标签名称:"
+ :label-width="formLabelWidth"
+ prop="labelname"
+ >
+ <el-input v-model="labelform.labelname" autocomplete="off" />
+ </el-form-item>
+ <el-form-item
+ label="标签code:"
+ :label-width="formLabelWidth"
+ prop="labelcode"
+ >
+ <el-input v-model="labelform.labelcode" autocomplete="off" />
+ </el-form-item>
+ <el-form-item label="标签排序:" :label-width="formLabelWidth" prop="sort">
+ <el-input-number
+ v-model="labelform.sort"
+ :min="0"
+ :max="100"
+ label="排序"
+ />
+ </el-form-item></el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="dialogFormVisible = false">取 消</el-button>
+ <el-button
+ type="primary"
+ @click="addlabel('labelform')"
+ >确 定</el-button>
+ </div>
+ </el-dialog>
+ <el-dialog
+ title="删除标签"
+ :visible.sync="deldialogFormVisible"
+ width="25%"
+ class="add-label"
+ >
+ <el-form ref="dellabelform" :model="labelform" :rules="delrules">
+ <el-form-item
+ label="标签名称:"
+ :label-width="formLabelWidth"
+ prop="labelid"
+ >
+ <el-select v-model="labelform.labelid" placeholder="请选择标签名称">
+ <el-option
+ v-for="item in labelData"
+ :key="item.labelid"
+ :value="item.labelid"
+ :label="item.labelname"
+ />
+ </el-select>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="deldialogFormVisible = false">取 消</el-button>
+ <el-button
+ type="primary"
+ @click="dellabel('dellabelform')"
+ >确 定</el-button>
+ </div>
+ </el-dialog>
<el-button class="hr-but-all" type="danger" @click="downloadfj()">下载附件</el-button>
- <el-button class="hr-but-all" type="danger" @click="dialogShow()">附件管理</el-button>
<el-dialog title="附件管理" :visible.sync="dialogShowUploadfj" :fullscreen="true">
<uploadfj @cancleChooseUser="cancleChooseUser()" />
</el-dialog>
@@ -171,7 +237,7 @@
<el-button
type="text"
size="small"
- @click.native.prevent="deleteRow(scope.$index, tableData)"
+ @click.native.prevent="dialogShow(scope.$index, tableData)"
>
上传
</el-button>
@@ -181,112 +247,15 @@
<el-table-column prop="certificateNumb" label="身份证号" width="180" />
<el-table-column prop="deptName" label="护卫点(部门)" width="180" />
<el-table-column prop="jobName" label="岗位" width="100" />
- <el-table-column prop="jljt" label="记录截图">
- <template slot-scope="scope">
- <el-link type="primary"> {{ scope.row.jljt }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="zp" label="照片">
- <template slot-scope="scope">
- <el-link type="primary"> {{ scope.row.zp }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="ldht" label="劳动合同">
- <template slot-scope="scope">
- <el-link type="primary"> {{ scope.row.ldht }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="sfz" label="身份证">
- <template slot-scope="scope">
- <el-link type="primary"> {{ scope.row.sfz }}</el-link>
- </template>
- </el-table-column>
+ <template v-for="(col) in labelData">
+ <el-table-column :key="col.labelid" :prop="col.labelcode" :label="col.labelname">
+ <template slot-scope="scope">
+ <el-link type="primary"> {{ scope.row[col.labelcode] }}</el-link>
+ </template>
+ </el-table-column>
+ </template>
- <el-table-column prop="rzb" label="入职表">
- <template slot-scope="scope">
- <el-link type="primary">
- {{ scope.row.rzb }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="tjb" label="体检表">
- <template slot-scope="scope">
- <el-link type="primary">
- {{ scope.row.tjb }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="hz" label="回执">
- <template slot-scope="scope">
- <el-link type="primary">
- {{ scope.row.hz }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="yhk" label="银行卡">
- <template slot-scope="scope">
- <el-link type="primary">
- {{ scope.row.yhk }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="xgzj" label="相关证件">
- <template slot-scope="scope">
- <el-link type="primary">
- {{ scope.row.xgzj }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="xght" label="相关合同">
- <template slot-scope="scope">
- <el-link type="primary">{{ scope.row.xght }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="qj" label="请假">
- <template slot-scope="scope">
- <el-link type="primary">{{ scope.row.qj }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="cf" label="处罚">
- <template slot-scope="scope">
- <el-link type="primary"> {{ scope.row.cf }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="czsq" label="辞职申请">
- <template slot-scope="scope">
- <el-link type="primary"> {{ scope.row.czsq }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="lzsx" label="离职手续">
- <template slot-scope="scope">
- <el-link type="primary"> {{ scope.row.lzsx }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="zl" label="自离">
- <template slot-scope="scope">
- <el-link type="primary"> {{ scope.row.zl }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="sb" label="社保">
- <template slot-scope="scope">
- <el-link type="primary">{{ scope.row.sb }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="syj" label="失业金">
- <template slot-scope="scope">
- <el-link type="primary"> {{ scope.row.syj }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="ywx" label="意外险">
- <template slot-scope="scope">
- <el-link type="primary">{{ scope.row.ywx }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="gs" label="工伤">
- <template slot-scope="scope">
- <el-link type="primary"> {{ scope.row.gs }}</el-link>
- </template>
- </el-table-column>
- <el-table-column prop="lz" label="劳资">
- <template slot-scope="scope">
- <el-link type="primary"> {{ scope.row.lz }}</el-link>
- </template>
- </el-table-column></el-table>
+ </el-table>
<pagination
v-show="total>0"
:total="total"
@@ -308,6 +277,29 @@
},
data() {
return {
+ deldialogFormVisible: false,
+ formLabelWidth: '100px',
+ dialogFormVisible: false,
+ labelform: {
+ labelname: '',
+ labelid: '',
+ labelcode: '',
+ sort: 0
+ },
+ rules: {
+ labelname: [
+ { required: true, message: '请输入标签名称', trigger: 'blur' },
+ { min: 2, max: 10, message: '长度在 2 到 10 个字符', trigger: 'blur' }
+ ],
+ labelcode: [
+ { required: true, message: '请输入标签code', trigger: 'blur' },
+ { min: 3, max: 10, message: '长度在 3 到 20 个字符', trigger: 'blur' }
+ ],
+ sort: [{ required: true, message: '请输入排序', type: 'number', trigger: 'blur' }]
+ },
+ delrules: {
+ labelid: [{ required: true, message: '请选择标签', trigger: 'change' }]
+ },
dialogShowUploadfj: false,
empName: '',
queryform: {
@@ -363,6 +355,7 @@
]
},
tableData: [],
+ labelData: [],
defaultProps: {
children: 'children',
label: 'label'
@@ -370,16 +363,53 @@
}
},
mounted() {
+ this.initLabel()
this.fetch()
},
methods: {
- delfj() {
-
+ dellabel(formName) {
+ this.$refs[formName].validate(valid => {
+ if (valid) {
+ this.$delete('hr/label', { ...this.labelform }).then(() => {
+ this.dialogFormVisible = false
+ this.$message({
+ message: this.$t('tips.deleteSuccess'),
+ type: 'success'
+ })
+ this.deldialogFormVisible = false
+ // 初始加载
+ this.initLabel()
+ this.fetch()
+ })
+ }
+ })
+ },
+ addlabel(formName) {
+ this.$refs[formName].validate(valid => {
+ if (valid) {
+ this.$post('hr/label', { ...this.labelform }).then(() => {
+ this.dialogFormVisible = false
+ this.$message({
+ message: this.$t('tips.createSuccess'),
+ type: 'success'
+ })
+ this.labelform.labelname = ''
+ this.labelform.sort = 0
+ this.labelform.labelcode = ''
+ // 初始加载
+ this.initLabel()
+ this.fetch()
+ })
+ }
+ })
},
downloadfj() {
-
+ this.$message({
+ message: '下载成功!',
+ type: 'success'
+ })
},
- dialogShow() {
+ dialogShow(index, tableData) {
this.dialogShowUploadfj = true
},
cancleChooseUser() {
@@ -434,6 +464,11 @@
this.tableData = data.rows
})
},
+ initLabel() {
+ this.$get('hr/label').then((r) => {
+ this.labelData = r.data.data
+ })
+ },
advancedQueryShowMethods() {
if (this.advancedQueryShow) {
this.headerHeight = '70px'
@@ -457,8 +492,14 @@
margin-top: 10px;
height: 600px;
}
+.el-input-number {
+ width: 100%;
+}
</style>
<style lang="scss">
+.add-lable {
+ text-align: initial;
+}
.input-empName .el-input-group__append{
padding: 0 15px 0 0;
}
--
Gitblit v1.8.0