Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
data-collect
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wenyi.chen
data-collect
Commits
c4c7c925
Commit
c4c7c925
authored
Mar 21, 2024
by
wenyi.chen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
綫上
parent
19792d42
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
153 additions
and
213 deletions
+153
-213
.env
+3
-0
src/api/claimTasks/index.js
+8
-1
src/utils/getHost.js
+8
-0
src/views/auditManagement/admin/reviewed/index.vue
+1
-0
src/views/auditManagement/admin/unaudited/details.vue
+7
-10
src/views/auditManagement/admin/unaudited/index.vue
+1
-0
src/views/auditManagement/user/completed/details.vue
+2
-1
src/views/auditManagement/user/incomplete/details.vue
+2
-2
src/views/auditManagement/user/incomplete/index.vue
+1
-1
src/views/claimTasks/user/completed/details.vue
+3
-2
src/views/claimTasks/user/completed/index.vue
+1
-0
src/views/claimTasks/user/completed/modify.vue
+5
-2
src/views/claimTasks/user/incomplete/details.vue
+61
-113
src/views/claimTasks/user/list/index.vue
+2
-1
src/views/norm/list/details.vue
+18
-54
src/views/norm/list/dialog.vue
+27
-24
src/views/norm/list/edit.vue
+1
-0
vite.config.js
+2
-2
No files found.
.env
View file @
c4c7c925
...
...
@@ -7,5 +7,7 @@ VITE_OPEN = false
# public path 配置线上环境路径(打包)、本地通过 http-server 访问时,请置空即可
VITE_PUBLIC_PATH = ./
Upload ='/dev/api/upload/picture'
# X-OPENAPI-TOKEN
VITE_X_OPENAPI_TOKEN = 098f6bcd4621d373cade4e832627b4f6
\ No newline at end of file
src/api/claimTasks/index.js
View file @
c4c7c925
...
...
@@ -37,7 +37,14 @@ export function claimTasksApi() {
},
normReceivesDetail
:
(
data
)
=>
{
return
request
({
url
:
'/api/normReceives/detail'
,
url
:
'/api/normCollects/detail'
,
method
:
'post'
,
data
,
});
},
normReceivesModify
:
(
data
)
=>
{
return
request
({
url
:
'/api/normCollects/modify'
,
method
:
'post'
,
data
,
});
...
...
src/utils/getHost.js
View file @
c4c7c925
...
...
@@ -4,4 +4,11 @@ export function getHost() {
}
else
{
return
'/data-collect-api'
}
}
export
function
getUploadUrl
()
{
if
(
process
.
env
.
NODE_ENV
===
'development'
)
{
return
'/dev/api/upload/picture'
}
else
{
return
'/data-collect-api/api/upload/picture'
}
}
\ No newline at end of file
src/views/auditManagement/admin/reviewed/index.vue
View file @
c4c7c925
...
...
@@ -98,6 +98,7 @@ const state = reactive({
name
:
''
,
status
:
'2,3'
,
task_id
:
''
,
admin
:
1
,
},
// 任务领取参数
apiAuditingParam
:
{
...
...
src/views/auditManagement/admin/unaudited/details.vue
View file @
c4c7c925
...
...
@@ -36,25 +36,22 @@
<el-form-item
label=
"标题"
:prop=
"'userFilled.' + index+ '.name'"
v-for=
"(item, index) in state.formItem.userFilled"
:key=
"index"
>
<el-row
style=
"width: 100% !important;"
>
<el-col
:span=
"
12
"
>
<el-col
:span=
"
7
"
>
<el-input
v-model=
"item.name"
placeholder=
"请输入标题"
clearabl
:disabled=
"true"
></el-input>
</el-col>
<el-col
:span=
"
6
"
>
<div>
是否必填:
</div>
<el-col
:span=
"
2
"
>
内容:
</el-col>
<el-col
:span=
"6"
>
<div>
<el-radio
v-model=
"item.radio"
label=
"1"
:disabled=
"true"
>
是
</el-radio>
<el-radio
v-model=
"item.radio"
label=
"0"
:disabled=
"true"
>
否
</el-radio>
</div>
<el-col
:span=
"15"
>
<el-input
v-model=
"item.value"
placeholder=
"请填写内容"
required
:disabled=
"true"
></el-input>
</el-col>
</el-row>
<el-row
style=
"width: 100% !important; margin-left: -8%; margin-top: 10 !important;"
>
<el-col
:span=
"2"
>
<div>
备注:
</div>
</el-col>
<el-col
:span=
"
18
"
>
<el-input
v-model=
"item.remarks"
placeholder=
"请输入备注(选填)"
clearabl
:disabled=
"true"
></el-input>
<el-col
:span=
"
22
"
>
<el-input
v-model=
"item.remarks"
placeholder=
"请输入备注(选填)"
clearabl
:disabled=
"true"
></el-input>
</el-col>
</el-row>
</el-form-item>
...
...
src/views/auditManagement/admin/unaudited/index.vue
View file @
c4c7c925
...
...
@@ -102,6 +102,7 @@ const state = reactive({
name
:
''
,
status
:
1
,
task_id
:
''
,
admin
:
1
,
},
// 任务领取参数
apiAuditingParam
:
{
...
...
src/views/auditManagement/user/completed/details.vue
View file @
c4c7c925
...
...
@@ -67,6 +67,7 @@ import '@wangeditor/editor/dist/css/style.css' // 引入 css
import
{
Editor
,
Toolbar
}
from
'@wangeditor/editor-for-vue'
import
{
claimTasksApi
}
from
'/@/api/claimTasks'
import
{
ElMessage
}
from
'element-plus'
;
import
{
getUploadUrl
}
from
"/@/utils/getHost.js"
;
// 定义子组件向父组件传值/事件
const
emit
=
defineEmits
([
'refresh'
]);
...
...
@@ -245,7 +246,7 @@ editorConfig.MENU_CONF['uploadImage'] = {
// 小于该值就插入 base64 格式(而不上传),默认为 0
base64LimitSize
:
5
*
1024
,
// 5kb
server
:
"dev/api/upload/picture"
,
server
:
getUploadUrl
()
,
fieldName
:
'file'
,
// 单个文件上传成功之后
onSuccess
(
file
,
res
)
{
// JS 语法
...
...
src/views/auditManagement/user/incomplete/details.vue
View file @
c4c7c925
...
...
@@ -65,7 +65,7 @@
<
script
setup
name=
"systemRoleDialog"
>
import
'@wangeditor/editor/dist/css/style.css'
// 引入 css
import
{
Editor
,
Toolbar
}
from
'@wangeditor/editor-for-vue'
import
{
getUploadUrl
}
from
"/@/utils/getHost.js"
;
import
{
claimTasksApi
}
from
'/@/api/claimTasks'
import
{
ElMessage
}
from
'element-plus'
;
// 定义子组件向父组件传值/事件
...
...
@@ -129,7 +129,7 @@ editorConfig.MENU_CONF['uploadImage'] = {
// 小于该值就插入 base64 格式(而不上传),默认为 0
base64LimitSize
:
5
*
1024
,
// 5kb
server
:
"dev/api/upload/picture"
,
server
:
getUploadUrl
()
,
fieldName
:
'file'
,
// 单个文件上传成功之后
onSuccess
(
file
,
res
)
{
// JS 语法
...
...
src/views/auditManagement/user/incomplete/index.vue
View file @
c4c7c925
...
...
@@ -78,7 +78,7 @@ import { ElMessageBox, ElMessage } from 'element-plus';
import
{
Session
}
from
'/@/utils/storage'
;
// 引入组件
const
Breadcrumb
=
defineAsyncComponent
(()
=>
import
(
'/@/layout/navBars/breadcrumb/breadcrumb.vue'
));
const
DetailDialog
=
defineAsyncComponent
(()
=>
import
(
'
/@/views/claimTasks/user/incomplete/details
.vue'
));
const
DetailDialog
=
defineAsyncComponent
(()
=>
import
(
'
../../../claimTasks/user/incomplete/details-
.vue'
));
// 定义变量内容
const
DetailDialogRef
=
ref
()
...
...
src/views/claimTasks/user/completed/details.vue
View file @
c4c7c925
...
...
@@ -37,7 +37,7 @@
<el-input
v-model=
"item.name"
placeholder=
"请输入标题"
clearabl
:disabled=
"true"
></el-input>
</el-col>
<el-col
:span=
"2"
>
备注
:
内容
:
</el-col>
<el-col
:span=
"15"
>
<el-input
v-model=
"item.value"
placeholder=
"请填写内容"
required
:disabled=
"true"
></el-input>
...
...
@@ -90,6 +90,7 @@ import '@wangeditor/editor/dist/css/style.css' // 引入 css
import
{
Editor
,
Toolbar
}
from
'@wangeditor/editor-for-vue'
import
{
claimTasksApi
}
from
'/@/api/claimTasks'
import
{
ElMessage
}
from
'element-plus'
;
import
{
getUploadUrl
}
from
"/@/utils/getHost.js"
;
// 定义子组件向父组件传值/事件
const
emit
=
defineEmits
([
'refresh'
]);
...
...
@@ -269,7 +270,7 @@ editorConfig.MENU_CONF['uploadImage'] = {
// 小于该值就插入 base64 格式(而不上传),默认为 0
base64LimitSize
:
5
*
1024
,
// 5kb
server
:
"dev/api/upload/picture"
,
server
:
getUploadUrl
()
,
fieldName
:
'file'
,
// 单个文件上传成功之后
onSuccess
(
file
,
res
)
{
// JS 语法
...
...
src/views/claimTasks/user/completed/index.vue
View file @
c4c7c925
...
...
@@ -101,6 +101,7 @@ const state = reactive({
name
:
''
,
status
:
'1,2,3'
,
task_id
:
''
,
order
:
'asc'
},
// 任务领取参数
apiReceiveParam
:
{
...
...
src/views/claimTasks/user/completed/modify.vue
View file @
c4c7c925
...
...
@@ -67,6 +67,7 @@ import '@wangeditor/editor/dist/css/style.css' // 引入 css
import
{
Editor
,
Toolbar
}
from
'@wangeditor/editor-for-vue'
import
{
claimTasksApi
}
from
'/@/api/claimTasks'
import
{
ElMessage
}
from
'element-plus'
;
import
{
getUploadUrl
}
from
"/@/utils/getHost.js"
;
// 定义子组件向父组件传值/事件
const
emit
=
defineEmits
([
'refresh'
]);
...
...
@@ -192,12 +193,14 @@ const onSubmit = () => {
ElMessage
.
error
(
'只允许上传两张图片!'
);
}
if
(
apiIndex
==
1
&&
valid
){
claimTasksApi
().
normCollectsAdd
(
JSON
.
stringify
(
state
.
formItem
)).
then
(
res
=>
{
claimTasksApi
().
normReceivesModify
(
JSON
.
stringify
(
state
.
formItem
)).
then
(
res
=>
{
editor
.
clear
()
state
.
btnLoading
=
false
ElMessage
.
success
(
'操作成功'
);
closeDialog
();
emit
(
'refresh'
);
}).
catch
(()
=>
{
editor
.
clear
()
state
.
btnLoading
=
false
closeDialog
();
emit
(
'refresh'
);
...
...
@@ -247,7 +250,7 @@ editorConfig.MENU_CONF['uploadImage'] = {
// 小于该值就插入 base64 格式(而不上传),默认为 0
base64LimitSize
:
5
*
1024
,
// 5kb
server
:
"dev/api/upload/picture"
,
server
:
getUploadUrl
()
,
fieldName
:
'file'
,
// 单个文件上传成功之后
onSuccess
(
file
,
res
)
{
// JS 语法
...
...
src/views/claimTasks/user/incomplete/details.vue
View file @
c4c7c925
...
...
@@ -29,26 +29,9 @@
</el-select>
</el-form-item>
<el-form-item
label=
"标题"
:prop=
"'userFilled.' + index+ '.name'"
v-for=
"(item, index) in state.formItem.userFilled"
:key=
"index"
>
<el-row
style=
"width: 100% !important;"
>
<el-col
:span=
"7"
>
<el-input
v-model=
"item.name"
placeholder=
"请输入标题"
clearabl
:disabled=
"true"
></el-input>
</el-col>
<el-col
:span=
"2"
>
备注:
</el-col>
<el-col
:span=
"15"
>
<el-input
v-model=
"item.value"
placeholder=
"请填写内容"
required
></el-input>
</el-col>
</el-row>
<el-row
style=
"width: 100% !important; margin-left: -8%; margin-top: 10 !important;"
>
<el-col
:span=
"2"
>
<div>
备注:
</div>
</el-col>
<el-col
:span=
"22"
>
<el-input
v-model=
"item.remark"
placeholder=
"请输入备注(选填)"
clearabl
:disabled=
"true"
></el-input>
</el-col>
</el-row>
<el-input
v-model=
"item.name"
placeholder=
"请输入标题"
clearable
style=
"width: 30%;"
:disabled=
"true"
></el-input>
<div
style=
"width: 10%;"
><span
style=
"color: red;"
v-if=
"item.radio==1"
>
*
</span>
内容:
</div>
<el-input
v-model=
"item.value"
placeholder=
"请填写内容"
style=
"width: 60%;"
required
></el-input>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"state.formItem.addItem.remark"
placeholder=
"请输入备注"
clearable
></el-input>
...
...
@@ -89,6 +72,7 @@ import { Editor, Toolbar } from '@wangeditor/editor-for-vue'
import
{
claimTasksApi
}
from
'/@/api/claimTasks'
import
{
ElMessage
}
from
'element-plus'
;
import
{
getUploadUrl
}
from
"/@/utils/getHost.js"
;
// 定义子组件向父组件传值/事件
const
emit
=
defineEmits
([
'refresh'
]);
...
...
@@ -115,8 +99,6 @@ const state = reactive({
// 填写内容及自定义文本框
formItem
:
{
addItem
:{
refer_type
:
''
,
id
:
''
,
},
dynamicItem
:
[
],
...
...
@@ -126,7 +108,6 @@ const state = reactive({
editorContent
:
''
,
// 富文本所有内容
}
});
// 编辑器实例,必须用 shallowRef
const
editorRef
=
shallowRef
()
const
mode
=
ref
(
'default'
)
...
...
@@ -140,13 +121,12 @@ editorConfig.MENU_CONF['uploadImage'] = {
// 小于该值就插入 base64 格式(而不上传),默认为 0
base64LimitSize
:
5
*
1024
,
// 5kb
server
:
"dev/api/upload/picture"
,
server
:
getUploadUrl
()
,
fieldName
:
'file'
,
// 单个文件上传成功之后
onSuccess
(
file
,
res
)
{
// JS 语法
console
.
log
(
`
${
file
.
name
}
上传成功`
,
res
)
},
// 单个文件上传失败
onFailed
(
file
,
res
)
{
// JS 语法
console
.
log
(
`
${
file
.
name
}
上传失败`
,
res
)
...
...
@@ -157,6 +137,7 @@ editorConfig.MENU_CONF['uploadImage'] = {
console
.
log
(
`
${
file
.
name
}
上传出错`
,
err
,
res
)
},
}
const
valueHtml
=
ref
()
onMounted
(()
=>
{
if
(
router
.
currentRoute
.
value
.
query
.
task_id
){
state
.
formItem
.
addItem
.
task_id
=
router
.
currentRoute
.
value
.
query
.
task_id
...
...
@@ -174,25 +155,27 @@ const handleCreated = (editor) => {
editorRef
.
value
=
editor
// 记录 editor 实例,重要!
}
// 保存数据
const
preserve
=
()
=>
{
const
editor
=
editorRef
.
value
;
editor
.
getElemsByType
(
"image"
).
forEach
((
item
,
index
)
=>
{
state
.
formItem
.
editorImgList
.
push
(
item
.
src
);
})
state
.
formItem
.
editorContent
=
editor
.
getHtml
()
// 获取富文本内容
let
query
=
{
norm_receive_id
:
state
.
apiData
.
id
,
content
:
JSON
.
stringify
(
state
.
formItem
)
content
:
JSON
.
stringify
(
state
.
formItem
),
editor
:
editor
.
getHtml
()
}
claimTasksApi
().
normCollectsPreserve
(
query
).
then
(
res
=>
{
console
.
log
(
state
.
formItem
)
editor
.
clear
(
)
state
.
btnLoading
=
false
ElMessage
.
success
(
'操作成功'
);
closeDialog
();
emit
(
'refresh'
);
}).
catch
(()
=>
{
state
.
btnLoading
=
false
editor
.
clear
()
state
.
btnLoading
=
false
closeDialog
();
emit
(
'refresh'
);
})
...
...
@@ -200,47 +183,72 @@ const preserve = () =>{
// 提交数据
const
onSubmit
=
()
=>
{
const
editor
=
editorRef
.
value
;
// 获取富文本里的图片地址
editor
.
getElemsByType
(
"image"
).
forEach
((
item
,
index
)
=>
{
state
.
formItem
.
editorImgList
.
push
(
item
.
src
);
})
state
.
formItem
.
editorContent
=
editor
.
getHtml
()
// 获取富文本内容
dialogFormRef
.
value
.
validate
((
valid
,
fields
)
=>
{
let
userFilledInfo
=
state
.
formItem
.
userFilled
;
if
(
valid
){
const
editor
=
editorRef
.
value
;
// 获取富文本里的图片地址
editor
.
getElemsByType
(
"image"
).
forEach
((
item
,
index
)
=>
{
state
.
formItem
.
editorImgList
.
push
(
item
.
src
);
})
state
.
formItem
.
editorContent
=
editor
.
getHtml
()
// 获取富文本内容
let
userFilledInfo
=
state
.
formItem
.
userFilled
;
let
apiIndex
=
1
;
for
(
let
i
=
0
;
i
<
userFilledInfo
.
length
;
i
++
)
{
if
(
userFilledInfo
[
0
].
radio
==
1
)
{
if
(
userFilledInfo
[
0
].
value
==
""
)
{
if
(
userFilledInfo
[
i
].
radio
==
1
)
{
if
(
userFilledInfo
[
i
].
value
==
""
)
{
apiIndex
++
;
ElMessage
.
error
(
'请填写红色星号必填项!'
);
break
;
}
}
}
console
.
log
(
state
.
formItem
.
editorImgList
.
length
+
'--------------------------'
)
if
(
state
.
formItem
.
editorImgList
.
length
>
2
){
apiIndex
++
;
state
.
formItem
.
editorImgList
=
[];
ElMessage
.
error
(
'只允许上传两张图片!'
);
}
if
(
apiIndex
==
1
&&
valid
){
if
(
apiIndex
==
1
){
claimTasksApi
().
normCollectsAdd
(
JSON
.
stringify
(
state
.
formItem
)).
then
(
res
=>
{
console
.
log
(
state
.
formItem
)
editor
.
clear
(
)
state
.
btnLoading
=
false
ElMessage
.
success
(
'操作成功'
);
closeDialog
();
emit
(
'refresh'
);
}).
catch
(()
=>
{
editor
.
clear
()
state
.
btnLoading
=
false
closeDialog
();
emit
(
'refresh'
);
closeDialog
();
emit
(
'refresh'
);
})
}
}
})
};
//有原始数据
// 打开弹窗
const
openDialog
=
(
data
)
=>
{
state
.
dialog
.
isShowDialog
=
true
;
state
.
dialog
.
title
=
'指标详情'
;
// 清空数据
wipeData
();
console
.
log
(
data
)
state
.
apiData
.
id
=
data
.
id
;
state
.
formItem
.
addItem
.
norm_list_id
=
data
.
norm_list_id
state
.
formItem
.
addItem
.
norm_receive_id
=
data
.
id
;
claimTasksApi
().
normCollectsGetPreserve
(
state
.
apiData
).
then
(
res
=>
{
if
(
res
.
data
){
originalData
(
res
.
data
);
}
else
{
newData
(
data
)
}
}).
catch
(()
=>
{
})
};
//有提交数据
const
originalData
=
(
res
)
=>
{
let
data
=
JSON
.
parse
(
res
.
content
)
let
addItem
=
data
.
addItem
;
...
...
@@ -248,7 +256,6 @@ const originalData= (res) => {
let
adminFilled
=
data
.
dynamicItem
;
state
.
formItem
.
addItem
.
task_id
=
addItem
.
task_id
;
state
.
formItem
.
addItem
.
norm_id
=
addItem
.
norm_id
;
state
.
formItem
.
addItem
.
norm_list_id
=
addItem
.
id
;
state
.
formItem
.
addItem
.
name
=
addItem
.
name
;
state
.
formItem
.
addItem
.
guide
=
addItem
.
guide
;
state
.
formItem
.
addItem
.
task_name
=
addItem
.
task_name
;
...
...
@@ -265,32 +272,21 @@ const originalData= (res) => {
state
.
formItem
.
dynamicItem
.
push
({
id
:
item
.
id
,
name
:
item
.
name
,
value
:
item
.
value
});
state
.
index
++
});
console
.
log
(
res
.
editor
)
//富文本内容相关
if
(
data
.
editorContent
)
{
state
.
formItem
.
editorContent
=
data
.
editorContent
}
else
{
state
.
formItem
.
editorContent
=
'请输入截图'
}
if
(
data
.
editorImgList
){
state
.
formItem
.
editorImgList
=
data
.
editorImgList
}
else
{
state
.
formItem
.
editorImgList
=
[]
}
state
.
formItem
.
editorContent
=
res
.
editor
}
// 没有
原始
数据
// 没有
提交
数据
const
newData
=
(
data
)
=>
{
state
.
formItem
.
editorImgList
=
[];
state
.
formItem
.
editorContent
=
''
;
claimTasksApi
().
normReceivesDetail
(
state
.
apiData
).
then
(
res
=>
{
let
addItem
=
res
.
data
.
addItem
;
let
userFilled
=
res
.
data
.
userFilled
;
let
adminFilled
=
res
.
data
.
adminFilled
;
console
.
log
(
data
)
// 数据详情
state
.
formItem
.
addItem
.
task_id
=
addItem
.
task_id
;
state
.
formItem
.
addItem
.
norm_id
=
addItem
.
norm_id
;
state
.
formItem
.
addItem
.
norm_list_id
=
addItem
.
id
;
state
.
formItem
.
addItem
.
name
=
addItem
.
name
;
state
.
formItem
.
addItem
.
guide
=
addItem
.
guide
;
state
.
formItem
.
addItem
.
task_name
=
addItem
.
task_name
;
...
...
@@ -307,71 +303,24 @@ const newData= (data) => {
state
.
formItem
.
dynamicItem
.
push
({
id
:
item
.
id
,
name
:
item
.
extend_name
,
value
:
item
.
extend_value
,});
state
.
index
++
});
//富文本内容相关
if
(
res
.
data
.
normCollectInfo
)
{
let
normCollectInfo
=
res
.
data
.
normCollectInfo
;
state
.
formItem
.
addItem
.
refer_type
=
normCollectInfo
.
refer_type
;
state
.
formItem
.
addItem
.
remark
=
normCollectInfo
.
remark
;
if
(
normCollectInfo
.
editorContent
){
state
.
formItem
.
editorContent
=
normCollectInfo
.
editorContent
}
else
{
state
.
formItem
.
editorContent
=
'请输入截图'
}
}
else
{
state
.
formItem
.
editorContent
=
'请输入截图'
}
state
.
formItem
.
editorContent
=
''
;
}).
catch
(()
=>
{
})
}
// 打开弹窗
const
openDialog
=
(
data
)
=>
{
// 清空数据
wipeData
();
state
.
dialog
.
isShowDialog
=
true
;
state
.
dialog
.
title
=
'指标详情'
;
state
.
apiData
.
id
=
data
.
id
;
state
.
formItem
.
addItem
.
norm_receive_id
=
data
.
id
;
claimTasksApi
().
normCollectsGetPreserve
(
state
.
apiData
).
then
(
res
=>
{
if
(
res
.
data
){
originalData
(
res
.
data
);
}
else
{
newData
(
data
)
}
}).
catch
(()
=>
{
})
};
// 关闭弹窗
const
closeDialog
=
()
=>
{
// 清空数据
state
.
index
=
0
state
.
userIndex
=
0
state
.
formItem
.
addItem
.
task_id
=
''
;
state
.
formItem
.
addItem
.
norm_id
=
''
;
state
.
formItem
.
addItem
.
norm_list_id
=
''
;
state
.
formItem
.
addItem
.
name
=
''
;
state
.
formItem
.
addItem
.
task_name
=
''
;
state
.
formItem
.
addItem
.
refer
=
''
;
state
.
formItem
.
addItem
.
refer_type
=
''
;
state
.
formItem
.
addItem
.
remark
=
''
;
state
.
formItem
.
dynamicItem
=
[];
state
.
formItem
.
userFilled
=
[];
state
.
formItem
.
editorImgList
=
[];
state
.
formItem
.
editorContent
=
''
;
// 清空数据
wipeData
();
dialogFormRef
.
value
.
resetFields
();
state
.
dialog
.
isShowDialog
=
false
;
};
// 清空数据
const
wipeData
=
()
=>
{
// 清空数据
state
.
index
=
0
state
.
index
=
0
state
.
userIndex
=
0
state
.
formItem
.
addItem
.
task_id
=
''
;
state
.
formItem
.
addItem
.
norm_id
=
''
;
...
...
@@ -381,14 +330,13 @@ const wipeData = () => {
state
.
formItem
.
addItem
.
refer
=
''
;
state
.
formItem
.
addItem
.
refer_type
=
''
;
state
.
formItem
.
addItem
.
remark
=
''
;
state
.
formItem
.
addItem
.
guide
=
''
;
state
.
formItem
.
dynamicItem
=
[];
state
.
formItem
.
userFilled
=
[];
state
.
formItem
.
editorImgList
=
[];
state
.
formItem
.
editorContent
=
''
;
};
// const assignment= () => {
// }
// 暴露变量
defineExpose
({
...
...
@@ -405,8 +353,8 @@ defineExpose({
justify-content
:
center
;
align-content
:
center
;
}
/** el-input disabled时的背景和边框*/
.el-input.is-disabled
{
background
:
#fff
!important
;
color
:
var
(
--el-radio-text-color
)
!important
;
...
...
src/views/claimTasks/user/list/index.vue
View file @
c4c7c925
...
...
@@ -20,7 +20,7 @@
<el-table
:data=
"state.tableData.data"
border
style=
"width: 100%"
:height=
"state.tableHeight"
ref=
"multipleTableRef"
@
selection-change=
"tableSelection"
>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
label=
"序号"
prop=
"id"
width=
"100"
show-overflow-tooltip
align=
"center"
></el-table-column>
<el-table-column
label=
"序号"
type=
"index"
width=
"100"
show-overflow-tooltip
align=
"center"
></el-table-column>
<el-table-column
prop=
"taskPackageInfo.name"
label=
"任务名称"
show-overflow-tooltip
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"指标名称"
show-overflow-tooltip
align=
"center"
>
...
...
@@ -88,6 +88,7 @@ const state = reactive({
page
:
1
,
limit
:
10
,
name
:
''
,
receives
:
1
,
},
// 任务领取参数
apiReceiveParam
:
{
...
...
src/views/norm/list/details.vue
View file @
c4c7c925
<
template
>
<div
class=
"system-role-dialog-container"
>
<el-dialog
:title=
"state.dialog.title"
v-model=
"state.dialog.isShowDialog"
width=
"
4
0%"
@
close=
"closeDialog"
:close-on-click-modal=
"false"
>
<el-dialog
:title=
"state.dialog.title"
v-model=
"state.dialog.isShowDialog"
width=
"
6
0%"
@
close=
"closeDialog"
:close-on-click-modal=
"false"
>
<el-form
ref=
"dialogFormRef"
:model=
"state.formItem.addItem"
:rules=
"state.rules"
size=
"default"
label-width=
"100px"
v-loading=
"state.dataLoading"
label-position=
"right"
style=
"width: 90%;text-align: center;"
>
<el-form-item
label=
"指标名称"
prop=
"name"
>
...
...
@@ -62,20 +62,18 @@
</el-form-item>
</el-form>
<el-divider
style=
"width: 90%;"
><span
style=
"color: #F56C6C;"
>
用户已领取列表
</span></el-divider>
<el-table
:data=
"state.tableData"
border
style=
"width:
9
0%"
:height=
"state.tableHeight"
<el-table
:data=
"state.tableData"
border
style=
"width:
10
0%"
:height=
"state.tableHeight"
ref=
"multipleTableRef"
>
<el-table-column
v-for=
"column in state.columns"
:key=
"column.prop"
:label=
"column.label"
:prop=
"column.prop"
></el-table-column>
<el-table-column
v-for=
"column in state.columns"
:key=
"column.prop"
:label=
"column.label"
:prop=
"column.prop"
show-overflow-tooltip
align=
"center"
>
<template
#
default=
"scope"
>
<span
style=
"color:#409EFF"
v-if=
"column.label =='用户名称'"
>
{{
scope
.
row
[
column
.
prop
]
}}
</span>
<span
style=
"color:#909399"
v-else-if=
"column.label =='领取状态' && scope.row[column.prop] ==1"
>
已领取
</span>
<span
style=
"color:#E6A23C"
v-else-if=
"column.label =='完成状态' && scope.row[column.prop] ==0"
>
未完成
</span>
<span
style=
"color:#409EFF"
v-else-if=
"column.label =='完成状态' && scope.row[column.prop] ==1"
>
已完成
</span>
<span
v-else
>
{{
scope
.
row
[
column
.
prop
]
}}
</span>
</
template
>
</el-table-column>
</el-table>
<el-divider
style=
"width: 90%;"
><span
style=
"color: #F56C6C;"
>
已完成的列表
</span></el-divider>
<el-table
:data=
"state.collectsTableData"
border
style=
"width: 90%"
:height=
"state.tableHeight"
ref=
"multipleTableRefs"
>
<el-table-column
v-for=
"column in state.collectsColumns"
:key=
"column.prop"
:label=
"column.label"
:prop=
"column.prop"
></el-table-column>
</el-table>
<template
#
footer
>
<span
class=
"dialog-footer"
>
<el-button
@
click=
"closeDialog()"
size=
"default"
>
取 消
</el-button>
</span>
</
template
>
</el-dialog>
</div>
</template>
...
...
@@ -187,8 +185,8 @@ const openDialog = (norm_id) => {
if
(
receivesList
){
let
arr
=
[
{
label
:
'序号'
,
prop
:
'index'
},
{
label
:
'ID'
,
prop
:
'id'
},
{
label
:
'用户名称'
,
prop
:
'userInfo.name'
},
//
{ label:'ID', prop: 'id'},
{
label
:
'用户名称'
,
prop
:
'userInfo.name'
,
},
{
label
:
'任务名称'
,
prop
:
'task_info.name'
},
{
label
:
'指标名称'
,
prop
:
'norm_list_info.name'
},
];
...
...
@@ -196,10 +194,12 @@ const openDialog = (norm_id) => {
receivesList
.
forEach
(
function
(
item
,
index
,
arr
)
{
let
list
=
{
'index'
:
index
+
1
,
'id'
:
item
.
id
,
//
'id':item.id,
'userInfo.name'
:
item
.
userInfo
.
name
,
'task_info.name'
:
item
.
task_info
.
name
,
'norm_list_info.name'
:
item
.
norm_list_info
.
name
,
'receives_status'
:
item
.
receives_status
,
'completion_status'
:
item
.
completion_status
,
}
state
.
tableData
.
push
(
list
);
item
.
norm_list_extend
.
forEach
(
function
(
items
,
indexs
,
arrs
)
{
...
...
@@ -216,44 +216,8 @@ const openDialog = (norm_id) => {
list
[
'extend_value'
+
indexs
]
=
items
.
extend_value
;
});
});
}
//完成列表
let
collectsList
=
res
.
data
.
collectsList
if
(
collectsList
){
let
arr
=
[
{
label
:
'序号'
,
prop
:
'index'
},
{
label
:
'ID'
,
prop
:
'id'
},
{
label
:
'用户名称'
,
prop
:
'userInfo.name'
},
{
label
:
'任务名称'
,
prop
:
'task_info.name'
},
{
label
:
'指标名称'
,
prop
:
'norm_list_info.name'
},
];
state
.
collectsColumns
=
arr
;
collectsList
.
forEach
(
function
(
item
,
index
,
arr
)
{
console
.
log
(
item
)
console
.
log
(
111
)
let
list
=
{
'index'
:
index
+
1
,
'id'
:
item
.
id
,
'userInfo.name'
:
item
.
userInfo
.
name
,
'task_info.name'
:
item
.
task_info
.
name
,
'norm_list_info.name'
:
item
.
norm_list_info
.
name
,
}
state
.
collectsTableData
.
push
(
list
);
item
.
norm_list_extend
.
forEach
(
function
(
items
,
indexs
,
arrs
)
{
if
(
state
.
collectsColumns
.
length
>
0
){
state
.
collectsColumns
.
forEach
(
function
(
itemss
,
indexss
,
arrss
)
{
let
vlues
=
state
.
collectsColumns
.
map
(
itemsss
=>
itemsss
.
prop
).
indexOf
(
'extend_value'
+
indexs
)
if
(
vlues
==
-
1
){
state
.
collectsColumns
.
push
(
{
label
:
items
.
extend_name
,
prop
:
'extend_value'
+
indexs
})
}
});
}
else
{
state
.
collectsColumns
.
push
(
{
label
:
items
.
extend_name
,
prop
:
'extend_value'
+
indexs
})
}
list
[
'extend_value'
+
indexs
]
=
items
.
extend_value
;
});
});
state
.
columns
.
push
(
{
label
:
'领取状态'
,
prop
:
'receives_status'
})
state
.
columns
.
push
(
{
label
:
'完成状态'
,
prop
:
'completion_status'
})
}
}).
catch
(()
=>
{
...
...
src/views/norm/list/dialog.vue
View file @
c4c7c925
...
...
@@ -162,6 +162,7 @@ const userAddItem= (length) => {
state
.
formItem
.
userFilled
.
push
({
name
:
''
,
radio
:
'1'
,
remarks
:
''
,
})
state
.
userIndex
++
};
...
...
@@ -190,31 +191,33 @@ const closeDialog = () => {
// 获取最后发布的信息
const
finalData
=
()
=>
{
normApi
().
finalData
({}).
then
(
res
=>
{
state
.
apiData
.
id
=
res
.
data
.
id
;
normApi
().
normDetail
(
state
.
apiData
).
then
(
res
=>
{
let
addItem
=
res
.
data
.
addItem
;
let
custom
=
res
.
data
.
custom
;
// 数据详情
state
.
formItem
.
addItem
.
name
=
addItem
.
name
;
state
.
formItem
.
addItem
.
level
=
addItem
.
level
;
state
.
formItem
.
addItem
.
sort
=
addItem
.
sort
;
state
.
formItem
.
addItem
.
refer
=
addItem
.
refer
;
state
.
formItem
.
addItem
.
price
=
addItem
.
price
;
state
.
formItem
.
addItem
.
guide
=
addItem
.
guide
;
state
.
userIndex
=
0
;
state
.
index
=
0
;
custom
.
forEach
(
item
=>
{
if
(
item
.
user_filled
==
1
){
state
.
formItem
.
userFilled
.
push
({
name
:
item
.
extend_name
,
radio
:
item
.
required
+
""
,
remarks
:
item
.
extend_remarks
});
state
.
userIndex
++
}
else
{
state
.
formItem
.
dynamicItem
.
push
({
name
:
item
.
extend_name
,
value
:
item
.
extend_value
});
state
.
index
++
}
});
}).
catch
(()
=>
{
if
(
res
.
data
.
id
){
state
.
apiData
.
id
=
res
.
data
.
id
;
normApi
().
normDetail
(
state
.
apiData
).
then
(
res
=>
{
let
addItem
=
res
.
data
.
addItem
;
let
custom
=
res
.
data
.
custom
;
// 数据详情
state
.
formItem
.
addItem
.
name
=
addItem
.
name
;
state
.
formItem
.
addItem
.
level
=
addItem
.
level
;
state
.
formItem
.
addItem
.
sort
=
addItem
.
sort
;
state
.
formItem
.
addItem
.
refer
=
addItem
.
refer
;
state
.
formItem
.
addItem
.
price
=
addItem
.
price
;
state
.
formItem
.
addItem
.
guide
=
addItem
.
guide
;
state
.
userIndex
=
0
;
state
.
index
=
0
;
custom
.
forEach
(
item
=>
{
if
(
item
.
user_filled
==
1
){
state
.
formItem
.
userFilled
.
push
({
name
:
item
.
extend_name
,
radio
:
item
.
required
+
""
,
remarks
:
item
.
extend_remarks
});
state
.
userIndex
++
}
else
{
state
.
formItem
.
dynamicItem
.
push
({
name
:
item
.
extend_name
,
value
:
item
.
extend_value
});
state
.
index
++
}
});
}).
catch
(()
=>
{
})
})
}
}).
catch
(()
=>
{
})
...
...
src/views/norm/list/edit.vue
View file @
c4c7c925
...
...
@@ -202,6 +202,7 @@ const userAddItem= (length) => {
state
.
formItem
.
userFilled
.
push
({
name
:
''
,
radio
:
'1'
,
remarks
:
''
,
})
state
.
userIndex
++
};
...
...
vite.config.js
View file @
c4c7c925
...
...
@@ -37,8 +37,8 @@ const viteConfig = defineConfig((mode) => {
hmr
:
true
,
proxy
:
{
'/dev'
:
{
//
target: 'https://data-collect.raisound.com/smart-detection',
target
:
'http://192.168.10.168/data-collect-api'
,
target
:
'https://data-collect.raisound.com/smart-detection'
,
//
target: 'http://192.168.10.168/data-collect-api',
ws
:
true
,
changeOrigin
:
true
,
rewrite
:
(
path
)
=>
path
.
replace
(
/^
\/
dev/
,
''
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment