From f80a02f06adbfa38e06651688e8768bedf9cdbe1 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 02 二月 2024 10:37:23 +0800
Subject: [PATCH] 11
---
src/views/project/externalperson/index.vue | 278 +++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 205 insertions(+), 73 deletions(-)
diff --git a/src/views/project/externalperson/index.vue b/src/views/project/externalperson/index.vue
index 8f411ef..995715b 100644
--- a/src/views/project/externalperson/index.vue
+++ b/src/views/project/externalperson/index.vue
@@ -1,16 +1,16 @@
<template>
<div class="app-container">
- <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
- <el-form-item label="浜哄憳缂栧彿" prop="userno">
- <el-input v-model="queryParams.userno" placeholder="璇疯緭鍏ヤ汉鍛樼紪鍙�" clearable size="small"
+ <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="80px">
+ <el-form-item label="璐﹀彿缂栧彿" prop="userno">
+ <el-input v-model="queryParams.userno" placeholder="璇疯緭鍏ヨ处鍙风紪鍙�" clearable size="small"
@keyup.enter.native="handleQuery" />
</el-form-item>
- <el-form-item label="浜哄憳鍚嶇О" prop="username">
- <el-input v-model="queryParams.username" placeholder="璇疯緭鍏ヤ汉鍛樺悕绉�" clearable size="small"
+ <el-form-item label="璐﹀彿鍚嶇О" prop="username">
+ <el-input v-model="queryParams.username" placeholder="璇疯緭鍏ヨ处鍙峰悕绉�" clearable size="small"
@keyup.enter.native="handleQuery" />
</el-form-item>
- <el-form-item label="浜哄憳绫诲埆" prop="usertype">
- <el-select v-model="queryParams.usertype" placeholder="璇烽�夋嫨浜哄憳绫诲埆" clearable size="small">
+ <el-form-item label="璐﹀彿绫诲埆" prop="usertype">
+ <el-select v-model="queryParams.usertype" placeholder="璇烽�夋嫨璐﹀彿绫诲埆" clearable size="small">
<el-option v-for="dict in dict.type.sys_UserType" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
@@ -42,32 +42,38 @@
<el-table v-loading="loading" :data="externalpersonList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
- <el-table-column label="浜哄憳缂栧彿" align="center" prop="userno" />
- <el-table-column label="浜哄憳濮撳悕" align="center" prop="username" />
- <el-table-column label="韬唤璇佸彿" width="200" align="center" prop="idcardno" />
- <el-table-column label="鎬у埆" align="center" prop="sex">
- <template slot-scope="scope">
- <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" /> </template></el-table-column>
- <el-table-column label="鑱岀О" align="center" prop="title">
- <template slot-scope="scope">
- <dict-tag :options="dict.type.sys_professionaltitle" :value="scope.row.title" /> </template></el-table-column>
- <el-table-column label="鍗曚綅鍚嶇О" width="200" align="center" prop="unitname" />
- <el-table-column label="鍗曚綅宸ヤ綔缂栧彿" align="center" prop="personnelunitno" />
- <el-table-column label="鑱旂郴鐢佃瘽" width="200" align="center" prop="telephone" />
- <el-table-column label="鑱旂郴鍦板潃" width="250" align="center" prop="address" />
- <el-table-column label="浜哄憳绫诲埆" align="center" prop="usertype">
+ <el-table-column label="璐﹀彿绫诲埆" align="center" prop="usertype">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_UserType" :value="scope.row.usertype" />
</template>
</el-table-column>
- <el-table-column label="鍦ㄨ亴鐘舵��" align="center" prop="userstatus"><template slot-scope="scope">
- <dict-tag :options="dict.type.sys_0_1" :value="scope.row.userstatus" /> </template></el-table-column>
+ <el-table-column label="璐﹀彿缂栧彿" align="center" prop="userno" />
+ <el-table-column label="璐﹀彿鍚嶇О" align="center" prop="username" />
+ <el-table-column label="韬唤璇佸彿" width="200" align="center" prop="idcardno" />
+ <el-table-column label="鑱岀О" align="center" prop="title">
+ <template slot-scope="scope">
+ <dict-tag :options="dict.type.sys_professionaltitle" :value="scope.row.title" /> </template></el-table-column>
+ <el-table-column label="鍗曚綅鍚嶇О" width="250" align="center" prop="unitname" />
+ <!--
+ <el-table-column label="鎬у埆" align="center" prop="sex">
+ <template slot-scope="scope">
+ <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" />
+ </template>
+ </el-table-column>
+ <el-table-column label="鍗曚綅宸ヤ綔缂栧彿" align="center" prop="personnelunitno" />
+ <el-table-column label="鍦ㄨ亴鐘舵��" align="center" prop="userstatus">
+ <template slot-scope="scope">
+ <dict-tag :options="dict.type.sys_0_1" :value="scope.row.userstatus" />
+ </template>
+ </el-table-column>
+ <el-table-column label="鑱旂郴鐢佃瘽" width="200" align="center" prop="telephone" />
+ <el-table-column label="鑱旂郴鍦板潃" width="250" align="center" prop="address" />-->x
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['project:externalperson:edit']">淇敼</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
- v-hasPermi="['project:externalperson:remove']">鍒犻櫎</el-button>
+ >鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
@@ -75,56 +81,98 @@
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
- <!-- 娣诲姞鎴栦慨鏀瑰鍥村崟浣嶄汉鍛樺璇濇 -->
- <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+ <!-- 娣诲姞鎴栦慨鏀逛汉鍛�/鍗曚綅璐﹀彿淇℃伅瀵硅瘽妗� -->
+ <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
- <el-row><el-col :span="12">
- <el-form-item label="浜哄憳缂栧彿" prop="userno">
- <el-input v-model="form.userno" placeholder="璇疯緭鍏ヤ汉鍛樼紪鍙�" /> </el-form-item></el-col><el-col
- :span="12"><el-form-item label="浜哄憳绫诲埆" prop="usertype">
- <el-select v-model="form.usertype" placeholder="璇烽�夋嫨浜哄憳绫诲埆">
+ <el-row>
+ <el-col :span="12"><el-form-item label="璐﹀彿绫诲埆" prop="usertype">
+ <el-select v-model="form.usertype" placeholder="璇烽�夋嫨璐﹀彿绫诲埆">
<el-option v-for="dict in dict.type.sys_UserType" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
- </el-select> </el-form-item></el-col></el-row><el-row>
+ </el-select> </el-form-item>
+ </el-col>
<el-col :span="12">
- <el-form-item label="浜哄憳濮撳悕" prop="username">
- <el-input v-model="form.username" placeholder="璇疯緭鍏ヤ汉鍛樺鍚�" /> </el-form-item></el-col>
+ <el-form-item label="璐﹀彿缂栧彿" prop="userno">
+ <el-input disabled=true v-model="form.userno" placeholder="璇疯緭鍏ヨ处鍙风紪鍙�" /> </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
<el-col :span="12">
- <el-form-item label="鍦ㄨ亴鐘舵��" prop="userstatus">
+ <el-form-item label="璐﹀彿鍚嶇О" prop="username">
+ <el-input v-model="form.username" placeholder="璇疯緭鍏ヨ处鍙峰悕绉�" /> </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍚敤鐘舵��" prop="userstatus" :disabled="ismanager == false">
<el-radio-group v-model="form.userstatus">
<el-radio v-for="dict in dict.type.sys_0_1" :key="dict.value" :label="parseInt(dict.value)">{{ dict.label
}}</el-radio>
</el-radio-group>
- </el-form-item></el-col></el-row><el-row><el-col :span="24">
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row v-if="form.usertype != 'org'">
+ <el-col :span="24">
<el-form-item label="韬唤璇佸彿" prop="idcardno">
- <el-input v-model="form.idcardno" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" /> </el-form-item></el-col></el-row><el-row><el-col
- :span="12">
- <el-form-item label="鎬� 鍒�" prop="sex">
+ <el-input v-model="form.idcardno" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" /> </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row v-if="form.usertype != 'org'"><el-col :span="12">
+ <el-form-item label="鎬у埆" prop="sex">
<el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
- :value="dict.value"></el-option> </el-select></el-form-item></el-col><el-col :span="12">
- <el-form-item label="鑱旂郴鐢佃瘽" prop="telephone">
- <el-input v-model="form.telephone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> </el-form-item></el-col></el-row><el-row><el-col
- :span="24">
- <el-form-item label="鑱旂郴鍦板潃" prop="address">
- <el-input v-model="form.address" placeholder="璇疯緭鍏ヨ仈绯诲湴鍧�" /> </el-form-item></el-col></el-row><el-row><el-col
- :span="24">
- <el-form-item label="鍗曚綅鍚嶇О" prop="unitname">
- <el-input v-model="form.unitname" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�" /> </el-form-item></el-col></el-row><el-row><el-col
- :span="12">
- <el-form-item label="鍗曚綅浜哄憳缂栧彿" prop="personnelunitno">
- <el-input v-model="form.personnelunitno" placeholder="璇疯緭鍏ュ崟浣嶄汉鍛樼紪鍙�" /> </el-form-item></el-col><el-col
- :span="12"><el-form-item label="鑱� 绉�" prop="title">
+ :value="dict.value"></el-option> </el-select></el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鑱岀О" prop="title">
<el-select v-model="form.title" placeholder="璇烽�夋嫨浜哄憳鑱岀О">
<el-option v-for="dict in dict.type.sys_professionaltitle" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option> </el-select>
- </el-form-item> </el-col></el-row><el-row><el-col :span="24"><el-form-item label="寮�鎴烽摱琛�" prop="depositbank">
- <el-input v-model="form.depositbank" placeholder="璇疯緭鍏ュ紑鎴烽摱琛屽悕绉�" /> </el-form-item></el-col><el-col
- :span="24"><el-form-item label="閾惰鍗″彿" prop="bankcardno">
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row v-if="form.usertype != 'org'">
+ <el-col :span="12">
+ <el-form-item label="鎵�鍦ㄥ崟浣�" prop="unitname">
+ <el-select v-model="form.unitname" placeholder="鎵�鍦ㄥ崟浣�" clearable filterable allow-create style="width: 100%">
+ <el-option v-for="(spec, index) in unitList" :key="index" :label="spec.organizationname"
+ :value="spec.organizationid"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍗曚綅宸ュ彿" prop="personnelunitno">
+ <el-input v-model="form.personnelunitno" placeholder="璇疯緭鍏ユ墍鍦ㄥ崟浣嶇殑宸ュ彿" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24"><el-form-item label="寮�鎴烽摱琛�" prop="depositbank">
+ <el-input v-model="form.depositbank" placeholder="璇疯緭鍏ュ紑鎴烽摱琛屽悕绉�" /> </el-form-item>
+ </el-col>
+ <el-col :span="24"><el-form-item label="閾惰鍗″彿" prop="bankcardno">
<el-input v-model="form.bankcardno" placeholder="璇疯緭鍏ラ摱琛屽崱鍙�" />
- </el-form-item></el-col></el-row>
- <!--<el-row><el-col :span="24"><el-form-item label="寮�鎴锋敮琛�" prop="branchbankname">
- <el-input v-model="form.branchbankname" placeholder="璇疯緭鍏ュ紑鎴锋敮琛�" /> </el-form-item></el-col></el-row>-->
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="鑱旂郴鍦板潃" prop="address">
+ <el-input v-model="form.address" placeholder="璇疯緭鍏ヨ仈绯诲湴鍧�" /> </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="鑱旂郴鐢佃瘽" prop="telephone">
+ <el-input v-model="form.telephone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> </el-form-item>
+ </el-col>
+ </el-row>
+ <!--
+ <el-row>
+ <el-col :span="24"><el-form-item label="寮�鎴锋敮琛�" prop="branchbankname">
+ <el-input v-model="form.branchbankname" placeholder="璇疯緭鍏ュ紑鎴锋敮琛�" /> </el-form-item>
+ </el-col>
+ </el-row>
+ -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
@@ -142,7 +190,17 @@
addExternalperson,
updateExternalperson,
exportExternalperson,
+ getOnlyCode,
} from "@/api/project/externalperson";
+
+import {
+ listOrganization,
+ getOrganization,
+ listReportname,
+ listUser
+} from "@/api/project/organization";
+
+import { getUserProfile } from "@/api/system/user";
export default {
name: "Externalperson",
@@ -150,7 +208,7 @@
data() {
return {
// 閬僵灞�
- loading: true,
+ loading: false,
// 瀵煎嚭閬僵灞�
exportLoading: false,
// 閫変腑鏁扮粍
@@ -165,6 +223,9 @@
total: 0,
// 澶栧洿鍗曚綅浜哄憳琛ㄦ牸鏁版嵁
externalpersonList: [],
+
+ //鍖荤枟鏈烘瀯鍒楄〃
+ unitList: [],
// 寮瑰嚭灞傛爣棰�
title: "",
// 鏄惁鏄剧ず寮瑰嚭灞�
@@ -177,24 +238,70 @@
username: null,
usertype: null,
},
+
+ // 鏌ヨ鏈�鏂板簭鍙峰弬鏁�
+ seqnoParams: {
+ businessType: "externalperson",
+ datequery: false,
+ },
// 琛ㄥ崟鍙傛暟
form: {},
// 琛ㄥ崟鏍¢獙
- rules: {},
+ rules: {
+ usertype: [
+ { required: true, message: "璇疯緭鍏ヨ处鎴风被鍨�", trigger: "blur" }
+ ],
+ username: [
+ { required: true, message: "璇疯緭鍏ヨ处鎴峰悕绉�", trigger: "blur" }
+ ],
+ idcardno: [
+ { required: true, message: "璇疯緭鍏ヨ韩浠借瘉鍙风爜", trigger: "blur" }
+ ],
+ bankcardno: [
+ { required: true, message: "璇疯緭鍏ラ摱琛岃处鍙�", trigger: "blur" }
+ ],
+ depositbank: [
+ { required: true, message: "璇疯緭鍏ュ紑鎴烽摱琛�", trigger: "blur" }
+ ]
+ },
+ //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳
+ ismanager: false,
};
},
created() {
- this.getList();
+ this.getUserProfile();
+ this.getUnitList();
+ // 榛樿涓嶆墦寮�
+ // this.getList();
},
methods: {
- /** 鏌ヨ澶栧洿鍗曚綅浜哄憳鍒楄〃 */
+ //鑾峰彇褰撳墠鐢ㄦ埛淇℃伅
+ getUserProfile() {
+ getUserProfile().then(res => {
+ if (
+ res.data.userName == "admin" ||
+ res.data.userName == "001" ||
+ res.data.userName == "047"
+ ) {
+ this.ismanager = true;
+ } else {
+ this.ismanager = false;
+ }
+ });
+ },
+
+ /** 鏌ヨ鍗曚綅銆佷汉鍛樿处鍙峰垪琛� */
getList() {
- this.loading = true;
+ if (this.queryParams.username === null || this.queryParams.username.replace(/\s/g, '') == "") {
+ this.$modal.msgWarning("鏌ユ壘璐︽埛鏃讹紝璐︽埛鍚嶇О涓嶈兘涓虹┖锛岃杈撳叆璐︽埛鍚嶇О锛�");
+ return;
+ }
+
+ // this.loading = true;
listExternalperson(this.queryParams).then((response) => {
- console.log("listExternalperson", response.rows);
this.externalpersonList = response.rows;
this.total = response.total;
- this.loading = false;
+ // this.loading = false;
});
},
// 鍙栨秷鎸夐挳
@@ -223,6 +330,12 @@
},
/** 鎼滅储鎸夐挳鎿嶄綔 */
handleQuery() {
+ console.log("handleQuery", this.queryParams);
+ if (this.queryParams.username === null || this.queryParams.username.replace(/\s/g, '') == "") {
+ this.$modal.msgWarning("涓洪檺鍒舵壒閲忔煡鎵捐处鎴蜂俊鎭紝闄愬埗璐︽埛鍚嶇О涓哄繀杈撻」锛岃杈撳叆璐︽埛鍚嶇О鍚庡啀鎼滅储锛�");
+ return;
+ }
+
this.queryParams.pageNum = 1;
this.getList();
},
@@ -241,7 +354,7 @@
handleAdd() {
this.reset();
this.open = true;
- this.title = "娣诲姞澶栧洿鍗曚綅浜哄憳";
+ this.title = "娣诲姞浜哄憳/鍗曚綅璐﹀彿淇℃伅";
},
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
@@ -250,7 +363,7 @@
getExternalperson(id).then((response) => {
this.form = response.data;
this.open = true;
- this.title = "浜哄憳淇℃伅淇敼";
+ this.title = "浜哄憳/鍗曚綅璐﹀彿淇℃伅淇敼";
});
},
/** 鎻愪氦鎸夐挳 */
@@ -261,13 +374,19 @@
updateExternalperson(this.form).then((response) => {
this.$modal.msgSuccess("淇敼鎴愬姛");
this.open = false;
+ this.queryParams.username = this.form.username;
this.getList();
});
} else {
- addExternalperson(this.form).then((response) => {
- this.$modal.msgSuccess("鏂板鎴愬姛");
- this.open = false;
- this.getList();
+ getOnlyCode(this.seqnoParams).then((res) => {
+ this.form.userno = res.data.currentvalue;
+
+ addExternalperson(this.form).then((response) => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.open = false;
+ this.queryParams.username = this.form.username;
+ this.getList();
+ });
});
}
}
@@ -277,7 +396,7 @@
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal
- .confirm('鏄惁纭鍒犻櫎澶栧洿鍗曚綅浜哄憳缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�')
+ .confirm('鏄惁纭鍒犻櫎浜哄憳/鍗曚綅璐﹀彿淇℃伅缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�')
.then(function () {
return delExternalperson(ids);
})
@@ -291,7 +410,7 @@
handleExport() {
const queryParams = this.queryParams;
this.$modal
- .confirm("鏄惁纭瀵煎嚭鎵�鏈夊鍥村崟浣嶄汉鍛樻暟鎹」锛�")
+ .confirm("鏄惁纭瀵煎嚭鎵�鏈変汉鍛�/鍗曚綅璐﹀彿淇℃伅鏁版嵁椤癸紵")
.then(() => {
this.exportLoading = true;
return exportExternalperson(queryParams);
@@ -302,6 +421,19 @@
})
.catch(() => { });
},
+
+ //鑾峰彇鍖荤枟鏈烘瀯鍒楄〃
+ getUnitList() {
+ listOrganization(3).then(response => {
+ for (let i = 0; i < response.rows.length; i++) {
+ this.unitList.push({
+ //organizationid: response.rows[i].organizationid,
+ organizationid: response.rows[i].id,
+ organizationname: response.rows[i].organizationname
+ });
+ }
+ });
+ },
},
};
</script>
--
Gitblit v1.9.3