1186 lines
30 KiB
Vue
Raw Normal View History

<template>
<view class="fullHeight addProjectPage">
<view class="fixedheader">
<headers :themeType="true" :showBack="true">
<view class="headerName">
{{pageTitle}}
</view>
</headers>
</view>
<scroll-view :style="{ 'padding-top': statusBarHeight + 44 + 'px' }" class="smallHeight" scroll-y>
<!-- <view class="add-header">
<view class="backBtn" @click="back">
<uni-icons2 type="back" color="#fff" size="26"/>
</view>
{{pageTitle}}
</view> -->
<view class="add-from">
<view class="add-item">
<ul class="add-nav">
<li :class="{'active': navIndex == 1}" >任务</li>
<li :class="{'active': navIndex == 3}" >会议</li>
</ul>
</view>
<view class="add-item" v-if="navIndex == 1">
<view class="project-name">
<view class="icon-image">
<image src="/static/workstation/icon_voice.png"></image>
</view>
<view class="input">
<input type="text" placeholder="请输入主任务" :disabled="isDisabled" v-model="projectName"/>
</view>
</view>
</view>
<view class="add-item" v-if="navIndex == 3">
<view class="project-name">
<view class="icon-image">
<image src="/static/workstation/icon_voice.png"></image>
</view>
<view class="input">
<input type="text" placeholder="请输入会议名称" :disabled="isDisabled" v-model="meetingName"/>
</view>
</view>
</view>
<view class="add-item" v-if="navIndex == 1">
<view class="project-select">
<view class="icon-image">
<image src="/static/workstation/icon_end_date_bg.png"></image>
截止日期
</view>
<view class="project-picker">
{{endDate}}
<view class="uni-list-cell-db">
<picker mode="date" :value="endDate" :disabled="isDisabled" @change="bindTimeChange">
<view class="uni-input">
<uni-icons2 type="arrowright" color="#6C7178" size="20"/>
</view>
</picker>
</view>
</view>
</view>
</view>
<view class="add-item" v-if="navIndex == 3">
<view class="project-select">
<view class="icon-image">
<image src="/static/workstation/icon_end_date_bg.png"></image>
会议时间
</view>
<view class="project-picker">
<view class="date-text">
<span>{{rangetime[0]}}</span>
<span>{{rangetime[1]}}</span>
</view>
<view class="uni-list-cell-db">
<view class="uni-input" @click="showDatePicker">
<uni-icons2 type="arrowright" color="#6C7178" size="20"/>
</view>
</view>
</view>
</view>
</view>
<view class="add-item" v-if="navIndex == 1">
<view class="project-select">
<view class="icon-image">
<image src="/static/workstation/icon_allot_bg.png"></image>
分配给
</view>
<view class="project-picker">
{{allotPeople}}
<view class="uni-list-cell-db">
<picker :range="peopleList" range-key="workerName" :disabled="isDisabled" :value="allotPeopleIndex" @change="bindPeopleChange">
<view class="uni-input">
<uni-icons2 type="arrowright" color="#6C7178" size="20"/>
</view>
</picker>
</view>
</view>
</view>
</view>
<view class="add-item" v-if="navIndex == 3">
<view class="project-select">
<view class="icon-image">
<image src="/static/workstation/icon_allot_bg.png"></image>
参会人
</view>
<view class="project-picker">
<view class="people-text">{{allotPeople}}</view>
<view class="uni-input" @click="toPeopleList">
<uni-icons2 type="arrowright" color="#6C7178" size="20"/>
</view>
</view>
</view>
</view>
<view class="add-item">
<view class="project-select">
<view class="icon-image">
<image src="/static/workstation/icon_note_bg.png"></image>
填写备注
</view>
<view class="input" style="text-align: right;">
<input type="text" :disabled="isDisabled" placeholder="" v-model="note"/>
</view>
</view>
</view>
<view class="add-item" v-if="navIndex == 3">
<view class="project-select">
<view class="icon-image">
<image src="/static/workstation/icon_address2.png"></image>
会议地点
</view>
<view class="input" style="text-align: right;">
<input type="text" :disabled="isDisabled" placeholder="" v-model="address"/>
</view>
</view>
</view>
<view class="add-item">
<view class="project-select">
<view class="icon-image">
<image src="/static/workstation/icon_project_lv.png"></image>
任务级别
</view>
<view class="input project-picker">
<radio-group class="project-radio_group" @change="radioChange">
<label class="project-radio radio"><radio value="1" :disabled="isDisabled" :checked="lv == 1" />一般</label>
<label class="project-radio"><radio value="2" :disabled="isDisabled" :checked="lv == 2" />重要</label>
</radio-group>
</view>
</view>
</view>
<view class="add-item">
<view class="project-select" @click="selectFile">
<view class="icon-image">
<image src="/static/workstation/icon_file_address_bg.png"></image>
添加附件
</view>
<!-- <view class="input project-upload" @click="selectFile">
</view> -->
</view>
</view>
<view class="project-filelist" v-if="fileList.length > 0">
<ul>
<li v-for="(item,index) in fileList" :key="index">
<p>{{item.name}}</p>
<icon type="cancel" size="16" v-if="!isDisabled" @click="removeFive(index)"/>
<span v-if="isDisabled" @click="previewFile(item)">预览</span>
<!-- <image :src="item.url" @click="previewImage(item.url)"/></image> -->
<!-- <uni-icons2 class="icon-close" type="close" color="#6C7178" size="12"></uni-icons2> -->
</li>
</ul>
</view>
<view class="add-item">
<view class="project-select">
<view class="icon-image">
<image src="/static/workstation/icon_project_child.png"></image>
是否有子任务
</view>
<view class="input project-picker">
<switch :disabled="isDisabled" :checked="showChild" @change="switch1Change" />
</view>
</view>
</view>
</view>
<view class="project-children" v-if="showChild && childrenFormList.length > 0">
<view class="children-title">
子任务
</view>
<ul class="children-box" v-for="(item,index) in childrenFormList" :key="index">
<view class="close-btn" @click="deleteChild(index)">
<image src="/static/workstation/icon_close.png"></image>
</view>
<li>
<view class="add-item">
<view class="project-name">
<view class="icon-image">
<image src="/static/workstation/icon_voice.png"></image>
</view>
<view class="input">
<input type="text" :disabled="isDisabled" placeholder="请输入子任务标题" v-model="item.projectName"/>
</view>
</view>
</view>
<view class="add-item">
<view class="project-select">
<view class="icon-image">
<image src="/static/workstation/icon_end_date_bg.png"></image>
截止日期
</view>
<view class="project-picker">
{{item.endDate}}
<view class="uni-list-cell-db">
<picker mode="date" :disabled="isDisabled" :value="item.endDate" @change="bindTimeChange2($event,item)">
<view class="uni-input">
<uni-icons2 type="arrowright" color="#6C7178" size="20"/>
</view>
</picker>
</view>
</view>
</view>
</view>
<view class="add-item">
<view class="project-select">
<view class="icon-image">
<image src="/static/workstation/icon_allot_bg.png"></image>
分配给
</view>
<view class="project-picker">
{{item.allotPeople}}
<view class="uni-list-cell-db">
<picker :range="peopleList" range-key="workerName" :disabled="isDisabled" :value="item.allotPeople" @change="bindPeopleChange2($event, item)">
<view class="uni-input">
<uni-icons2 type="arrowright" color="#6C7178" size="20"/>
</view>
</picker>
</view>
</view>
</view>
</view>
<view class="add-item">
<view class="project-select" @click="selectFile2(index)">
<view class="icon-image">
<image src="/static/workstation/icon_file_address_bg.png"></image>
添加附件
</view>
<!-- <view class="input project-upload" @click="selectFile2(index)">
</view> -->
</view>
</view>
<view class="project-filelist" v-if="item.fileList.length > 0">
<ul>
<li v-for="(itm,idx) in item.fileList" :key="idx">
<p>{{itm.name}}</p>
<icon type="cancel" size="16" v-if="!isDisabled" @click="removeFive2(index,idx)"/>
<span v-if="isDisabled" @click="previewFile(itm)">预览</span>
<!-- <image :src="itm.url" @click="previewImage(itm.url)"></image> -->
<!-- <uni-icons2 class="icon-close" type="close" color="#6C7178" size="12"></uni-icons2> -->
</li>
</ul>
</view>
<view class="add-item">
<view class="project-select">
<view class="icon-image">
<image src="/static/workstation/icon_note_bg.png"></image>
填写备注
</view>
<view class="input" style="text-align: right;">
<input type="text" :disabled="isDisabled" placeholder="" v-model="item.note"/>
</view>
</view>
</view>
</li>
</ul>
</view>
<view class="add-child" v-if="showChild && childrenFormList.length > 0 && !isDisabled" @click="addChild">
<span>+</span>
子任务
</view>
<view class="submit-btn m-top" v-if="isEdit && isDisabled" @click="editForm">编辑任务</view>
<view v-if="!isDisabled" class="bottom-btn m-topm-top">
<view class="close" @click="closeEdit">取消</view>
<view class="submit-btn" @click="submitForm">提交任务</view>
</view>
</scroll-view>
<mx-date-picker :show="showPicker" type="rangetime" :value="value" :show-tips="true" :begin-text="'会议开始'" :end-text="'会议结束'" :show-seconds="true" @confirm="ed" @cancel="ed" />
<levitatedsphere :x="100" :y="80"></levitatedsphere>
</view>
</template>
<script>
import levitatedsphere from "@/components/levitatedsphere/levitatedsphere.vue"
import MxDatePicker from "@/components/mx-datepicker/mx-datepicker.vue";
import headers from '../../../components/headers/headers.vue'
export default {
components: {
MxDatePicker
},
data(){
return{
pageTitle: "任务详情",
navIndex: 1, //新增类型 1.任务 3.会议
value: '',
isDisabled: true,
projectName: "", //项目名称
meetingName: "", //会议名称
endDate: "", //截止日期
allotPeople: "", //分配人
allotPeopleIndex: "",
note: "", //备注
address: "", //会议地址
time: "",
allotPeopleId: "", //选中人员id
peopleList: [], //人员列表
rangetime: [], // 会议时间
showPicker: false,
lv: 1, //任务级别 1.一般 2.重要
fileList: [], // 附件
showChild: false, //是否展示子任务
childrenFormList: [ //子任务列表
{
projectName: "", //子任务名称
endDate: "", //截止日期
allotPeople: "", //选中人名
fileList: [], //附件
note: "", // 备注
allotPeopleId: "" //选中人id
}
],
checkPeopleList: [] ,//选中参会人列表
mettingPeopleId: [],
isEdit: false, //是否可编辑
pageId: "",
statusBarHeight: 0
}
},
components:{
headers
},
onShow(val){
this.statusBarHeight=uni.getStorageSync('systemInfo').statusBarHeight;
if(uni.getStorageSync('attendee') && this.navIndex == 3){
this.checkPeopleList = JSON.parse(uni.getStorageSync('attendee'))
let arr = []
this.mettingPeopleId = []
this.checkPeopleList.forEach(item=>{
arr.push(item.workerName)
this.mettingPeopleId.push({
taskUser: item.userId
})
})
this.allotPeople = arr.join('')
}
},
onLoad(val){
console.log(val)
this.pageId = val.id
this.selectData()
},
created(){
this.statusBarHeight=uni.getStorageSync('systemInfo').statusBarHeight;
this.projectSn = JSON.parse(uni.getStorageSync('userInfo')).sn;
this.userId = JSON.parse(uni.getStorageSync('userInfo')).userId
if(uni.getStorageSync('attendee') && this.navIndex == 3){
this.checkPeopleList = JSON.parse(uni.getStorageSync('attendee'))
let arr = []
this.mettingPeopleId = []
this.checkPeopleList.forEach(item=>{
arr.push(item.workerName)
this.mettingPeopleId.push({
taskUser: item.userId
})
})
this.allotPeople = arr.join('')
}
console.log(this.allotPeople)
this.selctPeopleList()
},
methods:{
previewFile(val){
console.log(val.url)
if(val.url){
let type = val.url.split(".")[1]
let _this = this
if(this.isImage(type)){
uni.previewImage({
urls: [_this.url_config+'image/' + val.url],
})
} else {
uni.downloadFile({
url: _this.url_config+'image/' + val.url,
success: (res) => {
if (res.statusCode === 200) {
uni.openDocument({
filePath: res.tempFilePath,
success: function(res) {
console.log('打开文档成功');
}
});
}
}
})
}
}
},
isImage(val){
return ['png', 'jpg', 'jpeg', 'bmp', 'gif', 'webp', 'psd', 'svg', 'tiff'].indexOf(val.toLowerCase()) !== -1;
},
closeEdit(){
this.pageTitle="任务详情"
this.isDisabled = true
this.selectData()
},
editForm(){
this.pageTitle="编辑任务"
this.isDisabled = false
},
selectData(){
let _this = this
this.sendRequest({
url: "xmgl/workstationTaskRecord/selectWorkstationTaskById",
data: {
taskId: this.pageId
},
method: "POST",
success(res){
console.log(res.result);
let data = res.result
_this.navIndex = data.taskInfo.taskType
_this.note = data.taskInfo.taskRemarks
_this.showChild = data.taskInfo.subtaskType == 1 ? false : true
if(data.taskInfo.createUser == _this.userId){
_this.isEdit = true
}
if(_this.showChild){
_this.childrenFormList = []
let obj = {}
console.log(data.subtaskList)
data.subtaskList.forEach(item=>{
console.log(item)
obj = {
projectName: item.subtaskTitle,
endDate: item.subtaskCloseTime,
allotPeople: item.subtaskDistributeName,
note: item.subtaskRemarks,
allotPeopleId: item.subtaskDistributeUser,
fileList: []
}
if(item.subtaskFileUrl){
item.subtaskFileUrl.split(',').forEach(item=>{
obj.fileList.push({
name: item,
url: item
})
})
}
_this.childrenFormList.push(obj)
// console.log(_this.childrenFormList)
})
}
_this.fileList = []
if(data.taskInfo.fileUrl){
data.taskInfo.fileUrl.split(',').forEach((item,index)=>{
_this.fileList.push({
name: item,
url: item
})
})
}
if(data.taskInfo.taskType == 3){
_this.meetingName = data.taskInfo.taskTitle
_this.rangetime[0]=data.taskInfo.meetingStartTime
_this.rangetime[1]=data.taskInfo.meetingEndTime
let arr = []
_this.mettingPeopleId = []
data.userList.forEach(item=>{
arr.push(item.taskUserName)
_this.mettingPeopleId.push({
taskUser: item.taskUser
})
})
_this.allotPeople = arr.join('')
_this.address = data.taskInfo.taskAddr
_this.lv = data.taskInfo.taskLevel
// _this.allotPeopleId =
} else {
_this.projectName = data.taskInfo.taskTitle
_this.endDate = data.taskInfo.closeTime
_this.allotPeople = data.userList[0].taskUserName
_this.allotPeopleId = data.userList[0].taskUser
}
}
})
},
ed(e) {//选择
this.showPicker = false;
if(e) {
this.rangetime = e.value;
//选择的值
console.log('value => '+ e.value);
//原始的Date对象
console.log('date => ' + e.date);
}
},
submitForm(){
let data = {
taskLevel: this.lv,
taskRemarks: this.note,
fileUrl: "",
projectSn: this.projectSn,
subtaskType: this.showChild ? 2:1,
taskType: this.navIndex
}
data.createUser = parseInt(this.userId)
data.id = parseInt(this.pageId )
let fileArr = []
for(let i = 0; i<this.fileList.length; i++){
fileArr.push(this.fileList[i].url)
}
if(fileArr.length>0){
data.fileUrl = fileArr.join(',')
}
if(this.navIndex == 1){
if(!this.projectName){
uni.showToast({
title: '主任务名称不能为空!',
icon: "none",
duration: 2000
});
return;
}
if(!this.endDate){
uni.showToast({
title: '截止日期不能为空!',
icon: "none",
duration: 2000
});
return;
}
if(!this.allotPeopleId){
uni.showToast({
title: '请选择分配人!',
icon: "none",
duration: 2000
});
return;
}
data.taskTitle = this.projectName
data.closeTime = this.endDate
data.userList = [{
taskUser: this.allotPeopleId
}]
} else if (this.navIndex == 3) {
if(!this.meetingName){
uni.showToast({
title: '会议名称不能为空!',
icon: "none",
duration: 2000
});
return;
} else {
data.taskTitle = this.meetingName
}
if(this.rangetime.length > 0){
data.meetingStartTime = this.rangetime[0].split('/').join('-')
data.meetingEndTime = this.rangetime[1].split('/').join('-')
data.closeTime = this.rangetime[1].split('/').join('-').split(" ")[0]
}else{
uni.showToast({
title: '会议日期不能为空!',
icon: "none",
duration: 2000
});
return;
}
if(this.mettingPeopleId.length > 0){
data.userList = this.mettingPeopleId
} else {
uni.showToast({
title: '请选择参会人!',
icon: "none",
duration: 2000
});
return;
}
console.log(this.address)
if(this.address){
data.taskAddr = this.address
} else {
uni.showToast({
title: '请填写会议地点!',
icon: "none",
duration: 2000
});
return;
}
}
if(this.showChild){
let childList = [],
childObj = {}
for(let j = 0; j<this.childrenFormList.length; j++){
if(!this.childrenFormList[j].projectName){
uni.showToast({
title: '子任务名称不能为空!',
icon: "none",
duration: 2000
});
return;
}
if(!this.childrenFormList[j].endDate){
uni.showToast({
title: '子任务截止日期不能为空!',
icon: "none",
duration: 2000
});
return;
}
if(!this.childrenFormList[j].allotPeopleId){
uni.showToast({
title: '请选择子任务分配人!',
icon: "none",
duration: 2000
});
return;
}
childObj = {
subtaskCloseTime: this.childrenFormList[j].endDate,
subtaskRemarks: this.childrenFormList[j].note,
subtaskDistributeUser: parseInt(this.childrenFormList[j].allotPeopleId),
subtaskTitle: this.childrenFormList[j].projectName,
}
let fileArr = []
for(let i = 0; i<this.childrenFormList[j].fileList.length; i++){
fileArr.push(this.childrenFormList[j].fileList[i].url)
}
if(fileArr.length>0){
childObj.subtaskFileUrl = fileArr.join(',')
}
childList.push(childObj)
}
data.subtaskList = childList
}
let that = this
this.sendRequest({
url: "xmgl/workstationTaskRecord/edit",
data: data,
method: "POST",
success(res){
console.log(res)
if(res.code == 200){
that.resetData()
uni.navigateTo({
url: './workstationIndex'
})
}
}
})
console.log(data)
},
back(){
uni.navigateBack({
url: ''
})
},
selctPeopleList(){
let that = this
this.sendRequest({
url: "xmgl/systemUser/getProjectChilderSystemUserList",
data: {projectSn: this.projectSn},
method: "POST",
success(res){
that.peopleList = res.result;
}
})
},
toPeopleList(){
if(!this.isDisabled){
uni.navigateTo({
url: './peopleList'
})
}
},
checkNavType(index){
this.navIndex = index
this.resetData()
},
selectNowDate(){
var date = new Date(),
year = date.getFullYear(),
month = date.getMonth() + 1,
day = date.getDate();
month >= 1 && month <= 9 ? (month = "0" + month) : "";
day >= 0 && day <= 9 ? (day = "0" + day) : "";
var timer = year + '-' + month + '-' + day;
// console.log(timer)
return timer;
},
bindTimeChange(e){
let date = this.selectNowDate()
if(date.split("-").join("") > e.target.value.split("-").join("")){
uni.showToast({
title: '请选择有效截止日期!',
icon: "none",
duration: 2000
});
this.endDate = ""
return;
} else {
this.endDate = e.target.value
}
// this.endDate = e.target.value
},
bindTimeChange2(e, item){
let date = this.selectNowDate()
if(date.split("-").join("") > e.target.value.split("-").join("")){
uni.showToast({
title: '请选择有效截止日期!',
icon: "none",
duration: 2000
});
item.endDate = ""
return;
} else {
item.endDate = e.target.value
}
// item.endDate = e.target.value
},
bindPeopleChange(e){
this.allotPeople = this.peopleList[e.target.value].workerName
this.allotPeopleId = this.peopleList[e.target.value].userId
},
bindPeopleChange2(e, item){
item.allotPeople = this.peopleList[e.target.value].workerName
item.allotPeopleId = this.peopleList[e.target.value].userId
},
radioChange(e){
this.lv = e.target.value
// console.log(e.target.value)
},
selectFile(){
if(this.isDisabled){
return;
} else {
var that = this
console.log(uni)
uni.chooseImage({
count: 5 - that.fileList.length,
success(res) {
const tempFilePaths = res.tempFilePaths;
console.log(res)
let data = {
name: res.tempFiles[0].name,
url: tempFilePaths[0]
};
uni.uploadFile({
url: that.url_config + 'upload/image', //仅为示例,非真实的接口地址
filePath: tempFilePaths[0],
name: 'files',
success: (uploadFileRes) => {
let data = {
name: JSON.parse(uploadFileRes.data).data[0].filename,
url: JSON.parse(uploadFileRes.data).data[0].imageUrl
};
that.fileList.push(data)
}
});
}
})
}
},
removeFive(index){
if(this.isDisabled){
return;
} else {
this.fileList.splice(index, 1)
}
},
selectFile2(index){
if(this.isDisabled){
return;
} else {
var that = this
uni.chooseImage({
count: 5 - that.childrenFormList[index].fileList.length,
success(res) {
const tempFilePaths = res.tempFilePaths;
console.log(res)
let data = {
name: res.tempFiles[0].name,
url: tempFilePaths[0]
};
// that.childrenFormList[index].fileList.push(data)
// console.log(that.childrenFormList[index].fileList)
uni.uploadFile({
url: that.url_config + 'upload/image', //仅为示例,非真实的接口地址
filePath: tempFilePaths[0],
name: 'files',
success: (uploadFileRes) => {
let data = {
name: JSON.parse(uploadFileRes.data).data[0].filename,
url: JSON.parse(uploadFileRes.data).data[0].imageUrl
};
that.childrenFormList[index].fileList.push(data)
}
});
}
})
}
},
removeFive2(index1,index2){
if(this.isDisabled){
return;
} else {
this.childrenFormList[index1].fileList.splice(index2, 1)
}
},
switch1Change(){
this.showChild = !this.showChild
},
resetData(){
this.projectName = ""
this.meetingName= ""
this.endDate = ""
this.allotPeople = ""
this.note = ""
this.address = ""
this.lv = 1,
this.fileList = []
this.rangetime = []
this.showChild = false
this.childrenFormList = [{
projectName: "",
endDate: "",
allotPeople: "",
fileList: [],
note: ""
}]
if(uni.getStorageSync('attendee')){
uni.removeStorage({
key: 'attendee',
success: function (res) {
console.log('success');
}
})
}
},
addChild(){
if(this.isDisabled){
return;
} else {
let obj = {
projectName: "",
endDate: "",
allotPeople: "",
fileList: [],
note: ""
}
this.childrenFormList.push(obj)
}
},
deleteChild(index){
if(this.isDisabled){
return;
} else {
if(this.childrenFormList.length === 1){
this.childrenFormList.splice(index,1)
this.addChild()
this.showChild = false
} else if(this.childrenFormList.length > 1){
this.childrenFormList.splice(index,1)
}
}
},
previewImage(url){
let imgArr = [];
imgArr.push(url);
//预览图片
uni.previewImage({
urls: imgArr,
current: imgArr[0]
});
},
showDatePicker(){
if(this.isDisabled){
return;
} else {
this.showPicker=true
}
}
}
}
</script>
<style lang="scss" scoped>
.fixedheader{
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 2;
}
.smallHeight{
height: 100%;
box-sizing: border-box;
padding-bottom: 58px;
}
.addProjectPage{
background: #f6f6f6;
.add-header{
height: 92rpx;
width: 100%;
background: #127FEC;
color: #fff;
display: flex;
align-items: center;
.backBtn{
width: 60rpx;
text-align: right;
}
}
}
.add-item{
background-color: #fff;
border-bottom: 1px solid rgba(246, 246, 246, 1);
height: 100rpx;
display: flex;
align-items: center;
width: 100%;
}
.add-nav{
display: flex;
justify-content: center;
align-items: center;
list-style: none;
width: 100%;
height: 100%;
padding: 0;
li{
width: 112rpx;
height: 48rpx;
border: 1px solid #979797;
color: #979797;
font-size: 28rpx;
text-align: center;
line-height: 48rpx;
border-radius: 40rpx;
margin: 0 20rpx;
}
.active{
border: 1px solid #127FEC;
color: #127FEC;
}
}
.project-name{
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
height: 100%;
padding: 0 30rpx;
box-sizing: border-box;
.icon-image{
margin-left: 25rpx;
image{
width: 30rpx;
height: 52rpx;
}
}
}
.input{
width: 400rpx;
}
.project-radio{
text-align: right;
height: 100%;
display: flex;
align-items: center;
font-size: 28rpx;
}
.radio{
margin-right: 50rpx;
}
.project-radio_group{
display: flex;
}
.project-radio{
:deep( .uni-radio-input){
width: 32rpx;
height: 32rpx;
}
}
.project-select{
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
height: 100%;
padding: 0 30rpx;
box-sizing: border-box;
.icon-image{
display: flex;
align-items: center;
color: #979797;
font-size: 28rpx;
white-space: nowrap;
image{
width: 36rpx;
height: 36rpx;
margin-right: 30rpx;
}
}
.project-picker{
display: flex;
width: 100%;
align-items: center;
justify-content: flex-end;
text-align: right;
.uni-list-cell-db{
margin-left: 20rpx;
}
}
}
.project-upload{
height: 100%;
}
.project-filelist{
background-color: #fff;
border-bottom: 1px solid rgba(246, 246, 246, 1);
width: 100%;
padding: 0 20rpx;
box-sizing: border-box;
ul{
// display: flex;
// align-items: center;
list-style: none;
padding: 20rpx;
// flex-wrap: wrap;
li{
display: flex;
align-items: center;
// height: 48rpx;
justify-content: space-between;
padding: 8rpx 0;
// position: relative;
// image{
// width: 100rpx;
// height: 100rpx;
// margin: 0 10rpx;
// }
// .icon-close{
// position: absolute;
// right: 8rpx;
// top: -8rpx;
// }
p{
display: block;
width: 80%;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
}
span{
white-space: nowrap;
color: #127FEC;
}
}
}
}
.add-from{
margin-bottom: 56rpx;
}
.project-children{
padding: 0 28rpx;
box-sizing: border-box;
padding-bottom: 20rpx;
.children-title{
font-size: 28rpx;
color: #262D4A;
margin-bottom: 18rpx;
font-weight: 500;
}
.children-box{
list-style: none;
padding: 0;
box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.1);
border-radius: 16rpx;
overflow: hidden;
margin-bottom: 42rpx;
position: relative;
}
.close-btn{
position: absolute;
top: 0;
right: 10rpx;
image{
width: 24rpx;
height: 24rpx;
}
}
}
.add-child{
width: 524rpx;
height: 68rpx;
text-align: center;
background: #fff;
color: #127FEC;
margin: 0 auto;
line-height: 68rpx;
border: 1px dashed rgba(18, 127, 236, 0.34);
border-radius: 34rpx;
margin-bottom: 152rpx;
}
.submit-btn{
width: 100%;
height: 94rpx;
background: #127FEC;
color: #fff;
text-align: center;
line-height: 94rpx;
}
.m-top{
position: fixed;
bottom: 0;
left: 0;
}
.people-text{
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
width: 400rpx;
text-align: right;
}
.date-text{
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
}
.bottom-btn{
position: fixed;
bottom: 0;
left: 0;
display: flex;
align-items: center;
width: 100%;
height: 48px;
justify-content: center;
.submit-btn{
width: 50%;
}
.close{
width: 50%;
text-align: center;
line-height: 94rpx;
// color: #F56C6C;
background: #EBEEF5;
// color: #fff;
}
}
</style>