更新页面
This commit is contained in:
55
src/components/MyComponents/PackageSelect/index.vue
Normal file
55
src/components/MyComponents/PackageSelect/index.vue
Normal file
@ -0,0 +1,55 @@
|
||||
<template>
|
||||
<div class="form-item-box zj-packageSelect-wrap" :style="{ width: width }">
|
||||
<el-select v-bind="$attrs" :model-value="modelValue" @change="hanlderSelect"
|
||||
:popper-class="selectOption.length > 20 ? 'nation-select' : ''" :placeholder="placeholder">
|
||||
<el-option v-for="item in selectOption" :key="item.dm" :label="item.zdmc" :value="item.dm">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { COMPONENT_WIDTH } from '@/constant';
|
||||
import { nextTick, onBeforeMount, ref } from "vue";
|
||||
import { getDictInfoByDictEnum } from "@/api/sysDict";
|
||||
const emits = defineEmits(["handleChange"]); //子组件向父组件事件传递
|
||||
const props = defineProps({
|
||||
//获取组件传值
|
||||
placeholder: {
|
||||
default: "请选择",
|
||||
type: String
|
||||
},
|
||||
modelValue: {
|
||||
default: "",
|
||||
type: String
|
||||
},
|
||||
dictEnum: {
|
||||
default: "",
|
||||
type: String
|
||||
},
|
||||
width: {
|
||||
default: COMPONENT_WIDTH,
|
||||
type: String
|
||||
}
|
||||
});
|
||||
const selectOption = ref([]);
|
||||
onBeforeMount(async () => {
|
||||
const res = await getDictInfoByDictEnum({ dictElementEnum: props.dictEnum });
|
||||
//正常下拉结构
|
||||
if (res.zdlx === 1) {
|
||||
selectOption.value = [...res.itemList];
|
||||
} else {
|
||||
//树形结构数据
|
||||
}
|
||||
});
|
||||
const hanlderSelect = (data) => {
|
||||
emits("handleChange", data);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.zj-packageSelect-wrap {
|
||||
::v-deep .el-select {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -18,6 +18,7 @@ import MarkdownEdit from "./MarkdownEdit/index.vue";
|
||||
import FileUpload from "./FileUpload/index.vue";
|
||||
import Date from "./Date/index.vue";
|
||||
import Empty from "./Empty/index.vue";
|
||||
import PackageSelect from "./PackageSelect/index.vue";
|
||||
export {
|
||||
AddressSelect,
|
||||
FrameWork,
|
||||
@ -38,5 +39,6 @@ export {
|
||||
MarkdownEdit,
|
||||
FileUpload,
|
||||
Date,
|
||||
Empty
|
||||
Empty,
|
||||
PackageSelect
|
||||
};
|
||||
|
||||
@ -26,14 +26,14 @@
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
<div class="container-box" v-else>
|
||||
<div v-for="(item, index) in userList" :key="item.id">
|
||||
<div v-for="item in userList" :key="item.id">
|
||||
<div v-if="checkList.includes(item.nodeId)">
|
||||
<el-divider content-position="left">{{ item.nodeName }}</el-divider>
|
||||
<template v-if="Array.isArray(item.userList)">
|
||||
<div class="reloBox" v-for="items in item.userList">
|
||||
<div class="reloBox" v-for="(items,idx) in item.userList" :key="idx">
|
||||
<div class="orgName">{{ items.name }}</div>
|
||||
<el-checkbox-group v-model="items.checkList">
|
||||
<el-checkbox :label="it.userid" v-for="(it, index) in items.users" :key="it.id">{{
|
||||
<el-checkbox :label="it.userid" v-for="it in items.users" :key="it.id">{{
|
||||
it.username }}</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</div>
|
||||
|
||||
@ -21,8 +21,13 @@
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
<SelectingPeople v-model="showDialog" :createProcess="createProcess" @close="close" :radioData="radioData"
|
||||
:path="path" @getList="emit('getList')" :userData="userData" />
|
||||
<SelectingPeople
|
||||
v-model="showDialog"
|
||||
:createProcess="createProcess"
|
||||
@close="close" :radioData="radioData"
|
||||
:path="path"
|
||||
@getList="emit('getList')"
|
||||
:userData="userData" />
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
||||
@ -329,6 +329,7 @@ export const publicRoutes = [
|
||||
icon: "article-create"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
path: "/marksControl",
|
||||
name: "marksControl",
|
||||
@ -338,6 +339,18 @@ export const publicRoutes = [
|
||||
icon: "article-create"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
path: "/ReviewListControl",
|
||||
name: "ReviewListControl",
|
||||
component: () => import("@/views/backOfficeSystem/IntelligentControl/ReviewListControl/index"),
|
||||
meta: {
|
||||
title: "审核列表",
|
||||
icon: "article-create"
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
// {
|
||||
// path: "/DeploymentAudit",
|
||||
// name: "DeploymentAudit",
|
||||
|
||||
@ -92,6 +92,7 @@ export default {
|
||||
this.commit("user/setUserName", data.userName);
|
||||
setItem('isOatuh', 0)
|
||||
setItem('fzUserId', data.fzUserId)
|
||||
setItem('inDustRialId', data.inDustRialId)
|
||||
setItem("USERNAME", data.userName);
|
||||
setItem("roleList", data.sysRole ? data.sysRole : []);
|
||||
setItem("SFRH", data.sfrh);
|
||||
@ -132,6 +133,7 @@ export default {
|
||||
this.commit("user/setUserName", data.userName);
|
||||
setItem("USERNAME", data.userName);
|
||||
setItem('fzUserId', data.fzUserId)
|
||||
setItem('inDustRialId', data.inDustRialId)
|
||||
setItem("SFRH", data.sfrh);
|
||||
setItem("USERID", data.userId);
|
||||
setItem("PermissionsInfo", data.permissionsInfo);
|
||||
|
||||
@ -0,0 +1,115 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-model="visible"
|
||||
title="审核"
|
||||
width="500px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
>
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="formData"
|
||||
:rules="formRules"
|
||||
label-width="140px"
|
||||
>
|
||||
<el-form-item label="是否通过" prop="sftg">
|
||||
<el-radio-group v-model="formData.sftg">
|
||||
<el-radio
|
||||
v-for="item in D_BZ_SF"
|
||||
:key="item.value"
|
||||
:label="item.value"
|
||||
>
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="formData.sftg === '0'"
|
||||
label="不通过原因"
|
||||
prop="bkspBtgyy"
|
||||
>
|
||||
<el-input
|
||||
v-model="formData.bkspBtgyy"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
placeholder="请输入布控审批不通过原因"
|
||||
maxlength="200"
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div style="text-align: center;">
|
||||
<el-button @click="handleCancel">取消</el-button>
|
||||
<el-button type="primary" @click="handleSubmit" :loading="loading">
|
||||
提交
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, reactive, getCurrentInstance } from "vue";
|
||||
import { qcckPost } from "@/api/qcckApi.js";
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
const { D_BZ_SF } = proxy.$dict("D_BZ_SF");
|
||||
|
||||
const visible = ref(false);
|
||||
const loading = ref(false);
|
||||
const formRef = ref();
|
||||
const currentRow = ref(null);
|
||||
|
||||
const formData = reactive({
|
||||
sftg: "",
|
||||
bkspBtgyy: ""
|
||||
});
|
||||
|
||||
const formRules = {
|
||||
sftg: [{ required: true, message: "请选择是否通过", trigger: "change" }],
|
||||
bkspBtgyy: [
|
||||
{ required: true, message: "请输入布控审批不通过原因", trigger: "blur" }
|
||||
]
|
||||
};
|
||||
|
||||
const emit = defineEmits(["success"]);
|
||||
|
||||
const open = (row) => {
|
||||
currentRow.value = row;
|
||||
formData.sftg = "";
|
||||
formData.bkspBtgyy = "";
|
||||
visible.value = true;
|
||||
};
|
||||
|
||||
const handleCancel = () => {
|
||||
visible.value = false;
|
||||
};
|
||||
|
||||
const handleSubmit = () => {
|
||||
formRef.value.validate((valid)=>{
|
||||
if(!valid) return;
|
||||
loading.value = true;
|
||||
const params = {
|
||||
id: currentRow.value.id,
|
||||
sftg: formData.sftg,
|
||||
bkspBtgyy: formData.sftg === "0" ? formData.bkspBtgyy : ""
|
||||
};
|
||||
qcckPost(params, "/mosty-gsxt/tbGsxtBk/audits").then(() => {
|
||||
loading.value = false;
|
||||
proxy.$message({ type: "success", message: "审核成功" });
|
||||
visible.value = false;
|
||||
emit("success");
|
||||
}).catch(()=>{
|
||||
loading.value = false;
|
||||
});
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
defineExpose({ open });
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
||||
@ -0,0 +1,78 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-model="visible"
|
||||
title="布控详情"
|
||||
width="800px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
>
|
||||
<el-descriptions :column="2" border v-if="detailData">
|
||||
<el-descriptions-item label="布控对象" :span="2">
|
||||
<span v-if="detailData.bkdxList && detailData.bkdxList.length">
|
||||
<span v-for="(it, idx) in detailData.bkdxList" :key="idx">
|
||||
{{ it.ryXm || it.imei || it.imsi || '-' }}
|
||||
<span v-if="idx < detailData.bkdxList.length - 1">、</span>
|
||||
</span>
|
||||
</span>
|
||||
<span v-else>暂无</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="布控类型">
|
||||
<DictTag :value="detailData.bkDx" :tag="false" :options="D_GS_BK_NEWDX" />
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="布控等级">
|
||||
<DictTag :value="detailData.bkDj" :tag="false" :options="D_GS_SSYJ" />
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="开始时间">
|
||||
{{ detailData.bkSjKs || '-' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="结束时间">
|
||||
{{ detailData.bkSjJs || '-' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="申请人">
|
||||
{{ detailData.bkfqrXm || '-' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="布控状态">
|
||||
<DictTag :value="detailData.bkZt" :tag="false" :options="D_GS_BK_ZT" />
|
||||
</el-descriptions-item>
|
||||
<!-- <el-descriptions-item label="不通过原因">
|
||||
{{ detailData.bkspBtgyy || '-' }}
|
||||
</el-descriptions-item> -->
|
||||
</el-descriptions>
|
||||
<template #footer>
|
||||
<el-button @click="visible = false">关闭</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, getCurrentInstance } from "vue";
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
const {
|
||||
D_GS_BK_ZT,
|
||||
D_GS_SSYJ,
|
||||
D_GS_BK_NEWDX
|
||||
} = proxy.$dict(
|
||||
"D_GS_BK_ZT",
|
||||
"D_GS_SSYJ",
|
||||
"D_GS_BK_NEWDX"
|
||||
);
|
||||
|
||||
const visible = ref(false);
|
||||
const detailData = ref(null);
|
||||
|
||||
const open = (row) => {
|
||||
detailData.value = row;
|
||||
visible.value = true;
|
||||
};
|
||||
|
||||
defineExpose({ open });
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
:deep(.el-descriptions__label) {
|
||||
width: 120px;
|
||||
font-weight: 600;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,116 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-model="visible"
|
||||
title="审核"
|
||||
width="500px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
>
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="formData"
|
||||
:rules="formRules"
|
||||
label-width="140px"
|
||||
>
|
||||
<el-form-item label="是否通过" prop="sftg">
|
||||
<el-radio-group v-model="formData.sftg">
|
||||
<el-radio
|
||||
v-for="item in D_BZ_SF"
|
||||
:key="item.value"
|
||||
:label="item.value"
|
||||
>
|
||||
{{ item.label }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="formData.sftg === '0'"
|
||||
label="不通过原因"
|
||||
prop="bkspBtgyy"
|
||||
>
|
||||
<el-input
|
||||
v-model="formData.bkspBtgyy"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
placeholder="请输入审核不通过原因"
|
||||
maxlength="200"
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div style="text-align: center;">
|
||||
<el-button @click="handleCancel">取消</el-button>
|
||||
<el-button type="primary" @click="handleSubmit" :loading="loading">
|
||||
提交
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, reactive, getCurrentInstance } from "vue";
|
||||
import { qcckPost } from "@/api/qcckApi.js";
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
const { D_BZ_SF } = proxy.$dict("D_BZ_SF");
|
||||
|
||||
const visible = ref(false);
|
||||
const loading = ref(false);
|
||||
const formRef = ref();
|
||||
const currentRow = ref(null);
|
||||
|
||||
const formData = reactive({
|
||||
sftg: "",
|
||||
bkspBtgyy: ""
|
||||
});
|
||||
|
||||
const formRules = {
|
||||
sftg: [{ required: true, message: "请选择是否通过", trigger: "change" }],
|
||||
bkspBtgyy: [
|
||||
{ required: true, message: "请输入审核不通过原因", trigger: "blur" }
|
||||
]
|
||||
};
|
||||
|
||||
const emit = defineEmits(["success"]);
|
||||
|
||||
const open = (row) => {
|
||||
currentRow.value = row;
|
||||
formData.sftg = "";
|
||||
formData.bkspBtgyy = "";
|
||||
visible.value = true;
|
||||
};
|
||||
|
||||
const handleCancel = () => {
|
||||
visible.value = false;
|
||||
};
|
||||
|
||||
const handleSubmit = () => {
|
||||
formRef.value.validate((valid) => {
|
||||
if (!valid) return;
|
||||
loading.value = true;
|
||||
const params = {
|
||||
id: currentRow.value.id,
|
||||
sftg: formData.sftg,
|
||||
bkspBtgyy: formData.sftg === "0" ? formData.bkspBtgyy : ""
|
||||
};
|
||||
qcckPost(params, "/mosty-gsxt/gsxt/bqbk/audits")
|
||||
.then(() => {
|
||||
loading.value = false;
|
||||
proxy.$message({ type: "success", message: "审核成功" });
|
||||
visible.value = false;
|
||||
emit("success");
|
||||
})
|
||||
.catch(() => {
|
||||
loading.value = false;
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
defineExpose({ open });
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
||||
@ -0,0 +1,55 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-model="visible"
|
||||
title="标签详情"
|
||||
width="600px"
|
||||
:close-on-click-modal="false"
|
||||
destroy-on-close
|
||||
>
|
||||
<el-descriptions :column="1" border v-if="detailData">
|
||||
<el-descriptions-item label="布控标签">
|
||||
{{ detailData.bqmc || '-' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="标签代码">
|
||||
{{ detailData.bqdm || '-' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="标签颜色">
|
||||
<DictTag :tag="false" :value="detailData.bqys" :options="D_GS_SSYJ" />
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="标签描述">
|
||||
{{ detailData.bqsm || '-' }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审核状态">
|
||||
<DictTag :value="detailData.shzt" :tag="false" :options="D_GS_BK_ZT" />
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<template #footer>
|
||||
<div class="tc">
|
||||
<el-button @click="visible = false">关闭</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, getCurrentInstance } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_GS_SSYJ,D_GS_BK_ZT } = proxy.$dict("D_GS_SSYJ","D_GS_BK_ZT"); //获取字典数据
|
||||
|
||||
const visible = ref(false);
|
||||
const detailData = ref(null);
|
||||
|
||||
const open = (row) => {
|
||||
detailData.value = row;
|
||||
visible.value = true;
|
||||
};
|
||||
|
||||
defineExpose({ open });
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
:deep(.el-descriptions__label) {
|
||||
width: 120px;
|
||||
font-weight: 600;
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,204 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- 搜索 -->
|
||||
<div ref="searchBox" class="mt10 mb10">
|
||||
<QueryFormPanel
|
||||
v-model="queryFrom"
|
||||
:fields="searchConfiger"
|
||||
ref="searchDom"
|
||||
@search="onSearch"
|
||||
>
|
||||
<!-- <template #but>
|
||||
<el-button type="primary" size="small" @click="exportExl"
|
||||
>批量导出</el-button
|
||||
>
|
||||
</template> -->
|
||||
</QueryFormPanel>
|
||||
</div>
|
||||
<!-- 表格 -->
|
||||
<div style="background-color: #fff">
|
||||
<MyTable
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:tableData="pageData.tableData"
|
||||
:tableColumn="pageData.tableColumn"
|
||||
:controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="handleChooseData"
|
||||
>
|
||||
<template #bqys="{ row }">
|
||||
<DictTag :tag="false" :value="row.bqys" :options="D_GS_SSYJ" />
|
||||
</template>
|
||||
<template #shzt="{ row }">
|
||||
<DictTag :value="row.shzt" :tag="false" :options="D_GS_BK_ZT" />
|
||||
</template>
|
||||
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="handleDetail(row)">详情</el-link>
|
||||
<el-link type="success" @click="handleApprove(row)" v-if="row.shzt === '02'">审核</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages
|
||||
@changeNo="changeNo"
|
||||
@changeSize="changeSize"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:pageConfiger="{
|
||||
...pageData.pageConfiger,
|
||||
total: pageData.total
|
||||
}"
|
||||
></Pages>
|
||||
</div>
|
||||
<!-- 详情弹窗 -->
|
||||
<LabelDetailDialog ref="detailDialogRef" />
|
||||
<!-- 审核弹窗 -->
|
||||
<LabelApproveDialog ref="approveDialogRef" @success="getList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { getMultiDictVal } from "@/utils/dict.js";
|
||||
import { exportExlByObj } from "@/utils/exportExcel.js";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import QueryFormPanel from "@/views/backOfficeSystem/ces/components/QueryFormPanel.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import LabelDetailDialog from "./LabelDetailDialog.vue";
|
||||
import LabelApproveDialog from "./LabelApproveDialog.vue";
|
||||
import { qcckGet } from "@/api/qcckApi.js";
|
||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
const { D_GS_SSYJ,D_GS_BK_ZT } = proxy.$dict("D_GS_SSYJ","D_GS_BK_ZT");
|
||||
|
||||
const searchBox = ref();
|
||||
const searchConfiger = ref([
|
||||
{
|
||||
key: "bqmc",
|
||||
label: "标签名称",
|
||||
type: "input",
|
||||
placeholder: "请输入标签名称"
|
||||
},
|
||||
{
|
||||
key: "bqys",
|
||||
label: "标签颜色",
|
||||
type: "select",
|
||||
options: D_GS_SSYJ,
|
||||
placeholder: "请选择标签颜色"
|
||||
}
|
||||
]);
|
||||
|
||||
const queryFrom = ref({});
|
||||
const detailDialogRef = ref();
|
||||
const approveDialogRef = ref();
|
||||
const pageData = reactive({
|
||||
tableData: [],
|
||||
keyCount: 0,
|
||||
tableConfiger: {
|
||||
rowHeight: 61,
|
||||
showSelectType: "checkBox",
|
||||
loading: false,
|
||||
haveControls: true,
|
||||
showIndex: true
|
||||
},
|
||||
total: 0,
|
||||
pageConfiger: {
|
||||
pageSize: 10,
|
||||
pageCurrent: 1
|
||||
},
|
||||
controlsWidth: 150,
|
||||
tableColumn: [
|
||||
{ prop: "bqmc", label: "布控标签"},
|
||||
{ prop: "bqdm", label: "标签代码" },
|
||||
{ prop: "bqys", label: "标签颜色", align: "center", showSolt: true },
|
||||
{ prop: "bqsm", label: "标签描述", align: "center" },
|
||||
{ prop: "shzt", label: "审核状态", align: "center",showSolt: true }
|
||||
]
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
tabHeightFn();
|
||||
getList();
|
||||
});
|
||||
|
||||
// 搜索
|
||||
const onSearch = (val) => {
|
||||
queryFrom.value = { ...val };
|
||||
pageData.pageConfiger.pageCurrent = 1;
|
||||
getList();
|
||||
};
|
||||
|
||||
const changeNo = (val) => {
|
||||
pageData.pageConfiger.pageCurrent = val;
|
||||
getList();
|
||||
};
|
||||
|
||||
const changeSize = (val) => {
|
||||
pageData.pageConfiger.pageSize = val;
|
||||
getList();
|
||||
};
|
||||
|
||||
const getList = () => {
|
||||
pageData.tableConfiger.loading = true;
|
||||
const params = {
|
||||
...queryFrom.value,
|
||||
pageCurrent: pageData.pageConfiger.pageCurrent,
|
||||
pageSize: pageData.pageConfiger.pageSize
|
||||
};
|
||||
qcckGet(params, "/mosty-gsxt/gsxt/bqbk/getPageWaitList")
|
||||
.then((res) => {
|
||||
pageData.total = res?.total || 0;
|
||||
pageData.tableConfiger.loading = false;
|
||||
pageData.tableData = res?.records || [];
|
||||
})
|
||||
.catch(() => {
|
||||
pageData.tableConfiger.loading = false;
|
||||
});
|
||||
};
|
||||
|
||||
// 选中项
|
||||
const selectRows = ref([]);
|
||||
const handleChooseData = (val) => {
|
||||
selectRows.value = val;
|
||||
};
|
||||
|
||||
// 导出
|
||||
const exportExl = () => {
|
||||
const titleObj = {
|
||||
index: "序号",
|
||||
bqmc: "布控标签",
|
||||
bqdm: "标签代码",
|
||||
bqys_name: "标签颜色",
|
||||
bqsm: "标签描述",
|
||||
};
|
||||
const needArr = selectRows.value?.length > 0 ? selectRows.value : pageData.tableData;
|
||||
const data = needArr.map((item, index) => {
|
||||
return {
|
||||
index: index + 1,
|
||||
bqys_name: getMultiDictVal(item.bqys, D_GS_SSYJ),
|
||||
...item
|
||||
};
|
||||
});
|
||||
exportExlByObj(titleObj, data, "标签待审核列表");
|
||||
};
|
||||
|
||||
// 详情
|
||||
const handleDetail = (row) => {
|
||||
detailDialogRef.value.open(row);
|
||||
};
|
||||
|
||||
// 审核
|
||||
const handleApprove = (row) => {
|
||||
approveDialogRef.value.open(row);
|
||||
};
|
||||
|
||||
// 表格高度计算
|
||||
const tabHeightFn = () => {
|
||||
const searchHeight = searchBox.value?.offsetHeight || 60;
|
||||
pageData.tableHeight = window.innerHeight - searchHeight - 230;
|
||||
window.onresize = function () {
|
||||
tabHeightFn();
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
||||
@ -0,0 +1,249 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- 搜索 -->
|
||||
<div ref="searchBox" class="mt10 mb10">
|
||||
<QueryFormPanel
|
||||
v-model="queryFrom"
|
||||
:searchArr="searchConfiger"
|
||||
ref="searchDom"
|
||||
@search="onSearch"
|
||||
>
|
||||
<!-- <template #but>
|
||||
<el-button type="primary" size="small" @click="exportExl"
|
||||
>批量导出</el-button
|
||||
>
|
||||
</template> -->
|
||||
</QueryFormPanel>
|
||||
</div>
|
||||
<!-- 表格 -->
|
||||
<div style="background-color: #fff">
|
||||
<MyTable
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:tableData="pageData.tableData"
|
||||
:tableColumn="pageData.tableColumn"
|
||||
:controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="handleChooseData"
|
||||
:key="pageData.keyCount"
|
||||
>
|
||||
|
||||
<template #bkZt="{ row }">
|
||||
<DictTag :tag="false" :value="row.bkZt" :options="D_GS_BK_ZT" />
|
||||
</template>
|
||||
<template #bkDj="{ row }">
|
||||
<DictTag :tag="false" :value="row.bkDj" :options="D_GS_SSYJ"/>
|
||||
</template>
|
||||
<template #bkDx="{ row }">
|
||||
<DictTag :tag="false" :value="row.bkDx" :options="D_GS_BK_NEWDX" />
|
||||
</template>
|
||||
<template #bkdxList="{ row }">
|
||||
<span v-if="row.bkdxList"><span class="nowrap" v-for="(it, idx) in row.bkdxList" :key="idx">
|
||||
{{ it.ryXm ? it.ryXm : it.imei ? it.imei : it.imsi ? it.imsi : '' }}
|
||||
<span v-if="idx < row.bkdxList.length - 1">、</span></span></span>
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="handleDetail(row)">详情</el-link>
|
||||
<el-link type="success" @click="handleApprove(row)" v-if="row.bkZt == '02'">审核</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages
|
||||
@changeNo="changeNo"
|
||||
@changeSize="changeSize"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:pageConfiger="{
|
||||
...pageData.pageConfiger,
|
||||
total: pageData.total
|
||||
}"
|
||||
></Pages>
|
||||
</div>
|
||||
<!-- 详情弹窗 -->
|
||||
<DetailDialog ref="detailDialogRef" />
|
||||
<!-- 审核弹窗 -->
|
||||
<ApproveDialog ref="approveDialogRef" @success="getList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { getMultiDictVal } from "@/utils/dict.js";
|
||||
import { exportExlByObj } from "@/utils/exportExcel.js";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import QueryFormPanel from "@/views/backOfficeSystem/ces/components/QueryFormPanel.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import DetailDialog from "./DetailDialog.vue";
|
||||
import ApproveDialog from "./ApproveDialog.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_YZ, D_GS_BK_ZT, D_GS_SSYJ, D_GS_BK_NEWDX } = proxy.$dict( "D_GS_BK_DJ", "D_GS_BK_YZ", "D_GS_BK_ZT", "D_GS_SSYJ", "D_GS_BK_NEWDX" );
|
||||
|
||||
const searchBox = ref();
|
||||
const searchConfiger = ref([
|
||||
{
|
||||
key: "bkDj",
|
||||
label: "布控等级",
|
||||
type: "select",
|
||||
options: D_GS_SSYJ,
|
||||
placeholder: "请选择布控等级"
|
||||
},
|
||||
{
|
||||
label: "布控类型",
|
||||
prop: "bkDx",
|
||||
placeholder: "请选择布控类型",
|
||||
showType: "select",
|
||||
options: D_GS_BK_NEWDX
|
||||
},
|
||||
{
|
||||
label: "布控状态",
|
||||
prop: "bkZt",
|
||||
placeholder: "请选择布控状态",
|
||||
showType: "select",
|
||||
options: D_GS_BK_ZT
|
||||
},
|
||||
{
|
||||
label: "布控时间",
|
||||
prop: "startTime",
|
||||
placeholder: "请选择布控时间",
|
||||
showType: "datetimerange",
|
||||
}, {
|
||||
label: "布控部门",
|
||||
prop: "bkfqrSsbmdm",
|
||||
placeholder: "请选择布控部门",
|
||||
showType: "department",
|
||||
},
|
||||
]);
|
||||
|
||||
const queryFrom = ref({});
|
||||
const detailDialogRef = ref();
|
||||
const approveDialogRef = ref();
|
||||
const pageData = reactive({
|
||||
tableData: [],
|
||||
keyCount: 0,
|
||||
tableConfiger: {
|
||||
rowHeight: 61,
|
||||
showSelectType: "checkBox",
|
||||
loading: false,
|
||||
haveControls: true,
|
||||
showIndex: true
|
||||
},
|
||||
total: 0,
|
||||
pageConfiger: {
|
||||
pageSize: 10,
|
||||
pageCurrent: 1
|
||||
},
|
||||
controlsWidth: 200,
|
||||
tableColumn: [
|
||||
{ label: "布控对象", prop: "bkdxList", showSolt: true, showOverflowTooltip: true },
|
||||
{ label: "布控类型", prop: "bkDx", showSolt: true, showOverflowTooltip: true },
|
||||
{ label: "布控等级", prop: "bkDj", showSolt: true },
|
||||
{ label: "开始时间", prop: "bkSjKs", showOverflowTooltip: true },
|
||||
{ label: "结束时间", prop: "bkSjJs", showOverflowTooltip: true },
|
||||
{ label: "申请人", prop: "bkfqrXm" },
|
||||
{ label: "布控状态", prop: "bkZt", showSolt: true },
|
||||
]
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
tabHeightFn();
|
||||
getList();
|
||||
});
|
||||
|
||||
// 搜索
|
||||
const onSearch = (val) => {
|
||||
queryFrom.value = { ...val };
|
||||
pageData.pageConfiger.pageCurrent = 1;
|
||||
getList();
|
||||
};
|
||||
|
||||
const changeNo = (val) => {
|
||||
pageData.pageConfiger.pageCurrent = val;
|
||||
getList();
|
||||
};
|
||||
|
||||
const changeSize = (val) => {
|
||||
pageData.pageConfiger.pageSize = val;
|
||||
getList();
|
||||
};
|
||||
|
||||
const getList = () => {
|
||||
pageData.tableConfiger.loading = true;
|
||||
const params = {
|
||||
...queryFrom.value,
|
||||
pageCurrent: pageData.pageConfiger.pageCurrent,
|
||||
pageSize: pageData.pageConfiger.pageSize,
|
||||
bklx: "01" // 常态布控
|
||||
};
|
||||
qcckGet(params, "/mosty-gsxt/tbGsxtBk/selectWaitPage")
|
||||
.then((res) => {
|
||||
pageData.total = res?.total || 0;
|
||||
pageData.tableConfiger.loading = false;
|
||||
pageData.tableData = res?.records || [];
|
||||
})
|
||||
.catch(() => {
|
||||
pageData.tableConfiger.loading = false;
|
||||
});
|
||||
};
|
||||
|
||||
// 选中项
|
||||
const selectRows = ref([]);
|
||||
const handleChooseData = (val) => {
|
||||
selectRows.value = val;
|
||||
};
|
||||
|
||||
// 导出
|
||||
const exportExl = () => {
|
||||
const titleObj = {
|
||||
index: "序号",
|
||||
bkbt: "布控标题",
|
||||
bkdj_name: "布控等级",
|
||||
byz_name: "布控要旨",
|
||||
qyzt_name: "布控状态"
|
||||
};
|
||||
const needArr = selectRows.value?.length > 0 ? selectRows.value : pageData.tableData;
|
||||
const data = needArr.map((item, index) => {
|
||||
return {
|
||||
index: index + 1,
|
||||
bkdj_name: getMultiDictVal(item.bkdj, D_GS_BK_DJ),
|
||||
byz_name: getMultiDictVal(item.byz, D_GS_BK_YZ),
|
||||
qyzt_name: getMultiDictVal(item.qyzt, D_GS_BK_ZT),
|
||||
...item
|
||||
};
|
||||
});
|
||||
exportExlByObj(titleObj, data, "常态审核列表");
|
||||
};
|
||||
|
||||
// 详情
|
||||
const handleDetail = (row) => {
|
||||
detailDialogRef.value.open(row);
|
||||
};
|
||||
|
||||
// 送审
|
||||
const handleSubmit = (row) => {
|
||||
proxy.$confirm("是否确定送审该布控?", "送审确认", { type: "warning" })
|
||||
.then(() => {
|
||||
qcckPost({}, `/mosty-gsxt/tbGsxtBk/subExamine/${row.id}`)
|
||||
.then(() => {
|
||||
proxy.$message({ type: "success", message: "送审成功" });
|
||||
getList();
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
// 审核
|
||||
const handleApprove = (row) => {
|
||||
approveDialogRef.value.open(row);
|
||||
};
|
||||
|
||||
// 表格高度计算
|
||||
const tabHeightFn = () => {
|
||||
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 220;
|
||||
window.onresize = function () {
|
||||
tabHeightFn();
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
||||
@ -0,0 +1,238 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- 搜索 -->
|
||||
<div ref="searchBox" class="mt10 mb10">
|
||||
<QueryFormPanel
|
||||
v-model="queryFrom"
|
||||
:fields="searchConfiger"
|
||||
ref="searchDom"
|
||||
@search="onSearch"
|
||||
>
|
||||
<!-- <template #but>
|
||||
<el-button type="primary" size="small" @click="exportExl"
|
||||
>批量导出</el-button
|
||||
>
|
||||
</template> -->
|
||||
</QueryFormPanel>
|
||||
</div>
|
||||
<!-- 表格 -->
|
||||
<div style="background-color: #fff">
|
||||
<MyTable
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:tableData="pageData.tableData"
|
||||
:tableColumn="pageData.tableColumn"
|
||||
:controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="handleChooseData"
|
||||
>
|
||||
<template #bkdj="{ row }">
|
||||
<DictTag :value="row.bkdj" :tag="false" :options="D_GS_BK_DJ" />
|
||||
</template>
|
||||
<template #byz="{ row }">
|
||||
<DictTag :value="row.byz" :tag="false" :options="D_GS_BK_YZ" />
|
||||
</template>
|
||||
<template #qyzt="{ row }">
|
||||
<DictTag :value="row.qyzt" :tag="false" :options="D_GS_BK_ZT" />
|
||||
</template>
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" @click="handleDetail(row)">详情</el-link>
|
||||
<el-link type="success" @click="handleApprove(row)" v-if="row.bkZt == '02'">审核</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages
|
||||
@changeNo="changeNo"
|
||||
@changeSize="changeSize"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:pageConfiger="{
|
||||
...pageData.pageConfiger,
|
||||
total: pageData.total
|
||||
}"
|
||||
></Pages>
|
||||
</div>
|
||||
<!-- 详情弹窗 -->
|
||||
<DetailDialog ref="detailDialogRef" />
|
||||
<!-- 审核弹窗 -->
|
||||
<ApproveDialog ref="approveDialogRef" @success="getList" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { getMultiDictVal } from "@/utils/dict.js";
|
||||
import { exportExlByObj } from "@/utils/exportExcel.js";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import QueryFormPanel from "@/views/backOfficeSystem/ces/components/QueryFormPanel.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import DetailDialog from "./DetailDialog.vue";
|
||||
import ApproveDialog from "./ApproveDialog.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_YZ,
|
||||
D_GS_BK_ZT,
|
||||
D_BZ_JQDJ
|
||||
} = proxy.$dict(
|
||||
"D_GS_BK_DJ",
|
||||
"D_GS_BK_YZ",
|
||||
"D_GS_BK_ZT",
|
||||
'D_BZ_JQDJ'
|
||||
);
|
||||
|
||||
const searchBox = ref();
|
||||
const searchConfiger = ref([
|
||||
{
|
||||
key: "bkDj",
|
||||
label: "布控等级",
|
||||
type: "select",
|
||||
options: D_BZ_JQDJ,
|
||||
placeholder: "请选择布控等级"
|
||||
},
|
||||
{
|
||||
label: "布控类型",
|
||||
prop: "bkDx",
|
||||
placeholder: "请选择布控类型",
|
||||
showType: "select",
|
||||
options: D_GS_BK_NEWDX
|
||||
},
|
||||
{
|
||||
label: "布控状态",
|
||||
prop: "bkZt",
|
||||
placeholder: "请选择布控状态",
|
||||
showType: "select",
|
||||
options: D_GS_BK_ZT
|
||||
},
|
||||
{
|
||||
label: "布控时间",
|
||||
prop: "startTime",
|
||||
placeholder: "请选择布控时间",
|
||||
showType: "datetimerange",
|
||||
}, {
|
||||
label: "布控部门",
|
||||
prop: "bkfqrSsbmdm",
|
||||
placeholder: "请选择布控部门",
|
||||
showType: "department",
|
||||
},
|
||||
]);
|
||||
|
||||
const queryFrom = ref({});
|
||||
const detailDialogRef = ref();
|
||||
const approveDialogRef = ref();
|
||||
const pageData = reactive({
|
||||
tableData: [],
|
||||
keyCount: 0,
|
||||
tableConfiger: {
|
||||
rowHeight: 61,
|
||||
showSelectType: "checkBox",
|
||||
loading: false,
|
||||
haveControls: true,
|
||||
showIndex: true
|
||||
},
|
||||
total: 0,
|
||||
pageConfiger: {
|
||||
pageSize: 10,
|
||||
pageCurrent: 1
|
||||
},
|
||||
controlsWidth: 200,
|
||||
tableColumn: [
|
||||
{ prop: "bkbt", label: "布控标题" },
|
||||
{ prop: "bkdj", label: "布控等级", align: "center", showSolt: true },
|
||||
{ prop: "byz", label: "布控要旨", align: "center", showSolt: true },
|
||||
{ prop: "qyzt", label: "布控状态", align: "center", showSolt: true }
|
||||
]
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
tabHeightFn();
|
||||
getList();
|
||||
});
|
||||
|
||||
// 搜索
|
||||
const onSearch = (val) => {
|
||||
queryFrom.value = { ...val };
|
||||
pageData.pageConfiger.pageCurrent = 1;
|
||||
getList();
|
||||
};
|
||||
|
||||
const changeNo = (val) => {
|
||||
pageData.pageConfiger.pageCurrent = val;
|
||||
getList();
|
||||
};
|
||||
|
||||
const changeSize = (val) => {
|
||||
pageData.pageConfiger.pageSize = val;
|
||||
getList();
|
||||
};
|
||||
|
||||
const getList = () => {
|
||||
pageData.tableConfiger.loading = true;
|
||||
const params = {
|
||||
...queryFrom.value,
|
||||
pageCurrent: pageData.pageConfiger.pageCurrent,
|
||||
pageSize: pageData.pageConfiger.pageSize,
|
||||
bklx: "02" // 临时布控
|
||||
};
|
||||
qcckGet(params, "/mosty-gsxt/tbGsxtBk/selectWaitPage")
|
||||
.then((res) => {
|
||||
pageData.total = res?.total || 0;
|
||||
pageData.tableConfiger.loading = false;
|
||||
pageData.tableData = res?.records || [];
|
||||
})
|
||||
.catch(() => {
|
||||
pageData.tableConfiger.loading = false;
|
||||
});
|
||||
};
|
||||
|
||||
// 选中项
|
||||
const selectRows = ref([]);
|
||||
const handleChooseData = (val) => {
|
||||
selectRows.value = val;
|
||||
};
|
||||
|
||||
// 导出
|
||||
const exportExl = () => {
|
||||
const titleObj = {
|
||||
index: "序号",
|
||||
bkbt: "布控标题",
|
||||
bkdj_name: "布控等级",
|
||||
byz_name: "布控要旨",
|
||||
qyzt_name: "布控状态"
|
||||
};
|
||||
const needArr = selectRows.value?.length > 0 ? selectRows.value : pageData.tableData;
|
||||
const data = needArr.map((item, index) => {
|
||||
return {
|
||||
index: index + 1,
|
||||
bkdj_name: getMultiDictVal(item.bkdj, D_GS_BK_DJ),
|
||||
byz_name: getMultiDictVal(item.byz, D_GS_BK_YZ),
|
||||
qyzt_name: getMultiDictVal(item.qyzt, D_GS_BK_ZT),
|
||||
...item
|
||||
};
|
||||
});
|
||||
exportExlByObj(titleObj, data, "临时审核列表");
|
||||
};
|
||||
|
||||
// 详情
|
||||
const handleDetail = (row) => {
|
||||
detailDialogRef.value.open(row);
|
||||
};
|
||||
|
||||
|
||||
// 审核
|
||||
const handleApprove = (row) => {
|
||||
approveDialogRef.value.open(row);
|
||||
};
|
||||
|
||||
// 表格高度计算
|
||||
const tabHeightFn = () => {
|
||||
const searchHeight = searchBox.value?.offsetHeight || 60;
|
||||
pageData.tableHeight = window.innerHeight - searchHeight - 230;
|
||||
window.onresize = function () {
|
||||
tabHeightFn();
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
||||
@ -0,0 +1,37 @@
|
||||
<template>
|
||||
<div>
|
||||
<PageTitle
|
||||
:malginLeft="10"
|
||||
:height="35"
|
||||
backgroundColor="#ffff"
|
||||
:marginBottom="5"
|
||||
:marginTop="5"
|
||||
>
|
||||
<template #left>
|
||||
<template v-for="(item, index) in butList" :key="index">
|
||||
<el-button
|
||||
:type="qh == item ? 'primary' : 'default'"
|
||||
@click="qh = item"
|
||||
size="small"
|
||||
>{{ item }}</el-button
|
||||
>
|
||||
</template>
|
||||
</template>
|
||||
</PageTitle>
|
||||
<NormalReview v-if="qh == '常态审核'" />
|
||||
<TempReview v-if="qh == '临时审核'" />
|
||||
<LabelReview v-if="qh == '标签审核'" />
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
||||
import NormalReview from "./components/NormalReview.vue";
|
||||
import TempReview from "./components/TempReview.vue";
|
||||
import LabelReview from "./components/LabelReview.vue";
|
||||
import { ref, onMounted } from "vue";
|
||||
|
||||
const butList = ref(["常态审核", "临时审核", "标签审核"]);
|
||||
const qh = ref("常态审核");
|
||||
|
||||
onMounted(() => {});
|
||||
</script>
|
||||
@ -24,9 +24,13 @@
|
||||
<template #bqys="{ row }">
|
||||
<DictTag :tag="false" :value="row.bqys" :options="D_GS_SSYJ" />
|
||||
</template>
|
||||
<template #shzt="{ row }">
|
||||
<DictTag :value="row.shzt" :tag="false" :options="D_GS_BK_ZT" />
|
||||
</template>
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link type="primary" size="small" @click="createProcess(row)" v-if="row.shzt!= '03'">发起审批</el-link>
|
||||
<!-- <el-link type="primary" size="small" @click="createProcess(row)" v-if="row.shzt!= '03'">发起审批</el-link> -->
|
||||
<el-link type="primary" size="small" @click="handleSS(row)" v-if="['01', '03', '06'].includes(row.shzt)">送审</el-link>
|
||||
<el-link type="danger" size="small" @click="handleItem('deleite',row)" v-if="row.shzt == '03'">撤控</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
@ -56,7 +60,7 @@ import SubmissionProcess from '@/components/flowPath/submissionProcess.vue'
|
||||
import { qcckGet, qcckPost } from "@/api/qcckApi.js";
|
||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const {D_GS_SSYJ} = proxy.$dict("D_GS_SSYJ"); //获取字典数据
|
||||
const {D_GS_SSYJ,D_GS_BK_ZT} = proxy.$dict("D_GS_SSYJ","D_GS_BK_ZT"); //获取字典数据
|
||||
const searchBox = ref();
|
||||
const addForm = ref()
|
||||
const searchConfiger = ref([
|
||||
@ -94,6 +98,7 @@ const pageData = reactive({
|
||||
{ label: "标签代码", prop: "bqdm" },
|
||||
{ label: "标签颜色", prop: "bqys", showSolt: true },
|
||||
{ label: "标签描述", prop: "bqsm" },
|
||||
{ label: "审核状态", prop: "shzt", showSolt: true }
|
||||
]
|
||||
});
|
||||
onMounted(() => {
|
||||
@ -170,6 +175,25 @@ const createProcess = (row) => {
|
||||
showSp.value = true;
|
||||
rowData.value = row
|
||||
}
|
||||
|
||||
function handleSS (row) {
|
||||
proxy.$confirm('确认送审吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
qcckGet({}, "/mosty-gsxt/gsxt/bqbk/submitApproval/"+row.id).then((res) => {
|
||||
proxy.$message({
|
||||
message: '送审成功',
|
||||
type: 'success'
|
||||
});
|
||||
getList();
|
||||
|
||||
}).catch(() => {
|
||||
pageData.tableConfiger.loading = false;
|
||||
});
|
||||
})
|
||||
}
|
||||
// 表格高度计算
|
||||
const tabHeightFn = () => {
|
||||
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 220;
|
||||
|
||||
@ -10,8 +10,13 @@
|
||||
<!-- 按钮组 -->
|
||||
<!-- 表格 -->
|
||||
<div class="margTop">
|
||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
||||
<MyTable
|
||||
:tableData="pageData.tableData"
|
||||
:tableColumn="pageData.tableColumn"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount"
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
:controlsWidth="pageData.controlsWidth">
|
||||
|
||||
<template #bkZt="{ row }">
|
||||
<DictTag :tag="false" :value="row.bkZt" :options="D_GS_BK_ZT" />
|
||||
@ -28,7 +33,6 @@
|
||||
{{ it.ryXm ? it.ryXm : it.imei ? it.imei : it.imsi ? it.imsi : '' }}
|
||||
<!-- :it.ryXm?it.mac:it.imsi?it.imsi:'xxxx' -->
|
||||
<span v-if="idx < row.bkdxList.length - 1">、</span></span></span>
|
||||
|
||||
<span v-else>暂无</span>
|
||||
</template>
|
||||
<!-- <template #sjrs="{ row }">
|
||||
@ -44,9 +48,15 @@
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<template v-if="!row.gzlid">
|
||||
<el-link type="primary" v-if="['01', '03', '06'].includes(row.bkZt)" size="small"
|
||||
@click="createProcess(row)">送审</el-link>
|
||||
<el-link type="primary" size="small" @click="tbGsxtBkQuashList(row)" v-else>撤控</el-link>
|
||||
<!-- 工作流的送审 -->
|
||||
<!-- <el-link type="primary" v-if="['01', '03', '06'].includes(row.bkZt)" size="small"
|
||||
@click="createProcess(row)">送审</el-link> -->
|
||||
|
||||
<!-- 不走工作流的送审 -->
|
||||
<el-link type="primary" size="small" v-if="['01', '03', '06'].includes(row.bkZt)" @click="hadleSendSH(row)">送审</el-link>
|
||||
|
||||
<el-link type="primary" size="small" @click="tbGsxtBkQuashList(row)" v-if="!!!(['01', '03', '06'].includes(row.bkZt))">撤控</el-link>
|
||||
|
||||
<el-link type="primary" v-if="['01', '03', '06'].includes(row.bkZt)" size="small"
|
||||
@click="handleAdd('edit', row)">编辑</el-link>
|
||||
|
||||
@ -71,9 +81,20 @@
|
||||
}" />
|
||||
<!-- 预警弹窗 -->
|
||||
<YjDialog ref="warningkdxForm"></YjDialog>
|
||||
<SubmissionProcess v-model="showSp" :data="rowData" :userData="{ ajmc: '布控审批', flowType: 'BKSP', modelName: '布控' }"
|
||||
:path="fixedValue" @getList="getList" />
|
||||
<Hzd v-model="hzdVisible" :dataList="dataList" :dict="{D_GS_BK_NEWDX,D_BZ_BKLYS,D_GS_SSYJ,D_BZ_JQDJ,D_GZL_SHZT,D_GS_BK_CZYQ}" :name="route.name" />
|
||||
|
||||
<SubmissionProcess
|
||||
v-model="showSp"
|
||||
:data="rowData"
|
||||
:userData="{ ajmc: '布控审批', flowType: 'BKSP', modelName: '布控' }"
|
||||
:path="fixedValue"
|
||||
@getList="getList"
|
||||
/>
|
||||
<Hzd
|
||||
v-model="hzdVisible"
|
||||
:dataList="dataList"
|
||||
:dict="{D_GS_BK_NEWDX,D_BZ_BKLYS,D_GS_SSYJ,D_BZ_JQDJ,D_GZL_SHZT,D_GS_BK_CZYQ}"
|
||||
:name="route.name"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
@ -88,15 +109,14 @@ import { tbGsxtBkQuash } from '@/api/zdr.js'
|
||||
import { useRouter, useRoute } from 'vue-router'
|
||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||
import Hzd from "./components/dolog/hzd.vue";
|
||||
import { rotate } from "ol/transform";
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_GS_BK_BKYS, D_BZ_XB, D_GS_BK_SJLX, D_GS_SSYJ, BD_BK_CLYJBQ, D_GS_ZDR_YJDJ,
|
||||
D_GS_BK_NEWDX, D_GS_BK_ZT, D_GS_BK_CZYQ, D_GS_BK_CZJSDWLX, D_GS_BK_TJFS, D_BZ_BKLYS,D_GZL_SHZT,
|
||||
D_BZ_JQDJ } = proxy.$dict("D_GS_ZDR_YJDJ", "D_GS_BK_BKYS", "D_BZ_XB", "D_GS_BK_SJLX",
|
||||
D_BZ_JQDJ, D_BZ_SF } = proxy.$dict("D_GS_ZDR_YJDJ", "D_GS_BK_BKYS", "D_BZ_XB", "D_GS_BK_SJLX",
|
||||
"D_GS_SSYJ", "D_GS_BK_NEWDX", "D_GS_BK_ZT", "D_GS_BK_CZYQ", "D_GS_BK_CZJSDWLX", "D_GS_BK_TJFS",'D_GZL_SHZT',
|
||||
'BD_BK_CLYJBQ', 'D_BZ_JQDJ', "D_BZ_BKLYS"); //获取字典数据
|
||||
'BD_BK_CLYJBQ', 'D_BZ_JQDJ', "D_BZ_BKLYS", "D_BZ_SF"); //获取字典数据
|
||||
const addBkdxForm = ref(null); //布控对象组件
|
||||
const warningkdxForm = ref(); //布控对象组件
|
||||
const searchBox = ref(); //搜索框
|
||||
@ -201,18 +221,11 @@ const changeSize = (val) => {
|
||||
// 获取列表
|
||||
const getList = () => {
|
||||
pageData.tableConfiger.loading = true;
|
||||
let bklx = ''
|
||||
|
||||
if (route.name == 'myControl') {
|
||||
bklx = '01'
|
||||
} else {
|
||||
bklx = '02'
|
||||
}
|
||||
let data = {
|
||||
...pageData.pageConfiger,
|
||||
...queryFrom.value,
|
||||
bkcxlx: '01',
|
||||
bklx: bklx
|
||||
bklx: route.name == 'myControl' ? '01' : '02'
|
||||
};
|
||||
qcckGet(data, "/mosty-gsxt/tbGsxtBk/selectPage").then((res) => {
|
||||
pageData.tableData = res.records || [];
|
||||
@ -223,6 +236,44 @@ const getList = () => {
|
||||
});
|
||||
};
|
||||
|
||||
function hadleSendSH (row) {
|
||||
proxy.$confirm("确定要送审吗?", "提示", { type: "warning" }).then(() => {
|
||||
qcckGet({}, '/mosty-gsxt/tbGsxtBk/subExamine/'+row.id).then(res => {
|
||||
proxy.$message({ type: "success", message: "送审成功" });
|
||||
getList();
|
||||
}).catch(() => {
|
||||
proxy.$message({ type: "error", message: "送审失败" });
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
const shForm = ref({
|
||||
id: '',
|
||||
sftg: '',
|
||||
bkshBtgyy: ''
|
||||
})
|
||||
const shFormRef = ref(null)
|
||||
const shFormRules = {
|
||||
sftg: [{ required: true, message: '请选择是否通过', trigger: 'change' }],
|
||||
bkshBtgyy: [{ required: true, message: '请输入布控审核不通过原因', trigger: 'blur' }]
|
||||
}
|
||||
|
||||
// 提交送审
|
||||
const submitSh = () => {
|
||||
try {
|
||||
shFormRef.value.validate(valida=>{
|
||||
if(!valida) return;
|
||||
const params = {...shForm.value }
|
||||
|
||||
})
|
||||
} catch (err) {
|
||||
if (err !== false) {
|
||||
proxy.$message({ type: "error", message: err.message || '送审失败' });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const handleAdd = (type, row) => {
|
||||
addBkdxForm.value.init(type, row);
|
||||
};
|
||||
|
||||
@ -73,6 +73,8 @@
|
||||
<!-- 详情 -->
|
||||
<DetailForm ref="detailDiloag" @updateDate="getList" />
|
||||
<RoomDetail />
|
||||
|
||||
|
||||
<ConferenceRoom v-model="conferenceRoomVisible" titleValue="会议详情" />
|
||||
|
||||
<!-- 音视频会议窗口 -->
|
||||
|
||||
@ -101,91 +101,73 @@
|
||||
<el-button size="small" @click="closeDialog">关闭</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-form class="mosty-from-wrap" ref="elform" :model="dialogForm" :inline="true" label-position="top"
|
||||
:rules="rules">
|
||||
<el-form class="mosty-from-wrap" ref="elform" :model="dialogForm" :inline="true" label-position="top" :rules="rules">
|
||||
<el-form-item label="部门:" prop="ssbmdm">
|
||||
<MOSTY.Department :placeholder="dialogForm.ssbm" width="280px" clearable filterable
|
||||
<MOSTY.Department :placeholder="dialogForm.ssbm" clearable filterable
|
||||
v-model="dialogForm.ssbmdm" />
|
||||
</el-form-item>
|
||||
<el-form-item label="用户昵称:" prop="userName">
|
||||
<MOSTY.Other width="280px" placeholder="请输入用户昵称" clearable v-model="dialogForm.userName" />
|
||||
<MOSTY.Other placeholder="请输入用户昵称" clearable v-model="dialogForm.userName" />
|
||||
</el-form-item>
|
||||
<el-form-item label="登录账号:" prop="loginName">
|
||||
<MOSTY.Other width="280px" placeholder="请输入登录账号" clearable v-model="dialogForm.loginName" />
|
||||
<MOSTY.Other placeholder="请输入登录账号" clearable v-model="dialogForm.loginName" />
|
||||
</el-form-item>
|
||||
<el-form-item label="密码:" v-if="!isEdit" prop="password">
|
||||
<MOSTY.Other width="280px" placeholder="请输入密码" show-password v-model="dialogForm.password" />
|
||||
<MOSTY.Other placeholder="请输入密码" show-password v-model="dialogForm.password" />
|
||||
</el-form-item>
|
||||
<el-form-item label="身份证号" prop="idEntityCard">
|
||||
<MOSTY.IdentityCard width="280px" v-model="dialogForm.idEntityCard" @change="fn" clearable>
|
||||
<MOSTY.IdentityCard v-model="dialogForm.idEntityCard" @change="fn" clearable>
|
||||
</MOSTY.IdentityCard>
|
||||
</el-form-item>
|
||||
<el-form-item label="警号" prop="inDustRialId">
|
||||
<MOSTY.Other width="280px" placeholder="请输入警号" v-model="dialogForm.inDustRialId" />
|
||||
<MOSTY.Other placeholder="请输入警号" v-model="dialogForm.inDustRialId" />
|
||||
</el-form-item>
|
||||
<el-form-item label="岗位选择">
|
||||
<MOSTY.StationSelect width="300px" clearable filterable v-model="dialogForm.positionId" />
|
||||
<MOSTY.StationSelect clearable filterable v-model="dialogForm.positionId" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="用户类型:" prop="userType">
|
||||
<el-select style="width: 100%" v-model="dialogForm.userType" placeholder="请选择用户类型">
|
||||
<el-option v-for="dict in D_BZ_YHLX" :label="dict.label" :value="dict.value" :key="dict.value" />
|
||||
</el-select>
|
||||
<el-form-item label="用户类型:" prop="userType" style="width: 240px;">
|
||||
<MOSTY.Select :dictEnum="D_BZ_YHLX" v-model="dialogForm.userType" clearable/>
|
||||
</el-form-item>
|
||||
<el-form-item label="虚拟用户:" prop="isVirtualUser">
|
||||
<el-select style="width: 100%" v-model="dialogForm.isVirtualUser" placeholder="请选择">
|
||||
<el-option v-for="dict in D_BZ_XNYH" :label="dict.label" :value="dict.value" :key="dict.value" />
|
||||
</el-select>
|
||||
<el-form-item label="虚拟用户:" prop="isVirtualUser" style="width: 240px;">
|
||||
<MOSTY.Select :dictEnum="D_BZ_XNYH" v-model="dialogForm.isVirtualUser" clearable/>
|
||||
</el-form-item>
|
||||
<el-form-item label="电话号码:" prop="telePhone">
|
||||
<MOSTY.Phone width="280px" v-model="dialogForm.telePhone" maxlength="11" clearable></MOSTY.Phone>
|
||||
<MOSTY.Phone v-model="dialogForm.telePhone" maxlength="11" clearable></MOSTY.Phone>
|
||||
</el-form-item>
|
||||
<el-form-item label="移动电话:" prop="mobile">
|
||||
<MOSTY.Phone width="280px" v-model="dialogForm.mobile" maxlength="11" clearable></MOSTY.Phone>
|
||||
<MOSTY.Phone v-model="dialogForm.mobile" maxlength="11" clearable></MOSTY.Phone>
|
||||
</el-form-item>
|
||||
<el-form-item label="民族:" prop="nation">
|
||||
<MOSTY.PackageSelect width="280px" v-model="dialogForm.nation" dictEnum="NATION" clearable filterable />
|
||||
<MOSTY.PackageSelect v-model="dialogForm.nation" dictEnum="NATION" clearable filterable />
|
||||
</el-form-item>
|
||||
<el-form-item label="性别:" prop="sex">
|
||||
<el-select style="width: 100%" v-model="dialogForm.sex" placeholder="请选择性别">
|
||||
<el-option v-for="(item, index) in D_BZ_XB" :key="index" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
<el-form-item label="性别:" prop="sex" style="width: 240px;">
|
||||
<MOSTY.Select :dictEnum="D_BZ_XB" v-model="dialogForm.sex" clearable/>
|
||||
</el-form-item>
|
||||
<el-form-item label="文化程度:" prop="whcd">
|
||||
<MOSTY.PackageSelect dictEnum="EDUCATION" width="280px" v-model="dialogForm.whcd" clearable filterable />
|
||||
<MOSTY.PackageSelect dictEnum="EDUCATION" v-model="dialogForm.whcd" clearable filterable />
|
||||
</el-form-item>
|
||||
<el-form-item label="E-mail" prop="email">
|
||||
<MOSTY.Email v-model="dialogForm.email" width="280px" clearable></MOSTY.Email>
|
||||
<MOSTY.Email v-model="dialogForm.email" clearable></MOSTY.Email>
|
||||
</el-form-item>
|
||||
<el-form-item label="出生日期" prop="birthday">
|
||||
<el-date-picker style="width: 100%" v-model="dialogForm.birthday" type="date" placeholder="出生日期"
|
||||
format="YYYY/MM/DD" value-format="YYYY-MM-DD" />
|
||||
<el-form-item label="出生日期" prop="birthday" style="width: 240px;">
|
||||
<MOSTY.Date type="date" format="YYYY/MM/DD" value-format="YYYY-MM-DD" v-model="dialogForm.birthday" clearable placeholder="请选择出生日期" />
|
||||
</el-form-item>
|
||||
<el-form-item label="所属模块:" prop="politic">
|
||||
<el-select style="width: 100%" v-model="dialogForm.politic" placeholder="请选择">
|
||||
<el-option v-for="dict in D_BZ_ZZMM" :label="dict.label" :value="dict.value" :key="dict.value" />
|
||||
</el-select>
|
||||
<el-form-item label="所属模块:" prop="politic" style="width: 240px;">
|
||||
<MOSTY.Select :dictEnum="D_BZ_ZZMM" v-model="dialogForm.politic" clearable/>
|
||||
</el-form-item>
|
||||
<el-form-item label="婚姻状况:" prop="marital">
|
||||
<el-select style="width: 100%" v-model="dialogForm.marital" placeholder="请选择婚姻状况">
|
||||
<el-option v-for="dict in D_BZ_HYZK" :label="dict.label" :value="dict.value" :key="dict.value" />
|
||||
</el-select>
|
||||
<el-form-item label="婚姻状况:" prop="marital" style="width: 240px;">
|
||||
<MOSTY.Select :dictEnum="D_BZ_HYZK" v-model="dialogForm.marital" clearable/>
|
||||
</el-form-item>
|
||||
<el-form-item label="人员类别:" prop="type">
|
||||
<el-select style="width: 100%" v-model="dialogForm.type" placeholder="请选择人员类别">
|
||||
<el-option v-for="dict in D_BZ_RYLB" :label="dict.label" :value="dict.value" :key="dict.value" />
|
||||
</el-select>
|
||||
<el-form-item label="人员类别:" prop="type" style="width: 240px;">
|
||||
<MOSTY.Select :dictEnum="D_BZ_RYLB" v-model="dialogForm.type" clearable/>
|
||||
</el-form-item>
|
||||
<el-form-item label="有效期:" prop="endTime">
|
||||
<el-date-picker style="width: 100%" v-model="dialogForm.endTime" type="datetime" placeholder="请选择有效期"
|
||||
format="YYYY/MM/DD hh:mm:ss" value-format="x" />
|
||||
<MOSTY.Date type="datetime" format="YYYY/MM/DD hh:mm:ss" v-model="dialogForm.endTime" clearable placeholder="请选择有效期" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="是否融合">
|
||||
<el-select style="width: 100%" v-model="dialogForm.sfrh" placeholder="请选择">
|
||||
<el-option v-for="dict in D_BZ_SF" :label="dict.label" :value="dict.value" :key="dict.value" />
|
||||
</el-select>
|
||||
<el-form-item label="是否融合" style="width: 240px;">
|
||||
<MOSTY.Select :dictEnum="D_BZ_SF" v-model="dialogForm.sfrh" clearable/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item style="width: 100%" label="备注">
|
||||
|
||||
@ -70,8 +70,14 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<Release v-model="showModel" :ItemData="ItemData" @SaveReport="SaveReport" title="帖子发布" :showCancel="false"
|
||||
:heightNumber="436"></Release>
|
||||
<Release
|
||||
v-model="showModel"
|
||||
:ItemData="ItemData"
|
||||
@SaveReport="SaveReport"
|
||||
title="帖子发布"
|
||||
:showCancel="false"
|
||||
:heightNumber="436">
|
||||
</Release>
|
||||
<Particulars ref="particulars" />
|
||||
</template>
|
||||
|
||||
|
||||
@ -21,12 +21,12 @@ import TheRight from "./components/theRight.vue";
|
||||
<style scoped lang="scss">
|
||||
|
||||
.bilateral{
|
||||
background-color: #fff;
|
||||
background-color: #fff;
|
||||
height: calc(100vh - 190px);
|
||||
display: flex;
|
||||
padding: 10px;
|
||||
color: #000;
|
||||
justify-content: space-between;
|
||||
justify-content: space-between;
|
||||
.the-left{
|
||||
width: 210px;
|
||||
margin-right: 15px;
|
||||
|
||||
Reference in New Issue
Block a user