提交 6b0a5cdc 编写于 作者: haochangdi's avatar haochangdi

增加模板项目预览和上架后的禁止选择

上级 a920a302
......@@ -62,6 +62,10 @@ export default {
projectId: {
type: String | Number,
default: ''
},
status4Flag: {
type: String | Number,
default: 0
}
},
data() {
......@@ -75,12 +79,14 @@ export default {
isLeaf: "isLeaf"
},
treeData: [],
tagsRegion: []
tagsRegion: [],
isPreview:1 // 是否预览
}
},
created() {
vm = this;
vm.initRange();
vm.isPreview = vm.$route.query.isPreview ? vm.$route.query.isPreview : 0;
},
methods: {
//选择范围 初始化
......@@ -108,7 +114,13 @@ export default {
let administrativeAll = res.data.administrativeAll;
let administrative = res.data.administrative;
vm.treeData = [];
if (vm.isPreview ==1 ){
vm.setDisable(administrativeAll)
}
vm.treeData[0] = administrativeAll;
console.log('================== administrativeAll==================');
console.log( administrativeAll);
console.log('====================================');
vm.setTreeData(administrative);
// vm.getCheckedTree();
}
......@@ -198,8 +210,6 @@ export default {
//添加子节点
append(data, node) {
console.log('=========================append')
console.log("data:", data);
console.log("node:", node);
if (data.children.length == 0) {
//let id = data.id + "add";
let statusValue = 0;
......@@ -239,8 +249,10 @@ export default {
},
//删除label节点 同步树结构
handleCloseTree(tag) {
console.log('=========================handleCloseTree')
if (vm.status4Flag != 1) {
console.log('===============status4Flag=====================');
console.log(vm.status4Flag);
console.log('====================================');
if (vm.status4Flag != 1 || vm.isPreview == 1) {
vm.tagsRegion.splice(vm.tagsRegion.indexOf(tag), 1);
vm.setCheckedKeys(vm.tagsRegion);
}
......@@ -315,6 +327,15 @@ export default {
//重构内容
return allSelectedKeys;
},
// 预览时设置全部不可以选
setDisable(r) {
r.disabled = true;
if (r.children.length) {
for(let i = 0; i < r.children.length; i++) {
vm.setDisable(r.children[i])
}
}
}
}
}
</script>
......
......@@ -36,7 +36,7 @@
</el-form-item>
<el-form-item style="float:right;">
<el-upload
v-if="idType == 1 && status4Flag != 1"
v-if="status4Flag != 1"
class="upload-excel"
action="#"
accept=".xlsx"
......@@ -44,11 +44,11 @@
:limit="1"
:before-upload="uploadOrganization"
>
<el-button size="small">导入机构名单</el-button>
<el-button size="small" :disabled="isPreview==1">导入机构名单</el-button>
<el-button class="down-button" slot="tip" size="small" @click="download('organization')">下载导入模板</el-button>
</el-upload>
<div v-if="idType == 1 && status4Flag == 1">
<el-button size="small" @click="dialogUpload = true">导入机构名单</el-button>
<div v-if="status4Flag == 1">
<el-button size="small" @click="dialogUpload = true" :disabled="isPreview==1">导入机构名单</el-button>
<el-button class="down-button" slot="tip" size="small" @click="download('organization')">下载导入模板</el-button>
</div>
</el-form-item>
......@@ -94,8 +94,37 @@
:total="totalOrganization"
></el-pagination>
</div>
<el-dialog title="导入失败" :visible.sync="dialogFail" width="30%" class="dialog-fail" center>
<el-dialog title="提醒" :visible.sync="dialogUpload" width="30%" center >
<p style="text-align:center">该项目为上架状态,确定要导入机构名单吗?</p>
<span slot="footer" class="dialog-footer">
<el-upload
class="upload-excel"
action="#"
accept=".xlsx"
:limit="1"
:before-upload="uploadOrganization"
>
<el-button class="down-button-close" slot="tip" size="small" @click="dialogUpload = false">取消</el-button>
<el-button @click="closeUpload()" type="primary" size="small">继续导入</el-button>
</el-upload>
</span>
</el-dialog>
<el-dialog
title="导入成功"
:visible.sync="dialogSuccess"
width="30%"
class="dialog-success"
center
>
<p>
本次成功导入
<span class="upload-text">{{ updateNum }}</span> 数据
</p>
<span slot="footer" class="dialog-footer">
<el-button type="primary" size="small" @click="dialogSuccess = false">关闭</el-button>
</span>
</el-dialog>
<el-dialog title="导入失败" :visible.sync="dialogFail" width="30%" class="dialog-fail" center>
<div class="fail-type" v-if="failType == 1">
<p>导入数据量已超限额,请修正后再次导入</p>
<p class="fail-notice">仅支持一次导入5000条数据</p>
......@@ -126,23 +155,6 @@
@click="closeFail()"
>重新导入</el-button>
</el-upload>
<el-upload
v-if="uploadType == 'person'"
class="upload-button"
action="#"
accept=".xlsx"
multiple
:limit="1"
:before-upload="uploadPerson"
>
<el-button slot="tip" class="down-button-close" size="small" @click="dialogFail = false">取消</el-button>
<el-button
stype="position: absolute;top: -14px;"
type="primary"
size="small"
@click="closeFail()"
>重新导入</el-button>
</el-upload>
</span>
</el-dialog>
</div>
......@@ -167,6 +179,10 @@ export default {
projectId:{
type: String | Number,
default:''
},
status4Flag: {
type: String | Number,
default: 0
}
},
data() {
......@@ -174,7 +190,6 @@ export default {
getRowKeys(row) {
return row.id;
},
status4Flag: '',
checkTableState: {
multipleOrganization: "",
multipleDepartment: "",
......@@ -240,11 +255,14 @@ export default {
}
}
},
regio: '' //设定行政范围选择的范围
regio: '', //设定行政范围选择的范围
dialogUpload: false,
isPreview:1 // 是否预览
}
},
created() {
vm = this;
vm.isPreview = vm.$route.query.isPreview ? vm.$route.query.isPreview : 0;
vm.idType = localStorage.getItem("storageIdType");
// vm.getOrganization();
vm.getRegionOption();
......@@ -278,7 +296,6 @@ export default {
if (res.code == "000000") {
vm.tableOrganization = res.data.organizationList;
vm.totalOrganization = res.data.total;
vm.initOrganizationStatus();
} else {
vm.$message(res.message);
......@@ -335,7 +352,7 @@ export default {
selectableTableList(row, index) {
console.log('=========================selectableTableList')
// if (vm.status4Flag == 1) {
if (row.modifyFlag == 1) {
if (row.modifyFlag == 1 || vm.isPreview==1) {
return false;
}
return true;
......@@ -356,7 +373,7 @@ export default {
searchForm.name == ""
) {
vm.searchOrganizationType = "";
vm.getOrganization();
vm.getOrganization(vm.regio);
} else {
vm.searchOrganizationType = "choose";
vm.getOrganizationChoose();
......@@ -431,7 +448,7 @@ export default {
if (vm.searchOrganizationType == "choose") {
vm.getOrganizationChoose();
} else {
vm.getOrganization();
vm.getOrganization(vm.regio);
}
},
//机构table中勾选一个
......@@ -456,7 +473,7 @@ export default {
},
// 导入机构名单
uploadOrganization(file) {
console.log('=========================uploadOrganization')
console.log('=========================uploadOrganization')
vm.dialogFail = false;
vm.uploadType = "org";
console.log(file);
......@@ -500,10 +517,6 @@ export default {
downloadUrl = getExeclUrl(
"%E6%95%99%E5%9F%B9%E9%A1%B9%E7%9B%AE%E8%AE%BE%E7%BD%AE%E6%9C%BA%E6%9E%84%E5%AF%BC%E5%85%A5%E6%A8%A1%E6%9D%BF.xlsx"
);
} else if (type == "person") {
downloadUrl = getExeclUrl(
"%E6%95%99%E5%9F%B9%E9%A1%B9%E7%9B%AE%E8%AE%BE%E7%BD%AE%E4%BA%BA%E5%91%98%E5%AF%BC%E5%85%A5%E6%A8%A1%E6%9D%BF.xlsx"
);
} else if (type == "fail") {
downloadUrl = vm.failExcelUrl;
}
......@@ -558,12 +571,9 @@ export default {
let administrativeIdItem = operationData.setAdministrativeId(
vm.formOrganization.administrativeIdList
);
console.log('====================administrativeIdItem ================');
console.log(administrativeIdItem );
console.log('====================================');
let req = {
projectId: vm.projectId,
administrativeId: administrativeIdItem,
administrativeId: administrativeIdItem == '000_0' ? '000' : administrativeIdItem,
hospitalLevel: vm.formOrganization.level,
hospitalName: vm.formOrganization.name,
pageNum: vm.formOrganization.pageNum,
......
......@@ -16,6 +16,7 @@
placeholder="请输入项目名称"
style="width:70%;"
ref="projectName"
:disabled="isPreview==1"
></el-input>
<span class="word-num">{{(formData.projectName).replace(/\s+/g,"").length}}/24</span>
</el-col>
......@@ -32,9 +33,10 @@
@input="changeOrganizationName"
@blur = "blurName"
@focus = "focusName(index)"
:disabled="isPreview==1"
></el-input>
<span class="word-num">{{(formData.organizationNameList[index]).replace(/\s+/g,"").length}}/16</span>
<img @click="plusOrg(index)" class="edit-img" src="../../../assets/image/plus.png" />
<img @click="plusOrg(index)" class="edit-img" src="../../../assets/image/plus.png" v-if="isPreview!=1"/>
<img @click="deleteOrg(index)" v-if="index >= 1" class="edit-img" src="../../../assets/image/trash.png" />
</el-col>
<el-popover
......@@ -59,7 +61,7 @@
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions0"
style="width: 100%;"
:disabled="formData.status4Flag == 1"
:disabled="formData.status4Flag == 1 || isPreview==1"
></el-date-picker>
</el-form-item>
</el-col>
......@@ -75,6 +77,7 @@
:picker-options="pickerOptions1"
default-time="23:59:59"
style="width: 100%;"
:disabled="isPreview==1"
></el-date-picker>
</el-form-item>
</el-col>
......@@ -178,6 +181,7 @@
placeholder="请输入项目简介"
v-model="formData.projectIntro"
style="width:83%;"
:disabled="isPreview==1"
></el-input>
<span class="word-num">{{(formData.projectIntro).replace(/\s+/g,"").length}}/200</span>
</el-col>
......@@ -340,6 +344,7 @@ export default {
confirmMsg: '取消',
hideMsg: '重新选择'
},
isPreview: 0
}
},
components: {
......@@ -347,6 +352,7 @@ export default {
},
created() {
vm = this;
vm.isPreview = vm.$route.query.isPreview ? vm.$route.query.isPreview : 0;
if (vm.editor) {
// 编辑时
vm.disabled = false;
......@@ -368,12 +374,11 @@ export default {
vm.formData.projectBegintime = vm.formData.projectBegintime ? new Date(vm.formData.projectBegintime) : '';
vm.formData.projectEndtime = vm.formData.projectBegintime ? new Date(vm.formData.projectEndtime) : '';
if (data.attachmentData[1]) {
// vm.formData.attachmentUrl2 = data.attachmentData[1].attachmentType == 1 ? data.attachmentData[1].attachmentUrl : '';
// vm.formData.attachmentUrl3 = data.attachmentData[1].attachmentType == 2 ? data.attachmentData[1].attachmentUrl : '';
vm.formData.attachmentUrl2 = data.attachmentData[1].attachmentUrl;
vm.formData.attachmentUrl2 = data.attachmentData[1].attachmentUrl;
vm.formData.type = data.attachmentData[1].attachmentType;
vm.formData.attachmentMore2 = Object.assign(vm.formData.attachmentMore2, data.attachmentData[1]);
}
vm.$emit('setStatus4Flag',data.projectData.status4Flag)
},
// 获取选择模板后的基本信息
getMessage() {
......@@ -382,7 +387,7 @@ export default {
.then(res => {
closeLoading(vm);
if (res.code == "000000") {
this.$emit('hideSave',res.data.projectData.projectStatus < 2)
this.$emit('hideSave',res.data.projectData.projectStatus)
vm.setBaseMessage(res.data);
} else {
vm.$message.info(res.message);
......@@ -400,7 +405,7 @@ export default {
.then(res => {
closeLoading(vm);
if (res.code == "000000") {
this.$emit('hideSave',res.data.projectData.projectStatus < 2)
this.$emit('hideSave',res.data.projectData.projectStatus)
vm.setBaseMessage(res.data)
} else {
vm.$message.info(res.message);
......@@ -623,17 +628,24 @@ export default {
baseobj.attachmentPDFModel= null;
baseobj.notifyData= null;
openLoading(vm);
vm.POST("portal/portalInfo/insertOrUpdate", baseobj).then(res => {
closeLoading(vm);
if (res.code == "000000") {
// 下一步,并将项目id传递
vm.$emit('next',res.data.id);
} else if (res.code == "213061") {
vm.dialogObj.visible = true;
} else {
vm.$message.info(res.message);
}
});
vm.POST("portal/portalInfo/insertOrUpdate", baseobj)
.then(res => {
closeLoading(vm);
if (res.code == "000000") {
// 下一步,并将项目id传递给父组件
vm.$emit('next',res.data.id);
} else if (res.code == "213061") {
vm.dialogObj.visible = true;
} else {
vm.$message.warning(res.message);
}
})
.catch((err) => {
vm.$message({
type: "warning",
message: res.message
});
})
},
//表单校验
submitForm(formName) {
......
......@@ -17,7 +17,7 @@
</el-col>
<el-col :span="5" :offset="5">
<div v-if="!canNext" class="dis-btn">下一步</div>
<el-button v-if="active!=0 && showSave" size="small" @click="save">暂存</el-button>
<el-button v-if="active!=0 && projectStatus==1" size="small" @click="save">暂存</el-button>
<el-button v-if="active!==2 && canNext" size="small" type="primary" @click="nextStep">下一步</el-button>
<el-button v-if="active==2" size="small" type="primary" @click="complete">完成</el-button>
</el-col>
......@@ -37,16 +37,17 @@
@next="next"
@backSelectVue="backSelectVue"
@hideSave="hideSave"
@setStatus4Flag="setStatus4Flag"
/>
<!-- 选择学员 -->
<div class="three-step" v-if="active === 2">
<el-tabs v-model="activeName" @tab-click="handleClickTabs">
<el-tab-pane label="设定行政范围" name="first">
<select-region ref="selectRegion" :projectId="projectId"></select-region>
<select-region ref="selectRegion" :projectId="projectId" :status4Flag="status4Flag"></select-region>
</el-tab-pane>
<el-tab-pane label="设定机构" name="second">
<set-organization ref="setOrganization" :projectId="projectId"></set-organization>
<set-organization ref="setOrganization" :projectId="projectId" :status4Flag="status4Flag"></set-organization>
</el-tab-pane>
</el-tabs>
</div>
......@@ -126,7 +127,8 @@ export default {
confirmMsg: '取消',
hideMsg: '确定发布'
},
showSave: false
projectStatus: 1, //1.草稿 2.未上架 3.审核中/待审核 4.已上架 5.已下架 6.已拒绝/未上架
status4Flag: 0//0表示没有上过架,1表示上过架
}
},
components: {
......@@ -146,6 +148,7 @@ export default {
commonUtil.resizeHeight();
},
methods: {
// 判断是否为编辑状态
isEditorFn(){
if(vm.$route.query.projectId) {
vm.projectId = vm.$route.query.projectId;
......@@ -154,18 +157,19 @@ export default {
vm.canNext = true;
}
},
// 下一步
// 按钮点击下一步
nextStep() {
if (vm.active == 0) {
vm.checkSelectTemplate()
return;
}
if (vm.active == 1) {
// 调用项目信息中的下一步操作
vm.$refs.templateMessage.nextStep();
return;
}
},
// 填写项目信息组件的下一步回调
// 填写项目信息组件的下一步回调(获取项目id)
next(id) {
vm.projectId = id;
vm.active = 2;
......@@ -183,8 +187,14 @@ export default {
},
// 完成
complete() {
vm.sendObj.visible = true;
// 4不弹框
if (vm.projectStatus !=4) {
vm.sendObj.visible = true;
} else {
vm.hidefn();
}
},
// 完成触发的接口
hidefn() {
vm.regionComplete(vm.changeStatus());
},
......@@ -197,18 +207,25 @@ export default {
flag: fishFn ? 3 : 1, //0:下一步 1:暂存
};
openLoading(vm);
vm.POST("portal/new/scope", req).then(res => {
closeLoading(vm);
if(res.code == '000000' && fishFn) {
fishFn();
}
if (!fishFn) {
vm.POST("portal/new/scope", req)
.then(res => {
closeLoading(vm);
if(res.code == '000000' && fishFn) {
fishFn();
}
if (!fishFn) {
vm.$message({
type: "info",
message: res.message
});
}
})
.catch(() => {
vm.$message({
type: "info",
type: "warning",
message: res.message
});
}
});
})
},
// 完成后更改状态
changeStatus() {
......@@ -219,11 +236,18 @@ export default {
vm.POST("portal/portalInfo/changeStatus", req)
.then(res => {
vm.sendObj.visible = false;
let query = {};
if (vm.$route.query.pageNum) {
query = { pageNum: vm.$route.query.pageNum };
if(res.code == '000000') {
let query = {};
if (vm.$route.query.pageNum) {
query = { pageNum: vm.$route.query.pageNum };
}
vm.$router.push({ path: "item-manager", query: query });
} else {
vm.$message({
type: "warning",
message: res.message
});
}
vm.$router.push({ path: "item-manager", query: query });
})
.catch(() => {
vm.$message({
......@@ -285,8 +309,12 @@ export default {
vm.active = 0;
},
// 是否隐藏暂存按钮
hideSave(flag) {
this.showSave = flag;
hideSave(num) {
this.projectStatus = num;
},
// 从子组件(项目信息)获取项目状态是否为上架
setStatus4Flag(s) {
vm.status4Flag = s;
}
}
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册