|
@@ -32,6 +32,11 @@
|
|
|
档号整理
|
|
|
</el-button>
|
|
|
</HcTooltip>
|
|
|
+ <HcTooltip keys="archives_tuning_update_four">
|
|
|
+ <el-button hc-btn @click="replaceClick">
|
|
|
+ 查找替换
|
|
|
+ </el-button>
|
|
|
+ </HcTooltip>
|
|
|
<HcTooltip keys="archives_tuning_update_four">
|
|
|
<el-button :loading="refreshFileFourLoading" hc-btn @click="refreshFileFourClick">
|
|
|
更新案卷四要素
|
|
@@ -75,7 +80,7 @@
|
|
|
</HcTooltip>
|
|
|
</template>
|
|
|
<template #name="{ row }">
|
|
|
- <span class="text-link" @click="viewPdf(row.id)"> <HcIcon v-if="row.isLock === 1" name="lock" /> <HcIcon v-else name="lock-unlock" /> {{ row?.name }}</span>
|
|
|
+ <span class="text-link" @click="viewPdf(row.id)"> <HcIcon v-if="row.isLock === 1" name="lock" style=" color:red;font-weight: bold;" /> <HcIcon v-else name="lock-unlock" style=" color:red;font-weight: bold;" /> {{ row?.name }}</span>
|
|
|
</template>
|
|
|
</HcTable>
|
|
|
</div>
|
|
@@ -228,6 +233,63 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</hc-new-dialog>
|
|
|
+
|
|
|
+ <!-- 查找替换弹窗 -->
|
|
|
+ <hc-new-dialog v-model="showReplaceModal" :title="replaceTitle" widths="50vw" @save="saveReplace">
|
|
|
+ <div class="replace-dialog-content">
|
|
|
+ <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>
|
|
|
+
|
|
|
+ <el-form
|
|
|
+ ref="ruleFormRef"
|
|
|
+ :model="ruleForm"
|
|
|
+ label-width="auto"
|
|
|
+ >
|
|
|
+ <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>
|
|
|
+ </div>
|
|
|
+ </hc-new-dialog>
|
|
|
</hc-body>
|
|
|
</template>
|
|
|
|
|
@@ -962,6 +1024,64 @@ const refreshFileFourClick = async ()=>{
|
|
|
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+// 查找替换弹窗相关变量
|
|
|
+const showReplaceModal = ref(false)
|
|
|
+
|
|
|
+
|
|
|
+// 查找替换弹窗相关变量
|
|
|
+
|
|
|
+const replaceTitle = ref('查找替换')
|
|
|
+const checkInfo = ref('')
|
|
|
+
|
|
|
+
|
|
|
+// 触发查找替换弹窗显示
|
|
|
+const replaceClick = () => {
|
|
|
+ checkInfo.value = ''
|
|
|
+
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ // 更新checkInfo的值
|
|
|
+ checkInfo.value = `共计${tableCheckedKeys.value.length}项,档号为${tableCheckedKeys.value.map(item => item.fileNumber).join(',')}`
|
|
|
+ ruleForm.value = {}
|
|
|
+ showReplaceModal.value = true
|
|
|
+}
|
|
|
+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 tuningApi.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" scoped>
|