|
|
@@ -668,7 +668,6 @@
|
|
|
>
|
|
|
<template #dropdown>
|
|
|
<el-dropdown-menu>
|
|
|
- <!-- <el-dropdown-item>复制</el-dropdown-item> -->
|
|
|
<el-dropdown-item
|
|
|
@click.stop="editProject(i)"
|
|
|
v-if="activeName == 5"
|
|
|
@@ -691,23 +690,33 @@
|
|
|
</div>
|
|
|
<div class="info">
|
|
|
<div class="item">主办单位:{{ i.organize }}</div>
|
|
|
- <div class="item">主办人:{{ i.sposonerName }}</div>
|
|
|
- <div class="item">协办人:{{ i.coSposonerName }}</div>
|
|
|
+ <div class="item">主办人:{{ i.headerName }}</div>
|
|
|
+ <!-- <div class="item">协办人:{{ i.coSposonerName }}</div> -->
|
|
|
<div class="item">
|
|
|
项目周期:{{ i.startTime }} ~ {{ i.endTime }}
|
|
|
</div>
|
|
|
<!-- <div class="item">人员:{{ i.staffNum }}人</div> -->
|
|
|
- <div class="item">任务:{{ i.taskNum }}个</div>
|
|
|
- <div class="item">预警次数:{{ i.warnNum }}次</div>
|
|
|
- <div class="item">提醒次数:{{ i.remindNum }}次</div>
|
|
|
+ <div>任务:{{ i.taskNum }}个</div>
|
|
|
+ <div
|
|
|
+ style="
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <div>
|
|
|
+ <div class="item">预警次数:{{ i.warnNum }}次</div>
|
|
|
+ <div class="item">提醒次数:{{ i.remindNum }}次</div>
|
|
|
+ </div>
|
|
|
+ <span class="score">{{ i.score }}<span style="font-size: 18px;">分</span></span>
|
|
|
+ </div>
|
|
|
<div class="plan">
|
|
|
<span>项目进度:</span>
|
|
|
<el-progress
|
|
|
- :percentage="i.progress"
|
|
|
+ :percentage="i.progress*100"
|
|
|
color="rgba(0, 97, 255, 1)"
|
|
|
/>
|
|
|
<img
|
|
|
- v-if="activeName == 5 || activeName == 6"
|
|
|
title="催办"
|
|
|
@click.stop="urgeOneProject(i)"
|
|
|
src="../../assets/images/inform.png"
|
|
|
@@ -719,240 +728,230 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <!-- 新建项目 -->
|
|
|
- <el-dialog
|
|
|
- class="project"
|
|
|
- v-model="projectVisible"
|
|
|
+ <!-- 点击卡片弹窗 -->
|
|
|
+ <el-dialog
|
|
|
+ class="projectCard"
|
|
|
+ v-model="cardVisible"
|
|
|
:close-on-click-modal="false"
|
|
|
:close-on-press-escape="false"
|
|
|
- :title="projectTitle"
|
|
|
+ :title="cardTitle"
|
|
|
align-center
|
|
|
- width="600"
|
|
|
- :before-close="cancelProject"
|
|
|
+ width="1400"
|
|
|
+ :before-close="cancelCard"
|
|
|
>
|
|
|
- <el-form
|
|
|
- ref="projectRef"
|
|
|
- :model="projectRuleForm"
|
|
|
- :rules="projectRules"
|
|
|
- class="demo-ruleForm"
|
|
|
- label-width="80px"
|
|
|
- :size="formSize"
|
|
|
- label-position="right"
|
|
|
- status-icon
|
|
|
- >
|
|
|
- <el-form-item label="项目名称" prop="projectName">
|
|
|
- <el-input
|
|
|
- v-model="projectRuleForm.projectName"
|
|
|
- placeholder="请输入项目名称"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="项目描述" prop="projectContent">
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- :autosize="{ minRows: 6, maxRows: 8 }"
|
|
|
- v-model="projectRuleForm.projectContent"
|
|
|
- placeholder="请输入描述"
|
|
|
- clearable
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="上传附件" prop="fileUrl">
|
|
|
- <!-- <el-input
|
|
|
- v-model="projectRuleForm.attachment"
|
|
|
- placeholder="请上传附件"
|
|
|
- >
|
|
|
- <template #append>
|
|
|
- <el-button
|
|
|
- style="
|
|
|
- width: 100px;
|
|
|
- background-color: rgba(33, 107, 255, 1);
|
|
|
- color: #fff;
|
|
|
- "
|
|
|
- >上传</el-button
|
|
|
- >
|
|
|
- </template>
|
|
|
- </el-input> -->
|
|
|
- <div class="fujian">
|
|
|
- <el-upload
|
|
|
- class="avatar-uploader"
|
|
|
- action=""
|
|
|
- :on-change="handleChange"
|
|
|
- :http-request="handleUpload"
|
|
|
+ <div>
|
|
|
+ <div class="title">项目情况</div>
|
|
|
+ <div class="info">{{ cardInfo.projectContent }}</div>
|
|
|
+ <el-divider />
|
|
|
+ <div class="unit">
|
|
|
+ <div class="unit_i">
|
|
|
+ <span class="key">主办单位 :</span>
|
|
|
+ <span class="value">{{ cardInfo.organize }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="unit_i">
|
|
|
+ <span class="key">主办人 :</span>
|
|
|
+ <span class="value">{{ cardInfo.sposonerName }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="unit_i">
|
|
|
+ <span class="key">协办单位 :</span>
|
|
|
+ <span class="value">{{ cardInfo.coOrganizeCopy }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="unit_i">
|
|
|
+ <span class="key">协办人 :</span>
|
|
|
+ <span class="value">{{ cardInfo.coSposonerName }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="unit_i">
|
|
|
+ <span class="key">分管领导 :</span>
|
|
|
+ <span class="value">{{ cardInfo.leaderName }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="unit_i">
|
|
|
+ <span class="key">评分人 :</span>
|
|
|
+ <span class="value">{{ cardInfo.scorerName }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="unit_i">
|
|
|
+ <span class="key">项目周期 :</span>
|
|
|
+ <span class="value"
|
|
|
+ >{{ cardInfo.startTime }} ~ {{ cardInfo.endTime }}</span
|
|
|
>
|
|
|
- <el-button type="primary">上传附件</el-button>
|
|
|
- <!-- <template #tip>
|
|
|
- <div class="el-upload__tip">
|
|
|
- jpg/png files with a size less than 500KB.
|
|
|
- </div>
|
|
|
- </template> -->
|
|
|
- </el-upload>
|
|
|
- <div v-if="fileList" class="fileList">
|
|
|
- <div class="files" v-for="i in fileList">
|
|
|
- {{ i
|
|
|
- }}<el-icon @click="delFiles(i)" size="18">
|
|
|
- <CircleClose />
|
|
|
- </el-icon>
|
|
|
+ </div>
|
|
|
+ <div class="unit_i">
|
|
|
+ <span class="key">项目等级 :</span>
|
|
|
+ <span class="value">{{ cardInfo.projectLevel }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="unit_i">
|
|
|
+ <span class="key">项目来源 :</span>
|
|
|
+ <span class="value">{{ cardInfo.projectFrom }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="unit" style="margin: 10px 0 20px">
|
|
|
+ <div class="unit_i">
|
|
|
+ <span class="key">附件 :</span>
|
|
|
+ <div class="fileList">
|
|
|
+ <div class="attachment" v-for="i in cardInfo.fileUrl">
|
|
|
+ <span @click="pdfChange(i)">{{ i }}</span>
|
|
|
+ <!-- <img style="height: 40px" :src="i" alt="" /> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="主办人员" prop="sposoner">
|
|
|
- <!-- <el-cascader :props="props" :options="options" /> -->
|
|
|
- <el-cascader
|
|
|
- :options="organizeData"
|
|
|
- :props="organizeProps"
|
|
|
- @change="organizeChange"
|
|
|
- v-model="sposonerVal"
|
|
|
+ </div>
|
|
|
+ <div class="participation">
|
|
|
+ <el-button @click="logChange(1)" :class="logFlag == 1 ? 'active' : ''"
|
|
|
+ >项目进度</el-button
|
|
|
>
|
|
|
- <template #default="{ node, data }">
|
|
|
- <span>{{ data.userName }}</span>
|
|
|
- <span v-if="!node.isLeaf"> ({{ data.userList.length }}) </span>
|
|
|
- </template>
|
|
|
- </el-cascader>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="协办人员" prop="coSposoner">
|
|
|
- <!-- <el-cascader :props="props" :options="options" /> -->
|
|
|
- <el-cascader
|
|
|
- :options="organizeData"
|
|
|
- :props="coOrganizeProps"
|
|
|
- collapse-tags
|
|
|
- collapse-tags-tooltip
|
|
|
- :max-collapse-tags="3"
|
|
|
- clearable
|
|
|
- @change="coOrganizeChange"
|
|
|
- v-model="coSposonerVal"
|
|
|
+ <el-button @click="logChange(2)" :class="logFlag == 2 ? 'active' : ''"
|
|
|
+ >项目日志</el-button
|
|
|
>
|
|
|
- <template #default="{ node, data }">
|
|
|
- <span>{{ data.userName }}</span>
|
|
|
- <span v-if="!node.isLeaf"> ({{ data.userList.length }}) </span>
|
|
|
- </template>
|
|
|
- </el-cascader>
|
|
|
- </el-form-item>
|
|
|
- <!-- <el-form-item label="主办单位" prop="organize">
|
|
|
- <el-select
|
|
|
- v-model="projectRuleForm.organize"
|
|
|
- placeholder="请选择主办单位"
|
|
|
- clearable
|
|
|
- @change="getUser3"
|
|
|
+ </div>
|
|
|
+ <div v-if="logFlag == 1">
|
|
|
+ <div class="schedule">
|
|
|
+ <span>任务进度分(权重{{ cardInfo.progress }}%)</span>
|
|
|
+ <!-- <span>(注:评分维度为:任务完成质量40%)</span> -->
|
|
|
+ </div>
|
|
|
+ <el-table
|
|
|
+ :row-class-name="tableRowClassName"
|
|
|
+ :data="taskData"
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
+ style="width: 100%"
|
|
|
+ :header-cell-style="{
|
|
|
+ background: 'rgba(240, 243, 247, 1)',
|
|
|
+ height: '40px',
|
|
|
+ border: 0,
|
|
|
+ }"
|
|
|
>
|
|
|
- <el-option
|
|
|
- v-for="item in departmentData"
|
|
|
- :key="item.oname"
|
|
|
- :label="item.oname"
|
|
|
- :value="item.oname"
|
|
|
+ <!-- <el-table-column type="selection" width="55" /> -->
|
|
|
+ <el-table-column align="center" prop="taskName" label="任务名称" />
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ width="250"
|
|
|
+ tooltip-effect
|
|
|
+ label="附件"
|
|
|
+ >
|
|
|
+ <template #default="scope">
|
|
|
+ <div v-if="scope.row.fileUrl">
|
|
|
+ <div v-for="i in scope.row.fileUrl.split(',')">
|
|
|
+ <div
|
|
|
+ style="color: rgba(33, 107, 255, 1); cursor: pointer"
|
|
|
+ @click="pdfChange(i)"
|
|
|
+ >
|
|
|
+ {{ i }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" label="状态">
|
|
|
+ <template #default="scope">
|
|
|
+ <span v-if="scope.row.state == 1">正常在办</span>
|
|
|
+ <span v-if="scope.row.state == 2">预警在办</span>
|
|
|
+ <span v-if="scope.row.state == 3">超时在办</span>
|
|
|
+ <span v-if="scope.row.state == 4">正常办结</span>
|
|
|
+ <span v-if="scope.row.state == 5">超时办结</span>
|
|
|
+ <!-- 1、正常在办,2、预警在办,3、超时在办,4、正常办结,5、超时办结 -->
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" width="120" label="起止时间">
|
|
|
+ <template #default="scope">
|
|
|
+ <span>{{ scope.row.startTime }} ~ {{ scope.row.endTime }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="remindTime"
|
|
|
+ label="提醒时间"
|
|
|
+ width="120"
|
|
|
/>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="主办人" prop="sposoner">
|
|
|
- <el-select
|
|
|
- v-model="projectRuleForm.sposoner"
|
|
|
- placeholder="请选择主办人"
|
|
|
- clearable
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in userData3"
|
|
|
- :key="item.id"
|
|
|
- :label="item.userName"
|
|
|
- :value="item.id.toString()"
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ width="120"
|
|
|
+ prop="warnTime"
|
|
|
+ label="预警时间"
|
|
|
/>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="协办单位" prop="coOrganize">
|
|
|
- <el-select
|
|
|
- v-model="projectRuleForm.coOrganize"
|
|
|
- placeholder="请选择协办单位"
|
|
|
- clearable
|
|
|
- multiple
|
|
|
- collapse-tags
|
|
|
- collapse-tags-tooltip
|
|
|
- :max-collapse-tags="3"
|
|
|
- @change="getUser4"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in departmentData"
|
|
|
- :key="item.oname"
|
|
|
- :label="item.oname"
|
|
|
- :value="item.oname"
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ width="120"
|
|
|
+ prop="finishTime"
|
|
|
+ label="完成时间"
|
|
|
/>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="协办人" prop="coSposoner">
|
|
|
- <el-select
|
|
|
- v-model="projectRuleForm.coSposoner"
|
|
|
- placeholder="请选择协办人"
|
|
|
- clearable
|
|
|
- multiple
|
|
|
- collapse-tags
|
|
|
- collapse-tags-tooltip
|
|
|
- :max-collapse-tags="5"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in userData4"
|
|
|
- :key="item.id"
|
|
|
- :label="item.userName"
|
|
|
- :value="item.id.toString()"
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ width="120"
|
|
|
+ prop="finishRemark"
|
|
|
+ tooltip-effect
|
|
|
+ label="完成备注"
|
|
|
/>
|
|
|
- </el-select>
|
|
|
- </el-form-item> -->
|
|
|
- <el-form-item label="项目来源" prop="projectFrom">
|
|
|
- <el-select
|
|
|
- v-model="projectRuleForm.projectFrom"
|
|
|
- placeholder="请选择项目来源"
|
|
|
- clearable
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in projectOriginData"
|
|
|
- :key="item.value"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id"
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="scoreStandard"
|
|
|
+ label="评价标准"
|
|
|
+ width="170"
|
|
|
/>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="项目等级" prop="projectLevel">
|
|
|
- <el-select
|
|
|
- v-model="projectRuleForm.projectLevel"
|
|
|
- placeholder="请选择项目等级"
|
|
|
- clearable
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in projectLevelData"
|
|
|
- :key="item.value"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id"
|
|
|
+ <el-table-column align="center" prop="weight" label="权重" />
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="headerName"
|
|
|
+ label="任务负责人"
|
|
|
+ width="100"
|
|
|
/>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="评分人" prop="scorer">
|
|
|
- <el-select
|
|
|
- v-model="projectRuleForm.scorer"
|
|
|
- placeholder="请选择评分人"
|
|
|
- clearable
|
|
|
- multiple
|
|
|
- collapse-tags
|
|
|
- collapse-tags-tooltip
|
|
|
- :max-collapse-tags="6"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in scorerData"
|
|
|
- :key="item.id"
|
|
|
- :label="item.userName"
|
|
|
- :value="item.id.toString()"
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="scoreLimit"
|
|
|
+ label="评分上限"
|
|
|
/>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item class="options">
|
|
|
+ <el-table-column align="center" prop="sysScore" label="系统" />
|
|
|
+ </el-table>
|
|
|
<el-button
|
|
|
- class="queding"
|
|
|
type="primary"
|
|
|
- @click="confirmProject(projectRef)"
|
|
|
+ class="search"
|
|
|
+ @click="addTaskbtn"
|
|
|
+ v-if="activeName == 5"
|
|
|
+ >添加任务</el-button
|
|
|
>
|
|
|
- 确认
|
|
|
- </el-button>
|
|
|
- <el-button class="quxiao" @click="cancelProject"
|
|
|
- > 取消 </el-button
|
|
|
+ <el-button
|
|
|
+ v-if="activeName == 6 && isScorer()"
|
|
|
+ type="primary"
|
|
|
+ class="search"
|
|
|
+ @click="scoreProjects"
|
|
|
+ >评分</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div v-if="logFlag == 2">
|
|
|
+ <el-table
|
|
|
+ :row-class-name="tableRowClassName"
|
|
|
+ :data="logData"
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
+ style="width: 100%"
|
|
|
+ :header-cell-style="{
|
|
|
+ background: 'rgba(240, 243, 247, 1)',
|
|
|
+ height: '40px',
|
|
|
+ border: 0,
|
|
|
+ }"
|
|
|
>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
+ <!-- <el-table-column type="selection" width="55" /> -->
|
|
|
+ <el-table-column align="center" prop="taskName" label="任务名称" />
|
|
|
+ <el-table-column align="center" label="附件">
|
|
|
+ <template #default="scope">
|
|
|
+ <div v-if="scope.row.fileUrl">
|
|
|
+ <div v-for="i in scope.row.fileUrl.split(',')">
|
|
|
+ <div
|
|
|
+ style="color: rgba(33, 107, 255, 1); cursor: pointer"
|
|
|
+ @click="pdfChange(i)"
|
|
|
+ >
|
|
|
+ {{ i }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="content" label="内容" />
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="createTime"
|
|
|
+ label="发生时间"
|
|
|
+ />
|
|
|
+ <el-table-column align="center" prop="createBy" label="操作人" />
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
@@ -1524,6 +1523,7 @@ const searchBtn = lodash.debounce(async () => {
|
|
|
// 问题清单 预警清单 (=================================================)
|
|
|
const problemClick = (val) => {
|
|
|
projectDesk.value = val;
|
|
|
+ getList()
|
|
|
};
|
|
|
// 问题清单
|
|
|
const getList = async () => {
|
|
|
@@ -1748,207 +1748,6 @@ const collectClick = async (row) => {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
-// 新建项目 (-----------------------------------------------------------------)
|
|
|
-const addProjectbtn = () => {
|
|
|
- projectVisible.value = true;
|
|
|
- projectTitle.value = "新建项目";
|
|
|
- fileList.value = [];
|
|
|
- projectRuleForm.projectName = "";
|
|
|
- projectRuleForm.projectContent = "";
|
|
|
- projectRuleForm.fileUrl = "";
|
|
|
-
|
|
|
- projectRuleForm.organize = "";
|
|
|
- projectRuleForm.sposoner = "";
|
|
|
- sposonerVal.value = "";
|
|
|
-
|
|
|
- projectRuleForm.coOrganize = "";
|
|
|
- projectRuleForm.coSposoner = "";
|
|
|
- coSposonerVal.value = "";
|
|
|
-
|
|
|
- projectRuleForm.projectFrom = "";
|
|
|
- projectRuleForm.projectLevel = "";
|
|
|
- projectRuleForm.id = "";
|
|
|
-};
|
|
|
-// 勾选主办人
|
|
|
-const organizeChange = async (val) => {
|
|
|
- console.log(val);
|
|
|
- return new Promise(async (resolve) => {
|
|
|
- projectRuleForm.scorer = [];
|
|
|
- if (val) {
|
|
|
- projectRuleForm.organize = val[0];
|
|
|
- projectRuleForm.sposoner = val[1];
|
|
|
- let params = {
|
|
|
- page: 1, // 当前页
|
|
|
- rows: 1000, // 一页数据条数
|
|
|
- };
|
|
|
- let data = {
|
|
|
- manageDepartment: projectRuleForm.organize, // 部门
|
|
|
- };
|
|
|
- let res = await axios({
|
|
|
- method: "post",
|
|
|
- url: api.value + "/api/sysUser/queryPage",
|
|
|
- headers: {
|
|
|
- tokenP: sessionStorage.getItem("tokenP"),
|
|
|
- user_head: sessionStorage.getItem("userhead"),
|
|
|
- },
|
|
|
- params: params,
|
|
|
- data: data,
|
|
|
- });
|
|
|
- console.log(res, "评分人列表");
|
|
|
- if (res.data.code == 200) {
|
|
|
- scorerData.value = res.data.data.rows;
|
|
|
- resolve("success");
|
|
|
- } else {
|
|
|
- ElMessage({
|
|
|
- type: "error",
|
|
|
- showClose: true,
|
|
|
- message: res.data.message,
|
|
|
- center: true,
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
-};
|
|
|
-// 勾选协办人
|
|
|
-const coOrganizeChange = (val) => {
|
|
|
- console.log(val);
|
|
|
- if (val) {
|
|
|
- let arr = [];
|
|
|
- let jrr = [];
|
|
|
- val.forEach((i) => {
|
|
|
- arr.push(i[0]);
|
|
|
- jrr.push(i[1]);
|
|
|
- });
|
|
|
- projectRuleForm.coOrganize = arr.join(",");
|
|
|
- projectRuleForm.coSposoner = jrr.join(",");
|
|
|
- console.log(arr.join(","), jrr.join(","));
|
|
|
- }
|
|
|
-};
|
|
|
-//编辑项目
|
|
|
-const editProject = async (row) => {
|
|
|
- projectVisible.value = true;
|
|
|
- projectTitle.value = "编辑项目";
|
|
|
- console.log(row);
|
|
|
- fileList.value = row.fileUrl.split(",");
|
|
|
- projectRuleForm.projectName = row.projectName;
|
|
|
- projectRuleForm.projectContent = row.projectContent;
|
|
|
- projectRuleForm.fileUrl = row.fileUrl.split(",");
|
|
|
-
|
|
|
- projectRuleForm.organize = row.organize;
|
|
|
- projectRuleForm.sposoner = row.sposoner;
|
|
|
- console.log([row.organize, row.sposoner.toString()]);
|
|
|
- sposonerVal.value = [row.organize, Number(row.sposoner)];
|
|
|
-
|
|
|
- projectRuleForm.coSposoner = row.coSposoner;
|
|
|
- projectRuleForm.coOrganize = row.coOrganize;
|
|
|
- let arr = [];
|
|
|
- row.coOrganize.split(",").forEach((item, ind) => {
|
|
|
- console.log(item, ind);
|
|
|
- arr.push([item, Number(row.coSposoner.split(",")[ind])]);
|
|
|
- });
|
|
|
- coSposonerVal.value = arr;
|
|
|
-
|
|
|
- projectRuleForm.projectFrom = row.projectFrom;
|
|
|
- projectRuleForm.projectLevel = row.projectLevel;
|
|
|
- projectRuleForm.id = row.id;
|
|
|
- await organizeChange([projectRuleForm.organize, projectRuleForm.sposoner]);
|
|
|
- projectRuleForm.scorer = row.scorer.split(",");
|
|
|
- // organizeChange([projectRuleForm.organize, projectRuleForm.sposoner]).then(
|
|
|
- // (res) => {
|
|
|
- // console.log(scorerData.value,res);
|
|
|
- // if (res == "success") {
|
|
|
- // projectRuleForm.scorer = row.scorer.split(",");
|
|
|
- // }
|
|
|
- // }
|
|
|
- // );
|
|
|
-};
|
|
|
-// 确定新建项目
|
|
|
-const confirmProject = (formEl) => {
|
|
|
- if (!formEl) return;
|
|
|
- formEl.validate(async (valid, fields) => {
|
|
|
- if (valid) {
|
|
|
- let res = "";
|
|
|
- let data = {
|
|
|
- projectName: projectRuleForm.projectName,
|
|
|
- projectFrom: projectRuleForm.projectFrom,
|
|
|
- projectLevel: projectRuleForm.projectLevel,
|
|
|
- projectContent: projectRuleForm.projectContent,
|
|
|
- fileUrl: projectRuleForm.fileUrl.join(","),
|
|
|
- organize: projectRuleForm.organize,
|
|
|
- sposoner: projectRuleForm.sposoner,
|
|
|
- coOrganize: projectRuleForm.coOrganize,
|
|
|
- coSposoner: projectRuleForm.coSposoner,
|
|
|
- scorer: projectRuleForm.scorer.join(","),
|
|
|
- };
|
|
|
- console.log(data);
|
|
|
-
|
|
|
- // // 判断是否有id存在,有则是修改账号
|
|
|
- if (projectRuleForm.id) {
|
|
|
- data.id = projectRuleForm.id;
|
|
|
- res = await axios({
|
|
|
- method: "post",
|
|
|
- url: api.value + "/api/sysProject/update",
|
|
|
- headers: {
|
|
|
- tokenP: sessionStorage.getItem("tokenP"),
|
|
|
- user_head: sessionStorage.getItem("userhead"),
|
|
|
- },
|
|
|
- data: data,
|
|
|
- });
|
|
|
- } else {
|
|
|
- res = await axios({
|
|
|
- method: "post",
|
|
|
- url: api.value + "/api/sysProject/add",
|
|
|
- headers: {
|
|
|
- tokenP: sessionStorage.getItem("tokenP"),
|
|
|
- user_head: sessionStorage.getItem("userhead"),
|
|
|
- },
|
|
|
- data: data,
|
|
|
- });
|
|
|
- }
|
|
|
- console.log(data, "添加参数");
|
|
|
- console.log(res, "新增项目数据");
|
|
|
- if (res.data.code == 200) {
|
|
|
- projectVisible.value = false;
|
|
|
- getList();
|
|
|
- projectRef.value.resetFields();
|
|
|
- ElMessage({
|
|
|
- type: "success",
|
|
|
- showClose: true,
|
|
|
- message: res.data.message,
|
|
|
- center: true,
|
|
|
- });
|
|
|
- } else {
|
|
|
- ElMessage({
|
|
|
- type: "error",
|
|
|
- showClose: true,
|
|
|
- message: res.data.message,
|
|
|
- center: true,
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
-};
|
|
|
-// 取消新建项目
|
|
|
-const cancelProject = () => {
|
|
|
- projectVisible.value = false;
|
|
|
- projectRef.value.resetFields();
|
|
|
- fileList.value = [];
|
|
|
- projectRuleForm.projectName = "";
|
|
|
- projectRuleForm.projectContent = "";
|
|
|
- projectRuleForm.fileUrl = "";
|
|
|
-
|
|
|
- projectRuleForm.organize = "";
|
|
|
- projectRuleForm.sposoner = "";
|
|
|
- sposonerVal.value = "";
|
|
|
-
|
|
|
- projectRuleForm.coOrganize = "";
|
|
|
- projectRuleForm.coSposoner = "";
|
|
|
- coSposonerVal.value = "";
|
|
|
-
|
|
|
- projectRuleForm.projectFrom = "";
|
|
|
- projectRuleForm.projectLevel = "";
|
|
|
- projectRuleForm.id = "";
|
|
|
-};
|
|
|
|
|
|
// 催办所有项目
|
|
|
const urgeProject = async () => {
|
|
|
@@ -2075,51 +1874,6 @@ const delFiles = (val) => {
|
|
|
projectRuleForm.fileUrl = fileList.value;
|
|
|
};
|
|
|
|
|
|
-// 删除项目
|
|
|
-const delProject = (row) => {
|
|
|
- console.log(row);
|
|
|
- console.log("删除项目");
|
|
|
- ElMessageBox.confirm(`确定要删除<${row.projectName}>项目吗?`, "删除", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
- })
|
|
|
- .then(async () => {
|
|
|
- let data = new FormData();
|
|
|
- data.append("id", row.id);
|
|
|
- let res = await axios({
|
|
|
- method: "post",
|
|
|
- url: api.value + "/api/sysProject/del",
|
|
|
- headers: {
|
|
|
- tokenP: sessionStorage.getItem("tokenP"),
|
|
|
- user_head: sessionStorage.getItem("userhead"),
|
|
|
- },
|
|
|
- data: data,
|
|
|
- });
|
|
|
- if (res.data.code == 200) {
|
|
|
- getList();
|
|
|
- ElMessage({
|
|
|
- type: "success",
|
|
|
- showClose: true,
|
|
|
- message: res.data.message,
|
|
|
- center: true,
|
|
|
- });
|
|
|
- } else {
|
|
|
- ElMessage({
|
|
|
- type: "error",
|
|
|
- showClose: true,
|
|
|
- message: res.data.message,
|
|
|
- center: true,
|
|
|
- });
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(() => {
|
|
|
- ElMessage({
|
|
|
- type: "info",
|
|
|
- message: "Delete canceled",
|
|
|
- });
|
|
|
- });
|
|
|
-};
|
|
|
|
|
|
// 新建任务 (******************************************************************)
|
|
|
const addTaskbtn = () => {
|
|
|
@@ -2723,7 +2477,7 @@ onUnmounted(() => {
|
|
|
|
|
|
.el-card {
|
|
|
width: 370px;
|
|
|
- height: 229px;
|
|
|
+ height: 219px;
|
|
|
margin: 0 20px 20px 0;
|
|
|
opacity: 1;
|
|
|
border-radius: 4px;
|
|
|
@@ -2807,7 +2561,7 @@ onUnmounted(() => {
|
|
|
|
|
|
.plan {
|
|
|
display: flex;
|
|
|
-
|
|
|
+ align-items: center;
|
|
|
:deep(.el-progress-bar) {
|
|
|
width: 180px;
|
|
|
}
|
|
|
@@ -2816,9 +2570,14 @@ onUnmounted(() => {
|
|
|
width: 20px;
|
|
|
height: 20px;
|
|
|
cursor: pointer;
|
|
|
- transform: translateY(-3px);
|
|
|
+ transform: translateY(-2px);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .score {
|
|
|
+ color: blueviolet;
|
|
|
+ font-size: 18px;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -3081,101 +2840,6 @@ onUnmounted(() => {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // 项目新增样式
|
|
|
- :deep(.project) {
|
|
|
- // height: 300px;
|
|
|
- border-radius: 11px;
|
|
|
-
|
|
|
- .el-dialog__header {
|
|
|
- border-radius: 11px 11px 0 0;
|
|
|
- background: rgba(237, 241, 245, 1);
|
|
|
- font-weight: 600;
|
|
|
- margin: 0;
|
|
|
- height: 32px;
|
|
|
-
|
|
|
- .el-dialog__headerbtn {
|
|
|
- outline: none;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .el-dialog__body {
|
|
|
- padding: 30px 30px 0 30px;
|
|
|
-
|
|
|
- .el-form {
|
|
|
- .el-form-item {
|
|
|
- .el-input {
|
|
|
- width: 460px;
|
|
|
-
|
|
|
- .el-input-group__append {
|
|
|
- // padding: 0;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .el-textarea {
|
|
|
- width: 460px;
|
|
|
- }
|
|
|
-
|
|
|
- .avatar-uploader {
|
|
|
- .el-upload-list {
|
|
|
- display: none;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .fileList {
|
|
|
- .files {
|
|
|
- padding: 0 5px;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
-
|
|
|
- .el-icon {
|
|
|
- cursor: pointer;
|
|
|
- margin-left: 8px;
|
|
|
- }
|
|
|
-
|
|
|
- .el-icon:hover {
|
|
|
- color: red;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .files:hover {
|
|
|
- background-color: rgb(245, 247, 250);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .resetPassword {
|
|
|
- color: rgba(43, 151, 252, 1);
|
|
|
- padding-left: 40px;
|
|
|
- display: inline-block;
|
|
|
- margin-bottom: 15px;
|
|
|
- }
|
|
|
-
|
|
|
- .options {
|
|
|
- margin: 60px 0 40px 0;
|
|
|
-
|
|
|
- .el-form-item__content {
|
|
|
- display: flex;
|
|
|
- flex-direction: row-reverse;
|
|
|
-
|
|
|
- .queding {
|
|
|
- margin-left: 20px;
|
|
|
- background: linear-gradient(
|
|
|
- 90deg,
|
|
|
- rgba(33, 107, 255, 1) 0%,
|
|
|
- rgba(102, 182, 255, 1) 100%
|
|
|
- );
|
|
|
- border: none;
|
|
|
- }
|
|
|
-
|
|
|
- .quxiao {
|
|
|
- border: 1px solid rgba(43, 151, 252, 1);
|
|
|
- color: rgba(43, 151, 252, 1);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
// 点击卡片弹窗
|
|
|
:deep(.projectCard) {
|