From be31785608bf9d6233eb9ffe7c0a8a0ff5d01b0e Mon Sep 17 00:00:00 2001 From: wangyilin <1454641981@qq.com> Date: Mon, 18 Nov 2024 10:22:34 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=9D=E5=AE=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/stores/modules/userStore.ts | 2 +- securityManagement/src/views/test.vue.bak | 114 ++++++++++++++++++ 2 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 securityManagement/src/views/test.vue.bak diff --git a/securityManagement/src/stores/modules/userStore.ts b/securityManagement/src/stores/modules/userStore.ts index bdd8060..697c2bd 100644 --- a/securityManagement/src/stores/modules/userStore.ts +++ b/securityManagement/src/stores/modules/userStore.ts @@ -20,7 +20,7 @@ export const useUserStore = defineStore({ getTokenInfo: (state): TokenInfo => state.tokenInfo as TokenInfo, }, persist: { - key: "useUserStore", + key: "useUserStore", //spUserStore storage: window.localStorage, paths: ["tokenInfo"], } diff --git a/securityManagement/src/views/test.vue.bak b/securityManagement/src/views/test.vue.bak new file mode 100644 index 0000000..7898fe3 --- /dev/null +++ b/securityManagement/src/views/test.vue.bak @@ -0,0 +1,114 @@ + + + + + + From d793125e33c4993947cb612cdcf61b7dc16f4b55 Mon Sep 17 00:00:00 2001 From: TimSpan Date: Mon, 18 Nov 2024 10:23:16 +0800 Subject: [PATCH 2/5] Update components.d.ts --- policeManagement/components.d.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/policeManagement/components.d.ts b/policeManagement/components.d.ts index 019cb82..9373b1b 100644 --- a/policeManagement/components.d.ts +++ b/policeManagement/components.d.ts @@ -18,6 +18,7 @@ declare module 'vue' { ADropdown: typeof import('ant-design-vue/es')['Dropdown'] AForm: typeof import('ant-design-vue/es')['Form'] AFormItem: typeof import('ant-design-vue/es')['FormItem'] + AImage: typeof import('ant-design-vue/es')['Image'] AInput: typeof import('ant-design-vue/es')['Input'] AInputNumber: typeof import('ant-design-vue/es')['InputNumber'] AInputPassword: typeof import('ant-design-vue/es')['InputPassword'] @@ -38,6 +39,7 @@ declare module 'vue' { ASpin: typeof import('ant-design-vue/es')['Spin'] ASubMenu: typeof import('ant-design-vue/es')['SubMenu'] ATable: typeof import('ant-design-vue/es')['Table'] + ATag: typeof import('ant-design-vue/es')['Tag'] ATextarea: typeof import('ant-design-vue/es')['Textarea'] ATimePicker: typeof import('ant-design-vue/es')['TimePicker'] ATimeRangePicker: typeof import('ant-design-vue/es')['TimeRangePicker'] From 3637ba7dc394842dcd829b1e80665f8ed15185e4 Mon Sep 17 00:00:00 2001 From: wangyilin <1454641981@qq.com> Date: Mon, 18 Nov 2024 16:14:01 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- policeManagement/components.d.ts | 2 + policeManagement/src/views/warning/index.vue | 196 +++++++++++++++++- securityManagement/src/config/dict.ts | 1 + .../src/stores/modules/userStore.ts | 4 +- .../src/types/views/serviceManagement.ts | 4 +- .../src/views/serviceManagement/index.vue | 106 ++++++---- 6 files changed, 267 insertions(+), 46 deletions(-) diff --git a/policeManagement/components.d.ts b/policeManagement/components.d.ts index 019cb82..9373b1b 100644 --- a/policeManagement/components.d.ts +++ b/policeManagement/components.d.ts @@ -18,6 +18,7 @@ declare module 'vue' { ADropdown: typeof import('ant-design-vue/es')['Dropdown'] AForm: typeof import('ant-design-vue/es')['Form'] AFormItem: typeof import('ant-design-vue/es')['FormItem'] + AImage: typeof import('ant-design-vue/es')['Image'] AInput: typeof import('ant-design-vue/es')['Input'] AInputNumber: typeof import('ant-design-vue/es')['InputNumber'] AInputPassword: typeof import('ant-design-vue/es')['InputPassword'] @@ -38,6 +39,7 @@ declare module 'vue' { ASpin: typeof import('ant-design-vue/es')['Spin'] ASubMenu: typeof import('ant-design-vue/es')['SubMenu'] ATable: typeof import('ant-design-vue/es')['Table'] + ATag: typeof import('ant-design-vue/es')['Tag'] ATextarea: typeof import('ant-design-vue/es')['Textarea'] ATimePicker: typeof import('ant-design-vue/es')['TimePicker'] ATimeRangePicker: typeof import('ant-design-vue/es')['TimeRangePicker'] diff --git a/policeManagement/src/views/warning/index.vue b/policeManagement/src/views/warning/index.vue index e0a2da1..f7fcf14 100644 --- a/policeManagement/src/views/warning/index.vue +++ b/policeManagement/src/views/warning/index.vue @@ -1,8 +1,198 @@ - + + + \ No newline at end of file diff --git a/securityManagement/src/config/dict.ts b/securityManagement/src/config/dict.ts index 01bd579..3cb857e 100644 --- a/securityManagement/src/config/dict.ts +++ b/securityManagement/src/config/dict.ts @@ -8,6 +8,7 @@ type DictType = | 'Sex' | 'ServiceProjectType' | 'MiniProgramUserIdentity' + | 'ServiceProjectTwoType' export const initEnums = () => { api.get[]>>('/common/enums').then(resp => { diff --git a/securityManagement/src/stores/modules/userStore.ts b/securityManagement/src/stores/modules/userStore.ts index 697c2bd..3c1f82e 100644 --- a/securityManagement/src/stores/modules/userStore.ts +++ b/securityManagement/src/stores/modules/userStore.ts @@ -2,7 +2,7 @@ import {defineStore} from "pinia"; import {TokenInfo, UserStore} from "@/types/stores/userStore.ts"; export const useUserStore = defineStore({ - id: 'useUserStore', + id: 'baUserStore', state: (): UserStore => { return { tokenInfo: undefined, @@ -20,7 +20,7 @@ export const useUserStore = defineStore({ getTokenInfo: (state): TokenInfo => state.tokenInfo as TokenInfo, }, persist: { - key: "useUserStore", //spUserStore + key: "baUserStore", //spUserStore storage: window.localStorage, paths: ["tokenInfo"], } diff --git a/securityManagement/src/types/views/serviceManagement.ts b/securityManagement/src/types/views/serviceManagement.ts index 285a344..26340e5 100644 --- a/securityManagement/src/types/views/serviceManagement.ts +++ b/securityManagement/src/types/views/serviceManagement.ts @@ -8,7 +8,9 @@ export interface serviceProjectSaveOrUpdateParams extends BaseTableRowRecord { projectManagerMiniProgramUserName: string, name: string, type: TypeEnum, - isRecruitSecurity: BaseEnum, + twoType: BaseEnum, + outsourceName:string, + isFiling:BaseEnum, idNumber: string, serviceArea: number, buildingTotal: number, diff --git a/securityManagement/src/views/serviceManagement/index.vue b/securityManagement/src/views/serviceManagement/index.vue index 1d7523e..095ec84 100644 --- a/securityManagement/src/views/serviceManagement/index.vue +++ b/securityManagement/src/views/serviceManagement/index.vue @@ -29,7 +29,7 @@ import TableProMax from "@/components/table/TableProMax.vue"; import {TableProMaxProps} from "@/types/components/table"; import api from "@/axios"; -import {onMounted, ref} from "vue"; +import {computed, onMounted, ref} from "vue"; import {ComponentExposed} from "vue-component-type-helpers"; import {dictSelectNodes} from "@/config/dict.ts"; import {serviceProjectSaveOrUpdateParams} from "@/types/views/serviceManagement.ts"; @@ -81,7 +81,9 @@ const formParams = ref<{ projectManagerMiniProgramUserName?:string name: string, type:string, - isRecruitSecurity:number, + twoType?: number, + outsourceName?:string, + isFiling?:number, idNumber?: string, serviceArea?:number, buildingTotal?:number, @@ -91,9 +93,8 @@ const formParams = ref<{ remark?: string, }>({ name:'', - isRecruitSecurity:0, enterprisesUnitId:null, - type:'property' + type:'security' }) const columns: TableProps['columns'] = [ @@ -123,8 +124,19 @@ const columns: TableProps['columns'] = [ width:100 }, { - dataIndex:'isRecruitSecurity', - title: '是否自招保安', + dataIndex:'twoType', + title: '二级类型', + customRender: ({text}) => {text?.label}, + width:120 + }, + { + dataIndex:'outsourceName', + title: '外包公司名称', + width:120 + }, + { + dataIndex:'isFiling', + title: '是否备案', customRender: ({text}) => {text?.label}, width:120 }, @@ -196,22 +208,14 @@ const columns: TableProps['columns'] = [ console.log(record,'9999999') visible.value = true serviceTitle.value = '编辑服务项目' - if(record.isRecruitSecurity === null ){ - idNumberDisabled.value = false - } - if(record.type.value === 'security'){ - isRecruitSecurityHidden.value = true - formParams.value.isRecruitSecurity = null - }else{ - formParams.value.isRecruitSecurity = record.isRecruitSecurity.value - if(record.isRecruitSecurity.value === 1){ - idNumberDisabled.value = true - } - } + idNumberDisabled.value = record.twoType.value !== 'outsource'; formParams.value.projectManagerMiniProgramUserId = record.projectManagerMiniProgramUserId formParams.value.snowFlakeId = record.snowFlakeId formParams.value.name = record.name formParams.value.type = record.type.value + formParams.value.twoType = record.twoType.value + formParams.value.outsourceName = record.outsourceName + formParams.value.isFiling = record.isFiling.value formParams.value.remark = record.remark formParams.value.idNumber = record.idNumber formParams.value.serviceArea = record.serviceArea @@ -246,9 +250,14 @@ const projectManagerMiniProgram = async()=>{ // 企事业单位接口 const enterprisesUnitIdList = ref[]>([]) const enterprisesUnitId = ref('') -const isRecruitSecurityHidden = ref(false) +const isRecruitSecurityHidden = ref(false) const idNumberDisabled = ref(false) + +// 切换options +const netType = computed(() => { + return formParams.value.type === 'security' ? dictSelectNodes("ServiceProjectTwoType") : dictSelectNodes("UserType" as any) +}) const formItemOptions = ref>({ name: { type: 'input', @@ -292,35 +301,47 @@ const formItemOptions = ref{ - if(e.target.value === 'security'){ - isRecruitSecurityHidden.value = true - formParams.value.isRecruitSecurity = null - idNumberDisabled.value = false - }else{ - formParams.value.isRecruitSecurity = 0 + if(e.target?.value === 'security'){ isRecruitSecurityHidden.value = false + formParams.value.twoType = null + }else{ + formParams.value.twoType = null + isRecruitSecurityHidden.value = true } } } }, - isRecruitSecurity: { + twoType: { type: 'radioGroup', - label: '是否自招保安', - options:dictSelectNodes('IsOrNot'), - hidden:isRecruitSecurityHidden as any, + label: '二级类型', + options:netType, componentsProps:{ onChange:(e)=>{ - idNumberDisabled.value = e.target.value !== 0; - formParams.value.idNumber = '' - } + if(e.target.value !== "outsource"){ + idNumberDisabled.value = true + formParams.value.outsourceName = '' + }else{ + idNumberDisabled.value = false + } + }, } }, + outsourceName:{ + type: 'input', + label: '外包公司名称', + hidden:idNumberDisabled as any + }, + isFiling:{ + type: 'radioGroup', + label: '是否备案', + options:dictSelectNodes('IsOrNot'), + }, idNumber: { type: 'input', label: '保安服务许可证', - componentsProps:{ - disabled:idNumberDisabled as any - } + // componentsProps:{ + // disabled:idNumberDisabled as any + // } }, serviceArea:{ type:'inputNumber', @@ -372,6 +393,10 @@ const formItemOptions = ref{ await formRef.value.validate() @@ -389,7 +414,9 @@ const submit = async()=>{ projectManagerMiniProgramUserId:formParams.value.projectManagerMiniProgramUserId, name: formParams.value.name, type:formParams.value.type, - isRecruitSecurity:formParams.value.isRecruitSecurity, + twoType: formParams.value.twoType, + outsourceName:formParams.value.outsourceName, + isFiling:formParams.value.isFiling, idNumber: formParams.value.idNumber, serviceArea:formParams.value.serviceArea, buildingTotal:formParams.value.buildingTotal, @@ -410,8 +437,7 @@ const closeModal = async()=>{ enterprisesUnitId:'', administrativeDivisionCodes:'', name:'', - type:'property', - isRecruitSecurity:0, + type:'security', idNumber:'', serviceArea:null, buildingTotal:null, @@ -420,10 +446,10 @@ const closeModal = async()=>{ securityUserTotal:null, remark:'' } - await formRef.value.resetFields() + formRef.value.resetFields() enterprisesUnitId.value = '' serviceTitle.value = '新增服务项目' - isRecruitSecurityHidden.value = false + // isRecruitSecurityHidden.value = false idNumberDisabled.value = false } const addServiceProjects = () => { From 735740bf8e8ad7341de2f14c432a08a427026dfd Mon Sep 17 00:00:00 2001 From: TimSpan Date: Mon, 18 Nov 2024 17:20:44 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E3=80=82=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- policeManagement/.env.development | 16 +++++++++------- policeManagement/components.d.ts | 5 +++++ policeManagement/src/views/query/index.tsx | 2 +- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/policeManagement/.env.development b/policeManagement/.env.development index 7252cf2..6b84780 100644 --- a/policeManagement/.env.development +++ b/policeManagement/.env.development @@ -12,11 +12,13 @@ VITE_APP_PROXY_URL=http://172.10.10.93:8765 # rsa 公钥 VITE_APP_RSA_PUBLIC_KEY=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJps/EXxxSpEM1Ix4R0NWIOBciHCr7P7coDT8tNKfelgR7txcJOqHCO/MIWe7T04aHQTcpQxqx9hMca7dbqz8TZpz9jvLzE/6ZonVKxHsoFnNlHMp1/CPAJ9f6D9wYicum2KltJkmQ0g//D9W2zPCYoGOmSRFcZx/KEBa4EM53jQIDAQAB -# 高德 -VITE_APP_GAODE_KEY=ca549d915cb38803582ca7e85c5f972c -VITE_APP_GAODE_VERSION=2.0 -VITE_APP_SECURITY_JS_CODE=f464462874676b3f1469780a62e5b921 - -# VITE_APP_GAODE_KEY=f379a3f860a68d7438526275d6a94b05 +# 高德 myx +# VITE_APP_GAODE_KEY=ca549d915cb38803582ca7e85c5f972c # VITE_APP_GAODE_VERSION=2.0 -# VITE_APP_SECURITY_JS_CODE=432125a0f8d8cad2dac38b77d6f6728f \ No newline at end of file +# VITE_APP_SECURITY_JS_CODE=f464462874676b3f1469780a62e5b921 + + +# 高德 lz +VITE_APP_GAODE_KEY=f379a3f860a68d7438526275d6a94b05 +VITE_APP_GAODE_VERSION=2.0 +VITE_APP_SECURITY_JS_CODE=432125a0f8d8cad2dac38b77d6f6728f \ No newline at end of file diff --git a/policeManagement/components.d.ts b/policeManagement/components.d.ts index 9373b1b..f757bec 100644 --- a/policeManagement/components.d.ts +++ b/policeManagement/components.d.ts @@ -10,10 +10,12 @@ declare module 'vue' { AAvatar: typeof import('ant-design-vue/es')['Avatar'] AButton: typeof import('ant-design-vue/es')['Button'] ACascader: typeof import('ant-design-vue/es')['Cascader'] + ACheckbox: typeof import('ant-design-vue/es')['Checkbox'] ACheckboxGroup: typeof import('ant-design-vue/es')['CheckboxGroup'] ACol: typeof import('ant-design-vue/es')['Col'] AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider'] ADatePicker: typeof import('ant-design-vue/es')['DatePicker'] + ADivider: typeof import('ant-design-vue/es')['Divider'] AdministrativeDivisionTree: typeof import('./src/components/tree/AdministrativeDivisionTree.vue')['default'] ADropdown: typeof import('ant-design-vue/es')['Dropdown'] AForm: typeof import('ant-design-vue/es')['Form'] @@ -30,6 +32,7 @@ declare module 'vue' { AMenuItem: typeof import('ant-design-vue/es')['MenuItem'] AModal: typeof import('ant-design-vue/es')['Modal'] APagination: typeof import('ant-design-vue/es')['Pagination'] + APopconfirm: typeof import('ant-design-vue/es')['Popconfirm'] APopover: typeof import('ant-design-vue/es')['Popover'] ARadioGroup: typeof import('ant-design-vue/es')['RadioGroup'] ARangePicker: typeof import('ant-design-vue/es')['RangePicker'] @@ -39,6 +42,8 @@ declare module 'vue' { ASpin: typeof import('ant-design-vue/es')['Spin'] ASubMenu: typeof import('ant-design-vue/es')['SubMenu'] ATable: typeof import('ant-design-vue/es')['Table'] + ATabPane: typeof import('ant-design-vue/es')['TabPane'] + ATabs: typeof import('ant-design-vue/es')['Tabs'] ATag: typeof import('ant-design-vue/es')['Tag'] ATextarea: typeof import('ant-design-vue/es')['Textarea'] ATimePicker: typeof import('ant-design-vue/es')['TimePicker'] diff --git a/policeManagement/src/views/query/index.tsx b/policeManagement/src/views/query/index.tsx index 1207abf..91f1519 100644 --- a/policeManagement/src/views/query/index.tsx +++ b/policeManagement/src/views/query/index.tsx @@ -24,7 +24,7 @@ const saveOrUpdateEnterprisesUnit = (params: _FormType, callback: Function) => { const _mapRef = ref>(null) const _formParams = ref<_FormType>({ ...params }) - let city = '全国' + let city = '' const initMarker = (map: AMap.Map) => { //添加maker点 设置point const maker = new AMap.Marker({ From 85db3000d93c6109441fcfd48f54b2c8d3c68ead Mon Sep 17 00:00:00 2001 From: TimSpan Date: Tue, 19 Nov 2024 11:36:39 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E5=8F=98=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../myEnterprisesUnit/myEnterprisesUnit.vue | 21 ++++----- .../projectDetails/projectDetails.vue | 46 ++++++++++--------- .../projectManager/myProject/index.ts | 12 +++-- 3 files changed, 44 insertions(+), 35 deletions(-) diff --git a/collect_information/src/subPages/police/myEnterprisesUnit/myEnterprisesUnit.vue b/collect_information/src/subPages/police/myEnterprisesUnit/myEnterprisesUnit.vue index e02963b..10b9a5c 100644 --- a/collect_information/src/subPages/police/myEnterprisesUnit/myEnterprisesUnit.vue +++ b/collect_information/src/subPages/police/myEnterprisesUnit/myEnterprisesUnit.vue @@ -3,7 +3,7 @@ {{ item?.name }} - 单位类型:{{ item?.type.label }} + 单位类型:{{ item?.type?.label }} 地址: @@ -15,18 +15,17 @@ - - - 项目名称:{{serviceProject.name}} - 项目类型:{{serviceProject.type.label}} - - - 项目负责人:{{serviceProject.projectManagerMiniProgramUserInfo?.name?serviceProject.projectManagerMiniProgramUserInfo?.name:'无分配项目经理'}} - - 责任单位:{{serviceProject.securityUnitName}} + + + 项目名称:{{ serviceProject.name }} + 项目类型:{{ serviceProject.type?.label }} + + 项目负责人:{{ serviceProject.projectManagerMiniProgramUserInfo?.name ? serviceProject.projectManagerMiniProgramUserInfo?.name : '无分配项目经理' }} + + 责任单位:{{ serviceProject.securityUnitName }} + - diff --git a/collect_information/src/subPages/police/myEnterprisesUnit/projectDetails/projectDetails.vue b/collect_information/src/subPages/police/myEnterprisesUnit/projectDetails/projectDetails.vue index 306fcdd..d71dd8a 100644 --- a/collect_information/src/subPages/police/myEnterprisesUnit/projectDetails/projectDetails.vue +++ b/collect_information/src/subPages/police/myEnterprisesUnit/projectDetails/projectDetails.vue @@ -2,14 +2,12 @@ - + {{ enterprisesUnitName }}-----{{ serviceProject?.name }}项目 - - 经理名称:{{ serviceProject?.projectManagerMiniProgramUserInfo.name }} - + 经理名称:{{ serviceProject?.projectManagerMiniProgramUserInfo.name }} 手机号:{{ serviceProject?.projectManagerMiniProgramUserInfo.telephone }} @@ -47,26 +45,33 @@ 项目人员 - - + - + 姓名:{{ item?.name ? item?.name : '创建者' }} 性别:{{ item.sex?.label ? item.sex?.label : ' 隐藏' }} 职位:{{ item.workPost ? item.workPost : '创建者' }} - + 保安证件:{{ item.securityNumber ? item.securityNumber : '无' }} 出生年月:{{ dayjs(item.dateOfBirth).format('YYYY-MM-DD') }} - + 创建时间:{{ item.createTime }} - 身份证:{{ item.idCard }} + 身份证:{{ item.idCard?.desensitizedValue }} @@ -74,16 +79,15 @@ -