parent
a00e380d83
commit
e4caa20059
10 changed files with 1190 additions and 15 deletions
@ -0,0 +1,100 @@ |
|||||||
|
import {defHttp} from '/@/utils/http/axios'; |
||||||
|
import {useMessage} from "/@/hooks/web/useMessage"; |
||||||
|
|
||||||
|
const {createConfirm} = useMessage(); |
||||||
|
|
||||||
|
enum Api { |
||||||
|
list = '/project/project/list', |
||||||
|
fengMian = '/project/project/getFengMian', |
||||||
|
userInfo = '/project/project/getUserInfo', |
||||||
|
departInfo = '/project/project/getDepartInfo', |
||||||
|
saveshenbao = '/project/project/save4shenbao', |
||||||
|
updateshenbao = '/project/project/update4shenbao', |
||||||
|
edit = '/project/project/edit', |
||||||
|
deleteOne = '/project/project/delete', |
||||||
|
deleteBatch = '/project/project/deleteBatch', |
||||||
|
importExcel = '/project/project/importExcel', |
||||||
|
exportXls = '/project/project/exportXls', |
||||||
|
save = '/project/project/add', |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 导出api |
||||||
|
* @param params |
||||||
|
*/ |
||||||
|
export const getExportUrl = Api.exportXls; |
||||||
|
/** |
||||||
|
* 导入api |
||||||
|
*/ |
||||||
|
export const getImportUrl = Api.importExcel; |
||||||
|
/** |
||||||
|
* 列表接口 |
||||||
|
* @param params |
||||||
|
*/ |
||||||
|
export const list = (params) => |
||||||
|
defHttp.get({url: Api.list, params}); |
||||||
|
|
||||||
|
|
||||||
|
export const getFengMian = (params) => |
||||||
|
defHttp.get({url: Api.fengMian, params}); |
||||||
|
|
||||||
|
export const getUserByProjectId = (params) => |
||||||
|
defHttp.get({url: Api.userInfo, params}); |
||||||
|
|
||||||
|
export const getDepartByProjectId = (params) => |
||||||
|
defHttp.get({url: Api.departInfo, params}); |
||||||
|
|
||||||
|
/** |
||||||
|
* 删除单个 |
||||||
|
*/ |
||||||
|
export const deleteOne = (params, handleSuccess) => { |
||||||
|
return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { |
||||||
|
handleSuccess(); |
||||||
|
}); |
||||||
|
} |
||||||
|
/** |
||||||
|
* 批量删除 |
||||||
|
* @param params |
||||||
|
*/ |
||||||
|
export const batchDelete = (params, handleSuccess) => { |
||||||
|
createConfirm({ |
||||||
|
iconType: 'warning', |
||||||
|
title: '确认删除', |
||||||
|
content: '是否删除选中数据', |
||||||
|
okText: '确认', |
||||||
|
cancelText: '取消', |
||||||
|
onOk: () => { |
||||||
|
return defHttp.delete({ |
||||||
|
url: Api.deleteBatch, |
||||||
|
data: params |
||||||
|
}, {joinParamsToUrl: true}).then(() => { |
||||||
|
handleSuccess(); |
||||||
|
}); |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
/** |
||||||
|
* 保存或者更新 |
||||||
|
* @param params |
||||||
|
*/ |
||||||
|
export const saveOrUpdate = (params, isUpdate) => { |
||||||
|
// let url = isUpdate ? Api.edit : Api.save; |
||||||
|
return defHttp.post({url: url, params}); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 保存 |
||||||
|
* @param params |
||||||
|
*/ |
||||||
|
export const save4shenbao = (params) => { |
||||||
|
return defHttp.post({url: Api.saveshenbao, params}); |
||||||
|
}; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 更新 |
||||||
|
* @param params |
||||||
|
*/ |
||||||
|
export const update4shenbao = (params) => { |
||||||
|
return defHttp.post({url: Api.updateshenbao, params}); |
||||||
|
}; |
@ -0,0 +1,95 @@ |
|||||||
|
<template> |
||||||
|
<div class="container"> |
||||||
|
<table border="1"> |
||||||
|
<thead> |
||||||
|
<tr> |
||||||
|
<th colspan="2" style="font-size: 20px">驻马店财政科研项目预算申报书</th> |
||||||
|
</tr> |
||||||
|
</thead> |
||||||
|
<tbody> |
||||||
|
<tr> |
||||||
|
<td>预算年度</td> |
||||||
|
<td>{{ data.annualName }}</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td>项目类别</td> |
||||||
|
<td>{{ data.projectTypeName }}</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td>经费类别</td> |
||||||
|
<td>{{ data.projectTypeName }}</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td>项目名称</td> |
||||||
|
<td>{{ data.projectName }}</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td>申报单位</td> |
||||||
|
<td>{{ data.projectName }}</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td>科研团队名称</td> |
||||||
|
<td></td> |
||||||
|
</tr> |
||||||
|
|
||||||
|
<tr> |
||||||
|
<td>项目负责人</td> |
||||||
|
<td>{{ data.projectCharger }}</td> |
||||||
|
</tr> |
||||||
|
<tr> |
||||||
|
<td>申请预算额度(万元)</td> |
||||||
|
<td>{{ data.applyFund }}</td> |
||||||
|
</tr> |
||||||
|
<!-- <tr> |
||||||
|
<td>市县/省直部门</td> |
||||||
|
<td>行1,列2</td> |
||||||
|
</tr>--> |
||||||
|
<tr> |
||||||
|
<td>填报日期</td> |
||||||
|
<td>{{ data.createTime }}</td> |
||||||
|
</tr> |
||||||
|
|
||||||
|
</tbody> |
||||||
|
</table> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
<script setup lang="ts"> |
||||||
|
|
||||||
|
import {useRoute} from "vue-router"; |
||||||
|
import {getFengMian} from './FengMian.api'; |
||||||
|
import {onMounted, ref} from "vue"; |
||||||
|
|
||||||
|
const route = useRoute(); |
||||||
|
const data = ref({}) |
||||||
|
|
||||||
|
async function getData() { |
||||||
|
let params = { |
||||||
|
id: route.query.id, |
||||||
|
}; |
||||||
|
let obj = await getFengMian(params); |
||||||
|
console.log('data', JSON.stringify(obj)) |
||||||
|
data.value = obj |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
onMounted(() => { |
||||||
|
getData() |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped lang="less"> |
||||||
|
.container { |
||||||
|
display: flex; |
||||||
|
align-content: center; |
||||||
|
justify-content: center; |
||||||
|
} |
||||||
|
|
||||||
|
th, td { |
||||||
|
width: 500px; |
||||||
|
height: 40px; |
||||||
|
text-align: center; |
||||||
|
line-height: 40px; |
||||||
|
border: 1px solid #000; |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,91 @@ |
|||||||
|
<template> |
||||||
|
<div class="p-4"> |
||||||
|
<a-card :bordered="false" style="height: 100%"> |
||||||
|
<a-tabs v-model:activeKey="activeKey" @change="tabChange"> |
||||||
|
<a-tab-pane key="FengMianDemo" tab="封面" force-render></a-tab-pane> |
||||||
|
<a-tab-pane key="TianBaoShuMingDemo" tab="填报说明" force-render></a-tab-pane> |
||||||
|
<a-tab-pane key="JiBenXinXiDemo" tab="基本信息"></a-tab-pane> |
||||||
|
<a-tab-pane key="ZhengWenDemo" tab="正文"></a-tab-pane> |
||||||
|
<a-tab-pane key="XiangMuHeZuoKaiFaDemo" tab="项目合作开发情况"></a-tab-pane> |
||||||
|
<a-tab-pane key="HeZuoDanWeiDemo" tab="合作单位"></a-tab-pane> |
||||||
|
<a-tab-pane key="ZhuYaoRenYuanDemo" tab="项目主要参加人员"></a-tab-pane> |
||||||
|
<!-- <a-tab-pane key="JeecgPdfView" tab="PDF预览"></a-tab-pane>--> |
||||||
|
<a-tab-pane key="XiangMuJiXiaoMuBiaoDemo" tab="项目绩效目标"></a-tab-pane> |
||||||
|
<a-tab-pane key="YiJianDemo" tab="意见"></a-tab-pane> |
||||||
|
<a-tab-pane key="FuJianDemo" tab="文件上传"></a-tab-pane> |
||||||
|
</a-tabs> |
||||||
|
<component :is="currentComponent"></component> |
||||||
|
</a-card> |
||||||
|
</div> |
||||||
|
<!-- <div type="primary" class="button-container"> |
||||||
|
<a-button type="primary" @click="goBack"> 获取路由 </a-button> |
||||||
|
</div>--> |
||||||
|
</template> |
||||||
|
<script lang="ts"> |
||||||
|
import { defineComponent, ref, computed } from 'vue'; |
||||||
|
import FengMianDemo from './FengMianDemo.vue'; |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import TianBaoShuMingDemo from '../xiangmushu/TianBaoShuMingDemo.vue'; |
||||||
|
import JiBenXinXiDemo from '../xiangmushu/JiBenXinXiDemo.vue'; |
||||||
|
import XiangMuJiXiaoMuBiaoDemo from '../xiangmushu/XiangMuJiXiaoMuBiaoDemo.vue'; |
||||||
|
import YiJianDemo from '../xiangmushu/YiJianDemo.vue'; |
||||||
|
import HeZuoDanWeiDemo from '../xiangmushu/HeZuoDanWeiDemo.vue'; |
||||||
|
import ZhuYaoRenYuanDemo from '../xiangmushu/ZhuYaoRenYuanDemo.vue'; |
||||||
|
import ZhengWenDemo from '../xiangmushu/ZhengWenDemo.vue'; |
||||||
|
import XiangMuHeZuoKaiFaDemo from '../xiangmushu/XiangMuHeZuoKaiFaDemo.vue'; |
||||||
|
import JeecgPdfView from '../xiangmushu/JeecgPdfView.vue'; |
||||||
|
import FuJianDemo from '../xiangmushu/FuJianDemo.vue'; |
||||||
|
import { useRouter } from 'vue-router'; |
||||||
|
|
||||||
|
export default defineComponent({ |
||||||
|
name: 'comp-jeecg-basic', |
||||||
|
setup() { |
||||||
|
const route = useRouter(); |
||||||
|
const projectId = ref(route.currentRoute.value.query); |
||||||
|
const activeKey = ref('TianBaoShuMingDemo'); |
||||||
|
const currentComponent = computed(() => { |
||||||
|
const componentType = { |
||||||
|
FengMianDemo: FengMianDemo, |
||||||
|
TianBaoShuMingDemo: TianBaoShuMingDemo, |
||||||
|
JiBenXinXiDemo: JiBenXinXiDemo, |
||||||
|
ZhengWenDemo: ZhengWenDemo, |
||||||
|
XiangMuHeZuoKaiFaDemo: XiangMuHeZuoKaiFaDemo, |
||||||
|
XiangMuJiXiaoMuBiaoDemo: XiangMuJiXiaoMuBiaoDemo, |
||||||
|
YiJianDemo: YiJianDemo, |
||||||
|
HeZuoDanWeiDemo: HeZuoDanWeiDemo, |
||||||
|
ZhuYaoRenYuanDemo: ZhuYaoRenYuanDemo, |
||||||
|
JeecgPdfView: JeecgPdfView, |
||||||
|
FuJianDemo: FuJianDemo, |
||||||
|
}; |
||||||
|
return componentType[activeKey.value]; |
||||||
|
}); |
||||||
|
|
||||||
|
//使用component动态切换tab |
||||||
|
function tabChange(key) { |
||||||
|
activeKey.value = key; |
||||||
|
// alert("activeKey.value-"+activeKey.value) |
||||||
|
} |
||||||
|
|
||||||
|
/*function goBack() { |
||||||
|
// back(); |
||||||
|
alert("获取路由:"+JSON.stringify(projectId)); |
||||||
|
// console.log("获取路由:"+JSON.stringify(route.currentRoute.value.query)); |
||||||
|
// route.back(); |
||||||
|
}*/ |
||||||
|
return { |
||||||
|
activeKey, |
||||||
|
currentComponent, |
||||||
|
tabChange, |
||||||
|
// goBack, |
||||||
|
}; |
||||||
|
}, |
||||||
|
}); |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
.button-container { |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,865 @@ |
|||||||
|
import { FormSchema, JCronValidator } from '/@/components/Form'; |
||||||
|
import { usePermission } from '/@/hooks/web/usePermission'; |
||||||
|
|
||||||
|
const { isDisabledAuth } = usePermission(); |
||||||
|
export const schemas: FormSchema[] = [ |
||||||
|
{ |
||||||
|
field: 'jdst', |
||||||
|
component: 'JDictSelectTag', |
||||||
|
label: '性别下拉', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
componentProps: { |
||||||
|
dictCode: 'sex', |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'jdst', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'jdst1', |
||||||
|
component: 'JDictSelectTag', |
||||||
|
label: '性别选择', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
componentProps: { |
||||||
|
dictCode: 'sex', |
||||||
|
type: 'radioButton', |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'jdst1', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'jdst2', |
||||||
|
component: 'JDictSelectTag', |
||||||
|
label: '字典表下拉', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
componentProps: { |
||||||
|
dictCode: 'sys_user,realname,id', |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'jdst2', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'jdst3', |
||||||
|
component: 'JDictSelectTag', |
||||||
|
label: '字典表下拉(带条件)', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
componentProps: { |
||||||
|
dictCode: "sys_user,realname,id,username!='admin' order by create_time", |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'jdst3', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'jsst', |
||||||
|
component: 'JSearchSelect', |
||||||
|
label: '字典搜索(同步)', |
||||||
|
colProps: { span: 12 }, |
||||||
|
componentProps: { |
||||||
|
//dict: "sys_depart,depart_name,id", |
||||||
|
dictOptions: [ |
||||||
|
{ |
||||||
|
text: '选项一', |
||||||
|
value: '1', |
||||||
|
}, |
||||||
|
{ |
||||||
|
text: '选项二', |
||||||
|
value: '2', |
||||||
|
}, |
||||||
|
{ |
||||||
|
text: '选项三', |
||||||
|
value: '3', |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'jsst', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选择值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'jsst2', |
||||||
|
component: 'JSearchSelect', |
||||||
|
label: '字典搜索(异步)', |
||||||
|
colProps: { span: 12 }, |
||||||
|
componentProps: { |
||||||
|
dict: 'sys_depart,depart_name,id', |
||||||
|
pageSize: 6, |
||||||
|
async: true, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'jsst2', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选择值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'xldx', |
||||||
|
component: 'JDictSelectTag', |
||||||
|
label: '字典下拉多选', |
||||||
|
colProps: { span: 12 }, |
||||||
|
componentProps: { |
||||||
|
dictCode: 'sex', |
||||||
|
mode: 'multiple', |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'xldx', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选择值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'xldx2', |
||||||
|
component: 'JSelectMultiple', |
||||||
|
label: '字典下拉多选2', |
||||||
|
colProps: { span: 12 }, |
||||||
|
componentProps: { |
||||||
|
dictCode: 'sex', |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'xldx2', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选择值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'dxxlk', |
||||||
|
component: 'JDictSelectTag', |
||||||
|
label: '字典下拉单选', |
||||||
|
colProps: { span: 12 }, |
||||||
|
componentProps: { |
||||||
|
dictCode: 'sex', |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'dxxlk', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选择值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '可输入下拉', |
||||||
|
field: 'selectInput', |
||||||
|
component: 'JSelectInput', |
||||||
|
componentProps: { |
||||||
|
options: [ |
||||||
|
{ label: '选项一', value: '1' }, |
||||||
|
{ label: '选项二', value: '2' }, |
||||||
|
{ label: '选项三', value: '3' }, |
||||||
|
], |
||||||
|
}, |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'selectInput', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选择值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'depart3', |
||||||
|
component: 'JSelectDept', |
||||||
|
label: '选择部门—自定义值', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
componentProps: { showButton: false, rowKey: 'orgCode', primaryKey: 'orgCode' }, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'depart3', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中部门', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'depart2', |
||||||
|
component: 'JSelectDept', |
||||||
|
label: '选择部门', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
componentProps: { showButton: false }, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'depart2', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中部门', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'user2', |
||||||
|
component: 'JSelectUser', |
||||||
|
label: '用户选择组件', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
componentProps: { |
||||||
|
labelKey: 'realname', |
||||||
|
rowKey: 'id', |
||||||
|
showSelected: true, |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'user2', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中用户', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'user3', |
||||||
|
component: 'JSelectUserByDept', |
||||||
|
label: '部门选择用户', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
componentProps: { |
||||||
|
labelKey: 'realname', |
||||||
|
rowKey: 'username', |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'user3', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中用户', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'role2', |
||||||
|
component: 'JSelectRole', |
||||||
|
label: '角色选择组件', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'role2', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中角色', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'position2', |
||||||
|
component: 'JSelectPosition', |
||||||
|
label: '职务选择组件', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
colProps: { span: 12 }, |
||||||
|
componentProps: { async: true, showSelectTable: true }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'position2', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中职务', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'checkbox1', |
||||||
|
component: 'JCheckbox', |
||||||
|
label: 'JCheckbox组件1', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
defaultValue: '1,2', |
||||||
|
componentProps: { |
||||||
|
options: [ |
||||||
|
{ label: '男', value: '1' }, |
||||||
|
{ label: '女', value: '2' }, |
||||||
|
], |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'checkbox1', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'checkbox2', |
||||||
|
component: 'Input', |
||||||
|
label: 'JCheckbox组件2', |
||||||
|
defaultValue: '1', |
||||||
|
helpMessage: ['插槽模式'], |
||||||
|
slot: 'JCheckbox', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'checkbox2', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'data1', |
||||||
|
label: '日期选择', |
||||||
|
component: 'DatePicker', |
||||||
|
componentProps: { |
||||||
|
showTime: true, |
||||||
|
valueFormat: 'YYYY-MM-DD HH:mm:ss', |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'data1', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'data2', |
||||||
|
label: '年份范围选择', |
||||||
|
component: 'RangePicker', |
||||||
|
componentProps: { |
||||||
|
picker: 'year', |
||||||
|
valueFormat: 'YYYY', |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'data2', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'hk', |
||||||
|
component: 'Input', |
||||||
|
label: '滑块验证码', |
||||||
|
helpMessage: ['插槽模式'], |
||||||
|
slot: 'dargVerify', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'hk', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JTreeDict', |
||||||
|
component: 'JTreeDict', |
||||||
|
label: '树字典', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JTreeDict', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'ts', |
||||||
|
component: 'JTreeSelect', |
||||||
|
label: '下拉树选择', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
componentProps: { |
||||||
|
dict: 'sys_permission,name,id', |
||||||
|
pidField: 'parent_id', |
||||||
|
hasChildField: 'is_leaf', |
||||||
|
converIsLeafVal: 0, |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'ts', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'ts1', |
||||||
|
component: 'JTreeSelect', |
||||||
|
label: '下拉树多选', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
componentProps: { |
||||||
|
dict: 'sys_permission,name,id', |
||||||
|
pidField: 'parent_id', |
||||||
|
hasChildField: 'is_leaf', |
||||||
|
converIsLeafVal: 0, |
||||||
|
multiple: true, |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'ts1', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'category', |
||||||
|
component: 'JCategorySelect', |
||||||
|
label: '分类字典树', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
defaultValue: '', |
||||||
|
componentProps: { |
||||||
|
pcode: 'B01', |
||||||
|
multiple: true, |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'category', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JEasyCron', |
||||||
|
component: 'JEasyCron', |
||||||
|
label: 'JEasyCron', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
colProps: { span: 12 }, |
||||||
|
defaultValue: '* * * * * ? *', |
||||||
|
rules: [{ validator: JCronValidator }], |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JEasyCron', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选择值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JInput', |
||||||
|
component: 'JInput', |
||||||
|
label: '特殊查询组件', |
||||||
|
helpMessage: ['插槽模式'], |
||||||
|
slot: 'JInput', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'jinputtype', |
||||||
|
component: 'Select', |
||||||
|
label: '查询类型', |
||||||
|
componentProps: { |
||||||
|
options: [ |
||||||
|
{ value: 'like', label: '模糊(like)' }, |
||||||
|
{ value: 'ne', label: '不等于(ne)' }, |
||||||
|
{ value: 'ge', label: '大于等于(ge)' }, |
||||||
|
{ value: 'le', label: '小于等于(le)' }, |
||||||
|
], |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 6, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JInput', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '输入值', |
||||||
|
colProps: { span: 6 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'field1', |
||||||
|
component: 'Select', |
||||||
|
label: '省市区选择', |
||||||
|
helpMessage: ['插槽模式'], |
||||||
|
slot: 'jAreaLinkage', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
defaultValue: ['130000', '130200'], |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'field1', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'field0', |
||||||
|
component: 'Select', |
||||||
|
label: '禁用组件(方式一)', |
||||||
|
helpMessage: ['插槽模式'], |
||||||
|
slot: 'jAreaLinkage1', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
defaultValue: ['130000', '130200'], |
||||||
|
}, |
||||||
|
|
||||||
|
{ |
||||||
|
field: 'field0', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'field2', |
||||||
|
component: 'JAreaLinkage', |
||||||
|
label: '禁用组件(方式二)', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
dynamicDisabled: ({ values }) => { |
||||||
|
console.log(values); |
||||||
|
return isDisabledAuth(['demo.dbarray']); |
||||||
|
}, |
||||||
|
defaultValue: ['140000', '140300', '140302'], |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'field2', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'pca1', |
||||||
|
component: 'JAreaSelect', |
||||||
|
label: '省市区级联', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
defaultValue: '140302', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'pca1', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'pop1', |
||||||
|
component: 'Input', |
||||||
|
label: 'JPopup示例', |
||||||
|
helpMessage: ['插槽模式'], |
||||||
|
slot: 'JPopup', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'pop1', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JInputPop', |
||||||
|
component: 'JInputPop', |
||||||
|
label: 'JInputPop', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JInputPop', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '输入值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JTreeDictAsync', |
||||||
|
component: 'JTreeDict', |
||||||
|
label: '异步JTreeDict', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
colProps: { span: 12 }, |
||||||
|
componentProps: { async: true }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JTreeDictAsync', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JSwitch', |
||||||
|
component: 'JSwitch', |
||||||
|
label: 'JSwitch', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JSwitch', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JSwitchSelect', |
||||||
|
component: 'JSwitch', |
||||||
|
label: 'JSwitchSelect', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
colProps: { span: 12 }, |
||||||
|
componentProps: { query: true }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JSwitchSelect', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
|
||||||
|
{ |
||||||
|
field: 'userSelect2', |
||||||
|
component: 'UserSelect', |
||||||
|
label: '高级用户选择', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'userSelect2', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
|
||||||
|
{ |
||||||
|
field: 'superQuery', |
||||||
|
component: 'Input', |
||||||
|
label: '高级查询', |
||||||
|
helpMessage: ['插槽模式'], |
||||||
|
slot: 'superQuery', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'superQuery', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'superQuery1', |
||||||
|
component: 'Input', |
||||||
|
label: '高级查询', |
||||||
|
helpMessage: ['插槽模式-自己保存查询条件'], |
||||||
|
slot: 'superQuery1', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'superQuery1', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'pop2', |
||||||
|
component: 'JPopupDict', |
||||||
|
label: 'JPopupDict示例', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
componentProps:{ |
||||||
|
placeholder: '请选择', |
||||||
|
dictCode: 'report_user,username,id', |
||||||
|
multi: true, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'pop2', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'sex', |
||||||
|
component: 'JDictSelectTag', |
||||||
|
label: '性别(控制下方课程options)', |
||||||
|
helpMessage: ['component模式','性别不同,下方课程展示选项不同'], |
||||||
|
componentProps: { |
||||||
|
dictCode: 'sex', |
||||||
|
type: 'radioButton', |
||||||
|
onChange: (value) => { |
||||||
|
console.log(value); |
||||||
|
}, |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'sex', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'course', |
||||||
|
component: 'Select', |
||||||
|
label: '课程', |
||||||
|
dynamicPropskey: 'options', |
||||||
|
dynamicPropsVal: ({ model }) => { |
||||||
|
let options; |
||||||
|
if (model.sex == 1) { |
||||||
|
return [ |
||||||
|
{ value: '0', label: 'java - 男' }, |
||||||
|
{ value: '1', label: 'vue - 男' }, |
||||||
|
]; |
||||||
|
} else if (model.sex == 2) { |
||||||
|
return [ |
||||||
|
{ value: '2', label: '瑜伽 - 女' }, |
||||||
|
{ value: '3', label: '美甲 - 女' }, |
||||||
|
]; |
||||||
|
} else { |
||||||
|
return []; |
||||||
|
} |
||||||
|
}, |
||||||
|
componentProps: { |
||||||
|
disabled: false, |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'course', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'field100', |
||||||
|
component: 'JInputSelect', |
||||||
|
label: 'JInputSelect', |
||||||
|
helpMessage: ['component模式'], |
||||||
|
componentProps: { |
||||||
|
selectPlaceholder: '可选择系统变量', |
||||||
|
inputPlaceholder: '请输入', |
||||||
|
selectWidth:'200px', |
||||||
|
options: [ |
||||||
|
{ |
||||||
|
label: '登录用户账号', |
||||||
|
value: '#{sys_user_code}', |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '登录用户名称', |
||||||
|
value: '#{sys_user_name}', |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '当前日期', |
||||||
|
value: '#{sys_date}', |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '当前时间', |
||||||
|
value: '#{sys_time}', |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '登录用户部门', |
||||||
|
value: '#{sys_org_code}', |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '用户拥有部门', |
||||||
|
value: '#{sys_multi_org_code}', |
||||||
|
}, |
||||||
|
{ |
||||||
|
label: '登录用户租户', |
||||||
|
value: '#{tenant_id}', |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'field100', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JAreaLinkage', |
||||||
|
component: 'JAreaLinkage', |
||||||
|
label: '省市区选择', |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'JAreaLinkage', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
|
||||||
|
{ |
||||||
|
field: 'orderAuth', |
||||||
|
component: 'Input', |
||||||
|
label: '指令权限', |
||||||
|
helpMessage: ['有权限右侧的"选中值"可见,否则不可见'], |
||||||
|
colProps: { |
||||||
|
span: 12, |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'orderAuth', |
||||||
|
auth: 'demo:order:auth', |
||||||
|
component: 'JEllipsis', |
||||||
|
label: '选中值', |
||||||
|
colProps: { span: 12 }, |
||||||
|
}, |
||||||
|
|
||||||
|
]; |
Loading…
Reference in new issue