From 21fe2968337eb8eab97adc88750b71c4057e98f8 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 17 七月 2024 15:39:46 +0800 Subject: [PATCH] 11 --- src/views/project/externalperson/index.vue | 347 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 268 insertions(+), 79 deletions(-) diff --git a/src/views/project/externalperson/index.vue b/src/views/project/externalperson/index.vue index 995715b..0ece431 100644 --- a/src/views/project/externalperson/index.vue +++ b/src/views/project/externalperson/index.vue @@ -1,59 +1,148 @@ <template> <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="80px"> + <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-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" - @keyup.enter.native="handleQuery" /> + <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-option v-for="dict in dict.type.sys_UserType" :key="dict.value" :label="dict.label" :value="dict.value" /> + <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> <el-form-item> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> + <el-button + type="primary" + icon="el-icon-search" + size="mini" + @click="handleQuery" + >鎼滅储</el-button + > + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" + >閲嶇疆</el-button + > </el-form-item> </el-form> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> - <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" - v-hasPermi="['project:externalperson:add']">鏂板</el-button> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['project:externalperson:add']" + >鏂板</el-button + > </el-col> <el-col :span="1.5"> - <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" - v-hasPermi="['project:externalperson:edit']">淇敼</el-button> + <el-button + type="success" + plain + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['project:externalperson:edit']" + >淇敼</el-button + > </el-col> <el-col :span="1.5"> - <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" - v-hasPermi="['project:externalperson:remove']">鍒犻櫎</el-button> + <el-button + type="danger" + plain + icon="el-icon-delete" + size="mini" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['project:externalperson:remove']" + >鍒犻櫎</el-button + > </el-col> <el-col :span="1.5"> - <el-button type="warning" plain icon="el-icon-download" size="mini" :loading="exportLoading" @click="handleExport" - v-hasPermi="['project:externalperson:export']">瀵煎嚭</el-button> + <el-button + type="warning" + plain + icon="el-icon-download" + size="mini" + :loading="exportLoading" + @click="handleExport" + v-hasPermi="['project:externalperson:export']" + >瀵煎嚭</el-button + > </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> + <right-toolbar + :showSearch.sync="showSearch" + @queryTable="getList" + ></right-toolbar> </el-row> - <el-table v-loading="loading" :data="externalpersonList" @selection-change="handleSelectionChange"> + <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="usertype"> <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_UserType" :value="scope.row.usertype" /> + <dict-tag + :options="dict.type.sys_UserType" + :value="scope.row.usertype" + /> </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="韬唤璇佸彿" + 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" /> + <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"> @@ -68,44 +157,90 @@ </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"> + <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)" - >鍒犻櫎</el-button> + <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)" + >鍒犻櫎</el-button + > </template> </el-table-column> </el-table> - <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" - @pagination="getList" /> + <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 :close-on-click-modal="false"> + <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="usertype"> + <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-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-col :span="12"> <el-form-item label="璐﹀彿缂栧彿" prop="userno"> - <el-input disabled=true v-model="form.userno" placeholder="璇疯緭鍏ヨ处鍙风紪鍙�" /> </el-form-item> + <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="username"> - <el-input v-model="form.username" placeholder="璇疯緭鍏ヨ处鍙峰悕绉�" /> </el-form-item> + <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-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 + 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> @@ -113,57 +248,94 @@ <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-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-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-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="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-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 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 + v-model="form.unitno" + 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-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 :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-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="address"> - <el-input v-model="form.address" placeholder="璇疯緭鍏ヨ仈绯诲湴鍧�" /> </el-form-item> + <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-input v-model="form.telephone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" /> + </el-form-item> </el-col> </el-row> <!-- @@ -190,7 +362,7 @@ addExternalperson, updateExternalperson, exportExternalperson, - getOnlyCode, + getOnlyCode } from "@/api/project/externalperson"; import { @@ -236,13 +408,13 @@ pageSize: 10, userno: null, username: null, - usertype: null, + usertype: null }, // 鏌ヨ鏈�鏂板簭鍙峰弬鏁� seqnoParams: { businessType: "externalperson", - datequery: false, + datequery: false }, // 琛ㄥ崟鍙傛暟 form: {}, @@ -265,7 +437,7 @@ ] }, //鏄惁鏄笓瀹惰垂鐨凮PO瀹℃壒浜哄憳 - ismanager: false, + ismanager: false }; }, created() { @@ -292,13 +464,18 @@ /** 鏌ヨ鍗曚綅銆佷汉鍛樿处鍙峰垪琛� */ getList() { - if (this.queryParams.username === null || this.queryParams.username.replace(/\s/g, '') == "") { - this.$modal.msgWarning("鏌ユ壘璐︽埛鏃讹紝璐︽埛鍚嶇О涓嶈兘涓虹┖锛岃杈撳叆璐︽埛鍚嶇О锛�"); + if ( + this.queryParams.username === null || + this.queryParams.username.replace(/\s/g, "") == "" + ) { + this.$modal.msgWarning( + "鏌ユ壘璐︽埛鏃讹紝璐︽埛鍚嶇О涓嶈兘涓虹┖锛岃杈撳叆璐︽埛鍚嶇О锛�" + ); return; } // this.loading = true; - listExternalperson(this.queryParams).then((response) => { + listExternalperson(this.queryParams).then(response => { this.externalpersonList = response.rows; this.total = response.total; // this.loading = false; @@ -324,15 +501,20 @@ updateBy: null, updateTime: null, pym: null, - wbm: null, + wbm: null }; this.resetForm("form"); }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { console.log("handleQuery", this.queryParams); - if (this.queryParams.username === null || this.queryParams.username.replace(/\s/g, '') == "") { - this.$modal.msgWarning("涓洪檺鍒舵壒閲忔煡鎵捐处鎴蜂俊鎭紝闄愬埗璐︽埛鍚嶇О涓哄繀杈撻」锛岃杈撳叆璐︽埛鍚嶇О鍚庡啀鎼滅储锛�"); + if ( + this.queryParams.username === null || + this.queryParams.username.replace(/\s/g, "") == "" + ) { + this.$modal.msgWarning( + "涓洪檺鍒舵壒閲忔煡鎵捐处鎴蜂俊鎭紝闄愬埗璐︽埛鍚嶇О涓哄繀杈撻」锛岃杈撳叆璐︽埛鍚嶇О鍚庡啀鎼滅储锛�" + ); return; } @@ -346,7 +528,7 @@ }, // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { - this.ids = selection.map((item) => item.id); + this.ids = selection.map(item => item.id); this.single = selection.length !== 1; this.multiple = !selection.length; }, @@ -360,7 +542,7 @@ handleUpdate(row) { this.reset(); const id = row.id || this.ids; - getExternalperson(id).then((response) => { + getExternalperson(id).then(response => { this.form = response.data; this.open = true; this.title = "浜哄憳/鍗曚綅璐﹀彿淇℃伅淇敼"; @@ -368,20 +550,26 @@ }, /** 鎻愪氦鎸夐挳 */ submitForm() { - this.$refs["form"].validate((valid) => { + this.$refs["form"].validate(valid => { if (valid) { + console.log("unitList", this.unitList); + this.unitList.map(res => { + if (res.organizationid == this.form.unitno) + this.form.unitname = res.organizationname; + }); + console.log(this.form); if (this.form.id != null) { - updateExternalperson(this.form).then((response) => { + updateExternalperson(this.form).then(response => { this.$modal.msgSuccess("淇敼鎴愬姛"); this.open = false; this.queryParams.username = this.form.username; this.getList(); }); } else { - getOnlyCode(this.seqnoParams).then((res) => { + getOnlyCode(this.seqnoParams).then(res => { this.form.userno = res.data.currentvalue; - addExternalperson(this.form).then((response) => { + addExternalperson(this.form).then(response => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.open = false; this.queryParams.username = this.form.username; @@ -397,14 +585,14 @@ const ids = row.id || this.ids; this.$modal .confirm('鏄惁纭鍒犻櫎浜哄憳/鍗曚綅璐﹀彿淇℃伅缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�') - .then(function () { + .then(function() { return delExternalperson(ids); }) .then(() => { this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) - .catch(() => { }); + .catch(() => {}); }, /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { @@ -415,11 +603,11 @@ this.exportLoading = true; return exportExternalperson(queryParams); }) - .then((response) => { + .then(response => { this.$download.name(response.msg); this.exportLoading = false; }) - .catch(() => { }); + .catch(() => {}); }, //鑾峰彇鍖荤枟鏈烘瀯鍒楄〃 @@ -428,12 +616,13 @@ for (let i = 0; i < response.rows.length; i++) { this.unitList.push({ //organizationid: response.rows[i].organizationid, - organizationid: response.rows[i].id, + organizationid: response.rows[i].id.toString(), organizationname: response.rows[i].organizationname }); + console.log(this.unitList); } }); - }, - }, + } + } }; </script> -- Gitblit v1.9.3