This commit is contained in:
lcw
2025-07-09 19:27:03 +08:00
17 changed files with 561 additions and 626 deletions

136
package-lock.json generated
View File

@ -2043,6 +2043,51 @@
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
"dev": true
},
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"ssri": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz",
@ -2051,6 +2096,28 @@
"requires": {
"minipass": "^3.1.1"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.8.3",
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
"integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
}
}
}
},
@ -14550,75 +14617,6 @@
}
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.8.3",
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
"integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"vue-router": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.3.tgz",

View File

@ -157,7 +157,18 @@ export const jczdeleteList = (id) => {
return request({
// url: api + "/tbQwXfll/deleteList",
url: api + `/tbQwXfll/delXfll/${id}`,
method: "post"
method: "delete"
});
};
/*
*删除感知源
* return promise 实例对象
*/
export const gzydeleteList = (id) => {
return request({
// url: api + "/tbQwXfll/deleteList",
url: api + `/tbJczSxt/delEntity/${id}`,
method: "delete"
});
};
/*
@ -387,11 +398,10 @@ export const JczupdateJcz = (data) => {
});
};
// 删除检查站
export const JczdeleteById = (data) => {
export const JczdeleteById = (id) => {
return request({
url: api + `/jcz/deleteById`,
method: "post",
data
url: api + `/jcz/deleteById/${id}`,
method: "delete"
});
};
//盘查管理

View File

@ -25,9 +25,7 @@
}" v-model="listQuery.jczList" :dic="props.dic" />
<div class="peolist" v-if="listQuery.jczList">
<el-tag type="primary" :key="item">{{
listQuery.jczList.jczmc
}}</el-tag>
<el-tag type="primary" :key="item">{{ listQuery.jczList.jczmc }}</el-tag>
</div>
<div class="peolist" v-if="listQuery.jczmc && !listQuery.jczList">
<el-tag type="primary" :key="item">{{
@ -315,9 +313,11 @@ const _onSave = () => {
case "07":
listQuery.value.bcKts = 8;
}
if (listQuery.value.jczList) {
listQuery.value.jczid = listQuery.value.jczList.id;
listQuery.value.jczmc = listQuery.value.jczList.jczmc;
}
if (pageType.value == "add") {
jczsavel(listQuery.value).then((res) => {
ElMessage({ message: "新增成功", type: "success" });
@ -339,7 +339,7 @@ const ChegeMj = (val) => {
ryXm: item.xm,
rysfzh: item.sfzh,
ryJzlx: item.fl,
ryMfjilb: item.ryid,
ryMfjilb: item.ryId ? item.ryId : "",
ryLxdh: item.lxdh
};
});

View File

@ -3,10 +3,10 @@
<div class="titleBox">
<PageTitle title="勤务报备">
<el-button type="primary" @click="addEdit('add', '')">
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)"
>新增</span
>
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)">新增</span>
</el-button>
</PageTitle>
</div>
@ -15,15 +15,9 @@
</div>
<!-- 表格 -->
<div class="tabBox">
<MyTable
:tableData="pageData.tableData"
:tableColumn="pageData.tableColumn"
:tableHeight="pageData.tableHeight"
:key="pageData.keyCount"
:tableConfiger="pageData.tableConfiger"
:controlsWidth="pageData.controlsWidth"
@chooseData="chooseData"
>
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
@chooseData="chooseData">
<template #bbZt="{ row }">
<dict-tag :options="D_QW_BBZT" :value="row.bbZt" :tag="false" />
</template>
@ -33,22 +27,14 @@
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
</template>
</MyTable>
<Pages
@changeNo="changeNo"
@changeSize="changeSize"
:tableHeight="pageData.tableHeight"
:pageConfiger="{
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"
></Pages>
}"></Pages>
</div>
<!-- 编辑详情 -->
<EditAddForm
ref="detailDiloag"
@getjczgetXfllList="getjczgetXfllList"
:dic="{ D_BZ_RYMFJLB, D_BZ_JYQXFL, D_BZ_JLLX, D_BZ_JYQXFL, D_QW_BC_KTS }"
/>
<EditAddForm ref="detailDiloag" @getjczgetXfllList="getjczgetXfllList"
:dic="{ D_BZ_RYMFJLB, D_BZ_JYQXFL, D_BZ_JLLX, D_BZ_JYQXFL, D_QW_BC_KTS }" />
</div>
</template>
@ -144,7 +130,8 @@ const changeSize = (val) => {
// 获取列表
const getjczgetXfllList = () => {
pageData.tableConfiger.loading = true;
XfbbselectPage({ pageSize: 10, pageCurrent: 1 }).then((res) => {
let params = { ...queryFrom.value, pageSize: 10, pageCurrent: 1 }
XfbbselectPage(params).then((res) => {
pageData.tableData = res.records || [];
pageData.total = res.total;
}).finally(() => {

View File

@ -49,6 +49,7 @@ import Pages from "@/components/aboutTable/Pages.vue";
import Search from "@/components/aboutTable/Search.vue";
import EditAddForm from "./components/editAddForm.vue";
import { GjcltxselectPage, GjcltxdeleteById } from "@/api/mosty-jcz.js";
import { ElMessage } from "element-plus";
import { isAuth } from '@/utils/tools.js'
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance();

View File

@ -90,6 +90,7 @@ import MyTable from "@/components/aboutTable/MyTable.vue";
import Pages from "@/components/aboutTable/Pages.vue";
import Search from "@/components/aboutTable/Search.vue";
import { isAuth } from '@/utils/tools.js'
import { ElMessage } from "element-plus";
import EditAddForm from "./components/editAddForm.vue";
import { GjrytxselectPage, GjrytxdeleteById } from "@/api/mosty-jcz.js";
import { reactive, ref, onMounted, getCurrentInstance } from "vue";

View File

@ -3,10 +3,10 @@
<div class="titleBox">
<PageTitle title="智能装备管理">
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)"
>新增</span
>
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)">新增</span>
</el-button>
</PageTitle>
</div>
@ -15,15 +15,9 @@
<Search :searchArr="searchConfiger" @submit="onSearch" />
</div>
<div class="tabBox">
<MyTable
:tableData="pageData.tableData"
:tableColumn="pageData.tableColumn"
:tableHeight="pageData.tableHeight"
:key="pageData.keyCount"
:tableConfiger="pageData.tableConfiger"
:controlsWidth="pageData.controlsWidth"
@chooseData="chooseData"
>
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
@chooseData="chooseData">
<template #sblx="{ row }">
<dict-tag :options="zbAllList" :value="row.sblx" :tag="false" />
</template>
@ -38,26 +32,19 @@
<!-- <el-link type="primary" @click="down(row)">附件下载</el-link> -->
</template>
</MyTable>
<Pages
@changeNo="changeNo"
@changeSize="changeSize"
:tableHeight="pageData.tableHeight"
:pageConfiger="{
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"
></Pages>
}"></Pages>
</div>
<!-- 编辑详情 -->
<EditAddForm
ref="detailDiloag"
:dict="{ D_BZ_ZBLX_LZ, D_BZ_SF, D_ZDY_SBZT, D_JCGL_TCSB_WLLX }"
@getjczgetXfllList="getjczgetXfllList"
/>
<EditAddForm ref="detailDiloag" :dict="{ D_BZ_ZBLX_LZ, D_BZ_SF, D_ZDY_SBZT, D_JCGL_TCSB_WLLX }"
@getjczgetXfllList="getjczgetXfllList" />
</div>
</template>
<script setup>
import { ElMessage } from "element-plus";
import PageTitle from "@/components/aboutTable/PageTitle.vue";
import MyTable from "@/components/aboutTable/MyTable.vue";
import Pages from "@/components/aboutTable/Pages.vue";

View File

@ -3,10 +3,10 @@
<div class="titleBox">
<PageTitle title="感知源管理">
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)"
>新增</span
>
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)">新增</span>
</el-button>
</PageTitle>
</div>
@ -15,15 +15,9 @@
<Search :searchArr="searchConfiger" @submit="onSearch" />
</div>
<div class="tabBox">
<MyTable
:tableData="pageData.tableData"
:tableColumn="pageData.tableColumn"
:tableHeight="pageData.tableHeight"
:key="pageData.keyCount"
:tableConfiger="pageData.tableConfiger"
:controlsWidth="pageData.controlsWidth"
@chooseData="chooseData"
>
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
@chooseData="chooseData">
<template #sblx="{ row }">
<dict-tag :value="row.sblx" :options="D_BZ_SBLX" :tag="false" />
</template>
@ -46,32 +40,25 @@
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
</template>
</MyTable>
<Pages
@changeNo="changeNo"
@changeSize="changeSize"
:tableHeight="pageData.tableHeight"
:pageConfiger="{
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"
></Pages>
}"></Pages>
</div>
<!-- 编辑详情 -->
<EditAddForm
ref="detailDiloag"
:dict="{ D_BZ_SF, D_BZ_SBLX, D_BZ_DWFL, D_BZ_GZSBLX }"
@getjczgetXfllList="getjczgetXfllList"
/>
<EditAddForm ref="detailDiloag" :dict="{ D_BZ_SF, D_BZ_SBLX, D_BZ_DWFL, D_BZ_GZSBLX }"
@getjczgetXfllList="getjczgetXfllList" />
</div>
</template>
<script setup>
import { ElMessage } from "element-plus";
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 EditAddForm from "./components/editAddForm.vue";
import { TtbgetPageList, jczdeleteList } from "@/api/mosty-jcz.js";
import { TtbgetPageList, gzydeleteList } from "@/api/mosty-jcz.js";
import { isAuth } from '@/utils/tools.js'
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance();
@ -179,8 +166,8 @@ const delDictItem = (ids) => {
proxy
.$confirm("确定删除该数据?", "警告", { type: "warning" })
.then(() => {
jczdeleteList(ids).then((res) => {
ElMessage({ message: "删除成功", type: "success" });
gzydeleteList(ids).then((res) => {
// ElMessage({ message: "删除成功", type: "success" });
pageData.pageConfiger.pageCurrent = 1;
getjczgetXfllList();
});

View File

@ -3,13 +3,7 @@
<div class="head_box">
<span class="title">{{ pageInfo[pageType].title }}</span>
<div>
<el-button
size="small"
type="primary"
v-if="['add', 'edit'].includes(pageType)"
@click="_onSave"
>保存</el-button
>
<el-button size="small" type="primary" v-if="['add', 'edit'].includes(pageType)" @click="_onSave">保存</el-button>
<el-button size="small" @click="close">关闭</el-button>
</div>
</div>
@ -39,160 +33,72 @@
</el-form-item>
<el-form-item label="身份证号码" prop="sfzh">
<el-input
v-model="listQuery.sfzh"
placeholder="请输入身份证号码"
clearable
style="width: 100%"
/>
<el-input v-model="listQuery.sfzh" placeholder="请输入身份证号码" clearable style="width: 100%" />
</el-form-item>
<el-form-item label="辅警姓名" prop="xm">
<el-input
v-model="listQuery.xm"
placeholder="请输入辅警姓名"
clearable
style="width: 100%"
/>
<el-input v-model="listQuery.xm" placeholder="请输入辅警姓名" clearable style="width: 100%" />
</el-form-item>
<el-form-item label="性别" prop="xbdm">
<el-select
clearable
v-model="listQuery.xbdm"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.D_BZ_XB"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
<el-select clearable v-model="listQuery.xbdm" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, index) in dict.D_BZ_XB" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="民族" prop="mzdm">
<el-select
clearable
v-model="listQuery.mzdm"
placeholder="请选择民族"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.D_BZ_MZ"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
<el-select clearable v-model="listQuery.mzdm" placeholder="请选择民族" style="width: 100%">
<el-option v-for="(item, index) in dict.D_BZ_MZ" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="政治面貌" prop="zzmm">
<el-select
clearable
v-model="listQuery.zzmm"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.D_BZ_ZZMM"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
<el-select clearable v-model="listQuery.zzmm" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, index) in dict.D_BZ_ZZMM" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="婚姻状况" prop="hyzk">
<el-select
clearable
v-model="listQuery.hyzk"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.D_BZ_HYZK"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
<el-select clearable v-model="listQuery.hyzk" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, index) in dict.D_BZ_HYZK" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="学历" prop="whcddm">
<el-select
clearable
v-model="listQuery.whcddm"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.D_BZ_WHCD"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
<el-select clearable v-model="listQuery.whcddm" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, index) in dict.D_BZ_WHCD" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="是否在职" prop="ztzt">
<el-select clearable v-model="listQuery.ztzt" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, index) in dict.D_BZ_SF" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="辅警编号" prop="jh">
<el-input
v-model="listQuery.jh"
placeholder="请输入辅警编号"
clearable
style="width: 100%"
/>
<el-input v-model="listQuery.jh" placeholder="请输入辅警编号" clearable style="width: 100%" />
</el-form-item>
<el-form-item label="联系电话" prop="lxdh">
<el-input
v-model="listQuery.lxdh"
placeholder="请输入联系电话"
clearable
style="width: 100%"
/>
<el-input v-model="listQuery.lxdh" placeholder="请输入联系电话" clearable style="width: 100%" />
</el-form-item>
<el-form-item prop="rzsj" label="入职时间">
<el-date-picker
style="width: 100%"
v-model="listQuery.rzsj"
type="date"
placeholder="请选择入职时间"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
/>
<el-date-picker style="width: 100%" v-model="listQuery.rzsj" type="date" placeholder="请选择入职时间"
format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
</el-form-item>
<el-form-item label="警衔" prop="jx">
<el-select
clearable
v-model="listQuery.jx"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.D_BZ_FJJX"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
<el-select clearable v-model="listQuery.jx" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, index) in dict.D_BZ_FJJX" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="考核情况" prop="khqk">
<el-select
clearable
v-model="listQuery.khqk"
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.D_BZ_SF"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
<el-select clearable v-model="listQuery.khqk" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, index) in dict.D_BZ_SF" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<!-- :rules="{ required: true, message: '请选择部门' }" -->
<el-form-item label="所属部门" prop="ssbmdm">
<MOSTY.Department
:placeholder="listQuery.ssbm"
width="100%"
clearable
v-model="listQuery.ssbmdm"
/>
<MOSTY.Department :placeholder="listQuery.ssbm" width="100%" clearable v-model="listQuery.ssbmdm" />
</el-form-item>
<!-- <el-form-item label="人员类别" prop="lx">
<el-select clearable v-model="listQuery.lx" placeholder="请选择" style="width: 100%" disabled>
@ -221,12 +127,7 @@
</el-select>
</el-form-item> -->
<el-form-item label="备注" style="width: 100%">
<el-input
v-model="listQuery.bz"
placeholder="请输入关键字"
show-word-limit
type="textarea"
/>
<el-input v-model="listQuery.bz" placeholder="请输入关键字" show-word-limit type="textarea" />
</el-form-item>
</el-form>
</div>
@ -284,6 +185,11 @@ const rules = reactive({
required: true,
message: "请选择婚姻状况"
}
],jh:[
{
required: true,
message: "请填写辅警编号"
}
],
whcddm: [
{
@ -338,7 +244,7 @@ const init = (type, row) => {
//保存
const _onSave = () => {
if (!formRef) return;
const promes = { ...listQuery.value };
const promes = { ...listQuery.value ,fl:'02'};
// promes.tp=listQuery.value.tp&&Array.isArray(listQuery.value.tp)? listQuery.value.tp.join(","):""
formRef.value.validate((valid, fields) => {
if (valid) {
@ -379,21 +285,25 @@ defineExpose({ init });
<style lang="scss" scoped>
.dialog {
padding: 20px;
.head_box {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.cntinfo {
height: calc(100% - 70px);
overflow: hidden;
overflow-y: auto;
}
}
.my_transfer {
height: calc(100% - 50px);
display: flex;
.btn {
width: 50px;
display: flex;
@ -401,39 +311,48 @@ defineExpose({ init });
justify-content: center;
margin: 0 10px;
}
.left {
margin: 12px;
flex: 1;
position: relative;
.tableBox {
position: absolute;
width: 100%;
}
.serch {
position: relative;
width: 100%;
// height: 96px;
>.el-form--inline {
display: block;
width: 100%;
padding: 0;
>.el-form-item--default {
width: 31%;
}
}
}
.tableBox {
width: 100%;
}
}
.right {
width: 380px;
margin: 12px;
}
}
.phone {
width: 95px;
height: 120px;
.el-image {
width: 95px;
max-height: 120px;

View File

@ -3,10 +3,10 @@
<div class="titleBox">
<PageTitle title="巡防辅警">
<el-button type="primary" @click="addEdit('add', '')">
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)"
>新增</span
>
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)">新增</span>
</el-button>
</PageTitle>
</div>
@ -15,21 +15,18 @@
<Search :searchArr="searchConfiger" @submit="onSearch" />
</div>
<div class="tabBox">
<MyTable
:tableData="pageData.tableData"
:tableColumn="pageData.tableColumn"
:tableHeight="pageData.tableHeight"
:key="pageData.keyCount"
:tableConfiger="pageData.tableConfiger"
:controlsWidth="pageData.controlsWidth"
@chooseData="chooseData"
>
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
@chooseData="chooseData">
<template #tp="{ row }">
<div class="phone">
<el-image v-if="row.tp" :src="urlImg + row.tp" fit="cover" lazy />
<el-image v-else :src="Person" fit="cover" lazy />
</div>
</template>
<template #ztzt="{ row }">
<dict-tag :options="D_BZ_SF" :value="row.ztzt" :tag="false" />
</template>
<!-- 操作 -->
<template #controls="{ row }">
@ -38,22 +35,14 @@
<!-- <el-link type="primary" @click="down(row)">附件下载</el-link> -->
</template>
</MyTable>
<Pages
@changeNo="changeNo"
@changeSize="changeSize"
:tableHeight="pageData.tableHeight"
:pageConfiger="{
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"
></Pages>
}"></Pages>
</div>
<!-- 编辑详情 -->
<EditAddForm
ref="detailDiloag"
:dict="{ D_BZ_SF, D_BZ_MZ, D_BZ_XB, D_BZ_ZZMM }"
@getjczgetXfllList="getjczgetXfllList"
/>
<EditAddForm ref="detailDiloag" :dict="{ D_BZ_SF, D_BZ_MZ, D_BZ_XB, D_BZ_ZZMM,D_BZ_HYZK,D_BZ_WHCD }"
@getjczgetXfllList="getjczgetXfllList" />
</div>
</template>
@ -68,11 +57,13 @@ import { jczgetXfllList, jczdeleteList } from "@/api/mosty-jcz.js";
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance();
const urlImg = "/mosty-api/mosty-base/minio/image/download/";
const { D_BZ_SF, D_BZ_MZ, D_BZ_XB, D_BZ_ZZMM } = proxy.$dict(
const { D_BZ_SF, D_BZ_MZ, D_BZ_XB, D_BZ_ZZMM,D_BZ_HYZK,D_BZ_WHCD } = proxy.$dict(
"D_BZ_SF",
"D_BZ_MZ",
"D_BZ_XB",
"D_BZ_ZZMM"
"D_BZ_ZZMM",
"D_BZ_HYZK",
"D_BZ_WHCD"
);
const searchConfiger = ref([
{
@ -89,7 +80,7 @@ const searchConfiger = ref([
},
{
label: "是否离职",
prop: "xtSjzt",
prop: "ztzt",
placeholder: "是否离职",
showType: "select",
options: D_BZ_SF
@ -122,7 +113,8 @@ const pageData = reactive({
{ label: "民警姓名", prop: "xm" },
{ label: "身份证号码", prop: "sfzh" },
{ label: "警号", prop: "jh" },
{ label: "专业技能", prop: "zyjn" }
{ label: "专业技能", prop: "zyjn" },
{ label: "是否在职", prop: "ztzt", showSolt: true },
]
});
onMounted(() => {

View File

@ -3,10 +3,10 @@
<div class="titleBox">
<PageTitle title="环林卡口管理">
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)"
>新增</span
>
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)">新增</span>
</el-button>
</PageTitle>
</div>
@ -15,15 +15,9 @@
<Search :searchArr="searchConfiger" @submit="onSearch" />
</div>
<div class="tabBox">
<MyTable
:tableData="pageData.tableData"
:tableColumn="pageData.tableColumn"
:tableHeight="pageData.tableHeight"
:key="pageData.keyCount"
:tableConfiger="pageData.tableConfiger"
:controlsWidth="pageData.controlsWidth"
@chooseData="chooseData"
>
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
@chooseData="chooseData">
<template #jczlx="{ row }">
<dict-tag :value="row.jczlx" :options="D_BZ_JCZLX" :tag="false" />
</template>
@ -43,26 +37,19 @@
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
</template>
</MyTable>
<Pages
@changeNo="changeNo"
@changeSize="changeSize"
:tableHeight="pageData.tableHeight"
:pageConfiger="{
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"
></Pages>
}"></Pages>
</div>
<!-- 编辑详情 -->
<EditAddForm
ref="detailDiloag"
:dict="{ D_BZ_JCZLX, D_BZ_ZQLX, D_BZ_DLLX, D_BZ_JCZJB }"
@getjczgetXfllList="getjczgetXfllList"
/>
<EditAddForm ref="detailDiloag" :dict="{ D_BZ_JCZLX, D_BZ_ZQLX, D_BZ_DLLX, D_BZ_JCZJB }"
@getjczgetXfllList="getjczgetXfllList" />
</div>
</template>
<script setup>
import { ElMessage } from "element-plus";
import PageTitle from "@/components/aboutTable/PageTitle.vue";
import MyTable from "@/components/aboutTable/MyTable.vue";
import Pages from "@/components/aboutTable/Pages.vue";
@ -188,7 +175,7 @@ const delDictItem = (ids) => {
proxy
.$confirm("确定删除该数据?", "警告", { type: "warning" })
.then(() => {
JczdeleteById({ id: [ids] }).then((res) => {
JczdeleteById(ids).then((res) => {
ElMessage({ message: "删除成功", type: "success" });
pageData.pageConfiger.pageCurrent = 1;
getjczgetXfllList();

View File

@ -74,7 +74,9 @@ import EditAddForm from "./components/editAddForm.vue";
import { isAuth } from '@/utils/tools.js'
import { WjwpselectPage, WjwpdeleteById } from "@/api/mosty-jcz.js";
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
import { ElMessage } from "element-plus";
const { proxy } = getCurrentInstance();
const urlImg = "/mosty-api/mosty-base/minio/image/download/";
const { D_BZ_SBLX, D_BZ_SF, D_BZ_DWFL, D_BZ_GZSBLX } = proxy.$dict(
"D_BZ_SBLX",

View File

@ -3,24 +3,12 @@
<div class="head_box">
<span class="title">{{ pageInfo[pageType].title }}</span>
<div>
<el-button
size="small"
type="primary"
v-if="['add', 'edit'].includes(pageType)"
@click="_onSave"
>保存</el-button
>
<el-button size="small" type="primary" v-if="['add', 'edit'].includes(pageType)" @click="_onSave">保存</el-button>
<el-button size="small" @click="close">关闭</el-button>
</div>
</div>
<div class="cntinfo">
<el-form
ref="formRef"
:model="listQuery"
:rules="rules"
:inline="true"
label-position="top"
>
<el-form ref="formRef" :model="listQuery" :rules="rules" :inline="true" label-position="top">
<el-form-item prop="ssbmdm" label="所属部门">
<MOSTY.Department
:placeholder="listQuery.ssbm"
@ -301,21 +289,25 @@ defineExpose({ init });
<style lang="scss" scoped>
.dialog {
padding: 20px;
.head_box {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.cntinfo {
height: calc(100% - 70px);
overflow: hidden;
overflow-y: auto;
}
}
.my_transfer {
height: calc(100% - 50px);
display: flex;
.btn {
width: 50px;
display: flex;
@ -323,58 +315,71 @@ defineExpose({ init });
justify-content: center;
margin: 0 10px;
}
.left {
margin: 12px;
flex: 1;
position: relative;
.tableBox {
position: absolute;
width: 100%;
}
.serch {
position: relative;
width: 100%;
// height: 96px;
>.el-form--inline {
display: block;
width: 100%;
padding: 0;
>.el-form-item--default {
width: 31%;
}
}
}
.tableBox {
width: 100%;
}
}
.right {
width: 380px;
margin: 12px;
}
}
.phone {
width: 95px;
height: 120px;
.el-image {
width: 95px;
max-height: 120px;
}
}
::v-deep .el-upload {
width: 90px;
height: 100px;
border: 1px dashed #e0e0e0;
margin-bottom: 14px;
.el-icon {
margin-top: 34px;
font-size: 26px;
}
.el-image {
width: 100%;
height: 100%;
}
}
::v-deep .el-form-item {
width: 45%;
}

View File

@ -3,10 +3,10 @@
<div class="titleBox">
<PageTitle title="警用器械管理">
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)"
>新增</span
>
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)">新增</span>
</el-button>
</PageTitle>
</div>
@ -15,15 +15,9 @@
<Search :searchArr="searchConfiger" @submit="onSearch" />
</div>
<div class="tabBox">
<MyTable
:tableData="pageData.tableData"
:tableColumn="pageData.tableColumn"
:tableHeight="pageData.tableHeight"
:key="pageData.keyCount"
:tableConfiger="pageData.tableConfiger"
:controlsWidth="pageData.controlsWidth"
@chooseData="chooseData"
>
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
@chooseData="chooseData">
<template #zbzt="{ row }">
<dict-tag :options="D_ZDY_SBZT" :value="row.zbzt" :tag="false" />
</template>
@ -40,28 +34,19 @@
<!-- <el-link type="primary" @click="down(row)">附件下载</el-link> -->
</template>
</MyTable>
<Pages
@changeNo="changeNo"
@changeSize="changeSize"
:tableHeight="pageData.tableHeight"
:pageConfiger="{
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"
></Pages>
}"></Pages>
</div>
<!-- 编辑详情 -->
<EditAddForm
ref="detailDiloag"
:dict="{
<EditAddForm ref="detailDiloag" :dict="{
D_BZ_ZBLX_LZ,
D_BZ_SF,
D_JCGL_TCSB_WLLX,
D_JCGL_JYQX_QXLX,
D_ZDY_SBZT, D_BZ_JYQXFL
}"
@getjczgetXfllList="getjczgetXfllList"
/>
}" @getjczgetXfllList="getjczgetXfllList" />
</div>
</template>

View File

@ -3,117 +3,54 @@
<div class="head_box">
<span class="title">{{ pageInfo[pageType].title }}</span>
<div>
<el-button
size="small"
type="primary"
v-if="['add', 'edit'].includes(pageType)"
@click="_onSave"
>保存</el-button
>
<el-button size="small" type="primary" v-if="['add', 'edit'].includes(pageType)" @click="_onSave">保存</el-button>
<el-button size="small" @click="close">关闭</el-button>
</div>
</div>
<div class="cntinfo">
<div class="my_transfer">
<div class="tree">
<MOSTY.DepartmentTree
width="300px"
placeholder="管理部门ID"
clearable
filterable
:isBmId="true"
v-model="listQuery.deptId"
/>
<MOSTY.DepartmentTree width="300px" placeholder="管理部门ID" clearable filterable :isBmId="true"
v-model="listQuery.deptId" />
</div>
<div class="left">
<div class="serch">
<el-form :model="searchConfiger" ref="formRef" :inline="true">
<el-form-item label="用户名">
<el-input
placeholder="请输入用户名"
v-model="searchConfiger.loginName"
clearable
></el-input>
<el-input placeholder="请输入用户名" v-model="searchConfiger.loginName" clearable></el-input>
</el-form-item>
<el-form-item label="电话号码">
<el-input
placeholder="请输入电话"
v-model="searchConfiger.phone"
clearable
></el-input>
<el-input placeholder="请输入电话" v-model="searchConfiger.phone" clearable></el-input>
</el-form-item>
<el-form-item label="身份证号码">
<el-input
v-model="searchConfiger.idEntityCard"
placeholder="请输入身份证号码"
clearable
/>
<el-input v-model="searchConfiger.idEntityCard" placeholder="请输入身份证号码" clearable />
</el-form-item>
<el-form-item label="是否包含下级">
<el-select v-model="searchConfiger.isChild">
<el-option
v-for="item in D_BZ_SF"
:key="item"
:label="item.label"
:value="item.value"
>{{ item.label }}</el-option
>
<el-option v-for="item in D_BZ_SF" :key="item" :label="item.label" :value="item.value">{{ item.label
}}</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="success" @click="getBaseselectPage"
>查询</el-button
>
<el-button type="success" @click="getBaseselectPage">查询</el-button>
</el-form-item>
</el-form>
</div>
<div
class="tableBox"
:style="{ height: tableHeight1 + 'px' }"
style="border: 1px solid #07376d"
>
<el-table
:data="tableLeftData"
border
row-key="id"
height="100%"
style="width: 100%"
@selection-change="handleSelectionChangeLeft"
>
<div class="tableBox" :style="{ height: tableHeight1 + 'px' }" style="border: 1px solid #07376d">
<el-table :data="tableLeftData" border row-key="id" height="100%" style="width: 100%"
@selection-change="handleSelectionChangeLeft">
<el-table-column type="selection" width="40" align="center" />
<el-table-column
prop="deptName"
label="所属部门"
align="center"
/>
<el-table-column
prop="userName"
label="用户姓名"
align="center"
/>
<el-table-column
prop="idEntityCard"
label="身份证号"
align="center"
/>
<el-table-column prop="deptName" label="所属部门" align="center" />
<el-table-column prop="userName" label="用户姓名" align="center" />
<el-table-column prop="idEntityCard" label="身份证号" align="center" />
<el-table-column prop="mobile" label="电话号码" align="center" />
<el-table-column
prop="inDustRialId"
label="警号"
align="center"
/>
<el-table-column prop="inDustRialId" label="警号" align="center" />
</el-table>
<div>
<el-pagination
class="pagination"
@size-change="handleSizeChangeUser"
@current-change="handleCurrentChangeUser"
:current-page="linQuery.pageCurrent"
:page-sizes="[10, 20, 50, 100]"
:page-size="linQuery.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="totalUser"
>
<el-pagination class="pagination" @size-change="handleSizeChangeUser"
@current-change="handleCurrentChangeUser" :current-page="linQuery.pageCurrent"
:page-sizes="[10, 20, 50, 100]" :page-size="linQuery.pageSize"
layout="total, sizes, prev, pager, next, jumper" :total="totalUser">
</el-pagination>
</div>
</div>
@ -123,30 +60,12 @@
<el-button :icon="Right" circle @click="upRight" />
</div>
<div class="right" style="height: 700px; border: 1px solid #07376d">
<el-table
:data="tableRightData"
ref="multipleTableRef"
border
row-key="id"
height="100%"
@selection-change="handleSelectionChangeRight"
>
<el-table :data="tableRightData" ref="multipleTableRef" border row-key="id" height="100%"
@selection-change="handleSelectionChangeRight">
<el-table-column type="selection" width="40" align="center" />
<el-table-column
prop="deptName"
label="所属部门"
align="center"
></el-table-column>
<el-table-column
prop="userName"
label="用户姓名"
align="center"
></el-table-column>
<el-table-column
prop="inDustRialId"
label="警号"
align="center"
></el-table-column>
<el-table-column prop="deptName" label="所属部门" align="center"></el-table-column>
<el-table-column prop="userName" label="用户姓名" align="center"></el-table-column>
<el-table-column prop="inDustRialId" label="警号" align="center"></el-table-column>
</el-table>
</div>
</div>
@ -311,21 +230,25 @@ defineExpose({ init });
<style lang="scss" scoped>
.dialog {
padding: 20px;
.head_box {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.cntinfo {
height: calc(100% - 70px);
overflow: hidden;
overflow-y: auto;
}
}
.my_transfer {
height: calc(100% - 50px);
display: flex;
.btn {
width: 50px;
display: flex;
@ -333,53 +256,65 @@ defineExpose({ init });
justify-content: center;
margin: 0 10px;
}
.left {
margin: 12px;
flex: 1;
position: relative;
.tableBox {
position: absolute;
width: 100%;
}
.serch {
position: relative;
width: 100%;
// height: 96px;
>.el-form--inline {
display: block;
width: 100%;
padding: 0;
>.el-form-item--default {
width: 31%;
}
}
}
.tableBox {
width: 100%;
}
}
.right {
width: 380px;
margin: 12px;
}
}
.phone {
width: 95px;
height: 120px;
.el-image {
width: 95px;
max-height: 120px;
}
}
::v-deep .el-upload {
width: 90px;
height: 100px;
border: 1px dashed #000000;
margin-bottom: 14px;
.el-icon {
margin-top: 34px;
font-size: 26px;
}
.el-image {
width: 100%;
height: 100%;

View File

@ -3,10 +3,10 @@
<div class="titleBox">
<PageTitle title="巡防民警">
<el-button type="primary" @click="addEdit('add', '')">
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)"
>新增</span
>
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)">新增</span>
</el-button>
</PageTitle>
</div>
@ -15,15 +15,9 @@
<Search :searchArr="searchConfiger" @submit="onSearch" />
</div>
<div class="tabBox">
<MyTable
:tableData="pageData.tableData"
:tableColumn="pageData.tableColumn"
:tableHeight="pageData.tableHeight"
:key="pageData.keyCount"
:tableConfiger="pageData.tableConfiger"
:controlsWidth="pageData.controlsWidth"
@chooseData="chooseData"
>
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
@chooseData="chooseData">
<template #tp="{ row }">
<div class="phone">
<el-image v-if="row.tp" :src="urlImg + row.tp" fit="cover" lazy />
@ -33,31 +27,118 @@
<!-- 操作 -->
<template #controls="{ row }">
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
<el-link type="primary" @click="addEdit('detail', row)"
>人员档案</el-link
>
<el-link type="primary" @click="delDictItem(row)">删除</el-link>
<!-- <el-link type="primary" @click="down(row)">附件下载</el-link> -->
</template>
</MyTable>
<Pages
@changeNo="changeNo"
@changeSize="changeSize"
:tableHeight="pageData.tableHeight"
:pageConfiger="{
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"
></Pages>
}"></Pages>
</div>
<div v-if="dialogFormVisible" class="dialog">
<div class="head_box">
<span class="title">修改</span>
<div>
<el-button type="primary" size="small" @click="submit" :loading="loading">保存</el-button>
<el-button size="small" @click="dialogFormVisible = false">关闭</el-button>
</div>
</div>
<el-form ref="elform" :model="addForm" :rules="rules" :inline="true" label-position="top">
<div style="
width: 16%;
display: flex;
margin-bottom: 10px;
">
<div style=" width: 100%; ">
<MOSTY.Upload width="100%" :limit="1" :isImg="true" v-model="addForm.tp" :disableds="forbidden"/>
</div>
<!-- <div style="position: relative; height: 100px">
<el-upload class="avatar-uploader" action="/mosty-api/mosty-base/minio/image/upload/id" :on-success="upImg"
:show-file-list="false">
<el-image v-if="imgUrl" :src="imgUrl" fit="cover" />
<el-icon v-else class="avatar-uploader-icon">
<Plus />
</el-icon>
<span v-if="imgUrl" style="position: absolute; right: -20px">
<el-icon color="#0072ff" size="20" @click.stop="deletImg">
<Close />
</el-icon>
</span>
</el-upload>
</div> -->
</div>
<el-form-item label="民警姓名" prop="xm">
<el-input v-model="addForm.xm" placeholder="请输入民警姓名" clearable style="width: 100%" />
</el-form-item>
<el-form-item label="身份证号码" prop="sfzh">
<el-input v-model="addForm.sfzh" placeholder="请输入身份证号码" clearable style="width: 100%" />
</el-form-item>
<el-form-item label="性别" prop="xbdm">
<el-select clearable v-model="addForm.xbdm" placeholder="请选择" style="width: 100%">
<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>
<el-form-item label="民族" prop="mzdm">
<el-select clearable v-model="addForm.mzdm" placeholder="请选择民族" style="width: 100%">
<el-option v-for="(item, index) in D_BZ_MZ" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="政治面貌" prop="zzmm">
<el-select clearable v-model="addForm.zzmm" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, index) in D_BZ_ZZMM" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="婚姻状况" prop="hyzk">
<el-select clearable v-model="addForm.hyzk" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, index) in D_BZ_HYZK" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="学历" prop="whcddm">
<el-select clearable v-model="addForm.whcddm" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, index) in D_BZ_WHCD" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="民警编号" prop="jh">
<el-input v-model="addForm.jh" placeholder="请输入民警编号" clearable style="width: 100%" />
</el-form-item>
<el-form-item label="联系电话" prop="lxdh">
<el-input v-model="addForm.lxdh" placeholder="请输入联系电话" clearable style="width: 100%" />
</el-form-item>
<el-form-item label="所属部门" prop="ssbmid">
<MOSTY.Department :placeholder="addForm.ssbm" style="width: 100%" ref="cascader" clearable filterable
:options="depList" :props="props" @change="handleChange" v-model="addForm.ssbmid" />
</el-form-item>
<el-form-item label="人员类别" prop="lx">
<el-select clearable v-model="addForm.lx" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, index) in D_BZ_RYLB" :key="index" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item style="width: 100%" label="专业技能" prop="sklList" @change="selectJnbq">
<el-select v-model="addForm.sklList" multiple placeholder="请选择" style="width: 100%" @change="onChangeBQ">
<el-option v-for="item in bqList" :key="item.id" :label="item.bqmc" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="备注" style="width: 100%">
<el-input v-model="addForm.bz" placeholder="请输入关键字" show-word-limit type="textarea" />
</el-form-item>
</el-form>
</div>
<!-- 编辑详情 -->
<EditAddForm
ref="detailDiloag"
:dict="{ D_BZ_SF, D_BZ_MZ, D_BZ_XB, D_BZ_ZZMM }"
/>
<EditAddForm ref="detailDiloag" :dict="{ D_BZ_SF, D_BZ_MZ, D_BZ_XB, D_BZ_ZZMM }" />
</div>
</template>
<script setup>
import { ElMessage } from "element-plus";
import * as MOSTY from "@/components/MyComponents/index";
import { qcckGet, qcckPost, qcckPut, qcckDelete } from "@/api/qcckApi.js";
import PageTitle from "@/components/aboutTable/PageTitle.vue";
import MyTable from "@/components/aboutTable/MyTable.vue";
import Pages from "@/components/aboutTable/Pages.vue";
@ -66,12 +147,17 @@ import EditAddForm from "./components/editAddForm.vue";
import { jczgetXfllList } from "@/api/mosty-jcz.js";
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance();
const { D_BZ_SF, D_BZ_MZ, D_BZ_XB, D_BZ_ZZMM } = proxy.$dict(
const { D_BZ_SF, D_BZ_MZ, D_BZ_XB, D_BZ_ZZMM, D_BZ_WHCD, D_BZ_HYZK } = proxy.$dict(
"D_BZ_SF",
"D_BZ_MZ",
"D_BZ_XB",
"D_BZ_ZZMM"
"D_BZ_ZZMM",
"D_BZ_WHCD",
"D_BZ_HYZK"
);
const urlImg = ref("/mosty-api/mosty-base/minio/image/download/");
const imgUrl = ref("");
const dialogFormVisible = ref(false);
const searchConfiger = ref([
{
label: "姓名",
@ -99,7 +185,7 @@ const searchConfiger = ref([
label: "所属部门"
}
]);
const elform = ref(null)
const detailDiloag = ref();
const pageData = reactive({
tableData: [], //表格数据
@ -123,6 +209,7 @@ const pageData = reactive({
{ label: "专业技能", prop: "zyjn" }
]
});
const addForm = ref({})
onMounted(() => {
tabHeightFn();
});
@ -150,22 +237,67 @@ const onSearch = (val) => {
queryCondition.value = { ...queryCondition.value, ...val };
getjczgetXfllList();
};
function submit() {
elform.value.validate((valid) => {
if (valid) {
let data = addForm.value;
qcckPut(data, '/mosty-jcz/tbQwXfll').then(res => {
dialogFormVisible.value = false
})
}
});
}
function upImg(row) {
addForm.value.tp = row.data;
imgUrl.value = urlImg.value + row.data;
}
function deletImg() {
imgUrl.value = "";
addForm.value.tp = "";
}
const changeNo = (val) => {
pageData.pageConfiger.pageNum = val;
getjczgetXfllList()
};
const changeSize = (val) => {
pageData.pageConfiger.pageSize = val;
getjczgetXfllList()
};
// 获取列表
// 删除
const delDictItem = (ids) => {};
// 新增
const addEdit = (type, row) => {
if (type == 'edit') {
getMjDetail(row.id)
} else {
detailDiloag.value.init(type, row);
}
};
//删除人员
function delDictItem(e) {
proxy
.$confirm("确定要删除", "警告", {
type: "warning"
})
.then(() => {
qcckDelete({}, `/mosty-jcz/tbQwXfll/delXfll/${e.id}`).then((res) => {
ElMessage({
message: "删除成功",
type: "success"
});
getjczgetXfllList();
});
})
.catch(() => {
proxy.$message.info("已取消");
});
}
const getMjDetail = (id) => {
qcckGet({}, `/mosty-jcz/tbQwXfll/${id}`).then(res => {
addForm.value = res;
imgUrl.value = res.tp ? urlImg.value + res.tp : "";
dialogFormVisible.value = true
})
}
const searchBox = ref(null);
// 表格高度计算
const tabHeightFn = () => {
@ -177,8 +309,29 @@ const tabHeightFn = () => {
};
</script>
<style>
<style lang="scss" scoped>
.el-loading-mask {
background: rgba(0, 0, 0, 0.5) !important;
}
.avatar-uploader .el-upload {
border: 1px dashed var(--el-border-color);
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
transition: var(--el-transition-duration-fast);
}
.avatar-uploader .el-upload:hover {
border-color: var(--el-color-primary);
}
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 150px;
height: 100px;
text-align: center;
}
</style>

View File

@ -3,10 +3,10 @@
<div class="titleBox">
<PageTitle title="车辆管理">
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)"
>新增</span
>
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle" @click="addEdit('add', row)">新增</span>
</el-button>
</PageTitle>
</div>
@ -15,15 +15,9 @@
<Search :searchArr="searchConfiger" @submit="onSearch" />
</div>
<div class="tabBox">
<MyTable
:tableData="pageData.tableData"
:tableColumn="pageData.tableColumn"
:tableHeight="pageData.tableHeight"
:key="pageData.keyCount"
:tableConfiger="pageData.tableConfiger"
:controlsWidth="pageData.controlsWidth"
@chooseData="chooseData"
>
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
@chooseData="chooseData">
<template #zbzt="{ row }">
<dict-tag :value="row.zbzt" :options="D_ZDY_SBZT"></dict-tag>
</template>
@ -40,33 +34,25 @@
<!-- <el-link type="primary" @click="down(row)">附件下载</el-link> -->
</template>
</MyTable>
<Pages
@changeNo="changeNo"
@changeSize="changeSize"
:tableHeight="pageData.tableHeight"
:pageConfiger="{
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"
></Pages>
}"></Pages>
</div>
<!-- 编辑详情 -->
<EditAddForm
ref="detailDiloag"
:dict="{
<EditAddForm ref="detailDiloag" :dict="{
D_ZDY_SBZT,
D_JCGL_JYCL_HPYSLB,
D_BZ_HPZL,
D_BZ_CLPP,
D_BZ_CLLX,
D_BZ_CLYS
}"
@getjczgetXfllList="getjczgetXfllList"
/>
}" @getjczgetXfllList="getjczgetXfllList" />
</div>
</template>
<script setup>
import { ElMessage } from "element-plus";
import PageTitle from "@/components/aboutTable/PageTitle.vue";
import MyTable from "@/components/aboutTable/MyTable.vue";
import Pages from "@/components/aboutTable/Pages.vue";