commit
eaa4753d75
15 changed files with 1445 additions and 26 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,156 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<PageWrapper> |
||||||
|
<Description |
||||||
|
title="项目基本信息" |
||||||
|
:collapseOptions="{ canExpand: false, helpMessage: 'help me' }" |
||||||
|
:column="2" |
||||||
|
:data="projectBaseInfoData" |
||||||
|
:schema="schema" |
||||||
|
/> |
||||||
|
<!-- <Description |
||||||
|
class="mt-4" |
||||||
|
title="垂直示例" |
||||||
|
layout="vertical" |
||||||
|
:collapseOptions="{ canExpand: false, helpMessage: 'help me' }" |
||||||
|
:column="2" |
||||||
|
:data="mockData" |
||||||
|
:schema="schema" |
||||||
|
/>--> |
||||||
|
|
||||||
|
<Description @register="register" class="mt-4"/> |
||||||
|
<Description @register="register1" class="mt-4"/> |
||||||
|
</PageWrapper> |
||||||
|
</div> |
||||||
|
<div> |
||||||
|
<!--引用表格--> |
||||||
|
<BasicTable @register="registerTable"></BasicTable> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
|
||||||
|
<script lang="ts" setup> |
||||||
|
import {onMounted} from 'vue'; |
||||||
|
import {DescItem, Description, useDescription} from '/@/components/Description/index'; |
||||||
|
import {PageWrapper} from '/@/components/Page'; |
||||||
|
import {BasicTable} from '/@/components/Table'; |
||||||
|
|
||||||
|
import {useRoute} from "vue-router"; |
||||||
|
import {getFengMian} from './FengMian.api'; |
||||||
|
import {useModal} from "@/components/Modal"; |
||||||
|
import {useListPage} from "@/hooks/system/useListPage"; |
||||||
|
import {columns} from "@/views/projectObjective/ProjectObjective.data"; |
||||||
|
import {list} from '@/views/projectObjective/ProjectObjective.api'; |
||||||
|
|
||||||
|
const route = useRoute(); |
||||||
|
|
||||||
|
//注册model |
||||||
|
const [registerModal, {openModal}] = useModal(); |
||||||
|
//注册table数据 |
||||||
|
const {tableContext} = useListPage({ |
||||||
|
tableProps: { |
||||||
|
title: '项目绩效目标及分年度目标:', |
||||||
|
api: list, |
||||||
|
columns, |
||||||
|
canResize: false, |
||||||
|
formConfig: { |
||||||
|
//labelWidth: 120, |
||||||
|
// schemas: searchFormSchema, |
||||||
|
autoSubmitOnEnter: true, |
||||||
|
showAdvancedButton: true, |
||||||
|
fieldMapToNumber: [], |
||||||
|
fieldMapToTime: [], |
||||||
|
}, |
||||||
|
} |
||||||
|
}) |
||||||
|
|
||||||
|
const [registerTable, {reload}, {rowSelection, selectedRowKeys}] = tableContext |
||||||
|
|
||||||
|
const projectBaseInfoData: Recordable = { |
||||||
|
username: 'oooooo777', |
||||||
|
nickName: 'VB', |
||||||
|
age: '123', |
||||||
|
phone: '15695909xxx', |
||||||
|
email: '190848757@qq.com', |
||||||
|
addr: '厦门市思明区', |
||||||
|
sex: '男', |
||||||
|
certy: '3504256199xxxxxxxxx', |
||||||
|
tag: 'orange', |
||||||
|
}; |
||||||
|
|
||||||
|
const mockData: Recordable = { |
||||||
|
username: 'test', |
||||||
|
nickName: 'VB', |
||||||
|
age: '123', |
||||||
|
phone: '15695909xxx', |
||||||
|
email: '190848757@qq.com', |
||||||
|
addr: '厦门市思明区', |
||||||
|
sex: '男', |
||||||
|
certy: '3504256199xxxxxxxxx', |
||||||
|
tag: 'orange', |
||||||
|
}; |
||||||
|
const schema: DescItem[] = [ |
||||||
|
{ |
||||||
|
field: 'username', |
||||||
|
label: '用户名', |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'nickName', |
||||||
|
label: '昵称', |
||||||
|
render: (curVal, data) => { |
||||||
|
return `${data.username}-${curVal}`; |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'phone', |
||||||
|
label: '联系电话', |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'email', |
||||||
|
label: '邮箱', |
||||||
|
}, |
||||||
|
{ |
||||||
|
field: 'addr', |
||||||
|
label: '地址', |
||||||
|
}, |
||||||
|
]; |
||||||
|
// export default defineComponent({ |
||||||
|
// components: { |
||||||
|
// Description, PageWrapper, BasicTable |
||||||
|
// } |
||||||
|
// , |
||||||
|
// setup() { |
||||||
|
const [register] = useDescription({ |
||||||
|
title: 'useDescription', |
||||||
|
// data: mockData, |
||||||
|
data: projectBaseInfoData, |
||||||
|
schema: schema, |
||||||
|
}); |
||||||
|
|
||||||
|
/*const [register1] = useDescription({ |
||||||
|
title: '无边框', |
||||||
|
bordered: false, |
||||||
|
data: mockData, |
||||||
|
schema: schema, |
||||||
|
});*/ |
||||||
|
|
||||||
|
|
||||||
|
async function getData() { |
||||||
|
let params = { |
||||||
|
id: route.query.id, |
||||||
|
}; |
||||||
|
let obj = await getFengMian(params); |
||||||
|
console.log('data', JSON.stringify(obj)) |
||||||
|
projectBaseInfoData.value = obj |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
onMounted(() => { |
||||||
|
getData() |
||||||
|
}); |
||||||
|
|
||||||
|
|
||||||
|
// return {mockData, projectBaseInfoData, schema, register/*, register1*/}; |
||||||
|
// }, |
||||||
|
// }); |
||||||
|
</script> |
@ -0,0 +1,97 @@ |
|||||||
|
<template> |
||||||
|
<div class="p-4"> |
||||||
|
<div class="p-4 bg-white"> |
||||||
|
<BasicForm @register="register" @submit="handleSubmit" /> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div type="primary" class="button-container"> |
||||||
|
<a-button type="primary" @click="goBack">返回</a-button> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script lang="ts"> |
||||||
|
export default { |
||||||
|
title: '富文本 | Markdown', |
||||||
|
name: 'MarkdownDemo', |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<script lang="ts" setup> |
||||||
|
import { FormSchema, useForm, BasicForm } from '/@/components/Form'; |
||||||
|
import { useMessage } from '/@/hooks/web/useMessage'; |
||||||
|
import { defineComponent, onMounted, ref } from 'vue'; |
||||||
|
import { useRouter } from 'vue-router'; |
||||||
|
|
||||||
|
const { back } = useRouter(); |
||||||
|
const { createMessage, createSuccessModal } = useMessage(); |
||||||
|
|
||||||
|
const schemas: FormSchema[] = [ |
||||||
|
{ |
||||||
|
field: 'tinymce', |
||||||
|
component: 'JEditor', |
||||||
|
// component: 'InputTextArea', |
||||||
|
// componentProps: { |
||||||
|
// // placeholder: '请输入公司地址', |
||||||
|
// rows: 12, |
||||||
|
// }, |
||||||
|
// label: '富文本', |
||||||
|
// defaultValue: 'dd', |
||||||
|
dynamicDisabled: true, |
||||||
|
}, |
||||||
|
]; |
||||||
|
|
||||||
|
const [register, { setProps, validate, setFieldsValue }] = useForm({ |
||||||
|
labelWidth: 120, |
||||||
|
schemas: schemas, |
||||||
|
actionColOptions: { |
||||||
|
span: 24, |
||||||
|
}, |
||||||
|
compact: true, |
||||||
|
showResetButton: false, |
||||||
|
showSubmitButton: false, |
||||||
|
showAdvancedButton: false, |
||||||
|
disabled: false, |
||||||
|
}); |
||||||
|
|
||||||
|
function handleSubmit(values) { |
||||||
|
console.log(values); |
||||||
|
} |
||||||
|
|
||||||
|
function setDis(flag) { |
||||||
|
setProps({ disabled: !!flag }); |
||||||
|
} |
||||||
|
|
||||||
|
async function getValues() { |
||||||
|
try { |
||||||
|
const values = await validate(); |
||||||
|
console.log(values); |
||||||
|
createSuccessModal({ |
||||||
|
title: '校验通过', |
||||||
|
content: `${JSON.stringify(values)}`, |
||||||
|
}); |
||||||
|
} catch (error) { |
||||||
|
createMessage.warning('检验不通过'); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function setValues() { |
||||||
|
setFieldsValue({ |
||||||
|
tinymce: "<p style=\"text-align: center;\"><strong>填报说明</strong></p>\n<p>一、项目类别是指项目所属计划(专项、基金等)。申请项目经费的单位应符合《河南省省级创新研发专项资金管理办法》(豫财科〔2022〕46号)以及项目申报指南有关条件和要求。</p>\n<p>二、项目名称和项目承担单位名称,应填写正式全称。承担单位名称与单位法人营业执照、单位开户名称及单位公章应当一致。预算数据以“万元”为单位,精确到小数点后两位。各类标准或单价以“元”为单位,精确到个位。预算书中不同地方出现的相通设备、材料等实物信息应当填写规范和统一的名称。“科研团队”的内涵和基本条件按省科技厅规定执行。</p>\n<p>三、“单位基本情况表”中,单位技术研究资质包括:工程技术研究中心、重点实验室、高新技术企业、企业技术中心、工程研究中心、产品质量监督检验中心、创新型试点企业、创新型科技团队、省知识产权优势企业等,填写申报项目相关领域的研究资质。同类资质只填列最高一个级别。</p>\n<p>企业类型按照《中小企业划型标准规定》(工信部联企业[2011]300号)填报。</p>\n<p>四、项目绩效目标指项目完成后的达到的产出和效果,包括研究、开发及转化的技术指标,经济、社会、环境效益等预期效果,目标应具体可考核。项目绩效目标应当与项目申报书中的相关内容保持一致。跨年度实施的项目应当编列年度工作计划和目标。</p>\n<p>五、“项目经费预算表”中,项目经费是指在项目组织实施过程中与研究开发活动直接相关的费用,包括直接费用和间接费用。具体经费开支范围按照《河南省省级创新研发专项资金管理办法》(豫财科〔2022〕46号)相关内容执行。</p>\n<p>支出预算表中“已完成”是指从项目开始实施至项目申报时已完成的支出情况。项目尚未实施的可不填。</p>\n<p>财政拨款需要拨付到项目合作单位的以及需分年度支付的,应填报“省财政拨款分单位、年度预算表”。项目牵头单位实行统一核算,合作单位经费支出实行报帐的可以不填。</p>\n<p>六、经费支出说明:</p>\n<p>1、对照《河南省省级创新研发专项资金管理办法》(豫财科〔2022〕46号)中“经费开支范围”和本申报书中“项目经费预算表”,逐项详细说明。主要包括支出的具体内容、用途以及数量、单价等计算依据。</p>\n<p>2、根据项目经费预算支出情况,对定额以上的设备设施费、材料费、测试化验加工费、国际合作与交流经费,需填写“经费支出分项预算明细表”。</p>\n<p>七、网报预算申报书时,应同时上传单位证照(事业单位上传法人证书,企业单位上传营业执照)、单位技术研究资质认定文件(扫描件)、企业上年度财务审计报告(扫描件)、资金证明材料等有关附件。</p>", |
||||||
|
}); |
||||||
|
} |
||||||
|
function goBack(){ |
||||||
|
back(); |
||||||
|
}; |
||||||
|
|
||||||
|
|
||||||
|
onMounted(() => { |
||||||
|
setValues(); |
||||||
|
}); |
||||||
|
|
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
.button-container { |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,89 @@ |
|||||||
|
<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="ProjectBaseInfoDemo" 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 './TianBaoShuMingDemo.vue'; |
||||||
|
import ProjectBaseInfoDemo from './ProjectBaseInfoDemo.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('FengMianDemo'); |
||||||
|
const currentComponent = computed(() => { |
||||||
|
const componentType = { |
||||||
|
TianBaoShuMingDemo: TianBaoShuMingDemo, |
||||||
|
FengMianDemo: FengMianDemo, |
||||||
|
ProjectBaseInfoDemo: ProjectBaseInfoDemo, |
||||||
|
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