|
|
@@ -61,6 +61,7 @@
|
|
|
v-show="currentForm.id"
|
|
|
:ref="(el) => bindUploaderRef(item.id, el)"
|
|
|
:upload="getAnnexUpload(item.id)"
|
|
|
+ :onDeleteClick="(file) => handleAnnexRemove(item.id, file)"
|
|
|
:max-upload-count="100"
|
|
|
:max-file-size="20 * 1024 * 1024"
|
|
|
:group-type="true"
|
|
|
@@ -301,6 +302,40 @@ function bindUploaderRef(itemId: number, el: unknown) {
|
|
|
loadAnnexListByItem(itemId);
|
|
|
}
|
|
|
|
|
|
+function handleAnnexRemove(itemId: number, item: UploaderItem): Promise<void> {
|
|
|
+ const annexItem = item as AnnexUploaderItem;
|
|
|
+ const meta = annexItem.annexMeta;
|
|
|
+ if (!meta?.id || item.state !== 'success')
|
|
|
+ return Promise.resolve();
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ uni.showModal({
|
|
|
+ title: '确认删除',
|
|
|
+ content: '确定要删除该佐证材料吗?',
|
|
|
+ confirmText: '删除',
|
|
|
+ confirmColor: '#ff4d4f',
|
|
|
+ success: async (res) => {
|
|
|
+ if (!res.confirm) {
|
|
|
+ reject(new Error('cancel'));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ await AssessmentContentApi.delAnnex(meta.id);
|
|
|
+ await loadAnnexListByItem(itemId);
|
|
|
+ uni.showToast({ title: '删除成功', icon: 'success' });
|
|
|
+ resolve();
|
|
|
+ } catch (err) {
|
|
|
+ uni.showToast({
|
|
|
+ title: err instanceof Error ? err.message : '删除失败',
|
|
|
+ icon: 'none',
|
|
|
+ });
|
|
|
+ reject(err);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ fail: () => reject(new Error('cancel')),
|
|
|
+ });
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
function getAnnexUpload(itemId: number) {
|
|
|
const cached = uploadCoMap.get(itemId);
|
|
|
if (cached)
|