|
@@ -28,12 +28,12 @@
|
|
|
:disabled="canSelect(item)" v-if="user.timeType.enableNewWeeklyfill == 1">{{ weekText(dateRange[index]) }}</van-button>
|
|
:disabled="canSelect(item)" v-if="user.timeType.enableNewWeeklyfill == 1">{{ weekText(dateRange[index]) }}</van-button>
|
|
|
</van-grid-item>
|
|
</van-grid-item>
|
|
|
<!-- 周总结 -->
|
|
<!-- 周总结 -->
|
|
|
- <van-grid-item v-if="user.timeType.enableNewWeeklyfill == 1" :class="999 == inbtn ? 'inbtn' : ''">
|
|
|
|
|
|
|
+ <van-grid-item v-if="user.timeType.enableNewWeeklyfill == 1 || user.timeType.enableNewWeeklyfill == 2" :class="999 == inbtn ? 'inbtn' : ''">
|
|
|
<van-button class="selectgxbtn"
|
|
<van-button class="selectgxbtn"
|
|
|
type="default"
|
|
type="default"
|
|
|
size="mini" @click="switchWeekly(999)">{{ user.companyId == wuqiId ? '周报' : '周总结' }}</van-button>
|
|
size="mini" @click="switchWeekly(999)">{{ user.companyId == wuqiId ? '周报' : '周总结' }}</van-button>
|
|
|
</van-grid-item>
|
|
</van-grid-item>
|
|
|
- <van-grid-item v-if="weekIndex != 7 && user.timeType.enableNewWeeklyfill != 1">
|
|
|
|
|
|
|
+ <van-grid-item v-if="weekIndex != 7 && user.timeType.enableNewWeeklyfill == 0">
|
|
|
<van-button type="default" size="mini" class="selectgxbtn" @click="addWeekIndex()" icon="plus"></van-button>
|
|
<van-button type="default" size="mini" class="selectgxbtn" @click="addWeekIndex()" icon="plus"></van-button>
|
|
|
</van-grid-item>
|
|
</van-grid-item>
|
|
|
<div class="kaoqin2" v-if="kaoqinText"><span>当日考勤:</span><span>{{kaoqinText}}</span></div>
|
|
<div class="kaoqin2" v-if="kaoqinText"><span>当日考勤:</span><span>{{kaoqinText}}</span></div>
|
|
@@ -231,20 +231,20 @@
|
|
|
<van-popup v-model="item.showPickDegree" position="bottom" @click-overlay="overlayPopup(index, 'showPickDegree')">
|
|
<van-popup v-model="item.showPickDegree" position="bottom" @click-overlay="overlayPopup(index, 'showPickDegree')">
|
|
|
<div class="chooseSomeone">
|
|
<div class="chooseSomeone">
|
|
|
<div class="chooseSomeoneFlex1">
|
|
<div class="chooseSomeoneFlex1">
|
|
|
- <!-- 复选 -->
|
|
|
|
|
- <van-radio-group v-model="item.radioPickDegree" v-if="!user.timeType.customDegreeMultiple" @change="$forceUpdate()">
|
|
|
|
|
|
|
+ <!-- 单选 -->
|
|
|
|
|
+ <van-radio-group v-model="currentPickDegree" v-if="!user.timeType.customDegreeMultiple">
|
|
|
<van-radio v-for="uitem in item.wuduList" :key="uitem.id" :name="uitem.id" style="padding:10px">
|
|
<van-radio v-for="uitem in item.wuduList" :key="uitem.id" :name="uitem.id" style="padding:10px">
|
|
|
{{ uitem.name ? uitem.name : '' }}
|
|
{{ uitem.name ? uitem.name : '' }}
|
|
|
</van-radio>
|
|
</van-radio>
|
|
|
</van-radio-group>
|
|
</van-radio-group>
|
|
|
<!-- 多选 -->
|
|
<!-- 多选 -->
|
|
|
- <van-checkbox-group v-model="item.radioPickDegree" v-if="user.timeType.customDegreeMultiple" @change="$forceUpdate()">
|
|
|
|
|
|
|
+ <van-checkbox-group v-model="currentPickDegree" v-if="user.timeType.customDegreeMultiple">
|
|
|
<van-checkbox v-for="uitem in item.wuduList" :key="uitem.id" :name="uitem.id" style="padding:10px">
|
|
<van-checkbox v-for="uitem in item.wuduList" :key="uitem.id" :name="uitem.id" style="padding:10px">
|
|
|
{{ uitem.name ? uitem.name : '' }}
|
|
{{ uitem.name ? uitem.name : '' }}
|
|
|
</van-checkbox>
|
|
</van-checkbox>
|
|
|
</van-checkbox-group>
|
|
</van-checkbox-group>
|
|
|
</div>
|
|
</div>
|
|
|
- <van-button @click="choseProjects(item.radioPickDegree, item.wuduList)">
|
|
|
|
|
|
|
+ <van-button @click="choseProjects(currentPickDegree, item.wuduList)">
|
|
|
确定
|
|
确定
|
|
|
</van-button>
|
|
</van-button>
|
|
|
</div>
|
|
</div>
|
|
@@ -463,7 +463,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 周总结 -->
|
|
<!-- 周总结 -->
|
|
|
- <div v-if="user.timeType.enableNewWeeklyfill == 1 && inbtn == 999">
|
|
|
|
|
|
|
+ <div v-if="(user.timeType.enableNewWeeklyfill == 1 ||user.timeType.enableNewWeeklyfill == 2) && inbtn == 999">
|
|
|
<div class="van-cell-group__title">{{ user.companyId == wuqiId ? '周报' : '周总结'}}</div>
|
|
<div class="van-cell-group__title">{{ user.companyId == wuqiId ? '周报' : '周总结'}}</div>
|
|
|
<van-field
|
|
<van-field
|
|
|
v-model.trim="summary"
|
|
v-model.trim="summary"
|
|
@@ -687,6 +687,7 @@
|
|
|
wuqiId: '1071',
|
|
wuqiId: '1071',
|
|
|
doYouWantToDisplayTheWorkOrder: true,
|
|
doYouWantToDisplayTheWorkOrder: true,
|
|
|
doYouWantToDisplayTheWorkOrderGongdan: true,
|
|
doYouWantToDisplayTheWorkOrderGongdan: true,
|
|
|
|
|
+ currentPickDegree: '', // 用于中转相关维度弹窗的选中值(响应式)
|
|
|
|
|
|
|
|
// 人员选择器相关数据
|
|
// 人员选择器相关数据
|
|
|
employeeSelector: {
|
|
employeeSelector: {
|
|
@@ -1972,7 +1973,16 @@
|
|
|
const { state } = item
|
|
const { state } = item
|
|
|
if(state < 1) return
|
|
if(state < 1) return
|
|
|
this.clickIndex = i;
|
|
this.clickIndex = i;
|
|
|
- this.currentForm.domains[this.clickIndex].showPickDegree = true;
|
|
|
|
|
|
|
+ // 将当前已选值同步到响应式的 currentPickDegree,确保弹窗打开时显示正确的选中状态
|
|
|
|
|
+ const existingValue = item.radioPickDegree
|
|
|
|
|
+ if(this.user.timeType.customDegreeMultiple) {
|
|
|
|
|
+ // 多选:确保是数组
|
|
|
|
|
+ this.currentPickDegree = Array.isArray(existingValue) ? existingValue.slice() : (existingValue ? [existingValue] : [])
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 单选:确保是基本值
|
|
|
|
|
+ this.currentPickDegree = (existingValue !== undefined && existingValue !== null) ? existingValue : ''
|
|
|
|
|
+ }
|
|
|
|
|
+ this.$set(this.currentForm.domains[this.clickIndex], 'showPickDegree', true);
|
|
|
var proId = this.currentForm.domains[this.clickIndex].projectId
|
|
var proId = this.currentForm.domains[this.clickIndex].projectId
|
|
|
this.dimension(proId)
|
|
this.dimension(proId)
|
|
|
},
|
|
},
|
|
@@ -2033,7 +2043,10 @@
|
|
|
this.currentForm.domains[this.clickIndex].degreeId = list.map(item => item.id).join(',');
|
|
this.currentForm.domains[this.clickIndex].degreeId = list.map(item => item.id).join(',');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- this.currentForm.domains[this.clickIndex].showPickDegree = false;
|
|
|
|
|
|
|
+ // 将 currentPickDegree 的值同步回 item.radioPickDegree,保持数据一致
|
|
|
|
|
+ this.$set(this.currentForm.domains[this.clickIndex], 'radioPickDegree',
|
|
|
|
|
+ Array.isArray(value) ? value.slice() : value);
|
|
|
|
|
+ this.$set(this.currentForm.domains[this.clickIndex], 'showPickDegree', false);
|
|
|
|
|
|
|
|
console.log(this.currentForm.domains[this.clickIndex], '再次')
|
|
console.log(this.currentForm.domains[this.clickIndex], '再次')
|
|
|
this.$forceUpdate();
|
|
this.$forceUpdate();
|
|
@@ -2177,7 +2190,11 @@
|
|
|
// if(flag) {
|
|
// if(flag) {
|
|
|
// this.clickIndex = newClickIndex
|
|
// this.clickIndex = newClickIndex
|
|
|
// }
|
|
// }
|
|
|
- this.currentForm.domains[this.clickIndex].wuduList = res.data;
|
|
|
|
|
|
|
+ this.$set(this.currentForm.domains[this.clickIndex], 'wuduList', res.data);
|
|
|
|
|
+ // 确保 radioPickDegree 是响应式的
|
|
|
|
|
+ if(this.currentForm.domains[this.clickIndex].radioPickDegree === undefined) {
|
|
|
|
|
+ this.$set(this.currentForm.domains[this.clickIndex], 'radioPickDegree', this.user.timeType.customDegreeMultiple ? [] : '');
|
|
|
|
|
+ }
|
|
|
// let degreeId = this.currentForm.domains[this.clickIndex].degreeId
|
|
// let degreeId = this.currentForm.domains[this.clickIndex].degreeId
|
|
|
// for(let i in degreeId) {
|
|
// for(let i in degreeId) {
|
|
|
// degreeId[i] = +degreeId[i]
|
|
// degreeId[i] = +degreeId[i]
|
|
@@ -2384,7 +2401,6 @@
|
|
|
return
|
|
return
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- console.log(workContentState)
|
|
|
|
|
// 判断工作事项是否为必填
|
|
// 判断工作事项是否为必填
|
|
|
if(workContentState == '1') {
|
|
if(workContentState == '1') {
|
|
|
const { error, next } = this.judgeWorkContent(this.form)
|
|
const { error, next } = this.judgeWorkContent(this.form)
|
|
@@ -2460,7 +2476,7 @@
|
|
|
}
|
|
}
|
|
|
let formData = new URLSearchParams()
|
|
let formData = new URLSearchParams()
|
|
|
// 周总结
|
|
// 周总结
|
|
|
- if(enableNewWeeklyfill == 1) {
|
|
|
|
|
|
|
+ if(enableNewWeeklyfill == 1 || enableNewWeeklyfill == 2) {
|
|
|
formData.append("summary", this.summary);
|
|
formData.append("summary", this.summary);
|
|
|
}
|
|
}
|
|
|
for(let formIndex=0;formIndex<this.form.length;formIndex++){
|
|
for(let formIndex=0;formIndex<this.form.length;formIndex++){
|
|
@@ -2628,7 +2644,7 @@
|
|
|
} else {
|
|
} else {
|
|
|
formData.append("customText", "-");
|
|
formData.append("customText", "-");
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
if (this.form[formIndex].domains[i].id) {
|
|
if (this.form[formIndex].domains[i].id) {
|
|
|
formData.append("id", this.form[formIndex].domains[i].id);
|
|
formData.append("id", this.form[formIndex].domains[i].id);
|
|
|
} else {
|
|
} else {
|
|
@@ -2686,8 +2702,6 @@
|
|
|
formData.append("basecostId", this.form[formIndex].domains[i].basecostId);
|
|
formData.append("basecostId", this.form[formIndex].domains[i].basecostId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
//项目专业进度
|
|
//项目专业进度
|
|
|
if (this.form[formIndex].domains[i].professionProgress) {
|
|
if (this.form[formIndex].domains[i].professionProgress) {
|
|
|
let m = JSON.stringify(this.form[formIndex].domains[i].professionProgress);
|
|
let m = JSON.stringify(this.form[formIndex].domains[i].professionProgress);
|
|
@@ -2743,7 +2757,6 @@
|
|
|
formData.append("content", '-');
|
|
formData.append("content", '-');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
//审核人
|
|
//审核人
|
|
|
if (this.form[formIndex].domains[i].projectAuditorId) {
|
|
if (this.form[formIndex].domains[i].projectAuditorId) {
|
|
|
formData.append("projectAuditorId", this.form[formIndex].domains[i].projectAuditorId);
|
|
formData.append("projectAuditorId", this.form[formIndex].domains[i].projectAuditorId);
|
|
@@ -2768,7 +2781,6 @@
|
|
|
this.$toast.fail('请选择'+this.weekArr[formIndex]+'投入项目的审核人');
|
|
this.$toast.fail('请选择'+this.weekArr[formIndex]+'投入项目的审核人');
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
- return;
|
|
|
|
|
}
|
|
}
|
|
|
if (this.user.timeType.reportWorkflow) {
|
|
if (this.user.timeType.reportWorkflow) {
|
|
|
//校验部门节点是否有审核人
|
|
//校验部门节点是否有审核人
|
|
@@ -2780,6 +2792,7 @@
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
if(reportExtraField4Name || reportExtraField5Name) {
|
|
if(reportExtraField4Name || reportExtraField5Name) {
|
|
|
formData.append("extraField4", this.form[formIndex].domains[i].extraField4 || '');
|
|
formData.append("extraField4", this.form[formIndex].domains[i].extraField4 || '');
|
|
|
formData.append("extraField5", this.form[formIndex].domains[i].extraField5 || '');
|
|
formData.append("extraField5", this.form[formIndex].domains[i].extraField5 || '');
|