From 060561221cb55a663a18cd69c934b8dc1185bac6 Mon Sep 17 00:00:00 2001 From: gaoshp <291585735@qq.com> Date: 星期日, 16 六月 2024 15:53:23 +0800 Subject: [PATCH] update --- src/views/dnc/document/index.vue | 99 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 92 insertions(+), 7 deletions(-) diff --git a/src/views/dnc/document/index.vue b/src/views/dnc/document/index.vue index b18cdcc..cff8b87 100644 --- a/src/views/dnc/document/index.vue +++ b/src/views/dnc/document/index.vue @@ -1,7 +1,7 @@ <!-- * @Date: 2024-05-16 22:40:01 * @LastEditors: Sneed - * @LastEditTime: 2024-06-11 19:19:41 + * @LastEditTime: 2024-06-16 15:35:03 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/dnc/document/index.vue --> <template> @@ -11,9 +11,10 @@ <el-aside width="200px"> <el-container> <el-main> - <el-tree default-expand-all ref="tree" node-key="id" :data="treeData" :props="{ - label: 'name', - }" @node-click="nodeClick" highlight-current :current-node-key="selectNode.id"> + <el-tree expand-on-click-node default-expand-all ref="tree" node-key="id" :data="treeData" + :props="{ + label: 'name', + }" @node-click="nodeClick" highlight-current :current-node-key="selectNode.id"> <template #default="{ node, data }"> <span :class="data.isGroup ? 'active' : ''" class="custom-tree-node"> <span>{{ @@ -37,7 +38,7 @@ <template #dropdown> <el-dropdown-menu> <el-dropdown-item @click="addFolder">鏂囦欢澶�</el-dropdown-item> - <el-dropdown-item>鏂囦欢</el-dropdown-item> + <el-dropdown-item @click="addFile">鏂囦欢</el-dropdown-item> </el-dropdown-menu> </template> </el-dropdown> @@ -107,8 +108,13 @@ <el-button-group> <el-button text type="primary" size="small" @click="table_edit(scope.row, scope.$index)">缂栬緫</el-button> - <el-button text type="primary" size="small" - @click="del([scope.row])">鍒犻櫎</el-button> + <el-popconfirm width="220" title="纭畾灏嗛�夋嫨鐨勬暟鎹垹闄�" @confirm="del([scope.row], '0')"> + <template #reference> + <el-button text type="primary" size="small">鍒犻櫎</el-button> + </template> + </el-popconfirm> + <!-- <el-button text type="primary" size="small" + @click="del([scope.row])">鍒犻櫎</el-button> --> </el-button-group> </template> </el-table-column> @@ -150,6 +156,10 @@ </div> </template> </el-dialog> + <scDialog v-model="visible"> + <scForm ref="form" :config="config" :rules="rules1" v-model="form1" @submit="submit1"> + </scForm> + </scDialog> </el-main> </template> @@ -157,6 +167,41 @@ export default { data() { return { + visible: false, + rules1: { + name: [{ + required: true, message: '蹇呭~' + }], + content: [{ + required: true, message: '蹇呭~' + }] + }, + form1: {}, + config: { + labelWidth: 120, + formItems: [ + { + component: 'input', + label: '鏂囦欢鍚嶇О', + name: 'name', + options: { + placeholder: '', + maxlength: 100, + } + }, + { + component: 'input', + label: '鏂囦欢鍐呭', + type: 'textarea', + name: 'content', + options: { + multiple: false, + data: [] + }, + disabled: false + } + ] + }, treeData: [], selectNode: {}, visible: false, @@ -201,6 +246,46 @@ this.init() }, methods: { + addFile() { + this.form1 = {} + this.$refs?.form?.resetFields() + this.visible = true + }, + submit1() { + // 鍒涘缓鏂囨湰鍐呭 + const textContent = "杩欓噷鏄枃鏈唴瀹�"; + + // 鍒涘缓Blob瀵硅薄 + const blob = new Blob([this.form1.content], { type: 'text/plain' }); + // 鍒涘缓File瀵硅薄 + const file = new File([blob], this.form1.name, { type: 'text/plain', lastModified: new Date().getTime() }); + const data = new FormData() + data.append("file", file); + this.$HTTP.post(`/api/blade-resource/oss/endpoint/put-file`, data).then(res => { + if (res.success) { + this.$HTTP.post(`/api/blade-dnc/file/batch-save`, [{ + name: `${this.form1.name}.txt`, + targetId: this.selectNode.id, + ossFile: { + attachId: res.data.attachId, + domain: res.data.domain, + link: res.data.link, + name: res.data.name, + originalName: res.data.originalName + } + }]).then(res => { + if (res.success) { + this.visible = false + this.search() + } else { + this.$message.error(res.msg) + } + }) + } else { + this.$message.error(res.msg) + } + }) + }, init() { this.selectNode = { id: '' -- Gitblit v1.9.3