From 35401373bbe0f608ee3bb7f7c54ebeef5e5dc8d2 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Tue, 03 Feb 2026 10:40:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 /dev/null                                                                             |  321 ----------------------------------------
 applications/drone-command/src/views/basicManage/deviceStock/FormDiaLog.vue           |    9 +
 applications/drone-command/src/views/areaManage/partition/FormDiaLog.vue              |   67 +++++++-
 applications/drone-command/env/.env.development                                       |    4 
 applications/task-work-order/src/views/orderView/appConfiguration/materials/index.vue |   67 --------
 5 files changed, 68 insertions(+), 400 deletions(-)

diff --git a/applications/drone-command/env/.env.development b/applications/drone-command/env/.env.development
index 70af9b9..e005479 100644
--- a/applications/drone-command/env/.env.development
+++ b/applications/drone-command/env/.env.development
@@ -2,7 +2,7 @@
  # @Author       : yuan
  # @Date         : 2026-01-31 14:34:31
  # @LastEditors  : yuan
- # @LastEditTime : 2026-02-02 16:39:41
+ # @LastEditTime : 2026-02-03 09:34:48
  # @FilePath     : \applications\drone-command\env\.env.development
  # @Description  : 
  # Copyright 2026 OBKoro1, All Rights Reserved. 
@@ -16,7 +16,7 @@
 
 #开发环境代理地址(推荐本地新建文件 .env.development.local 来进行覆盖)
 # VITE_APP_URL=https://wrj.shuixiongit.com/api
-VITE_APP_URL=http://192.168.1.33
+VITE_APP_URL=http://192.168.1.168
 
 #新大屏地址
 VITE_APP_DASHBOARD_URL='https://wrj.shuixiongit.com/command-center-dashboard/'
diff --git a/applications/drone-command/src/views/areaManage/partition/FormDiaLog.vue b/applications/drone-command/src/views/areaManage/partition/FormDiaLog.vue
index 81a4a34..3c51a03 100644
--- a/applications/drone-command/src/views/areaManage/partition/FormDiaLog.vue
+++ b/applications/drone-command/src/views/areaManage/partition/FormDiaLog.vue
@@ -160,7 +160,8 @@
 					</el-form-item>
 					<el-form-item label="关联派出所" prop="policeStationId">
 						<el-select class="command-select" popper-class="command-select-popper"
-							v-model="formData.policeStationId" placeholder="请选择" clearable>
+							v-model="formData.policeStationId" placeholder="请选择" clearable filterable remote
+							:remote-method="handlePoliceStationSearch" :loading="policeStationLoading">
 							<el-option v-for="item in policeStationOptions" :key="item.id" :label="item.stationName"
 								:value="item.id" />
 						</el-select>
@@ -285,6 +286,10 @@
 const searchName = ref('')
 const selectedDeviceRows = ref([])
 const policeStationOptions = ref([]) // 关联派出所
+const policeStationAllOptions = ref([])
+const policeStationLoading = ref(false)
+const policeStationSearchTimer = ref(null)
+const policeStationSearchKeyword = ref('')
 const deviceOptions = ref([]) // 关联设备
 const dictObj = inject('dictObj')
 const mapRef = ref(null)
@@ -421,6 +426,10 @@
 			if (deviceListTimer) {
 				clearTimeout(deviceListTimer)
 				deviceListTimer = null
+			}
+			if (policeStationSearchTimer.value) {
+				clearTimeout(policeStationSearchTimer.value)
+				policeStationSearchTimer.value = null
 			}
 			viewEntity && viewer?.entities?.remove(viewEntity)
 			viewEntity = null
@@ -1191,17 +1200,45 @@
 }
 
 // 获取派出所列表
