| | |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <template slot="type" slot-scope="{ row }"> |
| | | <el-tag :class="row.type != 2 ? 'red' : ''">{{ |
| | | row.type != 2 ? "未上传" : "已上传" |
| | | }}</el-tag> |
| | | </template> |
| | | <template slot="downtemplate" slot-scope="{ row }"> |
| | | <el-tag |
| | | @click="downTemplates(row.template)" |
| | | class="hand" |
| | | :class="row.template == '' ? 'red' : ''" |
| | | >{{ row.template == "" ? "无模板" : "下载模板" }}</el-tag |
| | | > |
| | | </template> |
| | | <template slot-scope="{ type, size, row }" slot="menu"> |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | plain |
| | | icon="el-icon-upload2" |
| | | v-if="opens" |
| | | @click="handleUpload" |
| | | >上 传 |
| | | </el-button> |
| | | :size="size" |
| | | :type="type" |
| | | @click="upData(row)" |
| | | >上传</el-button |
| | | > |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | v-if="opens" |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="scope" slot="menu"> |
| | | <el-button |
| | | type="text" |
| | | icon="el-icon-download" |
| | | size="small" |
| | | @click="handleDownload(scope.row)" |
| | | >下载 |
| | | </el-button> |
| | | <el-button |
| | | type="text" |
| | | icon="el-icon-picture-outline-round" |
| | | size="small" |
| | | v-show="!fileFormat(scope.row)" |
| | | @click="seeImages(scope.row)" |
| | | >预览 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{ row }" slot="attachSize"> |
| | | <el-tag>{{ `${row.attachSize} KB` }}</el-tag> |
| | | :size="size" |
| | | :type="type" |
| | | :disabled="row.type != 2" |
| | | @click="dowmData(row)" |
| | | >下载</el-button |
| | | > |
| | | </template> |
| | | </avue-crud> |
| | | |
| | | <el-dialog |
| | | title="附件管理" |
| | | append-to-body |
| | |
| | | > |
| | | </avue-form> |
| | | </el-dialog> |
| | | |
| | | <el-dialog |
| | | title="预览" |
| | | append-to-body |
| | | :visible.sync="imgSee" |
| | | class="see-img-box" |
| | | > |
| | | <div class="imgs" :style="{ background: imgUrl }"></div> |
| | | </el-dialog> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getList, getDetail, remove } from "@/api/resource/attach"; |
| | | import { getUseInfor, getTemplate, addUseInfor } from "@/api/resource/attach"; |
| | | import { mapGetters } from "vuex"; |
| | | |
| | | export default { |
| | | props: ["type", "opens"], |
| | | props: ["type", "opens", "enclosure", "ptype"], |
| | | data() { |
| | | var type = this.type; |
| | | var deptid = this.$route.query.deptId; |
| | |
| | | attachBox: false, |
| | | selectionList: [], |
| | | option: { |
| | | height: "auto", |
| | | height: 600, |
| | | |
| | | calcHeight: 30, |
| | | tip: false, |
| | | align: "center", |
| | | searchShow: true, |
| | | // menu: false, |
| | | height: 323, |
| | | searchShow: false, |
| | | columnBtn: false, |
| | | menuWidth: 180, |
| | | searchMenuSpan: 6, |
| | | border: false, |
| | | index: true, |
| | | delBtn: false, |
| | | stripe: true, |
| | | viewBtn: true, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | column: [ |
| | | // { |
| | | // label: "附件地址", |
| | | // prop: "link", |
| | | // hide: true, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请输入附件地址", |
| | | // trigger: "blur", |
| | | // }, |
| | | // ], |
| | | // }, |
| | | // { |
| | | // label: "附件域名", |
| | | // prop: "domain", |
| | | // hide: true, |
| | | // // search: true, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请输入附件域名", |
| | | // trigger: "blur", |
| | | // }, |
| | | // ], |
| | | // }, |
| | | // { |
| | | // label: "附件名称", |
| | | // prop: "name", |
| | | // hide: true, |
| | | // search: true, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请输入附件名称", |
| | | // trigger: "blur", |
| | | // }, |
| | | // ], |
| | | // }, |
| | | { |
| | | label: "附件名称", |
| | | prop: "originalName", |
| | | search: true, |
| | | prop: "originalname", |
| | | overHidden: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入附件原名", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "附件拓展名", |
| | | prop: "extension", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入附件拓展名", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "附件大小", |
| | | prop: "attachSize", |
| | | label: "附件状态", |
| | | prop: "type", |
| | | width: 110, |
| | | slot: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入附件大小", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | overHidden: true, |
| | | }, |
| | | // { |
| | | // label: "上传时间", |
| | | // prop: "createTime", |
| | | // // slot: true, |
| | | // // search: true, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请输入附件大小", |
| | | // trigger: "blur", |
| | | // }, |
| | | // ], |
| | | // }, |
| | | // { |
| | | // label: "预览", |
| | | // prop: "link", |
| | | // slot: true, |
| | | // dataType: "string", |
| | | // type: "img", |
| | | // }, |
| | | { |
| | | label: "示范模板", |
| | | prop: "downtemplate", |
| | | width: 110, |
| | | // overHidden: true, |
| | | slot: true, |
| | | }, |
| | | ], |
| | | }, |
| | | data: [], |
| | |
| | | submitBtn: false, |
| | | emptyBtn: false, |
| | | column: [ |
| | | // { |
| | | // label: "附件上传", |
| | | // prop: "attachFile", |
| | | // type: "upload", |
| | | // drag: true, |
| | | // loadText: "模板上传中,请稍等", |
| | | // span: 24, |
| | | // propsHttp: { |
| | | // res: "data", |
| | | // }, |
| | | // action: |
| | | // "/api/blade-resource/oss/endpoint/put-file-attach?deptid=&type=0" |
| | | // // "/api/blade-resource/oss/endpoint/put-file-attach?type=" + |
| | | // // type + |
| | | // // "&deptid=" + |
| | | // // deptid, |
| | | // }, |
| | | { |
| | | label: "拖拽上传", |
| | | prop: "imgUrl5", |
| | |
| | | }, |
| | | tip: "只能上传jpg/png文件,且不超过500kb", |
| | | action: |
| | | // "/api/blade-resource/oss/endpoint/put-file-attach", |
| | | "/api/blade-resource/oss/endpoint/put-file-attach?deptid=&type=" + |
| | | type + |
| | | "&cardid=" + |
| | |
| | | }, |
| | | imgSee: false, |
| | | imgUrl: "", |
| | | |
| | | saveIds: [], |
| | | saveLinks: [], |
| | | onceIds: "", |
| | | onceLinks: "", |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | }, |
| | | }, |
| | | mounted() { |
| | | // console.log(this.enclosure, "enclosure"); |
| | | var flag = false, |
| | | i = 0, |
| | | ind = null; |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | upData(val) { |
| | | console.log(val); |
| | | this.onceIds = +val.id - 1 + ""; |
| | | this.attachBox = true; |
| | | }, |
| | | dowmData(val) { |
| | | console.log(val.down); |
| | | window.open(val.down); |
| | | // |
| | | }, |
| | | downTemplates(val) { |
| | | // console.log(val); |
| | | if (val == "") { |
| | | return; |
| | | } |
| | | window.open(val); |
| | | // window.open(`/api/examScore/export-template`); |
| | | }, |
| | | handleUpload() { |
| | | this.attachBox = true; |
| | | }, |
| | | uploadAfter(res, done, loading, column) { |
| | | // window.console.log(column); |
| | | this.attachBox = false; |
| | | window.console.log(res.link); |
| | | this.onceLinks = res.link; |
| | | var haveit = null; |
| | | for (let k in this.saveIds) { |
| | | if (this.saveIds[k] == this.onceIds) { |
| | | // this.saveLinks[k] = this.onceLinks; |
| | | haveit = k; |
| | | break; |
| | | } |
| | | } |
| | | if (haveit != null) { |
| | | this.saveLinks[haveit] = this.onceLinks; |
| | | } else { |
| | | this.saveIds.push(this.onceIds); |
| | | this.saveLinks.push(this.onceLinks); |
| | | } |
| | | console.log(this.saveIds); |
| | | console.log(this.saveLinks); |
| | | |
| | | // console.log(this.$store.getters.userInfo.Id); |
| | | var params = { |
| | | userid: this.$store.getters.userInfo.Id, |
| | | ptype: this.ptype, |
| | | templateid: this.saveIds.join(","), |
| | | links: this.saveLinks.join(","), |
| | | }; |
| | | addUseInfor(params).then((res) => { |
| | | // console.log(res); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | this.refreshChange(); |
| | | this.attachBox = false; |
| | | done(); |
| | | }, |
| | | handleDownload(row) { |
| | |
| | | this.onLoad(this.page, this.query); |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | params.type = this.type; |
| | | params.deptid = ""; |
| | | params.cardid = this.$store.getters.userInfo.Id; |
| | | this.loading = true; |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | var that = this; |
| | | var data = []; |
| | | console.log(this.$store.getters.userInfo.Id); |
| | | // this.data = this.enclosure; |
| | | params["ptype"] = this.ptype; |
| | | getTemplate(params, 1, 50).then((res) => { |
| | | data = res.data.data.records; |
| | | console.log(data, "::template"); |
| | | params["userid"] = this.$store.getters.userInfo.Id; |
| | | getUseInfor(params).then((res) => { |
| | | var userInfo = res.data.data.records; |
| | | console.log(userInfo, "::userInfo"); |
| | | if (userInfo.length == 0) { |
| | | for (var k in data) { |
| | | data[k]["type"] = 1; |
| | | } |
| | | that.data = data; |
| | | this.saveIds = []; |
| | | this.saveLinks = []; |
| | | } else { |
| | | this.saveIds = userInfo[0].templateid.split(","); |
| | | this.saveLinks = userInfo[0].links.split(","); |
| | | for (let k in data) { |
| | | for (let i in this.saveIds) { |
| | | if (+data[k].id - 1 == this.saveIds[i]) { |
| | | data[k]["type"] = 2; |
| | | data[k]["down"] = this.saveLinks[i]; |
| | | } |
| | | } |
| | | // data[k]["type"] = 1; |
| | | } |
| | | that.data = data; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .red { |
| | | border: 1px solid rgba($color: #ff5656, $alpha: 0.3) !important; |
| | | background-color: rgba($color: #ff5151, $alpha: 0.1) !important; |
| | | color: rgba($color: #ff5151, $alpha: 1) !important; |
| | | } |
| | | .hand:hover { |
| | | cursor: pointer; |
| | | } |
| | | // .longbut { |
| | | // // background-color: red !important; |
| | | // width: 125px; |
| | | // } |
| | | // .shortbut { |
| | | // // background-color: green !important; |
| | | // width: 80px; |
| | | // } |
| | | </style> |