|
|
@ -58,42 +58,51 @@ |
|
|
|
</u-mask> |
|
|
|
|
|
|
|
<!-- 插件审核人员选择 --> |
|
|
|
<Reviewer/> |
|
|
|
<Reviewer /> |
|
|
|
</view> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script setup> |
|
|
|
import { ref, computed } from 'vue'; |
|
|
|
import { useStore } from 'vuex'; |
|
|
|
|
|
|
|
const props = defineProps({ task: { type: Object, default: () => {} } }); |
|
|
|
const store = useStore(); |
|
|
|
|
|
|
|
// 插件名称 |
|
|
|
const deliverRef = ref(true); // 交付物插件的显示与销毁 |
|
|
|
const linkValue = ref(''); // 链接的值 |
|
|
|
const showMask = ref(false); // 编辑和删除页面 |
|
|
|
const showEditModal = ref(false); // 编辑交付物标题的modal |
|
|
|
const newInputRef = ref(props.task.name); // 修改的插件名的值 |
|
|
|
const newInputRef = ref(''); // 修改的插件名的值 |
|
|
|
const showDeleteModal = ref(false); // 删除二次提示的modal |
|
|
|
const content = '是否确定删除'; |
|
|
|
const uBadgeShow = ref(false); // u-badge的显示与隐藏 |
|
|
|
const deliver = ref(null); |
|
|
|
const deliver = ref(); |
|
|
|
|
|
|
|
// 判断提交按钮的状态 |
|
|
|
const submitState = computed(() => !linkValue.value); |
|
|
|
|
|
|
|
// 获取选中的审核人信息 |
|
|
|
const delivers = computed(() => store.state.role.members); |
|
|
|
const checkedDelivers = computed(() => delivers.value.filter(item => item.checked)); |
|
|
|
getDeliverData() |
|
|
|
// 根据任务id获取交付物信息 |
|
|
|
(async function getDeliverData() { |
|
|
|
async function getDeliverData() { |
|
|
|
try { |
|
|
|
const { id: taskId } = props.task; |
|
|
|
if (!taskId) return; |
|
|
|
const param = { taskId: props.task.id }; |
|
|
|
const data = await uni.$u.api.getDeliverByTaskId(param); |
|
|
|
deliver.value = data; |
|
|
|
console.log(deliver.value); |
|
|
|
// sessionStorage.setItem('deliverRecordId', deliver.value.deliverRecordId) |
|
|
|
store.state.project.deliverRecordId = deliver.value.deliverRecordId |
|
|
|
} catch (error) { |
|
|
|
console.log('error: ', error); |
|
|
|
uni.$ui.showToast('获取交付物信息失败'); |
|
|
|
} |
|
|
|
}()); |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// 验证提交的交付物信息格式 |
|
|
|
function validateDeliverForm() { |
|
|
@ -111,9 +120,30 @@ function validateDeliverForm() { |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
// 提交后验证链接并修改状态 |
|
|
|
// 提交交付物信息 |
|
|
|
function submit() { |
|
|
|
// 提交前的验证 |
|
|
|
if (!validateDeliverForm()) return; |
|
|
|
// 验证成功后进行请求 |
|
|
|
try { |
|
|
|
const checkerList = [] |
|
|
|
checkedDelivers.value.forEach(item=>{ |
|
|
|
checkerList.push(item.memberId) |
|
|
|
}) |
|
|
|
const param = { |
|
|
|
projectId: store.state.project.project.id, |
|
|
|
deliverId: deliver.value.deliverId, |
|
|
|
fileList: [linkValue.value], |
|
|
|
checkerList |
|
|
|
}; |
|
|
|
uni.$u.api.submitDeliverInfo(param); |
|
|
|
} catch (error) { |
|
|
|
console.log('error: ', error); |
|
|
|
uni.$ui.showToast('提交交付物信息失败'); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// else { |
|
|
|
// // |
|
|
|
// uBadgeShow.value = true; |
|
|
@ -122,7 +152,9 @@ function submit() { |
|
|
|
|
|
|
|
// 查看历史记录 |
|
|
|
function openDeliverHistory() { |
|
|
|
uni.navigateTo({ url: '/pages/submitList/submitList' }); |
|
|
|
const deliverIds = deliver.value.deliverId |
|
|
|
// console.log(deliverId) |
|
|
|
uni.navigateTo({ url:`/pages/submitList/submitList?deliverId=${deliverIds}`}); |
|
|
|
} |
|
|
|
|
|
|
|
// 粘贴上传 |
|
|
@ -143,7 +175,7 @@ async function uploadFile() { |
|
|
|
['.xls', '.xlsx', '.zip', '.exe', '.pdf', '.doc', '.docx', '.ppt', '.pptx'], |
|
|
|
'files', |
|
|
|
); |
|
|
|
// console.log(data[0]) |
|
|
|
// console.log(data[0]); |
|
|
|
linkValue.value = data[0].visitUrl; |
|
|
|
} catch (error) { |
|
|
|
console.error('error: ', error); |
|
|
@ -167,18 +199,29 @@ async function uploadPhoto() { |
|
|
|
} |
|
|
|
|
|
|
|
// 确定修改交付物名称 |
|
|
|
function confirmEditDeliverName() { |
|
|
|
async function confirmEditDeliverName() { |
|
|
|
// TODO: 发请求 请求成功后更新task里的交付物信息 |
|
|
|
if (!newInputRef.value) { |
|
|
|
// TODO: 提示不能为空 |
|
|
|
uni.$ui.showToast('输入不能为空'); |
|
|
|
} else { |
|
|
|
// 请求成功 才会清空 请求失败保留 |
|
|
|
showEditModal.value = false; |
|
|
|
showMask.value = false; |
|
|
|
uBadgeShow.value = false; |
|
|
|
newInputRef.value = ''; |
|
|
|
} |
|
|
|
try { |
|
|
|
const param = { |
|
|
|
projectId:store.state.project.project.id, |
|
|
|
taskId:props.task.id, |
|
|
|
deliverName:newInputRef.value |
|
|
|
} |
|
|
|
await uni.$u.api.editDeliverName(param); |
|
|
|
// uni.$ui.showToast('修改交付物名称成功'); |
|
|
|
getDeliverData() |
|
|
|
// 请求成功 才会清空 请求失败保留 |
|
|
|
showEditModal.value = false; |
|
|
|
showMask.value = false; |
|
|
|
uBadgeShow.value = false; |
|
|
|
newInputRef.value = ''; |
|
|
|
} catch (error) { |
|
|
|
console.error('error: ', error); |
|
|
|
uni.$ui.showToast('修改交付物名称失败'); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 删除交付物按钮 |
|
|
@ -199,6 +242,8 @@ async function confirmDelete() { |
|
|
|
console.error('error: ', error); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
</script> |
|
|
|
|
|
|
|
<style scoped lang="scss"></style> |
|
|
|