Commit c7009759 by cwy

指标详情修改完成

parent 430501a3
...@@ -28,6 +28,13 @@ export function normApi() { ...@@ -28,6 +28,13 @@ export function normApi() {
data, data,
}); });
}, },
normWhole: (data) => {
return request({
url: '/api/norm/whole',
method: 'post',
data,
});
},
normEdit: (data) => { normEdit: (data) => {
return request({ return request({
url: '/api/norm/edit', url: '/api/norm/edit',
......
...@@ -196,7 +196,6 @@ const backToPreviousPage = () => { ...@@ -196,7 +196,6 @@ const backToPreviousPage = () => {
} }
// 详情信息 // 详情信息
const whole= () => { const whole= () => {
alert(111)
router.push({ router.push({
path: '/norm/list/whole',query: {norm_id:state.apiData.id} path: '/norm/list/whole',query: {norm_id:state.apiData.id}
}); });
......
...@@ -13,16 +13,25 @@ ...@@ -13,16 +13,25 @@
<el-card shadow="hover"> <el-card shadow="hover">
<el-table :data="state.tableData" border style="width: 100%" :height="state.tableHeight" <el-table :data="state.tableData" border style="width: 100%" :height="state.tableHeight"
ref="multipleTableRef"> ref="multipleTableRef">
<el-table-column v-for="column in state.columns" :key="column.prop" :label="column.label" :prop="column.prop" :width="column.width" show-overflow-tooltip align="center"> <el-table-column v-for="column in state.columns" :key="column.prop" :label="column.label" :prop="column.prop" :width="column.width" show-overflow-tooltip align="center">
<template #default="scope"> <template #default="scope">
<span style="color:#409EFF" v-if="column.label =='用户名称'">{{scope.row[column.prop]}}</span> <el-link type="danger" v-if="checkUrl(scope.row[column.prop])" :href="scope.row[column.prop]" target ="_blank">点击查看</el-link>
<span v-else>{{scope.row[column.prop]}}</span>
<!-- <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:#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:#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 style="color:#409EFF" v-else-if="column.label =='完成状态' && scope.row[column.prop] ==1">已完成</span>
<span v-else>{{scope.row[column.prop]}}</span> <span v-else>{{scope.row[column.prop]}}</span> -->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="pagination-box">
<el-pagination @size-change="onHandleSizeChange" @current-change="onHandleCurrentChange" class="mt15"
:pager-count="5" :page-sizes="[10, 20, 30]" v-model:current-page="state.apiData.page" background
v-model:page-size="state.apiData.limit" layout="total, sizes, prev, pager, next, jumper"
:total="state.total">
</el-pagination>
</div>
</el-card> </el-card>
</div> </div>
</div> </div>
...@@ -41,135 +50,135 @@ ...@@ -41,135 +50,135 @@
const dialogFormRef = ref(); const dialogFormRef = ref();
const state = reactive({ const state = reactive({
userId: null, loading:false,
index:0,
userIndex:0,
apiData: { apiData: {
id:'', id:'',
page: 1,
limit: 13,
}, },
rules: { total: 0,
tableData:[],
}, columns:[],
dialog: {
isShowDialog: false,
title: '',
submitTxt: '',
},
tableData:[
],
columns:[
],
collectsTableData:[], collectsTableData:[],
collectsColumns:[], collectsColumns:[],
dataLoading: false,
btnLoading: false,
// 填写内容及自定义文本框
formItem: {
addItem:{
name:'',
level:'',
sort:'',
refer:'',
price:'',
task_id:'',
},
dynamicItem: [
//默认显示一条
// {
// name: '',
// value:''
// }
],
userFilled: [
//默认显示一条
// {
// name: '',
// radio:'1',
// }
]
}
}); });
// 打开弹窗 // 打开页面
const getInfo = () => { const getInfo = () => {
normApi().normDetail(state.apiData).then(res => { state.tableData=[],
let addItem = res.data.addItem; state.columns=[],
let custom = res.data.custom; state.collectsTableData=[],
// 数据详情 state.collectsColumns=[],
state.formItem.addItem.name = addItem.name; state.loading = true
state.formItem.addItem.level = addItem.level; normApi().normWhole(state.apiData).then(res => {
state.formItem.addItem.sort = addItem.sort+''; state.total = res.data.total;
state.formItem.addItem.refer = addItem.refer; let custom = res.data.custom;
state.formItem.addItem.price =addItem.price; let addItem = res.data.addItem
state.formItem.addItem.task_id= addItem.task_id let titleColumn = []; // 表格列标题
state.formItem.addItem.guide= addItem.guide custom.forEach(item => {
state.userIndex = 0; titleColumn.push(item.extend_name);
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++
}
}); });
// 表格列名称
//领取列表 state.columns = [
let receivesList = res.data.receivesList { label:'序号', prop: 'index',width:'80px'},
if(receivesList){ // { label:'ID', prop: 'id'},
let arr = [ { label:'用户名称', prop: 'userInfo.name',width:120},
{ label:'序号', prop: 'index',width:'80px'}, { label:'任务名称', prop: 'task_info.name',width:180},
// { label:'ID', prop: 'id'}, { label:'子任务名称', prop: 'norm_info.name',width:180},
{ label:'用户名称', prop: 'userInfo.name',width:120}, { label:'难度等级', prop: 'norm_info.level',width:180},
{ label:'任务名称', prop: 'task_info.name',width:180}, { label:'参考信源', prop: 'norm_info.refer',width:180},
{ label:'指标名称', prop: 'norm_list_info.name',width:180}, { label:'单价', prop: 'norm_info.price',width:180},
]; { label:'参考指南', prop: 'norm_info.guide',width:180},
state.columns = arr; { label:'指标名称', prop: 'norm_list_info.name',width:280},
receivesList.forEach(function(item, index, arr) { { label:'上传文件', prop: 'fileListPdf',width:280},
let list = { ];
'index': index+1, titleColumn.forEach(function(item, index, arr) {
// 'id':item.id, state.columns.push({ label:item, prop: 'extend_name'+index,width:350});
'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,
'not_collectible_remarks': item.not_collectible_remarks?item.not_collectible_remarks:"是",
}
state.tableData.push(list);
item.norm_list_extend.forEach(function(items, indexs, arrs) {
if(state.columns.length>0){
state.columns.forEach(function(itemss, indexss, arrss) {
let vlues = state.columns.map(itemsss => itemsss.prop).indexOf('extend_value'+indexs)
if(vlues== -1){
state.columns.push( { label: items.extend_name, prop: 'extend_value'+indexs,width:180 })
}
});
}else{
state.columns.push( { label: items.extend_name, prop: 'extend_value'+indexs,width:180 })
}
list['extend_value'+indexs] =items.extend_value;
}); });
});
state.columns.push( { label: '领取状态', prop:'receives_status',width:100 }) //领取列表
state.columns.push( { label: '完成状态', prop:'completion_status',width:100 }) let receivesList = res.data.receivesList
state.columns.push( { label: '是否可采集', prop:'not_collectible_remarks',width:200 }) receivesList.forEach(function(item, index, arr) {
} let list = {
'index': index+1,
'userInfo.name': item.userInfo.name,
'task_info.name': item.task_info.name,
'norm_info.name': addItem.name,
'norm_info.level': addItem.level,
'norm_info.refer': addItem.refer?addItem.refer:'/',
'norm_info.price': addItem.price,
'norm_info.guide': addItem.guide?addItem.guide:'/',
'norm_list_info.name': item.norm_list_info.name,
'fileListPdf': item.fileListPdf,
}
state.tableData.push(list);
item.norm_list_extend.forEach(function(items, indexs, arrs) {
// list['extend_name'+indexs] =items.extend_value;
let indexInfo = titleColumn.indexOf(items.extend_name);
if( indexInfo != "-1"){
list['extend_name'+indexInfo] =items.extend_value;
}
});
item.normCollectsExtend.forEach(function(items, indexs, arrs) {
let indexInfo = titleColumn.indexOf(items.extend_name);
if( indexInfo != "-1"){
if(items.extend_value){
list['extend_name'+indexInfo] =items.extend_value;
}else{
list['extend_name'+indexInfo] ='/';
}
}
});
if(item.status == 0){
list['status'] ='已领取、未填写'
}
if(item.status == 1){
list['status'] ='已完成、未审核'
}
if(item.status == 2){
list['status'] ='已审核、未通过'
}
if(item.status == 3){
list['status'] ='已通过、未结算'
}
if(item.status == 4){
list['status'] ='已通过、已结算'
}
if(item.not_collectible==0||item.not_collectible==""){
list['not_collectible'] ='可采集'
list['not_collectible_remarks'] ='/'
}else{
list['not_collectible'] ='不可采集'
list['not_collectible_remarks'] ='/'
}
list['not_collectible_remarks'] =item.not_collectible_remarks?item.not_collectible_remarks:"是"
});
state.columns.push( { label: '状态', prop:'status',width:350 })
state.columns.push( { label: '是否可采集', prop:'not_collectible',width:200 })
state.columns.push( { label: '不可采集原因', prop:'not_collectible_remarks',width:350 })
state.loading = false
}).catch(() => { }).catch(() => {
}) })
}; };
// 分页改变
const onHandleSizeChange = (val) => {
state.apiData.limit = val;
// 关闭弹窗 getInfo();
const closeDialog = () => {
dialogFormRef.value.resetFields();
state.dialog.isShowDialog = false;
}; };
const onHandleCurrentChange = (val) => {
state.apiData.page = val;
getInfo();
};
//校验链接
const checkUrl = (vlaue) =>{
if (/^https?:\/\//.test(vlaue)) {
return true;
} else {
return false;
}
}
// 暴露变量 // 暴露变量
defineExpose({ defineExpose({
...@@ -184,11 +193,11 @@ ...@@ -184,11 +193,11 @@
}else{ }else{
router.go(-1); router.go(-1);
} }
state.tableHeight = getCurrentInstance().refs.pageMain.offsetHeight - 50 - 22 + "px"; state.tableHeight = getCurrentInstance().refs.pageMain.offsetHeight - 80 - 22 + "px";
}); });
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.page-main { .page-main {
height: calc(100vh - 50px - 116px); height: calc(100vh - 50px - 116px);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment