| | |
| | | </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-row> |
| | | |
| | | |
| | | <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)"> |
| | | <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> |
| | | <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> |
| | |
| | | <p v-if="loading">加载中...</p> |
| | | <p v-if="noMore">没有更多了</p> |
| | | </div> |
| | | <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"> |
| | | <span>{{selectOne.desp}}</span> |
| | | </div> |
| | | |
| | | <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.attachment && selectOne.attachment != ''" type="primary" @click="download(selectOne)">下 载</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="创建话题" :visible.sync="dialogFormVisible" @close="closeCreate" > |
| | | <el-form :model="form"> |
| | |
| | | <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"> |
| | | <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"> |
| | | <span>{{selectOne.desp}}</span> |
| | | </div> |
| | | |
| | | <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_title">立题评估</el-button> |
| | | <el-button v-if="selectOne.attachment && selectOne.attachment != ''" type="primary" @click="download(selectOne)">下 载</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <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;"></iframe> |
| | | <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 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, |
| | | 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:{}, |
| | | form_: { |
| | | title: {mustAttach: true}, |
| | | }, |
| | | options_titleType: [ |
| | | { |
| | | value: "针对客户感兴趣的题目范围", |
| | | label: "针对客户感兴趣的题目范围" |
| | | }, |
| | | { |
| | | 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:{ |
| | |
| | | desp:"miaoshu", |
| | | attachment:"222" |
| | | }, |
| | | formLabelWidth:"40%", |
| | | formLabelWidth:"100px", |
| | | dataList: [ |
| | | // {id:1,attachment:"222",title:"标题", desp:"描述时发生纠纷司符合双方酒叟发动机时代峰峻配电间 刀片机水电费搜豆腐皮搜的看法我都叫打破是觉得批发商附加费第三季度破发接收到发地方就搜到到四点分发偶读囧", 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"}, |
| | | ], |
| | | options_parttimeUser: [], |
| | | loading: false, |
| | | |
| | | } |
| | | }, |
| | | computed: { |
| | | |
| | | noMore() { |
| | | return this.maxPage == this.pageno |
| | | }, |
| | |
| | | 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: { |
| | | 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; |
| | | // this.dialogFormVisible = false; |
| | | }, |
| | | Cancel1() { |
| | | |
| | | }, |
| | | addProject(selected) { |
| | | let url = "/api/topic/exam/" + selected.id; |
| | | this.$axios.get(url) |
| | | |
| | | 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_ => { |
| | | 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'}); |
| | | window.console.log(data_); |
| | | me.form_ = { |
| | | title: data_.data.data |
| | | } |
| | | }).catch(error => { |
| | | 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; |
| | | getData(); |
| | | let me = this; |
| | | me.dataList = []; |
| | | me.pageno = 1; |
| | | me.getData(this.formInline, true); |
| | | // this.getData(); |
| | | }, |
| | | download(val) { |
| | | if(val) { |
| | |
| | | if(data_.data.success) { |
| | | this.$message('创建成功'); |
| | | me.dialogFormVisible = false; |
| | | me.getData(); |
| | | }else { |
| | | this.$message({message:'话题创建失败', type: 'warning'}); |
| | | } |
| | |
| | | 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_(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(exam){ |
| | | if(exam){ |
| | | 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, true); |
| | | query_(isempty) { |
| | | let me = this; |
| | | if (isempty) { |
| | | me.pageno = 1; |
| | | me.dataList = []; |
| | | } |
| | | me.getData(this.formInline, isempty); |
| | | // this.getData(this.formInline, true); |
| | | }, |
| | | canEdit() { |
| | | return this.selectOne.userId == this.userId; |
| | |
| | | this.dialogVisible = false; |
| | | }, |
| | | closeCreate() { |
| | | this.dialogFormVisible = false; |
| | | this.getData(); |
| | | // 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) { |
| | | if(empty) { |
| | | this.setRefresh(); |
| | | /* if (empty) { |
| | | this.dataList = []; |
| | | } |
| | | } */ |
| | | this.selectOne = {}; |
| | | let me = this; |
| | | this.loading = true |
| | | this.loading_table = true; |
| | | let pageno = this.pagenum; |
| | | |
| | | me.dialogFormTitle = false; |
| | | me.dialogFormTitle2 = false; |
| | | |
| | | me.dialogVisible = false; |
| | | // let pageno = this.pagenum; |
| | | let url = "/api/topic/page/" + this.pageno; |
| | | let params = {}; |
| | | if(query){ |
| | | if(query && (query.title || query.desp)){ |
| | | params.title = query.title; |
| | | params.desp = query.desp; |
| | | } |
| | |
| | | }) |
| | | .then(data_ => { |
| | | if(data_.data.success) { |
| | | if (empty) { |
| | | me.dataList = []; |
| | | } |
| | | 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 => { |
| | | me.loading = false |
| | | }) |
| | | }, |
| | | |
| | | //单一事件 |
| | | title_titleType(val) { |
| | | if (val == "针对客户感兴趣的题目范围") { |
| | | this.titleInput_ = "一个人群信息或一个干预信息"; |
| | | } |
| | | else if (val == "针对客户既定的题目方向") { |
| | | this.titleInput_ = "提供题目的 PICOS 信息"; |
| | | } |
| | | }, |
| | | |
| | | |
| | | } |
| | | } |
| | | </script> |
| | |
| | | |
| | | .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; |
| | |
| | | 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; |
| | |
| | | |
| | | } |
| | | .list-item { |
| | | margin-top: 20px; |
| | | margin-top: 0px; |
| | | padding-bottom: 5px; |
| | | border-bottom: 1px solid #c3c5c7; |
| | | } |