diff --git a/src/pages/WorkOrderEdit/compoents/BasicsInfo.vue b/src/pages/WorkOrderEdit/compoents/BasicsInfo.vue
index 9433b79..bf78b37 100644
--- a/src/pages/WorkOrderEdit/compoents/BasicsInfo.vue
+++ b/src/pages/WorkOrderEdit/compoents/BasicsInfo.vue
@@ -22,7 +22,8 @@
- 选择日期
+ 选择日期
- 选择日期
+ 选择日期
+
+ 作业负责人
+
+
+
+
+
+
+ 作业班成员
+ 添加
+
+
+
+
+ {{ member.name }}
+
+
+
+
+
@@ -71,12 +95,31 @@ const endDateMinTimestamp = computed(() => {
return minTimestamp.value;
});
+const showMemberPicker = ref(false); // 是否显示成员选择器
+//成员列表信息
+const MemberArr = ref([
+ {
+ id: "123456", // 成员ID
+ name: "张三", // 成员姓名
+ phone: "13800000000", // 成员手机号
+ },
+ {
+ id: "654321", // 成员ID
+ name: "李四", // 成员姓名
+ phone: "13900000000", // 成员手机号
+ }
+]); // 作业班成员列表
+
+
+
// 表单信息
const formData = ref({
ProjectName: "", // 项目名称
Location: "", // 作业地点(经纬度)
SpecificAddress: "", // 具体楼层或区域
period: [], // 作业周期 [开始日期, 结束日期]
+ ResponsiblePerson: "", // 作业负责人
+ MemberList: [], // 作业班成员列表
});
// 暴露方法给父组件调用
@@ -84,18 +127,20 @@ defineExpose({
getFormData: () => formData.value,
});
-// 初始化地图
+// 生命周期钩子函数
onMounted(() => {
initTiandituMap();
});
+
+
// 处理开始日期确认事件
const HandleStartDateConfirm = (e) => {
console.log('选中的开始日期:', e);
-
+
// 如果没有选择日期,使用默认值
const selectedDate = (e.value && dayjs(e.value).isValid()) ? e.value : minTimestamp.value;
-
+
startDateText.value = dayjs(selectedDate).format('YYYY-MM-DD');
startDate.value = selectedDate;
endDateText.value = '';
@@ -107,10 +152,10 @@ const HandleStartDateConfirm = (e) => {
// 处理结束日期确认事件
const HandleEndDateConfirm = (e) => {
console.log('选中的结束日期:', e);
-
+
// 如果没有选择日期,使用默认值
const selectedDate = (e.value && dayjs(e.value).isValid()) ? e.value : minTimestamp.value;
-
+
// 检查是否选择了开始日期
if (startDate.value && dayjs(selectedDate).isBefore(dayjs(startDate.value))) {
uni.showToast({
@@ -120,7 +165,7 @@ const HandleEndDateConfirm = (e) => {
});
return;
}
-
+
endDateText.value = dayjs(selectedDate).format('YYYY-MM-DD');
endDate.value = selectedDate;
showEndDatePicker.value = false;
@@ -141,6 +186,66 @@ const UpdatePeriod = () => {
console.log('作业周期:', formData.value.period);
};
+// 处理成员选择确认事件
+const HandleMemberConfirm = (e) => {
+ console.log('选中的成员完整信息:', e);
+ console.log('e.value:', e.value);
+ console.log('e.value[0]:', e.value ? e.value[0] : 'undefined');
+ console.log('MemberArr:', MemberArr.value);
+
+ if (e.value && e.value.length > 0) {
+ const selectedMember = e.value[0];
+ console.log('选中的成员:', selectedMember);
+ console.log('selectedMember 的类型:', typeof selectedMember);
+
+ let memberInfo;
+
+ // 判断返回的是对象还是字符串
+ if (typeof selectedMember === 'object' && selectedMember !== null) {
+ // 如果是对象,直接使用
+ memberInfo = selectedMember;
+ console.log('返回的是对象,直接使用:', memberInfo);
+ } else {
+ // 如果是字符串,从 MemberArr 中根据id查找
+ memberInfo = MemberArr.value.find(item => item.id === selectedMember);
+ console.log('返回的是字符串,从 MemberArr 根据id查找:', memberInfo);
+ }
+
+ if (memberInfo && memberInfo.id) {
+ // 根据id检查成员是否已存在
+ const isExist = formData.value.MemberList.some(item => item.id === memberInfo.id);
+ console.log('成员是否已存在:', isExist);
+ console.log('当前成员列表:', formData.value.MemberList);
+
+ if (!isExist) {
+ formData.value.MemberList.push({
+ id: memberInfo.id,
+ name: memberInfo.name
+ });
+ console.log('添加成员成功:', memberInfo);
+ console.log('添加后的成员列表:', formData.value.MemberList);
+ } else {
+ uni.showToast({
+ title: '该成员已存在',
+ icon: 'none',
+ duration: 2000
+ });
+ }
+ } else {
+ console.log('未找到成员信息或成员信息无效');
+ }
+ } else {
+ console.log('e.value 为空或长度为0');
+ }
+ showMemberPicker.value = false;
+};
+
+// 删除成员
+const RemoveMember = (index) => {
+ formData.value.MemberList.splice(index, 1);
+ console.log('删除成员成功');
+};
+
// 初始化天地图
const initTiandituMap = () => {
try {
@@ -195,6 +300,21 @@ const initTiandituMap = () => {
diff --git a/src/pages/WorkOrderEdit/index.vue b/src/pages/WorkOrderEdit/index.vue
index 6c39978..fd0acac 100644
--- a/src/pages/WorkOrderEdit/index.vue
+++ b/src/pages/WorkOrderEdit/index.vue
@@ -4,18 +4,19 @@
-
+
- 工单编辑
+ {{stepList[currentStep - 1].Title}}
-
+
+