|
@@ -34,6 +34,11 @@
|
|
|
<el-button :disabled="tableCheckedKeys.length <= 0" hc-btn type="danger" @click="delModalClick">删除</el-button>
|
|
|
</HcTooltip>
|
|
|
<el-button :disabled="tableCheckedKeys.length <= 0" :loading="onlineLoading" color="#e03997" hc-btn @click="batchOnline">在线验签</el-button>
|
|
|
+ <HcTooltip keys="file_collection_btn_look">
|
|
|
+ <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" type="success" @click="replaceClick">
|
|
|
+ 查找替换
|
|
|
+ </el-button>
|
|
|
+ </HcTooltip>
|
|
|
</template>
|
|
|
<template #extra>
|
|
|
<HcTooltip keys="file_collection_sort_date">
|
|
@@ -447,6 +452,71 @@
|
|
|
</hc-body>
|
|
|
</hc-new-card>
|
|
|
</hc-new-drawer>
|
|
|
+ <!-- 查找替换弹窗 -->
|
|
|
+ <hc-new-dialog v-model="showReplaceModal" widths="50vw" :loading="saveReplaceLoad" @save="saveReplace">
|
|
|
+ <template #header>
|
|
|
+ <div class="text-1xl mt-2 text-center font-bold">
|
|
|
+ {{ replaceTitle }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <div class="replace-dialog-content">
|
|
|
+ <div class="text-center">
|
|
|
+ <el-radio-group v-model="tabPosition" style="margin-bottom: 30px" @change="changeTab">
|
|
|
+ <el-radio-button value="1">新增</el-radio-button>
|
|
|
+ <el-radio-button value="2">替换</el-radio-button>
|
|
|
+ <el-radio-button value="3">删除</el-radio-button>
|
|
|
+ </el-radio-group>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <el-form
|
|
|
+ ref="ruleFormRef"
|
|
|
+ :model="ruleForm"
|
|
|
+ label-width="auto"
|
|
|
+ size="large"
|
|
|
+ >
|
|
|
+ <el-form-item v-if="tabPosition !== '3'" label="查找内容" prop="query">
|
|
|
+ <el-input v-model="ruleForm.query" placeholder="请输入原内容" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="tabPosition === '1'" label="新增内容" prop="replace">
|
|
|
+ <el-input
|
|
|
+ v-model="ruleForm.replace"
|
|
|
+ placeholder="请输入新增内容"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="tabPosition === '2'" label="替换内容" prop="replace">
|
|
|
+ <el-input
|
|
|
+ v-model="ruleForm.replace"
|
|
|
+ placeholder="请输入替换后内容"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="tabPosition === '3'" label="删除内容" prop="query">
|
|
|
+ <el-input
|
|
|
+ v-model="ruleForm.query"
|
|
|
+ placeholder="请输入原内容"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="tabPosition === '1'" label="定位条件" prop="position">
|
|
|
+ <el-select
|
|
|
+ v-model="ruleForm.position"
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ label="前"
|
|
|
+ :value="1"
|
|
|
+ />
|
|
|
+ <el-option
|
|
|
+ label="后"
|
|
|
+ :value="2"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <!-- <el-form-item label="作用范围">
|
|
|
+ <span>{{ checkInfo }}</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form> -->
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ </hc-new-dialog>
|
|
|
</hc-body>
|
|
|
</template>
|
|
|
|
|
@@ -1915,6 +1985,63 @@ const dateClick = async () => {
|
|
|
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+// 查找替换弹窗相关变量
|
|
|
+const showReplaceModal = ref(false)
|
|
|
+
|
|
|
+
|
|
|
+// 查找替换弹窗相关变量
|
|
|
+
|
|
|
+const replaceTitle = ref('查找替换')
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+// 触发查找替换弹窗显示
|
|
|
+const replaceClick = () => {
|
|
|
+
|
|
|
+
|
|
|
+ if (tableCheckedKeys.value.length === 0) {
|
|
|
+ window.$message?.warning('请选择需要更新的案卷')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 检查是否有被锁定的案卷
|
|
|
+ const lockedArchives = tableCheckedKeys.value.filter(item => item.isLock === 1)
|
|
|
+ if (lockedArchives.length > 0) {
|
|
|
+ window.$message.warning('选择的案卷中包含被锁定的项,无法操作')
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ showReplaceModal.value = true
|
|
|
+ ruleForm.value = {}
|
|
|
+}
|
|
|
+const changeTab = ()=>{
|
|
|
+ ruleForm.value = {}
|
|
|
+}
|
|
|
+const tabPosition = ref('1')
|
|
|
+const ruleFormRef = ref(null)
|
|
|
+const ruleForm = ref({})
|
|
|
+const saveReplaceLoad = ref(false)
|
|
|
+const saveReplace = async ()=>{
|
|
|
+ const rows = tableCheckedKeys.value
|
|
|
+ let ids = ''
|
|
|
+ ids = arrToId(rows)
|
|
|
+ saveReplaceLoad.value = true
|
|
|
+
|
|
|
+ const { error, code, data, msg } = await archiveFileApi.findAndReplace({
|
|
|
+ ...ruleForm.value,
|
|
|
+ ids,
|
|
|
+ type:tabPosition.value,
|
|
|
+ })
|
|
|
+
|
|
|
+ saveReplaceLoad.value = false
|
|
|
+ if (!error && code === 200) {
|
|
|
+ window.$message?.success(msg)
|
|
|
+ showReplaceModal.value = false
|
|
|
+ getTableData()
|
|
|
+ } else {
|
|
|
+ window.$message?.warning(msg)
|
|
|
+ }
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|