|
@@ -43,11 +43,27 @@
|
|
|
</div>
|
|
|
<template #right>
|
|
|
<div class="flex items-center h-full bg-white">
|
|
|
- <template v-for="subItem in popUpWindowArray">
|
|
|
- <div class="buttonCircle rounded-full items-justify-center text-white" @click="longPress(item, subItem)">
|
|
|
- <img :src="subItem.icon" class="w-full h-full">
|
|
|
+ <template v-if="!item.inchargerName">
|
|
|
+ <div class="buttonCircle rounded-full" @click="claimAndClaim(item)" v-if="['business', 'thread',
|
|
|
+ 'customer'].includes(queryParameters?.key)">
|
|
|
+ <img src="/src/assets/image/claimAndClaim.png" class="w-full h-full">
|
|
|
</div>
|
|
|
</template>
|
|
|
+ <template v-if="item.inchargerName || item.ownerName">
|
|
|
+ <div class="buttonCircle rounded-full" @click="transfer(item)" v-if="['business', 'thread',
|
|
|
+ 'customer', 'contacts'].includes(queryParameters?.key)">
|
|
|
+ <img src="/src/assets/image/transfer.png" class="w-full h-full">
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div class="buttonCircle rounded-full" @click="topMounted(item)">
|
|
|
+ <img src="/src/assets/image/topMounted.png" class="w-full h-full">
|
|
|
+ </div>
|
|
|
+ <div class="buttonCircle rounded-full" @click="edit(item)">
|
|
|
+ <img src="/src/assets/image/edit.png" class="w-full h-full">
|
|
|
+ </div>
|
|
|
+ <div class="buttonCircle rounded-full" @click="deleteRow(item)">
|
|
|
+ <img src="/src/assets/image/delete.png" class="w-full h-full">
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
</van-swipe-cell>
|
|
@@ -97,6 +113,7 @@ import { GET_CUSTOM_FORM_JSON } from '@hooks/useApi'
|
|
|
import requests from "@common/requests";
|
|
|
import useRouterStore from "@store/useRouterStore.js";
|
|
|
import useFixedData from "@store/useFixedData.js"
|
|
|
+import useInfoStore from '@store/useInfoStore'
|
|
|
// import ElementLongPress from "@components/common/elementLongPress.vue";
|
|
|
import DragBox from '@components/common/dragBox.vue';
|
|
|
|
|
@@ -108,6 +125,7 @@ const TOP_MOUNTED = 'topMounted';
|
|
|
const { toastSuccess, toastFail, toastText } = useShowToast()
|
|
|
const router = useRouterStore()
|
|
|
const fixedData = useFixedData()
|
|
|
+const userInfo = useInfoStore()
|
|
|
const searchVal = ref()
|
|
|
const queryParameters = ref({})
|
|
|
const loadingList = ref(false)
|
|
@@ -159,7 +177,7 @@ function edit(row) {
|
|
|
const formList = resetListData(formJson?.list)
|
|
|
const filedObj = getListFieldKey(formList, row)
|
|
|
let other = {}
|
|
|
- if(queryParameters.value.key == 'tasks') {
|
|
|
+ if (queryParameters.value.key == 'tasks') {
|
|
|
other = { ...row }
|
|
|
}
|
|
|
toAddEditor({ ...other, ...filedObj, id: row.id })
|
|
@@ -173,7 +191,7 @@ function transfer(row) {
|
|
|
}
|
|
|
|
|
|
function confirmTransfer() {
|
|
|
- if(!dialogSelection.value.label) {
|
|
|
+ if (!dialogSelection.value.label) {
|
|
|
return toastText('请选择要转移的人员')
|
|
|
}
|
|
|
const { id } = excessiveData.value
|
|
@@ -185,6 +203,21 @@ function confirmTransfer() {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+// 认领
|
|
|
+function claimAndClaim(item) {
|
|
|
+ const { id, name, clueName, customName } = item
|
|
|
+ const userId = userInfo.userInfo.id
|
|
|
+ showConfirmDialog({
|
|
|
+ title: `认领${queryParameters.value.name}`,
|
|
|
+ message: `确定认领【${name || clueName || customName}】${queryParameters.value.name}吗?`,
|
|
|
+ }).then(() => {
|
|
|
+ requests.post(queryParameters?.value.transferInterface, { ids: id, inchargerId: userId }).then((res) => {
|
|
|
+ toastSuccess('认领成功')
|
|
|
+ onRefresh(true)
|
|
|
+ })
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
// 删除事件
|
|
|
function deleteRow(row) {
|
|
|
const { name = '', searchFiled = {}, deteleFiled = '' } = queryParameters.value
|
|
@@ -322,7 +355,7 @@ function selectChange(value, label) {
|
|
|
}
|
|
|
|
|
|
function dialogCloseBefo(val) {
|
|
|
- if(val == 'confirm' && showDialog.value) {
|
|
|
+ if (val == 'confirm' && showDialog.value) {
|
|
|
return false
|
|
|
}
|
|
|
|
|
@@ -367,7 +400,7 @@ useLifecycle({
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-.headerModeuleList :deep(.van-search__content) {
|
|
|
+.headerModeuleList :deep(.van-search__content) {
|
|
|
background: #fff !im\portant;
|
|
|
height: 42px;
|
|
|
align-items: center;
|