-async function getPoliceStationList () {
+async function getPoliceStationList (keyword = '') {
 	if (!visible.value) return
-	const res = await fwPoliceStationListApi()
-	policeStationOptions.value = res?.data?.data ?? []
-	await nextTick()
-	const matched = policeStationOptions.value.find(
-		item => String(item.id) === String(formData.value.policeStationId)
-	)
-	if (!matched) {
-		formData.value.policeStationId = ''
+	policeStationLoading.value = true
+	try {
+		const res = await fwPoliceStationListApi({
+			stationName: keyword || undefined,
+		})
+		const list = res?.data?.data ?? []
+		policeStationOptions.value = list
+		if (!keyword) {
+			policeStationAllOptions.value = list
+		}
+		await nextTick()
+		if (!keyword) {
+			const matched = policeStationOptions.value.find(
+				item => String(item.id) === String(formData.value.policeStationId)
+			)
+			if (!matched) {
+				formData.value.policeStationId = ''
+			}
+		}
+	} finally {
+		policeStationLoading.value = false
 	}
+}
+
+function handlePoliceStationSearch (query) {
+	policeStationSearchKeyword.value = (query || '').trim()
+	if (!policeStationSearchKeyword.value) {
+		policeStationOptions.value = [...policeStationAllOptions.value]
+		return
+	}
+	if (policeStationSearchTimer.value) {
+		clearTimeout(policeStationSearchTimer.value)
+	}
+	policeStationSearchTimer.value = setTimeout(() => {
+		policeStationSearchTimer.value = null
+		void getPoliceStationList(policeStationSearchKeyword.value)
+	}, 300)
 }
 
 // 获取设备列表
@@ -1306,6 +1343,12 @@
 	selectedDeviceRows.value = []
 	deviceOptions.value = []
 	policeStationOptions.value = []
+	policeStationAllOptions.value = []
+	policeStationSearchKeyword.value = ''
+	if (policeStationSearchTimer.value) {
+		clearTimeout(policeStationSearchTimer.value)
+		policeStationSearchTimer.value = null
+	}
 	shapeList.value = []
 	activeShapeId.value = null
 	activeAreaType.value = ''
@@ -1363,6 +1406,10 @@
 		clearTimeout(deviceListTimer)
 		deviceListTimer = null
 	}
+	if (policeStationSearchTimer.value) {
+		clearTimeout(policeStationSearchTimer.value)
+		policeStationSearchTimer.value = null
+	}
 	hideTypePanel()
 })
 
diff --git a/applications/drone-command/src/views/basicManage/deviceStock/FormDiaLog.vue b/applications/drone-command/src/views/basicManage/deviceStock/FormDiaLog.vue
index 2e63d4d..8d86c69 100644
--- a/applications/drone-command/src/views/basicManage/deviceStock/FormDiaLog.vue
+++ b/applications/drone-command/src/views/basicManage/deviceStock/FormDiaLog.vue
@@ -272,9 +272,16 @@
 	const isValid = await formRef.value?.validate().catch(() => false)
 	if (!isValid) return
 	submitting.value = true
