bug修复

This commit is contained in:
THK3121 2023-07-18 09:02:53 +08:00
parent 338a313da1
commit 7a3a12285b
4 changed files with 100 additions and 96 deletions
src/views
company
permission/admin

@ -424,8 +424,10 @@
</el-row>
</el-col>
<el-col :span="24" class="el-card pt-6">
<el-form-item label="" prop="field139">
<el-button type="primary" :disabled="isDisabled" size="medium" @click="create"> 创建 </el-button>
<el-form-item label="" prop="field139">
<el-button v-if="isEdit" type="primary" size="medium" @click="create"> 修改 </el-button>
<el-button v-else type="primary" :disabled="isDisabled" size="medium" @click="create"> 创建 </el-button>
</el-form-item>
</el-col>
</el-form>
@ -450,7 +452,7 @@ const { removeTab } = useMultipleTabs()
const router = useRouter()
const route = useRoute()
let isDisabled=ref(false)
let isEdit=ref(false)
defineProps({
dictData: {
type: Object as PropType<Record<string, any[]>>,
@ -461,9 +463,8 @@ const emit = defineEmits(['success', 'close'])
const formRef = shallowRef<FormInstance>()
const popupRef = shallowRef<InstanceType<typeof Popup>>()
const mode = ref()
if(route.query.read){
isDisabled=true
}
isDisabled=route.query.read
isEdit=route.query.edit
//
// const popupTitle = computed(() => {
// return mode.value == 'edit' ? '' : ''
@ -747,18 +748,10 @@ defineExpose({
getDetail
})
</script>
<style scoped>
.avatar-uploader .avatar {
width: 178px;
height: 178px;
display: block;
}
</style>
<style>
.avatar-uploader .el-upload {
width: 170px;
height: 108px;
width: 10vw;
height: 6.3vw;
background-color: #fff;
border: 1px dashed var(--el-border-color);
border-radius: 6px;

@ -139,7 +139,9 @@
:to="{
path: getRoutePath('company/add:edit'),
query: {
id: row.id
id: row.id,
edit:true
}
}"
>

@ -187,7 +187,7 @@
:data="{ cid: 1 }"
action="https://worker-task.lihaink.cn/api/upload/image"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:on-success="handleAvatarSuccessIdA"
:before-upload="beforeAvatarUpload"
>
<img
@ -205,7 +205,7 @@
:data="{ cid: 1 }"
action="https://worker-task.lihaink.cn/api/upload/image"
:show-file-list="false"
:on-success="handleAvatarSuccessB"
:on-success="handleAvatarSuccessIdB"
:before-upload="beforeAvatarUpload"
>
<img
@ -227,8 +227,7 @@
:data="{ cid: 1 }"
action="https://worker-task.lihaink.cn/api/upload/image"
:show-file-list="false"
:on-success="handleAvatarSuccess_two"
:before-upload="beforeAvatarUpload_two"
:on-success="handleAvatarSuccessCarA"
>
<img
v-if="formData.qualification.car_card"
@ -240,17 +239,17 @@
</el-icon>
</el-upload>
<el-upload
v-model="formData.qualification.car_cardb"
v-model="formData.qualification.car_card_b"
class="avatar-uploader"
:data="{ cid: 1 }"
action="https://worker-task.lihaink.cn/api/upload/image"
:show-file-list="false"
:on-success="handleAvatarSuccess_twoB"
:on-success="handleAvatarSuccessCarB"
:before-upload="beforeAvatarUpload_two"
>
<img
v-if="formData.qualification.car_cardb"
:src="formData.qualification.car_cardb"
v-if="formData.qualification.car_card_b"
:src="formData.qualification.car_card_b"
class="avatar"
/>
<el-icon v-else class="avatar-uploader-icon">
@ -267,7 +266,7 @@
:data="{ cid: 1 }"
action="https://worker-task.lihaink.cn/api/upload/image"
:show-file-list="false"
:on-success="handleAvatarSuccess_three"
:on-success="handleAvatarSuccessBankA"
:before-upload="beforeAvatarUpload_three"
>
<img
@ -280,17 +279,17 @@
</el-icon>
</el-upload>
<el-upload
v-model="formData.qualification.car_card_b"
v-model="formData.qualification.bank_account_b"
class="avatar-uploader"
:data="{ cid: 1 }"
action="https://worker-task.lihaink.cn/api/upload/image"
:show-file-list="false"
:on-success="handleAvatarSuccess_threeB"
:on-success="handleAvatarSuccessBankB"
:before-upload="beforeAvatarUpload_three"
>
<img
v-if="formData.qualification.car_card_b"
:src="formData.qualification.car_card_b"
v-if="formData.qualification.bank_account_b"
:src="formData.qualification.bank_account_b"
class="avatar"
/>
<el-icon v-else class="avatar-uploader-icon">
@ -373,14 +372,13 @@
v-model="formData.contract"
placeholder="请选择合同"
clearable
@change="street_change"
:style="{ width: '100%' }"
>
<el-option
v-for="(item, index) in datas.contract"
:key="index"
:label="item.street_name"
:value="item.street_code"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
@ -511,13 +509,11 @@ const formData = reactive({
is_contract: 0,
role_id: '',
avatar: '',
password: '',
password_confirm: '',
disable: 0,
multipoint_login: 1,
root: 0
})
const datas = reactive({
//
const datas:any = reactive({
provinceOptions: [],
cityOptions: [],
areaOptions: [],
@ -532,20 +528,36 @@ const getcontract_type = async () => {
}
//
const getcontract=async ()=>{
const data=await dictDataLists({ type_id: formData.contract_type })
// console.log(data)
// console.log(formData.contract_type)
const data=await dictDataLists({ type_id: 9 })
datas['contract'] = data['lists']
}
// const passwordConfirmValidator = (rule: object, value: string, callback: any) => {
// if (formData.password) {
// if (!value) callback(new Error(''))
// if (value !== formData.password) callback(new Error('!'))
// }
// callback()
// }
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 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 Validatorcard = (rule: object, value: string, callback: any) => {
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('请输入驾驶证反面'))
}
const ValidatorBankcard = (rule: object, value: string, callback: any) => {
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('请输入银行卡反面'))
}
const formRules = reactive({
account: [
{
@ -557,16 +569,17 @@ const formRules = reactive({
id_card:[
{
required: true,
message: '请输入身份证账号',
trigger: ['blur']
trigger: ['blur'],
validator:ValidatorId
}
],
phone:[
{
required: true,
message: '请输入电话号码',
trigger: ['blur']
trigger: ['blur'],
validator:ValidatorPhone
}
],
@ -585,6 +598,33 @@ const formRules = reactive({
trigger: ['blur']
}
],
car_card:[
{
required: true,
trigger: ['change'],
validator:Validatorcard
}
],
car_card_b:[
{
required: true,
trigger: ['blur'],
validator:ValidatorcardB
}
],
bank_account:[
{
required: true,
trigger: ['change'],
validator:ValidatorBankcard
}
],bank_account_b:[
{
required: true,
trigger: ['change'],
validator:ValidatorBankcardB
}
],
role_id: [
{
@ -592,25 +632,7 @@ const formRules = reactive({
message: '请选择角色',
trigger: ['blur']
}
],
password: [
{
required: true,
message: '请输入密码',
trigger: ['blur']
}
] as any[],
password_confirm: [
{
required: true,
message: '请输入确认密码',
trigger: ['blur']
},
// {
// validator: passwordConfirmValidator,
// trigger: 'blur'
// }
] as any[]
]
})
@ -635,9 +657,8 @@ const { optionsData } = useDictOptions<{
const handleSubmit = async () => {
await formRef.value?.validate()
console.log(formData)
return
mode.value == 'edit' ? await adminEdit(formData) : await adminAdd(formData)
mode.value == 'edit' ? await adminEdit(formData) : await adminAdd(formData).then(res=>console.log(res))
popupRef.value?.close()
emit('success')
}
@ -646,30 +667,27 @@ const open = (type = 'add') => {
mode.value = type
popupRef.value?.open()
}
const handleAvatarSuccess: UploadProps['onSuccess'] = (response, uploadFile) => {
// url
const handleAvatarSuccessIdA: UploadProps['onSuccess'] = (response, uploadFile) => {
formData.qualification.id_card = response.data.uri
}
const handleAvatarSuccessB: UploadProps['onSuccess'] = (response, uploadFile) => {
const handleAvatarSuccessIdB: UploadProps['onSuccess'] = (response, uploadFile) => {
formData.qualification.id_card_b = response.data.uri
}
const beforeAvatarUpload: UploadProps['beforeUpload'] = (rawFile) => {
return true
}
const handleAvatarSuccess_two: UploadProps['onSuccess'] = (response, uploadFile) => {
const handleAvatarSuccessCarA: UploadProps['onSuccess'] = (response, uploadFile) => {
formData.qualification.car_card = response.data.uri
}
const handleAvatarSuccess_twoB: UploadProps['onSuccess'] = (response, uploadFile) => {
const handleAvatarSuccessCarB: UploadProps['onSuccess'] = (response, uploadFile) => {
formData.qualification.car_card_b = response.data.uri
}
const beforeAvatarUpload_two: UploadProps['beforeUpload'] = (rawFile) => {
return true
}
const handleAvatarSuccess_three: UploadProps['onSuccess'] = (response, uploadFile) => {
const handleAvatarSuccessBankA: UploadProps['onSuccess'] = (response, uploadFile) => {
formData.qualification.bank_account = response.data.uri
}
const handleAvatarSuccess_threeB: UploadProps['onSuccess'] = (response, uploadFile) => {
formData.qualification.car_card_b = response.data.uri
const handleAvatarSuccessBankB: UploadProps['onSuccess'] = (response, uploadFile) => {
formData.qualification.bank_account_b = response.data.uri
}
const handleAvatarSuccess_four: UploadProps['onSuccess'] = (response, uploadFile) => {
formData.file = response.data.uri
@ -715,7 +733,7 @@ const setFormData = async (row: any) => {
const data = await adminDetail({
id: row.id
})
console.log(row)
for (const key in formData) {
if (data[key] != null && data[key] != undefined) {
//@ts-ignore
@ -734,19 +752,11 @@ defineExpose({
setFormData
})
</script>
<style scoped>
.avatar-uploader .avatar {
width: 178px;
height: 178px;
display: block;
}
</style>
<style>
.avatar-uploader .el-upload {
width: 170px;
height: 108px;
width: 10vw;
height: 6.3vw;
background-color: #fff;
border: 1px dashed var(--el-border-color);
border-radius: 6px;

@ -154,7 +154,6 @@ const handleAdd = async () => {
}
const handleEdit = async (data: any) => {
showEdit.value = true
await nextTick()
editRef.value?.open('edit')