diff --git a/src/api/contract.ts b/src/api/contract.ts new file mode 100644 index 0000000..043e417 --- /dev/null +++ b/src/api/contract.ts @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +// 合同列表 +export function apiContractLists(params: any) { + return request.get({ url: '/contract.contract/lists', params }) +} + +// 添加合同 +export function apiContractAdd(params: any) { + return request.post({ url: '/contract.contract/add', params }) +} + +// 编辑合同 +export function apiContractEdit(params: any) { + return request.post({ url: '/contract.contract/edit', params }) +} + +// 删除合同 +export function apiContractDelete(params: any) { + return request.post({ url: '/contract.contract/delete', params }) +} + +// 合同详情 +export function apiContractDetail(params: any) { + return request.get({ url: '/contract.contract/detail', params }) +} \ No newline at end of file diff --git a/src/views/company/index.vue b/src/views/company/index.vue index 87a4f26..fc171d3 100644 --- a/src/views/company/index.vue +++ b/src/views/company/index.vue @@ -10,7 +10,7 @@ placeholder="请输入公司名称" /> - + - + - - - - - - - + :style="{ width: '100%' }" + > + + + - - - + v-model="queryParams.is_contract" + placeholder="是否签约" + clearable + :style="{ width: '100%' }" + > + + + 查询 @@ -100,7 +85,7 @@ 创建 - +
@@ -115,49 +100,50 @@ @@ -187,37 +173,29 @@ import EditPopup from './edit.vue' import { getRoutePath } from '@/router' const editRef = shallowRef>() +const route = useRoute() +const company_type_show = ref(true) // 是否显示编辑框 const showEdit = ref(false) // 查询条件 const queryParams = reactive({ - level_two: '', - level_one: '', company_name: '', - organization_code: '', - city: '', area: '', street: '', company_type: '', - master_name: '', - master_position: '', - master_phone: '', - master_email: '', - other_contacts: '', area_manager: '', // 是否签约 - is_contract: '', - account: '', - password: '', - deposit: '', - deposit_time: '', - qualification: '', - status: '' + is_contract: '' }) -const datas = reactive({ - dictTypeLists: [], +if (route.query.company_type) { + company_type_show.value = false + queryParams['company_type'] = route.query.company_type?.toString() || '' +} + +const datas = reactive({ + dictTypeLists: [] }) const getdictTypeLists = async () => { const data = await dictDataLists({ type_id: 6 }) @@ -241,21 +219,6 @@ const { pager, getLists, resetParams, resetPage } = usePaging({ params: queryParams }) -// 添加 -const handleAdd = async () => { - showEdit.value = true - await nextTick() - editRef.value?.open('add') -} - -// 编辑 -const handleEdit = async (data: any) => { - showEdit.value = true - await nextTick() - editRef.value?.open('edit') - editRef.value?.setFormData(data) -} - // 删除 const handleDelete = async (id: number | any[]) => { await feedback.confirm('确定要删除?') @@ -266,8 +229,7 @@ const handleDelete = async (id: number | any[]) => { getLists() diff --git a/src/views/contract/edit.vue b/src/views/contract/edit.vue new file mode 100644 index 0000000..9db2cba --- /dev/null +++ b/src/views/contract/edit.vue @@ -0,0 +1,162 @@ + + + diff --git a/src/views/contract/index.vue b/src/views/contract/index.vue new file mode 100644 index 0000000..7f3921c --- /dev/null +++ b/src/views/contract/index.vue @@ -0,0 +1,179 @@ + + + diff --git a/src/views/permission/admin/edit.vue b/src/views/permission/admin/edit.vue index 8e1cd53..3e2ddb3 100644 --- a/src/views/permission/admin/edit.vue +++ b/src/views/permission/admin/edit.vue @@ -40,11 +40,14 @@ :style="{ width: '100%' }" > --> - - - - - + + + + @@ -161,7 +164,6 @@ v-model="formData.role_id" :disabled="formData.root == 1" class="flex-1" - placeholder="请选择授权身份" clearable > @@ -180,7 +182,7 @@ - + - + - + - @@ -348,23 +349,23 @@ - - - - - - + + + + + + @@ -384,11 +385,6 @@ - - - - - - - + -
@@ -499,13 +487,12 @@ const formData = reactive({ car_card_b: '', bank_account: '', bank_account_b: '' - }, // 合同类型 - contract_type:"", + contract_type: '', // 合同 - contract:"", - file:'', + contract: '', + file: '', is_contract: 0, role_id: '', avatar: '', @@ -513,50 +500,47 @@ const formData = reactive({ root: 0 }) // 字典信息 -const datas:any = reactive({ +const datas: any = reactive({ provinceOptions: [], cityOptions: [], areaOptions: [], streetOptions: [], dictTypeLists: [], contract_type: [], - contract:[] + contract: [] }) const getcontract_type = async () => { const data = await dictDataLists({ type_id: 7 }) datas['contract_type'] = data['lists'] } // 获取合同 -const getcontract=async ()=>{ - const data=await dictDataLists({ type_id: 9 }) +const getcontract = async () => { + const data = await dictDataLists({ type_id: 9 }) datas['contract'] = data['lists'] } getcontract_type() getcontract() // 手机号校验 const ValidatorPhone = (rule: object, value: string, callback: any) => { - let rg= /^(?:(?:\+|00)86)?1[3-9]\d{9}$/ - rg.test(formData.phone)?callback():callback(new Error('请输入正确的手机号')) + const rg = /^(?:(?:\+|00)86)?1[3-9]\d{9}$/ + rg.test(formData.phone) ? callback() : callback(new Error('请输入正确的手机号')) } // 身份证校验 const ValidatorId = (rule: object, value: string, callback: any) => { - let rg= /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/ - rg.test(formData.id_card)?callback():callback(new Error('请输入正确的身份证号码')) + const rg = /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/ + rg.test(formData.id_card) ? callback() : callback(new Error('请输入正确的身份证号码')) } const Validatorcard = (rule: object, value: string, callback: any) => { - formData.qualification.car_card?callback():callback(new Error('请输入驾驶证正面')) + formData.qualification.car_card ? callback() : callback(new Error('请输入驾驶证正面')) } const ValidatorcardB = (rule: object, value: string, callback: any) => { - formData.qualification.car_card_b?callback():callback(new Error('请输入驾驶证反面')) - + formData.qualification.car_card_b ? callback() : callback(new Error('请输入驾驶证反面')) } const ValidatorBankcard = (rule: object, value: string, callback: any) => { - formData.qualification.bank_account?callback():callback(new Error('请输入银行卡正面')) - + formData.qualification.bank_account ? callback() : callback(new Error('请输入银行卡正面')) } const ValidatorBankcardB = (rule: object, value: string, callback: any) => { - formData.qualification.bank_account_b?callback():callback(new Error('请输入银行卡反面')) - + formData.qualification.bank_account_b ? callback() : callback(new Error('请输入银行卡反面')) } const formRules = reactive({ account: [ @@ -566,31 +550,28 @@ const formRules = reactive({ trigger: ['blur'] } ], - id_card:[ + id_card: [ { required: true, trigger: ['blur'], - validator:ValidatorId - + validator: ValidatorId } - ], - phone:[ + phone: [ { required: true, trigger: ['blur'], - validator:ValidatorPhone + validator: ValidatorPhone } - ], - sex:[ + sex: [ { required: true, message: '请选择性别', trigger: ['blur'] } ], - + name: [ { required: true, @@ -598,36 +579,36 @@ const formRules = reactive({ trigger: ['blur'] } ], - car_card:[ + car_card: [ { required: true, trigger: ['change'], - validator:Validatorcard + validator: Validatorcard } ], - car_card_b:[ + car_card_b: [ { required: true, trigger: ['blur'], - validator:ValidatorcardB + validator: ValidatorcardB } ], - bank_account:[ + bank_account: [ { required: true, trigger: ['change'], - validator:ValidatorBankcard + validator: ValidatorBankcard } - ],bank_account_b:[ + ], + bank_account_b: [ { required: true, trigger: ['change'], - validator:ValidatorBankcardB + validator: ValidatorBankcardB } ], role_id: [ { - required: true, message: '请选择角色', trigger: ['blur'] @@ -635,10 +616,6 @@ const formRules = reactive({ ] }) - - - - const { optionsData } = useDictOptions<{ role: any[] jobs: any[] @@ -657,8 +634,9 @@ const { optionsData } = useDictOptions<{ const handleSubmit = async () => { await formRef.value?.validate() - return - mode.value == 'edit' ? await adminEdit(formData) : await adminAdd(formData).then(res=>console.log(res)) + mode.value == 'edit' + ? await adminEdit(formData) + : await adminAdd(formData).then((res) => console.log(res)) popupRef.value?.close() emit('success') } @@ -733,7 +711,7 @@ const setFormData = async (row: any) => { const data = await adminDetail({ id: row.id }) - + for (const key in formData) { if (data[key] != null && data[key] != undefined) { //@ts-ignore