feat : 模板列表数据获取,模板编辑修改

This commit is contained in:
王熙东
2022-11-23 15:35:00 +08:00
parent 97b357066c
commit 1636fbfd6f
5 changed files with 58 additions and 151 deletions

View File

@@ -22,7 +22,7 @@ export default createStore({
assessmentName: "", assessmentName: "",
routerId: null, routerId: null,
projectTemplateId:null,
orgtreeList: [], orgtreeList: [],
}, },
getters: {}, getters: {},
@@ -43,6 +43,9 @@ export default createStore({
}, },
getOrgtreeList(state, orgtreeList) { getOrgtreeList(state, orgtreeList) {
state.orgtreeList = orgtreeList; state.orgtreeList = orgtreeList;
},
SET_projectTemplateId (state,projectTemplateId) {
state.projectTemplateId = projectTemplateId;
} }
}, },
actions: {}, actions: {},

View File

@@ -565,9 +565,11 @@ import { ref, reactive, defineComponent, toRefs, onMounted} from "vue";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import * as api from "@/api/indexTemplate" import * as api from "@/api/indexTemplate"
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
import { useStore } from "vuex";
export default defineComponent({ export default defineComponent({
name: "LibraryAdd", name: "LibraryAdd",
setup() { setup() {
const store = useStore();
const state = reactive({ const state = reactive({
//任务大纲列表 //任务大纲列表
taskSyllabus: [ taskSyllabus: [
@@ -761,11 +763,12 @@ export default defineComponent({
onMounted(() => {getDetail()}); onMounted(() => {getDetail()});
// 获取详情 // 获取详情
const getDetail = () => { const getDetail = () => {
api.templateDetail(1).then(res => { api.templateDetail(store.state.projectTemplateId).then(res => {
state.taskSyllabus = [] state.taskSyllabus = []
console.log(res); console.log(res);
state.projectInfo.name = res.data.data.projectTemplateInfo.name state.projectInfo.name = res.data.data.projectTemplateInfo.name
state.projectInfo.beginTime = res.data.data.projectTemplateInfo.createTime let time = new Date(Number(res.data.data.projectTemplateInfo.createTime))
state.projectInfo.beginTime = time.toLocaleDateString()
state.projectInfo.manager = res.data.data.projectTemplateInfo.manager state.projectInfo.manager = res.data.data.projectTemplateInfo.manager
state.projectInfo.notice = res.data.data.projectTemplateInfo.notice state.projectInfo.notice = res.data.data.projectTemplateInfo.notice
state.projectInfo.sourceBelongId = res.data.data.projectTemplateInfo.sourceBelongId state.projectInfo.sourceBelongId = res.data.data.projectTemplateInfo.sourceBelongId
@@ -811,7 +814,7 @@ export default defineComponent({
"notice": state.projectInfo.notice, "notice": state.projectInfo.notice,
"noticeFlag": 0, "noticeFlag": 0,
"picUrl": "", "picUrl": "",
"projectTemplateId": 0, "projectTemplateId": store.state.projectTemplateId,
"remark": "", "remark": "",
"sourceBelongId": 0, "sourceBelongId": 0,
"status": 0, "status": 0,
@@ -860,7 +863,7 @@ export default defineComponent({
const stateEdit = () => { const stateEdit = () => {
let obj={ let obj={
"name": "", "name": "",
"projectTemplateId": 0, "projectTemplateId": store.state.projectTemplateId,
"remark": "", "remark": "",
"stageId": 0 "stageId": 0
} }
@@ -880,7 +883,7 @@ export default defineComponent({
"flag": true, "flag": true,
"name": "", "name": "",
"projectTaskId": 0, "projectTaskId": 0,
"projectTemplateId": 0, "projectTemplateId": store.state.projectTemplateId,
"stageId": 0, "stageId": 0,
"type": 0 "type": 0
} }
@@ -920,7 +923,6 @@ export default defineComponent({
<style lang="scss"> <style lang="scss">
.content7 { .content7 {
margin-top: 20px; margin-top: 20px;
.set_tit { .set_tit {
margin-left: 34px; margin-left: 34px;
font-size: 18px; font-size: 18px;

View File

@@ -47,6 +47,8 @@
<script> <script>
import { reactive, defineComponent, toRefs, onMounted } from "vue"; import { reactive, defineComponent, toRefs, onMounted } from "vue";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import { useRouter } from "vue-router";
import { useStore } from "vuex";
import * as api from "@/api/indexTemplate" import * as api from "@/api/indexTemplate"
const columns1 = [ const columns1 = [
{ {
@@ -90,6 +92,9 @@ const columns1 = [
export default defineComponent({ export default defineComponent({
name: "TemplateLibrary", name: "TemplateLibrary",
setup() { setup() {
const store = useStore();
// 编辑页面跳转过来时候,自动填充表格
const router = useRouter();
const state = reactive({ const state = reactive({
value1: null, value1: null,
tableData1: [ tableData1: [
@@ -101,15 +106,6 @@ export default defineComponent({
stutime: "2022-10-31 23:12:00", stutime: "2022-10-31 23:12:00",
operation: "operation", operation: "operation",
projectTemplateId: 1, projectTemplateId: 1,
},
{
key: "2",
name: "测试模板2",
status: "未发布",
creator: "李部长",
stutime: "2022-10-31 23:12:00",
operation: "operation",
projectTemplateId: 2,
} }
], ],
}); });
@@ -124,12 +120,10 @@ export default defineComponent({
{value.status === "已发布" ? ( {value.status === "已发布" ? (
<div class="nselect"> <div class="nselect">
<div class="ops2"> <div class="ops2">
<router-link to="/libraryadd"> <div class="jc" onClick={() => {toLibraryAdd(value.projectTemplateId)}}>
<div class="jc">
查看{" "} 查看{" "}
<span style="color:#E9E9E9;margin-left:15px;">|</span> <span style="color:#E9E9E9;margin-left:15px;">|</span>
</div> </div>
</router-link>
</div> </div>
<div class="ops3"> <div class="ops3">
<div class="jc" <div class="jc"
@@ -150,12 +144,10 @@ export default defineComponent({
</div> </div>
</div> </div>
<div class="ops2"> <div class="ops2">
<router-link to="/libraryadd"> <div class="jc" onClick={() => {toLibraryAdd(value.projectTemplateId)}}>
<div class="jc">
查看 查看
<span style="color:#E9E9E9;margin-left:15px;">|</span> <span style="color:#E9E9E9;margin-left:15px;">|</span>
</div> </div>
</router-link>
</div> </div>
<div class="ops3"> <div class="ops3">
<div class="jc" <div class="jc"
@@ -189,26 +181,28 @@ export default defineComponent({
const getLibraryList = () => { const getLibraryList = () => {
let obj = { let obj = {
"beginTime": 0, "beginTime": 0,
"endTime": 0,
"name": "", "name": "",
"pageNo": pagination.current, "pageNo": pagination.current,
"pageSize": 10, "pageSize": 10,
"status": 0 || 1 "status": 0
} }
api.templateList(obj).then((res) => { api.templateList(obj).then((res) => {
state.tableData1 = []
console.log(res); console.log(res);
let resData = res.data.data.rows let resData = res.data.data.rows
if (resData.length) { if (resData.length) {
for (let i in resData) { for (let i in resData) {
state.tableData1[i].id = i + 1; state.tableData1.push({
state.tableData1[i].projectTemplateId = resData[i].projectTemplateId; id : i + 1,
state.tableData1[i].status = resData[i].status ? "已发布" : "未发布"; projectTemplateId:resData[i].projectTemplateId,
state.tableData1[i].name = resData[i].name; status:resData[i].status ? "已发布" : "未发布",
state.tableData1[i].creator = resData[i].createName; name:resData[i].name,
state.tableData1[i].stutime = resData[i].publishTime; creator:resData[i].createName,
state.tableData1[i].operation = "operation"; stutime:resData[i].publishTime,
operation:"operation"
})
} }
getTableDate1()
} else { } else {
message.warning("获取的列表数据为空值") message.warning("获取的列表数据为空值")
} }
@@ -227,55 +221,21 @@ export default defineComponent({
}) })
} }
const searchLevel = () => { const searchLevel = () => {
state.tableData1 = [ getLibraryList();
{ setTimeout(() => {
key: "1", const result = state.tableData1.filter(item => item.name.includes(state.value1))
name: "测试模板1", state.tableData1 = result;
status: "已发布", },100)
creator: "李部长",
stutime: "2022-10-31 23:12:00",
operation: "operation",
projectTemplateId: 1,
},
{
key: "2",
name: "测试模板2",
status: "未发布",
creator: "李部长",
stutime: "2022-10-31 23:12:00",
operation: "operation",
projectTemplateId: 2,
}
];
const result = state.tableData1.filter(item => item.name.includes(state.value1))
state.tableData1 = result;
getTableDate1()
}; };
const resetLevel = () => { const resetLevel = () => {
state.value1 = ''; state.value1 = '';
// getLibraryList(); getLibraryList();
state.tableData1 = [
{
key: "1",
name: "测试模板1",
status: "已发布",
creator: "李部长",
stutime: "2022-10-31 23:12:00",
operation: "operation",
projectTemplateId: 1,
},
{
key: "2",
name: "测试模板2",
status: "未发布",
creator: "李部长",
stutime: "2022-10-31 23:12:00",
operation: "operation",
projectTemplateId: 2,
}
]
getTableDate1() getTableDate1()
}; };
const toLibraryAdd = (id) => {
router.push("/libraryAdd");
store.state.projectTemplateId = id
}
return { return {
...toRefs(state), ...toRefs(state),
@@ -284,6 +244,7 @@ export default defineComponent({
searchLevel, searchLevel,
resetLevel, resetLevel,
pagination, pagination,
toLibraryAdd,
}; };
}, },
}); });

View File

@@ -1045,6 +1045,7 @@
import draggable from "vuedraggable"; import draggable from "vuedraggable";
import { storage } from "../../api/storage"; import { storage } from "../../api/storage";
import UnlockMode from "../../components/drawers/UnlockMode.vue"; import UnlockMode from "../../components/drawers/UnlockMode.vue";
import {useStore} from "vuex";
// import * as api1 from "../../api/index1"; // import * as api1 from "../../api/index1";
const drawercolumns = [ const drawercolumns = [
@@ -1105,6 +1106,7 @@
UnlockMode, UnlockMode,
}, },
setup() { setup() {
const store = useStore();
const state = reactive({ const state = reactive({
projectId: storage.get("projectId") projectId: storage.get("projectId")
? JSON.parse(storage.get("projectId")) ? JSON.parse(storage.get("projectId"))
@@ -1507,8 +1509,7 @@
const getTask = () => { const getTask = () => {
state.tableData = [] state.tableData = []
api api
// .templateDetail(state.projectId || 1) .templateDetail(store.state.projectTemplateId)
.templateDetail(1)
.then((res) => { .then((res) => {
if (res.status == 200) { if (res.status == 200) {
console.log("22222", res.data.data.stageList); console.log("22222", res.data.data.stageList);
@@ -1706,7 +1707,7 @@
if (state.updateStageID) { if (state.updateStageID) {
let obj = { let obj = {
name: state.valuesname, name: state.valuesname,
projectTemplateId: 1, projectTemplateId: store.state.projectTemplateId,
remark: state.valuesnotice, remark: state.valuesnotice,
stageId:state.updateStageID, stageId:state.updateStageID,
}; };
@@ -1728,7 +1729,7 @@
} else { } else {
let obj = { let obj = {
name: state.valuesname, name: state.valuesname,
projectTemplateId: 1, projectTemplateId: store.state.projectTemplateId,
remark: state.valuesnotice, remark: state.valuesnotice,
stageId:0, stageId:0,
}; };

View File

@@ -311,17 +311,19 @@
</div> </div>
</template> </template>
<script> <script>
import { reactive, toRefs, ref } from "vue"; import { reactive, toRefs, ref,onMounted } from "vue";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import { useRouter, useRoute } from "vue-router"; import { useRouter, useRoute } from "vue-router";
// import dayjs from "dayjs"; // import dayjs from "dayjs";
import * as api from "../../api/indexTemplate"; import * as api from "../../api/indexTemplate";
import { storage } from "../../api/storage"; import { storage } from "../../api/storage";
import {useStore} from "vuex";
// import { toDate } from "../../api/method"; // import { toDate } from "../../api/method";
export default { export default {
name: "projectAdd", name: "projectAdd",
setup() { setup() {
const store = useStore();
// 编辑页面跳转过来时候,自动填充表格 // 编辑页面跳转过来时候,自动填充表格
const routers = useRoute(); const routers = useRoute();
const isEdit = ref(false); const isEdit = ref(false);
@@ -580,23 +582,7 @@ export default {
console.log(`selected ${key}`, classifyList4); console.log(`selected ${key}`, classifyList4);
// systemid = key; // systemid = key;
}; };
//模版滚动加载信息
const templateScroll = (e) => {
// console.log("滚动", e, b);
const { target } = e;
const scrllHeight = target.scrollHeight - target.scrollTop;
const clientHeight = target.clientHeight;
// console.log("scrllHeight", scrllHeight, clientHeight);
if (scrllHeight === 0 && clientHeight === 0) {
state.currentPage = 1;
} else if (scrllHeight - clientHeight == 0) {
// 下拉到底部时
if (state.currentPage < state.totalPages) {
// 如果滑到底部,则加载下一页
state.currentPage++;
}
}
};
// const removeFile = (file) => { // const removeFile = (file) => {
// const index = fileList1.value.indexOf(file); // const index = fileList1.value.indexOf(file);
@@ -619,6 +605,9 @@ export default {
// attach = attachStr; // attach = attachStr;
// }; // };
onMounted(() => {
})
const errorMsgs = { const errorMsgs = {
name: "请输入模板名称", name: "请输入模板名称",
category: "请选择模板分类", category: "请选择模板分类",
@@ -646,11 +635,11 @@ export default {
"sourceBelongId": state.projectInfo.sourceBelongId, "sourceBelongId": state.projectInfo.sourceBelongId,
"level": state.projectInfo.level, "level": state.projectInfo.level,
"systemId": state.projectInfo.systemId, "systemId": state.projectInfo.systemId,
"boeFlag": state.projectInfo.boeFlag, "boeFlag": state.projectInfo.boeFlag ? 1:0,
"courseSyncFlag": state.projectInfo.courseSyncFlag, "courseSyncFlag": state.projectInfo.courseSyncFlag? 1:0,
"notice": "", "notice": "",
"noticeFlag": 0, "noticeFlag": 0,
"projectTemplateId": 0, "projectTemplateId": store.state.projectTemplateId,
"remark": "", "remark": "",
"status": 0, "status": 0,
@@ -667,25 +656,7 @@ export default {
} }
} }
api api
.templateEdit({ .templateEdit(obj)
"beginTime": 0,
"boeFlag": 0,
"category": 0,
"courseSyncFlag": 0,
"endTime": 0,
"level": 0,
"manager": "",
"managerId": "",
"name": "",
"notice": "",
"noticeFlag": 0,
"picUrl": "",
"projectTemplateId": 0,
"remark": "",
"sourceBelongId": 0,
"status": 0,
"systemId": 0
})
.then((res) => { .then((res) => {
console.log(res); console.log(res);
if (res.status == 200 && res.data.code == 200) { if (res.status == 200 && res.data.code == 200) {
@@ -708,35 +679,6 @@ export default {
}); });
}; };
// 编辑项目模板
const editTemplate = () => {
let obj = {
"beginTime": state.projectInfo.time,
"boeFlag": state.projectInfo.boeFlag,
"category": 0,
"courseSyncFlag": state.projectInfo.courseSyncFlag,
"endTime": state.projectInfo.time,
"level": state.projectInfo.level,
"manager": state.projectInfo.manager,
"managerId": "",
"name": state.projectInfo.name,
"notice": "",
"noticeFlag": 0,
"picUrl": "",
"projectTemplateId": 0,
"remark": state.projectInfo.remark,
"sourceBelongId": state.projectInfo.sourceBelongId,
"status": 0,
"systemId": state.projectInfo.systemId
};
api.templateEdit(obj).methods(obj).then(res => {
message.success("编辑成功")
console.log(res)
}).catch(err => {
message.error("编辑失败"+err)
console.log(err)
})
}
return { return {
...toRefs(state), ...toRefs(state),
@@ -766,8 +708,6 @@ export default {
isEdit, isEdit,
backPage, backPage,
dateFormatList, dateFormatList,
editTemplate,
templateScroll,
}; };
}, },
}; };