上传文件

This commit is contained in:
徐哼唧L
2024-02-08 09:15:38 +08:00
parent a5110e7c16
commit 9fdafcb949
8 changed files with 820 additions and 500 deletions

1
.gitignore vendored
View File

@@ -24,3 +24,4 @@ node_modules
/package-lock.json
/src/api/index.js
/src/components/common/common.vue
/vue.config.js

Binary file not shown.

After

Width:  |  Height:  |  Size: 710 B

View File

@@ -151,7 +151,8 @@
Website :
</div>
<div class="expInde" style="margin-top: 0;">
<el-link :href="coreTable.website" target="_blank" type="primary">Personal academic introduction</el-link>
<el-link :href="coreTable.website" target="_blank" type="primary">Personal academic
introduction</el-link>
</div>
</div>
<div v-if="coreTable.company!=''">
@@ -244,7 +245,8 @@
<p>Recommended manuscripts</p>
</div>
<div class="numerItem">
<b @click="JumpPage(6)" v-if="reviewTable.successReview">{{reviewTable.successReview}}</b>
<b @click="JumpPage(6)"
v-if="reviewTable.successReview">{{reviewTable.successReview}}</b>
<b @click="JumpPage(6)" v-else>0</b>
<p>Reviewed manuscripts</p>
</div>
@@ -562,11 +564,11 @@
</div>
<div class="new_scard" v-if="!this.usercap.includes('editor')">
<p>
<!-- <p>
New Zealand
<img src="../../assets/img/New_Z.png"
style="width: 45px;margin: 0 0 0 15px;vertical-align: middle;">
</p>
</p> -->
<p style="margin: 10px 0;white-space:nowrap;">
<b style="color: #666;font-size: 14px;cursor: text;">Telephone number :</b> +64
02108293806
@@ -1491,8 +1493,12 @@
if (res.data.Yboard) {
this.youth_journal = res.data.Yboard
for (let i = 0; i < this.youth_journal.length; i++) {
if (i == 0) {
this.youth_journal[i].arrowMark = 1
} else {
this.youth_journal[i].arrowMark = 0
}
}
if (!this.usercap.includes('yboard')) {
localStorage.setItem('U_role', this.usercap + ',yboard')
}

View File

@@ -100,14 +100,32 @@
<el-form-item label="Manuscript Title :" prop="title">
<el-input v-model="form.title" placeholder="Please enter title"></el-input>
</el-form-item>
<el-form-item label="Whether ethical approval was obtained ?" v-show="form.type == 'A'"
<el-form-item label="Whether ethical approval was obtained ?" prop="approval"
label-width="300px">
<el-switch v-model="form.approval" active-text="yes" inactive-text="no"></el-switch>
<p v-show="form.approval == true"
style="display: inline-block;width: 440px;margin-left: 60px;vertical-align: top;line-height: 22px;color: #999;font-size: 12px;">
For authors who selected 'Yes', please provide the approval number and name of the
ethics committee or institutional review board that approved the study.
</p>
<el-radio-group v-model="form.approval">
<el-radio :label="1">Yes</el-radio>
<el-radio :label="0">No</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="Ethical approval file :" prop="approval_file" v-if="form.approval == 1"
label-width="300px">
<el-upload ref="uploadFile" class="upload-demo up_newstyle" :action="upload_articleApproval"
accept=".pdf" name="articleApproval" :before-upload="beforeupload_articleApproval"
:on-error="uperr_coverLetter" :on-success="upSuccess_articleApproval" :limit="1"
:on-exceed="alertlimit" :on-remove="removefilearticleApproval" :file-list="fileL_articleApproval"
:on-preview="dowloadFile">
<div class="el-upload__text" @click="clearUploadedFile">
<em>Upload</em>
</div>
<div class="el-upload__tip" slot="tip">
Only Word and compressed files can be uploaded (file format: .pdf).
</div>
</el-upload>
</el-form-item>
<el-form-item label="Explain the reason clearly :" prop="approval_content"
v-if="form.approval === 0" label-width="300px">
<el-input type="textarea" rows="2" v-model="form.approval_content"
placeholder="Please enter"></el-input>
</el-form-item>
<el-form-item label="Abstract :" prop="abstrart">
<el-input type="textarea" rows="5" v-model="form.abstrart"
@@ -653,7 +671,7 @@
checkedjours: [],
abstrart: '',
type: '',
approval: false,
approval: '',
istransfer: false,
becomeRev: false,
keyWords: '',
@@ -664,6 +682,8 @@
totalpage: '',
manuscirpt: '',
supplementary: '',
approval_file:'',
approval_content:'',
code: '',
// topics:null
},
@@ -756,6 +776,7 @@
major_all: ''
}],
countrys: [],
fileL_articleApproval: [],
fileL_coverLetter: [],
fileL_picturesAndTables: [],
fileL_manuscirpt: [],
@@ -857,6 +878,21 @@
message: 'Please select major',
trigger: 'blur'
}],
approval: [{
required: true,
message: 'Please select whether ethical approval was obtained',
trigger: 'blur'
}],
approval_content: [{
required: true,
message: 'Please enter reason',
trigger: 'blur'
}],
approval_file: [{
required: true,
message: 'Please upload ethical approva file',
trigger: 'blur'
}],
},
activeNames: [1],
keywordsList: [{
@@ -917,6 +953,9 @@
}
},
computed: {
upload_articleApproval: function() {
return this.baseUrl + 'api/Article/up_approval_file';
},
upload_coverLetter: function() {
return this.baseUrl + 'api/Article/up_file/type/coverLetter';
},
@@ -1030,7 +1069,8 @@
if (vali) {
tuijian_yanzheng += 0
//this.tuiJianForm[i].major = this.tuiJianForm[i].major_all[0]
this.tuiJianForm[i].major = this.tuiJianForm[i].major_all[this.tuiJianForm[i].major_all.length - 1]
this.tuiJianForm[i].major = this.tuiJianForm[i].major_all[this
.tuiJianForm[i].major_all.length - 1]
//this.tuiJianForm[i].cmajor = this.tuiJianForm[i].major_all[1]
} else {
tuijian_yanzheng += 1
@@ -1206,7 +1246,6 @@
})
}
})
this.$api
.post('api/Reviewer/getAllMajor')
.then(res => {
@@ -1396,6 +1435,17 @@
document.body.removeChild(downloadElement);
},
//检验上传文件的格式
beforeupload_articleApproval(file) {
// const ismau =
// file.type === 'application/msword' ||
// file.type === 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' ||
// file.type === 'application/x-zip-compressed' ||
// file.name.split('.')[1] === 'rar';
// if (!ismau) {
// this.$message.error('Only word and compressed files(.doc,.docx,.rar,.zip)');
// }
// return ismau;
},
beforeupload_coverLetter(file) {
// const isWORd =
// file.type === 'application/msword' ||
@@ -1451,6 +1501,17 @@
// return ismau;
},
//文件上传成功后的操作
upSuccess_articleApproval(res, file) {
if (res.code == 0) {
this.form.approval_file = 'articleApproval/' + res.upurl;
this.fileL_articleApproval = [{}];
this.fileL_articleApproval[0].name = "Ethical approval File";
this.fileL_articleApproval[0].url = 'articleApproval/' + res.upurl;
} else {
this.$message.error('service error: ' + res.msg);
}
console.log(this.form)
},
upSuccess_coverLetter(res, file) {
if (res.code == 0) {
this.form.coverLetter = 'coverLetter/' + res.upurl;
@@ -1510,6 +1571,10 @@
this.$message.error('The maximum number of uploaded files has been exceeded');
},
//清除文件时的事件
removefilearticleApproval(file, fileList) {
this.form.approval_file = '';
this.fileL_articleApproval = [];
},
removefilecoverLetter(file, fileList) {
this.form.coverLetter = '';
this.fileL_coverLetter = []
@@ -1712,6 +1777,12 @@
showFiles() {
// 文件显示出来
this.fileL_articleApproval = [];
if (this.form.approval_file != '') {
this.fileL_articleApproval = [{}]
this.fileL_articleApproval[0].name = "Ethical approval file";
this.fileL_articleApproval[0].url = this.form.approval_file;
}
this.fileL_coverLetter = [];
if (this.form.coverLetter != '') {
this.fileL_coverLetter = [{}]
@@ -1965,8 +2036,10 @@
this.form.type = res.data.base.type
this.form.title = res.data.base.title
this.form.approval = res.data.base.approval
this.form.approval_content = res.data.base.approval_content
this.form.abstrart = res.data.base.abstrart
this.form.fund = res.data.base.fund
console.log(res.data.base)
// this.form.topics = res.data.base.topics
// 领域
this.$api
@@ -2034,6 +2107,10 @@
// 文件
if (res.data.files.length > 0) {
for (let i = 0; i < res.data.files.length; i++) {
if (res.data.files[i].type_name == 'articleApprova') {
this.form.approval_file = res.data.files[i].file_url
this.form.approval_fileId = res.data.files[i].file_id
}
if (res.data.files[i].type_name == 'coverLetter') {
this.form.coverLetter = res.data.files[i].file_url
this.form.coverLetterId = res.data.files[i].file_id
@@ -2067,7 +2144,9 @@
// 获取话题
getTopics() {
this.$api
.post('api/Article/getJournalTopics', {'journal_id': this.Reviewerof.journal})
.post('api/Article/getJournalTopics', {
'journal_id': this.Reviewerof.journal
})
.then((res) => {
if (res.code == 0) {
this.topicsList = res.data.topics
@@ -2343,7 +2422,7 @@
.jour_ku_all {
font-size: 12px;
float: left;
width: 210px;
width: 265px;
padding-left: 10px;
cursor: pointer;
color: #666;
@@ -2351,11 +2430,11 @@
}
.jour_ku_all:nth-child(3n+1) {
width: 270px;
width: 230px;
}
.jour_ku_all:nth-child(3n+2) {
width: 240px;
width: 220px;
}
.jour_ku_all.B_style {

View File

@@ -22,8 +22,19 @@
<font>Title :</font>
<b> {{form.title}}</b>
</p>
<p v-show="form.type=='A'">
<!-- <p v-show="form.type=='A'">
<font>Ethical Approval :</font><b>{{form.approval?'Yes':'No'}}</b>
</p> -->
<p>
<font>Ethical Approval :</font><b>{{form.approval?'Yes':'No'}}</b>
<a target="_blank" :href="mediaUrl + form.approval_file" v-if="form.approval==1&&form.approval_file!=''" style="color: #777;">
<img src="../../assets/img/icon_0.png" style="vertical-align: text-bottom;margin: 0 10px 0 30px;width: 15px;">
<font>Ethical approval file</font>
<i class="el-icon-download download" style="vertical-align: middle;margin:0 20px;font-weight: bold;color: #75abf1;"></i>
</a>
</p>
<p v-if="form.approval==0&&form.approval_content!=''">
<font>Explain the reason clearly :</font><b>{{form.approval_content}}</b>
</p>
<p v-if="form.special_num > 0">
<font>Special Issues :</font><b>{{ form.special_title }}</b>
@@ -499,6 +510,8 @@
type: '',
major: '',
approval: false,
approval_file:'',
approval_content:'',
repetition: '',
manuscirpt: '',
remarks: '',
@@ -767,6 +780,8 @@
this.form.special_title = res.article.special_title;
this.form.major = res.major;
this.form.approval = res.article.approval == 1 ? true : false;
this.form.approval_file = res.article.approval_file
this.form.approval_content = res.article.approval_content
this.form.repetition = res.article.repetition;
this.form.remarks = res.article.remarks;
this.form.repeurl = res.article.repeurl;

View File

@@ -157,8 +157,16 @@
<p>
<font>Type :</font><b>{{artextForm.type | ellipsis}}</b>
</p>
<p v-show="artextForm.type=='A'">
<p>
<font>Ethical Approval :</font><b>{{artextForm.approval?'Yes':'No'}}</b>
<a target="_blank" :href="mediaUrl + artextForm.approval_file" v-if="artextForm.approval==1&&artextForm.approval_file!=''" style="color: #777;">
<img src="../../assets/img/icon_0.png" style="vertical-align: text-bottom;margin: 0 10px 0 30px;width: 15px;">
<font>Ethical approval file</font>
<i class="el-icon-download download" style="vertical-align: middle;margin:0 20px;font-weight: bold;color: #75abf1;"></i>
</a>
</p>
<p v-if="artextForm.approval==0&&artextForm.approval_content!=''">
<font>Explain the reason clearly :</font><b>{{artextForm.approval_content}}</b>
</p>
<p v-if="artextForm.special_num > 0">
<font>Special Issues :</font><b>{{ artextForm.special_title }}</b>
@@ -312,7 +320,8 @@
</template>
<!-- 时间轴 -->
<el-timeline v-if="item.question && item.question[0] != null">
<el-timeline-item :timestamp="item1.ctime|formatDatehms" placement="top" v-for="(item1, index1) in item.question" :key="index1">
<el-timeline-item :timestamp="item1.ctime|formatDatehms" placement="top"
v-for="(item1, index1) in item.question" :key="index1">
<el-card>
<!-- 初审 -->
<div v-if="index1 == item.question.length-1">
@@ -349,12 +358,16 @@
<!-- 复审 -->
<el-tag type="success">Second review</el-tag>
<p style="margin-top: 20px;">
<i class="el-icon-check final Accept" v-if="item1.recommend == 1" >{{item1.recommend | getOpinion}}</i>
<i class="el-icon-close final Reject" v-if="item1.recommend == 2" >{{item1.recommend | getOpinion}}</i>
<i class="el-icon-refresh-left final Revison" v-if="item1.recommend == 3" >{{item1.recommend | getOpinion}}</i>
<i class="el-icon-check final Accept"
v-if="item1.recommend == 1">{{item1.recommend | getOpinion}}</i>
<i class="el-icon-close final Reject"
v-if="item1.recommend == 2">{{item1.recommend | getOpinion}}</i>
<i class="el-icon-refresh-left final Revison"
v-if="item1.recommend == 3">{{item1.recommend | getOpinion}}</i>
</p>
<p class="commentfs" v-if="item1.recommend == 3" style="margin-bottom: 10px;">
<font style="display: inline-block; margin-right: 20px;">Comments for the Authors</font>
<font style="display: inline-block; margin-right: 20px;">Comments for the
Authors</font>
<pre>{{item1.content}}</pre>
</p>
<p style="" class="stime" v-if="item1.stime != 0">
@@ -572,6 +585,7 @@
.catch(err => {
console.log(err);
});
},
@@ -786,14 +800,36 @@
</script>
<style scoped>
.time p{color: #606266;}
.Accept{color: #67c23a;}
.Reject{color: #909399;}
.Revison{color: #e6a23c;}
.final{ font-size: 20px;}
.preButton{ display: inline-block; position: relative; }
.time p {
color: #606266;
}
.Accept {
color: #67c23a;
}
.Reject {
color: #909399;
}
.Revison {
color: #e6a23c;
}
.final {
font-size: 20px;
}
.preButton {
display: inline-block;
position: relative;
}
/* .preButton:after{content: ''; display: block; width: 6px; height: 6px; background: #ff0000; position: absolute; right: 0; top: -5px; border-radius: 6px;} */
.preButton:hover{text-decoration:underline !important;}
.preButton:hover {
text-decoration: underline !important;
}
.container {
color: #333;
}

View File

@@ -90,6 +90,9 @@
{{item.title}}
</b>
</el-badge>
<b @click="corrSpe(item)" class="btnCliArt" style="margin-left: 20px;">
<i class="el-icon-paperclip"></i> Author's previous articles
</b>
</div>
<div style="display: flex;margin-left: auto;">
@@ -216,7 +219,8 @@
{{item.scoring}}
<i class="el-icon-refresh refreshBtn" @click="refreshScore(item)"></i>
</p>
<p style="font-size: 18px;font-weight: bold;margin-bottom: 5px;" v-if="item.reportList.length==0">
<p style="font-size: 18px;font-weight: bold;fmargin-bottom: 5px;"
v-if="item.reportList.length==0">
<font style="font-size: 14px;font-weight: normal;">Initial review score :</font>
{{item.scoring}} <i class="el-icon-refresh refreshBtn" @click="refreshScore(item)"></i>
</p>
@@ -233,7 +237,8 @@
v-if="item.reportList.length>0" style="margin-top: 1px;">Edit Hindex</el-button> -->
<p v-if="item.review.length>0"
style="font-size: 18px;font-weight: bold;margin-top: 15px;padding-top: 10px;border-top: 1px solid #dddddd;color: #db890e;">
<font v-if="finalCount(item) > 0 && finalCount(item) != 'NaN'" style="font-size: 14px;font-weight: normal;color: #333;">Comprehensive Score :</font>
<font v-if="finalCount(item) > 0 && finalCount(item) != 'NaN'"
style="font-size: 14px;font-weight: normal;color: #333;">Comprehensive Score :</font>
<span v-if="finalCount(item) > 0 && finalCount(item) != 'NaN'">{{finalCount(item)}}</span>
</p>
</div>
@@ -242,7 +247,10 @@
<b style="font-size: 16px;letter-spacing: -0.5px;">Reviewer Decision</b>
<p style="height: 5px;"></p>
<p v-for="(iken, index) in item.reviewScore" style="line-height: 28px;" :key="index">
Reviewer{{index+1}} score : <b style="color: #db890e;font-size: 18px;">{{iken.rated}}</b><el-button style="margin-left: 10px;" type="text" @click="crateRevision(iken)" v-if="iken.can_repeat == 1" >Re-review</el-button>
Reviewer{{index+1}} score : <b
style="color: #db890e;font-size: 18px;">{{iken.rated}}</b><el-button
style="margin-left: 10px;" type="text" @click="crateRevision(iken)"
v-if="iken.can_repeat == 1">Re-review</el-button>
</p>
<p v-if="item.reviewScore.length>0" style="font-size: 15px;margin: 0 0 5px 0;">
Average : <b style="font-size: 18px;color: #db890e;">{{avegeCount(item.reviewScore)}}</b>
@@ -276,7 +284,8 @@
<p v-if="item.realname!=''">
<font style="color: #999;">Name :</font>
{{item.realname}}
<span v-if="item.phone!=''" style="margin-left: 5px;color: #666;">({{item.phone}})</span>
<span v-if="item.phone!=''"
style="margin-left: 5px;color: #666;">({{item.phone}})</span>
</p>
<p v-if="item.email!=''" style="margin: 8px 0 5px 0;line-height: 22px;">
<font style="color: #999;">Email :</font>
@@ -570,7 +579,8 @@
<el-option :key="3" label="Reject" :value="3"></el-option>
<el-option :key="4" label="Revision" :value="4"></el-option>
<el-option :key="6" label="Pre-accept" :value="6"></el-option>
<el-option :key="5" label="Accept" :value="5" :disabled="curState == 6 ? false : true"></el-option>
<el-option :key="5" label="Accept" :value="5"
:disabled="curState == 6 ? false : true"></el-option>
</el-select>
</el-form-item>
<el-form-item label="Comments for authors :" v-show="editform.state==4">
@@ -772,6 +782,7 @@
<timetalk :talkMsgs="talkMsgs" :msgform="msgform"></timetalk>
</el-dialog>
<el-dialog title="Manuscript Tracking" :visible.sync="trackVisible" width="700px">
<p
style="word-break: normal;margin-bottom: 20px;font-size: 15px;font-weight: bold;letter-spacing: -0.5px;line-height: 22px;">
@@ -804,6 +815,39 @@
</div>
</el-dialog>
<el-dialog title="" :visible.sync="corresVisible" width="800px">
<div class="corrPeo">
<div v-if="corresList.article"
style="line-height: 30px;line-height: 22px;font-size: 16px;font-weight: bold;letter-spacing: -0.5px;">
{{corresList.article.title}}
</div>
<div v-for="(item, index) in corresList.author_articles">
<div class="corrPUser">
{{item.firstname}} {{item.lastname}}
<font v-if="item.is_super==1">#</font>
<font v-if="item.is_report==1">*</font>
</div>
<div class="corrPTim" v-for="(pku, iken) in item.articles"
@click="corresVisible=false;showdetaileditor(pku)">
<span>{{stateFormat(pku.state)}}</span>
{{pku.title}}
<font> - {{pku.journal_title}}</font>
</div>
<div v-if="item.articles.length==0">No article</div>
</div>
<div class="corrPUser">User articles</div>
<div v-for="(item, index) in corresList.user_articles">
<div class="corrPTim" @click="corresVisible=false;showdetaileditor(item)">
<span>{{stateFormat(item.state)}}</span>
{{item.title}}
<font> - {{item.journal_title}}</font>
</div>
<div v-if="item.length==0">No article</div>
</div>
</div>
</el-dialog>
</div>
</template>
@@ -866,6 +910,8 @@
aiSorbox: false,
communVisible: false,
trackVisible: false,
corresVisible: false,
corresList: [],
talkMsgs: [],
timeLaxis: {
title: '',
@@ -1012,7 +1058,13 @@
// 跳入预收录编辑页面
changeEnter(val) {
console.log(val, 'val')
this.$router.push({name: 'PreIngestedEditor', query: {id: val.article_id, uid:val.user_id}})
this.$router.push({
name: 'PreIngestedEditor',
query: {
id: val.article_id,
uid: val.user_id
}
})
},
// 改变期刊
chageJour() {
@@ -1077,7 +1129,8 @@
}
}
if (this.tableData[i].file.manuscirpt) {
if (this.tableData[i].file.coverLetter || this.tableData[i].file.picturesAndTables || this.tableData[i]
if (this.tableData[i].file.coverLetter || this.tableData[i].file.picturesAndTables ||
this.tableData[i]
.file.totalpage || this.tableData[i].file.supplementary) {
if (this.tableData[i].file.manuscirpt.length > 1) {
this.tableData[i].file_maun = 0
@@ -1575,6 +1628,29 @@
alertlimit() {
this.$message.error('The maximum number of uploaded files has been exceeded');
},
// 相关文章
corrSpe(value) {
this.$api
.post('api/Article/getArticlesByArticle', {
article_id: value.article_id
})
.then(res => {
if (res.code == 0) {
this.corresList = res.data
this.corresList.article = value
this.corresVisible = true
console.log(this.corresList)
} else {
this.$message.error(res.msg);
}
});
},
//格式化状态输出
stateFormat(e) {
let str = '';
@@ -1770,12 +1846,21 @@
</script>
<style scoped>
.refreshBtn{cursor: pointer; color: #069;}
.refreshBtn {
cursor: pointer;
color: #069;
}
.Countries {
display: inline-block;
width: 20px; vertical-align: middle;
white-space: nowrap;text-overflow:ellipsis; overflow:hidden; margin-bottom:3px;
width: 20px;
vertical-align: middle;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
margin-bottom: 3px;
}
.art_file>h4 {
text-align: left;
}
@@ -2054,4 +2139,48 @@
.webLink:hover {
text-decoration: underline;
}
.corrPeo {
word-break: normal;
}
.corrPeo .corrPUser {
border-bottom: 1px solid #00669936;
color: #006699;
font-size: 16px;
padding: 0 0 10px 0;
margin: 25px 0 10px 0;
font-weight: bold;
}
.corrPeo .corrPTim {
line-height: 22px;
margin-bottom: 20px;
}
.corrPeo .corrPTim:hover {
text-decoration: underline;
cursor: pointer;
}
.corrPeo .corrPTim span {
background: #db890e21;
color: #db890e;
display: inline-block;
padding: 1px 5px;
border-radius: 5px;
font-size: 12px;
margin-right: 10px;
letter-spacing: 0.5px;
font-weight: bold;
}
.corrPeo .corrPTim font {
font-weight: bold;
margin-left: 10px;
letter-spacing: -0.5px;
}
</style>

View File

@@ -1,28 +1,82 @@
// // const webpack = require("webpack")
// module.exports = {
// publicPath: './',
// assetsDir: 'static',
// productionSourceMap: false,
// devServer: {
// // public: 'http://192.168.110.156:8080/', // 你自己本地的ip地址:端口号
// // host:'localhost'
// public: '0.0.0.0:8080/',
// port: '8080',
// // open: true,
// // overlay: {
// // warnings: false,
// // errors: true
// // },
// // proxy: {
// // '/api': {
// // // target: 'https://www.tmrjournals.cn',
// // target: 'https://submission.tmrjournals.com/',
// // changeOrigin: true,
// // pathRewrite: {
// // '^/api': ''
// // }
// // }
// // }
// },
// // devServer: {
// // port: port,
// // open: true,
// // overlay: {
// // warnings: false,
// // errors: true
// // },
// // // before: require('./mock/mock-server.js') // 注释掉这一行
// // proxy: {
// // '/dev-api': { // 因为默认开发api就是dev-api所以我这里就没有改其他名字也叫dev-api
// // target: 'https://ceshi.xxxxxxxx.com/',
// // pathRewrite: {
// // '^/dev-api': ''
// // }, // 记得也哟改dev-api
// // }
// // }
// // },
// // 配置插件参数
// // configureWebpack: {
// // plugins: [
// // new webpack.ProvidePlugin({
// // 'window.Quill': 'quill'
// // })
// // ]
// // }
// }
// const webpack = require("webpack")
module.exports = {
publicPath: './',
assetsDir: 'static',
productionSourceMap: false,
devServer: {
// public: 'http://192.168.110.156:8080/', // 你自己本地的ip地址:端口号
// host:'localhost'
public: '0.0.0.0:8080/',
// public: 'http://192.168.110.159:8080/', // 你自己本地的ip地址:端口号
port: '8080',
// open: true,
// overlay: {
// warnings: false,
// errors: true
// },
// proxy: {
// '/api': {
// // target: 'https://www.tmrjournals.cn',
// target: 'https://submission.tmrjournals.com/',
// changeOrigin: true,
// pathRewrite: {
// '^/api': ''
// }
// }
// }
open: true,
overlay: {
warnings: false,
errors: true
},
proxy: {
'/api': {
// target: 'https://www.tmrjournals.cn',
target: 'https://submission.tmrjournals.com/',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
},
// devServer: {