|
@@ -34,9 +34,7 @@ const formRules = {
|
|
phone: [{
|
|
phone: [{
|
|
required: true,
|
|
required: true,
|
|
validator: (rule, value, callback) => {
|
|
validator: (rule, value, callback) => {
|
|
- if (value === '' && !formState.email) {
|
|
|
|
- callback(new Error('手机号码和邮箱至少填一个'));
|
|
|
|
- } else if (value && formState.areaCode === '86' && !isMobileNo(value || '')) {
|
|
|
|
|
|
+ if (value && formState.areaCode === '86' && !isMobileNo(value || '')) {
|
|
callback(new Error('请输入正确的手机号格式'));
|
|
callback(new Error('请输入正确的手机号格式'));
|
|
} else if (formState.areaCode !== '86' && isNaN(value?.trim())) {
|
|
} else if (formState.areaCode !== '86' && isNaN(value?.trim())) {
|
|
callback(new Error('请输入正确的手机号格式'));
|
|
callback(new Error('请输入正确的手机号格式'));
|
|
@@ -45,19 +43,6 @@ const formRules = {
|
|
}
|
|
}
|
|
}, trigger: 'blur'
|
|
}, trigger: 'blur'
|
|
}],
|
|
}],
|
|
- email: [{
|
|
|
|
- validator: (rule, value, callback) => {
|
|
|
|
- if (value === '' && !formState.phone) {
|
|
|
|
- callback(new Error('手机号码和邮箱至少填一个'));
|
|
|
|
- } else if (value && !patternEmail.test(value)) {
|
|
|
|
- callback(new Error('请输入正确的邮箱格式'));
|
|
|
|
- } else {
|
|
|
|
- callback();
|
|
|
|
- }
|
|
|
|
- }, trigger: 'blur'
|
|
|
|
- }],
|
|
|
|
- validTime: [{ required: true, message: '请选择有效期', trigger: 'change' }],
|
|
|
|
- company: [{ required: true, message: '所属公司不能为空', trigger: 'blur' }],
|
|
|
|
sellerId: [{ required: true, message: '请选择销售', trigger: 'change' }],
|
|
sellerId: [{ required: true, message: '请选择销售', trigger: 'change' }],
|
|
}
|
|
}
|
|
const showPhoneVal=computed({
|
|
const showPhoneVal=computed({
|
|
@@ -73,35 +58,23 @@ const formState = reactive({
|
|
realName: '',
|
|
realName: '',
|
|
areaCode: '86',
|
|
areaCode: '86',
|
|
phone: '',
|
|
phone: '',
|
|
- email: '',
|
|
|
|
sellerId: '',
|
|
sellerId: '',
|
|
- validTime: '',
|
|
|
|
- company: '',
|
|
|
|
isEnabled: false
|
|
isEnabled: false
|
|
|
|
|
|
})
|
|
})
|
|
|
|
|
|
-
|
|
|
|
-const checkedIds = ref([])
|
|
|
|
-
|
|
|
|
function getUserInfo() {
|
|
function getUserInfo() {
|
|
if (!userId.value) return
|
|
if (!userId.value) return
|
|
apiCustomerUser.userInfo({
|
|
apiCustomerUser.userInfo({
|
|
UserId: userId.value
|
|
UserId: userId.value
|
|
}).then(res => {
|
|
}).then(res => {
|
|
if (res.Ret === 200) {
|
|
if (res.Ret === 200) {
|
|
- const { Detail } = res.Data
|
|
|
|
|
|
+ const Detail = res.Data
|
|
formState.realName = Detail.RealName
|
|
formState.realName = Detail.RealName
|
|
formState.areaCode = Detail.AreaCode
|
|
formState.areaCode = Detail.AreaCode
|
|
- formState.phone = Detail.Phone
|
|
|
|
- formState.email = Detail.Email
|
|
|
|
|
|
+ formState.phone = Detail.Mobile
|
|
formState.sellerId = Detail.SellerDepartmentId||''
|
|
formState.sellerId = Detail.SellerDepartmentId||''
|
|
- formState.validTime = Detail.ValidStartTime?[dayjs(Detail.ValidStartTime).format('YYYY-MM-DD'), dayjs(Detail.ValidEndTime).format('YYYY-MM-DD')]:''
|
|
|
|
- formState.company = Detail.Company
|
|
|
|
formState.isEnabled = Detail.Status ? true : false
|
|
formState.isEnabled = Detail.Status ? true : false
|
|
- if(route.query.startTime){
|
|
|
|
- formState.validTime=[route.query.startTime,route.query.endTime]
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
@@ -112,7 +85,7 @@ const departmentList = ref([])
|
|
async function getSellerDepartment() {
|
|
async function getSellerDepartment() {
|
|
const res = await apiCustomerUser.sellerDepartmentList()
|
|
const res = await apiCustomerUser.sellerDepartmentList()
|
|
if (res.Ret === 200) {
|
|
if (res.Ret === 200) {
|
|
- departmentList.value = res.Data || []
|
|
|
|
|
|
+ departmentList.value = res.Data.List || []
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -146,13 +119,8 @@ async function handleSave(type) {
|
|
let params = {
|
|
let params = {
|
|
RealName: formState.realName,
|
|
RealName: formState.realName,
|
|
AreaCode: formState.areaCode,
|
|
AreaCode: formState.areaCode,
|
|
- Phone: formState.phone,
|
|
|
|
- Email: formState.email,
|
|
|
|
- SellerDepartmentId: formState.sellerId,
|
|
|
|
- ValidStartTime: formState.validTime?.[0],
|
|
|
|
- ValidEndTime: formState.validTime?.[1],
|
|
|
|
- Company: formState.company,
|
|
|
|
- ChartPermission: checkedIds.value
|
|
|
|
|
|
+ Mobile: formState.phone,
|
|
|
|
+ SellerId: formState.sellerId,
|
|
}
|
|
}
|
|
if (userId.value) {
|
|
if (userId.value) {
|
|
params.UserId = Number(userId.value)
|
|
params.UserId = Number(userId.value)
|
|
@@ -161,12 +129,11 @@ async function handleSave(type) {
|
|
// 新增用户时进行校验
|
|
// 新增用户时进行校验
|
|
const checkRes = await apiCustomerUser.userAddCheck({
|
|
const checkRes = await apiCustomerUser.userAddCheck({
|
|
AreaCode: formState.areaCode,
|
|
AreaCode: formState.areaCode,
|
|
- Phone: formState.phone,
|
|
|
|
- Email: formState.email,
|
|
|
|
|
|
+ Mobile: formState.phone,
|
|
})
|
|
})
|
|
if (checkRes.Ret !== 200) return
|
|
if (checkRes.Ret !== 200) return
|
|
- if (checkRes.Data) {
|
|
|
|
- userId.value = checkRes.Data.UserId
|
|
|
|
|
|
+ if (checkRes.Data.CheckResult !== 0) {
|
|
|
|
+ // userId.value = checkRes.Data.UserId
|
|
ElMessageBox.confirm(checkAddContent(checkRes.Msg),'操作提示',{
|
|
ElMessageBox.confirm(checkAddContent(checkRes.Msg),'操作提示',{
|
|
autofocus:false,
|
|
autofocus:false,
|
|
}).then(()=>{
|
|
}).then(()=>{
|
|
@@ -185,7 +152,7 @@ async function handleSave(type) {
|
|
}
|
|
}
|
|
if (res.Ret !== 200) return
|
|
if (res.Ret !== 200) return
|
|
ElMessage.success(userId.value ? '编辑成功' : '新增成功')
|
|
ElMessage.success(userId.value ? '编辑成功' : '新增成功')
|
|
- router.replace('/customer/userList')
|
|
|
|
|
|
+ router.replace('/customer/customer_list')
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@@ -205,9 +172,11 @@ async function handleSave(type) {
|
|
<el-form-item label="姓名" prop="realName">
|
|
<el-form-item label="姓名" prop="realName">
|
|
<el-input v-model="formState.realName" placeholder="请输入姓名" />
|
|
<el-input v-model="formState.realName" placeholder="请输入姓名" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="flex form-tr-box">
|
|
<el-form-item label="手机号" prop="phone">
|
|
<el-form-item label="手机号" prop="phone">
|
|
<el-select
|
|
<el-select
|
|
- v-model="formState.areaCode"
|
|
|
|
|
|
+ v-model="formState.areaCode"
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
style="width: 35%"
|
|
style="width: 35%"
|
|
>
|
|
>
|
|
@@ -226,11 +195,8 @@ async function handleSave(type) {
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</div>
|
|
</div>
|
|
<div class="flex form-tr-box">
|
|
<div class="flex form-tr-box">
|
|
- <el-form-item label="邮箱" prop="email">
|
|
|
|
- <el-input v-model="formState.email" placeholder="请输入邮箱" />
|
|
|
|
- </el-form-item>
|
|
|
|
<el-form-item label="营业部" prop="sellerId">
|
|
<el-form-item label="营业部" prop="sellerId">
|
|
- <!-- <all-user-for-depart
|
|
|
|
|
|
+ <all-user-for-depart
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
:props="{
|
|
:props="{
|
|
emitPath: false,
|
|
emitPath: false,
|
|
@@ -238,49 +204,22 @@ async function handleSave(type) {
|
|
onlySelectUser
|
|
onlySelectUser
|
|
v-model="formState.sellerId"
|
|
v-model="formState.sellerId"
|
|
placeholder="请选择营业部"
|
|
placeholder="请选择营业部"
|
|
- /> -->
|
|
|
|
|
|
+ />
|
|
<!-- handleFilterList -->
|
|
<!-- handleFilterList -->
|
|
- <el-select
|
|
|
|
|
|
+ <!-- <el-select
|
|
placeholder="请选择营业部"
|
|
placeholder="请选择营业部"
|
|
v-model="formState.sellerId"
|
|
v-model="formState.sellerId"
|
|
clearable
|
|
clearable
|
|
>
|
|
>
|
|
<el-option v-for="(item, index) in departmentList" :key="index" :label="item.SysDepartmentName" :value="item.SysDepartmentId"></el-option>
|
|
<el-option v-for="(item, index) in departmentList" :key="index" :label="item.SysDepartmentName" :value="item.SysDepartmentId"></el-option>
|
|
- </el-select>
|
|
|
|
|
|
+ </el-select> -->
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</div>
|
|
</div>
|
|
<div class="flex form-tr-box">
|
|
<div class="flex form-tr-box">
|
|
- <el-form-item label="有效期" prop="validTime">
|
|
|
|
- <el-date-picker
|
|
|
|
- style="width: 235px"
|
|
|
|
- v-model="formState.validTime"
|
|
|
|
- type="daterange"
|
|
|
|
- range-separator="至"
|
|
|
|
- start-placeholder="选择日期"
|
|
|
|
- end-placeholder="选择日期"
|
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
|
- />
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="所属公司" prop="company">
|
|
|
|
- <el-input
|
|
|
|
- v-model="formState.company"
|
|
|
|
- placeholder="请输入所属公司"
|
|
|
|
- />
|
|
|
|
- </el-form-item>
|
|
|
|
- </div>
|
|
|
|
- <div class="form-tr-box auth-box">
|
|
|
|
- <div class="auth-box-label">
|
|
|
|
- <span class="text">权限</span>
|
|
|
|
- <span v-if="$route.path !== '/customer/userAdd'">
|
|
|
|
- <span style="color: var(--el-color-danger)">*</span>
|
|
|
|
- <span>用户状态</span>
|
|
|
|
- <el-switch
|
|
|
|
- v-model="formState.isEnabled"
|
|
|
|
- style="margin-left: 5px"
|
|
|
|
- />
|
|
|
|
- </span>
|
|
|
|
|
|
+ <el-form-item label="权限">
|
|
|
|
+ 可查看所有报告
|
|
|
|
+ </el-form-item>
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
</el-form>
|
|
</el-form>
|
|
</div>
|
|
</div>
|
|
<div class="right-box">
|
|
<div class="right-box">
|
|
@@ -291,13 +230,13 @@ async function handleSave(type) {
|
|
<el-button
|
|
<el-button
|
|
type="primary"
|
|
type="primary"
|
|
plain
|
|
plain
|
|
- @click="router.replace('/customer/userList')"
|
|
|
|
|
|
+ @click="router.replace('/customer/customer_list')"
|
|
style="width: 120px"
|
|
style="width: 120px"
|
|
>取消</el-button
|
|
>取消</el-button
|
|
>
|
|
>
|
|
</div>
|
|
</div>
|
|
<!-- 操作记录 -->
|
|
<!-- 操作记录 -->
|
|
- <OperationRecord />
|
|
|
|
|
|
+ <OperationRecord v-else/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -315,7 +254,7 @@ async function handleSave(type) {
|
|
gap: 0 50px;
|
|
gap: 0 50px;
|
|
margin-bottom: 20px;
|
|
margin-bottom: 20px;
|
|
.el-form-item {
|
|
.el-form-item {
|
|
- width: 45%;
|
|
|
|
|
|
+ width: 100%;
|
|
max-width: 400px;
|
|
max-width: 400px;
|
|
}
|
|
}
|
|
}
|
|
}
|