Browse Source

增加公司的时候,需要选择省市

louhangfei 1 year ago
parent
commit
bace89c882

+ 1 - 0
src/api/scene/sceneOperate.ts

@@ -17,6 +17,7 @@ export interface ComAddDatas {
   parent?: null | ComAddDatas;
   longitude?: number; //经度
   latitude?: number; //纬度
+  regionCode: string;
 }
 
 /**

+ 1 - 1
src/api/system/region.ts

@@ -21,7 +21,7 @@ export function regionList(params) {
 /**
  * @description: 获取省份/直辖市
  */
-export function provinceList(params) {
+export function getProvinceList(params?: any) {
   return http.request({
     url: '/region/queryProvinceList',
     method: 'GET',

+ 23 - 1
src/views/system-config/scene-manage/CompanyDrawer.vue

@@ -74,6 +74,16 @@
             ></div>
           </div>
         </el-form-item>
+        <el-form-item label="所在省市" prop="regionCode">
+          <el-select v-model="ruleForm.regionCode" placeholder="请选择省市" style="width: 200px">
+            <el-option
+              v-for="item in provinceList"
+              :key="item.regionCode"
+              :label="item.regionName"
+              :value="item.regionCode"
+            />
+          </el-select>
+        </el-form-item>
         <el-form-item label="坐标经度" prop="longitude"
           ><el-input v-model="ruleForm.longitude" type="number" style="width: 200px"></el-input
         ></el-form-item>
@@ -104,7 +114,7 @@
 </template>
 
 <script setup lang="ts">
-  import { computed, reactive, ref, defineProps, defineEmits, watch } from 'vue';
+  import { computed, reactive, ref, defineProps, defineEmits, watch, onMounted } from 'vue';
   import {
     addCompanyModuleLabel,
     editCompanyModuleLabel,
@@ -116,6 +126,9 @@
   import { ElMessage, ElMessageBox } from 'element-plus';
   import { CirclePlus } from '@element-plus/icons-vue';
   import { addCompany, editCompany } from '@/api/scene/sceneOperate';
+  import { getProvinceList } from '@/api/system/region';
+  import { useRequest } from 'vue-hooks-plus';
+  import { string } from 'vue-types';
 
   interface SelectItemType {
     tag: string;
@@ -137,6 +150,7 @@
       remark?: string;
       longitude?: number; //经度
       latitude?: number; //纬度
+      regionCode: string;
     };
   }>();
 
@@ -170,6 +184,7 @@
     remark?: string; //备注,可用于添加经纬度,非必要
     longitude?: number; //经度
     latitude?: number; //纬度
+    regionCode: string;
   }
 
   const ruleForm = reactive<RuleForm>({
@@ -186,6 +201,7 @@
     remark: '',
     longitude: undefined, //经度
     latitude: undefined, //纬度
+    regionCode: '',
   });
   const rules = reactive<FormRules>({
     name: [
@@ -199,6 +215,8 @@
     ],
   });
 
+  const { data: provinceList } = useRequest(getProvinceList);
+
   //增加空的场景&模板
   const addChange = () => {
     ruleForm.selectItems!.push({
@@ -219,6 +237,7 @@
       ruleForm.remark = data.remark;
       ruleForm.latitude = data.latitude;
       ruleForm.longitude = data.longitude;
+      ruleForm.regionCode = data.regionCode;
     },
     { immediate: true },
   );
@@ -287,6 +306,7 @@
           remark: ruleForm.remark,
           longitude: ruleForm.longitude,
           latitude: ruleForm.latitude,
+          regionCode: ruleForm.regionCode,
         };
         //提交数据并重置关闭el-draw
         addCompany(newComData)
@@ -355,6 +375,7 @@
         remark: ruleForm.remark,
         longitude: ruleForm.longitude,
         latitude: ruleForm.latitude,
+        regionCode: ruleForm.regionCode,
       };
       // 编辑上传
       editCompany(editNewCom)
@@ -382,6 +403,7 @@
     ruleForm.code = '';
     ruleForm.addEnable = ENABLED.TRUE;
     ruleForm.selectItems = [{ tag: '', template: '' }];
+    ruleForm.regionCode = '';
   };
 </script>
 

+ 1 - 0
src/views/system-config/scene-manage/SceneManage.vue

@@ -330,6 +330,7 @@
         remark: editedItem.value?.remark,
         longitude: editedItem.value?.longitude!,
         latitude: editedItem.value?.latitude!,
+        regionCode: editedItem.value?.regionCode,
       };
     } else if (level.value === DATA_LEVEL.workshop && 'companyId' in editedItem.value!) {
       showDrawer.value = DrawerType.workshop;

+ 2 - 2
src/views/system/region/region.vue

@@ -66,7 +66,7 @@
   import { BasicTable, TableAction, BasicColumn } from '@/components/Table';
   import { FileAddOutlined, SearchOutlined } from '@vicons/antd';
   import { columns } from './columns';
-  import { provinceList, parentList, regionTreeList, deleteRegion } from '@/api/system/region';
+  import { getProvinceList, parentList, regionTreeList, deleteRegion } from '@/api/system/region';
   import CreateDrawer from './CreateDrawer.vue';
 
   const message = ElMessage;
@@ -112,7 +112,7 @@
       ...unref(params),
       ...res,
     };
-    const tableData = await provinceList(_params);
+    const tableData = await getProvinceList(_params);
     tableData.forEach((item) => {
       item.hasChildren = true;
     });