|
|
@@ -17,28 +17,71 @@
|
|
|
<OrgUserSelector v-model:selected-data="orgSelectors" :multiple="SELECT_MULTIPLE.MORE" :scene-type="SCENE_TYPE.ORG" />
|
|
|
</a-form-item>
|
|
|
|
|
|
- <a-form-item label="子表" name="batchTable">
|
|
|
- <BsSubTableInput :customColumns="columns" v-model:value="batchTable" :row-key="id" @add="handleAdd" />
|
|
|
+ <a-form-item label="通用子表" name="batchTable">
|
|
|
+ <BsSubTableInput v-model:value="batchTable" @add="handleAdd" :table-options="tableOptions" />
|
|
|
+ </a-form-item>
|
|
|
+
|
|
|
+ <a-form-item label="自定义子表" name="batchTable1">
|
|
|
+ <BsSubTableInput
|
|
|
+ :table-options="tableOptions"
|
|
|
+ v-model:value="batchTable1"
|
|
|
+ :is-show-add-btn="false"
|
|
|
+ :is-show-batch-delete-btn="false"
|
|
|
+ :opt-btn-slots="batchTableOptBtnSlots"
|
|
|
+ :is-edit-row="false"
|
|
|
+ >
|
|
|
+ <template #custom1>
|
|
|
+ <a-button type="text" style="width: 100%"> 自定义按钮1</a-button>
|
|
|
+ </template>
|
|
|
+ <template #custom2>
|
|
|
+ <a-button type="text" style="width: 100%"> 自定义按钮2 </a-button>
|
|
|
+ </template>
|
|
|
+ </BsSubTableInput>
|
|
|
+ </a-form-item>
|
|
|
+
|
|
|
+ <a-form-item label="多文件上传">
|
|
|
+ <BsFileUploadSubTable v-model:value="fileList" />
|
|
|
</a-form-item>
|
|
|
</a-form>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
- import OrgUserSelector from '/@/components/BsUi/OrgUserSelector/index.vue';
|
|
|
import { reactive, ref } from 'vue';
|
|
|
import { SCENE_TYPE, SELECT_MULTIPLE } from '/@/components/BsUi/constant.js';
|
|
|
- import { BsSubTableInput } from '/@/components/BsUi/index.js';
|
|
|
+ import { BsSubTableInput, BsFileUploadSubTable, BsOrgUserSelector as OrgUserSelector } from '/@/components/BsUi/index.js';
|
|
|
+ import useBsDict from '/@/utils/dict.js';
|
|
|
+
|
|
|
+ const fileList = ref([
|
|
|
+ {
|
|
|
+ fileId: 845,
|
|
|
+ fileName: '已处理@2x.png',
|
|
|
+ fileUrl: 'http://59.110.6.97:9000/upload/public/common/b952203ba2a24c69bdedf78f09153db2_20250908134830.png',
|
|
|
+ fileKey: 'public/common/b952203ba2a24c69bdedf78f09153db2_20250908134830.png',
|
|
|
+ fileSize: 11252,
|
|
|
+ fileType: 'png',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ fileId: 846,
|
|
|
+ fileName: '已处理@2x (1).png',
|
|
|
+ fileUrl: 'http://59.110.6.97:9000/upload/public/common/87b7a3c555c549b8b81c6ed25259a17f_20250908134830.png',
|
|
|
+ fileKey: 'public/common/87b7a3c555c549b8b81c6ed25259a17f_20250908134830.png',
|
|
|
+ fileSize: 10647,
|
|
|
+ fileType: 'png',
|
|
|
+ },
|
|
|
+ ]);
|
|
|
+
|
|
|
+ // const fileList = ref([]);
|
|
|
|
|
|
const batchTable = ref([
|
|
|
{
|
|
|
id: '1',
|
|
|
name: '韩晓辉',
|
|
|
- sex: '男',
|
|
|
+ sex: '1',
|
|
|
},
|
|
|
]);
|
|
|
|
|
|
- const columns = ref([
|
|
|
+ const columns1 = ref([
|
|
|
{
|
|
|
title: '姓名',
|
|
|
field: 'name',
|
|
|
@@ -49,8 +92,40 @@
|
|
|
},
|
|
|
]);
|
|
|
|
|
|
+ const tableOptions = ref({
|
|
|
+ gridOptions: {
|
|
|
+ columns: [
|
|
|
+ {
|
|
|
+ title: '姓名',
|
|
|
+ field: 'name',
|
|
|
+ editRender: { name: 'VxeInput' },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: '性别',
|
|
|
+ field: 'sex',
|
|
|
+ editRender: {
|
|
|
+ name: 'VxeSelect',
|
|
|
+ props: {
|
|
|
+ multiple: false,
|
|
|
+ filterable: true,
|
|
|
+ },
|
|
|
+ options: useBsDict.getDictList('SYS_SEX'),
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ editRules: {
|
|
|
+ name: [{ required: true, message: '必须填写' }],
|
|
|
+ sex: [{ required: true, message: '必须填写' }],
|
|
|
+ },
|
|
|
+ },
|
|
|
+ });
|
|
|
+
|
|
|
+ const batchTable1 = ref([]);
|
|
|
+
|
|
|
+ const batchTableOptBtnSlots = ref(['custom1', 'custom2']);
|
|
|
+
|
|
|
const handleAdd = ({ tableData }) => {
|
|
|
- batchTable.value = [...tableData, { name: '甘雨' + new Date().getTime(), sex: '女' + new Date().getTime(), id: new Date().getTime() }];
|
|
|
+ console.log('handleAdd', tableData);
|
|
|
};
|
|
|
|
|
|
const userSelectors = ref([
|