Commit db3c9e65 by liangzhen

暂存一下

1 parent 923b989f
NODE_ENV = 'production'
# VUE_APP_BASE_URL = "http://192.168.0.102:80"
VUE_APP_BASE_URL = "http://192.168.50.1:18000"
VUE_APP_BASE_URL = "http://127.0.0.1:80/arch-tools"
......@@ -373,3 +373,11 @@ export function selWtqdFZ(params){
export function selFile(params){
return post(`${ARCH_EVALUATION}/evalQuesInfo/selFile`, params)
}
//明显查询
export function selWtmx(params){
return post(`${ARCH_EVALUATION}/evalQuesInfo/selWtmx`, params)
}
//保存
export function bcevalQuesInfo(params){
return post(`${ARCH_EVALUATION}/evalQuesInfo/bc`, params)
}
\ No newline at end of file
......@@ -216,68 +216,58 @@ export function trendsRules(type) {
// url: "",
// children: [
// {
// name: "评估项目辅助选定",
// name: "自查项目辅助选定",
// url: "/mainLayout/auxiliarySelection",
// children: [],
// },
// {
// name: "评估批次确认发布",
// name: "自查批次确认发布",
// url: "/mainLayout/confirmRelease",
// children: [],
// },
// {
// name: "评估材料自动获取",
// name: "自查材料自动获取",
// url: "/mainLayout/materialAcquisition",
// children: [],
// },
// // { name: "评估材料自动解析", url: "/mainLayout/materialAnalysis", children: [] },
// {
// name: "项目辅助检查",
// name: "自查项目辅助检查",
// url: "/mainLayout/auxiliaryInspection",
// children: [],
// },
// {
// name: "项目评估结果确认更改",
// name: "自查结果确认更改",
// url: "/mainLayout/confirmChanges",
// children: [],
// },
// {
// name: "评估结果辅助查看",
// url: "/mainLayout/assistedViewing",
// children: [],
// },
// {
// name: "问题辅助下发",
// name: "自查问题辅助下发",
// url: "/mainLayout/assitedDistribution",
// children: [],
// },
// {
// name: "问题辅助查询",
// url: "/mainLayout/auxiliaryQuery",
// children: [],
// },
// {
// name: "问题辅助反馈",
// name: "自查问题辅助反馈",
// url: "/mainLayout/assistedFeedback",
// children: [],
// },
// {
// name: "申诉辅助确认",
// name: "自查申诉辅助确认",
// url: "/mainLayout/assistedConfirm",
// children: [],
// },
// {
// name: "问题辅助整改",
// name: "自查问题辅助整改",
// url: "/mainLayout/assistedRect",
// children: [],
// },
// {
// name: "整改辅助核验",
// name: "自查整改辅助核验",
// url: "/mainLayout/correctiveAssistanceVerification",
// children: [],
// },
// {
// name: "材料同步归档",
// name: "自查材料同步归档",
// url: "/mainLayout/attachSynchronousArchiving",
// children: [],
// },
......
......@@ -34,102 +34,269 @@
</div>
<div class="right">
<p class="tableTitle">检查项</p>
<div class="rightContent" v-for="item in questionList"
:key="item.questionId">
<h3>{{item.questionId}}.{{ item.quesCheckItem }}</h3>
<p class="msg">{{item.checkDesc}}</p>
<div class="rightscoll">
<div
class="rightContent"
v-for="item in questionList"
:key="item.questionId"
>
<h3>{{ item.questionId }}.{{ item.quesCheckItem }}</h3>
<p class="msg">{{ item.checkDesc }}</p>
<div class="question">
<p class="tips">问题描述1:</p>
<div
v-for="(items, index) in item.evalList"
:key="items.id"
class="inputDiv"
>
<el-input
type="textarea"
:autosize="{ minRows:1, maxRows: 4}"
:autosize="{ minRows: 1, maxRows: 4 }"
placeholder="手动录入问题"
v-model="item.evalQues">
</el-input> <el-button type="primary">删除</el-button><el-button type="primary">上传截图证明</el-button> <el-button icon="el-icon-circle-plus" circle></el-button>
</div>
</div>
v-model="items.evalQues"
>
</el-input
><el-button @click="delInput(item, index)" type="primary"
>删除</el-button
>
<el-upload
class="upload-demo"
action="null"
:limit="1"
:http-request="res=>{
return fileupdate(res,items)
}"
:on-exceed="handleExceed"
:on-success="successHandler"
:on-error="errUpload"
ref="upload"
>
<img v-if="items.url" :src="items.url" />
<!-- :http-request="fileupdate" -->
<!-- <div class="demo-image__preview">
<el-image
style="width: 100px; height: 100px"
:src="items.url"
:preview-src-list="items.url">
</el-image>
</div> -->
<el-button
size="small"
type="primary"
@click="handleFileUpload()"
>上传截图证明</el-button
>
</el-upload>
</div>
<p class="addBtn">
<el-checkbox
v-model="item.checked"
@change="changeChecked(item)"
>未发现问题</el-checkbox
><i class="el-icon-circle-plus" @click="addInput(item)"></i>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="Btn">
<span @click="cancel()">取消</span><span @click="save()">保存</span>
</p>
</div>
</template>
<script>
// import{kkk}from "@/static/web/viewer.mjs"
import { selWtqdFZ,selFile,downloadObject} from "@/api/index";
import { MaterialsListKY,} from '@/utils/cache'
import {
selWtqdFZ,
selFile,
downloadObject,
selWtmx,
bcevalQuesInfo,
ossupload,
} from "@/api/index";
import { MaterialsListKY } from "@/utils/cache";
export default {
data() {
return {
evalList: [
{
id: "",
evalQues: "",
},
],
tabList: [
{ label: "可研", id:0 },
{ label: "计划", id:1 },
{ label: "可研", id: 0 },
{ label: "计划", id: 1 },
{ label: "采购", id: 2 },
{ label: "合同", id: 3 },
{ label: "执行", id:4 },
{ label: "执行", id: 4 },
{ label: "结决算及转资", id: 5 },
],
tabListKY:MaterialsListKY(1),
active:0,
activeName:'0',
clqparams:{},
iframeUrl:'',
urlList:[],
questionList:[],
tabListKY: MaterialsListKY(1),
active: 0,
activeName: "0",
clqparams: {},
iframeUrl: "",
urlList: [],
questionList: [],
file: "",
};
},
mounted(){
console.log(MaterialsListKY(1),'wwwww')
this.clqparams=JSON.parse(this.$route.query.clqparams)
mounted() {
console.log(MaterialsListKY(1), "wwwww");
this.clqparams = JSON.parse(this.$route.query.clqparams);
this.init(this.clqparams);
},
methods: {
handleExceed() {
this.$message.warning(`只能选择一张图片`);
},
async init(type) {
let params={
projectStage:this.active*1+1,
...type
let params = {
projectStage: this.active * 1 + 1,
...type,
};
Promise.all([selFile(params), selWtqdFZ(params)]).then((res) => {
console.log(res[0], res[1], "777777");
this.urlList = res[0].data;
if (res[1].data) {
this.questionList = res[1].data.records;
this.questionList.forEach(async (item) => {
let respon = await selWtmx({ qid: item.qid });
if (respon.data.records && respon.data.records.length > 0) {
this.$set(item, "evalList", [...respon.data.records]);
console.log("yyyyy有");
} else {
console.log("没有");
this.$set(item, "evalList", [
{
id: "",
evalQues: "",
},
]);
}
this.$set(item, "Id", 0);
});
}
Promise.all([selFile(params), selWtqdFZ(params)]).then((res) => {
console.log(res[0],res[1],'777777')
this.urlList=res[0].data
this.questionList=res[1].data.records
console.log(this.questionList,'this.questionList ')
this.iframeUrl=this.urlList[0].url
console.log(this.questionList, "this.questionList ");
this.iframeUrl = this.urlList[0].url;
// this.iframeUrl=this.iframeUrl.replace('http://127.0.0.1:19090','http://192.168.50.1:19090')
// let prefixUrl = 'pdf/web/viewer.html?file=';
// this.iframeUrl= prefixUrl+this.iframeUrl
});
},
async handleClick(tab){
console.log('切换',tab.name,this.urlList)
this.urlList.forEach( async item=>{
if(item.typeCode==tab.name){
console.log('来几次',item.typeCode)
this.iframeUrl=item.url
async handleClick(tab) {
console.log("切换", tab.name, this.urlList);
this.urlList.forEach(async (item) => {
if (item.typeCode == tab.name) {
console.log("来几次", item.typeCode);
this.iframeUrl = item.url;
}
})
});
// this.iframeUrl=this.iframeUrl.replace('http://127.0.0.1:19090','http://192.168.50.1:19090')
// let prefixUrl = 'pdf/web/viewer.html?file=';
// this.iframeUrl= prefixUrl+this.iframeUrl
// window.open(this.iframeUrl)
console.log(this.iframeUrl,'this.iframeUrl')
console.log(this.iframeUrl, "this.iframeUrl");
},
change(id) {
console.log("切换");
this.active = id * 1;
this.tabListKY=MaterialsListKY(id * 1+1)
this.init(this.clqparams)
this.tabListKY = MaterialsListKY(id * 1 + 1);
this.init(this.clqparams);
},
delInput(item, index) {
if (item.evalList.length <= 1) {
return false;
}
item.evalList.splice(index, 1);
},
addInput(item) {
console.log(item.Id, "22");
item.evalList.push({
id: "id" + item.Id++,
data: "",
});
console.log(item.evalList, "item.evalList");
},
changeChecked(item) {
console.log(item, "2222");
if (item.checked) {
this.$set(item, "evalList", [
{
id: "",
evalQues: "",
},
]);
this.$set(item, "Id", 0);
}
},
cancel() {
console.log("电击取消");
this.$router.go(-1);
},
async save() {
let params = {
list: this.questionList,
...this.clqparams,
};
let res = await bcevalQuesInfo(params);
},
fileupdate(res,items) {
console.log(res,items,'222222');
this.file = res.file;
if (this.file.size / 1024 > 500) {
this.$message("请上传小于500k的图片");
return;
}
this.submitFile(res,items);
},
submitFile(item,list) {
console.log(list,'list')
console.log( this.file, "多少k");
if (this.file) {
const formData = new FormData();
formData.append("file", this.file);
ossupload(formData)
.then((response) => {
console.log(response, "上传图片");
if (response.code == "200") {
// this.successurl=response.url
this.$message("上传成功");
} else {
this.$message("上传失败");
}
})
.catch((error) => {
console.error(error);
this.$message("上传失败");
});
}
},
successHandler(items){
console.log("来了么22",items);
this.$set(items,'url',this.successurl)
this.$refs.upload.clearFiles()
},
errUpload(items){
console.log("来了么23332",items);
this.$refs.upload.clearFiles()
},
handleFileUpload() {
console.log("来了么");
},
},
};
</script>
......@@ -180,13 +347,19 @@ export default {
.left {
width: 49%;
min-height: 100px;
background: #fff;
// color: #fff;
}
.right {
width: 50%;
margin-left: 10px;
height: 680px;
background: #fff;
}
.rightscoll {
height: 610px;
overflow-y: auto;
padding: 10px;
}
}
/deep/.el-step__icon {
......@@ -225,6 +398,9 @@ export default {
/deep/ .is-wait .el-step__icon-inner {
display: none;
}
/deep/.upload-demo {
display: inline-block;
}
.tableTitle {
background: #0d867f;
color: #f5f5f6;
......@@ -236,31 +412,77 @@ export default {
font-size: 15px;
}
.rightContent{
.rightContent {
width: 100%;
overflow-y: auto;
text-align: left;
h3{
h3 {
margin: 0;
}
p{
p {
margin: 5px 0;
}
.question{
.question {
border: 1px solid gainsboro;
padding: 5px;
.tips{
.tips {
color: gray;
font-size: 12px;
}
.el-textarea{
width: 70%;
.el-textarea {
width: 65%;
vertical-align: top;
}
}
}
.el-button--primary {
color: #ffffff;
background-color: #0d867f;
border-color: #0d867f;
height: 35px;
line-height: 0.6;
margin-left: 10px;
vertical-align: top;
}
.el-icon-circle-plus {
font-size: 45px;
vertical-align: middle;
color: #0d867f;
}
.inputDiv {
margin-top: 5px;
}
.addBtn {
display: flex;
justify-content: space-between;
}
.Btn {
width: calc(100% - 270px);
position: fixed;
height: 80px;
bottom: -15px;
right: 0;
z-index: 100;
background-color: #f5f5f6;
line-height: 80px;
span {
display: inline-block;
width: 89px;
height: 30px;
line-height: 30px;
text-align: center;
border-radius: 5px;
margin-right: 32px;
background-color: #0d867f;
border: 1px solid #0d867f;
color: #fff;
}
span:first-of-type {
border: 1px solid grey;
color: #000;
background-color: #fff;
}
}
</style>
\ No newline at end of file
......@@ -239,7 +239,7 @@ export default {
box-sizing: border-box;
overflow-x: hidden;
.bottom {
width:calc(100% - 246px);
width:calc(100% - 270px);
position:fixed;
bottom: -15px;
right: 0;
......
<template>
<div class="main">
<div class="form-horizontal">
<div class="form-group">
<label>批次年度:</label>
<select class="form-control" placeholder="请选择" v-model="batchYear">
<option
v-for="(item, index) in category"
:value="item.name"
:key="item.id"
>
{{ item.name }}
</option>
</select>
</div>
<div class="form-group">
<label>后评估批次名称:</label>
<input
v-model="batchName"
type="text"
class="form-control"
placeholder="请输入内容"
/>
</div>
<!-- <div class="form-group" >
<label>计划评审日期:</label>
<el-date-picker
v-model="planTime"
type="date"
placeholder="选择日期">
</el-date-picker>
</div>
<div class="form-group" >
<label>后评估专家组长:</label>
<select class="form-control" v-model="modeExpert" placeholder="请选择">
<option
v-for="(item, index) in expertList"
:value="item.id"
:key="item.id"
>
{{ item.name }}
</option>
</select>
</div> -->
<div class="form-group">
<label>后评估状态:</label>
<select class="form-control" v-model="modelState" placeholder="请选择">
<option
v-for="(item, index) in stateList"
:value="item.id"
:key="item.id"
>
{{ item.name }}
</option>
</select>
</div>
<!-- <div class="form-group" >
<label>创建人:</label>
<input type="text" class="form-control" placeholder="请输入内容" v-model="creator" />
</div>
<div class="form-group">
<label>创建时间:</label>
<el-date-picker
v-model="reviewTime"
type="date"
placeholder="选择日期">
</el-date-picker>
</div> -->
<div style="width: 100%"></div>
<div class="btn_container">
<p
class="btn btn-primary"
@click="query()"
v-if="queryShow.includes(searchtype)"
>
<img class="buttonIcon" src="../../../assets/cx.png" />
&nbsp; 查询
</p>
<p
class="btn btn-primary"
@click="reset()"
v-if="resetShow.includes(searchtype)"
>
<img class="buttonIcon" src="../../../assets/cz.png" />
&nbsp; 重置
</p>
<p
class="btn btn-primary"
@click="details()"
>
<img class="buttonIcon" src="../../../assets/ck.png" />
&nbsp; 详情
</p>
<p
class="btn btn-primary"
@click="add()"
v-if="addShow.includes(searchtype)"
>
<img class="buttonIcon" src="../../../assets/xz.png" />
&nbsp; 新增
</p>
<p
class="btn btn-primary"
@click="edit()"
v-if="editShow.includes(searchtype)"
>
<img class="buttonIcon" src="../../../assets/bj.png" />
&nbsp; 编辑
</p>
<p
class="btn btn-primary"
@click="deletes()"
v-if="deletesShow.includes(searchtype)"
>
<img class="buttonIcon" src="../../../assets/sc.png" />
&nbsp; 删除
</p>
<p
class="btn btn-primary"
@click="expert()"
v-if="expertShow.includes(searchtype)"
>
评审专家名单
</p>
<p
class="btn btn-primary"
@click="sendMsg()"
>
&nbsp; 下发
</p>
<p
class="btn btn-primary"
@click="submiterials()"
v-if="submiterialsShow.includes(searchtype)"
>
提交评估材料
</p>
<p
class="btn btn-primary"
@click="inspectionEvaluation()"
v-if="inspectionEvaluationShow.includes(searchtype)"
>
合规性检查评估
</p>
<p
class="btn btn-primary"
@click="submitQuestion()"
v-if="submitQuestionShow.includes(searchtype)"
>
提交问题清单
</p>
<p
class="btn btn-primary"
@click="configQuestion()"
v-if="configQuestionShow.includes(searchtype)"
>
确认问题清单
</p>
<p
class="btn btn-primary"
@click="questionDistribute()"
v-if="questionDistributeShow.includes(searchtype)"
>
问题下发
</p>
<p
class="btn btn-primary"
@click="questionDistributes()"
v-if="questionDistributesShow.includes(searchtype)"
>
问题批量下发
</p>
<p
class="btn btn-primary"
@click="questionConfig()"
v-if="questionConfiShow.includes(searchtype)"
>
问题确认
</p>
<p
class="btn btn-primary"
@click="questionReview()"
v-if="questionReviewShow.includes(searchtype)"
>
问题复核
</p>
<p
class="btn btn-primary"
@click="questionRectification()"
v-if="questionRectificationShow.includes(searchtype)"
>
问题整改
</p>
<p
class="btn btn-primary"
@click="submitRectification()"
v-if="submitRectificationShow.includes(searchtype)"
>
整改提交
</p>
<p
class="btn btn-primary"
@click="reviewDistribute()"
v-if="reviewDistributeShow.includes(searchtype)"
>
复核下发
</p>
<p
class="btn btn-primary"
@click="reviewRectification()"
v-if="reviewRectificationShow.includes(searchtype)"
>
整改复核
</p>
<p
class="btn btn-primary"
@click="submitReview()"
v-if="submitReviewShow.includes(searchtype)"
>
提交整改复核
</p>
<p
class="btn btn-primary"
@click="filed()"
v-if="filedShow.includes(searchtype)"
>
材料归档
</p>
<p
class="btn btn-primary"
@click="appeal()"
v-if="appealShow.includes(searchtype)"
>
申诉
</p>
<p
class="btn btn-primary"
@click="withdraw()"
>
<!-- <img class="buttonIcon" src="../../../assets/ch.png" /> -->
&nbsp; 撤回
</p>
<!-- <span style="height: 22px">
<input
id="is_multiple_select"
type="checkbox"
style="width: 15px; height: 15px; margin-top: 3px"
/>
允许批量选中
</span> -->
</div>
</div>
<el-dialog
title="新增后评估批次信息"
:visible.sync="dialogAdd"
width="70%"
:modal-append-to-body="false"
>
<div class="adddialog">
<div class="addform-horizontal">
<div class="addform-group">
<label>批次年度:</label>
<select
class="form-control"
placeholder="请选择"
v-model="addbatchYear"
>
<option
v-for="(item, index) in addcategory"
:value="item.name"
:key="item.id"
>
{{ item.name }}
</option>
</select>
</div>
<div class="addform-group">
<label>后评估批次名称:</label>
<input
v-model="addbatchName"
type="text"
class="form-control"
placeholder="请输入内容"
/>
</div>
<div class="addform-group">
<label>计划评审日期:</label>
<el-date-picker
v-model="addplanTime"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd hh:mm:ss"
>
</el-date-picker>
</div>
</div>
<div class="areaDiv">
<label>工作组织情况:</label>
<textarea placeholder="请输入内容" v-model="QKarea"></textarea>
</div>
<div class="areaDiv">
<label >备注:</label>
<textarea placeholder="请输入内容" v-model="BZarea" ></textarea>
</div>
<p >后评估专家 <span class="zjbtn" @click="xzExperts()">选择专家</span> </p>
<el-table
ref="multipleTable"
:data="addtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName">
border
>
<el-table-column label="序号" width="55" type="index">
<!-- <template slot-scope="scope">{{ scope.row.id }}</template> -->
</el-table-column>
<!-- <el-table-column type="selection"> </el-table-column> -->
<el-table-column label="单位" width="auto" prop="compId">
</el-table-column>
<el-table-column prop="fullName" label="专家名称" width="auto">
</el-table-column>
<el-table-column
prop="gender"
label="性别"
width="auto"
>
</el-table-column>
<el-table-column prop="birthday" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="qualification" label="学历" width="auto">
</el-table-column>
<el-table-column prop="contact" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="fields" label="专业领域" width="auto">
</el-table-column>
<el-table-column prop="expertLevel" label="专家级别" width="auto">
</el-table-column>
<el-table-column prop="description" label="成果简介" width="auto">
</el-table-column>
<el-table-column prop="expertState" label="专家状态" width="auto">
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChangeAdd"
@current-change="handleCurrentChangeAdd"
:current-page="addcurrentPage"
:page-sizes="[5, 10, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="addtotal"
class="elpagination">
</el-pagination>
<p class="zjBtn"><span @click="cancelXZ()">取消</span><span @click="saveXZ('add')">保存</span></p>
</div>
</el-dialog>
<el-dialog
title="新增后评估批次信息"
:visible.sync="dialogAdd"
width="70%"
:modal-append-to-body="false"
@close="closeDialog"
>
<div class="adddialog">
<div class="addform-horizontal">
<div class="addform-group">
<label>批次年度:</label>
<select
class="form-control"
placeholder="请选择"
v-model="addbatchYear"
>
<option
v-for="(item, index) in addcategory"
:value="item.name"
:key="item.id"
>
{{ item.name }}年
</option>
</select>
</div>
<div class="addform-group">
<label>后评估批次名称:</label>
<input
v-model="addbatchName"
type="text"
class="form-control"
placeholder="请输入内容"
/>
</div>
<div class="addform-group">
<label>计划评审日期:</label>
<el-date-picker
v-model="addplanTime"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd hh:mm:ss"
>
</el-date-picker>
</div>
</div>
<div class="areaDiv">
<label>工作组织情况:</label>
<textarea placeholder="请输入内容" v-model="QKarea"></textarea>
</div>
<div class="areaDiv">
<label >备注:</label>
<textarea placeholder="请输入内容" v-model="BZarea" ></textarea>
</div>
<p >后评估专家 <span class="zjbtn" @click="xzExperts()">选择专家</span> </p>
<el-table
ref="multipleTable"
:data="addtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName">
border
>
<el-table-column label="序号" width="55" type="index">
<!-- <template slot-scope="scope">{{ scope.row.id }}</template> -->
</el-table-column>
<!-- <el-table-column type="selection"> </el-table-column> -->
<el-table-column label="单位" width="auto" prop="compId">
</el-table-column>
<el-table-column prop="fullName" label="专家名称" width="auto">
</el-table-column>
<el-table-column
prop="gender"
label="性别"
width="auto"
>
</el-table-column>
<el-table-column prop="birthday" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="qualification" label="学历" width="auto">
</el-table-column>
<el-table-column prop="contact" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="fields" label="专业领域" width="auto">
</el-table-column>
<el-table-column prop="expertLevel" label="专家级别" width="auto">
</el-table-column>
<el-table-column prop="description" label="成果简介" width="auto">
</el-table-column>
<el-table-column prop="expertState" label="专家状态" width="auto">
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChangeAdd"
@current-change="handleCurrentChangeAdd"
:current-page="addcurrentPage"
:page-sizes="[5, 10, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="addtotal"
class="elpagination">
</el-pagination>
<p class="zjBtn"><span @click="cancelXZ()">取消</span><span @click="saveXZ('add')">保存</span></p>
</div>
</el-dialog>
<el-dialog
title="选择专家组长"
:visible.sync="dialogAddzj"
width="70%"
:modal-append-to-body="false"
>
<div class="adzjdialog">
<div class="zjform-horizontal">
<div class="form-group">
<label>专家姓名:</label>
<input
v-model="zjfullName"
type="text"
class="form-control"
placeholder="请输入内容"
/>
</div>
<div class="form-group">
<label>专业领域:</label>
<select class="form-control" placeholder="请选择" v-model="batchYear">
<option
v-for="(item, index) in category"
:value="item.name"
:key="item.id"
>
{{ item.name }}
</option>
</select>
</div>
<div class="form-group">
<label>专家状态:</label>
<select class="form-control" placeholder="请选择" v-model="batchYear">
<option
v-for="(item, index) in category"
:value="item.name"
:key="item.id"
>
{{ item.name }}
</option>
</select>
</div>
<span class="zjquery" @click="xzExperts()">
查询
</span>
</div>
<el-table
@selection-change="handleSelectionChange"
ref="multipleTableZJ"
:data="zjtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName">
border
>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="序号" width="55" type="index">
<!-- <template slot-scope="scope">{{ scope.row.id }}</template> -->
</el-table-column>
<!-- <el-table-column type="selection"> </el-table-column> -->
<el-table-column label="单位" width="auto" prop="compId">
</el-table-column>
<el-table-column prop="fullName" label="专家名称" width="fullName">
</el-table-column>
<el-table-column
prop="gender"
label="性别"
width="gender"
>
</el-table-column>
<el-table-column prop="birthday" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="qualification" label="学历" width="auto">
</el-table-column>
<el-table-column prop="contact" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="fields" label="专业领域" width="auto">
</el-table-column>
<el-table-column prop="expertLevel" label="专家级别" width="auto">
</el-table-column>
<el-table-column prop="description" label="成果简介" width="auto">
</el-table-column>
<el-table-column prop="expertState" label="专家状态" width="auto">
</el-table-column>
<el-table-column prop="expertId" label="id" width="auto" v-show="false">
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="addcurrentPage"
:page-sizes="[5, 10, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="zjtotal"
class="elpagination">
</el-pagination>
<p class="zjBtn"><span @click="cancelZJ()">取消</span><span @click="saveZJ()">保存</span></p>
</div>
</el-dialog>
<el-dialog
title="新增后评估批次信息"
:visible.sync="dialogedit"
width="70%"
:modal-append-to-body="false"
>
<div class="adddialog">
<div class="addform-horizontal">
<div class="addform-group">
<label>批次年度:</label>
<select
class="form-control"
placeholder="请选择"
v-model="BJbatchYear"
>
<option
v-for="(item, index) in addcategory"
:value="item.name"
:key="item.id"
>
{{ item.name }}年
</option>
</select>
</div>
<div class="addform-group">
<label>后评估批次名称:</label>
<input
v-model="BJbatchName"
type="text"
class="form-control"
placeholder="请输入内容"
/>
</div>
<div class="addform-group">
<label>计划评审日期:</label>
<el-date-picker
v-model="BJplanTime"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd hh:mm:ss"
>
</el-date-picker>
</div>
</div>
<div class="areaDiv">
<label>工作组织情况:</label>
<textarea placeholder="请输入内容" v-model="BJarea"></textarea>
</div>
<div class="areaDiv" >
<label>备注:</label>
<textarea v-model="BJbzarea" placeholder="请输入内容"></textarea>
</div>
<p >后评估专家 <span class="zjbtn" @click="xzExperts()">选择专家</span> </p>
<el-table
ref="multipleTable"
:data="addtableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column prop="expertId" label="id" width="auto" v-show="false">
</el-table-column>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column label="单位" width="auto" prop="compId">
</el-table-column>
<el-table-column prop="fullName" label="专家名称" width="auto">
</el-table-column>
<el-table-column
prop="gender"
label="性别"
width="auto"
>
</el-table-column>
<el-table-column prop="birthday" label="出生日期" width="auto">
</el-table-column>
<el-table-column prop="qualification" label="学历" width="auto">
</el-table-column>
<el-table-column prop="contact" label="联系方式" width="auto">
</el-table-column>
<el-table-column prop="email" label="邮箱" width="auto">
</el-table-column>
<el-table-column prop="fields" label="专业领域" width="auto">
</el-table-column>
<el-table-column prop="expertLevel" label="专家级别" width="auto">
</el-table-column>
<el-table-column prop="description" label="成果简介" width="auto">
</el-table-column>
<el-table-column prop="expertState" label="专家状态" width="auto">
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChangeAdd"
@current-change="handleCurrentChangeAdd"
:current-page="addcurrentPage"
:page-sizes="[5, 10, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="addtotal"
class="elpagination">
</el-pagination>
<p class="zjBtn"><span @click="cancelBJ()">取消</span><span @click="saveBJ()">保存</span></p>
</div>
</el-dialog>
</div>
</template>
<script>
import {expertInfo,expert,sendEvalBatchInfo,adEvalBatchInfo,updEvalBatchInfo } from "@/api/index";
export default {
data() {
return {
expertIdList:[],
BJbatchYear:'',
BJbatchName:'',
BJplanTime:"",
BJarea:"",
BJbzarea:"",
BZarea:"",
QKarea:"",
dialogXQ:false,
addZJList:[],
expertState:'',
fields:"",
zjfullName:'',
zjtotal:0,
zjtableData:[],
addcurrentPage:1,
addtableData:[],
message: {},
category: [
{ name: "2024", id: 1 },
{ name: "2023", id: 2 },
{ name: "2022", id: 3 },
{ name: "2021", id: 4 },
],
addcategory: [
{ name: "2024", id: 1 },
{ name: "2023", id: 2 },
{ name: "2022", id: 3 },
{ name: "2021", id: 4 },
],
addbatchYear: "2024",
batchYear: "2024", //批次年度
addbatchName: "",
addplanTime: "",
batchName: "", //后评估批次名称
planTime: "", //计划评审日期
modeExpert: 1, //后评估专家组长
expertList: [
{ name: "11", id: 1 },
{ name: "21", id: 2 },
{ name: "31", id: 3 },
],
stateList: [
{ name: "未下发", id: 0 },
{ name: "已下发", id: 1 },
{ name: "已撤回", id: 2 },
],
modelState: 0, //评估状态
creator: "", //创建人
reviewTime: "", //评审时间
queryShow: [
"FZXD",
"QRFB",
"ZDHQ",
"FZJC",
"QRGG",
"FZCK",
"FZXF",
"FZCX",
"FZFK",
"FZQR",
"FZZG",
"FZHY",
"TBGD",
], //查询
resetShow: [
"FZXD",
"QRFB",
"ZDHQ",
"FZJC",
"QRGG",
"FZCK",
"FZXF",
"FZCX",
"FZFK",
"FZQR",
"FZZG",
"FZHY",
"TBGD",
], //重置
detailsShow: ["FZXD", "QRFB", "ZDHQ", "FZCK", "FZCX", "TBGD"], //详情
addShow: ["FZXD"],
editShow: ["FZXD"],
deletesShow: ["FZXD"],
expertShow: ["QRFB"],
submiterialsShow: ["ZDHQ"],
inspectionEvaluationShow: ["FZJC"],
submitQuestionShow: ["FZJC"],
withdrawShow: ["FZJC", "FZXF"], //撤回
configQuestionShow: ["QRGG"],
questionDistributeShow: ["FZXF"],
questionDistributesShow: ["FZXF"],
questionConfiShow: ["FZFK"], //问题确认
appealShow: ["FZFK"], //申诉
questionReviewShow: ["FZQR"],
reviewDistributeShow: ["FZQR"],
questionRectificationShow: ["FZZG"],
submitRectificationShow: ["FZZG"],
reviewRectificationShow: ["FZHY"],
submitReviewShow: ["FZHY"],
filedShow: ["TBGD"],
dialogAdd: false,
dialogAddzj:false,
pageSize:10,
current:1,
addtotal:0,
currentAdd:1,
pageSizeAdd:10,
xfParam:"",
dialogedit:false,
};
},
props: {
searchtype: {
type: String,
default: "",
},
selection:{
type: Array,
default:[],
}
},
mounted() {
console.log(this.searchtype, "类型");
},
methods: {
//下发
async sendMsg(){
let params= this.xfParams
console.log(params,'222')
let res= await sendEvalBatchInfo(params)
console.log(res)
},
cancelZJ(){
this.dialogAddzj=false;
},
cancelBJ(){
this.dialogedit=false;
},
async saveBJ(){
// let expertIdList=[]
// this.addZJList.forEach(item=>{
// expertIdList.push(item.expertId)
// })
let expertStr=JSON.stringify(this.expertIdList).slice(1, -1)
let params=this.selection[0]
params.batchYear=this.BJbatchYear
params.batchName=this.BJbatchName
params.createTime=this.BJplanTime
params.description=this.BJarea
params.remark=this.BJbzarea
params.expertStr=expertStr
let res = await updEvalBatchInfo(params);
if(res.code=='200'){
this.$emit("listenToChildEvent", "reset");
}
this.dialogedit=false;
},
cancelXZ(){
this.dialogAdd=false
this.dialogXQ=false
},
async saveXZ(type){
console.log(this.addZJList,'this.addZJList')
let expertIdList=[]
this.addZJList.forEach(item=>{
expertIdList.push(item.expertId)
})
let expertStr=JSON.stringify(expertIdList).slice(1, -1)
console.log(expertIdList,'expertIdList', expertStr)
this.dialogXQ=false
this.dialogAdd=false
if(type=='add'){
let params={
batchYear:this.addbatchYear*1,
batchName:this.addbatchName,
planReviewDate:this.addplanTime,
remark:this.BZarea,
description:this.QKarea,
expertStr:expertStr
}
this.xfParams=JSON.parse(JSON.stringify(params))
console.log(params,'222')
let res= await adEvalBatchInfo(params)
this.$emit("listenToChildEvent", "reset");
this.expertIdList=expertIdList
}
},
saveZJ(){
this.addtableData.push(...this.addZJList)
this.dialogAddzj=false;
console.log(this.addtableData,'addtableData')
},
handleSelectionChange(){
this.addZJList=this.$refs.multipleTableZJ.selection
console.log(this.$refs.multipleTableZJ.selection,'2222');
},
handleSizeChangeAdd(val){
this.pageSizeAdd=val
},
handleCurrentChangeAdd(val){
this.currentAdd=val
},
async xzExperts(){
this.dialogAddzj=true
let params = {
current: this.current,
pageSize: this.pageSize,
fullName:this.zjfullName,
fields:this.fields,
expertState:this.expertState
};
let res = await expertInfo(params);
this.zjtableData=res.data.records
this.zjtotal=res.data.total * 1;
console.log(res,'xxx')
},
tableRowClassName({row, rowIndex}) {
// console.log(rowIndex % 2,'333')
if (rowIndex % 2 == 1) {
return 'warning-row';
}
return ''
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.$emit('pageSize',this.pageSize)
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage=val
this.$emit('currentPage',this.currentPage)
},
query() {
this.message = {
status: this.modelState,
batchYear: this.batchYear,
batchName: this.batchName,
};
console.log(this.message, "this.message");
this.$emit("listenToChildEvent", this.message);
},
reset() {
console.log("重置");
this.$emit("listenToChildEvent", "reset");
},
details() {
this.dialogXQ=true
},
async add() {
this.dialogAdd = true;
let params = {
current: this.currentAdd,
pageSize: this.pageSizeAdd,
// createTime:this.createTimeAdd,
// fullName:this.zjfullName,
// fields:this.fields,
// expertState:this.expertState
};
console.log(params,'params')
let res = await expert(params);
this.addtableData=res.data.records
this.addtotal=res.data.total * 1;
this.$emit("listenToChildEvent", "reset");
},
async edit() {
//设置单选 只能选择编辑未下发
this.dialogedit=true
console.log(this.selection,'555555555555555555')
let params = {
current: this.currentAdd,
pageSize: this.pageSizeAdd,
batchId:this.selection[0].batchId
};
console.log(params,'params')
let res = await expert(params);
this.BJbatchYear=this.selection[0].batchYear
this.BJbatchName=this.selection[0].batchName
this.BJplanTime=this.selection[0].createTime
this.BJarea=this.selection[0].description
this.BJbzarea=this.selection[0].remark
this.addtableData=res.data.records
this.addtotal=res.data.total * 1;
this.addtableData.forEach(item=>{
this.expertIdList.push(item.expertId)
})
},
deletes() {
console.log("删除")
this.$emit("delateEval", "delates");
},
expert() {},
submiterials() {},
inspectionEvaluation() {},
submitQuestion() {},
//撤回
async withdraw() {
//只能撤回已下发的 单个撤回传batchId: 0,
let res= await chEvalBatchInfo
},
},
};
</script>
<style lang="scss" scoped>
.main {
font-size: 14px;
}
.estimateBatchConfirmRelease {
height: 100%;
}
.btn_container {
margin-left: 20px;
margin-top: 20px;
margin-bottom: 15px;
}
.btn {
display: inline-block;
margin-right: 5px;
line-height: 20px;
height: 20px;
color: #fff;
border-radius: 5px;
padding: 7px 12px;
}
.buttonIcon {
width: 14px;
margin-bottom: 3px;
height: 14px;
vertical-align: middle;
}
.btn-primary {
// padding: 0.375rem 1.5rem;
background-color: #23c6c8;
border-color: #23c6c8;
}
.btn-primary:hover {
background-color: #23c6c8;
border-color: #23c6c8;
}
.form-horizontal {
display: flex;
flex-wrap: wrap;
border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7;
border-right: 1px solid #dee5e7;
border-bottom: 1px solid #dee5e7;
padding-top: 15px;
margin-bottom: 20px;
}
.zjform-horizontal {
display: flex;
flex-wrap: wrap;
border-top: 2px solid #23c6c8;
border-left: 1px solid #dee5e7;
border-right: 1px solid #dee5e7;
border-bottom: 1px solid #dee5e7;
padding-top: 15px;
margin-bottom: 20px;
padding-left: 15px;
}
.addform-horizontal {
width: 70%;
display: flex;
// flex-wrap: wrap;
// border-top: 2px solid #23c6c8;
// border-left: 1px solid #dee5e7;
// border-right: 1px solid #dee5e7;
// border-bottom: 1px solid #dee5e7;
padding-top: 15px;
margin-bottom: 20px;
flex: 1;
.addform-group {
width: 33%;
display: flex;
align-items: center;
margin-right: 40px !important;
}
.addform-group > label {
width: 150px;
text-align: right;
padding-right: 10px;
display: inline-block;
max-width: 100%;
margin-bottom: 5px;
font-weight: 700;
}
.addform-group > select {
width: 226px;
}
.addform-group > input {
width: 195px;
}
}
.form-group {
width: 20%;
display: flex;
align-items: center;
margin-right: 40px !important;
}
.form-group > label {
width: 150px;
text-align: right;
padding-right: 10px;
display: inline-block;
max-width: 100%;
margin-bottom: 5px;
font-weight: 700;
}
.form-group > select {
width: 226px;
}
.form-group > input {
width: 195px;
}
.pageTitle {
font-size: 20px;
}
.pageLine {
margin-top: 4px;
border-top: 2px solid #e5e5e5;
}
.modal-header {
background-color: #0d867f;
color: #fff;
}
.close {
color: #fff;
}
.form-group2 {
width: 22%;
display: flex;
align-items: center;
margin-right: 40px !important;
}
.form-group2 > label {
width: 150px;
height: 34px;
line-height: 34px;
text-align: right;
padding-right: 10px;
}
.form-group2 > select {
width: 180px;
}
.form-group2 > input {
width: 180px;
}
.fixed-table-pagination {
margin-top: 400px;
display: flex;
justify-content: flex-end;
}
tbody tr:nth-of-type(even) {
background: #f0ffff;
color: #2785e6;
}
thead th {
background: #eeeeee;
padding: 6px 0;
}
select.form-control {
display: block;
width: 100%;
height: 34px;
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857143;
color: #555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border-color ease-in-out 0.15s,
-webkit-box-shadow ease-in-out 0.15s;
-o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.form-control:focus {
border-color: #66afe9;
outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),
0 0 8px rgba(102, 175, 233, 0.6);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),
0 0 8px rgba(102, 175, 233, 0.6);
}
.form-horizontal .form-group {
margin-right: -15px;
margin-left: -15px;
}
.form-group {
margin-bottom: 15px;
}
input.form-control {
box-sizing: border-box;
display: block;
width: 100%;
height: 34px;
padding: 6px 12px;
font-size: 14px;
line-height: 1.42857143;
color: #555;
background-color: #fff;
background-image: none;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border-color ease-in-out 0.15s,
-webkit-box-shadow ease-in-out 0.15s;
-o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}
.form-group > input {
width: 195px;
}
.form-group > select {
width: 226px;
}
/deep/ .el-input__inner {
height: 34px;
line-height: 34px;
border: 1px solid #ccc;
}
/deep/.el-input__icon {
line-height: 34px;
}
/deep/ ::placeholder {
color: #999;
}
/deep/.el-date-table td.today span {
color: red !important;
}
/deep/ .el-input__prefix .el-input__icon {
margin-left: 157px;
background-color: #eee;
border: 1px solid #ccc;
width: 34px;
color: #000;
height: 94%;
}
/deep/.el-input__suffix {
border: none;
}
.adddialog{
text-align: left;
}
.areaDiv{
width: 70%;
text-align: right;
margin-top: 20px;
textarea{
width: 90%;
height: 50px;
}
}
.zjbtn{
display: inline-block;
background-color: #4ca6a7;
width: 89px;
height: 30px;
color: #fff;
text-align: center;
line-height: 30px;
}
/deep/ .el-table .warning-row {
background: #f0ffff;
// color: #2785E6;
}
.adzjdialog{
text-align: left;
}
.zjquery{
display: inline-block;
background-color: #4ca6a7;
width: 89px;
height: 30px;
color: #fff;
text-align: center;
line-height: 30px;
}
.zjBtn{
width: 200px;
margin: 0 auto;
span{
display: inline-block;
width: 80px;
height: 25px;
line-height: 25px;
text-align: center;
}
span:last-of-type{
background-color: #4ca6a7;
color: #fff;
}
}
</style>
\ No newline at end of file
<template>
<div class="main">
<el-table
@selection-change="handleSelectionChange"
ref="multipleTable"
:data="tableData"
tooltip-effect="dark"
style="width: 100%"
header-cell-class-name="custom-th-background"
class="eltable"
:row-class-name="tableRowClassName"
border
>
<el-table-column label="序号" width="55" type="index">
</el-table-column>
<el-table-column type="selection"> </el-table-column>
<el-table-column label="批次年度" width="auto" prop="batchYear">
</el-table-column>
<el-table-column prop="batchName" label="后评估批次名称" width="auto">
</el-table-column>
<el-table-column
prop="planReviewDate"
label="计划评审日期"
width="auto"
>
</el-table-column>
<el-table-column prop="expertName" label="后评估专家" width="auto">
</el-table-column>
<el-table-column prop="postEvalState" label="批次下发状态" width="auto">
<!-- <el-table-column prop="expertLeader" label="后评估专家组长" width="auto">
</el-table-column>
<el-table-column prop="status" label="后评状态" width="auto">
</el-table-column>
<el-table-column prop="expertName" label="评审专家名单" width="auto"> -->
</el-table-column>
<el-table-column prop="creator" label="创建人" width="auto">
</el-table-column>
<el-table-column prop="createTime" label="创建时间" width="auto">
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[5, 10, 20, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="tableData.length"
class="elpagination">
</el-pagination>
</div>
</template>
<script>
import { number } from 'echarts';
export default {
data() {
return {
currentPage:1,
pageSize:"5",
}
},
props: {
tableData: {
type: Array,
default:[],
},
total:{
type:Number,
default: "",
},
tbtyps:{
type: String,
default: "",
}
},
methods: {
handleSelectionChange(selection) {
if (Array.isArray(selection) && selection.length > 1) {
this.$refs.multipleTable.toggleRowSelection(selection[0],false);
this.$refs.multipleTable.toggleRowSelection(selection[1],true);
}
console.log( this.$refs.multipleTable.selection,'this.$refs.multipleTable.selection')
this.$emit('sendselection',this.$refs.multipleTable.selection)
},
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
this.$emit('pageSize',this.pageSize)
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.currentPage=val
this.$emit('currentPage',this.currentPage)
},
tableRowClassName({row, rowIndex}) {
// console.log(rowIndex % 2,'333')
if (rowIndex % 2 == 1) {
return 'warning-row';
}
return ''
}
},
};
</script>
<style lang="scss" scoped>
.main {
font-size: 14px;
width: 100%;
height:70%;
.eltable{
height: 94%;
}
.elpagination{
text-align: right;
margin-right: 100px;
}
}
/deep/ .cell {
text-align: center;
}
/deep/ .el-table__header th {
background-color: #eeeeee;
font-weight: bold;
.cell {
color: #333;
}
}
/deep/ .el-table__body .el-checkbox__input.is-checked .el-checkbox__inner {
background-color: #333; /* 你想要的任何颜色 */
opacity: 0.7;
border-color: #333;
}
/deep/ .el-checkbox .is-checked .el-checkbox__inner {
background-color: #333; /* 你想要的任何颜色 */
opacity: 0.7;
border-color: #333;
}
/deep/ .el-checkbox__input.is-indeterminate .el-checkbox__inner{
background-color: #333; /* 你想要的任何颜色 */
opacity: 0.7;
border-color: #333;
}
/deep/ .el-table .warning-row {
background: #f0ffff;
// color: #2785E6;
}
</style>
\ No newline at end of file
......@@ -150,6 +150,7 @@ export default {
}
},
cancel() {
console.log('电击取消')
this.$router.go(-1);
},
//确认更改
......
<template>
<div>
<div id="parentElement" v-show="false">{{id}}</div>
<iframe src="http://192.168.50.1:18000/static/" frameborder="0" style="width:100vw;height:100vh;" id="iframe" ></iframe>
<iframe src="http:/127.0.0.1:80/static/" frameborder="0" style="width:100vw;height:100vh;" id="iframe" ></iframe>
</div>
</template>
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!