提交 d7e14809 authored 作者: 林国禄's avatar 林国禄

更新指标

上级 54af9feb
......@@ -107,33 +107,6 @@
</el-table-column>
</el-table>
<!-- <el-table v-loading="loading" :data="itemList" @selection-change="handleSelectionChange">-->
<!-- <el-table-column type="selection" width="55" align="center" />-->
<!--&lt;!&ndash; <el-table-column label="id" align="center" prop="id" />&ndash;&gt;-->
<!-- <el-table-column label="指标分类名称" align="center" prop="itemName" />-->
<!-- <el-table-column label="创建时间" align="center" prop="createTime" />-->
<!--&lt;!&ndash; <el-table-column label="上级id" align="center" prop="parentId" />&ndash;&gt;-->
<!--&lt;!&ndash; <el-table-column label="状态 1正常 0删除" align="center" prop="status" />&ndash;&gt;-->
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-hasPermi="['backstage:item:edit']"-->
<!-- >修改</el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['backstage:item:remove']"-->
<!-- >删除</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<pagination
v-show="total>0"
:total="total"
......@@ -340,6 +313,7 @@ export default {
updateItem(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.itemList = [];
this.getList();
}).catch(()=>{
this.form.levelValue = JSON.parse(this.form.levelValue);
......@@ -349,6 +323,7 @@ export default {
addItem(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.itemList = [];
this.getList();
}).catch(()=>{
this.form.levelValue = JSON.parse(this.form.levelValue);
......
......@@ -111,8 +111,8 @@
/>
<!-- 添加或修改指标对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="考核标题" prop="targetName">
<el-input v-model="form.targetName" placeholder="请输入考核标题" />
</el-form-item>
......@@ -123,8 +123,8 @@
<el-form-item label="评分标准" prop="scoreCriteria">
<el-input v-model="form.scoreCriteria" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="类型 1 加分类型 2扣分类型" prop="type">
<el-select v-model="form.type" placeholder="请选择">
<el-form-item label="类型" prop="type">
<el-select style="width: 100%" v-model="form.type" placeholder="请选择">
<el-option
v-for="item in typeOptions"
:key="item.value"
......@@ -134,18 +134,68 @@
</el-select>
</el-form-item>
<el-form-item label="指标图片url,多个以逗号隔开" prop="targetPicUrl">
<el-input v-model="form.targetPicUrl" placeholder="请输入指标图片url,多个以逗号隔开" />
<el-form-item v-if="form.type" :label="form.type == '1' ? '每点加分值' : '每点减分值'" prop="type">
<el-input type="number" v-model="form.plusReduceItemEvery" placeholder="请输入分值" />
</el-form-item>
<el-form-item v-if="form.type" :label="form.type == '1' ? '加分项' : '减分项'" prop="plusReduceItem">
<el-input type="textarea" v-model="form.plusReduceItem" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="考核总分值" prop="highScore">
<el-input type="number" v-model="form.highScore" placeholder="请输入考核总分值" />
</el-form-item>
<el-form-item label="所属指标分类" prop="levelValue">
<div class="block">
<!-- <span class="demonstration"></span>-->
<el-cascader
style="width: 100%"
key="id"
v-model="form.levelValue"
:options="levelOptions"
:props="{ expandTrigger: 'hover' }"
@change="handleChange"
clearable></el-cascader>
</div>
</el-form-item>
<el-form-item label="所属村类型" prop="villageType">
<el-select v-model="form.villageType" placeholder="请选择所属村类型">
<el-option label="请选择字典生成" value="" />
<el-select style="width: 100%" v-model="form.villageType" placeholder="请选择">
<el-option
v-for="item in villageTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="指标分类" prop="targetLevelId">
<el-input v-model="form.targetLevelId" placeholder="请输入指标层级id" />
<el-form-item label="典型图" prop="exhibitionImages">
<div>
<span>(仅可上传3张图)(建议尺寸:686*340)</span>
</div>
<div>
<el-upload
:action="upload.url"
list-type="picture-card"
show-file-list
:file-list="images"
:limit="3"
:headers="upload.headers"
accept=".jpg, .png, .jpeg"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:on-success="uploadSuccess"
:before-upload="beforeAvatarUpload">
<i class="el-icon-plus"></i>
</el-upload>
<el-dialog :visible.sync="dialogVisible">
<img style="size: 80px" width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" :disabled="repeatSubmit">确 定</el-button>
......@@ -157,19 +207,36 @@
<script>
import { listTarget, getTarget, delTarget, addTarget, updateTarget, exportTarget } from "@/api/backstage/target";
import { getTotalLevel, getLevelById, getLevel, listItem, getItem, delItem, addItem, updateItem, exportItem } from "@/api/backstage/item";
import { getToken } from "@/utils/auth";
export default {
name: "Target",
data() {
return {
fileList: [],
images: [],
dialogImageUrl: '',
dialogVisible: false,
levelOptions: [],
villageTypeOptions: [
{
label: '行政村类型',
value: '0'
},
{
label: '自然村类型',
value: '1'
},
],
typeOptions: [
{
label: '加分类',
value: 1
value: '1'
},
{
label: '减分类',
value: 2
value: '2'
},
],
// 不可重复提交
......@@ -213,7 +280,49 @@ export default {
form: {},
// 表单校验
rules: {
}
targetName: [
{ required: true, message: "考核标题不能为空,请输入考核标题", trigger: "blur" }
],
checkCriteria: [
{ required: true, message: "考核标准不能为空,请输入考核标准", trigger: "blur" }
],
scoreCriteria: [
{ required: true, message: "评分标准不能为空,请输入评分标准", trigger: "blur" }
],
type: [
{ required: true, message: "加/减分类型不能为空,请选择加/减分类型", trigger: "blur" }
],
plusReduceItem: [
{ required: true, message: "加/减分项不能为空,请输入加/减分项", trigger: "blur" }
],
plusReduceItemEvery: [
{ required: true, message: "每点加/减分分值不能为空,请输入每点加/减分分值", trigger: "blur" }
],
highScore: [
{ required: true, message: "考核总分值不能为空,请输入考核总分值", trigger: "blur" }
],
villageType: [
{ required: true, message: "所属村类型不能为空,请选择所属村类型", trigger: "blur" }
],
levelValue: [
{ required: true, message: "所属指标分类不能为空,请选择所属指标分类", trigger: "blur" }
],
},
// 用户导入参数
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + "/common/upload"
},
};
},
created() {
......@@ -273,6 +382,11 @@ export default {
},
/** 新增按钮操作 */
handleAdd() {
//获取层级
getTotalLevel(0).then(res=>{
this.levelOptions = res.data;
});
this.reset();
this.open = true;
this.title = "添加指标";
......@@ -283,8 +397,25 @@ export default {
const id = row.id || this.ids
getTarget(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改指标";
//处理图片数据
let imageList = this.form.targetPicUrl.split(",")
let iList = [];
imageList.map(item=>{
let url = {name:this.getUuid() + '.jpg',url:item }
iList.push(url)
})
this.images = iList
//获取层级
this.form.levelValue = JSON.parse(response.data.levelValue);
getTotalLevel(0).then(res=>{
this.levelOptions = res.data;
this.open = true;
this.title = "修改指标";
});
});
},
/** 提交按钮 */
......@@ -295,6 +426,34 @@ export default {
},2000)
this.$refs["form"].validate(valid => {
if (valid) {
//处理上传的图片
if(this.fileList.length > 0){
let urls = '';
this.fileList.map((item,index)=>{
let url = '';
if(item.response != null){
url = item.response.url;
}else {
url = item.url;
}
if(index < this.fileList.length - 1){
urls = urls + url + ',';
}else {
urls = urls + url
}
})
this.form.targetPicUrl = urls;
}
//处理指标层级
if(this.form.levelValue != null){
this.form.targetLevelId = this.form.levelValue[this.form.levelValue.length-1];//指标分类id
this.form.levelValue = JSON.stringify(this.form.levelValue)
}
if (this.form.id != null) {
updateTarget(this.form).then(response => {
this.msgSuccess("修改成功");
......@@ -337,7 +496,57 @@ export default {
}).then(response => {
this.download(response.msg);
})
}
},
handleChange(){
},
//删除上传文件
handleRemove(file, fileList) {
// console.log(file, fileList);
this.fileList = fileList;
},
//点击文件列表中已上传的文件时的钩子
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
//上传文件成功
uploadSuccess(res,file,fileList){
console.log(fileList)
this.fileList = fileList;
},
//上传文件之前
beforeAvatarUpload(file) {
const isIMG =
file.type === 'image/jpg' ||
file.type === 'image/jpeg' ||
file.type === 'image/png'
if (!isIMG) {
this.$message.error('上传文件只支持jpg、jpeg、png格式!')
}
const isLt2M = file.size / 1024 / 1024 < 100;
if (!isLt2M) {
this.$message.error('上传图片大小不能超过 100MB!');
}
return isIMG && isLt2M;
},
// 获取uuid
getUuid() {
var s = [];
var hexDigits = "0123456789abcdef";
for (var i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23] = "-";
var uuid = s.join("");
// this.text = uuid
// console.log(this.text)
return uuid
},
}
};
</script>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论