+
+	let deviceSet = {}
+
 	try {
-		await fwDeviceSubmitApi(formData.value)
 		const actionText = dialogMode.value === 'add' ? '建档' : '编辑'
+		deviceSet = dialogMode.value === 'add' ? { status: 0 } : {}
+		await fwDeviceSubmitApi({
+			...formData.value,
+			...deviceSet
+		})
 		saveOperationLog({
 			requestUri: route.path,
 			title: `${route.name || '设备出入库'}-${actionText}`,
diff --git "a/applications/task-work-order/src/views/orderView/appConfiguration/inventory/\346\216\245\345\217\243\346\226\207\346\241\243.txt" "b/applications/task-work-order/src/views/orderView/appConfiguration/inventory/\346\216\245\345\217\243\346\226\207\346\241\243.txt"
deleted file mode 100644
index a0441ed..0000000
--- "a/applications/task-work-order/src/views/orderView/appConfiguration/inventory/\346\216\245\345\217\243\346\226\207\346\241\243.txt"
+++ /dev/null
@@ -1,537 +0,0 @@
-
-
-## 分页
-
-
-**接口地址**:`/implement/gdImplementList/page`
-
-
-**请求方式**:`GET`
-
-
-**请求数据类型**:`application/x-www-form-urlencoded`
-
-
-**响应数据类型**:`*/*`
-
-
-**接口描述**:<p>传入gdImplementList</p>
-
-
-
-**请求参数**:
-
-
-**请求参数**:
-
-
-| 参数名称 | 参数说明 | 请求类型    | 是否必须 | 数据类型 | schema |
-| -------- | -------- | ----- | -------- | -------- | ------ |
-|areaCode|所属区划编码|query|false|string||
-|current|当前页|query|false|integer(int32)||
-|matterCode|事项编码|query|false|string||
-|matterName|事项名称|query|false|string||
-|size|每页的数量|query|false|integer(int32)||
-
-
-**响应状态**:
-
-
-| 状态码 | 说明 | schema |
-| -------- | -------- | ----- | 
-|200|OK|R«IPage«GdImplementListVO»»|
-|401|Unauthorized||
-|403|Forbidden||
-|404|Not Found||
-
-
-**响应参数**:
-
-
-| 参数名称 | 参数说明 | 类型 | schema |
-| -------- | -------- | ----- |----- | 
-|code|状态码|integer(int32)|integer(int32)|
-|data|承载数据|IPage«GdImplementListVO»|IPage«GdImplementListVO»|
-|&emsp;&emsp;current||integer(int64)||
-|&emsp;&emsp;pages||integer(int64)||
-|&emsp;&emsp;records||array|GdImplementListVO|
-|&emsp;&emsp;&emsp;&emsp;areaCode|所属区划编码|string||
-|&emsp;&emsp;&emsp;&emsp;areaName|所属区划名称|string||
-|&emsp;&emsp;&emsp;&emsp;catalogCode|目录编码|string||
-|&emsp;&emsp;&emsp;&emsp;id|主键id|integer||
-|&emsp;&emsp;&emsp;&emsp;implementCode|实施编码|string||
-|&emsp;&emsp;&emsp;&emsp;implementName|实施清单名称|string||
-|&emsp;&emsp;&emsp;&emsp;matterCode|事项编码|string||
-|&emsp;&emsp;&emsp;&emsp;matterName|事项名称|string||
-|&emsp;&emsp;&emsp;&emsp;orgCode|所属机构编码|string||
-|&emsp;&emsp;&emsp;&emsp;orgName|所属机构名称|string||
-|&emsp;&emsp;&emsp;&emsp;processDefinitionId|流程定义主键|string||
-|&emsp;&emsp;&emsp;&emsp;processInstanceId|流程实例主键|string||
-|&emsp;&emsp;size||integer(int64)||
-|&emsp;&emsp;total||integer(int64)||
-|msg|返回消息|string||
-|success|是否成功|boolean||
-
-
-**响应示例**:
-```javascript
-{
-	"code": 0,
-	"data": {
-		"current": 0,
-		"pages": 0,
-		"records": [
-			{
-				"areaCode": "",
-				"areaName": "",
-				"catalogCode": "",
-				"id": 0,
-				"implementCode": "",
-				"implementName": "",
-				"matterCode": "",
-				"matterName": "",
-				"orgCode": "",
-				"orgName": "",
-				"processDefinitionId": "",
-				"processInstanceId": ""
-			}
-		],
-		"size": 0,
-		"total": 0
-	},
-	"msg": "",
-	"success": true
-}
-```
-
-
-## 详情
-
-
-**接口地址**:`/implement/gdImplementList/detail`
-
-
-**请求方式**:`GET`
-
-
-**请求数据类型**:`application/x-www-form-urlencoded`
-
-
-**响应数据类型**:`*/*`
-
-
-**接口描述**:<p>传入gdImplementList</p>
-
-
-
-**请求参数**:
-
-
-**请求参数**:
-
-
-| 参数名称 | 参数说明 | 请求类型    | 是否必须 | 数据类型 | schema |
-| -------- | -------- | ----- | -------- | -------- | ------ |
-|id|主键|query|true|integer(int64)||
-
-
-**响应状态**:
-
-
-| 状态码 | 说明 | schema |
-| -------- | -------- | ----- | 
-|200|OK|R«GdImplementListVO»|
-|401|Unauthorized||
-|403|Forbidden||
-|404|Not Found||
-
-
-**响应参数**:
-
-
-| 参数名称 | 参数说明 | 类型 | schema |
-| -------- | -------- | ----- |----- | 
-|code|状态码|integer(int32)|integer(int32)|
-|data|承载数据|GdImplementListVO|GdImplementListVO|
-|&emsp;&emsp;areaCode|所属区划编码|string||
-|&emsp;&emsp;areaName|所属区划名称|string||
-|&emsp;&emsp;catalogCode|目录编码|string||
-|&emsp;&emsp;id|主键id|integer(int64)||
-|&emsp;&emsp;implementCode|实施编码|string||
-|&emsp;&emsp;implementName|实施清单名称|string||
-|&emsp;&emsp;matterCode|事项编码|string||
-|&emsp;&emsp;matterName|事项名称|string||
-|&emsp;&emsp;orgCode|所属机构编码|string||
-|&emsp;&emsp;orgName|所属机构名称|string||
-|&emsp;&emsp;processDefinitionId|流程定义主键|string||
-|&emsp;&emsp;processInstanceId|流程实例主键|string||
-|msg|返回消息|string||
-|success|是否成功|boolean||
-
-
-**响应示例**:
-```javascript
-{
-	"code": 0,
-	"data": {
-		"areaCode": "",
-		"areaName": "",
-		"catalogCode": "",
-		"id": 0,
-		"implementCode": "",
-		"implementName": "",
-		"matterCode": "",
-		"matterName": "",
-		"orgCode": "",
-		"orgName": "",
-		"processDefinitionId": "",
-		"processInstanceId": ""
-	},
-	"msg": "",
-	"success": true
-}
-```
-
-
-## 新增或修改
-
-
-**接口地址**:`/implement/gdImplementList/submit`
-
-
-**请求方式**:`POST`
-
-
-**请求数据类型**:`application/json`
-
-
-**响应数据类型**:`*/*`
-
-
-**接口描述**:<p>传入gdImplementList</p>
-
-
-
-**请求示例**:
-
-
-```javascript
-{
-  "areaCode": "",
-  "areaName": "",
-  "catalogCode": "",
-  "id": 0,
-  "implementCode": "",
-  "implementName": "",
-  "matterCode": "",
-  "matterName": "",
-  "orgCode": "",
-  "orgName": "",
-  "processDefinitionId": "",
-  "processInstanceId": ""
-}
-```
-
-
-**请求参数**:
-
-
-**请求参数**:
-
-
-| 参数名称 | 参数说明 | 请求类型    | 是否必须 | 数据类型 | schema |
-| -------- | -------- | ----- | -------- | -------- | ------ |
-|gdImplementList|gdImplementList|body|true|GdImplementListDTO|GdImplementListDTO|
-|&emsp;&emsp;areaCode|所属区划编码||false|string||
-|&emsp;&emsp;areaName|所属区划名称||false|string||
-|&emsp;&emsp;catalogCode|目录编码||false|string||
-|&emsp;&emsp;id|主键id||false|integer(int64)||
-|&emsp;&emsp;implementCode|实施编码||false|string||
-|&emsp;&emsp;implementName|实施清单名称||false|string||
-|&emsp;&emsp;matterCode|事项编码||false|string||
-|&emsp;&emsp;matterName|事项名称||false|string||
-|&emsp;&emsp;orgCode|所属机构编码||false|string||
-|&emsp;&emsp;orgName|所属机构名称||false|string||
-|&emsp;&emsp;processDefinitionId|流程定义主键||false|string||
-|&emsp;&emsp;processInstanceId|流程实例主键||false|string||
-
-
-**响应状态**:
-
-
-| 状态码 | 说明 | schema |
-| -------- | -------- | ----- | 
-|200|OK|R«boolean»|
-|201|Created||
-|401|Unauthorized||
-|403|Forbidden||
-|404|Not Found||
-
-
-**响应参数**:
-
-
-| 参数名称 | 参数说明 | 类型 | schema |
-| -------- | -------- | ----- |----- | 
-|code|状态码|integer(int32)|integer(int32)|
-|data|承载数据|boolean||
-|msg|返回消息|string||
-|success|是否成功|boolean||
-
-
-**响应示例**:
-```javascript
-{
-	"code": 0,
-	"data": true,
-	"msg": "",
-	"success": true
-}
-```
-
-
-## 逻辑删除
-
-
-**接口地址**:`/implement/gdImplementList/remove`
-
-
-**请求方式**:`POST`
-
-
-**请求数据类型**:`application/json`
-
-
-**响应数据类型**:`*/*`
-
-
-**接口描述**:<p>传入ids</p>
-
-
-
-**请求参数**:
-
-
-**请求参数**:
-
-
-| 参数名称 | 参数说明 | 请求类型    | 是否必须 | 数据类型 | schema |
-| -------- | -------- | ----- | -------- | -------- | ------ |
-|ids|主键集合|query|true|string||
-
-
-**响应状态**:
-
-
-| 状态码 | 说明 | schema |
-| -------- | -------- | ----- | 
-|200|OK|R«boolean»|
-|201|Created||
-|401|Unauthorized||
-|403|Forbidden||
-|404|Not Found||
-
-
-**响应参数**:
-
-
-| 参数名称 | 参数说明 | 类型 | schema |
-| -------- | -------- | ----- |----- | 
-|code|状态码|integer(int32)|integer(int32)|
-|data|承载数据|boolean||
-|msg|返回消息|string||
-|success|是否成功|boolean||
-
-
-**响应示例**:
-```javascript
-{
-	"code": 0,
-	"data": true,
-	"msg": "",
-	"success": true
-}
-```
-
-
-
-
-## 查询配置实施清单-材料关联、流程关联
-
-
-**接口地址**:`/drone-gd/implement/gdImplementList/getThingListMaterialRelation`
-
-
-**请求方式**:`GET`
-
-
-**请求数据类型**:`application/x-www-form-urlencoded`
-
-
-**响应数据类型**:`*/*`
-
-
-**接口描述**:<p>传入gdImplementList</p>
-
-
-
-**请求参数**:
-
-
-**请求参数**:
-
-
-| 参数名称 | 参数说明 | 请求类型    | 是否必须 | 数据类型 | schema |
-| -------- | -------- | ----- | -------- | -------- | ------ |
-|id|主键|query|true|integer(int64)||
-
-
-**响应状态**:
-
-
-| 状态码 | 说明 | schema |
-| -------- | -------- | ----- | 
-|200|OK|R«GetThingListMaterialRelationVO»|
-|401|Unauthorized||
-|403|Forbidden||
-|404|Not Found||
-
-
-**响应参数**:
-
-
-| 参数名称 | 参数说明 | 类型 | schema |
-| -------- | -------- | ----- |----- | 
-|code|状态码|integer(int32)|integer(int32)|
-|data|承载数据|GetThingListMaterialRelationVO|GetThingListMaterialRelationVO|
-|&emsp;&emsp;implementListId|关联实施清单ID|integer(int64)||
-|&emsp;&emsp;processDefinitionId|流程定义主键|string||
-|&emsp;&emsp;processInstanceId|流程实例主键|string||
-|&emsp;&emsp;thingListMaterialRels|实施清单-材料关联表(情形化配置)|array|GdThingListMaterialRel对象|
-|&emsp;&emsp;&emsp;&emsp;createDept|创建部门|integer||
-|&emsp;&emsp;&emsp;&emsp;createTime|创建时间|string||
-|&emsp;&emsp;&emsp;&emsp;createUser|创建人|integer||
-|&emsp;&emsp;&emsp;&emsp;id|主键id|integer||
-|&emsp;&emsp;&emsp;&emsp;implementListId|关联实施清单ID|integer||
-|&emsp;&emsp;&emsp;&emsp;isDeleted|是否已删除|integer||
-|&emsp;&emsp;&emsp;&emsp;materialId|关联材料ID|integer||
-|&emsp;&emsp;&emsp;&emsp;scenarioConfig|材料情形化配置:{"scenario_name":"情形1","is_need":1,"remark":"仅情形1需提供"}|string||
-|&emsp;&emsp;&emsp;&emsp;sort|材料序号(列表展示字段)|integer||
-|&emsp;&emsp;&emsp;&emsp;status|业务状态|integer||
-|&emsp;&emsp;&emsp;&emsp;updateTime|更新时间|string||
-|&emsp;&emsp;&emsp;&emsp;updateUser|更新人|integer||
-|msg|返回消息|string||
-|success|是否成功|boolean||
-
-
-**响应示例**:
-```javascript
-{
-	"code": 0,
-	"data": {
-		"implementListId": 0,
-		"processDefinitionId": "",
-		"processInstanceId": "",
-		"thingListMaterialRels": [
-			{
-				"createDept": 0,
-				"createTime": "",
-				"createUser": 0,
-				"id": 0,
-				"implementListId": 0,
-				"isDeleted": 0,
-				"materialId": 0,
-				"scenarioConfig": "",
-				"sort": 0,
-				"status": 0,
-				"updateTime": "",
-				"updateUser": 0
-			}
-		]
-	},
-	"msg": "",
-	"success": true
-}
-```
-
-
-
-## 配置实施清单-材料关联、流程关联
-
-
-**接口地址**:`/drone-gd/implement/gdImplementList/thingListMaterialRelation`
-
-
-**请求方式**:`POST`
-
-
-**请求数据类型**:`application/json`
-
-
-**响应数据类型**:`*/*`
-
-
-**接口描述**:<p>传入gdImplementList</p>
-
-
-
-**请求示例**:
-
-
-```javascript
-{
-  "implementListId": 0,
-  "materialIds": [],
-  "processDefinitionId": "",
-  "processInstanceId": ""
-}
-```
-
-
-**请求参数**:
-
-
-**请求参数**:
-
-
-| 参数名称 | 参数说明 | 请求类型    | 是否必须 | 数据类型 | schema |
-| -------- | -------- | ----- | -------- | -------- | ------ |
-|param|param|body|true|ThingListMaterialRelationParam|ThingListMaterialRelationParam|
-|&emsp;&emsp;implementListId|关联实施清单ID||false|integer(int64)||
-|&emsp;&emsp;materialIds|关联材料ids||false|array|integer(int64)|
-|&emsp;&emsp;processDefinitionId|流程定义主键||false|string||
-|&emsp;&emsp;processInstanceId|流程实例主键||false|string||
-
-
-**响应状态**:
-
-
-| 状态码 | 说明 | schema |
-| -------- | -------- | ----- | 
-|200|OK|R«boolean»|
-|201|Created||
-|401|Unauthorized||
-|403|Forbidden||
-|404|Not Found||
-
-
-**响应参数**:
-
-
-| 参数名称 | 参数说明 | 类型 | schema |
-| -------- | -------- | ----- |----- | 
-|code|状态码|integer(int32)|integer(int32)|
-|data|承载数据|boolean||
-|msg|返回消息|string||
-|success|是否成功|boolean||
-
-
-**响应示例**:
-```javascript
-{
-	"code": 0,
-	"data": true,
-	"msg": "",
-	"success": true
-}
-```
\ No newline at end of file
diff --git a/applications/task-work-order/src/views/orderView/appConfiguration/materials/index.vue b/applications/task-work-order/src/views/orderView/appConfiguration/materials/index.vue
index 523fb70..c8c18d6 100644
--- a/applications/task-work-order/src/views/orderView/appConfiguration/materials/index.vue
+++ b/applications/task-work-order/src/views/orderView/appConfiguration/materials/index.vue
@@ -11,24 +11,6 @@
 				/>
 			</el-form-item>
 
-			<!-- <el-form-item label="所属区划" prop="areaCode">
-				<el-tree-select
-					class="gd-select gray"
-					popper-class="gd-tree-select-popper"
-					v-model="searchParams.areaCode"
-					node-key="id"
-					:props="treeSelectProps"
-					placeholder="请选择"
-					clearable
-					filterable
-					@change="handleSearch"
-					:check-strictly="true"
-					lazy
-					:load="loadRegionNode"
-					:render-after-expand="false"
-				/>
-			</el-form-item> -->
-
 			<el-form-item class="gd-search-actions">
 				<el-button :icon="RefreshRight" @click="resetForm"></el-button>
 				<el-button class="search-btn" :icon="Search" @click="handleSearch"></el-button>
@@ -59,7 +41,6 @@
 							{{ getDictLabel(String(row.isAllScenario), dictObj.isAllScenario) }}
 						</template>
 					</el-table-column>
-					<!-- <el-table-column prop="areaName" show-overflow-tooltip label="所属区域" /> -->
 					<el-table-column label="操作" class-name="operation-btns" width="200">
 						<template v-slot="{ row }">
 							<el-link type="primary" @click="openForm('view', row)">查看</el-link>
@@ -91,13 +72,12 @@
 import { onMounted, ref, provide, nextTick } from 'vue'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import FormDiaLog from './FormDiaLog.vue'
-import { materialsPageApi, materialsRemoveApi, regionLazyTreeApi } from './materialsApi'
+import { materialsPageApi, materialsRemoveApi } from './materialsApi'
 import { getDictLabel } from '@ztzf/utils'
 
 // 初始化查询参数
 const initSearchParams = () => ({
 	materialName: '', // 材料名称
-	areaCode: '', // 所属区划
 	current: 1, // 当前页
 	size: 10, // 每页大小
 })
@@ -112,17 +92,6 @@
 	necessity: [],
 	isAllScenario: [],
 }) // 字典对象
-
-// 树形选择器配置
-const treeSelectProps = {
-	value: 'id',
-	label: 'name',
-	children: 'children',
-	// 判断叶子节点
-	isLeaf: (data, node) => {
-		return data.leaf === true
-	},
-}
 
 provide('dictObj', dictObj)
 
@@ -139,40 +108,6 @@
 		{ dictKey: '1', dictValue: '是' },
 		{ dictKey: '0', dictValue: '否' },
 	]
