From eb3241b59986de83f64ab747d2521bb78a1af0b6 Mon Sep 17 00:00:00 2001 From: zhangyanpeng <bob.zhang@highdatas.com> Date: 星期四, 30 四月 2020 17:40:18 +0800 Subject: [PATCH] 删除打包的文件 --- src/components/square.vue | 881 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 784 insertions(+), 97 deletions(-) diff --git a/src/components/square.vue b/src/components/square.vue index 13c2f79..605ad3e 100644 --- a/src/components/square.vue +++ b/src/components/square.vue @@ -12,25 +12,28 @@ </el-form-item> <el-form-item > - <el-button type="primary" @click="query_">鏌ヨ</el-button> + <el-button type="primary" @click="query_(true)">鏌ヨ</el-button> <el-button type="info" @click="empty_">閲嶇疆</el-button> </el-form-item> </el-form> </el-col> - <el-col :span="4" ><el-button type="primary" @click="createNew">鍒涘缓</el-button></el-col> + <el-col :span="4" > + <el-button type="primary" @click="createNew">鍒涘缓</el-button> + + </el-col> </el-row> - <div class="infinite-list-wrapper" style="overflow:auto; height: 75vh; 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)"> - <el-row > - <el-col :span="20"><div class="grid-content z_grid-content1 grid-content_text">{{one.title}}</div></el-col> - <el-col :span="4"><div class="grid-content z_grid-content1 grid-content_time">{{one.time}}</div></el-col> + <div ref="list_div" class="infinite-list-wrapper" style="overflow:auto; border-top: 1px solid #c3c5c7;"> + <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" @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)}}</div></el-col> + <el-col :span="3"><div class="grid-content z_grid-content1 grid-content_time">{{one.time}}</div></el-col> </el-row> - <el-row> + <el-row style="padding-left: 16px;"> <el-col :span="20"><div class="grid-content z_grid-content2">{{one.desp}}</div></el-col> </el-row> </div> @@ -38,12 +41,41 @@ <p v-if="loading">鍔犺浇涓�...</p> <p v-if="noMore">娌℃湁鏇村浜�</p> </div> - <el-dialog - title="璇︽儏" - :visible.sync="dialogVisible" - width="40%" - height="40%" - custom-class="handleClose"> + + <el-dialog title="鍒涘缓璇濋" :visible.sync="dialogFormVisible" @close="closeCreate" > + <el-form :model="form"> + <el-form-item label="璇濋鍚嶇О" :label-width="formLabelWidth"> + <el-input v-model="form.title" autocomplete="off"></el-input> + </el-form-item> + <el-form-item label="璇濋鍐呭" :label-width="formLabelWidth"> + <el-input type="textarea" v-model="form.desp" autocomplete="off"></el-input> + </el-form-item> + <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" style=""> + <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="createTopic">纭� 瀹�</el-button> + </div> + </el-dialog> + + <el-dialog v-if="dialogVisible" title="璇︽儏" :visible.sync="dialogVisible" + width="40%" height="40%" custom-class="handleClose"> <span>{{selectOne.title}}</span> <el-divider></el-divider> <div style="content"> @@ -51,48 +83,345 @@ </div> <span slot="footer" class="dialog-footer"> - <el-button :v-if="selectOne.attachment == '' ? false: true" type="primary" @click="download">涓� 杞�</el-button> + <el-button v-if="canEdit" type="primary" @click="edit">淇敼</el-button> + <el-button v-if="!selectOne.examine" type="primary" @click="addProject_title">绔嬮璇勪及</el-button> + <el-button v-if="selectOne.attachment && selectOne.attachment != ''" type="primary" @click="download(selectOne)">涓� 杞�</el-button> </span> </el-dialog> - <el-dialog title="鍒涘缓璇濋" :visible.sync="dialogFormVisible"> - <el-form :model="form"> - <el-form-item label="璇濋鍚嶇О" :label-width="formLabelWidth"> - <el-input v-model="form.name" autocomplete="off"></el-input> - </el-form-item> - <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" - :on-preview="handlePreview" - :on-remove="handleRemove" - :before-remove="beforeRemove" - :limit="1" - :auto-upload='false' - :on-exceed="handleExceed" - :file-list="fileList"> - <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> - <div slot="tip" class="el-upload__tip">涓嶈秴杩�50M</div> - </el-upload> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="dialogFormVisible = false">纭� 瀹�</el-button> + <el-dialog v-if="dialogFormTitle" title="绔嬮璇勪及" :visible.sync="dialogFormTitle" append-to-body> + <div class="transition-box" style="text-align: left; margin: 0 10px;"> + <div> + <el-form :show-message="false" :model="form_['title']" ref="ref_title" label-position='right' label-width="100px" class="demo-form-inline"> + <el-row> + <el-col :span="22" class="z_grid-content3"> + <el-form-item label="棰樼洰绫诲瀷" + :rules="[{required: true, message: '璇烽�夋嫨', trigger: ['blur', 'change']}]" + > + <el-select size="mini" + @change="title_titleType" + v-model="form_['title'].titleType" placeholder="璇烽�夋嫨" style="width: 100%;"> + <el-option + v-for="item in options_titleType" + :key="item.value" + :label="item.label" + :value="item.value" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row v-if="form_['title'].titleType"> + <el-col :span="22"> + <el-form-item label="鎻忚堪" prop="titleType" + :rules="[{required: true, message: '璇疯緭鍏�', trigger: ['blur', 'change']}]" + > + <el-input type="textarea" v-model="form_['title'].titleInput" :placeholder="titleInput_" style="width: 100%;"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="6" class="z_grid-content3"> + <el-form-item label="鍚堝悓閲戦" prop="budget" + :rules="[{required: true, message: '璇疯緭鍏ラ噾棰�', trigger: ['blur', 'change']}]" + > + <el-input type="number" size="mini" v-model="form_['title'].budget" placeholder="璇疯緭鍏ラ噾棰�" style="width: 100%;"></el-input> + </el-form-item> + </el-col> + + <el-col :span="11" class="z_grid-content3"> + <el-form-item label="璐熻矗浜�" prop="userIds" + :rules="{type: 'array', required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}" + > + <el-cascader + style="width: 100%;" + size="mini" + v-model="form_['title'].userIds" + :options="options_users" + :props="{ expandTrigger: 'hover' }" + placeholder="璇烽�夋嫨璐熻矗浜�" + > + </el-cascader> + </el-form-item> + </el-col> + <el-col :span="6" class="z_grid-content3"> + <el-form-item label="浜や粯鐗�" prop="mustAttach" + :rules="[{required: true, message: '璇烽�夋嫨', trigger: ['blur', 'change']}]" + > + <el-switch v-model="form_['title'].mustAttach"></el-switch> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11" class="z_grid-content3"> + <el-form-item label="寮�濮嬫棩鏈�" prop="startTime" + :rules="{ required: true, trigger: ['change', 'blur']}" + > + <el-date-picker type="date" :picker-options="pickerOptions01" size="mini" placeholder="閫夋嫨寮�濮嬫棩鏈�" v-model="form_['title'].startTime" style="width: 100%;"></el-date-picker> + </el-form-item> + </el-col> + <el-col :span="11" class="z_grid-content3"> + <el-form-item label="缁撴潫鏃ユ湡" prop="endTime" + :rules="{required: true, trigger: ['change', 'blur']}" + > + <el-date-picker type="date" :picker-options="pickerOptions02" size="mini" placeholder="閫夋嫨缁撴潫鏃ユ湡" v-model="form_['title'].endTime" style="width: 100%;"></el-date-picker> + </el-form-item> + </el-col> + </el-row> + + <el-row> + <el-col :span="4" class="z_grid-content3"> + <el-form-item label="鏄惁鍏艰亴缂栬緫" label-width="120px"> + <el-checkbox @change="parttimeChange('title')" v-model="form_['title'].parttime"></el-checkbox> + </el-form-item> + </el-col> + + <el-col :span="18" class="z_grid-content3"> + <el-form-item label="鍏艰亴缂栬緫鎴愬憳" label-width="120px"> + <el-select @change="parttimeChange_" multiple :disabled="!form_['title'].parttime" size="mini" v-model="form_['title'].parttimeUser" style="width: 100%;"> + <el-option + v-for="item in options_parttimeUser" + :key="item.id" + :label="item.name" + :value="item.id" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + + <el-row> + <el-col :span="17" class="z_grid-content1"> + <el-form-item label="澶囨敞璇存槑"> + <el-input type="textarea" v-model="form_['title'].remark" style="width: 100%;"></el-input> + </el-form-item> + </el-col> + <el-col :span="5" class="z_grid-content3"> + <el-form-item label="璇█" prop="language" label-width="80px" + :rules="[{required: true, message: '璇烽�夋嫨', trigger: ['blur', 'change']}]" + > + <el-select size="mini" v-model="form_['title'].language" placeholder="閫夋嫨璇█" style="width: 100%;"> + <el-option label="涓枃" value="Cn"></el-option> + <el-option label="鑻辨枃" value="En"></el-option> + <el-option label="涓嫳鏂�" value="CnEn"></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + </el-form> + </div> + </div> + <div slot="footer" class="dialog-footer" style=""> + <el-button @click="dialogFormTitle = false">鍙� 娑�</el-button> + <el-button type="primary" @click="saveFormTitle">纭� 瀹�</el-button> + <el-button v-if="!selectOne.examine" type="success" @click="addProject">鐢熸垚椤圭洰</el-button> </div> </el-dialog> + <el-dialog v-if="dialogFormTitle2" title="绔嬮璇勪及" :visible.sync="dialogFormTitle2"> + <div class="transition-box" style="text-align: left; margin: 0 10px;"> + <div> + <el-form :show-message="false" :model="form_['title']" ref="ref_title" label-position='right' label-width="100px" class="demo-form-inline"> + <el-row> + <el-col :span="22" class="z_grid-content3"> + <el-form-item label="棰樼洰绫诲瀷" + :rules="[{required: true, message: '璇烽�夋嫨', trigger: ['blur', 'change']}]" + > + <el-select size="mini" + @change="title_titleType" + v-model="form_['title'].titleType" placeholder="璇烽�夋嫨" style="width: 100%;"> + <el-option + v-for="item in options_titleType" + :key="item.value" + :label="item.label" + :value="item.value" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row v-if="form_['title'].titleType"> + <el-col :span="22"> + <el-form-item label="鎻忚堪" prop="titleType" + :rules="[{required: true, message: '璇疯緭鍏�', trigger: ['blur', 'change']}]" + > + <el-input type="textarea" v-model="form_['title'].titleInput" :placeholder="titleInput_" style="width: 100%;"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="6" class="z_grid-content3"> + <el-form-item label="鍚堝悓閲戦" prop="budget" + :rules="[{required: true, message: '璇疯緭鍏ラ噾棰�', trigger: ['blur', 'change']}]" + > + <el-input type="number" size="mini" v-model="form_['title'].budget" placeholder="璇疯緭鍏ラ噾棰�" style="width: 100%;"></el-input> + </el-form-item> + </el-col> + + <el-col :span="11" class="z_grid-content3"> + <el-form-item label="璐熻矗浜�" prop="userIds" + :rules="{type: 'array', required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}" + > + <el-cascader + style="width: 100%;" + size="mini" + v-model="form_['title'].userIds" + :options="options_users" + :props="{ expandTrigger: 'hover' }" + placeholder="璇烽�夋嫨璐熻矗浜�" + > + </el-cascader> + </el-form-item> + </el-col> + <el-col :span="6" class="z_grid-content3"> + <el-form-item label="浜や粯鐗�" prop="mustAttach" + :rules="[{required: true, message: '璇烽�夋嫨', trigger: ['blur', 'change']}]" + > + <el-switch v-model="form_['title'].mustAttach"></el-switch> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="11" class="z_grid-content3"> + <el-form-item label="寮�濮嬫棩鏈�" prop="startTime" + :rules="{ required: true, trigger: ['change', 'blur']}" + > + <el-date-picker type="date" :picker-options="pickerOptions01" size="mini" placeholder="閫夋嫨寮�濮嬫棩鏈�" v-model="form_['title'].startTime" style="width: 100%;"></el-date-picker> + </el-form-item> + </el-col> + <el-col :span="11" class="z_grid-content3"> + <el-form-item label="缁撴潫鏃ユ湡" prop="endTime" + :rules="{required: true, trigger: ['change', 'blur']}" + > + <el-date-picker type="date" :picker-options="pickerOptions02" size="mini" placeholder="閫夋嫨缁撴潫鏃ユ湡" v-model="form_['title'].endTime" style="width: 100%;"></el-date-picker> + </el-form-item> + </el-col> + </el-row> + + <el-row> + <el-col :span="4" class="z_grid-content3"> + <el-form-item label="鏄惁鍏艰亴缂栬緫" label-width="120px"> + <el-checkbox @change="parttimeChange('title')" v-model="form_['title'].parttime"></el-checkbox> + </el-form-item> + </el-col> + + <el-col :span="18" class="z_grid-content3"> + <el-form-item label="鍏艰亴缂栬緫鎴愬憳" label-width="120px"> + <el-select @change="parttimeChange_" multiple :disabled="!form_['title'].parttime" size="mini" v-model="form_['title'].parttimeUser" style="width: 100%;"> + <el-option + v-for="item in options_parttimeUser" + :key="item.id" + :label="item.name" + :value="item.id" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + + <el-row> + <el-col :span="17" class="z_grid-content1"> + <el-form-item label="澶囨敞璇存槑"> + <el-input type="textarea" v-model="form_['title'].remark" style="width: 100%;"></el-input> + </el-form-item> + </el-col> + <el-col :span="5" class="z_grid-content3"> + <el-form-item label="璇█" prop="language" label-width="80px" + :rules="[{required: true, message: '璇烽�夋嫨', trigger: ['blur', 'change']}]" + > + <el-select size="mini" v-model="form_['title'].language" placeholder="閫夋嫨璇█" style="width: 100%;"> + <el-option label="涓枃" value="Cn"></el-option> + <el-option label="鑻辨枃" value="En"></el-option> + <el-option label="涓嫳鏂�" value="CnEn"></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + </el-form> + </div> + </div> + <div slot="footer" class="dialog-footer" style=""> + <el-button @click="dialogFormTitle2 = false">鍙� 娑�</el-button> + <el-button type="primary" @click="saveFormTitle">纭� 瀹�</el-button> + <el-button v-if="!selectOne.examine" type="success" @click="addProject">鐢熸垚椤圭洰</el-button> + </div> + </el-dialog> + + <div style="width: 0px; height: 0px;"> + <iframe ref="frame_export" style="width: 0px; height: 0px; border: 0px;"></iframe> + </div> + <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 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, + prodetail + }, data() { return { + pickerOptions01: { + disabledDate: (time) => { + let code = "title"; + if(this.form_[code].endTime) { + return time.getTime() > this.form_[code].endTime; + } + } + }, + pickerOptions02: { + disabledDate: (time) => { + let code = "title"; + if(this.form_[code].startTime) { + return time.getTime() < this.form_[code].startTime; + } + } + }, + + isRefresh: true, + rowData: {}, + dialog_1: false, + dialog_2: false, + uploadUrl:"/api/api/file/topicUpload", form:{}, - fileList: [], - dialogVisible: false, - dialogFormVisible: false, + form_: { + title: {mustAttach: true}, + }, + options_titleType: [ + { + value: "閽堝瀹㈡埛鎰熷叴瓒g殑棰樼洰鑼冨洿", + label: "閽堝瀹㈡埛鎰熷叴瓒g殑棰樼洰鑼冨洿" + }, + { + value: "閽堝瀹㈡埛鏃㈠畾鐨勯鐩柟鍚�", + label: "閽堝瀹㈡埛鏃㈠畾鐨勯鐩柟鍚�" + } + ], + titleInput_: "", + options_users: [], + + pageno:1, + total:0, + maxPage:0, + fileList: [], + dialogVisible: false, + dialogProdetail: false, + dialogFormVisible: false, + dialogFormTitle: false, + dialogFormTitle2: false, labelPosition: "right", formInline:{}, selectOne:{ @@ -100,87 +429,429 @@ desp:"miaoshu", attachment:"222" }, + formLabelWidth:"100px", dataList: [ - {id:1,attachment:"222",title:"鏍囬", desp:"鎻忚堪鏃跺彂鐢熺籂绾峰徃绗﹀悎鍙屾柟閰掑彑鍙戝姩鏈烘椂浠e嘲宄婚厤鐢甸棿 鍒�鐗囨満姘寸數璐规悳璞嗚厫鐨悳鐨勭湅娉曟垜閮藉彨鎵撶牬鏄寰楁壒鍙戝晢闄勫姞璐圭涓夊搴︾牬鍙戞帴鏀跺埌鍙戝湴鏂瑰氨鎼滃埌鍒板洓鐐瑰垎鍙戝伓璇诲洤", time:"12鍒嗛挓鍓�"}, - {id:1,attachment:"222",title:"11", desp:"111", time:"11111"}, - {id:1,attachment:"",title:"11", desp:"111", time:"11111"}, - {id:1,attachment:"",title:"11", desp:"111", time:"11111"}, - {id:1,attachment:"",title:"11", desp:"111", time:"11111"}, - {id:1,attachment:"",title:"11", desp:"111", time:"11111"}, - {id:1,attachment:"",title:"11", desp:"111", time:"11111"}, - {id:1,attachment:"",title:"11", desp:"111", time:"11111"}, - {id:1,attachment:"",title:"11", desp:"111", time:"11111"}, - ], - loading: false + // {id:1,attachment:"222",title:"鏍囬", desp:"鎻忚堪鏃跺彂鐢熺籂绾峰徃绗﹀悎鍙屾柟閰掑彑鍙戝姩鏈烘椂浠e嘲宄婚厤鐢甸棿 鍒�鐗囨満姘寸數璐规悳璞嗚厫鐨悳鐨勭湅娉曟垜閮藉彨鎵撶牬鏄寰楁壒鍙戝晢闄勫姞璐圭涓夊搴︾牬鍙戞帴鏀跺埌鍙戝湴鏂瑰氨鎼滃埌鍒板洓鐐瑰垎鍙戝伓璇诲洤", time:"12鍒嗛挓鍓�"}, + // {id:1,attachment:"222",title:"11", desp:"111", time:"11111"}, + // {id:1,attachment:"",title:"11", desp:"111", time:"11111"}, + // {id:1,attachment:"",title:"11", desp:"111", time:"11111"}, + // {id:1,attachment:"",title:"11", desp:"111", time:"11111"}, + // {id:1,attachment:"",title:"11", desp:"111", time:"11111"}, + // {id:1,attachment:"",title:"11", desp:"111", time:"11111"}, + // {id:1,attachment:"",title:"11", desp:"111", time:"11111"}, + // {id:1,attachment:"",title:"11", desp:"111", time:"11111"}, + ], + options_parttimeUser: [], + loading: false, + } }, computed: { noMore() { - return this.count >= 20 + return this.maxPage == this.pageno }, disabled() { return this.loading || this.noMore } }, + created() { + //user + this.getUsers(); + this.getPartTime(); + }, + mounted() { + this.getData(); + let clientHeight = document.documentElement.clientHeight; + let tableHeight_ = clientHeight - 60 - 45 - 62; + this.$refs.list_div.style['height'] = tableHeight_ + "px"; + }, methods: { - handleRemove(file, fileList) { - console.log(file, fileList); - }, - handlePreview(file) { - console.log(file); - }, - handleExceed(files, fileList) { - this.$message.warning(`褰撳墠闄愬埗閫夋嫨 3 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶); - }, - beforeRemove(file, fileList) { - return this.$confirm(`纭畾绉婚櫎 ${ file.name }锛焋); - }, + getPartTime() { + let me = this; + let url = "/api/sysRoleMapping/partTime"; + this.$axios.get(url) + .then(data_ => { + this.options_parttimeUser = data_.data.data; + + }).catch(error =>{ + + }) + }, + getUsers() { + let me = this; + let url = "/api/sysRoleMapping/detail"; + this.$axios.get(url) + .then(data_ => { + let list = data_.data.data; + let parId = ""; + let obj = {}; + let result = []; + + list.map(el => { + obj[el.id] = el; + }) + for(let i=0, len = list.length; i < len; i++) { + let id = list[i].roleName; + //璁剧疆鏄剧ず瀛楁 + list[i].value = list[i].id; + list[i].label = list[i].name; + + if(id == parId || !id) { + if(!obj[list[i].id].children) { + obj[list[i].id].children = []; + } + result.push(list[i]); + continue; + } + if(obj[id].children) { + obj[id].children.push(list[i]); + } else { + obj[id].children = [list[i]]; + } + } + + me.options_users = result; + + }).catch(error =>{ + }) + }, + + Cancel() { + this.$refs.newProject_.Cancel(); + // this.dialogFormVisible = false; + }, + Cancel1() { + + }, + + addProject_title() { + let me = this; + //鑾峰彇绔嬮璇勪及鏁版嵁 + // this.form_ = {title: {mustAttach: true},}; + if (this.selectOne.titleId) { + let url = "/api/detail/get/" + this.selectOne.titleId; + this.$axios.get(url) + .then(data_ => { + window.console.log(data_); + me.form_ = { + title: data_.data.data + } + if (data_.data.data.parttimeUser) { + me.form_['title'].parttimeUser = data_.data.data.parttimeUser.split(";"); + } + else { + me.form_['title'].parttimeUser = []; + } + + me.form_['title'].userIds = []; + me.form_['title'].userIds.push(data_.data.data.roleName); + me.form_['title'].userIds.push(data_.data.data.userId); + me.dialogFormTitle = true; + }) + .catch(error =>{ + window.console.log(error); + }) + } + else { + this.form_ = {title: {mustAttach: true}}; + this.dialogFormTitle = true; + } + }, + parttimeChange(code) { + if (!this.form_[code].parttime ) { + this.form_[code].parttimeUser = []; + } + }, + parttimeChange_() { + + }, + saveFormTitle() { + let me = this; + //淇濆瓨绔嬮璇勪及鏁版嵁 + let form_array = []; + let is_null1 = true; + + let itm_k = "title"; + let ref_k = "ref_" + itm_k; + this.$refs[ref_k].validate((valid) => { + if (!valid) { + is_null1 = false; + } + }); + + let form_obj = {}; + form_obj = this.form_[itm_k]; + if (!form_obj.mustAttach) { + form_obj.mustAttach = false; + } + if (form_obj.startTime) { + form_obj.startTime = this.$moment(form_obj.startTime).format('YYYY-MM-DD'); + } + if (form_obj.endTime) { + form_obj.endTime = this.$moment(form_obj.endTime).format('YYYY-MM-DD'); + } + + if (form_obj.parttimeUser && form_obj.parttimeUser.length>0) { + let parttimeUser_ = ""; + for (let i = 0; i<form_obj.parttimeUser.length; i++) { + if (parttimeUser_ == "") { + parttimeUser_ = form_obj.parttimeUser[i]; + } + else { + parttimeUser_ = parttimeUser_ + ";" + form_obj.parttimeUser[i]; + } + } + form_obj.parttimeUser = parttimeUser_; + } + + if (form_obj.userIds) { + let leng = form_obj.userIds.length; + + form_obj.roleName = form_obj.userIds[leng-2]; + form_obj.userId = form_obj.userIds[leng-1]; + } + form_obj.type = itm_k; + form_obj.parentId = this.xmId; + + if (is_null1) { + let url = "/api/topic/saveLinkTitle/" + this.selectOne.id; + + this.$axios.post(url, form_obj) + .then(data_ => { + window.console.log(data_); + me.dataList = []; + me.pageno = 1; + me.getData(this.formInline); + }) + .catch(error =>{ + window.console.log(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; + let me = this; + me.dataList = []; + me.pageno = 1; + me.getData(this.formInline, true); + // this.getData(); + }, + download(val) { + if(val) { + this.$refs.frame_export.src = "/api/api/file/download/" + val.id; + }else { + this.$message({message:'鑾峰彇鍦板潃澶辫触', type: 'warning'}); + } + + }, + uploadSuccess() { + this.dialogFormVisible = false; + }, + onChange(file, fileList) { + this.fileList = []; + this.fileList = fileList; + }, + canExam() { + return true; + }, + + createTopic() { + let me = this; + var userId = localStorage.getItem('userId'); + if(!userId) { + this.$router.push('/login'); + } + this.form.userId = userId; + let params = this.form; + + if(this.fileList.length == 0) { + //涓嶅甫闄勪欢 + let url = "/api/topic/add"; + this.$axios.get(url, { + params + }) + .then(data_ => { + if(data_.data.success) { + this.$message('鍒涘缓鎴愬姛'); + me.dialogFormVisible = false; + }else { + this.$message({message:'璇濋鍒涘缓澶辫触', type: 'warning'}); + } + }).catch(error => { + }) + }else { + 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 }锛焋); + }, load() { - // this.loading = true - // setTimeout(() => { - // this.count += 2 - // this.loading = false - // }, 2000) + let me = this; + if(me.pageno < me.maxPage) { + me.pageno++; + } + this.query_(false); }, showItem(one) { this.dialogVisible = true; this.selectOne = one; }, + showLinkItem(one) { + let me = this; + if(one.examine && one.linkId){ + this.rowData = { + id: one.linkId, + } + this.dialogProdetail = true; + } + else if (one.titleId) { + this.selectOne = one; + let url = "/api/detail/get/" + one.titleId; + this.$axios.get(url) + .then(data_ => { + window.console.log(data_); + me.form_ = { + title: data_.data.data + } + if (data_.data.data.parttimeUser) { + me.form_['title'].parttimeUser = data_.data.data.parttimeUser.split(";"); + } + else { + me.form_['title'].parttimeUser = []; + } + + me.form_['title'].userIds = []; + me.form_['title'].userIds.push(data_.data.data.roleName); + me.form_['title'].userIds.push(data_.data.data.userId); + me.dialogFormTitle2 = true; + }) + .catch(error =>{ + window.console.log(error); + }) + } + }, createNew() { + this.form = {}; this.dialogFormVisible = true; + }, + formatter(one){ + if(one.examine && one.linkId){ + return "宸插叧鑱旈」鐩�"; + } + else if (one.titleId) { + return "宸茬珛棰樿瘎浼�"; + } }, empty_() { this.formInline = {}; - this.query_(); + this.query_(true); }, - query_() { - this.getData(this.formInline); + query_(isempty) { + let me = this; + if (isempty) { + me.pageno = 1; + me.dataList = []; + } + me.getData(this.formInline, isempty); + // this.getData(this.formInline, true); }, - getData(query) { - this.loading_table = true; - let pageno = this.pagenum; - let url = "/api/scheme/page/" + pageno; - let params = { - pageSize: this.pagesize + canEdit() { + return this.selectOne.userId == this.userId; + }, + edit(){ + this.form = { + title: this.selectOne.title, + desp: this.selectOne.desp, + id: this.selectOne.id }; - if(query){ - params.name = query.name; - params.delay = query.delay; - params.finish = query.fiish; - params.type = query.type; + this.dialogFormVisible = true; + this.dialogVisible = false; + }, + closeCreate() { + // this.dialogFormVisible = false; + // this.getData(); + let me = this; + me.dataList = []; + me.pageno = 1; + me.getData(this.formInline, true); + }, + + setRefresh() { + this.isRefresh = false; + this.isRefresh = true; + }, + getData(query,empty) { + this.setRefresh(); + /* if (empty) { + this.dataList = []; + } */ + this.selectOne = {}; + let me = this; + this.loading = true + this.loading_table = true; + + me.dialogFormTitle = false; + me.dialogFormTitle2 = false; + + me.dialogVisible = false; + // let pageno = this.pagenum; + let url = "/api/topic/page/" + this.pageno; + let params = {}; + if(query && (query.title || query.desp)){ + params.title = query.title; + params.desp = query.desp; } this.$axios.get(url, { params }) .then(data_ => { - console.log(data_); - this.tableData = data_.data.data.records; //缁檛ableData璧嬪�� - this.total = data_.data.data.total; - this.loading_table = false; + if(data_.data.success) { + if (empty) { + me.dataList = []; + } + me.dataList.push.apply(me.dataList, data_.data.data.records) + me.total = data_.data.data.total; + me.pageno = data_.data.data.pageno; + me.maxPage = data_.data.data.maxPage; + } + me.loading = false }).catch(error => { - console.log(error); + me.loading = false }) }, + + //鍗曚竴浜嬩欢 + title_titleType(val) { + if (val == "閽堝瀹㈡埛鎰熷叴瓒g殑棰樼洰鑼冨洿") { + this.titleInput_ = "涓�涓汉缇や俊鎭垨涓�涓共棰勪俊鎭�"; + } + else if (val == "閽堝瀹㈡埛鏃㈠畾鐨勯鐩柟鍚�") { + this.titleInput_ = "鎻愪緵棰樼洰鐨� PICOS 淇℃伅"; + } + }, + + } } </script> @@ -193,24 +864,39 @@ .grid-content_text { font-weight: bold; + font-size: 14px; font-style: italic; color: #000; } + .grid-content_text:hover { + color: #409EFF; + cursor:pointer; + } .grid-content_time { font-weight: bold; - font-style: italic; color: #909399; } + .grid-content_exam { + color: #00aaff; + font-size: 14px; + } + .grid-content_exam:hover { + font-weight: bold; + cursor:pointer; + } + .z_grid-content1{ display:table-cell; vertical-align:bottom; - height: 50px; + height: 30px; } .z_grid-content2{ color: #83878a; + font-size: 14px; padding: 0px; - height: 40px; - line-height: 40px; + min-height: 24px; + height: 24px; + line-height: 24px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; @@ -227,7 +913,7 @@ } .list-item { - margin-top: 20px; + margin-top: 0px; padding-bottom: 5px; border-bottom: 1px solid #c3c5c7; } @@ -235,6 +921,7 @@ .handleClose { margin: 10px; text-align: left; + margin-left: 30%; } .handleClose .el-dialog__body { padding: 10px 20px; -- Gitblit v1.8.0