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