|
@@ -1,46 +1,48 @@
|
|
|
<template>
|
|
|
<div class="hc-layout-box">
|
|
|
- <div class="hc-layout-left-box" id="wbs-left-tree" :style="'width:' + leftWidth + 'px;'">
|
|
|
+ <div id="wbs-left-tree" :style="'width:' + leftWidth + 'px;'" class="hc-layout-left-box">
|
|
|
<div class="hc-project-box">
|
|
|
<div class="hc-project-icon-box">
|
|
|
<HcIcon name="stack"/>
|
|
|
</div>
|
|
|
<div class="ml-2 project-name-box">
|
|
|
- <span class="text-xl text-cut project-alias">{{projectInfo['projectAlias']}}</span>
|
|
|
- <div class="text-xs text-cut project-name">{{projectInfo['name']}}</div>
|
|
|
+ <span class="text-xl text-cut project-alias">{{ projectInfo['projectAlias'] }}</span>
|
|
|
+ <div class="text-xs text-cut project-name">{{ projectInfo['name'] }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="hc-tree-box">
|
|
|
<div class="hc-search-tree-val">
|
|
|
- <el-input v-model="searchTreeVal" block size="large" placeholder="请输入名称关键词检索" clearable @keyup="searchTreeKeyUp" >
|
|
|
+ <el-input v-model="searchTreeVal" block clearable placeholder="请输入名称关键词检索" size="large"
|
|
|
+ @keyup="searchTreeKeyUp">
|
|
|
<template #suffix>
|
|
|
<HcIcon name="search-2" ui="text-xl iscusor" @click="searchTreeClick"/>
|
|
|
</template>
|
|
|
</el-input>
|
|
|
</div>
|
|
|
- <div class="hc-tree-scrollbar" v-loading="treeLoading" element-loading-text="获取数据中...">
|
|
|
+ <div v-loading="treeLoading" class="hc-tree-scrollbar" element-loading-text="获取数据中...">
|
|
|
<el-scrollbar>
|
|
|
<KeepAlive>
|
|
|
<template v-if="isSearchTree">
|
|
|
- <HcTreeData :datas="searchTreeData" :autoExpandKeys="treeAutoExpandKeys" :submitCounts="true" isColor
|
|
|
- @nodeTap="wbsElTreeClick"
|
|
|
- :searchTreeVal="searchTreeVal"
|
|
|
- @changeSearch="changeisSearch"
|
|
|
- @changetreelaod="changetreelaod"
|
|
|
- :ElTreeLoadNode="searchElTreeLoadNode"
|
|
|
+ <HcTreeData :ElTreeLoadNode="searchElTreeLoadNode" :autoExpandKeys="treeAutoExpandKeys"
|
|
|
+ :datas="searchTreeData" :searchTreeVal="searchTreeVal"
|
|
|
+ :submitCounts="true"
|
|
|
+ isColor
|
|
|
+ @changeSearch="changeisSearch"
|
|
|
+ @changetreelaod="changetreelaod"
|
|
|
+ @nodeTap="wbsElTreeClick"
|
|
|
/>
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
- <WbsTree
|
|
|
- :autoExpandKeys="treeAutoExpandKeys"
|
|
|
- :projectId="projectId"
|
|
|
- :contractId="contractId"
|
|
|
- :submitCounts="true"
|
|
|
- :treeKey="wbstreeKey"
|
|
|
- isColor
|
|
|
- @nodeTap="wbsElTreeClick"
|
|
|
- :classifyType="contractTypeTabKey"
|
|
|
- ref="wbstree"
|
|
|
+ <WbsTree
|
|
|
+ ref="wbstree"
|
|
|
+ :autoExpandKeys="treeAutoExpandKeys"
|
|
|
+ :classifyType="contractTypeTabKey"
|
|
|
+ :contractId="contractId"
|
|
|
+ :projectId="projectId"
|
|
|
+ :submitCounts="true"
|
|
|
+ :treeKey="wbstreeKey"
|
|
|
+ isColor
|
|
|
+ @nodeTap="wbsElTreeClick"
|
|
|
/>
|
|
|
</template>
|
|
|
</KeepAlive>
|
|
@@ -60,37 +62,42 @@
|
|
|
<HcCard :scrollbar="false" actionSize="lg">
|
|
|
<template #header>
|
|
|
<HcTooltip keys="query_report">
|
|
|
- <el-button type="primary" hc-btn :disabled="tableCheckedKeys.length <= 0" :loading="reportLoading" @click="reportModalClick">
|
|
|
+ <el-button :disabled="tableCheckedKeys.length <= 0" :loading="reportLoading" hc-btn
|
|
|
+ type="primary" @click="reportModalClick">
|
|
|
<HcIcon name="send-plane-2"/>
|
|
|
<span>上报</span>
|
|
|
</el-button>
|
|
|
</HcTooltip>
|
|
|
<HcTooltip keys="query_download">
|
|
|
- <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" :loading="downloadLoading" @click="batchDownload">
|
|
|
+ <el-button :disabled="tableCheckedKeys.length <= 0" :loading="downloadLoading" hc-btn
|
|
|
+ @click="batchDownload">
|
|
|
<HcIcon name="download"/>
|
|
|
<span>下载</span>
|
|
|
</el-button>
|
|
|
</HcTooltip>
|
|
|
<HcTooltip keys="query_print">
|
|
|
- <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" :loading="printLoading" @click="batchPrint">
|
|
|
+ <el-button :disabled="tableCheckedKeys.length <= 0" :loading="printLoading" hc-btn
|
|
|
+ @click="batchPrint">
|
|
|
<HcIcon name="printer"/>
|
|
|
<span>打印</span>
|
|
|
</el-button>
|
|
|
</HcTooltip>
|
|
|
<HcTooltip keys="query_abolish">
|
|
|
- <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" @click="batchAbolishClick">
|
|
|
+ <el-button :disabled="tableCheckedKeys.length <= 0" hc-btn @click="batchAbolishClick">
|
|
|
<HcIcon name="delete-bin-3"/>
|
|
|
<span>废除</span>
|
|
|
</el-button>
|
|
|
</HcTooltip>
|
|
|
<HcTooltip keys="query_local_attestation">
|
|
|
- <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" :loading="localLoading" @click="batchLocal">
|
|
|
+ <el-button :disabled="tableCheckedKeys.length <= 0" :loading="localLoading" hc-btn
|
|
|
+ @click="batchLocal">
|
|
|
<HcIcon name="folder-download"/>
|
|
|
<span>本地验签</span>
|
|
|
</el-button>
|
|
|
</HcTooltip>
|
|
|
<HcTooltip keys="query_online_attestation">
|
|
|
- <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" :loading="onlineLoading" @click="batchOnline">
|
|
|
+ <el-button :disabled="tableCheckedKeys.length <= 0" :loading="onlineLoading" hc-btn
|
|
|
+ @click="batchOnline">
|
|
|
<HcIcon name="cloud"/>
|
|
|
<span>在线验签</span>
|
|
|
</el-button>
|
|
@@ -99,22 +106,25 @@
|
|
|
<template #search>
|
|
|
<div class="flex items-center">
|
|
|
<div class="w-40">
|
|
|
- <el-select v-model="searchForm.taskStatus" placeholder="流程状态" clearable>
|
|
|
- <el-option v-for="item in processStatusData" :key="item.value" :label="item['dictValue']" :value="item['dictKey']"/>
|
|
|
+ <el-select v-model="searchForm.taskStatus" clearable placeholder="流程状态">
|
|
|
+ <el-option v-for="item in processStatusData" :key="item.value"
|
|
|
+ :label="item['dictValue']" :value="item['dictKey']"/>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="w-40 ml-2">
|
|
|
- <el-select v-model="searchForm.fileUserIdAndName" placeholder="填报人" clearable>
|
|
|
- <el-option v-for="item in reportingPersonData" :key="item.value" :label="item['label']" :value="item['value']"/>
|
|
|
+ <el-select v-model="searchForm.fileUserIdAndName" clearable placeholder="填报人">
|
|
|
+ <el-option v-for="item in reportingPersonData" :key="item.value" :label="item['label']"
|
|
|
+ :value="item['value']"/>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="w-40 ml-2">
|
|
|
- <el-select v-model="searchForm.sourceType" placeholder="文件类型" clearable>
|
|
|
- <el-option v-for="item in fileTypeData" :key="item.value" :label="item['dictValue']" :value="item['dictKey']"/>
|
|
|
+ <el-select v-model="searchForm.sourceType" clearable placeholder="文件类型">
|
|
|
+ <el-option v-for="item in fileTypeData" :key="item.value" :label="item['dictValue']"
|
|
|
+ :value="item['dictKey']"/>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="w-32 ml-2">
|
|
|
- <el-select v-model="searchForm.reportNumber" placeholder="上报批次" clearable>
|
|
|
+ <el-select v-model="searchForm.reportNumber" clearable placeholder="上报批次">
|
|
|
<el-option v-for="item in reportBatchData" :key="item" :label="item" :value="item"/>
|
|
|
</el-select>
|
|
|
</div>
|
|
@@ -122,7 +132,8 @@
|
|
|
<HcDatePicker :dates="betweenTime" clearable @change="betweenTimeUpdate"/>
|
|
|
</div>
|
|
|
<div class="w-60 ml-2">
|
|
|
- <el-input v-model="searchForm.queryValue" placeholder="请输入名称关键词检索" clearable @keyup="keyUpEvent"/>
|
|
|
+ <el-input v-model="searchForm.queryValue" clearable placeholder="请输入名称关键词检索"
|
|
|
+ @keyup="keyUpEvent"/>
|
|
|
</div>
|
|
|
<div class="ml-2">
|
|
|
<el-button type="primary" @click="searchClick">
|
|
@@ -134,17 +145,22 @@
|
|
|
</template>
|
|
|
<template #extra>
|
|
|
<template v-if="contractInfo?.contractType === 2 || contractInfo?.contractType === 3">
|
|
|
- <HcNewSwitch :datas="contractTypeTab" :keys="contractTypeTabKey" @change="contractTypeTabChange"/>
|
|
|
+ <HcNewSwitch :datas="contractTypeTab" :keys="contractTypeTabKey"
|
|
|
+ @change="contractTypeTabChange"/>
|
|
|
</template>
|
|
|
</template>
|
|
|
- <HcTable ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading" isCheck @selection-change="tableSelectionChange">
|
|
|
+ <HcTable ref="tableListRef" :column="tableListColumn" :datas="tableListData" :loading="tableLoading"
|
|
|
+ isCheck @selection-change="tableSelectionChange">
|
|
|
<template #name="{row}">
|
|
|
- <span class="text-link" @click="tableRowName(row)">{{row?.name}}</span>
|
|
|
+ <span class="text-link" @click="tableRowName(row)">{{ row?.name }}</span>
|
|
|
</template>
|
|
|
<template #waitingUserList="{row}">
|
|
|
<template v-for="item in row['waitingUserList']">
|
|
|
- <el-tag :type="`${item.status === 2 ? 'success' : item.status === 3 ? 'warning' : item.status === 999 ? 'danger' : 'info'}`"
|
|
|
- class="mx-1" effect="dark" v-if="item['waitingUserName']">{{item['waitingUserName']}}</el-tag>
|
|
|
+ <el-tag
|
|
|
+ v-if="item['waitingUserName']"
|
|
|
+ :type="`${item.status === 2 ? 'success' : item.status === 3 ? 'warning' : item.status === 999 ? 'danger' : 'info'}`"
|
|
|
+ class="mx-1" effect="dark">{{ item['waitingUserName'] }}
|
|
|
+ </el-tag>
|
|
|
</template>
|
|
|
</template>
|
|
|
</HcTable>
|
|
@@ -152,10 +168,10 @@
|
|
|
<div class="lr-dialog-footer">
|
|
|
<div class="left">
|
|
|
<span class="text-success">任务人员中:</span>
|
|
|
- <el-tag type="info" class="mx-1" effect="dark">未签字</el-tag>
|
|
|
- <el-tag type="success" class="mx-1" effect="dark">已签字</el-tag>
|
|
|
- <el-tag type="warning" class="mx-1" effect="dark">已废除</el-tag>
|
|
|
- <el-tag type="danger" class="mx-1" effect="dark">签字异常</el-tag>
|
|
|
+ <el-tag class="mx-1" effect="dark" type="info">未签字</el-tag>
|
|
|
+ <el-tag class="mx-1" effect="dark" type="success">已签字</el-tag>
|
|
|
+ <el-tag class="mx-1" effect="dark" type="warning">已废除</el-tag>
|
|
|
+ <el-tag class="mx-1" effect="dark" type="danger">签字异常</el-tag>
|
|
|
</div>
|
|
|
<div class="right">
|
|
|
<HcPages :pages="searchForm" @change="pageChange"/>
|
|
@@ -166,18 +182,18 @@
|
|
|
</div>
|
|
|
|
|
|
<!--批量上报审批-->
|
|
|
- <HcReportModal title="批量上报审批"
|
|
|
- url="informationWriteQuery/batchTask"
|
|
|
- :show="showReportModal"
|
|
|
- :projectId="projectId"
|
|
|
- :contractId="contractId"
|
|
|
- :taskName="reportTaskName"
|
|
|
- :ids="reportIds"
|
|
|
- isDatas
|
|
|
- :datas="reportDatas"
|
|
|
- @hide="showReportModal = false"
|
|
|
- @finish="showReportFinish"
|
|
|
- @tagClose="reportTaskTagClose"
|
|
|
+ <HcReportModal :contractId="contractId"
|
|
|
+ :datas="reportDatas"
|
|
|
+ :ids="reportIds"
|
|
|
+ :projectId="projectId"
|
|
|
+ :show="showReportModal"
|
|
|
+ :taskName="reportTaskName"
|
|
|
+ isDatas
|
|
|
+ title="批量上报审批"
|
|
|
+ url="informationWriteQuery/batchTask"
|
|
|
+ @finish="showReportFinish"
|
|
|
+ @hide="showReportModal = false"
|
|
|
+ @tagClose="reportTaskTagClose"
|
|
|
/>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -194,7 +210,7 @@ import {eVisaTaskCheckApi} from "~api/other"
|
|
|
|
|
|
//变量
|
|
|
const useAppState = useAppStore()
|
|
|
-const {getObjValue, getArrValue, isObjNull} = isType()
|
|
|
+const {getObjValue, getArrValue} = isType()
|
|
|
const projectId = ref(useAppState.getProjectId);
|
|
|
const contractId = ref(useAppState.getContractId);
|
|
|
const projectInfo = ref(useAppState.getProjectInfo);
|
|
@@ -202,13 +218,13 @@ const contractInfo = ref(useAppState.getContractInfo);
|
|
|
const isCollapse = ref(useAppState.getCollapse)
|
|
|
//变量
|
|
|
const wbstree = ref(null)
|
|
|
-const wbstreeKey=ref(Math.random())
|
|
|
+const wbstreeKey = ref(Math.random())
|
|
|
//树搜索
|
|
|
const isSearchTree = ref(false)
|
|
|
//监听
|
|
|
watch(() => [
|
|
|
useAppState.getCollapse,
|
|
|
-], ([Collapse,newsearchTreeVal]) => {
|
|
|
+], ([Collapse]) => {
|
|
|
isCollapse.value = Collapse
|
|
|
})
|
|
|
|
|
@@ -221,12 +237,12 @@ onMounted(() => {
|
|
|
getReportNumber()
|
|
|
getFirstTaskStatus()
|
|
|
getDictBizClassify()
|
|
|
- if(contractTypeTabKey.value==2){
|
|
|
- getSearchTreeDataJl()
|
|
|
- }else{
|
|
|
- getSearchTreeData()
|
|
|
+ if (contractTypeTabKey.value == 2) {
|
|
|
+ getSearchTreeDataJl()
|
|
|
+ } else {
|
|
|
+ getSearchTreeData()
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
|
|
|
})
|
|
|
|
|
@@ -236,53 +252,52 @@ const searchTreeData = ref([])
|
|
|
|
|
|
//回车
|
|
|
const treeLoading = ref(false)
|
|
|
-const getSearchTreeData=async()=>{
|
|
|
+const getSearchTreeData = async () => {
|
|
|
// treeLoading.value = true
|
|
|
- searchElTreeLoadNode.value = true
|
|
|
- const {error, code, data} = await queryApi.getTreeall({
|
|
|
- contractId: contractId.value,
|
|
|
- projectId: projectId.value,
|
|
|
- wbsId:projectInfo?.value.referenceWbsTemplateId,
|
|
|
- type:1
|
|
|
- })
|
|
|
- //判断状态
|
|
|
- if (!error && code === 200) {
|
|
|
- searchTreeData.value = getArrValue(data)
|
|
|
- searchElTreeLoadNode.value = false
|
|
|
- treeLoading.value = false
|
|
|
- } else {
|
|
|
- searchElTreeLoadNode.value = false
|
|
|
- treeLoading.value = false
|
|
|
- searchTreeData.value = []
|
|
|
- }
|
|
|
-
|
|
|
+ searchElTreeLoadNode.value = true
|
|
|
+ const {error, code, data} = await queryApi.getTreeall({
|
|
|
+ contractId: contractId.value,
|
|
|
+ projectId: projectId.value,
|
|
|
+ wbsId: projectInfo?.value.referenceWbsTemplateId,
|
|
|
+ type: 1
|
|
|
+ })
|
|
|
+ //判断状态
|
|
|
+ if (!error && code === 200) {
|
|
|
+ searchTreeData.value = getArrValue(data)
|
|
|
+ searchElTreeLoadNode.value = false
|
|
|
+ treeLoading.value = false
|
|
|
+ } else {
|
|
|
+ searchElTreeLoadNode.value = false
|
|
|
+ treeLoading.value = false
|
|
|
+ searchTreeData.value = []
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
-const searchElTreeLoadNode=ref(true)
|
|
|
-const getSearchTreeDataJl=async()=>{
|
|
|
+const searchElTreeLoadNode = ref(true)
|
|
|
+const getSearchTreeDataJl = async () => {
|
|
|
// treeLoading.value = true
|
|
|
- searchElTreeLoadNode.value = true
|
|
|
- const {error, code, data} = await queryApi.getTreeallJl({
|
|
|
- contractId: contractId.value,
|
|
|
- type:1
|
|
|
- })
|
|
|
- //判断状态
|
|
|
- if (!error && code === 200) {
|
|
|
- searchElTreeLoadNode.value = false
|
|
|
-
|
|
|
- let searchobj=getObjValue(data)
|
|
|
- let searcharr=[]
|
|
|
- for (let key in searchobj) {
|
|
|
- searcharr.push(searchobj[key][0])
|
|
|
- }
|
|
|
- searchTreeData.value =searcharr
|
|
|
- treeLoading.value = false
|
|
|
-
|
|
|
- } else {
|
|
|
- treeLoading.value = false
|
|
|
- searchElTreeLoadNode.value = false
|
|
|
- searchTreeData.value = []
|
|
|
+ searchElTreeLoadNode.value = true
|
|
|
+ const {error, code, data} = await queryApi.getTreeallJl({
|
|
|
+ contractId: contractId.value,
|
|
|
+ type: 1
|
|
|
+ })
|
|
|
+ //判断状态
|
|
|
+ if (!error && code === 200) {
|
|
|
+ searchElTreeLoadNode.value = false
|
|
|
+
|
|
|
+ let searchobj = getObjValue(data)
|
|
|
+ let searcharr = []
|
|
|
+ for (let key in searchobj) {
|
|
|
+ searcharr.push(searchobj[key][0])
|
|
|
}
|
|
|
-
|
|
|
+ searchTreeData.value = searcharr
|
|
|
+ treeLoading.value = false
|
|
|
+
|
|
|
+ } else {
|
|
|
+ treeLoading.value = false
|
|
|
+ searchElTreeLoadNode.value = false
|
|
|
+ searchTreeData.value = []
|
|
|
+ }
|
|
|
}
|
|
|
const searchTreeKeyUp = (e) => {
|
|
|
if (e.key === "Enter") {
|
|
@@ -291,30 +306,28 @@ const searchTreeKeyUp = (e) => {
|
|
|
}
|
|
|
|
|
|
const searchTreeClick = async () => {
|
|
|
- treeLoading.value=true
|
|
|
- if(searchElTreeLoadNode.value===true){
|
|
|
- treeLoading.value=true
|
|
|
- window?.$message?.warning('请加载完再次点击搜索')
|
|
|
- }else{
|
|
|
- isSearchTree.value=true
|
|
|
- // treeLoading.value=false
|
|
|
+ treeLoading.value = true
|
|
|
+ if (searchElTreeLoadNode.value === true) {
|
|
|
+ treeLoading.value = true
|
|
|
+ window?.$message?.warning('请加载完再次点击搜索')
|
|
|
+ } else {
|
|
|
+ isSearchTree.value = true
|
|
|
+ // treeLoading.value=false
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//树相关的变量
|
|
|
const primaryKeyId = ref('')
|
|
|
const nodeItemInfo = ref({})
|
|
|
const nodeDataInfo = ref({})
|
|
|
-const changeisSearch=()=>{
|
|
|
- isSearchTree.value=false
|
|
|
+const changeisSearch = () => {
|
|
|
+ isSearchTree.value = false
|
|
|
}
|
|
|
-const changetreelaod=(val)=>{
|
|
|
- treeLoading.value=val
|
|
|
-
|
|
|
+const changetreelaod = (val) => {
|
|
|
+ treeLoading.value = val
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//树被点击
|
|
@@ -324,7 +337,7 @@ const wbsElTreeClick = ({node, data, keys}) => {
|
|
|
primaryKeyId.value = data['primaryKeyId'] || ''
|
|
|
//缓存自动展开
|
|
|
treeAutoExpandKeys.value = keys
|
|
|
- setStoreData('wbsTreeExpandKeys',keys)
|
|
|
+ setStoreData('wbsTreeExpandKeys', keys)
|
|
|
//改变搜索表单数据
|
|
|
searchForm.value.wbsId = data['primaryKeyId']
|
|
|
searchForm.value.contractIdRelation = data['contractIdRelation']
|
|
@@ -358,7 +371,7 @@ const getFileUser = async () => {
|
|
|
const getReportNumber = async () => {
|
|
|
const {error, code, data} = await queryApi.getReportNumber({
|
|
|
contractId: contractId.value,
|
|
|
- projectId:projectId.value
|
|
|
+ projectId: projectId.value
|
|
|
})
|
|
|
//判断状态
|
|
|
if (!error && code === 200) {
|
|
@@ -402,16 +415,16 @@ const searchForm = ref({
|
|
|
|
|
|
//结构类型tab数据和相关处理
|
|
|
// const contractTypeTabKey = ref('1')
|
|
|
- const { contractType } = contractInfo.value;
|
|
|
-const contractTypeTabKey = ref(contractType===2?'2':'1')
|
|
|
+const {contractType} = contractInfo.value;
|
|
|
+const contractTypeTabKey = ref(contractType === 2 ? '2' : '1')
|
|
|
const contractTypeTab = ref([
|
|
|
- {key:'1', name: '施工数据'},
|
|
|
- {key:'2', name: '监理数据'}
|
|
|
+ {key: '1', name: '施工数据'},
|
|
|
+ {key: '2', name: '监理数据'}
|
|
|
]);
|
|
|
const contractTypeTabChange = (item) => {
|
|
|
contractTypeTabKey.value = item?.key;
|
|
|
// window?.location?.reload() //刷新页面
|
|
|
- searchClick()
|
|
|
+ searchClick()
|
|
|
}
|
|
|
|
|
|
//获取合同段类型
|
|
@@ -421,16 +434,16 @@ const contractTypeTabChange = (item) => {
|
|
|
// return contractTypeTabKey.value ?? '1'
|
|
|
|
|
|
// } else {
|
|
|
-
|
|
|
+
|
|
|
// return null
|
|
|
-
|
|
|
+
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
|
|
|
//日期时间被选择
|
|
|
const betweenTime = ref(null)
|
|
|
-const betweenTimeUpdate = ({arr,query}) => {
|
|
|
+const betweenTimeUpdate = ({arr, query}) => {
|
|
|
betweenTime.value = arr
|
|
|
searchForm.value.betweenTime = query
|
|
|
}
|
|
@@ -446,13 +459,13 @@ const keyUpEvent = (e) => {
|
|
|
//搜索
|
|
|
const searchClick = () => {
|
|
|
searchForm.value.current = 1;
|
|
|
- wbstreeKey.value=Math.random()
|
|
|
- getTableData()
|
|
|
+ wbstreeKey.value = Math.random()
|
|
|
+ getTableData()
|
|
|
// wbstree.value.resetNode().then((red)=>{
|
|
|
// if(red){
|
|
|
// getTableData()
|
|
|
// }
|
|
|
-
|
|
|
+
|
|
|
// })
|
|
|
|
|
|
}
|
|
@@ -468,12 +481,12 @@ const pageChange = ({current, size}) => {
|
|
|
const tableListRef = ref(null)
|
|
|
const tableLoading = ref(false)
|
|
|
const tableListColumn = ref([
|
|
|
- {key:'name', name: '文件名称'},
|
|
|
- {key:'startTime', name: '开始时间'},
|
|
|
- {key:'taskStatusStr', name: '流程状态'},
|
|
|
- {key:'reportNumber', name: '上报批次'},
|
|
|
- {key:'fileUserIdAndName', name: '填报人'},
|
|
|
- {key:'waitingUserList', name: '任务人'}
|
|
|
+ {key: 'name', name: '文件名称'},
|
|
|
+ {key: 'startTime', name: '开始时间'},
|
|
|
+ {key: 'taskStatusStr', name: '流程状态'},
|
|
|
+ {key: 'reportNumber', name: '上报批次'},
|
|
|
+ {key: 'fileUserIdAndName', name: '填报人'},
|
|
|
+ {key: 'waitingUserList', name: '任务人'}
|
|
|
])
|
|
|
|
|
|
const tableListData = ref([])
|
|
@@ -483,11 +496,11 @@ const getTableData = async () => {
|
|
|
tableCheckedKeys.value = []
|
|
|
tableLoading.value = true
|
|
|
// const classifyType = getContractTypeKey();
|
|
|
- const { error, code, data } = await queryApi.getPageData({
|
|
|
+ const {error, code, data} = await queryApi.getPageData({
|
|
|
projectId: projectId.value,
|
|
|
contractId: contractId.value,
|
|
|
...searchForm.value,
|
|
|
- classifyType: contractTypeTabKey.value
|
|
|
+ classifyType: contractTypeTabKey.value
|
|
|
})
|
|
|
//处理数据
|
|
|
tableLoading.value = false
|
|
@@ -507,7 +520,7 @@ const getTableData = async () => {
|
|
|
const tableCheckedKeys = ref([]);
|
|
|
const tableSelectionChange = (rows) => {
|
|
|
tableCheckedKeys.value = rows.filter((item) => {
|
|
|
- return (item??'') !== '';
|
|
|
+ return (item ?? '') !== '';
|
|
|
})
|
|
|
}
|
|
|
|
|
@@ -515,9 +528,9 @@ const tableSelectionChange = (rows) => {
|
|
|
const tableRowName = (row) => {
|
|
|
//如果 evisaPdfUrl 不为空,使用evisaPdfUrl,反之使用pdfUrl
|
|
|
if (row['evisaPdfUrl']) {
|
|
|
- window.open(row['evisaPdfUrl'],'_blank')
|
|
|
+ window.open(row['evisaPdfUrl'], '_blank')
|
|
|
} else if (row['pdfUrl']) {
|
|
|
- window.open(row['pdfUrl'],'_blank')
|
|
|
+ window.open(row['pdfUrl'], '_blank')
|
|
|
} else {
|
|
|
window.$message?.warning('文件不存在')
|
|
|
}
|
|
@@ -532,7 +545,7 @@ const reportLoading = ref(false)
|
|
|
const reportModalClick = async () => {
|
|
|
const rows = tableCheckedKeys.value;
|
|
|
//判断是否满足条件
|
|
|
- const result = rows.every(({status})=> {
|
|
|
+ const result = rows.every(({status}) => {
|
|
|
return status === 0 || status === 3
|
|
|
})
|
|
|
//判断状态
|
|
@@ -570,7 +583,7 @@ const reportModalClick = async () => {
|
|
|
//上报的审批内容移除
|
|
|
const reportTaskTagClose = (index) => {
|
|
|
const row = tableCheckedKeys.value[index];
|
|
|
- tableListRef.value?.toggleRowSelection(row,false)
|
|
|
+ tableListRef.value?.toggleRowSelection(row, false)
|
|
|
}
|
|
|
|
|
|
//上报完成
|
|
@@ -586,12 +599,12 @@ const batchDownload = async () => {
|
|
|
const ids = rowsToId(rows)
|
|
|
//批量下载
|
|
|
downloadLoading.value = true
|
|
|
- const { error, disposition, res } = await queryApi.batchDownloadFileToZip({ids: ids})
|
|
|
+ const {error, disposition, res} = await queryApi.batchDownloadFileToZip({ids: ids})
|
|
|
//处理数据
|
|
|
downloadLoading.value = false
|
|
|
if (!error) {
|
|
|
if (disposition) {
|
|
|
- downloadBlob(res,disposition)
|
|
|
+ downloadBlob(res, disposition)
|
|
|
} else {
|
|
|
window.$message?.error('数据异常')
|
|
|
}
|
|
@@ -605,12 +618,12 @@ const batchPrint = async () => {
|
|
|
const ids = rowsToId(rows)
|
|
|
//批量下载
|
|
|
printLoading.value = true
|
|
|
- const { error, code, data } = await queryApi.batchPrint({ids: ids})
|
|
|
+ const {error, code, data} = await queryApi.batchPrint({ids: ids})
|
|
|
//处理数据
|
|
|
printLoading.value = false
|
|
|
- const res = isString(data)? data ?? '': ''
|
|
|
+ const res = isString(data) ? data ?? '' : ''
|
|
|
if (!error && code === 200 && res) {
|
|
|
- window.open(res,'_blank')
|
|
|
+ window.open(res, '_blank')
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -618,7 +631,7 @@ const batchPrint = async () => {
|
|
|
const batchAbolishClick = () => {
|
|
|
const rows = tableCheckedKeys.value;
|
|
|
//判断是否满足条件
|
|
|
- const result = rows.every(({status})=> {
|
|
|
+ const result = rows.every(({status}) => {
|
|
|
return status !== 0 && status !== 3
|
|
|
})
|
|
|
//判断状态
|
|
@@ -641,7 +654,7 @@ const batchAbolishClick = () => {
|
|
|
}
|
|
|
//废除勾选的已上报文件
|
|
|
const batchAbolishSave = async (ids) => {
|
|
|
- const { error, code } = await queryApi.batchAbolish({ids: ids})
|
|
|
+ const {error, code} = await queryApi.batchAbolish({ids: ids})
|
|
|
//处理数据
|
|
|
if (!error && code === 200) {
|
|
|
window.$message?.success('批量废除成功')
|
|
@@ -655,7 +668,7 @@ const localLoading = ref(false)
|
|
|
const batchLocal = async () => {
|
|
|
const rows = tableCheckedKeys.value;
|
|
|
//判断是否满足条件
|
|
|
- const result = rows.every(({status})=> {
|
|
|
+ const result = rows.every(({status}) => {
|
|
|
return status === 2
|
|
|
})
|
|
|
//判断状态
|
|
@@ -663,7 +676,7 @@ const batchLocal = async () => {
|
|
|
const ids = rowsToId(rows)
|
|
|
//请求数据
|
|
|
localLoading.value = true
|
|
|
- const { error, code, data } = await queryApi.localVerify({
|
|
|
+ const {error, code, data} = await queryApi.localVerify({
|
|
|
ids: ids
|
|
|
})
|
|
|
//处理数据
|
|
@@ -690,7 +703,7 @@ const batchOnline = async () => {
|
|
|
}
|
|
|
//发起
|
|
|
onlineLoading.value = true
|
|
|
- const { error, code, data } = await queryApi.onlineVerify({
|
|
|
+ const {error, code, data} = await queryApi.onlineVerify({
|
|
|
ids: rows[0]['id']
|
|
|
})
|
|
|
//处理数据
|
|
@@ -713,7 +726,7 @@ const onmousedown = () => {
|
|
|
const leftNum = isCollapse.value ? 142 : 272
|
|
|
document.onmousemove = (ve) => {
|
|
|
let diffVal = ve.clientX - leftNum;
|
|
|
- if(diffVal >= 310 && diffVal <= 900) {
|
|
|
+ if (diffVal >= 310 && diffVal <= 900) {
|
|
|
leftWidth.value = diffVal;
|
|
|
}
|
|
|
}
|
|
@@ -726,7 +739,7 @@ const onmousedown = () => {
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
@import "../../styles/data-fill/query.scss";
|
|
|
-.iscusor{
|
|
|
+.iscusor {
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
</style>
|