|
|
@@ -526,11 +526,11 @@
|
|
|
:http-request="handleUpload"
|
|
|
>
|
|
|
<el-button type="primary">上传附件</el-button>
|
|
|
- <!-- <template #tip>
|
|
|
- <div class="el-upload__tip">
|
|
|
- jpg/png files with a size less than 500KB.
|
|
|
- </div>
|
|
|
- </template> -->
|
|
|
+ <template #tip>
|
|
|
+ <div class="el-upload__tip" style="color: darkorange;">
|
|
|
+ 附件仅支持'.jpeg'、'.png'、'.pdf'、'.docx'、'.xlsx'、'.xls'格式
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</el-upload>
|
|
|
<div v-if="fileList" class="fileList">
|
|
|
<div class="files" v-for="i in fileList">
|
|
|
@@ -550,6 +550,9 @@
|
|
|
:props="organizeProps"
|
|
|
@change="organizeChange"
|
|
|
v-model="sposonerVal"
|
|
|
+ collapse-tags
|
|
|
+ collapse-tags-tooltip
|
|
|
+ :max-collapse-tags="3"
|
|
|
filterable
|
|
|
clearable
|
|
|
>
|
|
|
@@ -559,17 +562,17 @@
|
|
|
</template>
|
|
|
</el-cascader>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="协办人员" prop="coSposoner">
|
|
|
+ <el-form-item label="协办人员">
|
|
|
<!-- <el-cascader :props="props" :options="options" /> -->
|
|
|
<el-cascader
|
|
|
:options="organizeData"
|
|
|
:props="coOrganizeProps"
|
|
|
+ @change="coOrganizeChange"
|
|
|
+ v-model="coSposonerVal"
|
|
|
collapse-tags
|
|
|
collapse-tags-tooltip
|
|
|
:max-collapse-tags="3"
|
|
|
clearable
|
|
|
- @change="coOrganizeChange"
|
|
|
- v-model="coSposonerVal"
|
|
|
filterable
|
|
|
>
|
|
|
<template #default="{ node, data }">
|
|
|
@@ -673,14 +676,17 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="评分人" prop="scorer">
|
|
|
- <el-select
|
|
|
+ <!-- <el-select
|
|
|
v-model="projectRuleForm.scorer"
|
|
|
placeholder="请选择评分人"
|
|
|
clearable
|
|
|
multiple
|
|
|
collapse-tags
|
|
|
collapse-tags-tooltip
|
|
|
+ filterable
|
|
|
:max-collapse-tags="6"
|
|
|
+ :remote-method="scorerChange"
|
|
|
+ remote
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="item in scorerData"
|
|
|
@@ -688,6 +694,45 @@
|
|
|
:label="item.userName"
|
|
|
:value="item.id.toString()"
|
|
|
/>
|
|
|
+ </el-select> -->
|
|
|
+ <el-select
|
|
|
+ v-model="projectRuleForm.scorer"
|
|
|
+ popper-class="more-tag-data"
|
|
|
+ multiple
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ :remote-method="scorerChange"
|
|
|
+ :loading="conteactLoading"
|
|
|
+ placeholder="请选择评分人"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in scorerData"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.userName"
|
|
|
+ :value="item.id.toString()"
|
|
|
+ >
|
|
|
+ <span style="float: left">{{ item.userName }}</span>
|
|
|
+ <!-- <span
|
|
|
+ style="
|
|
|
+ float: right;
|
|
|
+ color: var(--el-text-color-secondary);
|
|
|
+ font-size: 13px;
|
|
|
+ "
|
|
|
+ >{{ item.department }}</span
|
|
|
+ > -->
|
|
|
+ </el-option>
|
|
|
+ <template #footer>
|
|
|
+ <div class="addStudentMore">
|
|
|
+ <el-button
|
|
|
+ v-if="
|
|
|
+ scorePage < scoreTotalPage &&
|
|
|
+ scoreTotalPage != 0
|
|
|
+ "
|
|
|
+ @click="addStudentListMore"
|
|
|
+ >加载更多+</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item class="options">
|
|
|
@@ -771,7 +816,7 @@
|
|
|
<div class="unit">
|
|
|
<div class="unit_i">
|
|
|
<span class="key">主办单位 :</span>
|
|
|
- <span class="value">{{ cardInfo.organize }}</span>
|
|
|
+ <span class="value">{{ cardInfo.organizeCopy }}</span>
|
|
|
</div>
|
|
|
<div class="unit_i">
|
|
|
<span class="key">主办人 :</span>
|
|
|
@@ -1114,11 +1159,11 @@
|
|
|
:http-request="handleUploadTask"
|
|
|
>
|
|
|
<el-button type="primary">上传附件</el-button>
|
|
|
- <!-- <template #tip>
|
|
|
- <div class="el-upload__tip">
|
|
|
- jpg/png files with a size less than 500KB.
|
|
|
- </div>
|
|
|
- </template> -->
|
|
|
+ <template #tip>
|
|
|
+ <div class="el-upload__tip" style="color: darkorange;">
|
|
|
+ 附件仅支持'.jpeg'、'.png'、'.pdf'、'.docx'、'.xlsx'、'.xls'格式
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</el-upload>
|
|
|
<div v-if="fileListTask" class="fileList">
|
|
|
<div class="files" v-for="i in fileListTask">
|
|
|
@@ -1260,11 +1305,11 @@
|
|
|
:http-request="handleAttachment"
|
|
|
>
|
|
|
<el-button type="primary">上传附件</el-button>
|
|
|
- <!-- <template #tip>
|
|
|
- <div class="el-upload__tip">
|
|
|
- jpg/png files with a size less than 500KB.
|
|
|
- </div>
|
|
|
- </template> -->
|
|
|
+ <template #tip>
|
|
|
+ <div class="el-upload__tip" style="color: darkorange;">
|
|
|
+ 附件仅支持'.jpeg'、'.png'、'.pdf'、'.docx'、'.xlsx'、'.xls'格式
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</el-upload>
|
|
|
<div v-if="fileListAttachment" class="fileList">
|
|
|
<div class="files" v-for="i in fileListAttachment">
|
|
|
@@ -1324,6 +1369,14 @@
|
|
|
<div class="continer" v-if="pdfFlag == 3">
|
|
|
<img :src="previewPdfUrl" />
|
|
|
</div>
|
|
|
+ <div class="continer" v-if="pdfFlag == 4">
|
|
|
+ <vue-office-excel
|
|
|
+ :src="previewPdfUrl"
|
|
|
+ style="height: 100vh;"
|
|
|
+ @rendered="renderedHandler"
|
|
|
+ @error="errorHandler"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
@@ -1357,6 +1410,11 @@ import VueOfficeDocx from "@vue-office/docx";
|
|
|
// 导入样式文件
|
|
|
import "@vue-office/docx/lib/index.css";
|
|
|
|
|
|
+//引入VueOfficeExcel组件
|
|
|
+import VueOfficeExcel from '@vue-office/excel'
|
|
|
+//引入相关样式
|
|
|
+import '@vue-office/excel/lib/index.css'
|
|
|
+
|
|
|
const store = useStore();
|
|
|
const router = useRouter();
|
|
|
const btnFlag = inject("$btnFlag");
|
|
|
@@ -1426,9 +1484,16 @@ const projectRef = ref();
|
|
|
|
|
|
const searchOrganizeData = ref(); // 搜索框用主办协办人员
|
|
|
const organizeData = ref(); // 添加项目用主办协办人员
|
|
|
+
|
|
|
+ // 评分人下拉
|
|
|
+const scorePage=ref(1);
|
|
|
+const scoreCurrent=ref(20);
|
|
|
+const scoreTotalPage=ref();
|
|
|
+const scoreNameSea=ref();
|
|
|
const scorerData = ref(); // 评分人
|
|
|
|
|
|
const organizeProps = {
|
|
|
+ multiple: true,
|
|
|
children: "userList",
|
|
|
label: "userName",
|
|
|
value: "id",
|
|
|
@@ -1551,6 +1616,7 @@ const cardInfo = reactive({
|
|
|
projectContent: "", // 描述
|
|
|
fileUrl: "", // 附件
|
|
|
organize: "", // 主办单位
|
|
|
+ organizeCopy:"",// 主办单位去重
|
|
|
sposonerName: "", // 主办人
|
|
|
coOrganizeCopy: "", // 协办单位去重展示用
|
|
|
coOrganize: "", // 协办单位
|
|
|
@@ -1719,7 +1785,38 @@ const getList = async () => {
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
-
|
|
|
+// 评分人数据
|
|
|
+const scorerList=async ()=>{
|
|
|
+ let params={
|
|
|
+ page:scorePage.value,
|
|
|
+ rows:scoreCurrent.value
|
|
|
+ }
|
|
|
+ let data={
|
|
|
+ "userName": scoreNameSea.value, // 姓名
|
|
|
+ }
|
|
|
+ let res = await axios({
|
|
|
+ method: "post",
|
|
|
+ url: api.value + "/api/sysUser/queryPage",
|
|
|
+ headers: {
|
|
|
+ tokenP: sessionStorage.getItem("tokenP"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
+ },
|
|
|
+ data,
|
|
|
+ params
|
|
|
+ });
|
|
|
+ console.log(res, "评分人数据列表");
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ scorerData.value = res.data.data.rows;
|
|
|
+ scoreTotalPage.value=res.data.data.totalPage
|
|
|
+ } else {
|
|
|
+ ElMessage({
|
|
|
+ type: "error",
|
|
|
+ showClose: true,
|
|
|
+ message: res.data.message,
|
|
|
+ center: true,
|
|
|
+ });
|
|
|
+ }
|
|
|
+}
|
|
|
// 部门数据
|
|
|
const departmentList = async () => {
|
|
|
// let res = await axios({
|
|
|
@@ -1947,6 +2044,18 @@ const projectCard = async (row) => {
|
|
|
cardInfo.organize = row.organize;
|
|
|
cardInfo.sposonerName = row.sposonerName;
|
|
|
cardInfo.coSposonerName = row.coSposonerName;
|
|
|
+ // 主办单位去重展示用
|
|
|
+ let arr1 = [];
|
|
|
+ console.log(row.organize.split(","));
|
|
|
+ row.organize.split(",").forEach((item) => {
|
|
|
+ let flag = arr1.some((i) => {
|
|
|
+ return i == item;
|
|
|
+ });
|
|
|
+ if (!flag) {
|
|
|
+ arr1.push(item);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ cardInfo.organizeCopy = arr1.join(",");
|
|
|
|
|
|
// 协办单位去重展示用
|
|
|
let arrs = [];
|
|
|
@@ -2274,78 +2383,71 @@ const addProjectbtn = () => {
|
|
|
// 勾选主办人
|
|
|
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 formData = new FormData();
|
|
|
- formData.append("organizes", projectRuleForm.organize);
|
|
|
-
|
|
|
- let res = await axios({
|
|
|
- method: "post",
|
|
|
- url: api.value + "/api/sysUser/queryScorer",
|
|
|
- headers: {
|
|
|
- tokenP: sessionStorage.getItem("tokenP"),
|
|
|
- user_head: sessionStorage.getItem("userhead"),
|
|
|
- },
|
|
|
- data: formData,
|
|
|
- });
|
|
|
- console.log(res, "评分人列表");
|
|
|
- if (res.data.code == 200) {
|
|
|
- scorerData.value = res.data.data;
|
|
|
- resolve("success");
|
|
|
- } else {
|
|
|
- if (res.data.message.indexOf("Handler dispatch failed") != -1) {
|
|
|
- window.location.href =
|
|
|
- "https://chtech.ncjti.edu.cn/kpi/template/api/sysUser/authorize";
|
|
|
- ElMessage({
|
|
|
- type: "error",
|
|
|
- showClose: true,
|
|
|
- message: "token已过期,请重新登录",
|
|
|
- center: true,
|
|
|
- });
|
|
|
- } else {
|
|
|
- ElMessage({
|
|
|
- type: "error",
|
|
|
- showClose: true,
|
|
|
- message: res.data.message,
|
|
|
- center: true,
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
- // 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,
|
|
|
- // });
|
|
|
- // }
|
|
|
- }
|
|
|
+ let arr = [];
|
|
|
+ let jrr = [];
|
|
|
+ val.forEach((i) => {
|
|
|
+ arr.push(i[0]);
|
|
|
+ jrr.push(i[1]);
|
|
|
});
|
|
|
+ projectRuleForm.organize = arr.join(",");
|
|
|
+ projectRuleForm.sposoner = jrr.join(",");
|
|
|
+ console.log(arr,'//////', jrr);
|
|
|
+ // return new Promise(async (resolve) => {
|
|
|
+ // // projectRuleForm.scorer = [];
|
|
|
+ // if (val) {
|
|
|
+ // let arr = [];
|
|
|
+ // let jrr = [];
|
|
|
+ // val.forEach((i) => {
|
|
|
+ // arr.push(i[0]);
|
|
|
+ // jrr.push(i[1]);
|
|
|
+ // });
|
|
|
+ // projectRuleForm.organize = arr.join(",");
|
|
|
+ // projectRuleForm.sposoner = jrr.join(",");
|
|
|
+ // console.log(arr.join(","), jrr.join(","));
|
|
|
+
|
|
|
+ // // projectRuleForm.organize = val[0];
|
|
|
+ // // projectRuleForm.sposoner = val[1];
|
|
|
+ // // let formData = new FormData();
|
|
|
+ // // formData.append("organizes", projectRuleForm.organize);
|
|
|
+ // // let res = "";
|
|
|
+ // // if (projectRuleForm.organize) {
|
|
|
+ // // console.log(res, "评分人列表");
|
|
|
+ // // res = await axios({
|
|
|
+ // // method: "post",
|
|
|
+ // // url: api.value + "/api/sysUser/queryScorer",
|
|
|
+ // // headers: {
|
|
|
+ // // tokenP: sessionStorage.getItem("tokenP"),
|
|
|
+ // // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ // // },
|
|
|
+ // // data: formData,
|
|
|
+ // // });
|
|
|
+ // // if (res.data.code == 200) {
|
|
|
+ // // scorerData.value = res.data.data;
|
|
|
+ // // resolve("success");
|
|
|
+ // // } else {
|
|
|
+ // // if (res.data.message.indexOf("Handler dispatch failed") != -1) {
|
|
|
+ // // window.location.href =
|
|
|
+ // // "https://chtech.ncjti.edu.cn/kpi/template/api/sysUser/authorize";
|
|
|
+ // // ElMessage({
|
|
|
+ // // type: "error",
|
|
|
+ // // showClose: true,
|
|
|
+ // // message: "token已过期,请重新登录",
|
|
|
+ // // center: true,
|
|
|
+ // // });
|
|
|
+ // // } else {
|
|
|
+ // // ElMessage({
|
|
|
+ // // type: "error",
|
|
|
+ // // showClose: true,
|
|
|
+ // // message: res.data.message,
|
|
|
+ // // center: true,
|
|
|
+ // // });
|
|
|
+ // // }
|
|
|
+ // // }
|
|
|
+ // // }else{
|
|
|
+ // // scorerData.value=[]
|
|
|
+ // // }
|
|
|
+ // }
|
|
|
+ // });
|
|
|
};
|
|
|
// 勾选协办人
|
|
|
const coOrganizeChange = (val) => {
|
|
|
@@ -2379,23 +2481,56 @@ const editProject = async (row) => {
|
|
|
|
|
|
projectRuleForm.organize = row.organize;
|
|
|
projectRuleForm.sposoner = row.sposoner;
|
|
|
- console.log([row.organize, row.sposoner.toString()]);
|
|
|
- sposonerVal.value = [row.organize, Number(row.sposoner)];
|
|
|
+ // console.log(row.organize,'主办人员',row.sposoner);
|
|
|
+ // sposonerVal.value = [row.organize, Number(row.sposoner)];
|
|
|
+ let arrs = [];
|
|
|
+ row.organize.split(",").forEach((item, ind) => {
|
|
|
+ console.log(item, ind);
|
|
|
+ arrs.push([item, Number(row.sposoner.split(",")[ind])]);
|
|
|
+ });
|
|
|
+ sposonerVal.value =arrs
|
|
|
+ console.log(sposonerVal.value,'主办人员');
|
|
|
+
|
|
|
|
|
|
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;
|
|
|
+ if(row.coOrganize){
|
|
|
+ row.coOrganize.split(",").forEach((item, ind) => {
|
|
|
+ console.log(item, ind);
|
|
|
+ arr.push([item, Number(row.coSposoner.split(",")[ind])]);
|
|
|
+ });
|
|
|
+ coSposonerVal.value = arr;
|
|
|
+ }else{
|
|
|
+ coSposonerVal.value=''
|
|
|
+ }
|
|
|
|
|
|
projectRuleForm.projectFrom = row.projectFrom;
|
|
|
projectRuleForm.projectLevel = row.projectLevel;
|
|
|
projectRuleForm.id = row.id;
|
|
|
- await organizeChange([projectRuleForm.organize, projectRuleForm.sposoner]);
|
|
|
+ // await organizeChange([projectRuleForm.organize, projectRuleForm.sposoner]);
|
|
|
projectRuleForm.scorer = row.scorer.split(",");
|
|
|
+ if (row.scorer) {
|
|
|
+ row.scorer.split(",").forEach((item,ind) => {
|
|
|
+ // scorerData.value.unshift(item);
|
|
|
+ let flag= scorerData.value.some(j=>{
|
|
|
+ return item==j.id
|
|
|
+ })
|
|
|
+ if(!flag){
|
|
|
+ let arr={
|
|
|
+ userName:row.scorerName.split(',')[ind],
|
|
|
+ id:`${item}`
|
|
|
+ };
|
|
|
+ scorerData.value.unshift(arr)
|
|
|
+ console.log(arr);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // projectRuleForm.scorer= arr; // 联系人
|
|
|
+ } else {
|
|
|
+ // projectRuleForm.scorer = [];
|
|
|
+ }
|
|
|
+ console.log(projectRuleForm.scorer);
|
|
|
+
|
|
|
// organizeChange([projectRuleForm.organize, projectRuleForm.sposoner]).then(
|
|
|
// (res) => {
|
|
|
// console.log(scorerData.value,res);
|
|
|
@@ -2405,6 +2540,58 @@ const editProject = async (row) => {
|
|
|
// }
|
|
|
// );
|
|
|
};
|
|
|
+// 评分人下拉加载数据
|
|
|
+const scorerChange=(query)=>{
|
|
|
+ console.log(query);
|
|
|
+ scorePage.value=1
|
|
|
+ scoreNameSea.value=query
|
|
|
+ scorerList()
|
|
|
+ // if (query) {
|
|
|
+ // scoreNameSea.value=query
|
|
|
+ // scorerList()
|
|
|
+ // } else {
|
|
|
+ // scorerData.value = []
|
|
|
+ // }
|
|
|
+}
|
|
|
+const addStudentListMore = async () => {
|
|
|
+ if (scorePage.value < scoreTotalPage.value) {
|
|
|
+ scorePage.value++;
|
|
|
+ console.log(scorePage.value, "滚动里面");
|
|
|
+ let params={
|
|
|
+ page:scorePage.value,
|
|
|
+ rows:scoreCurrent.value
|
|
|
+ }
|
|
|
+ let data={
|
|
|
+ "userName": scoreNameSea.value, // 姓名
|
|
|
+ }
|
|
|
+ let res = await axios({
|
|
|
+ method: "post",
|
|
|
+ url: api.value + "/api/sysUser/queryPage",
|
|
|
+ headers: {
|
|
|
+ tokenP: sessionStorage.getItem("tokenP"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
+ },
|
|
|
+ params,
|
|
|
+ data
|
|
|
+ });
|
|
|
+ console.log(res, "评分人列表数据");
|
|
|
+ // let arr=[]
|
|
|
+ // if(res.data.data.rows){
|
|
|
+ // arr=res.data.data.rows.filter(i=>{
|
|
|
+ // let flag= scorerData.value.some(j=>{
|
|
|
+ // return i.id==j.id
|
|
|
+ // })
|
|
|
+ // return !flag
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ scorerData.value = [
|
|
|
+ ...scorerData.value,
|
|
|
+ ...res.data.data.rows,
|
|
|
+ ];
|
|
|
+ } else {
|
|
|
+ console.log("数据全部加载完成");
|
|
|
+ }
|
|
|
+};
|
|
|
// 确定新建项目
|
|
|
const confirmProject = (formEl) => {
|
|
|
if (!formEl) return;
|
|
|
@@ -2419,8 +2606,8 @@ const confirmProject = (formEl) => {
|
|
|
fileUrl: projectRuleForm.fileUrl.join(","),
|
|
|
organize: projectRuleForm.organize,
|
|
|
sposoner: projectRuleForm.sposoner,
|
|
|
- coOrganize: projectRuleForm.coOrganize,
|
|
|
- coSposoner: projectRuleForm.coSposoner,
|
|
|
+ // coOrganize: projectRuleForm.coOrganize,
|
|
|
+ // coSposoner: projectRuleForm.coSposoner,
|
|
|
scorer: projectRuleForm.scorer.join(","),
|
|
|
};
|
|
|
console.log(data);
|
|
|
@@ -2428,6 +2615,16 @@ const confirmProject = (formEl) => {
|
|
|
// // 判断是否有id存在,有则是修改账号
|
|
|
if (projectRuleForm.id) {
|
|
|
data.id = projectRuleForm.id;
|
|
|
+ if(projectRuleForm.coOrganize){
|
|
|
+ data.coOrganize = projectRuleForm.coOrganize;
|
|
|
+ }else{
|
|
|
+ data.coOrganize =""
|
|
|
+ }
|
|
|
+ if(projectRuleForm.coOrganize){
|
|
|
+ data.coSposoner = projectRuleForm.coSposoner;
|
|
|
+ }else{
|
|
|
+ data.coSposoner =""
|
|
|
+ }
|
|
|
res = await axios({
|
|
|
method: "post",
|
|
|
url: api.value + "/api/sysProject/update",
|
|
|
@@ -2438,6 +2635,16 @@ const confirmProject = (formEl) => {
|
|
|
data: data,
|
|
|
});
|
|
|
} else {
|
|
|
+ if(projectRuleForm.coOrganize){
|
|
|
+ data.coOrganize = projectRuleForm.coOrganize;
|
|
|
+ }else{
|
|
|
+ data.coOrganize ="null"
|
|
|
+ }
|
|
|
+ if(projectRuleForm.coOrganize){
|
|
|
+ data.coSposoner = projectRuleForm.coSposoner;
|
|
|
+ }else{
|
|
|
+ data.coSposoner ="null"
|
|
|
+ }
|
|
|
res = await axios({
|
|
|
method: "post",
|
|
|
url: api.value + "/api/sysProject/add",
|
|
|
@@ -2629,7 +2836,10 @@ const handleUpload = async (file) => {
|
|
|
file.file.type == "image/png" ||
|
|
|
file.file.type == "application/pdf" ||
|
|
|
file.file.type ==
|
|
|
- "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
|
|
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document" ||
|
|
|
+ file.file.type ==
|
|
|
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" ||
|
|
|
+ file.file.type == "application/vnd.ms-excel"
|
|
|
) {
|
|
|
if (fileList.value.length >= 3) {
|
|
|
ElMessage.warning("最多可上传3张附件!");
|
|
|
@@ -2671,7 +2881,7 @@ const handleUpload = async (file) => {
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- ElMessage.warning("附件仅支持'.jpeg'、'.png'、'.pdf'、'.docx'格式");
|
|
|
+ ElMessage.warning("附件仅支持'.jpeg'、'.png'、'.pdf'、'.docx'、'.xlsx'、'.xls'格式");
|
|
|
}
|
|
|
};
|
|
|
// 删除文件
|
|
|
@@ -2734,7 +2944,7 @@ const delProject = (row) => {
|
|
|
.catch(() => {
|
|
|
ElMessage({
|
|
|
type: "info",
|
|
|
- message: "Delete canceled",
|
|
|
+ message: "取消",
|
|
|
});
|
|
|
});
|
|
|
};
|
|
|
@@ -3028,7 +3238,10 @@ const handleUploadTask = async (file) => {
|
|
|
file.file.type == "image/png" ||
|
|
|
file.file.type == "application/pdf" ||
|
|
|
file.file.type ==
|
|
|
- "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
|
|
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document" ||
|
|
|
+ file.file.type ==
|
|
|
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" ||
|
|
|
+ file.file.type == "application/vnd.ms-excel"
|
|
|
) {
|
|
|
if (fileListTask.value.length >= 3) {
|
|
|
ElMessage.warning("最多可上传3张附件!");
|
|
|
@@ -3070,7 +3283,7 @@ const handleUploadTask = async (file) => {
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- ElMessage.warning("附件仅支持'.jpeg'、'.png'、'.pdf'、'.docx'格式");
|
|
|
+ ElMessage.warning("附件仅支持'.jpeg'、'.png'、'.pdf'、'.docx'、'.xlsx'、'.xls'格式");
|
|
|
}
|
|
|
};
|
|
|
// 删除文件
|
|
|
@@ -3234,7 +3447,10 @@ const handleAttachment = async (file) => {
|
|
|
file.file.type == "image/png" ||
|
|
|
file.file.type == "application/pdf" ||
|
|
|
file.file.type ==
|
|
|
- "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
|
|
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document" ||
|
|
|
+ file.file.type ==
|
|
|
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" ||
|
|
|
+ file.file.type == "application/vnd.ms-excel"
|
|
|
) {
|
|
|
if (fileListAttachment.value.length >= 3) {
|
|
|
ElMessage.warning("最多可上传3张附件!");
|
|
|
@@ -3276,7 +3492,7 @@ const handleAttachment = async (file) => {
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- ElMessage.warning("附件仅支持'.jpeg'、'.png'、'.pdf'、'.docx'格式");
|
|
|
+ ElMessage.warning("附件仅支持'.jpeg'、'.png'、'.pdf'、'.docx'、'.xlsx'、'.xls'格式");
|
|
|
}
|
|
|
};
|
|
|
// 删除文件
|
|
|
@@ -3314,8 +3530,19 @@ const pdfChange = (url) => {
|
|
|
) {
|
|
|
pdfFlag.value = 3;
|
|
|
}
|
|
|
+ // execl文件
|
|
|
+ else if(url.includes(".xlsx") || url.includes(".xls")){
|
|
|
+ pdfFlag.value = 4;
|
|
|
+ }
|
|
|
filePreviewPdf(url);
|
|
|
};
|
|
|
+// execl文件预览
|
|
|
+const renderedHandler =()=> {
|
|
|
+ console.log("渲染完成")
|
|
|
+};
|
|
|
+const errorHandler = ()=> {
|
|
|
+ console.log("渲染失败")
|
|
|
+}
|
|
|
// 查看PDF
|
|
|
const filePreviewPdf = (url) => {
|
|
|
console.log(url, "pdf地址信息");
|
|
|
@@ -3365,6 +3592,7 @@ onBeforeMount(() => {
|
|
|
departmentList();
|
|
|
// userList();
|
|
|
users();
|
|
|
+ scorerList()
|
|
|
});
|
|
|
onMounted(() => {
|
|
|
const timer = setTimeout(() => {
|