刘洋 1 year ago
parent
commit
b73e743e54

+ 1 - 0
auto-imports.d.ts

@@ -7,4 +7,5 @@ export {}
 declare global {
   const DialogPlugin: typeof import('tdesign-vue-next')['DialogPlugin']
   const MessagePlugin: typeof import('tdesign-vue-next')['MessagePlugin']
+  const TMap: typeof import('tdesign-vue-next')['Map']
 }

+ 6 - 1
index.html

@@ -2,9 +2,14 @@
 <html lang="en">
   <head>
     <meta charset="UTF-8" />
-    <link rel="shortcut icon" type="image/x-icon" href="https://unpkg.byted-static.com/latest/byted/arco-config/assets/favicon.ico">
+    <link
+      rel="shortcut icon"
+      type="image/x-icon"
+      href="https://unpkg.byted-static.com/latest/byted/arco-config/assets/favicon.ico"
+    />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title><%= appName %></title>
+    <script src="https://map.qq.com/api/gljs?v=1.exp&key=ORUBZ-OXNW4-HMGUJ-KMTZJ-46N37-YWFVF"></script>
   </head>
   <body>
     <div id="app"></div>

+ 62 - 0
src/components/common/qq-map/index.vue

@@ -0,0 +1,62 @@
+<template>
+  <t-dialog
+    :visible="visible"
+    :header="`打卡地址`"
+    :width="1200"
+    :closeOnOverlayClick="false"
+    @close="emit('close', false)"
+    :footer="false"
+  >
+    <div class="map-container" ref="mapContainer"></div>
+  </t-dialog>
+</template>
+<script setup name="QqMap">
+import { ref, onMounted } from 'vue';
+const props = defineProps({ longitude: Number, latitude: Number });
+const emit = defineEmits(['close']);
+const mapContainer = ref();
+const visible = ref(true);
+const myMap = ref(null);
+const markerLayer = ref(null);
+onMounted(() => {
+  let center = new window.TMap.LatLng(props.latitude, props.longitude);
+  myMap.value = new window.TMap.Map(mapContainer.value, {
+    center: center, //设置地图中心点坐标
+    zoom: 17.2, //设置地图缩放级别
+    pitch: 43.5, //设置俯仰角
+    rotation: 45, //设置地图旋转角度
+  });
+  markerLayer.value = new window.TMap.MultiMarker({
+    map: myMap.value, //指定地图容器
+    //样式定义
+    styles: {
+      //创建一个styleId为"myStyle"的样式(styles的子属性名即为styleId)
+      myStyle: new window.TMap.MarkerStyle({
+        width: 25, // 点标记样式宽度(像素)
+        height: 35, // 点标记样式高度(像素)
+        // src: '../img/marker.png', //图片路径
+        //焦点在图片中的像素位置,一般大头针类似形式的图片以针尖位置做为焦点,圆形点以圆心位置为焦点
+        anchor: { x: 16, y: 32 },
+      }),
+    },
+    //点标记数据数组
+    geometries: [
+      {
+        id: '1', //点标记唯一标识,后续如果有删除、修改位置等操作,都需要此id
+        styleId: 'myStyle', //指定样式id
+        position: new window.TMap.LatLng(props.latitude, props.longitude), //点标记坐标位置
+        properties: {
+          //自定义属性
+          title: 'marker1',
+        },
+      },
+    ],
+  });
+});
+</script>
+<style lang="less" scoped>
+.map-container {
+  width: 100%;
+  height: calc(100vh - 150px);
+}
+</style>

+ 0 - 1
src/views/project-quality/project-quality-manage/issues-feedback/index.vue

@@ -83,7 +83,6 @@
 
     <!-- QualityIssueDialog -->
     <quality-issue-dialog
-      v-if="perm.LINK_Approve"
       v-model:visible="showQualityIssueDialog"
       :sop="curSopData"
       :type="curType"

+ 1 - 0
src/views/service-unit/dispatch/dispatch-manage/index.vue

@@ -357,6 +357,7 @@ const {
 } = useFetchTable(dispatchQueryApi, {
   fetchDataHandle: () => {
     selectedRowKeys.value = [];
+    selectedRows.value = [];
   },
   params: computedParams,
 });

