add:业务流程

This commit is contained in:
闫世杰 2025-01-14 09:52:06 +08:00
parent 4f1c730a88
commit e5c2f0ab52
2 changed files with 89 additions and 39 deletions

View File

@ -6,8 +6,7 @@
:show-close="false" :show-close="false"
center center
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false">
>
<template #header="{ close, titleId, titleClass }"> <template #header="{ close, titleId, titleClass }">
<div class="my-header"> <div class="my-header">
<el-icon size="26" color="#fff" @click="closeDialog"> <el-icon size="26" color="#fff" @click="closeDialog">
@ -23,20 +22,17 @@
<img <img
src="@/assets/images/table_l.png" src="@/assets/images/table_l.png"
alt="" alt=""
style="margin-right: 10px" style="margin-right: 10px" />
/>
<div class="name">{{ title }}详情</div> <div class="name">{{ title }}详情</div>
<img <img
src="@/assets/images/table_r.png" src="@/assets/images/table_r.png"
alt="" alt=""
style="margin-left: 10px" style="margin-left: 10px" />
/>
</div> </div>
<img <img
class="title_botton" class="title_botton"
src="@/assets/images/table_c.png" src="@/assets/images/table_c.png"
alt="" alt="" />
/>
</div> </div>
</div> </div>
<div style="width: 100%; height: calc(100% - 110px)"> <div style="width: 100%; height: calc(100% - 110px)">
@ -45,11 +41,10 @@
:data="data.tableData" :data="data.tableData"
height="100%" height="100%"
:header-cell-style="{ background: '#008FCD' }" :header-cell-style="{ background: '#008FCD' }"
:row-style="{height: '26px'}" :row-style="{ height: '26px' }"
:key="tableKey" :key="tableKey"
@row-click="handleRowClick" @row-click="handleRowClick"
class="custom-table-font" class="custom-table-font">
>
<!-- <el-table-column <!-- <el-table-column
v-for="(item, index) in data.columns" v-for="(item, index) in data.columns"
:key="index" :key="index"
@ -58,32 +53,34 @@
:width="item.width" :width="item.width"
align="center" align="center"
/> --> /> -->
<template v-for="item in data.columns"> <template v-for="item in data.columns" :key="item.label">
<el-table-column <el-table-column
:key="item.label" :key="item.label"
v-if="item.type === 'slot'" v-if="item.type === 'slot' || item.type === 'render'"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
:label="item.label" :label="item.label"
:property="item.property" :property="item.property"
:align="item.align || 'center'" :align="item.align || 'center'">
>
<template #default="scope"> <template #default="scope">
<slot <slot
:name="item.property" :name="item.property"
:currentCol="item" :currentCol="item"
:currentData="scope.row" :currentData="scope.row"
@click.stop="item.property === 'sxt' ? openSxt() : null" @click.stop="item.property === 'sxt' ? openSxt() : null">
></slot> <component
v-if="item.render"
:is="item.render(scope)"></component>
</slot>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
v-else v-else
:type="item.type"
:width="item.width" :width="item.width"
:property="item.property" :property="item.property"
:label="item.label" :label="item.label"
:show-overflow-tooltip="true" :show-overflow-tooltip="true"
:align="item.align || 'center'" :align="item.align || 'center'"></el-table-column>
/>
</template> </template>
</el-table> </el-table>
</div> </div>
@ -98,27 +95,15 @@
prev-text="上一页" prev-text="上一页"
next-text="下一页" next-text="下一页"
@current-change="handle" @current-change="handle"
v-model:current-page="pagination.currentPage" v-model:current-page="pagination.currentPage" />
/>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script setup> <script setup>
import { import { onMounted, reactive, ref, defineProps, watch } from "vue";
onMounted,
reactive,
ref,
onBeforeMount,
defineProps,
watch,
nextTick,
} from "vue";
import { CircleCloseFilled } from "@element-plus/icons-vue"; import { CircleCloseFilled } from "@element-plus/icons-vue";
import { useRouter, useRoute } from "vue-router";
const router = useRouter();
const routers = useRoute();
const props = defineProps({ const props = defineProps({
dialogShow: { dialogShow: {
type: Boolean, type: Boolean,
@ -345,8 +330,8 @@ const handle = (current) => {
:deep(.el-pagination) { :deep(.el-pagination) {
transform: scale(0.8); transform: scale(0.8);
} }
:deep(.el-overlay-dialog){ :deep(.el-overlay-dialog) {
bottom: 0 !important; bottom: 0 !important;
overflow:hidden !important; overflow: hidden !important;
} }
</style> </style>

View File

@ -251,7 +251,7 @@
</div> </div>
<div class="floating_model_label">机制标准</div> <div class="floating_model_label">机制标准</div>
</div> </div>
<div class="floating_model"> <div class="floating_model" @click="onProcess">
<div class="floating_model_icon"> <div class="floating_model_icon">
<img src="@/assets/images/flow.png" alt="" /> <img src="@/assets/images/flow.png" alt="" />
</div> </div>
@ -1069,18 +1069,46 @@ const business = reactive({
// //
const onMechanism = () => { const onMechanism = () => {
dialogModelConfig.title = "机制标准"; dialogModelConfig.title = "机制标准";
let bj = business.bj == "gxjs" ? "gxjs" : "lnst"; let bj = business.bj == "gxst" ? "lnst" : business.bj;
http.get(`/api/ggfwyth/ysyzt/getJzbz?bj=${bj}`).then((res) => { http.get(`/api/ggfwyth/ysyzt/getJzbz?bj=${bj}`).then((res) => {
if (res.code == 200) { if (res.code == 200) {
dialogModelConfig.render = () => { dialogModelConfig.render = () => {
let html =
res.data?.zcnr?.replace(/\n/g, "<br/>") || res?.data?.zcnr || "";
return h("div", { return h("div", {
innerHTML: res.data.zcnr?.replace(/\n/g, "<br/>") || res.data.zcnr, innerHTML: html,
}); });
}; };
dialogModelConfig.show = true; dialogModelConfig.show = true;
} }
}); });
}; };
//
const onProcess = () => {
dialogModelConfig.title = "业务流程";
http.get(`/api/ggfwyth/ysyzt/getYwlc?bj=${business.bj}`).then((res) => {
if (res.code == 200) {
dialogModelConfig.render = () => {
let images = res.data.map((item) => {
return h(ElImage, { src: item });
});
return h(
"div",
{
style: {
display: "flex",
flexWrap: "wrap",
gap: "10px",
background: "#fff",
},
},
images
);
};
dialogModelConfig.show = true;
}
});
};
// //
const onWork = () => { const onWork = () => {
dialogModelConfig.title = "工作情况"; dialogModelConfig.title = "工作情况";
@ -1090,7 +1118,17 @@ const onWork = () => {
let images = res.data.map((item) => { let images = res.data.map((item) => {
return h(ElImage, { src: item }); return h(ElImage, { src: item });
}); });
return h("div", {}, images); return h(
"div",
{
style: {
display: "flex",
flexWrap: "wrap",
gap: "10px",
},
},
images
);
}; };
dialogModelConfig.show = true; dialogModelConfig.show = true;
} }
@ -1643,10 +1681,37 @@ const table_column_list = reactive({
label: "姓名", label: "姓名",
property: "scustomername", property: "scustomername",
}, },
{
label: "就餐/送餐订单",
property: "iordertype",
type: "render",
render: (data) => {
return h("span", data.row.iordertype == 1 ? "就餐" : "送餐");
},
},
{
label: "早中晚餐",
property: "itimetype",
type: "render",
render: (data) => {
return h(
"span",
data.row.itimetype == 0
? "早餐"
: data.row.itimetype == 1
? "午餐"
: "晚餐"
);
},
},
{ {
label: "菜品信息", label: "菜品信息",
property: "dishesmealnames", property: "dishesmealnames",
}, },
{
label: "订单结束时间",
property: "dtfinishtime",
},
], ],
}); });