-}
-
-// 懒加载获取区域节点数据
-async function loadRegionNode(node, resolve) {
-	try {
-		// 限制只加载两级,当前节点 level >= 1 时不加载子节点
-		if (node.level >= 2) {
-			resolve([])
-			return
-		}
-
-		// 初始化加载时传递 code 参数,加载子节点时传递 parentCode 参数
-		const params = node.data?.id ? { parentCode: node.data.id } : { code: '360800000000' }
-		const res = await regionLazyTreeApi(params)
-		const nodes = res?.data?.data || []
-
-		// 处理返回的节点数据
-		const processedNodes = nodes.map(item => {
-			// 判断是否为叶子节点:如果是第二级(node.level === 1)则为叶子节点
-			const isLeaf = node.level === 1
-
-			return {
-				id: item.id || item.value,
-				name: item.name || item.title || item.label,
-				hasChildren: item.hasChildren || false,
-				leaf: isLeaf,
-			}
-		})
-
-		resolve(processedNodes)
-	} catch (error) {
-		console.error('获取区域数据失败:', error)
-		resolve([])
-	}
 }
 
 // 获取列表
diff --git "a/applications/task-work-order/src/views/orderView/appConfiguration/materials/\346\216\245\345\217\243\346\226\207\346\241\243.txt" "b/applications/task-work-order/src/views/orderView/appConfiguration/materials/\346\216\245\345\217\243\346\226\207\346\241\243.txt"
deleted file mode 100644
index f48ef91..0000000
--- "a/applications/task-work-order/src/views/orderView/appConfiguration/materials/\346\216\245\345\217\243\346\226\207\346\241\243.txt"
+++ /dev/null
@@ -1,321 +0,0 @@
-
-
-## 分页
-
-
-**接口地址**:`/implement/gdMaterial/page`
-
-
-**请求方式**:`GET`
-
-
-**请求数据类型**:`application/x-www-form-urlencoded`
-
-
-**响应数据类型**:`*/*`
-
-
-**接口描述**:<p>传入gdMaterial</p>
-
-
-
-**请求参数**:
-
-
-**请求参数**:
-
-
-| 参数名称 | 参数说明 | 请求类型    | 是否必须 | 数据类型 | schema |
-| -------- | -------- | ----- | -------- | -------- | ------ |
-|areaCode|区域编码|query|false|string||
-|current|当前页|query|false|integer(int32)||
-|id|主键id|query|false|integer(int64)||
-|isAllScenario|是否适用全部情形:1是 0否|query|false|integer(int32)||
-|materialDesc|材料说明|query|false|string||
-|materialName|材料名称(列表展示字段)|query|false|string||
-|necessity|必要性:必填/可选/容缺|query|false|string||
-|size|每页的数量|query|false|integer(int32)||
-
-
-**响应状态**:
-
-
-| 状态码 | 说明 | schema |
-| -------- | -------- | ----- | 
-|200|OK|R«IPage«GdMaterialVO»»|
-|401|Unauthorized||
-|403|Forbidden||
-|404|Not Found||
-
-
-**响应参数**:
-
-
-| 参数名称 | 参数说明 | 类型 | schema |
-| -------- | -------- | ----- |----- | 
-|code|状态码|integer(int32)|integer(int32)|
-|data|承载数据|IPage«GdMaterialVO»|IPage«GdMaterialVO»|
-|&emsp;&emsp;current||integer(int64)||
-|&emsp;&emsp;pages||integer(int64)||
-|&emsp;&emsp;records||array|GdMaterialVO|
-|&emsp;&emsp;&emsp;&emsp;areaCode|区域编码|string||
-|&emsp;&emsp;&emsp;&emsp;id|主键id|integer||
-|&emsp;&emsp;&emsp;&emsp;isAllScenario|是否适用全部情形:1是 0否|integer||
-|&emsp;&emsp;&emsp;&emsp;materialDesc|材料说明|string||
-|&emsp;&emsp;&emsp;&emsp;materialName|材料名称(列表展示字段)|string||
-|&emsp;&emsp;&emsp;&emsp;necessity|必要性:必填/可选/容缺|string||
-|&emsp;&emsp;size||integer(int64)||
-|&emsp;&emsp;total||integer(int64)||
-|msg|返回消息|string||
-|success|是否成功|boolean||
-
-
-**响应示例**:
-```javascript
-{
-	"code": 0,
-	"data": {
-		"current": 0,
-		"pages": 0,
-		"records": [
-			{
-				"areaCode": "",
-				"id": 0,
-				"isAllScenario": 0,
-				"materialDesc": "",
-				"materialName": "",
-				"necessity": ""
-			}
-		],
-		"size": 0,
-		"total": 0
-	},
-	"msg": "",
-	"success": true
-}
-```
-
-
-## 详情
-
-
-**接口地址**:`/implement/gdMaterial/detail`
-
-
-**请求方式**:`GET`
-
-
-**请求数据类型**:`application/x-www-form-urlencoded`
-
-
-**响应数据类型**:`*/*`
-
-
-**接口描述**:<p>传入gdMaterial</p>
-
-
-
-**请求参数**:
-
-
-**请求参数**:
-
-
-| 参数名称 | 参数说明 | 请求类型    | 是否必须 | 数据类型 | schema |
-| -------- | -------- | ----- | -------- | -------- | ------ |
-|id|主键|query|true|integer(int64)||
-
-
-**响应状态**:
-
-
-| 状态码 | 说明 | schema |
-| -------- | -------- | ----- | 
-|200|OK|R«GdMaterialVO»|
-|401|Unauthorized||
-|403|Forbidden||
-|404|Not Found||
-
-
-**响应参数**:
-
-
-| 参数名称 | 参数说明 | 类型 | schema |
-| -------- | -------- | ----- |----- | 
-|code|状态码|integer(int32)|integer(int32)|
-|data|承载数据|GdMaterialVO|GdMaterialVO|
-|&emsp;&emsp;areaCode|区域编码|string||
-|&emsp;&emsp;id|主键id|integer(int64)||
-|&emsp;&emsp;isAllScenario|是否适用全部情形:1是 0否|integer(int32)||
-|&emsp;&emsp;materialDesc|材料说明|string||
-|&emsp;&emsp;materialName|材料名称(列表展示字段)|string||
-|&emsp;&emsp;necessity|必要性:必填/可选/容缺|string||
-|msg|返回消息|string||
-|success|是否成功|boolean||
-
-
-**响应示例**:
-```javascript
-{
-	"code": 0,
-	"data": {
-		"areaCode": "",
-		"id": 0,
-		"isAllScenario": 0,
-		"materialDesc": "",
-		"materialName": "",
-		"necessity": ""
-	},
-	"msg": "",
-	"success": true
-}
-```
-
-
-## 新增或修改
-
-
-**接口地址**:`/implement/gdMaterial/submit`
-
-
-**请求方式**:`POST`
-
-
-**请求数据类型**:`application/json`
-
-
-**响应数据类型**:`*/*`
-
-
-**接口描述**:<p>传入gdMaterial</p>
-
-
-
-**请求示例**:
-
-
-```javascript
-{
-  "areaCode": "",
-  "id": 0,
-  "isAllScenario": 0,
-  "materialDesc": "",
-  "materialName": "",
-  "necessity": ""
-}
-```
-
-
-**请求参数**:
-
-
-**请求参数**:
-
-
-| 参数名称 | 参数说明 | 请求类型    | 是否必须 | 数据类型 | schema |
-| -------- | -------- | ----- | -------- | -------- | ------ |
-|gdMaterial|gdMaterial|body|true|GdMaterialDTO|GdMaterialDTO|
-|&emsp;&emsp;areaCode|区域编码||false|string||
-|&emsp;&emsp;id|主键id||false|integer(int64)||
-|&emsp;&emsp;isAllScenario|是否适用全部情形:1是 0否||false|integer(int32)||
-|&emsp;&emsp;materialDesc|材料说明||false|string||
-|&emsp;&emsp;materialName|材料名称(列表展示字段)||false|string||
-|&emsp;&emsp;necessity|必要性:必填/可选/容缺||false|string||
-
-
-**响应状态**:
-
-
-| 状态码 | 说明 | schema |
-| -------- | -------- | ----- | 
-|200|OK|R|
-|201|Created||
-|401|Unauthorized||
-|403|Forbidden||
-|404|Not Found||
-
-
-**响应参数**:
-
-
-| 参数名称 | 参数说明 | 类型 | schema |
-| -------- | -------- | ----- |----- | 
-|code|状态码|integer(int32)|integer(int32)|
-|data|承载数据|object||
-|msg|返回消息|string||
-|success|是否成功|boolean||
-
-
-**响应示例**:
-```javascript
-{
-	"code": 0,
-	"data": {},
-	"msg": "",
-	"success": true
-}
-```
-
-
-## 逻辑删除
-
-
-**接口地址**:`/implement/gdMaterial/remove`
-
-
-**请求方式**:`POST`
-
-
-**请求数据类型**:`application/json`
-
-
-**响应数据类型**:`*/*`
-
-
-**接口描述**:<p>传入ids</p>
-
-
-
-**请求参数**:
-
-
-**请求参数**:
-
-
-| 参数名称 | 参数说明 | 请求类型    | 是否必须 | 数据类型 | schema |
-| -------- | -------- | ----- | -------- | -------- | ------ |
-|ids|主键集合|query|true|string||
-
-
-**响应状态**:
-
-
-| 状态码 | 说明 | schema |
-| -------- | -------- | ----- | 
-|200|OK|R|
-|201|Created||
-|401|Unauthorized||
-|403|Forbidden||
-|404|Not Found||
-
-
-**响应参数**:
-
-
-| 参数名称 | 参数说明 | 类型 | schema |
-| -------- | -------- | ----- |----- | 
-|code|状态码|integer(int32)|integer(int32)|
-|data|承载数据|object||
-|msg|返回消息|string||
-|success|是否成功|boolean||
-
-
-**响应示例**:
-```javascript
-{
-	"code": 0,
-	"data": {},
-	"msg": "",
-	"success": true
-}
-```
\ No newline at end of file

--
Gitblit v1.9.3