+ 1 - 0
src/views/service-unit/service-unit-manage/range-manage/add-range-dialog.vue

@@ -224,6 +224,7 @@ const {
 } = useFetchTable(serviceScopeUnbindCrmQueryApi, {
   fetchDataHandle: () => {
     selectedRowKeys.value = [];
+    selectedRows.value = [];
   },
   params: computedParams,
 });

+ 6 - 2
src/views/sop/components/dynamic-form-item/CHECKBOX.vue

@@ -1,12 +1,16 @@
 <template>
   <t-checkbox-group
     v-model="valueData"
-    :options="options"
     :disabled="!config.writable"
     style="min-height: 32px"
     @change="emitChange"
     class="flow-checkbox-group"
-  ></t-checkbox-group>
+  >
+    <t-checkbox v-for="item in options" :key="item.value" :value="item.value">
+      <span class="red m-r-5px">*</span>
+      <span>{{ item.label }}</span>
+    </t-checkbox>
+  </t-checkbox-group>
 </template>
 
 <script setup name="CHECKBOX">

+ 6 - 1
src/views/sop/components/dynamic-form-item/device-table/index.vue

@@ -89,7 +89,12 @@ const columns = [
   {
     title: '设备编号',
     colKey: 'deviceNo',
-    width: 150,
+    width: 120,
+  },
+  {
+    title: '型号',
+    colKey: 'deviceModel',
+    width: 120,
   },
   {
     title: '供应商',

+ 6 - 1
src/views/sop/sop-manage/device-out-in/index.vue

@@ -240,7 +240,12 @@ const {
   tableData,
   search,
   onChange,
-} = useFetchTable(deviceOutInSearch, { params: transParams });
+} = useFetchTable(deviceOutInSearch, {
+  params: transParams,
+  fetchDataHandle: () => {
+    selectedRowKeys.value = [];
+  },
+});
 const addSuccess = () => {
   showAddDeviceDialog.value = false;
   search();

+ 6 - 1
src/views/sop/sop-manage/office-sop/index.vue

@@ -323,7 +323,12 @@ const {
   search,
   fetchData,
   onChange,
-} = useFetchTable(sopListApi, { params: transParams });
+} = useFetchTable(sopListApi, {
+  params: transParams,
+  fetchDataHandle: () => {
+    selectedRowKeys.value = [];
+  },
+});
 
 const formWidgetMetadataViewList = ref([]);
 const metadataChange = (vals) => {

+ 6 - 1
src/views/sop/sop-manage/project-change-report/index.vue

@@ -245,5 +245,10 @@ const {
   search,
   fetchData,
   onChange,
-} = useFetchTable(planChangeList, { params: transParams });
+} = useFetchTable(planChangeList, {
+  params: transParams,
+  fetchDataHandle: () => {
+    selectedRowKeys.value = [];
+  },
+});
 </script>

+ 6 - 1
src/views/sop/sop-manage/student-sop/index.vue

@@ -321,7 +321,12 @@ const {
   search,
   fetchData,
   onChange,
-} = useFetchTable(sopListApi, { params: transParams });
+} = useFetchTable(sopListApi, {
+  params: transParams,
+  fetchDataHandle: () => {
+    selectedRowKeys.value = [];
+  },
+});
 
 const formWidgetMetadataViewList = ref([]);
 const metadataChange = (vals) => {

+ 3 - 0
src/views/system/config-manage/customer-manage/edit-customer-dialog.vue

@@ -133,6 +133,9 @@ const { formData, isEdit } = useClearDialog(
     for (let key in formData) {
       formData[key] = props.curRow[key];
     }
+    setTimeout(() => {
+      formData.levelId = props.curRow.levelId;
+    }, 50);
   }
 );
 

+ 9 - 4
src/views/system/config-manage/device-manage/index.vue

@@ -311,6 +311,9 @@ const columns = [
     width: 120,
   },
 ];
+const selectChange = (value) => {
+  selectedRowKeys.value = value;
+};
 const {
   loading: tableLoading,
   pagination,
@@ -318,11 +321,13 @@ const {
   fetchData,
   search,
   onChange,
-} = useFetchTable(deviceQueryApi, { params: params });
+} = useFetchTable(deviceQueryApi, {
+  params: params,
+  fetchDataHandle: () => {
+    selectedRowKeys.value = [];
+  },
+});
 
