fix: 我的计划和计划编辑优化
This commit is contained in:
@@ -16,11 +16,11 @@
|
||||
|
||||
<!-- 正文内容 -->
|
||||
<view class="week-plan-title">
|
||||
<view v-if="userInfo.nickName">姓名:<strong>{{ userInfo.nickName || userInfo.userName }}</strong></view>
|
||||
<!-- <view v-if="userInfo.nickName">姓名:<strong>{{ userInfo.nickName || userInfo.userName }}</strong></view>-->
|
||||
<view>{{ currentEditDate.yearMonth }} 第 <strong>{{ currentEditDate.weekNum }}</strong> 周</view>
|
||||
</view>
|
||||
<uni-forms ref="formRef" :model="weekPlanFormData" :rules="rules" label-width="100px" label-position="top">
|
||||
<block v-for="(item, index) in OrdinalDate">
|
||||
<view v-for="(item, index) in OrdinalDate">
|
||||
<view class="white-bg" :class="index==0?'white-bg-2':'white-bg-3'">
|
||||
<view class="w-b-title" @click="handleExpand(index)">
|
||||
{{ weekPlanFormData[item] }} {{ WeekCN[index] }}
|
||||
@@ -29,7 +29,8 @@
|
||||
</text>
|
||||
</view>
|
||||
|
||||
<view v-show="expandFlag[index]" class="form-con">
|
||||
<!--v-show="expandFlag[index]"-->
|
||||
<view class="form-con" :class="{'show': expandFlag[index], 'hidden': !expandFlag[index]}">
|
||||
<uni-forms-item label="工作类型" :name="getTypeField(index)" :required="index < workDays">
|
||||
<view class="form-picker">
|
||||
<picker @change="handleTypeChange" :range="WORK_TYPE" :data-field="getTypeField(index)">
|
||||
@@ -41,13 +42,13 @@
|
||||
</view>
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="内容" :name="getEventField(index)" :required="index < workDays">
|
||||
<uni-easyinput type="textarea" autoHeight v-model="weekPlanFormData[getEventField(index)]"
|
||||
<uni-easyinput type="textarea" v-model="weekPlanFormData[getEventField(index)]"
|
||||
placeholder="请输入" class="form-texarea"/>
|
||||
</uni-forms-item>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</uni-forms>
|
||||
|
||||
</view>
|
||||
@@ -62,7 +63,6 @@ import {useRoute} from "vue-router"
|
||||
import {useMessage} from "@/utils/message";
|
||||
import {onLoad} from "@dcloudio/uni-app";
|
||||
import {updateWeekPlanList, addPlan} from "@/api/crm/plan/updatePlan";
|
||||
import {getUserInfo} from "@/api/crm/plan/getPlan";
|
||||
import {getDate} from "@/utils/datetime";
|
||||
import {getWeek2, getCurrentWeekNum} from "./dateTimeUtils";
|
||||
|
||||
@@ -127,17 +127,10 @@ const workDays = 5;
|
||||
// const instance = getCurrentInstance().proxy;
|
||||
let instance = null;
|
||||
// 初始化创建任务
|
||||
let initCreate = (params)=>{
|
||||
let initCreate = (params) => {
|
||||
const {itemList, selectIndex} = params;
|
||||
// 获取用户信息
|
||||
// getUserInfo().then(res => {
|
||||
// userInfo.value = res.user;
|
||||
// console.log(route.path, ":用户信息获取成功");
|
||||
// }).catch(err => {
|
||||
// console.warn(err, "用户信息获取失败")
|
||||
// });
|
||||
console.log(route.path,`:创建${itemList[selectIndex]}计划`);
|
||||
title.value="创建周计划";
|
||||
console.log(route.path, `:创建${itemList[selectIndex]}计划`);
|
||||
title.value = "创建周计划";
|
||||
currentEditDate.value.yearMonth = getDate({format: true}).substring(0, 7); // 只要年月
|
||||
currentEditDate.value.weekNum = getCurrentWeekNum() + selectIndex; // 取巧做法,当期周则selectIndex为0,下周则selectIndex为1,用加法处理
|
||||
const week = getWeek2(itemList[selectIndex]); // 获取本周/下周一周日期
|
||||
@@ -147,11 +140,11 @@ let initCreate = (params)=>{
|
||||
const {year, month} = week;
|
||||
weekPlanFormData.value.year = year;
|
||||
weekPlanFormData.value.month = month;
|
||||
for(let index in OrdinalDate){
|
||||
for (let index in OrdinalDate) {
|
||||
let dateField = getDateField(index);
|
||||
weekPlanFormData.value[dateField] = week[dateField];
|
||||
// console.log(week[dateField]);
|
||||
if(index>=workDays){
|
||||
if (index >= workDays) {
|
||||
let typeField = getTypeField(index);
|
||||
weekPlanFormData.value[typeField] = "法定假日"; // TODO: 换成更规范代码
|
||||
workTypeIndex.value[typeField] = WORK_TYPE.indexOf("法定假日");
|
||||
@@ -180,7 +173,7 @@ onLoad((options) => {
|
||||
expandFlag.value[index] = editFields.includes(getTypeField(index)) || editFields.includes(getEventField(index));
|
||||
// console.log(index, expandFlag.value[index], "展开状态");
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
initCreate(data.param);
|
||||
}
|
||||
|
||||
@@ -203,7 +196,7 @@ function getEventField(index) {
|
||||
}
|
||||
|
||||
// 初始化校验规则
|
||||
(function bindRules(){
|
||||
(function bindRules() {
|
||||
for (let i in WorkType) {
|
||||
if (i < workDays) {
|
||||
rules[getTypeField(i)] = {
|
||||
@@ -253,25 +246,25 @@ const submitForm = async () => {
|
||||
// console.log('表单数据:', weekPlanFormData.value);
|
||||
|
||||
// 这里可以添加提交到服务器的代码
|
||||
if(!isAdd.value){ // 请求修改
|
||||
let res = await updateWeekPlanList(weekPlanFormData.value).catch(err=>{
|
||||
if (!isAdd.value) { // 请求修改
|
||||
let res = await updateWeekPlanList(weekPlanFormData.value).catch(err => {
|
||||
message.error('操作失败!');
|
||||
console.warn(err, "更新周计划失败");
|
||||
})
|
||||
message.success('修改成功!');
|
||||
setTimeout(()=>{
|
||||
setTimeout(() => {
|
||||
const eventChannel = instance.getOpenerEventChannel();
|
||||
eventChannel.emit('refreshData');
|
||||
uni.navigateBack()
|
||||
}, 500);
|
||||
}else{ // 请求新增
|
||||
console.log(weekPlanFormData.value,"新增计划");
|
||||
let res = await addPlan(weekPlanFormData.value).catch(err=>{
|
||||
} else { // 请求新增
|
||||
console.log(weekPlanFormData.value, "新增计划");
|
||||
let res = await addPlan(weekPlanFormData.value).catch(err => {
|
||||
message.error('操作失败!');
|
||||
console.error(err, "周计划新增失败");
|
||||
})
|
||||
message.success('保存成功!');
|
||||
setTimeout(()=>{
|
||||
setTimeout(() => {
|
||||
const eventChannel = instance.getOpenerEventChannel();
|
||||
eventChannel.emit('refreshData');
|
||||
uni.navigateBack()
|
||||
@@ -279,8 +272,8 @@ const submitForm = async () => {
|
||||
}
|
||||
} catch (err) {
|
||||
uni.showToast({
|
||||
icon:'none',
|
||||
title:"请完善内容",
|
||||
icon: 'none',
|
||||
title: "请完善内容",
|
||||
duration: 1500
|
||||
})
|
||||
console.log('表单验证失败:', err);
|
||||
@@ -301,6 +294,7 @@ const submitForm = async () => {
|
||||
.white-bg {
|
||||
width: 690rpx;
|
||||
margin: 0;
|
||||
padding-bottom: 0;
|
||||
border-radius: 8px 8px 0 0;
|
||||
}
|
||||
|
||||
@@ -309,7 +303,7 @@ const submitForm = async () => {
|
||||
}
|
||||
|
||||
.white-bg.white-bg-3 {
|
||||
border-top: 1rpx solid #E5E5E5;
|
||||
border-top: 1rpx solid #E5E5E5;
|
||||
border-radius: 0
|
||||
}
|
||||
|
||||
@@ -320,10 +314,17 @@ const submitForm = async () => {
|
||||
|
||||
.form-con {
|
||||
padding: 30rpx 0 0;
|
||||
height: 500rpx;
|
||||
overflow: hidden;
|
||||
transition: height 0.3s;
|
||||
}
|
||||
|
||||
:deep(.form-con .uni-forms-item) {
|
||||
margin-bottom: 22px !important;
|
||||
}
|
||||
|
||||
.hidden{
|
||||
height: 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user