浏览代码

no message

kllay 6 天之前
父节点
当前提交
ecb584b663

+ 2 - 2
src/views/system/borrow/approval/SpecialBorrowApp/index.vue

@@ -143,8 +143,8 @@
 		</div>
 
 		<template #footer>
-			<el-button @click="onSucess">通过</el-button>
-			<el-button @click="onDanger(form.id)">拒绝</el-button>
+			<el-button type="success" @click="onSucess">通过</el-button>
+			<el-button  type="danger"  @click="onDanger(form.id)">拒绝</el-button>
 			<el-button @click="onCancel">关闭</el-button>
 			<el-button type="primary" @click="onSubmit" v-if="!isView">提交</el-button>
 		</template>

+ 0 - 6
src/views/system/borrow/approval/curd.tsx

@@ -101,12 +101,6 @@ export const createCrudOptions = function ({ crudExpose ,context, showRejectDial
 			},
 			search:{
 				show:true,
-				label:"搜索",
-				text:"ssssss",
-				button:{
-					label:"搜索",
-					text:"aaa",
-				},
 			},
 			toolbar:{show: false},
 			actionbar:{show:false},		  

+ 0 - 11
src/views/system/borrow/approval/index.vue

@@ -94,17 +94,6 @@ onMounted(() => {
 	crudExpose.doRefresh();
   window.addEventListener('borrow-view', handleView);
  
-  // watch(
-  //   () => formRef?.visible,
-  //   (visible) => {
-  //     if (visible) {
-  //       formData.value = formRef?.formModel;
-  //       console.log('✅ 表单打开,form 数据:', formRef?.formModel);
-  //     } else {
-  //       formData.value = null;
-  //     }
-  //   }
-  // );
 
 });
 

+ 21 - 9
src/views/system/borrow/crud.tsx

@@ -31,10 +31,13 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
 			actionbar: {
 				buttons: {
 					add: {
-						show: false,
-						text: '创建借用单',
-					},
-				},
+					show: true,
+					text: '创建借用单',
+					click: () => {
+						window.dispatchEvent(new CustomEvent('borrow-add'))
+					}
+					}
+				}
 			},
 			rowHandle: {
 				fixed: 'right',
@@ -101,7 +104,7 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
 				},
 			},
 			search:{
-				show:false,
+				show:true,
 			},
 			toolbar:{
 				show:true,
@@ -121,9 +124,11 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
 						},
 					},
 				},
-				application_no: { title: '借用单编号', column: { minWidth: 140 } },
+				application_no: { search: { show: true },title: '借用单编号', column: { minWidth: 140 } , form:{
+					component: { placeholder: '请输入设备编号' },
+				}},
 				borrower_type_label: { title: '借用人角色', column: { minWidth: 100 } },
-				borrow_type_label: { search: { show: true },title: '借用性质', column: { minWidth: 100 } },
+				borrow_type_label: { search: { show: false },title: '借用性质', column: { minWidth: 100 } },
 				"borrower_info.user_code":{title:"学号/工号",column: { minWidth: 100 }},
 				"borrower_info.name": {
 					title: '借用人',
@@ -133,10 +138,17 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
 					column: {
 						show:true,
 						minWidth: 100,
-					},
+					},  form:{
+						component: { placeholder: '请输入设备编号' },
+					}
 				},
 				external_borrower_name: { title: '借用人', column: { show:false, minWidth: 100 } },
-				emergency_phone: { title: '联系方式', column: { minWidth: 120 } },
+				emergency_phone: { 
+					title: '联系方式',	
+					search:{show:true}, column: { minWidth: 120 },  form:{
+					component: { placeholder: '请输入设备编号' },
+				}
+			    },
 				team_type_label: { title: '个人/团队', column: { minWidth: 80 } },
 				team_members: { title: '团队成员', column: { show:false,minWidth: 120 } },
 				team_members_count: { title: '团队人数', column: { show:false,minWidth: 80 }},

+ 39 - 25
src/views/system/borrow/index.vue

@@ -1,5 +1,6 @@
 <template>