-const selectChange = (value) => {
-  selectedRowKeys.value = value;
-};
 const handleAdd = () => {
   curRow.value = null;
   showEditDeviceDialog.value = true;

+ 18 - 2
src/views/work-hours/work-hours-manage/work-attendance-detail/index.vue

@@ -53,12 +53,18 @@
           {{ attendanceTypeFilter(row[col.colKey]) }}
         </template>
         <template #address="{ col, row }">
-          <t-link theme="primary" hover="color">
+          <t-link theme="primary" hover="color" @click="showCurAddress(row)">
             {{ row[col.colKey] }}
           </t-link>
         </template>
       </t-table>
     </div>
+    <QqMap
+      :longitude="longitude"
+      :latitude="latitude"
+      v-if="showMap"
+      @close="showMap = false"
+    ></QqMap>
   </div>
 </template>
 
@@ -75,7 +81,17 @@ import {
 import { timestampFilter, attendanceTypeFilter } from '@/utils/filter';
 import { ATTENDANCE_RESULT, ATTENDANCE_TYPE } from '@/config/constants';
 import { dictToOptionList } from '@/utils/tool';
-
+import QqMap from '@/components/common/qq-map/index.vue';
+const showMap = ref(false);
+const longitude = ref(null);
+const latitude = ref(null);
+const showCurAddress = (row) => {
+  if (row.axisX && row.axisY) {
+    longitude.value = row.axisX;
+    latitude.value = row.axisY;
+    showMap.value = true;
+  }
+};
 const fields = ref([
   {
     prop: 'serviceId',

+ 8 - 7
src/views/work-hours/work-hours-manage/work-attendance/index.vue

@@ -64,14 +64,14 @@
       >
         <template #sopNo="{ col, row }">
           <more-content
-              :content="row[col.colKey]"
-              @action="openDetailDialog(row)"
+            :content="row[col.colKey]"
+            @action="openDetailDialog(row)"
           ></more-content>
         </template>
         <template #archivesInfo="{ col, row }">
           <more-content
-              :content="row[col.colKey]"
-              @action="openDetailDialog(row)"
+            :content="row[col.colKey]"
+            @action="openDetailDialog(row)"
           ></more-content>
         </template>
         <template #role="{ col, row }">
@@ -127,8 +127,8 @@
       </t-table>
     </div>
     <detail-dialog
-        v-model:visible="showDetailDialog"
-        :row="curRow"
+      v-model:visible="showDetailDialog"
+      :row="curRow"
     ></detail-dialog>
   </div>
 </template>
@@ -369,7 +369,7 @@ const columns = [
   { colKey: 'weekdays', title: '工作日(天)', width: 130 },
   { colKey: 'weekends', title: '周末(天)', width: 120 },
   { colKey: 'legalHolidays', title: '法定节假日(天)', width: 160 },
-  { colKey: 'workHours', title: '累计工时()', width: 140 },
+  { colKey: 'workHours', title: '累计工时(小时)', width: 140 },
   { colKey: 'violationDays', title: '违规工时(天)', width: 140 },
   { colKey: 'dingExceptionCount', title: '考勤异常数(天)', width: 150 },
   { colKey: 'remainCount', title: '剩余补卡次数', width: 120 },
@@ -395,6 +395,7 @@ const { pagination, tableData, fetchData, search, onChange } = useFetchTable(
   {
     fetchDataHandle: () => {
       selectedRowKeys.value = [];
+      selectedRowDatas.value = [];
     },
     params,
   }

+ 1 - 1
src/views/work-hours/work-hours-manage/work-statistics/index.vue

@@ -230,7 +230,7 @@ const columns = [
   { colKey: 'weekdays', title: '工作日(天)', width: 130 },
   { colKey: 'weekends', title: '周末(天)', width: 120 },
   { colKey: 'holidays', title: '法定节假日(天)', width: 160 },
-  { colKey: 'workHours', title: '累计工时()', width: 140 },
+  { colKey: 'workHours', title: '累计工时(小时)', width: 140 },
   { colKey: 'violationDays', title: '违规工时(天)', width: 140 },
   { colKey: 'submitter', title: '提交人', width: 120 },
   {