|
@@ -16,11 +16,14 @@
|
|
|
<el-table-column type="index" label="序号" header-align="center" align="center">
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" min-width="100px" label="标题" prop="title">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <router-link :to="{name: 'commendDataList', params: { id: scope.row.commendId }}">
|
|
|
+ <div style="color: #337ab7;cursor: pointer;">{{ scope.row.title }}</div>
|
|
|
+ </router-link>
|
|
|
+ </template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" min-width="80px" label="类型" prop="typeName">
|
|
|
</el-table-column>
|
|
|
- <!-- <el-table-column align="center" min-width="80px" label="属性" prop="subTypeName">
|
|
|
- </el-table-column> -->
|
|
|
<el-table-column align="center" min-width="80px" label="日期" prop="createTime">
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" label="操作" width="300px" class-name="small-padding fixed-width">
|
|
@@ -44,41 +47,18 @@
|
|
|
</div>
|
|
|
|
|
|
<!-- 添加或修改对话框 -->
|
|
|
- <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="50%">
|
|
|
+ <el-dialog :close-on-click-modal="false" :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="40%">
|
|
|
<el-form :rules="rules" ref="dataForm" :model="dataForm" status-icon label-position="left" label-width="80px"
|
|
|
style="width: 700px; margin-left: 50px">
|
|
|
<el-form-item label="标题" prop="title">
|
|
|
<el-input style="width: 350px" v-model="dataForm.title"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="类型" prop="type">
|
|
|
- <el-select @change="changeType" v-model="dataForm.type" filterable placeholder="请选择" style="width: 350px">
|
|
|
+ <el-select v-model="dataForm.type" filterable placeholder="请选择" style="width: 350px">
|
|
|
<el-option :key="item.type" v-for="item in typeList" :label="item.name" :value="item.type">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="表彰人" prop="recipientsList">
|
|
|
- <el-select v-model="dataForm.recipientsList" multiple filterable placeholder="请选择" style="width: 350px">
|
|
|
- <el-option :key="item.loginId" v-for="item in recipientsList" :label="item.userName" :value="item.loginId">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <div v-if="typeVisible">
|
|
|
- <el-form-item label="属性" prop="subType">
|
|
|
- <el-select v-model="dataForm.subType" filterable placeholder="请选择" style="width: 350px">
|
|
|
- <el-option :key="item.type" v-for="item in subTypeList" :label="item.name" :value="item.type">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="附件" prop="fileIds">
|
|
|
- <el-upload style="width: 350px" class="avatar-uploader" :action="fileImgUrl" list-type="text" multiple
|
|
|
- :limit="5" :file-list="dataForm.files" :on-success="handleAvatarSuccess" :on-exceed="handleExceed"
|
|
|
- :before-remove="beforeRemove" :on-remove="handleRemove">
|
|
|
- <el-button size="small" type="primary">点击上传</el-button>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
-
|
|
|
</el-form>
|
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
@@ -114,7 +94,6 @@ import {
|
|
|
state,
|
|
|
types,
|
|
|
} from "@/api/commendManage";
|
|
|
-import { allUserList } from "@/api/public";
|
|
|
import waves from "@/directive/waves"; // 水波纹指令
|
|
|
import Tinymce from "@/components/Tinymce";
|
|
|
|
|
@@ -123,24 +102,9 @@ export default {
|
|
|
directives: { waves },
|
|
|
data() {
|
|
|
return {
|
|
|
- recipientsList:[],
|
|
|
- typeVisible: false,
|
|
|
- fileImgUrl: this.upLoadUrl,
|
|
|
typeList: [],
|
|
|
- subTypeList: [
|
|
|
- {
|
|
|
- type: 0,
|
|
|
- name: "奖状",
|
|
|
- },
|
|
|
- // {
|
|
|
- // type: 1,
|
|
|
- // name: "邮件",
|
|
|
- // },
|
|
|
- ],
|
|
|
list: [
|
|
|
],
|
|
|
- delarr: [],
|
|
|
- multipleSelection: [],
|
|
|
total: 0,
|
|
|
listLoading: false,
|
|
|
listQuery: {
|
|
@@ -151,12 +115,6 @@ export default {
|
|
|
dataForm: {
|
|
|
type: undefined,
|
|
|
title: undefined,
|
|
|
- subTitle: undefined,
|
|
|
- pubDate: undefined,
|
|
|
- fileIds: undefined,
|
|
|
- fileName: undefined,
|
|
|
- files: [],
|
|
|
- recipientsList:[],
|
|
|
},
|
|
|
dialogFormVisible: false,
|
|
|
dialogStatus: "",
|
|
@@ -166,19 +124,13 @@ export default {
|
|
|
},
|
|
|
rules: {
|
|
|
title: [{ required: true, message: "标题不能为空", trigger: "blur" }],
|
|
|
- recipientsList: [
|
|
|
- { required: true, message: "表彰人不能为空", trigger: "blur" },
|
|
|
- ],
|
|
|
type: [{ required: true, message: "请选择类型", trigger: "blur" }],
|
|
|
- subType: [{ required: true, message: "请选择属性", trigger: "blur" }],
|
|
|
- fileIds: [{ required: true, message: "请上传礼品图片", trigger: "blur" }],
|
|
|
},
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
this.getTypeList();
|
|
|
this.getList();
|
|
|
- this.getAllUserList();
|
|
|
},
|
|
|
methods: {
|
|
|
getTypeList(){
|
|
@@ -186,13 +138,6 @@ export default {
|
|
|
this.typeList = response.data.data;
|
|
|
})
|
|
|
},
|
|
|
- changeType(val) {
|
|
|
- if (val == 33) {
|
|
|
- this.typeVisible = true;
|
|
|
- } else {
|
|
|
- this.typeVisible = false;
|
|
|
- }
|
|
|
- },
|
|
|
changeState(commendId, index) {
|
|
|
state({ commendId: commendId, status: index }).then(response => {
|
|
|
this.$notify({
|
|
@@ -204,70 +149,12 @@ export default {
|
|
|
this.getList()
|
|
|
})
|
|
|
},
|
|
|
- handleAvatarSuccess(res, file, fileList) {
|
|
|
- console.log(file, fileList);
|
|
|
- console.log("------", "==========");
|
|
|
- console.log("res = ", res);
|
|
|
-
|
|
|
- let files = [];
|
|
|
- let names = [];
|
|
|
- for (let i in fileList) {
|
|
|
- let response = fileList[i].response;
|
|
|
- if (response.errno && response.errno != "0") {
|
|
|
- this.$message.error("该文件上传失败,已被移除,请重新上传!");
|
|
|
- // 上传失败移除该 file 对象
|
|
|
- fileList.splice(i, 1);
|
|
|
- } else {
|
|
|
- let name = fileList[i].name;
|
|
|
- let id = fileList[i].response.data.id;
|
|
|
- files.push(id);
|
|
|
- names.push(name);
|
|
|
- }
|
|
|
- }
|
|
|
- this.dataForm.fileIds = files.join(",");
|
|
|
- this.dataForm.fileName = names.join(",");
|
|
|
- },
|
|
|
- handleExceed(files, fileList) {
|
|
|
- this.$message.warning(
|
|
|
- `当前限制选择 5 个文件,本次选择了 ${files.length} 个文件!,共选择了 ${files.length + fileList.length
|
|
|
- } 个文件`
|
|
|
- );
|
|
|
- },
|
|
|
- beforeRemove(file, fileList) {
|
|
|
- return this.$confirm(`确定移除 ${file.name}?`);
|
|
|
- },
|
|
|
- handleRemove(file, fileList) {
|
|
|
- console.log(file, fileList);
|
|
|
-
|
|
|
- let files = [];
|
|
|
- let names = [];
|
|
|
- for (let i in fileList) {
|
|
|
- let response = fileList[i].response;
|
|
|
- let name = fileList[i].name;
|
|
|
- let id = response.data.id;
|
|
|
- files.push(id);
|
|
|
- names.push(name);
|
|
|
- }
|
|
|
- this.dataForm.fileIds = files.join(",");
|
|
|
- this.dataForm.fileName = names.join(",");
|
|
|
- },
|
|
|
resetForm() {
|
|
|
this.dataForm = {
|
|
|
type: undefined,
|
|
|
title: undefined,
|
|
|
- subTitle: undefined,
|
|
|
- pubDate: undefined,
|
|
|
- fileIds: undefined,
|
|
|
- fileName: undefined,
|
|
|
- files: [],
|
|
|
- recipientsList:[],
|
|
|
};
|
|
|
},
|
|
|
- getAllUserList() {
|
|
|
- allUserList().then(response => {
|
|
|
- this.recipientsList = response.data.data;
|
|
|
- }).catch(() => { });
|
|
|
- },
|
|
|
handleCreate() {
|
|
|
this.resetForm();
|
|
|
|
|
@@ -330,26 +217,8 @@ export default {
|
|
|
|
|
|
handleUpdate(row) {
|
|
|
this.dataForm = Object.assign({}, row);
|
|
|
- if (this.dataForm.type == 33) {
|
|
|
- this.typeVisible = true;
|
|
|
- } else {
|
|
|
- this.typeVisible = false;
|
|
|
- }
|
|
|
this.dialogStatus = "update";
|
|
|
this.dialogFormVisible = true;
|
|
|
- if (this.dataForm.files) {
|
|
|
- let files = this.dataForm.files;
|
|
|
- this.dataForm.files = [];
|
|
|
- for (let i in files) {
|
|
|
- let fileUrl = files[i].url;
|
|
|
- let fileName = files[i].name;
|
|
|
- this.dataForm.files.push({
|
|
|
- name: fileName,
|
|
|
- url: fileUrl,
|
|
|
- response: { error: "0", data: files[i] },
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs["dataForm"].clearValidate();
|
|
|
});
|