This commit is contained in:
2025-07-11 16:17:18 +08:00
parent 69bee283a8
commit 193cc06752
3 changed files with 138 additions and 17 deletions

View File

@ -42,12 +42,30 @@
<span v-for="(it,idx) in row.qyList" :key="idx"> {{ it.qymc }} </span>
</template>
<template #yjcs="{row}">
<span style="color: #00ffff;" class="mr5 pointer">{{ row.yjcs || 0}}</span>
<span @click="openWarning(row)" style="color: #00ffff;" class="mr5 pointer">{{ row.yjcs || 0}}</span>
</template>
<!-- 操作 -->
<template #controls="{ row }">
<el-button size="small" @click="autoEdit('approval', row)">审批</el-button>
<el-popover placement="left" :visible="row.visible" :width="400" trigger="manual">
<template #reference>
<el-link size="small" type="success" v-if="row.bkZt == 'dm'" @click="row.visible = !row.visible,chooseRow.id = row.id">审批</el-link>
</template>
<el-form :model="chooseRow" ref="elRowForm" :inline="true" label-width="100px" :rules="rules">
<el-form-item label="是否通过" prop="sftg" class="mt10 mb10" style="width: 100%;">
<MOSTY.Select filterable v-model="chooseRow.sftg" :dictEnum="D_BZ_SF" width="100%" clearable placeholder="请选择是否通过"/>
</el-form-item>
<el-form-item label="不通过原因" prop="bkspBtgyy" v-if="chooseRow.sftg == 0" style="width: 100%;">
<MOSTY.Other style="width: 100%;" clearable v-model="chooseRow.bkspBtgyy" type="textarea" placeholder="请输入不通过原因"/>
</el-form-item>
</el-form>
<div class="flex just-center mt10">
<el-button @click.stop="cancelRow(row)">取消</el-button>
<el-button type="primary" @click.stop="handleSend(row)" v-loading="btnloading">确定</el-button>
</div>
</el-popover>
<el-link type="primary" size="small" @click="handleAdd('detail',row)">详情</el-link>
</template>
</MyTable>
<Pages
@ -61,20 +79,31 @@
></Pages>
</div>
</div>
<!-- 布控对象 -->
<AddBkdx ref="addBkdxForm" @change="getList" :dic="{D_GS_BK_DX,D_GS_BK_BKYS,D_BZ_XB,D_GS_BK_CZYQ,D_GS_BK_DJ,D_GS_BK_CZJSDWLX,D_GS_BK_TJFS}" />
</template>
<script setup>
import * as MOSTY from "@/components/MyComponents/index";
import AddBkdx from "../myControl/components/addBkdx.vue";
import PageTitle from "@/components/aboutTable/PageTitle.vue";
import MyTable from "@/components/aboutTable/MyTable.vue";
import Pages from "@/components/aboutTable/Pages.vue";
import Search from "@/components/aboutTable/Search.vue";
import { qcckGet, qcckPost } from "@/api/qcckApi.js";
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance();
const { D_GS_BK_DJ, D_GS_BK_DX, D_GS_BK_ZT, D_GS_BK_SJLX, D_GS_BK_CZYQ } = proxy.$dict( "D_GS_BK_DJ", "D_GS_BK_DX", "D_GS_BK_ZT", "D_GS_BK_SJLX", "D_GS_BK_CZYQ" ); //获取字典数据
const searchBox = ref(); //搜索框
const { D_BZ_SF,D_GS_BK_BKYS,D_BZ_XB,D_GS_BK_SJLX,D_GS_BK_DJ, D_GS_BK_DX, D_GS_BK_ZT,D_GS_BK_CZYQ,D_GS_BK_CZJSDWLX,D_GS_BK_TJFS } = proxy.$dict("D_BZ_SF","D_GS_BK_BKYS","D_BZ_XB","D_GS_BK_SJLX","D_GS_BK_DJ","D_GS_BK_DX","D_GS_BK_ZT","D_GS_BK_CZYQ","D_GS_BK_CZJSDWLX","D_GS_BK_TJFS"); //获取字典数据
const searchBox = ref();
const chooseRow = ref({})
const btns = ref();
const elRowForm = ref()
const rules = reactive({
sftg: [{ required: true, message: "请选择是否通过", trigger: "change" }],
bkspBtgyy: [{ required: true, message: "请输入不通过原因", trigger: "blur" }]
});
const btnloading = ref(false)
const addBkdxForm = ref(null); //布控对象组件
const searchConfiger = ref([
{
label: "布控等级",
@ -119,7 +148,7 @@ const pageData = reactive({
pageSize: 20,
pageCurrent: 1
}, //分页
controlsWidth: "240", //操作栏宽度
controlsWidth: 120, //操作栏宽度
tableColumn: [
{ label: "布控级别", prop: "bkDj", showSolt: true },
@ -173,6 +202,33 @@ const getList = () => {
});
};
const handleAdd = (type,row) => {
addBkdxForm.value.init(type,row);
};
const cancelRow = (row) => {
row.visible = false;
chooseRow.value = {};
btnloading.value = false;
elRowForm.value.resetFields()
};
// 审核
const handleSend = (val) =>{
elRowForm.value.validate((valid) => {
if(!valid) return;
btnloading.value = true;
qcckPost(chooseRow.value, "/mosty-gsxt/tbGsxtBk/audits").then(() => {
proxy.$message({ type: "success", message: "审批成功" });
val.visible = false;
btnloading.value = false;
chooseRow.value = {};
getList();
}).catch(()=>{
btnloading.value = false;
});
})
}
// 表格高度计算
const tabHeightFn = () => {
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 300;

View File

@ -47,8 +47,25 @@
<!-- 操作 -->
<template #controls="{ row }">
<el-button size="small" @click="autoEdit('auto', row)" >审核</el-button>
<el-button size="small" @click="autoEdit('approval', row)">审批</el-button>
<el-popover placement="left" :visible="row.visible" :width="400" trigger="manual">
<template #reference>
<el-link size="small" type="success" v-if="row.bkZt == '02'" @click="row.visible = !row.visible,chooseRow.id = row.id">审核</el-link>
</template>
<el-form :model="chooseRow" ref="elRowForm" :inline="true" label-width="100px" :rules="rules">
<el-form-item label="是否通过" prop="sftg" class="mt10 mb10" style="width: 100%;">
<MOSTY.Select filterable v-model="chooseRow.sftg" :dictEnum="D_BZ_SF" width="100%" clearable placeholder="请选择是否通过"/>
</el-form-item>
<el-form-item label="不通过原因" prop="bkshBtgyy" v-if="chooseRow.sftg == 0" style="width: 100%;">
<MOSTY.Other style="width: 100%;" clearable v-model="chooseRow.bkshBtgyy" type="textarea" placeholder="请输入不通过原因"/>
</el-form-item>
</el-form>
<div class="flex just-center mt10">
<el-button @click.stop="cancelRow(row)">取消</el-button>
<el-button type="primary" @click.stop="handleSend(row)" v-loading="btnloading">确定</el-button>
</div>
</el-popover>
<el-link type="primary" size="small" @click="handleAdd('detail',row)">详情</el-link>
</template>
</MyTable>
<Pages
@ -62,20 +79,31 @@
></Pages>
</div>
</div>
<!-- 布控对象 -->
<AddBkdx ref="addBkdxForm" @change="getList" :dic="{D_GS_BK_DX,D_GS_BK_BKYS,D_BZ_XB,D_GS_BK_CZYQ,D_GS_BK_DJ,D_GS_BK_CZJSDWLX,D_GS_BK_TJFS}" />
</template>
<script setup>
import * as MOSTY from "@/components/MyComponents/index";
import AddBkdx from "../myControl/components/addBkdx.vue";
import PageTitle from "@/components/aboutTable/PageTitle.vue";
import MyTable from "@/components/aboutTable/MyTable.vue";
import Pages from "@/components/aboutTable/Pages.vue";
import Search from "@/components/aboutTable/Search.vue";
import { qcckGet, qcckPost } from "@/api/qcckApi.js";
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance();
const { D_GS_BK_DJ, D_GS_BK_DX, D_GS_BK_ZT, D_GS_BK_SJLX, D_GS_BK_CZYQ } = proxy.$dict( "D_GS_BK_DJ", "D_GS_BK_DX", "D_GS_BK_ZT", "D_GS_BK_SJLX", "D_GS_BK_CZYQ" ); //获取字典数据
const searchBox = ref(); //搜索框
const { D_BZ_SF,D_GS_BK_BKYS,D_BZ_XB,D_GS_BK_SJLX,D_GS_BK_DJ, D_GS_BK_DX, D_GS_BK_ZT,D_GS_BK_CZYQ,D_GS_BK_CZJSDWLX,D_GS_BK_TJFS } = proxy.$dict("D_BZ_SF","D_GS_BK_BKYS","D_BZ_XB","D_GS_BK_SJLX","D_GS_BK_DJ","D_GS_BK_DX","D_GS_BK_ZT","D_GS_BK_CZYQ","D_GS_BK_CZJSDWLX","D_GS_BK_TJFS"); //获取字典数据
const searchBox = ref();
const chooseRow = ref({})
const btns = ref();
const elRowForm = ref()
const rules = reactive({
sftg: [{ required: true, message: "请选择是否通过", trigger: "change" }],
bkshBtgyy: [{ required: true, message: "请输入不通过原因", trigger: "blur" }]
});
const btnloading = ref(false)
const addBkdxForm = ref(null); //布控对象组件
const searchConfiger = ref([
{
label: "布控等级",
@ -120,7 +148,7 @@ const pageData = reactive({
pageSize: 20,
pageCurrent: 1
}, //分页
controlsWidth: "240", //操作栏宽度
controlsWidth: 120, //操作栏宽度
tableColumn: [
{ label: "布控级别", prop: "bkDj", showSolt: true },
@ -174,6 +202,33 @@ const getList = () => {
});
};
const handleAdd = (type,row) => {
addBkdxForm.value.init(type,row);
};
const cancelRow = (row) => {
row.visible = false;
chooseRow.value = {};
btnloading.value = false;
elRowForm.value.resetFields()
};
// 审核
const handleSend = (val) =>{
elRowForm.value.validate((valid) => {
if(!valid) return;
btnloading.value = true;
qcckPost(chooseRow.value, "/mosty-gsxt/tbGsxtBk/toExamine").then(() => {
proxy.$message({ type: "success", message: "审核成功" });
val.visible = false;
btnloading.value = false;
chooseRow.value = {};
getList();
}).catch(()=>{
btnloading.value = false;
});
})
}
// 表格高度计算
const tabHeightFn = () => {
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 300;

View File

@ -2,7 +2,7 @@
<div>
<div class="titleBox">
<PageTitle title="我的布控">
<el-button type="primary" @click="sendControl('add',null)">发起布控</el-button>
<el-button type="primary" @click="handleAdd('add',null)">发起布控</el-button>
<el-button type="primary">导出</el-button>
</PageTitle>
</div>
@ -47,8 +47,8 @@
</template>
<!-- 操作 -->
<template #controls="{ row }">
<el-link type="primary" size="small" @click="sendControl('detail',row)">详情</el-link>
<el-link type="primary" size="small">送审</el-link>
<el-link type="primary" size="small" @click="handleAdd('detail',row)">详情</el-link>
<el-link type="primary" v-if="row.bkZt == '01'" size="small" @click="handleSend(row.id)">送审</el-link>
<el-link type="danger" size="small" @click="handleRow(row.id)">删除</el-link>
</template>
</MyTable>
@ -183,13 +183,23 @@ const openWarning = (val) =>{
warningkdxForm.value.init(val)
}
const sendControl = (type,row) => {
const handleAdd = (type,row) => {
addBkdxForm.value.init(type,row);
};
// 送审
const handleSend = (id) =>{
proxy.$confirm("确定要送审?", "警告", { type: "warning" }).then(() => {
qcckPost({}, "/mosty-gsxt/tbGsxtBk/subExamine/"+id).then(() => {
proxy.$message({ type: "success", message: "送审成功" });
getList();
});
})
}
// 删除
const handleRow = (id) => {
proxy.$confirm("确定要删除", "警告", { type: "warning" }).then(() => {
proxy.$confirm("确定要删除", "警告", { type: "warning" }).then(() => {
qcckDelete({}, "/mosty-gsxt/tbGsxtBk/"+id).then(() => {
proxy.$message({ type: "success", message: "删除成功" });
getList();