-	<fs-page class="borrow-page"> 
+	<!-- <fs-page class="borrow-page">  -->
+		<fs-page> 
 		<fs-crud ref="crudRef" v-bind="crudBinding" />
 		<BorrowTypeSelect v-model:visible="showBorrowTypeDialog" @select="onBorrowTypeSelected" />
 		<CommonBorrow 
@@ -48,8 +49,6 @@ const showSettlementDialog = ref(false);
 
 
 
-
-
 const lastFormSnapshot = ref({});
 // provide('lastFormSnapshot', lastFormSnapshot);
 
@@ -151,7 +150,7 @@ async function handleSettlement(e: CustomEvent) {
 		borrowForm.value = { ...row, mode: 'settlement' };
 	});
 }
-let observer: MutationObserver | null = null;
+// let observer: MutationObserver | null = null;
 
 onMounted(() => {
 	// 设置列权限
@@ -160,40 +159,55 @@ onMounted(() => {
 	// resetCrudOptions(newOptions);
 	// 刷新
 	crudExpose.doRefresh();
+	window.addEventListener('borrow-add', () => {
+		showBorrowTypeDialog.value = true
+	});
 	window.addEventListener('borrow-view', handleView);
 	window.addEventListener('borrow-edit', handleEdit);
 	window.addEventListener('borrow-remove', handleRemove);
 	window.addEventListener('borrow-collect', handleCollect);
 	window.addEventListener('borrow-return', handleReturn);
 	window.addEventListener('borrow-settlement', handleSettlement);
-	// 创建借用单按钮
-	function insertButton() {
-		const fsActionbar = document.querySelector('.borrow-page .fs-actionbar');
-		if (fsActionbar && !fsActionbar.querySelector('.my-create-btn')) {
-			const button = document.createElement('button');
-			button.className = 'el-button el-button--primary el-button--default my-create-btn';
-			button.innerHTML = '创建借用单';
-			button.onclick = () => {
-				showBorrowTypeDialog.value = true;
-			};
-			fsActionbar.append(button);
-		}
-	}
+
+
+	// const fsActionbar = document.querySelector('.borrow-page .fs-actionbar');
+	// if (!fsActionbar) return;
+	// // 创建借用单按钮
+	// function insertButton() {
+	// 	if (fsActionbar && !fsActionbar.querySelector('.my-create-btn')) {
+	// 		const button = document.createElement('button');
+	// 		button.className = 'el-button el-button--primary el-button--default my-create-btn';
+	// 		button.innerHTML = '创建借用单';
+	// 		button.onclick = () => {
+	// 			showBorrowTypeDialog.value = true;
+	// 		};
+	// 		fsActionbar.append(button);
+	// 	}
+	// }
 
 	// 先尝试插入一次
 	// insertButton();
 
 	// 监听 DOM 变化,确保 actionbar 出现时插入按钮
-	observer = new MutationObserver(() => {
-		insertButton();
-	});
-	observer.observe(document.body, { childList: true, subtree: true });
+	// observer = new MutationObserver(() => {
+	// 	insertButton();
+	// });
+	// observer.observe(document.body, { childList: true, subtree: true });
+
+	// const observer = new MutationObserver((_m, obs) => {
+	// 	insertButton();
+	// 	// 插入完毕后停掉 observer
+	// 	obs.disconnect();
+	// });
+	// observer.observe(fsActionbar, { childList: true });
+
+
 });
 onBeforeUnmount(() => {
-	if (observer) {
-		observer.disconnect();
-		observer = null;
-	}
+	// if (observer) {
+	// 	observer.disconnect();
+	// 	observer = null;
+	// }
 	window.removeEventListener('borrow-view', handleView);
 	window.removeEventListener('borrow-collect', handleCollect);
 	window.removeEventListener('borrow-return', handleReturn);

+ 16 - 4
src/views/system/borrow/workflow/curd.tsx

@@ -41,10 +41,16 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
 			},
 			actionbar: {
 				buttons: {
-					add: { show: false ,text: '创建审批流',}, // 关闭 fast-crud 自带新增按钮
+					add: { 
+						show: true,
+						text: '新建审批流程',
+						click: () => {
+							window.dispatchEvent(new CustomEvent('workflow-add'))
+						}
+					}, // 关闭 fast-crud 自带新增按钮
 				},
 			},
-			search:{show:false},
+			search:{show:true},
 			toolbar:{show:false},
 			rowHandle: {
 				fixed: 'right',
@@ -82,9 +88,15 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
 						},
 					},
 				},
-				name: { title: '流程名称',type:'input', column: { minWidth: 140 }, search: { show: false,label:'搜索' } },
+				name: { title: '流程名称',type:'input', column: { minWidth: 140 }, search: { show: true} , form:{
+					component: { placeholder: '请输入设备编号' },
+				}},
 				workflow_type:{
-					title: '流程类型id',type:'input', column: { show:false,minWidth: 140 }, search: { show: false }
+					title: '流程类型id',type:'input', column: { show:false,minWidth: 140 },
+					 search: { show: false },
+					 form:{
+						component: { placeholder: '请输入设备编号' },
+					}
 				},
 				"trigger_conditions.team_type":{
 					title: '流程类型id', column: { show:false,minWidth: 140 }, search: { show: false }

+ 6 - 31
src/views/system/borrow/workflow/index.vue

@@ -1,20 +1,20 @@
 <template>
-	<fs-page class="workflow-page">
+	<!-- <fs-page class="workflow-page"> -->
+	<fs-page>
 		<fs-crud ref="crudRef" v-bind="crudBinding" />
 		<WorkflowDialog v-model:visible="dialogVisible" :editData="editData" :mode="dialogMode" @success="onDialogSuccess" />
 	</fs-page>
 </template>
-<script setup lang="ts">
+<script  lang="ts" setup name="workflow">
 import { ref, onMounted, onBeforeUnmount } from 'vue';
 import { useFs } from '@fast-crud/fast-crud';
 import { createCrudOptions } from './curd';
 import WorkflowDialog from './WorkflowDialog/index.vue';
 
-const { crudBinding, crudRef, crudExpose } = useFs({ createCrudOptions });
+const { crudBinding, crudRef, crudExpose, crudOptions, resetCrudOptions } = useFs({ createCrudOptions });
 const dialogVisible = ref(false);
 const editData = ref(null);
 const dialogMode = ref<'view' | 'edit' | 'add'>('add');
-let observer: MutationObserver | null = null;
 
 function onAdd() {
 	editData.value = null;
@@ -41,38 +41,13 @@ function onEdit(e: Event) {
 
 onMounted(() => {
 	crudExpose.doRefresh();
-	// 动态追加“新建审批流程”按钮
-	function insertfwButton() {
-		const fsActionbarfw= document.querySelector('.workflow-page .fs-actionbar');
-		if (fsActionbarfw && !fsActionbarfw.querySelector('.my-create-btn')) {
-			const buttonwf = document.createElement('button');
-			buttonwf.className = 'el-buttonwf el-button el-button--primary el-button--default my-create-btn';
-			buttonwf.innerHTML = '新建审批流程';
-			buttonwf.onclick = onAdd;
-			fsActionbarfw.append(buttonwf);
-		}
-	}
 
-	// 先尝试插入一次
-	// insertfwButton();
-
-	// 监听 DOM 变化,确保 actionbar 出现时插入按钮
-	observer = new MutationObserver(() => {
-		setTimeout(() => {
-		insertfwButton();
-		}, 30); 
-
-		// insertfwButton();
-	});
-	observer.observe(document.body, { childList: true, subtree: true });
+	window.addEventListener('workflow-add',onAdd);
 	window.addEventListener('workflow-view', onView);
 	window.addEventListener('workflow-edit', onEdit);
 });
 onBeforeUnmount(() => {
-	if (observer) {
-		observer.disconnect();
-		observer = null;
-	}
+
 	window.removeEventListener('workflow-view', onView);
 	window.removeEventListener('workflow-edit', onEdit);
 });