增加项目成本页面

This commit is contained in:
砂糖
2025-10-14 13:58:33 +08:00
parent d0520e7872
commit de492664c3
10 changed files with 715 additions and 297 deletions

View File

@@ -31,11 +31,11 @@
<view class="drawer-form">
<view class="drawer-form-item">
<text class="drawer-label">手机号</text>
<uni-easyinput v-model="queryParams.phonenumber" placeholder="请输入手机号" />
<uni-easyinput v-model="queryParams.phonenumber" placeholder="请输入手机号" />
</view>
<view class="drawer-form-item">
<text class="drawer-label">状态</text>
<oa-dict-select v-model="queryParams.status" dictType="sys_normal_disable"/>
<oa-dict-select v-model="queryParams.status" dictType="sys_normal_disable" />
</view>
</view>
<view class="drawer-btns">
@@ -94,7 +94,7 @@
</view>
<view class="uni-form-item">
<text class="uni-form-label">用户名称</text>
<uni-easyinput v-model="form.userName" placeholder="请输入用户名称" />
<uni-easyinput v-model="form.userName" placeholder="请输入用户名称" />
</view>
<view class="uni-form-item" v-if="form.userId">
<text class="uni-form-label">用户密码</text>
@@ -106,11 +106,11 @@
</view>
<view class="uni-form-item">
<text class="uni-form-label">薪资</text>
<uni-easyinput v-model="form.laborCost" placeholder="请输入薪资(工人为日薪)" />
<uni-easyinput v-model="form.laborCost" placeholder="请输入薪资(工人为日薪)" />
</view>
<view class="uni-form-item">
<text class="uni-form-label">保险金</text>
<uni-easyinput v-model="form.insure" placeholder="请输入保险金" />
<uni-easyinput v-model="form.insure" placeholder="请输入保险金" />
</view>
<view class="uni-form-item">
<text class="uni-form-label">岗位</text>
@@ -130,6 +130,9 @@
</view>
</view>
<view class="popup-btns">
<text v-if="!form.userId">
<u-switch v-model="useIM"></u-switch>同时注册IM账号
</text>
<u-button type="primary" @click="submitForm">确定</u-button>
<u-button @click="closePopup">取消</u-button>
</view>
@@ -151,9 +154,16 @@
updateUser
} from "@/api/oa/user";
import {
businessSendSms,
businessVerifyCode,
businessRegister
} from '@/api/login'
export default {
data() {
return {
useIM: true,
// 查询参数
queryParams: {
pageNum: 1,
@@ -222,24 +232,24 @@
console.log(res.data, '部门数据')
// 递归转换函数value直接使用原id
function transformStructure(source) {
// 处理单个节点的转换
function transformNode(node) {
// 基础转换text映射labelvalue直接使用原id
const transformed = {
text: node.label,
value: node.id // 直接使用原始id作为value
};
// 递归处理子节点(如果存在)
if (node.children && node.children.length > 0) {
transformed.children = node.children.map(child => transformNode(child));
}
return transformed;
}
// 处理整个数组
return source.map(item => transformNode(item));
// 处理单个节点的转换
function transformNode(node) {
// 基础转换text映射labelvalue直接使用原id
const transformed = {
text: node.label,
value: node.id // 直接使用原始id作为value
};
// 递归处理子节点(如果存在)
if (node.children && node.children.length > 0) {
transformed.children = node.children.map(child => transformNode(child));
}
return transformed;
}
// 处理整个数组
return source.map(item => transformNode(item));
}
this.deptOptions = transformStructure(res.data)
})
@@ -348,7 +358,7 @@
this.form = {}
this.$refs.popupRef.open('bottom')
})
},
handleUpdate(row) {
getUser(row.userId).then(res => {
@@ -402,7 +412,46 @@
this.getList()
})
} else {
addUser(this.form).then(() => {
const phoneNumber = this.form.phoneNumber;
addUser(this.form).then(async () => {
if (useIM) {
// 1. 发送验证码
const res = await businessSendSms({
phoneNumber,
areaCode: "+86",
usedFor: 1, // 表示注册
})
if (res.errCode != 0) {
throw new Error(res.errMsg)
}
// 2. 检查验证码
const verifyRes = await businessVerifyCode({
phoneNumber,
areaCode: "+86",
usedFor: 1, // 表示注册
verifyCode: '666666', // 固定的验证码
})
if (verifyRes.errCode != 0) {
throw new Error(verifyRes.errMsg)
}
// // 3. 注册账号
const registerRes = await businessRegister({
verifyCode: '666666', // 固定的验证码
platform: 2, // 表示不是苹果
autoLogin: true,
user: {
phoneNumber,
areaCode: "+86",
nickname: this.form.nickName,
password: md5('FAD888888'),
confirmPassword: 'FAD888888',
},
})
if (registerRes.errCode != 0) {
this.$modal.msgError(registerRes.errMsg)
throw new Error(registerRes.errMsg)
}
}
uni.showToast({
title: '新增成功',
icon: 'success'