|
|
@@ -18,7 +18,8 @@
|
|
|
<view class="form-input picker-input" :class="{ placeholder: !formData.deptId }"
|
|
|
@click="showPicker('任务归属',companyData)">
|
|
|
{{ institutionDisplayText || '请选择任务归属' }}
|
|
|
- <image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
+ <image class="icon"
|
|
|
+ src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
@@ -30,9 +31,21 @@
|
|
|
<view class="form-input picker-input" :class="{ placeholder: !formData.projectId }"
|
|
|
@click="showPicker('归属项目',companyList)">
|
|
|
{{ belongingProjectDisplayText || '请选择归属项目' }}
|
|
|
- <image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
+ <image class="icon"
|
|
|
+ src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
</view>
|
|
|
</view>
|
|
|
+ <!-- <view class="form-item">
|
|
|
+ <view class="form-label">
|
|
|
+ <text class="required">*</text>
|
|
|
+ <text>业务员</text>
|
|
|
+ </view>
|
|
|
+ <view class="form-input picker-input" :class="{ placeholder: !formData.companyUserId }"
|
|
|
+ @click="showPicker('业务员',userList)">
|
|
|
+ {{ salesmanDisplayText || '请选择业务员' }}
|
|
|
+ <image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
+ </view>
|
|
|
+ </view> -->
|
|
|
<view class="form-item">
|
|
|
<view class="form-label">
|
|
|
<text class="required">*</text>
|
|
|
@@ -41,7 +54,8 @@
|
|
|
<view class="form-input picker-input" :class="{ placeholder: !formData.productId }"
|
|
|
@click="showPicker('产品代码',productList)">
|
|
|
{{ productNameDisplayText || '请选择产品代码' }}
|
|
|
- <image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
+ <image class="icon"
|
|
|
+ src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="form-item">
|
|
|
@@ -52,19 +66,20 @@
|
|
|
<view class="form-input picker-input" :class="{ placeholder: !formData.costShareId }"
|
|
|
@click="showPicker('费用分摊',companyData)">
|
|
|
{{ costAllocationDisplayText || '请选择费用分摊主体' }}
|
|
|
- <image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
+ <image class="icon"
|
|
|
+ src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
<view class="form-item">
|
|
|
- <view class="form-label">
|
|
|
- <text>添加任务备注</text>
|
|
|
+ <view class="form-label">
|
|
|
+ <text>添加任务备注</text>
|
|
|
+ </view>
|
|
|
+ <EvanSwitch v-model="formData.addRemark"></EvanSwitch>
|
|
|
+ </view>
|
|
|
+ <view class="form-item" v-if="formData.addRemark">
|
|
|
+ <textarea class="form-textarea" v-model="formData.remark" placeholder="请输入任务备注" rows="4"></textarea>
|
|
|
</view>
|
|
|
- <EvanSwitch v-model="formData.addRemark"></EvanSwitch>
|
|
|
- </view>
|
|
|
- <view class="form-item" v-if="formData.addRemark">
|
|
|
- <textarea class="form-textarea" v-model="formData.remark" placeholder="请输入任务备注" rows="4"></textarea>
|
|
|
- </view>
|
|
|
<view class="form-item">
|
|
|
<view class="form-label">
|
|
|
<text class="required">*</text>
|
|
|
@@ -73,7 +88,8 @@
|
|
|
<view class="form-input picker-input" :class="{ placeholder: !formData.belongType }"
|
|
|
@click="showPicker('归属类型',dictTypeColumns)">
|
|
|
{{ belongTypeDisplayText || '请选择归属类型' }}
|
|
|
- <image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
+ <image class="icon"
|
|
|
+ src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
@@ -85,7 +101,8 @@
|
|
|
<view class="form-input picker-input" :class="{ placeholder: !formData.taskType }"
|
|
|
@click="showPicker('任务类型',taskTypeColumns)">
|
|
|
{{ taskTypeDisplayText || '请选择任务类型' }}
|
|
|
- <image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
+ <image class="icon"
|
|
|
+ src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
@@ -97,7 +114,8 @@
|
|
|
<view class="form-input picker-input" :class="{ placeholder: !formData.planStartTime }"
|
|
|
@click="showStartTimePicker = true">
|
|
|
{{ formData.planStartTime || '请选择计划开始时间' }}
|
|
|
- <image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
+ <image class="icon"
|
|
|
+ src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
@@ -109,7 +127,8 @@
|
|
|
<view class="form-input picker-input" :class="{ placeholder: !formData.planEndTime }"
|
|
|
@click="showEndTimePicker = true">
|
|
|
{{ formData.planEndTime || '请选择计划结束时间' }}
|
|
|
- <image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
+ <image class="icon"
|
|
|
+ src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_more.png"></image>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -119,12 +138,12 @@
|
|
|
:columns="pickerData" @confirm="confirm" @cancel="cancel">
|
|
|
</u-picker>
|
|
|
|
|
|
- <u-datetime-picker :show="showStartTimePicker" v-model="startTimeValue" mode="date"
|
|
|
- confirmColor='#576B95' @confirm="onStartTimeConfirm" @cancel="showStartTimePicker = false">
|
|
|
+ <u-datetime-picker :show="showStartTimePicker" v-model="startTimeValue" mode="date" confirmColor='#576B95'
|
|
|
+ @confirm="onStartTimeConfirm" @cancel="showStartTimePicker = false">
|
|
|
</u-datetime-picker>
|
|
|
|
|
|
- <u-datetime-picker :show="showEndTimePicker" v-model="endTimeValue" mode="date"
|
|
|
- confirmColor='#576B95' @confirm="onEndTimeConfirm" @cancel="showEndTimePicker = false">
|
|
|
+ <u-datetime-picker :show="showEndTimePicker" v-model="endTimeValue" mode="date" confirmColor='#576B95'
|
|
|
+ @confirm="onEndTimeConfirm" @cancel="showEndTimePicker = false">
|
|
|
</u-datetime-picker>
|
|
|
|
|
|
<u-popup :show="showBelongingPopup" mode="bottom" round="20" @close="closePopup" closeable>
|
|
|
@@ -134,7 +153,8 @@
|
|
|
</view>
|
|
|
|
|
|
<view class="search-box">
|
|
|
- <image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/search.png"></image>
|
|
|
+ <image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/search.png">
|
|
|
+ </image>
|
|
|
<u-input v-model="searchKeyword" placeholder="请输入归属项目" border="none" clearable />
|
|
|
</view>
|
|
|
|
|
|
@@ -142,7 +162,8 @@
|
|
|
<view v-for="(project, index) in filteredProjects" :key="index" class="project-item"
|
|
|
:class="{ active: selectedIndex === index }" @tap="selectProject(project, index)">
|
|
|
<text class="project-name">{{ project.name }}</text>
|
|
|
- <image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_right.png"></image>
|
|
|
+ <image class="icon"
|
|
|
+ src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_right.png"></image>
|
|
|
</view>
|
|
|
</scroll-view>
|
|
|
</view>
|
|
|
@@ -152,7 +173,9 @@
|
|
|
<view class="popup-content">
|
|
|
<view class="popup-header">
|
|
|
<text class="popup-title">任务归属</text>
|
|
|
- <image class="close-icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_cross.png" @click="showTaskPopup=false"></image>
|
|
|
+ <image class="close-icon"
|
|
|
+ src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_cross.png"
|
|
|
+ @click="showTaskPopup=false"></image>
|
|
|
</view>
|
|
|
<view class="two-level-container">
|
|
|
<scroll-view class="primary-list" scroll-y>
|
|
|
@@ -183,13 +206,16 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import {
|
|
|
+ import {
|
|
|
+ companyUserList
|
|
|
+ } from '@/api/task.js';
|
|
|
+ import {
|
|
|
company,
|
|
|
- getAllData,//获取项目所有数据
|
|
|
- queryAllProduct,//获取公司所有产品
|
|
|
- queryAllData//获取任务类型
|
|
|
+ getAllData, //获取项目所有数据
|
|
|
+ queryAllProduct, //获取公司所有产品
|
|
|
+ queryAllData //获取任务类型
|
|
|
} from '@/api/task.js';
|
|
|
-import utils from '@/utils/common.js'
|
|
|
+ import utils from '@/utils/common.js'
|
|
|
import Step from '@/pages_task/components/step.vue'
|
|
|
import EvanSwitch from '@/components/evan-switch.vue'
|
|
|
export default {
|
|
|
@@ -199,14 +225,14 @@ import utils from '@/utils/common.js'
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- taskTypeDict:[],//任务类型字典
|
|
|
- taskType:[],//任务类型
|
|
|
- taskTypeOriginalData:[],//任务类型原始数据(包含dictLabel和dictValue)
|
|
|
- companyList:[],//归属项目
|
|
|
- projectData:[],//项目数据(持久化存储)
|
|
|
- productList:[],//产品列表
|
|
|
- companyData:[],
|
|
|
- userInfo:{},
|
|
|
+ taskTypeDict: [], //任务类型字典
|
|
|
+ taskType: [], //任务类型
|
|
|
+ taskTypeOriginalData: [], //任务类型原始数据(包含dictLabel和dictValue)
|
|
|
+ companyList: [], //归属项目
|
|
|
+ projectData: [], //项目数据(持久化存储)
|
|
|
+ productList: [], //产品列表
|
|
|
+ companyData: [],
|
|
|
+ userInfo: {},
|
|
|
showTaskPopup: false,
|
|
|
primaryOptions: [{
|
|
|
id: 1,
|
|
|
@@ -218,7 +244,7 @@ import utils from '@/utils/common.js'
|
|
|
name: '事业1组',
|
|
|
children: ['事业1组-项目部', '事业1组-市场部', '事业1组-技术部']
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
],
|
|
|
activePrimaryIndex: 0,
|
|
|
currentSecondaryOptions: [],
|
|
|
@@ -278,13 +304,14 @@ import utils from '@/utils/common.js'
|
|
|
projectId: '',
|
|
|
productId: '',
|
|
|
taskType: '',
|
|
|
+ // companyUserId: '',
|
|
|
addRemark: false,
|
|
|
remark: ''
|
|
|
},
|
|
|
originalCompanyData: null,
|
|
|
pickerTitle: '默认标题',
|
|
|
pickerData: [],
|
|
|
- companyId:'',
|
|
|
+ companyId: '',
|
|
|
showStartTimePicker: false,
|
|
|
showEndTimePicker: false,
|
|
|
startTimeValue: new Date(),
|
|
|
@@ -295,15 +322,15 @@ import utils from '@/utils/common.js'
|
|
|
|
|
|
onLoad: async function(options) {
|
|
|
try {
|
|
|
- this.taskTypeDict = await utils.getDicts("task_type");//任务类型
|
|
|
- this.belongTypeList = await utils.getDicts("task_belong_type");//任务类型
|
|
|
-
|
|
|
+ this.taskTypeDict = await utils.getDicts("task_type"); //任务类型
|
|
|
+ this.belongTypeList = await utils.getDicts("task_belong_type"); //任务类型
|
|
|
+
|
|
|
} catch (e) {
|
|
|
console.log('获取字典数据失败:', e)
|
|
|
}
|
|
|
|
|
|
|
|
|
- this.userInfo=uni.getStorageSync("userInfo")||''
|
|
|
+ this.userInfo = uni.getStorageSync("userInfo") || ''
|
|
|
if (options.rejectionInfo) {
|
|
|
this.rejectionInfo = decodeURIComponent(options.rejectionInfo)
|
|
|
}
|
|
|
@@ -313,9 +340,9 @@ import utils from '@/utils/common.js'
|
|
|
// 设置默认日期为当天
|
|
|
this.formData.planStartTime = this.formatDateTime(new Date());
|
|
|
this.formData.planEndTime = this.formatDateTime(new Date());
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
computed: {
|
|
|
taskTypeDisplayText() {
|
|
|
console.log('计算taskTypeDisplayText, formData.taskType:', this.formData.taskType);
|
|
|
@@ -352,25 +379,52 @@ import utils from '@/utils/common.js'
|
|
|
return selectedItem ? selectedItem.projectName : '';
|
|
|
},
|
|
|
productNameDisplayText() {
|
|
|
- if (!this.formData.productId || !this.productList) {
|
|
|
- return '';
|
|
|
- }
|
|
|
- const selectedItem = this.productList.find(item => item.id === this.formData.productId);
|
|
|
- return selectedItem ? selectedItem.productName : '';
|
|
|
- },
|
|
|
- belongTypeDisplayText() {
|
|
|
- if (!this.formData.belongType || !this.belongTypeList) {
|
|
|
- return '';
|
|
|
- }
|
|
|
- const selectedItem = this.belongTypeList.find(item => item.dictValue === this.formData.belongType);
|
|
|
- return selectedItem ? selectedItem.dictLabel : '';
|
|
|
+ if (!this.formData.productId || !this.productList) {
|
|
|
+ return '';
|
|
|
+ }
|
|
|
+ const selectedItem = this.productList.find(item => item.id === this.formData.productId);
|
|
|
+ return selectedItem ? selectedItem.productName : '';
|
|
|
+ },
|
|
|
+ belongTypeDisplayText() {
|
|
|
+ if (!this.formData.belongType || !this.belongTypeList) {
|
|
|
+ return '';
|
|
|
}
|
|
|
+ const selectedItem = this.belongTypeList.find(item => item.dictValue === this.formData.belongType);
|
|
|
+ return selectedItem ? selectedItem.dictLabel : '';
|
|
|
+ },
|
|
|
+ // salesmanDisplayText() {
|
|
|
+ // if (!this.formData.companyUserId || !this.userList) {
|
|
|
+ // return '';
|
|
|
+ // }
|
|
|
+ // const selectedItem = this.userList.find(item => item.userId === this.formData.companyUserId);
|
|
|
+ // return selectedItem ? selectedItem.nickName : '';
|
|
|
+ // }
|
|
|
},
|
|
|
methods: {
|
|
|
+ //公司下的用户列表
|
|
|
+ async companyUserList() {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ let data = {
|
|
|
+ companyId: this.userInfo.companyId || '',
|
|
|
+ }
|
|
|
+ companyUserList(data).then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ // 处理公司所有产品数据
|
|
|
+ this.userList = res.rows || []
|
|
|
+ console.log('company接口返回数据:', res)
|
|
|
+
|
|
|
+ }
|
|
|
+ resolve(res);
|
|
|
+ }).catch(err => {
|
|
|
+ console.error('获取公司下的用户列表失败:', err);
|
|
|
+ reject(err);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
//任务类型
|
|
|
- queryAllData(){
|
|
|
+ queryAllData() {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
- if(!this.formData.productId){
|
|
|
+ if (!this.formData.productId) {
|
|
|
uni.showToast({
|
|
|
title: '请先选择产品',
|
|
|
icon: 'none'
|
|
|
@@ -378,10 +432,10 @@ import utils from '@/utils/common.js'
|
|
|
resolve();
|
|
|
return
|
|
|
}
|
|
|
- let data={
|
|
|
- companyId:this.userInfo.companyId||'',
|
|
|
- deptId:this.formData.deptId||'',
|
|
|
- productId:this.formData.productId||'',
|
|
|
+ let data = {
|
|
|
+ companyId: this.userInfo.companyId || '',
|
|
|
+ deptId: this.formData.deptId || '',
|
|
|
+ productId: this.formData.productId || '',
|
|
|
|
|
|
}
|
|
|
queryAllData(data).then(res => {
|
|
|
@@ -389,27 +443,27 @@ import utils from '@/utils/common.js'
|
|
|
// 处理任务类型
|
|
|
this.taskType = res.data || []
|
|
|
console.log('company接口返回数据:', res)
|
|
|
-
|
|
|
+
|
|
|
// 处理taskTypeIds,获取对应的字典数据
|
|
|
- if (res.data && res.data.length > 0) {
|
|
|
- const firstData = res.data[0];
|
|
|
- if (firstData.taskTypeIds) {
|
|
|
- // 分割taskTypeIds为数组
|
|
|
- const taskTypeIdsArray = firstData.taskTypeIds.split(',');
|
|
|
- // 从字典表中筛选出对应的项
|
|
|
- const filteredTaskTypes = this.taskTypeDict.filter(item =>
|
|
|
- taskTypeIdsArray.includes(item.dictValue)
|
|
|
- );
|
|
|
- // 保存原始数据(包含dictLabel和dictValue)
|
|
|
- this.taskTypeOriginalData = filteredTaskTypes;
|
|
|
- // 提取dictLabel并放到taskTypeColumns中
|
|
|
- const taskTypeLabels = filteredTaskTypes.map(item => item.dictLabel);
|
|
|
- this.taskTypeColumns = [taskTypeLabels];
|
|
|
- console.log('处理后的taskTypeColumns:', this.taskTypeColumns);
|
|
|
- console.log('任务类型原始数据:', this.taskTypeOriginalData);
|
|
|
+ if (res.data && res.data.length > 0) {
|
|
|
+ const firstData = res.data[0];
|
|
|
+ if (firstData.taskTypeIds) {
|
|
|
+ // 分割taskTypeIds为数组
|
|
|
+ const taskTypeIdsArray = firstData.taskTypeIds.split(',');
|
|
|
+ // 从字典表中筛选出对应的项
|
|
|
+ const filteredTaskTypes = this.taskTypeDict.filter(item =>
|
|
|
+ taskTypeIdsArray.includes(item.dictValue)
|
|
|
+ );
|
|
|
+ // 保存原始数据(包含dictLabel和dictValue)
|
|
|
+ this.taskTypeOriginalData = filteredTaskTypes;
|
|
|
+ // 提取dictLabel并放到taskTypeColumns中
|
|
|
+ const taskTypeLabels = filteredTaskTypes.map(item => item.dictLabel);
|
|
|
+ this.taskTypeColumns = [taskTypeLabels];
|
|
|
+ console.log('处理后的taskTypeColumns:', this.taskTypeColumns);
|
|
|
+ console.log('任务类型原始数据:', this.taskTypeOriginalData);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
resolve(res);
|
|
|
}).catch(err => {
|
|
|
console.error('获取任务类型失败:', err);
|
|
|
@@ -419,10 +473,10 @@ import utils from '@/utils/common.js'
|
|
|
},
|
|
|
|
|
|
//获取公司所有产品
|
|
|
- async queryAllProduct(){
|
|
|
+ async queryAllProduct() {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
- let data={
|
|
|
- companyId:this.userInfo.companyId||'',
|
|
|
+ let data = {
|
|
|
+ companyId: this.userInfo.companyId || '',
|
|
|
}
|
|
|
queryAllProduct(data).then(res => {
|
|
|
if (res.code === 200) {
|
|
|
@@ -438,12 +492,12 @@ import utils from '@/utils/common.js'
|
|
|
});
|
|
|
},
|
|
|
// 归属项目
|
|
|
- async getAllData(){
|
|
|
+ async getAllData() {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
- let data={
|
|
|
- companyId:this.userInfo.companyId||'',
|
|
|
- deptId:this.userInfo.deptId||'',
|
|
|
- productCode:this.userInfo.productCode||''
|
|
|
+ let data = {
|
|
|
+ companyId: this.userInfo.companyId || '',
|
|
|
+ deptId: this.userInfo.deptId || '',
|
|
|
+ productCode: this.userInfo.productCode || ''
|
|
|
}
|
|
|
getAllData(data).then(res => {
|
|
|
if (res.code === 200) {
|
|
|
@@ -501,14 +555,14 @@ import utils from '@/utils/common.js'
|
|
|
});
|
|
|
},
|
|
|
submitInfo() {
|
|
|
- info(this.userInfo.companyId).then(res => {
|
|
|
- if (res.code === 200) {
|
|
|
- console.log('公司项目设置:', res.data);
|
|
|
- // 处理公司项目设置数据
|
|
|
- }
|
|
|
- }).catch(err => {
|
|
|
- console.error('获取公司项目设置失败:', err);
|
|
|
- });
|
|
|
+ info(this.userInfo.companyId).then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ console.log('公司项目设置:', res.data);
|
|
|
+ // 处理公司项目设置数据
|
|
|
+ }
|
|
|
+ }).catch(err => {
|
|
|
+ console.error('获取公司项目设置失败:', err);
|
|
|
+ });
|
|
|
},
|
|
|
handlePrimarySelect(index) {
|
|
|
this.activePrimaryIndex = index;
|
|
|
@@ -571,6 +625,11 @@ import utils from '@/utils/common.js'
|
|
|
// 归属类型数据已经在onLoad中获取
|
|
|
data = this.belongTypeList;
|
|
|
console.log('归属类型数据:', data);
|
|
|
+ } else if (title === '业务员') {
|
|
|
+ // 调用companyUserList()获取业务员数据
|
|
|
+ await this.companyUserList();
|
|
|
+ data = this.userList;
|
|
|
+ console.log('业务员数据:', data);
|
|
|
}
|
|
|
|
|
|
// 处理任务归属和费用分摊数据,将deptStr作为显示文本
|
|
|
@@ -594,6 +653,11 @@ import utils from '@/utils/common.js'
|
|
|
this.pickerData = [data.map(item => item.dictLabel)]
|
|
|
// 保存原始数据,用于后续获取dictType
|
|
|
this.originalCompanyData = data
|
|
|
+ } else if (title === '业务员' && data && data.length > 0) {
|
|
|
+ // 处理业务员数据,将nickName作为显示文本
|
|
|
+ this.pickerData = [data.map(item => item.nickName)]
|
|
|
+ // 保存原始数据,用于后续获取userId
|
|
|
+ this.originalCompanyData = data
|
|
|
} else {
|
|
|
this.pickerData = data
|
|
|
this.originalCompanyData = null
|
|
|
@@ -616,13 +680,13 @@ import utils from '@/utils/common.js'
|
|
|
// 从originalCompanyData中找到对应的项
|
|
|
const selectedItem = this.originalCompanyData.find(item => item.deptName === selectedDeptStr);
|
|
|
if (selectedItem) {
|
|
|
- // 保存deptId到表单(存储id值)
|
|
|
- this.formData.costShareId = selectedItem.deptId;
|
|
|
- console.log('设置formData.costShareId为:', selectedItem.deptId);
|
|
|
- } else {
|
|
|
- this.formData.costShareId = '';
|
|
|
- console.log('未找到对应的费用分摊');
|
|
|
- }
|
|
|
+ // 保存deptId到表单(存储id值)
|
|
|
+ this.formData.costShareId = selectedItem.deptId;
|
|
|
+ console.log('设置formData.costShareId为:', selectedItem.deptId);
|
|
|
+ } else {
|
|
|
+ this.formData.costShareId = '';
|
|
|
+ console.log('未找到对应的费用分摊');
|
|
|
+ }
|
|
|
} else if (this.pickerTitle === '任务类型') {
|
|
|
// e.value[0]是选中的文本值(dictLabel)
|
|
|
const selectedLabel = e.value[0];
|
|
|
@@ -633,8 +697,7 @@ import utils from '@/utils/common.js'
|
|
|
if (selectedType) {
|
|
|
this.formData.taskType = selectedType.dictValue;
|
|
|
console.log('设置formData.taskType为:', selectedType.dictValue);
|
|
|
- } else {
|
|
|
- }
|
|
|
+ } else {}
|
|
|
} else if (this.pickerTitle === '任务归属' && this.originalCompanyData) {
|
|
|
// e.value[0]是选中的文本值(deptName)
|
|
|
const selectedDeptStr = e.value[0];
|
|
|
@@ -646,37 +709,37 @@ import utils from '@/utils/common.js'
|
|
|
// 保存deptId到表单(存储id值)
|
|
|
this.formData.deptId = selectedItem.deptId;
|
|
|
console.log('设置formData.deptId为:', selectedItem.deptId);
|
|
|
- } else {
|
|
|
- }
|
|
|
+ } else {}
|
|
|
} else if (this.pickerTitle === '归属项目' && this.originalCompanyData) {
|
|
|
// e.value[0]是选中的文本值(projectName)
|
|
|
const selectedProjectName = e.value[0];
|
|
|
console.log('选中的归属项目文本:', selectedProjectName);
|
|
|
console.log('originalCompanyData:', this.originalCompanyData);
|
|
|
// 从originalCompanyData中找到对应的项
|
|
|
- const selectedItem = this.originalCompanyData.find(item => item.projectName === selectedProjectName);
|
|
|
+ const selectedItem = this.originalCompanyData.find(item => item.projectName ===
|
|
|
+ selectedProjectName);
|
|
|
if (selectedItem) {
|
|
|
// 保存id到表单(存储id值)
|
|
|
this.formData.projectId = selectedItem.id;
|
|
|
// 保存productId到表单
|
|
|
this.formData.productId = selectedItem.productId;
|
|
|
console.log('设置formData.projectId为:', selectedItem.id);
|
|
|
- } else {
|
|
|
- }
|
|
|
+ } else {}
|
|
|
} else if (this.pickerTitle === '产品代码' && this.originalCompanyData) {
|
|
|
// e.value[0]是选中的文本值(productName)
|
|
|
const selectedProductName = e.value[0];
|
|
|
console.log('选中的产品代码文本:', selectedProductName);
|
|
|
console.log('originalCompanyData:', this.originalCompanyData);
|
|
|
// 从originalCompanyData中找到对应的项
|
|
|
- const selectedItem = this.originalCompanyData.find(item => item.productName === selectedProductName);
|
|
|
+ const selectedItem = this.originalCompanyData.find(item => item.productName ===
|
|
|
+ selectedProductName);
|
|
|
if (selectedItem) {
|
|
|
// 保存id到表单
|
|
|
this.formData.productId = selectedItem.id;
|
|
|
// 保存id用于获取任务类型
|
|
|
console.log('设置formData.productId为:', selectedItem.id);
|
|
|
} else {
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
} else if (this.pickerTitle === '归属类型' && this.originalCompanyData) {
|
|
|
// e.value[0]是选中的文本值(dictLabel)
|
|
|
@@ -693,6 +756,21 @@ import utils from '@/utils/common.js'
|
|
|
console.log('未找到对应的归属类型');
|
|
|
}
|
|
|
}
|
|
|
+ // else if (this.pickerTitle === '业务员' && this.originalCompanyData) {
|
|
|
+ // // e.value[0]是选中的文本值(nickName)
|
|
|
+ // const selectedUserName = e.value[0];
|
|
|
+ // console.log('选中的业务员文本:', selectedUserName);
|
|
|
+ // console.log('originalCompanyData:', this.originalCompanyData);
|
|
|
+ // // 从originalCompanyData中找到对应的项
|
|
|
+ // const selectedItem = this.originalCompanyData.find(item => item.nickName === selectedUserName);
|
|
|
+ // if (selectedItem) {
|
|
|
+ // // 保存userId到表单的companyUserId字段
|
|
|
+ // this.formData.companyUserId = selectedItem.userId;
|
|
|
+ // console.log('设置formData.companyUserId为:', selectedItem.userId);
|
|
|
+ // } else {
|
|
|
+ // console.log('未找到对应的业务员');
|
|
|
+ // }
|
|
|
+ // }
|
|
|
}
|
|
|
this.showPickerVisible = false
|
|
|
},
|
|
|
@@ -900,7 +978,7 @@ import utils from '@/utils/common.js'
|
|
|
height: 36rpx;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.form-textarea {
|
|
|
flex: 1;
|
|
|
font-size: 28rpx;
|
|
|
@@ -911,7 +989,7 @@ import utils from '@/utils/common.js'
|
|
|
min-height: 200rpx;
|
|
|
resize: none;
|
|
|
box-sizing: border-box;
|
|
|
-
|
|
|
+
|
|
|
&::placeholder {
|
|
|
color: #C8C9CC;
|
|
|
}
|