diff --git a/api/index/index.js b/api/index/index.js
index 42903f0..2801d84 100644
--- a/api/index/index.js
+++ b/api/index/index.js
@@ -63,7 +63,7 @@ export const getCurrentOrg = (params) => {
* @returns {Promise}
*/
export const orgTaskIndicator = (params) => {
- return get('/app-api/homePage/summary/orgTaskIndicator', params);
+ return post('/app-api/homePage/summary/orgTaskIndicator', params);
};
diff --git a/api/user.js b/api/user.js
index 4a5bbb9..0f00222 100644
--- a/api/user.js
+++ b/api/user.js
@@ -85,6 +85,25 @@ export const getSmsCode = (data) => {
}
+/**
+ * 查询月度考勤日历
+ * @returns {Promise}
+ */
+export const attendanceDaily = (data) => {
+ return get('/app-api/garden/attendance-daily/calendar',data)
+}
+
+/**
+ * 查询月度考勤日历
+ * @returns {Promise}
+ */
+export const dayDetail = (data) => {
+ return get('/app-api/garden/attendance-daily/day-detail',data)
+}
+
+
+
+
diff --git a/pages-sub/daily/attendanceRecord.vue b/pages-sub/daily/attendanceRecord.vue
index 6d83501..868b73c 100644
--- a/pages-sub/daily/attendanceRecord.vue
+++ b/pages-sub/daily/attendanceRecord.vue
@@ -1,85 +1,81 @@
-
-
-
-
- 本月打卡
- {{ statData.checkInDays }}
-
-
- 正常天数
- {{ statData.normalDays }}
-
-
- 异常天数
- {{ statData.errorDays }}
-
-
-
-
-
-
-
-
- {{ w }}
+
+
+
+
+ 本月打卡
+ {{ statData.checkInDays }}
+
+
+ 正常天数
+ {{ statData.normalDays }}
+
+
+ 异常天数
+ {{ statData.errorDays }}
+
-
-
-
+
+
+
+ {{ w }}
+
+
+
+
- {{ day.day }}
-
+ }" @click="onDayClick(day)">
+ {{ day.day }}
+
+
-
-
-
-
-
- 暂无考勤记录
-
-
-
- 上班打卡时间:
- {{ currentAttendance.clockInTime || '缺少打卡记录' }}
+
+
+
+ 暂无考勤记录
-
- 上班打卡地点:
- {{ currentAttendance.clockInAddress || '-' }}
-
-
-
- 下班打卡时间:
- {{ currentAttendance.clockOutTime || '缺少打卡记录' }}
-
-
- 下班打卡地点:
- {{ currentAttendance.clockOutAddress || '-' }}
+
+
+ 上班打卡时间:
+ {{ currentAttendance.onDutyTime || '缺少打卡记录' }}
+
+
+ 上班打卡地点:
+ {{ currentAttendance.onDutyAddress || '-' }}
+
+
+
+ 下班打卡时间:
+ {{ currentAttendance.offDutyTime || '缺少打卡记录' }}
+
+
+ 下班打卡地点:
+ {{ currentAttendance.offDutyAddress || '-' }}
+
+
+
+ 异常原因:
+ {{ currentAttendance.abnormalReason }}
+
-
-
+
-
-
diff --git a/pages-sub/daily/patrol-manage/add-patrol-record.vue b/pages-sub/daily/patrol-manage/add-patrol-record.vue
index 8e0640e..62bac2e 100644
--- a/pages-sub/daily/patrol-manage/add-patrol-record.vue
+++ b/pages-sub/daily/patrol-manage/add-patrol-record.vue
@@ -1,249 +1,281 @@
-
-
-
-
-
-
-
-
-
-
- uploadImgs(event)"
- @delete="(event) => deleteImg(event)"
- @on-exceed="handleExceed"
- multiple
- :max-count="3"
- upload-text="选择图片"
- del-color="#ff4d4f"
- class="upload-wrap"
- width="70"
- height="70"
- >
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ uploadImgs(event)"
+ @delete="(event) => deleteImg(event)" @on-exceed="handleExceed" multiple :max-count="3" upload-text="选择图片"
+del-color="#ff4d4f" class="upload-wrap" width="70" height="70">
+
+
+
+
+
{{ item.label }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+const userStore = useUserStore();
+const BUSI_LINE_DICT_TYPE = 'business_line';
+const CJK_RE = /[一-龥]/;
+
+// 级联选择器变量
+const showCascader = ref(false);
+const cascaderValue = ref([]);
+const cascaderOptions = ref([]);
+
+// 打开级联弹窗
+const openCascader = () => {
+const busiLineEn = getBusiLineEnByCn(proxy.$data.inspectForm.busiLineCn)
+if (!busiLineEn) {
+uni.showToast({ title: '请先选择业务线', icon: 'none' })
+return
+ }
+if (!cascaderOptions.value || cascaderOptions.value.length === 0) {
+uni.showToast({ title: '正在加载问题类型,请稍等', icon: 'none' });
+loadProblemCascader(busiLineEn);
+return;
+ }
+cascaderValue.value = [];
+showCascader.value = true;
+};
+
+// 级联确认回调
+const cascaderConfirm = (selectedArr) => {
+const getLabelByValueList = (list, valList) => {
+const labelArr = [];
+let currentList = list;
+for (const val of valList) {
+const target = currentList.find(item => item.value === val);
+if (!target) break;
+labelArr.push(target.label);
+currentList = target.children || [];
+ }
+return labelArr.join('/');
+ };
+const fullLabel = getLabelByValueList(cascaderOptions.value, selectedArr);
+proxy.$data.inspectForm.orderName = fullLabel;
+proxy.$data.inspectForm.orderCode = selectedArr.at(-1);
+cascaderValue.value = selectedArr;
+inspectFormRef.value?.validateField('orderName');
+};
+
+// 加载级联树形数据
+const loadProblemCascader = async (parentCode) => {
+if (!parentCode) {
+cascaderOptions.value = []
+return
+ }
+try {
+uni.showLoading({ title: '加载类型中...' })
+const res = await getProblemListByType({ parentCode })
+uni.hideLoading()
+cascaderOptions.value = res || []
+ } catch (err) {
+uni.hideLoading()
+console.error('获取问题类型失败', err)
+uni.showToast({ title: '获取问题类型失败', icon: 'none' })
+cascaderOptions.value = []
+ }
+}
+const getBusiLineCnByEn = (busiLineEn) => {
+if (!busiLineEn) return '';
+return getDictLabel(BUSI_LINE_DICT_TYPE, busiLineEn) || busiLineEn;
+};
+const getBusiLineEnByCn = (cnName) => {
+if (!cnName) return '';
+const code = getDictValue(BUSI_LINE_DICT_TYPE, cnName);
+if (code) return code;
+return CJK_RE.test(cnName) ? '' : cnName;
+};
+
+// 暴露给选项式访问
+proxy.$setupCtx = {
+ loadProblemCascader,
+ getBusiLineEnByCn,
+ cascaderOptions,
+ cascaderValue
+}
+
-
\ No newline at end of file
+
diff --git a/pages-sub/problem/work-order-manage/add-order.vue b/pages-sub/problem/work-order-manage/add-order.vue
index a0f4d71..146e061 100644
--- a/pages-sub/problem/work-order-manage/add-order.vue
+++ b/pages-sub/problem/work-order-manage/add-order.vue
@@ -212,7 +212,7 @@ const loadProblemCascader = async (parentCode) => {
// 表单Ref
const workOrderFormRef = ref(null)
const problemImgs = useUploadImgs({
- maxCount: 3,
+ maxCount: 9,
uploadText: '选择问题照片',
sizeType: ['compressed'],
formRef: workOrderFormRef,
diff --git a/pages-sub/problem/work-order-manage/order-detail.vue b/pages-sub/problem/work-order-manage/order-detail.vue
index 20b8825..b504ad3 100644
--- a/pages-sub/problem/work-order-manage/order-detail.vue
+++ b/pages-sub/problem/work-order-manage/order-detail.vue
@@ -116,6 +116,10 @@
+
+
+
+
-
+
@@ -52,23 +48,16 @@
:option="klineOption" :width="chartWidth" :height="chartHeight" />
-->
-
-
-
- {{baseListItem.num}}
- {{baseListItem.title}}
+
+
+
+
+ {{ baseListItem.num }}
+ {{ baseListItem.title }}
+
-
+
+
@@ -98,13 +87,8 @@
-
+
@@ -113,7 +97,7 @@
- 事项{{ index + 1 }}
+ 事项{{ index + 1 }}
{{ item.taskName || '无' }}
@@ -121,7 +105,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
\ No newline at end of file