|
@@ -111,6 +111,16 @@
|
|
|
</el-button>
|
|
|
</HcTooltip>
|
|
|
<el-button :disabled="tableCheckedKeys.length <= 0" :loading="signLoading" hc-btn type="primary" @click="resignClick"> <HcIcon name="repeat" />re-sign</el-button>
|
|
|
+ <el-button
|
|
|
+ v-if="userInfo.dept_id === '1536982621165592577'"
|
|
|
+ :disabled="tableCheckedKeys.length <= 0"
|
|
|
+ :loading="signLoading"
|
|
|
+ hc-btn type="warning"
|
|
|
+ @click="resignClick1"
|
|
|
+ >
|
|
|
+ <HcIcon name="repeat" />
|
|
|
+ 一键重签
|
|
|
+ </el-button>
|
|
|
<HcTooltip keys="save_agin">
|
|
|
<el-button
|
|
|
:disabled="tableCheckedKeys.length <= 0" :loading="saveAginLoading" hc-btn
|
|
@@ -304,7 +314,29 @@
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
</hc-new-dialog>
|
|
|
-
|
|
|
+ <!-- 一键重签弹窗1 -->
|
|
|
+ <hc-new-dialog v-model="resignModal1" title="一键重签" widths="38rem" :loading="signLoading1" @close="cancelresign1" @save="signClick1">
|
|
|
+ <div>
|
|
|
+ <el-radio-group v-model="resignModalRadio1">
|
|
|
+ <el-radio :value="0">全部电签</el-radio>
|
|
|
+ <el-radio :value="1" :disabled="tableCheckedKeys.length > 1">部分电签</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </div>
|
|
|
+ <div v-if="resignModalRadio1 === 1">
|
|
|
+ <el-checkbox-group v-model="checkTaskUserIds">
|
|
|
+ <el-checkbox v-for="item in tableCheckedKeys[0].waitingUserList" :key="item.id" :label="item.waitingUserName" :value="item.userId">
|
|
|
+ <el-tag
|
|
|
+
|
|
|
+
|
|
|
+ :type="`${item.status === 2 ? 'success' : item.status === 3 ? 'warning' : item.status === 999 ? 'danger' : 'info'}`"
|
|
|
+ class="mx-1" effect="dark"
|
|
|
+ >
|
|
|
+ {{ item.waitingUserName }}
|
|
|
+ </el-tag>
|
|
|
+ </el-checkbox>
|
|
|
+ </el-checkbox-group>
|
|
|
+ </div>
|
|
|
+ </hc-new-dialog>
|
|
|
<!-- 重置文件题名弹窗 -->
|
|
|
<hc-new-dialog v-model="resignTitleModal" title="重置题名" widths="38rem" :loading="resignTitleSaveLoad" @save="resignTitleSave">
|
|
|
<div>
|
|
@@ -400,6 +432,7 @@ const projectId = ref(useAppState.getProjectId)
|
|
|
const contractId = ref(useAppState.getContractId)
|
|
|
const projectInfo = ref(useAppState.getProjectInfo)
|
|
|
const contractInfo = ref(useAppState.getContractInfo)
|
|
|
+const userInfo = ref(useAppState.getUserInfo)
|
|
|
const isCollapse = ref(useAppState.getCollapse)
|
|
|
const isLayout = ref(useAppState.isLayout)
|
|
|
const isTemplateType = ref(useAppState.contractInfo?.templateType === 2)
|
|
@@ -1372,6 +1405,62 @@ const getWbsNodeTypeApi = async () => {
|
|
|
}
|
|
|
nodeTypeData.value = newArr
|
|
|
}
|
|
|
+//一键重签1
|
|
|
+const resignModal1 = ref(false)
|
|
|
+const resignModalRadio1 = ref(0)
|
|
|
+const resignClick1 = ()=>{
|
|
|
+ const rows = tableCheckedKeys.value
|
|
|
+ if (rows.length <= 0) {
|
|
|
+ window.$message?.warning('勾选错误!只能操作待审批和已审批数据')
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ resignModal1.value = true
|
|
|
+}
|
|
|
+const signLoading1 = ref(false)
|
|
|
+const cancelresign1 = ()=>{
|
|
|
+ resignModalRadio1.value = 0
|
|
|
+ resignModal1.value = false
|
|
|
+ checkTaskUserIds.value = []
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+const signClick1 = async () => {
|
|
|
+ const rows = tableCheckedKeys.value
|
|
|
+ //获取任务id
|
|
|
+ const ids = arrToId(rows)
|
|
|
+
|
|
|
+ if (resignModalRadio1.value === 1) {
|
|
|
+ if (checkTaskUserIds.value.length === 0) {
|
|
|
+ return window.$message?.warning('请选择用户')
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ checkTaskUserIds.value = []
|
|
|
+ }
|
|
|
+ //发起请求
|
|
|
+ signLoading1.value = true
|
|
|
+
|
|
|
+
|
|
|
+ const { error, code, msg } = await queryApi.reSigningEVisa1({
|
|
|
+ userIds: checkTaskUserIds.value.length === 1 ? checkTaskUserIds.value[0] : checkTaskUserIds.value.join(','),
|
|
|
+
|
|
|
+ ids: ids,
|
|
|
+
|
|
|
+
|
|
|
+ })
|
|
|
+ //处理数据
|
|
|
+ signLoading1.value = false
|
|
|
+
|
|
|
+ if (!error && code === 200) {
|
|
|
+ window.$message?.success(msg ?? '提交成功,请请耐心等待重签,可继续操作其它的功能。')
|
|
|
+ cancelresign1()
|
|
|
+ getTableData().then()
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+const checkTaskUserIds = ref([])
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|