From b52656f254b5d81d49aed544ed51b26a7b932f06 Mon Sep 17 00:00:00 2001 From: zhangyanpeng <bob.zhang@highdatas.com> Date: 星期二, 17 三月 2020 15:33:55 +0800 Subject: [PATCH] 调整 --- src/components/square.vue | 152 ++++++++++++++++++++++++++++---------------------- 1 files changed, 84 insertions(+), 68 deletions(-) diff --git a/src/components/square.vue b/src/components/square.vue index 6b0f9ba..74f3efa 100644 --- a/src/components/square.vue +++ b/src/components/square.vue @@ -26,11 +26,11 @@ <div class="infinite-list-wrapper" style="overflow:auto; height: 70vh; border-top: 1px solid #c3c5c7;"> - <div class="list" v-infinite-scroll="load" infinite-scroll-disabled="disabled"> - <div v-for="one in dataList" :key="one.id" class="list-item" @click="showItem(one)"> + <div v-if="isRefresh" class="list" v-infinite-scroll="load" infinite-scroll-disabled="disabled"> + <div v-for="one in dataList" :key="one.id" class="list-item"> <el-row > - <el-col :span="18"><div class="grid-content z_grid-content1 grid-content_text">{{one.title}}</div></el-col> - <el-col :span="3"><div class="grid-content z_grid-content1 grid-content_exam">{{formatter(one.examine)}}</div></el-col> + <el-col :span="18"><div class="grid-content z_grid-content1 grid-content_text" @click="showItem(one)">{{one.title}}</div></el-col> + <el-col :span="3"><div class="grid-content z_grid-content1 grid-content_exam" @click="showLinkItem(one)">{{formatter(one.examine)}}</div></el-col> <el-col :span="3"><div class="grid-content z_grid-content1 grid-content_time">{{one.time}}</div></el-col> </el-row> @@ -43,6 +43,7 @@ <p v-if="noMore">娌℃湁鏇村浜�</p> </div> <el-dialog + v-if="dialogVisible" title="璇︽儏" :visible.sync="dialogVisible" width="40%" @@ -56,7 +57,7 @@ <span slot="footer" class="dialog-footer"> <el-button v-if="canEdit" type="primary" @click="edit">淇敼</el-button> - <el-button v-if="!selectOne.examine" type="primary" @click="addProject(selectOne)">鐢熸垚椤圭洰</el-button> + <el-button v-if="!selectOne.examine" type="primary" @click="addProject">鐢熸垚椤圭洰</el-button> <el-button v-if="selectOne.attachment && selectOne.attachment != ''" type="primary" @click="download(selectOne)">涓� 杞�</el-button> </span> </el-dialog> @@ -69,21 +70,23 @@ <el-form-item label="璇濋鍐呭" :label-width="formLabelWidth"> <el-input type="textarea" v-model="form.desp" autocomplete="off"></el-input> </el-form-item> - <el-upload - class="upload-demo" - :action="uploadUrl" - :on-preview="handlePreview" - :data="form" - :limit="3" - :auto-upload='false' - ref="upload" - :on-change="onChange" - :on-exceed="handleExceed" - :on-success="uploadSuccess" - > - <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> - <div slot="tip" class="el-upload__tip">涓嶈秴杩�50M</div> - </el-upload> + <el-form-item> + <el-upload + class="upload-demo" + :action="uploadUrl" + :on-preview="handlePreview" + :data="form" + :limit="3" + :auto-upload='false' + ref="upload" + :on-change="onChange" + :on-exceed="handleExceed" + :on-success="uploadSuccess" + > + <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> + <div slot="tip" class="el-upload__tip">涓嶈秴杩�50M</div> + </el-upload> + </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button> @@ -93,25 +96,32 @@ <div style="width: 0px; height: 0px;"> <iframe ref="frame_export" style="width: 0px; height: 0px;"></iframe> </div> - <el-dialog @close="Cancel" width="70%" top="50px" :visible.sync="dialog_1" append-to-body> + <el-dialog v-if="dialog_1" @close="Cancel" width="70%" top="50px" :visible.sync="dialog_1" append-to-body> <newProject @closeNewProject="closeNewProject" v-bind:rowData="rowData" ref="newProject_"></newProject> </el-dialog> - <el-dialog @close="Cancel1" width="70%" top="50px" :visible.sync="dialog_2" append-to-body> + <el-dialog v-if="dialog_2" @close="Cancel1" width="70%" top="50px" :visible.sync="dialog_2" append-to-body> <newProject ref="newProject1_"></newProject> + </el-dialog> + + <el-dialog v-if="dialogProdetail" width="70%" top="50px" :visible.sync="dialogProdetail" append-to-body> + <prodetail v-bind:rowData="rowData" ref="newProject2_"></prodetail> </el-dialog> </div> </template> <script> import newProject from '../components/popup/newProject.vue' + import prodetail from '../components/popup/prodetail.vue' export default { components: { - newProject + newProject, + prodetail }, data() { return { - rowData:undefined, + isRefresh: true, + rowData: {}, dialog_1: false, dialog_2: false, uploadUrl:"/api/api/file/topicUpload", @@ -121,6 +131,7 @@ maxPage:0, fileList: [], dialogVisible: false, + dialogProdetail: false, dialogFormVisible: false, labelPosition: "right", formInline:{}, @@ -129,7 +140,7 @@ desp:"miaoshu", attachment:"222" }, - formLabelWidth:"40%", + formLabelWidth:"100px", dataList: [ // {id:1,attachment:"222",title:"鏍囬", desp:"鎻忚堪鏃跺彂鐢熺籂绾峰徃绗﹀悎鍙屾柟閰掑彑鍙戝姩鏈烘椂浠e嘲宄婚厤鐢甸棿 鍒�鐗囨満姘寸數璐规悳璞嗚厫鐨悳鐨勭湅娉曟垜閮藉彨鎵撶牬鏄寰楁壒鍙戝晢闄勫姞璐圭涓夊搴︾牬鍙戞帴鏀跺埌鍙戝湴鏂瑰氨鎼滃埌鍒板洓鐐瑰垎鍙戝伓璇诲洤", time:"12鍒嗛挓鍓�"}, // {id:1,attachment:"222",title:"11", desp:"111", time:"11111"}, @@ -165,31 +176,21 @@ Cancel1() { }, - addProject(selected) { - let url = "/api/topic/exam/" + selected.id; - this.$axios.get(url) - .then(data_ => { - if(data_.data.success) { - this.rowData = { - id:selected.id, - desp:selected.desp, - name:selected.title, - //objective:this.selected.reseachType, - //items:[this.$moment(this.selected.startTime).format('YYYY-MM-DD'),this.$moment(this.selected.endTime).format('YYYY-MM-DD')] - } - this.dialogFormVisible = false; - this.dialog_1 = true; - }else { - this.$message({message:'鍒涘缓椤圭洰澶辫触', type: 'warning'}); - } - }).catch(error => { - }) + addProject() { + this.rowData = { + parentid: this.selectOne.id, + desp: this.selectOne.desp, + name: this.selectOne.title, + //objective:this.selected.reseachType, + //items:[this.$moment(this.selected.startTime).format('YYYY-MM-DD'),this.$moment(this.selected.endTime).format('YYYY-MM-DD')] + } - + this.dialog_1 = true; + this.dialogVisible = false; }, closeNewProject() { this.dialog_1 = false; - getData(); + this.getData(); }, download(val) { if(val) { @@ -229,7 +230,6 @@ if(data_.data.success) { this.$message('鍒涘缓鎴愬姛'); me.dialogFormVisible = false; - me.getData(); }else { this.$message({message:'璇濋鍒涘缓澶辫触', type: 'warning'}); } @@ -239,30 +239,35 @@ this.$refs.upload.submit(); } }, - handleRemove(file, fileList) { - }, - handlePreview(file) { - }, - handleExceed(files, fileList) { - this.$message.warning(`褰撳墠闄愬埗閫夋嫨 1 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶); - }, - beforeRemove(file, fileList) { - return this.$confirm(`纭畾绉婚櫎 ${ file.name }锛焋); - }, + handleRemove(file, fileList) { + }, + handlePreview(file) { + }, + handleExceed(files, fileList) { + this.$message.warning(`褰撳墠闄愬埗閫夋嫨 1 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶); + }, + beforeRemove(file, fileList) { + return this.$confirm(`纭畾绉婚櫎 ${ file.name }锛焋); + }, load() { - + let me = this; if(me.pageno < me.maxPage) { me.pageno++; } - query_(); - - + this.query_(); }, showItem(one) { this.dialogVisible = true; this.selectOne = one; }, + showLinkItem(one) { + this.dialogProdetail = true; + this.rowData = { + id: one.linkId, + } + }, createNew() { + this.form = {}; this.dialogFormVisible = true; }, formatter(exam){ @@ -293,10 +298,14 @@ this.dialogFormVisible = false; this.getData(); }, + + setRefresh() { + this.isRefresh = false; + this.isRefresh = true; + }, getData(query,empty) { - if(empty) { - this.dataList = []; - } + this.setRefresh(); + this.dataList = []; let me = this; this.loading = true this.loading_table = true; @@ -313,12 +322,9 @@ .then(data_ => { if(data_.data.success) { me.dataList.push.apply(me.dataList, data_.data.data.records) - me.t - otal = data_.data.data.total; + me.total = data_.data.data.total; me.pageno = data_.data.data.pageno; me.maxPage = data_.data.data.maxPage; - - } me.loading = false }).catch(error => { @@ -340,6 +346,10 @@ font-style: italic; color: #000; } + .grid-content_text:hover { + color: #409EFF; + cursor:pointer; + } .grid-content_time { font-weight: bold; color: #909399; @@ -348,6 +358,11 @@ color: #00aaff; font-size: 14px; } + .grid-content_exam:hover { + font-weight: bold; + cursor:pointer; + } + .z_grid-content1{ display:table-cell; vertical-align:bottom; @@ -382,6 +397,7 @@ .handleClose { margin: 10px; text-align: left; + margin-left: 30%; } .handleClose .el-dialog__body { padding: 10px 20px; -- Gitblit v1.8.0