From 31cb4bc988bdbb3a171d0cc704ff09eeeeccb524 Mon Sep 17 00:00:00 2001 From: qx <1084500556@qq.com> Date: 星期五, 23 五月 2025 17:26:28 +0800 Subject: [PATCH] qx --- src/views/system/comp/index.vue | 24 +++--- src/views/reservation/career/index.vue | 16 ++-- src/api/team/tuanti.js | 16 ++++ src/views/system/manual/index.vue | 167 ++++++++++++++++++++++++++++------------- 4 files changed, 150 insertions(+), 73 deletions(-) diff --git a/src/api/team/tuanti.js b/src/api/team/tuanti.js index 8df59b8..d2c6542 100644 --- a/src/api/team/tuanti.js +++ b/src/api/team/tuanti.js @@ -82,4 +82,20 @@ }) } +// 鑾峰彇鑱屼笟鍗曚綅淇℃伅闆嗗悎 +export function getZybCompList() { + return request({ + url: '/system/comp/getZybCompList', + method: 'get', + }) +} + +//鑱屼笟鍥綋棰勭害纭鎺ュ彛 (鏂扮増鏈�) +export function newReservationConfirmxbb(data) { + return request({ + url: '/zhiye/order/newReservationConfirmxbb' , + method: 'post', + data:data + }) +} diff --git a/src/views/reservation/career/index.vue b/src/views/reservation/career/index.vue index 366c8b2..fcdd1c8 100644 --- a/src/views/reservation/career/index.vue +++ b/src/views/reservation/career/index.vue @@ -99,8 +99,8 @@ <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> - <el-upload ref="upload" :limit="1" :key="uploadKey" accept=".xls" :headers="upload.headers" :data="data" - :action="upload.url" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" + <el-upload ref="upload" :limit="1" :key="uploadKey" accept=".xls" :headers="upload.headers" + :action="upload.url" :data="data" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag> <i class="el-icon-upload"></i> <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div> @@ -227,8 +227,8 @@ newExcelImport, } from "@/api/system/comp"; import { - newConfirm, - getCompany, + newReservationConfirmxbb, + getZybCompList, queryCompany, getconfigKey, } from "@/api/team/tuanti"; @@ -339,7 +339,7 @@ // 涓婁紶鐨勫湴鍧� url: process.env.VUE_APP_BASE_API + - "/reservation/reservation/newExcelImportNotDwDeptId", + "/zhiye/order/newExcelImportNotDwDeptId", }, // 鏌ヨ鍙傛暟 queryParam: { @@ -622,7 +622,7 @@ console.log(res, 1111); this.objs.yxts = res.msg; }); - getCompany(this.queryParam).then((response) => { + getZybCompList(this.queryParam).then((response) => { this.CompanyList = response.data; this.total = response.total; this.loading = false; @@ -705,7 +705,7 @@ /** 涓嬭浇妯℃澘鎿嶄綔 */ importTemplate() { this.download( - "/reservation/reservation/importTemplate", + "/zhiye/order/importTemplate", {}, `鑱屼笟鍥綋棰勭害Excel妯$増.xls` ); @@ -857,7 +857,7 @@ yxts: this.objs.yxts, dwId: this.data.dwId, }; - newConfirm(data).then((res) => { + newReservationConfirmxbb(data).then((res) => { this.$modal.msgSuccess("鎻愪氦鎴愬姛"); this.confirm = true; this.userList = []; diff --git a/src/views/system/comp/index.vue b/src/views/system/comp/index.vue index ea202b1..7097c31 100644 --- a/src/views/system/comp/index.vue +++ b/src/views/system/comp/index.vue @@ -548,8 +548,8 @@ :inline="true" @submit.native.prevent > - <el-form-item label="鍗曚綅绫诲瀷" prop="isZybUnit"> - <el-radio-group v-model="form.isZybUnit"> + <el-form-item label="鍗曚綅绫诲瀷" prop="dwlx"> + <el-radio-group v-model="form.dwlx"> <el-radio :label="0">鏅�氬崟浣�</el-radio> <el-radio :label="1">鑱屼笟鐥呭崟浣�</el-radio> </el-radio-group> @@ -607,13 +607,13 @@ style="width: 1058px" /> </el-form-item> - <el-form-item label="鎵�灞炲湴鍖�" prop="zybCode" v-if="form.isZybUnit"> - <el-input v-model="form.zybCode" placeholder="璇疯緭鍏ユ墍灞炲湴鍖�" /> + <el-form-item label="鎵�灞炲湴鍖�" prop="ssdq" v-if="form.dwlx == 1"> + <el-input v-model="form.ssdq" placeholder="璇疯緭鍏ユ墍灞炲湴鍖�" /> </el-form-item> <el-form-item label="闅跺睘鍏崇郴" - prop="industryType" - v-if="form.isZybUnit" + prop="lsgx" + v-if="form.dwlx == 1" > <!-- <el-input v-model="form.industryType" @@ -621,7 +621,7 @@ /> --> <el-select filterable - v-model="form.industryType" + v-model="form.lsgx" placeholder="璇烽�夋嫨闅跺睘鍏崇郴" clearable style="width: 186px" @@ -634,10 +634,10 @@ /> </el-select> </el-form-item> - <el-form-item label="缁忔祹绫诲瀷" prop="jjType" v-if="form.isZybUnit"> + <el-form-item label="缁忔祹绫诲瀷" prop="jjlx" v-if="form.dwlx == 1"> <el-select filterable - v-model="form.jjType" + v-model="form.jjlx" placeholder="璇烽�夋嫨缁忔祹绫诲瀷" clearable style="width: 186px" @@ -650,10 +650,10 @@ /> </el-select> </el-form-item> - <el-form-item label="浼佷笟瑙勬ā" prop="qygm" v-if="form.isZybUnit"> + <el-form-item label="浼佷笟瑙勬ā" prop="qygm" v-if="form.dwlx == 1"> <el-input v-model="form.qygm" placeholder="璇疯緭鍏ヤ紒涓氳妯�" /> </el-form-item> - <el-form-item label="琛屼笟鍒嗙被" prop="hyfl" v-if="form.isZybUnit"> + <el-form-item label="琛屼笟鍒嗙被" prop="hyfl" v-if="form.dwlx == 1"> <el-select filterable v-model="form.hyfl" @@ -669,7 +669,7 @@ /> </el-select> </el-form-item> - <el-form-item label="椋庨櫓璇勪及" prop="fxpg" v-if="form.isZybUnit"> + <el-form-item label="椋庨櫓璇勪及" prop="fxpg" v-if="form.dwlx == 1"> <el-select filterable v-model="form.fxpg" diff --git a/src/views/system/manual/index.vue b/src/views/system/manual/index.vue index 32281a4..1dda597 100644 --- a/src/views/system/manual/index.vue +++ b/src/views/system/manual/index.vue @@ -27,7 +27,12 @@ <el-row :gutter="20"> <el-col :span="11" :xs="24"> - <el-table border v-loading="loading" :data="groupingList" height="350" @selection-change="handleChange"> + <el-table :data="groupingList" border height="484" v-loading="loading" @row-click="handleChange"> + <el-table-column :prop="item" :label="item" v-for="(item, index) in table" :key="index" + :width="columnWidth(item)" align="center"> + </el-table-column> + </el-table> + <!-- <el-table border v-loading="loading" :data="groupingList" height="350" @selection-change="handleChange"> <el-table-column type="selection" width="40px" align="center" /> <el-table-column label="搴忓彿" align="center" prop="newID" width="50px" /> <el-table-column label="鍒嗙粍鍚嶇О" align="center" prop="groupingName" /> @@ -35,37 +40,23 @@ <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="pacName" /> - <el-table-column label="缁撶畻鏂瑰紡" align="center" prop="payType"> - <template slot-scope="scope"> +</el-table-column> +<el-table-column label="濂楅鍚嶇О" align="center" prop="pacName" /> +<el-table-column label="缁撶畻鏂瑰紡" align="center" prop="payType"> + <template slot-scope="scope"> <dict-tag :options="dict.type.reservation_pay_type" :value="scope.row.payType" /> </template> - </el-table-column> - <el-table-column label="鎶樻墸" align="center" prop="limits" /> - <el-table-column label="鍘熶环" align="center" prop="price" /> - <el-table-column label="搴旀敹" align="center" prop="ysPrice" /> - </el-table> +</el-table-column> +<el-table-column label="鎶樻墸" align="center" prop="limits" /> +<el-table-column label="鍘熶环" align="center" prop="price" /> +<el-table-column label="搴旀敹" align="center" prop="ysPrice" /> +</el-table> --> </el-col> <el-col :span="11" :xs="24"> - <el-table border v-loading="loading" :data="groupingList" height="350"> - <el-table-column type="selection" width="40px" align="center" /> - <el-table-column label="搴忓彿" align="center" prop="newID" width="50px" /> - <el-table-column label="鍒嗙粍鍚嶇О" align="center" prop="groupingName" /> - <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 :data="xxList" border height="484" v-loading="loading" @row-click="handleChange"> + <el-table-column :prop="item" :label="item" v-for="(item, index) in xxtable" :key="index" + :width="columnWidths(item)" align="center"> </el-table-column> - <el-table-column label="濂楅鍚嶇О" align="center" prop="pacName" /> - <el-table-column label="缁撶畻鏂瑰紡" align="center" prop="payType"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.reservation_pay_type" :value="scope.row.payType" /> - </template> - </el-table-column> - <el-table-column label="鎶樻墸" align="center" prop="limits" /> - <el-table-column label="鍘熶环" align="center" prop="price" /> - <el-table-column label="搴旀敹" align="center" prop="ysPrice" /> </el-table> </el-col> </el-row> @@ -89,24 +80,10 @@ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> </el-form-item> </el-form> - <el-table border v-loading="loading" :data="groupingList" height="350"> - <el-table-column type="selection" width="40px" align="center" /> - <el-table-column label="搴忓彿" align="center" prop="newID" width="50px" /> - <el-table-column label="鍒嗙粍鍚嶇О" align="center" prop="groupingName" /> - <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 :data="groupingList" border height="484" v-loading="loading"> + <el-table-column :prop="item" :label="item" v-for="(item, index) in table" :key="index" + :width="columnWidth(item)" align="center"> </el-table-column> - <el-table-column label="濂楅鍚嶇О" align="center" prop="pacName" /> - <el-table-column label="缁撶畻鏂瑰紡" align="center" prop="payType"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.reservation_pay_type" :value="scope.row.payType" /> - </template> - </el-table-column> - <el-table-column label="鎶樻墸" align="center" prop="limits" /> - <el-table-column label="鍘熶环" align="center" prop="price" /> - <el-table-column label="搴旀敹" align="center" prop="ysPrice" /> </el-table> </div> @@ -155,14 +132,13 @@ return { loading: false, tjStatus: 0, - groupingList: [ - { - price: 10 - } - ], + groupingList: [], + xxList: [], + table: [], + xxtable: [], queryParams: { tjh: null, - tblx: "jy", + tblx: "", }, forms: { tjNum: null, @@ -186,6 +162,9 @@ }, created() { // this.handleManual(); + if(this.tjStatus == 0){ + this.queryParams.tblx = "jy" + } }, methods: { radioChange(value) { @@ -194,7 +173,7 @@ } else if (value == 1) { this.queryParams.tblx = "jc" } - + this.resetQuery() }, handleManual() { shoudongtbjyjcwsxmjg(this.queryParams).then(res => { @@ -207,7 +186,11 @@ }) }, resetQuery() { - this.resetForm("queryForm"); + this.queryParams.tjh = null + this.groupingList = []; + this.table = []; + this.xxList = []; + this.xxtable = []; }, idFn1(value) { @@ -215,14 +198,92 @@ console.log(value) } }, + + handleQuery() { + this.loading = true chaxunjyjcwsxmjg(this.queryParams).then(res => { this.groupingList = res.data + this.loading = false + var array = [] + for (var i = 0; i < this.groupingList.length; i++) { + array = Object.keys(this.groupingList[i]); + let reg = /[\u4E00-\u9FA5\uF900-\uFA2D]/ + + array.forEach((element, index) => { + if (reg.test(element)) { + this.table.push(element) + } + }); + + this.table.sort(function (a, b) { + const numA = parseInt(a.match(/\d+/)[0], 10); + const numB = parseInt(b.match(/\d+/)[0], 10); + return numA - numB; + }); + return i + 1; + } }) }, - handleChange(selection) { + + columnWidth(item) { + const arr = this.groupingList.map((x) => x[item]); + if (arr.length > 0) { + arr.push(item); + return this.getMaxLength(arr) + 20 + "px"; + } + return 20 + "px"; }, + columnWidths(item) { + const arr = this.groupingList.map((x) => x[item]); + if (arr.length > 0) { + arr.push(item); + return this.getMaxLength(arr) + 100 + "px"; + } + return 100 + "px"; + }, + getMaxLength(arr) { + return arr.reduce((acc, item) => { + if (item) { + const calcLen = this.getTextWidth(item); + if (acc < calcLen) { + acc = calcLen; + } + } + return acc; + }, 0); + }, + getTextWidth(str) { + let width = 0; + const html = document.createElement("span"); + html.innerText = str; + html.className = "getTextWidth"; + document.querySelector("body").appendChild(html); + width = document.querySelector(".getTextWidth").offsetWidth; + document.querySelector(".getTextWidth").remove(); + return width; + }, + handleChange(rowData, columnName) { + this.xxList = rowData.jybgd + var array = [] + for (var i = 0; i < this.xxList.length; i++) { + array = Object.keys(this.xxList[i]); + let reg = /[\u4E00-\u9FA5\uF900-\uFA2D]/ + array.forEach((element, index) => { + if (reg.test(element)) { + this.xxtable.push(element) + } + }); + this.xxtable.sort(function (a, b) { + const numA = parseInt(a.match(/\d+/)[0], 10); + const numB = parseInt(b.match(/\d+/)[0], 10); + return numA - numB; + }); + return i + 1; + } + } + } }; </script> -- Gitblit v1.8.0