Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录/注册
切换导航
Z
zhongtai-ui
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
chenweiping
zhongtai-ui
Commits
d7e14809
提交
d7e14809
authored
9月 18, 2021
作者:
林国禄
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新指标
上级
54af9feb
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
227 行增加
和
43 行删除
+227
-43
index.vue
src/views/backstage/item/index.vue
+2
-27
index.vue
src/views/backstage/target/index.vue
+225
-16
没有找到文件。
src/views/backstage/item/index.vue
浏览文件 @
d7e14809
...
...
@@ -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" />-->
<!--<!– <el-table-column label="id" align="center" prop="id" />–>-->
<!-- <el-table-column label="指标分类名称" align="center" prop="itemName" />-->
<!-- <el-table-column label="创建时间" align="center" prop="createTime" />-->
<!--<!– <el-table-column label="上级id" align="center" prop="parentId" />–>-->
<!--<!– <el-table-column label="状态 1正常 0删除" align="center" prop="status" />–>-->
<!-- <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
);
...
...
src/views/backstage/target/index.vue
浏览文件 @
d7e14809
...
...
@@ -111,8 +111,8 @@
/>
<!-- 添加或修改指标对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"
5
00px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"
8
0px"
>
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"
8
00px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"
12
0px"
>
<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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论