mirror of
https://gitee.com/krxd/shuyuan.git
synced 2026-04-08 13:25:54 +08:00
修改bug
This commit is contained in:
@@ -3,41 +3,62 @@
|
||||
<u-form labelPosition="left" :model="formData" errorType='toast' :rules="rules" ref="formRef" labelWidth="180rpx">
|
||||
<view class="sidebar-margin card-template mt-[var(--top-m)] py-[20rpx]">
|
||||
<view>
|
||||
<u-form-item :label="t('name')" prop="name" required borderBottom>
|
||||
<u-input fontSize="28rpx" v-model.trim="formData.name" border="none" clearable placeholderStyle="color: #888" :placeholder="t('namePlaceholder')"/>
|
||||
<u-form-item :label="t('code')" prop="code" required borderBottom>
|
||||
<u-input fontSize="28rpx" v-model.trim="formData.code" disabled clearable placeholderStyle="color: #888" :placeholder="t('codePlaceholderNew')"/>
|
||||
</u-form-item>
|
||||
</view>
|
||||
<view class="mt-[16rpx]">
|
||||
<u-form-item :label="t('name')" prop="name" required borderBottom>
|
||||
<u-input fontSize="28rpx" v-model.trim="formData.name" clearable placeholderStyle="color: #888" :placeholder="t('namePlaceholder')"/>
|
||||
</u-form-item>
|
||||
</view>
|
||||
<view class="mt-[16rpx]">
|
||||
<up-form-item :label="'仓库'" prop="warehouse_id" required borderBottom>
|
||||
<!-- #ifdef H5 -->
|
||||
<zxz-uni-data-select v-model="formData.warehouse_id" :localdata="warehouseList" dataKey="name"
|
||||
dataValue="id" clear placeholder="请选择仓库" @change="warehouseIdChange" />
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<wht-select v-model="formData.warehouse_id" :options="warehouseList" dataKey="name"
|
||||
dataValue="id" clearable placeholder="请选择仓库" :height="38" @change="warehouseIdChange" />
|
||||
<!-- #endif -->
|
||||
</up-form-item>
|
||||
</view>
|
||||
<view class="mt-[16rpx]">
|
||||
<u-form-item :label="t('contact')" prop="contact" required borderBottom>
|
||||
<u-input fontSize="28rpx" v-model="formData.contact" :placeholder="t('contactPlaceholder')" border="none"></u-input>
|
||||
<u-input fontSize="28rpx" v-model="formData.contact" :placeholder="t('contactPlaceholder')" ></u-input>
|
||||
</u-form-item>
|
||||
</view>
|
||||
<view class="mt-[16rpx]">
|
||||
<u-form-item :label="t('phone')" prop="phone" required borderBottom>
|
||||
<u-input fontSize="28rpx" v-model.trim="formData.phone" type="number" maxlength="11" border="none" clearable :placeholder="t('phonePlaceholder')" placeholderStyle="color: #888"/>
|
||||
<u-input fontSize="28rpx" v-model.trim="formData.phone" type="number" maxlength="11" clearable :placeholder="t('phonePlaceholder')" placeholderStyle="color: #888"/>
|
||||
</u-form-item>
|
||||
</view>
|
||||
<view class="mt-[16rpx]">
|
||||
<u-form-item :label="t('telephone')" prop="telephone" borderBottom>
|
||||
<u-input fontSize="28rpx" v-model="formData.telephone" :placeholder="t('telephonePlaceholder')" border="none"></u-input>
|
||||
<u-input fontSize="28rpx" v-model="formData.telephone" :placeholder="t('telephonePlaceholder')" ></u-input>
|
||||
</u-form-item>
|
||||
</view>
|
||||
<view class="mt-[16rpx]">
|
||||
<u-form-item :label="t('city')" prop="cityName" borderBottom>
|
||||
<view class="flex w-full items-center h-[52rpx]" @click="selectArea">
|
||||
<view v-if="!formData.cityName" class="text-[#888] text-[28rpx] flex-1">{{ t('cityPlaceholder') }}</view>
|
||||
<view v-else class="text-[28rpx] flex-1 leading-[1.4]">{{ formData.cityName }}</view>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<up-form-item :label="'食堂审领人'" prop="salesman_id" borderBottom>
|
||||
<!-- #ifdef H5 -->
|
||||
<zxz-uni-data-select v-model="formData.salesman_id" :localdata="siteUser" dataKey="username"
|
||||
dataValue="uid" clear placeholder="请选择食堂审领人" @change="salesmanIdChange" />
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-WEIXIN -->
|
||||
<wht-select v-model="formData.salesman_id" :options="siteUser" dataKey="username"
|
||||
dataValue="uid" clearable placeholder="请选择食堂审领人" :height="38" @change="salesmanIdChange" />
|
||||
<!-- #endif -->
|
||||
</up-form-item>
|
||||
</view>
|
||||
<view class="mt-[16rpx]">
|
||||
<u-form-item :label="t('address')" prop="address" borderBottom>
|
||||
<u-input fontSize="28rpx" v-model="formData.address" border="none" clearable maxlength="120" :placeholder="t('addressPlaceholder')" placeholderStyle="color: #888"/>
|
||||
<u-input fontSize="28rpx" v-model="formData.address" clearable maxlength="120" :placeholder="t('addressPlaceholder')" placeholderStyle="color: #888"/>
|
||||
</u-form-item>
|
||||
</view>
|
||||
<view class="mt-[16rpx]">
|
||||
<u-form-item :label="t('description')" prop="description">
|
||||
<u-textarea fontSize="28rpx" v-model="formData.description" :placeholder="t('descriptionPlaceholder')" border="none"></u-textarea>
|
||||
<u-textarea fontSize="28rpx" v-model="formData.description" :placeholder="t('descriptionPlaceholder')" ></u-textarea>
|
||||
</u-form-item>
|
||||
</view>
|
||||
</view>
|
||||
@@ -56,10 +77,18 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { onLoad, onReady, onShow } from '@dcloudio/uni-app';
|
||||
import { t } from '@/locale'
|
||||
import { addCustomer } from '@/addon/erp/api/base';
|
||||
import { addCustomer,getusersList,getWarehouseSelect} from '@/addon/erp/api/base';
|
||||
import { generatedCode } from '@/addon/erp/utils/common';
|
||||
import { redirect } from '@/utils/common';
|
||||
import { checkBtnPermission } from '@/utils/auth';
|
||||
import useMemberStore from '@/stores/member'
|
||||
interface Warehouse {
|
||||
id: number;
|
||||
name: string;
|
||||
}
|
||||
const memberStore = useMemberStore()
|
||||
|
||||
const formRef: any = ref(null)
|
||||
const loading = ref(false)
|
||||
@@ -67,14 +96,28 @@
|
||||
const areaRef = ref()
|
||||
const isSelectAddress = ref(false)
|
||||
|
||||
const warehouseList = ref<Warehouse[]>([]);
|
||||
|
||||
const rules = computed(() => {
|
||||
return {
|
||||
'name': {
|
||||
// 'code': {
|
||||
// type: 'string',
|
||||
// required: true,
|
||||
// message: t('codePlaceholderNew'),
|
||||
// trigger: ['blur', 'change'],
|
||||
// },
|
||||
'name': {
|
||||
type: 'string',
|
||||
required: true,
|
||||
message: t('namePlaceholder'),
|
||||
trigger: ['blur', 'change'],
|
||||
},
|
||||
'warehouse_id': {
|
||||
type: 'number',
|
||||
required: true,
|
||||
message: '请选择仓库',
|
||||
trigger: ['change'],
|
||||
},
|
||||
'contact': {
|
||||
type: 'string',
|
||||
required: true,
|
||||
@@ -109,16 +152,31 @@
|
||||
telephone: '',
|
||||
city: '',
|
||||
cityName: '',
|
||||
salesman_id: '',
|
||||
warehouse_id: '',
|
||||
address: '',
|
||||
description: ''
|
||||
})
|
||||
|
||||
|
||||
onLoad((option : any) => {
|
||||
getAllUserList()
|
||||
getWarehouseSelectList()
|
||||
})
|
||||
const getWarehouseSelectList= ()=>{
|
||||
getWarehouseSelect().then(res =>{
|
||||
warehouseList.value=res.data|| []
|
||||
})
|
||||
}
|
||||
const warehouseIdChange = (e : any) => {
|
||||
formData.warehouse_id = e?.id ||''
|
||||
if (formRef.value) {
|
||||
formRef.value.validateField('warehouse_id');
|
||||
}
|
||||
}
|
||||
const selectArea = () => {
|
||||
isSelectAddress.value = true
|
||||
areaRef.value.open()
|
||||
}
|
||||
|
||||
const areaSelectComplete = (event: any) => {
|
||||
let cityArr = [] as any[];
|
||||
cityArr = [event.province.id || 0, event.city.id || 0, event.district.id || 0];
|
||||
@@ -127,9 +185,31 @@
|
||||
formData.cityName = `${event.province.name || ''}${event.city.name || ''}${event.district.name || ''}`
|
||||
isSelectAddress.value = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 食堂审领人
|
||||
*/
|
||||
const siteUser = ref<any[]>([]);
|
||||
const salesmanIdChange = (e : any) => {
|
||||
formData.salesman_id = e?.uid || ''
|
||||
if (formRef.value) {
|
||||
formRef.value.validateField('salesman_id');
|
||||
}
|
||||
}
|
||||
// 获取食堂审领人
|
||||
const getAllUserList = () => {
|
||||
getusersList({page:1,limit:120}).then((res : any) => {
|
||||
siteUser.value = res.data.data || [];
|
||||
}).catch(err => {
|
||||
// 如果是4001,没有绑定企业账号,强制跳转绑定
|
||||
if (err.code == 4001) {
|
||||
redirect({ url: '/addon/erp/pages/member/bind' })
|
||||
}
|
||||
})
|
||||
}
|
||||
// 保存
|
||||
const handSave = () => {
|
||||
const handSave = async() => {
|
||||
const hasPermission = await checkBtnPermission(memberStore.btnPermission, 'erp_base_customer_add')
|
||||
if (!hasPermission) return
|
||||
formRef.value.validate().then(() => {
|
||||
if (loading.value) return
|
||||
loading.value = true
|
||||
|
||||
Reference in New Issue
Block a user