qaz hai 4 días
pai
achega
78f769e3ce

+ 1 - 1
.env.development

@@ -5,7 +5,7 @@ ENV = 'development'
 #线下:http://192.168.100.187:8083
 # 本地环境接口地址 121.36.251.245
 
-VITE_API_URL = 'http://1.94.168.85:8086'
+VITE_API_URL = 'http://192.168.100.101:8086'
 # VITE_API_URL = 'http://192.168.100.187:9084'
 # VITE_API_URL = 'https://backend.qicai321.com'
 VITE_API_WX_URL='https://api.weixin.qq.com/'

+ 1 - 1
src/views/system/borrow/api.ts

@@ -37,7 +37,7 @@ export function UpdateObj(obj: EditReq) {
 
 export function DelObj(id: DelReq) {
 	return request({
-		url: apiPrefix + id + '/',
+		url: '/api/system/borrow/application/' + id + '/',
 		method: 'delete',
 		data: { id }
 	});

+ 15 - 11
src/views/system/borrow/component/ClassroomBorrow/index.vue

@@ -51,15 +51,18 @@
 						<el-input v-model="form.external_borrower_name" placeholder="请输入借用人"  />
 					</el-form-item>
 				</el-col>
-				<el-col :span="8">
+				<el-col :span="8" v-if="form.borrower_type !== 2">
 					<el-form-item label="学号/工号" prop="user_code">
 						<el-input v-model="form.user_code" placeholder="请输入学号/工号"  />
 					</el-form-item>
 				</el-col>
 				<el-col :span="8">
-					<el-form-item label="联系电话" prop="mobile">
+					<el-form-item label="联系电话" prop="mobile" v-if="form.borrower_type !== 2">
 						<el-input v-model="form.mobile" placeholder="请输入联系电话"  />
 					</el-form-item>
+					<el-form-item label="联系电话" prop="mobile" v-if="form.borrower_type == 2">
+						<el-input v-model="form.external_borrower_phone" placeholder="请输入联系电话"  />
+					</el-form-item>
 				</el-col>
 				<el-col :span="8">
 					<el-form-item label="借用部门" prop="borrower_dept">
@@ -119,16 +122,17 @@
 			<i class="el-icon-upload"></i>
 			<div class="el-upload__text">将文件拖到此处,或 <em>点击上传</em></div>
 			</el-upload> -->
+			<div style="margin: 16px 0 8px 0; font-weight: bold">附件</div>
 			<div>
-			<el-upload
-			list-type="picture-card"
-			:show-file-list="true"
-			:http-request="handleCustomUpload"
-			:file-list="fileList"
-			style="margin-top: 10px;"
-			>
-			<el-icon><Plus /></el-icon>
-			</el-upload>
+				<el-upload
+				list-type="picture-card"
+				:show-file-list="true"
+				:http-request="handleCustomUpload"
+				:file-list="fileList"
+				style="margin-top: 10px;"
+				>
+				<el-icon><Plus /></el-icon>
+				</el-upload>
 		    </div>
 
 

+ 21 - 5
src/views/system/borrow/component/CollectEquipment/SettlementDialog.vue

@@ -19,7 +19,7 @@
         </el-col>
         <el-col :span="8">
           <el-form-item label="借用人">
-            <el-input v-model="formData.borrower_info.name" disabled />
+            <el-input v-model="name" disabled />
           </el-form-item>
         </el-col>
         <el-col :span="8">
@@ -45,7 +45,7 @@
       </el-row>
 
       <div style="margin: 16px 0 8px 0; font-weight: bold">借用明细表</div>
-      <el-table :data="formData.items" border style="width: 100%">
+      <el-table :data="filteredItems" border style="width: 100%">
         <el-table-column type="index" label="序号" width="60" align="center" />
         <el-table-column prop="device_code" label="设备编号" align="center" />
         <el-table-column prop="device_category_name" label="设备分类" align="center" />
@@ -111,20 +111,36 @@ watch(
     if (val) {
     /* formData.value.app_user_borrower = val.borrower_info.user_code; */
       formData.value = val;
-      
+      console.log("formData.value:::",formData.value);
     }
   },
   { immediate: true }
 );
-
+const name = computed(() => {
+  return formData.value?.app_user_borrower?.name || formData.value?.borrower_info?.name || '';
+});
 const userCode = computed(() => {
-  return formData.value?.app_user_borrower || formData.value?.borrower_info?.user_code || '';
+  return formData.value?.app_user_borrower?.user_code || formData.value?.borrower_info?.user_code || '';
 });
 
 const borrowType=computed(() => {
   return formData.value?.borrow_type_label || formData.value?.borrow_type || '';
 });
 
+interface DeviceItem {
+  device_code: string;
+  device_category_name: string;
+  device_name: string;
+  quantity: number;
+  device_specification: string;
+  device_storage_location?: string;
+  remark?: string;
+}
+
+const filteredItems = computed(() => {
+  return formData.value?.items?.filter((item: DeviceItem | null) => item?.device !== null) || [];
+});
+
 const handleClose = () => {
   emit('update:visible', false);
   emit('update:modelValue', formData.value);

+ 10 - 5
src/views/system/borrow/component/CollectEquipment/index.vue

@@ -36,16 +36,19 @@
                             <el-input v-model="form.external_borrower_name" placeholder="请输入借用人" :disabled="true" />
                           </el-form-item>
                         </el-col>
-                        <el-col :span="8">
-                            <el-form-item label="学号/工号" prop="user_code">
+                        <el-col :span="8" v-if="form.borrower_type !== 2">
+                            <el-form-item label="学号/工号" prop="user_code" >
                        <!--      {{ form.borrower_info.user_code }} -->
                                 <el-input v-model="form.app_user_borrower.user_code" placeholder="请输入学号/工号"  :disabled="true"/>
                             </el-form-item>
                         </el-col>
                         <el-col :span="8">
-                            <el-form-item label="联系电话" >
+                            <el-form-item label="联系电话" v-if="form.borrower_type !== 2">
                                 <el-input v-model="form.app_user_borrower.mobile" placeholder="请输入联系电话" :disabled="true" />
                             </el-form-item>
+                            <el-form-item label="联系电话" v-if="form.borrower_type == 2">
+                                <el-input v-model="form.external_borrower_phone" placeholder="请输入联系电话" :disabled="true" />
+                            </el-form-item>
                         </el-col>
                         <el-col :span="8">
                             <el-form-item label="借用部门" prop="borrower_dept">
@@ -1085,9 +1088,11 @@ function onSubmit() {
     const allDevices = returnDeviceList.value.map(item => ({
       device: item.device_no,
       quantity: item.borrow_count,
-      condition: returnRemark.value,
+      remark: returnRemark.value,
       device_id: Number(item.device_no) || 0,
-
+       // 添加异常相关字段
+       condition: item.condition, // 异常说明
+       photos: item.photos || [], // 异常照片
     }));
     
     const submitData = {

+ 6 - 3
src/views/system/borrow/component/SpecialBorrow/index.vue

@@ -31,8 +31,8 @@
 					<el-input v-model="form.external_borrower_name" placeholder="请输入借用人"  />
 					</el-form-item>
 				</el-col>
-				<el-col :span="8">
-					<el-form-item label="学号/工号" prop="user_code">
+				<el-col :span="8" v-if="form.borrower_type !== 2">
+					<el-form-item label="学号/工号" prop="user_code" >
 						<el-input v-model="form.user_code" placeholder="请输入学号/工号"  :disabled="isView"/>
 					</el-form-item>
 				</el-col>
@@ -91,7 +91,8 @@
 				</el-col>
 			</el-row>
 			<div style="margin: 16px 0 8px 0; font-weight: bold">借用列表</div>
-			<el-table :data="form.items.filter(item => item.device === null)" border style="width: 100%; margin-bottom: 12px">
+			<!-- {{ isEdit }} -->
+			<el-table :data="!isEdit ? form.items : form.items.filter(item => item.device === null)" border style="width: 100%; margin-bottom: 12px">
 				<el-table-column type="index" label="序号" width="60" />
 				<el-table-column prop="remark" label="设备分类" />
 				<!-- <el-table-column prop="quantity" label="借用数量" /> -->
@@ -111,6 +112,7 @@
 			<div style="margin: 16px 0 8px 0; font-weight: bold">配件信息</div>
 			<el-input v-model="form.accessories" placeholder="请输入配件信息"  :disabled="isView"/>
 
+			<div style="margin: 16px 0 8px 0; font-weight: bold">附件</div>
 			<div>
 			<el-upload
 			list-type="picture-card"
@@ -433,6 +435,7 @@ function addItem() {
 	showSelectDeviceDialog.value = true;
 }
 function onDeviceSelected(devices) {
+	console.log("devices:::",devices);
 	form.value.items.push(
 		...devices.map((d) => ({
 			device_category: d.id,

+ 2 - 2
src/views/system/borrow/crud.tsx

@@ -52,9 +52,9 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
 					edit: {
 						show:true,	
 						order:4,
-						disabled:compute( ({row})=>{
+						/* disabled:compute( ({row})=>{
 							return row.borrow_type === 0;
-						}), 
+						}), */ 
 						click: ({ row }) => {
 							window.dispatchEvent(new CustomEvent('borrow-edit', { detail: row }));
 						}