From e2035d4c9ef8d6f701860957318dd7ba7b27c5dc Mon Sep 17 00:00:00 2001
From: wwl <xchao828@163.com>
Date: 星期二, 07 一月 2025 15:23:23 +0800
Subject: [PATCH] 1

---
 src/views/system/comp/12.vue    | 1585 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/views/system/comp/index.vue |  173 +++--
 2 files changed, 1,680 insertions(+), 78 deletions(-)

diff --git a/src/views/system/comp/12.vue b/src/views/system/comp/12.vue
new file mode 100644
index 0000000..6d3c5dc
--- /dev/null
+++ b/src/views/system/comp/12.vue
@@ -0,0 +1,1585 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="鍗曚綅鍚嶇О" prop="cnName">
+        <el-input ref="inputName" v-model="queryParams.cnName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
+          style="margin: 0 15px">鎼滅储</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" icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['system:comp:add']">鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['system:comp:edit']">淇敼</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['system:comp:remove']">鍒犻櫎</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport"
+          v-hasPermi="['system:comp:export']">瀵煎嚭</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" @click="mainDepartment"
+          v-hasPermi="['system:comp:edit']">缁存姢濂楅</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table border v-loading="loading" :data="compList" @selection-change="handleSelectionChange">
+      <el-table-column fixed="left" type="selection" width="40px" align="center" />
+      <el-table-column label="搴忓彿" align="center" prop="newID" :show-overflow-tooltip="true" width="50px" fixed="left" />
+      <el-table-column label="鍗曚綅鍚嶇О" align="center" prop="cnName" width="240px" />
+      <el-table-column label="缁熶竴淇$敤浠g爜" align="center" prop="taxNumber" width="180px" />
+      <el-table-column label="鑱旂郴浜�" align="center" prop="contactPerson" :show-overflow-tooltip="true" width="90px" />
+      <el-table-column label="鑱旂郴鐢佃瘽" align="center" prop="contactPhone" :show-overflow-tooltip="true" />
+      <el-table-column label="娉ㄥ唽鍦板潃" align="center" prop="registerAddress" :show-overflow-tooltip="true" />
+      <!-- <el-table-column label="浼佷笟绫诲瀷" align="center" prop="typeOfEnterprise" :show-overflow-tooltip="true">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.dict_comp_type" :value="scope.row.typeOfEnterprise"/>
+        </template>
+</el-table-column> -->
+      <el-table-column label="琛屾斂鍖哄垝" align="center" prop="areaName" :show-overflow-tooltip="true" />
+      <el-table-column label="閫氳鍦板潃" align="center" prop="mailingAddress" :show-overflow-tooltip="true" />
+      <el-table-column label="閭" align="center" prop="email" :show-overflow-tooltip="true" />
+      <el-table-column label="寮�鎴烽摱琛�" align="center" prop="bankAccount" :show-overflow-tooltip="true" />
+      <el-table-column label="閾惰璐﹀彿" align="center" prop="countNum" :show-overflow-tooltip="true" />
+      <!-- <el-table-column label="GMP鍙戣瘉鏃ユ湡" align="center" prop="gmpissueDate" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.gmpissueDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column> -->
+      <!-- <el-table-column label="缁忚惀璁稿彲璇佸彿" align="center" prop="businessLicenseNumber" /> -->
+      <!-- <el-table-column label="GMP鏈夋晥鎴鏃ユ湡" align="center" prop="gmpDeadlineDate" width="110px" :show-overflow-tooltip="true">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.gmpDeadlineDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column> -->
+      <!-- <el-table-column label="GMP寤剁画鏃ユ湡" align="center" prop="gmpDelayDate" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.gmpDelayDate, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column> -->
+      <!-- <el-table-column label="GMP璇佷功鍥剧墖(base64缂栫爜)" align="center" prop="gmpPhoto" width="100">
+        <template slot-scope="scope">
+          <image-preview :src="scope.row.gmpPhoto" :width="50" :height="50"/>
+        </template>
+      </el-table-column> -->
+      <el-table-column label="澶囨敞" align="center" prop="remark" :show-overflow-tooltip="true" />
+      <!-- <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column> -->
+      <el-table-column label="淇敼浜�" align="center" prop="updateBy" :show-overflow-tooltip="true" width="100px" />
+      <el-table-column label="淇敼鏃堕棿" align="center" prop="updateTime" width="100px" :show-overflow-tooltip="true">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.updateTime, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="鎺掑簭" align="center" prop="orderNum" :show-overflow-tooltip="true" width="55px" />
+      <!-- <el-table-column label="鏁版嵁鐘舵��(PT10.00.004)" align="center" prop="effective">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.dict_data_status" :value="scope.row.effective"/>
+        </template>
+      </el-table-column> -->
+      <!-- <el-table-column label="鏈夋晥鏃堕棿" align="center" prop="validTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.validTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column> -->
+      <el-table-column fixed="right" label="鎿嶄綔" align="center" class-name="small-padding fixed-width" width="70px">
+        <template slot-scope="scope">
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:comp:edit']" title="淇敼"></el-button>
+          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
+            v-hasPermi="['system:comp:remove']" title="鍒犻櫎"></el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <div class="pag">
+      <div class="pag1">
+        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize" @pagination="getList" />
+      </div>
+    </div>
+
+    <div>
+      <el-dialog :title="title" :visible.sync="opens" width="1350px" append-to-body :close-on-click-modal="false">
+        <el-row :gutter="20">
+          <el-col :span="7" :xs="24">
+            <div style="padding: 0 20px">
+              <el-form ref="form" :model="form" :rules="rules" label-width="80px" :inline="true">
+                <el-form-item label="濂楅鍚嶇О" prop="dwDeptName">
+                  <el-input v-model="form.dwDeptName" placeholder="璇疯緭鍏ュ椁愬悕绉�" />
+                </el-form-item>
+                <el-form-item label="绛剧害閲戦" prop="signingPrice">
+                  <el-input v-model="form.signingPrice" placeholder="璇疯緭鍏ョ绾﹂噾棰�" />
+                </el-form-item>
+              </el-form>
+              <el-row :gutter="10" class="mb8">
+                <el-col :span="1.5">
+                  <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddDept"
+                    v-hasPermi="['system:comp:add']">淇濆瓨濂楅</el-button>
+                </el-col>
+                <el-col :span="1.5">
+                  <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="singleg" @click="handledeleDept"
+                    v-hasPermi="['system:comp:edit']">鍒犻櫎</el-button>
+                </el-col>
+              </el-row>
+              <el-table ref="tb" v-loading="loading" :data="deptList" @selection-change="handleSelection" border
+                style="width: 320px" height="350">
+                <el-table-column type="selection" width="40px" align="center" />
+                <el-table-column label="濂楅鍚嶇О" align="center" prop="dwDeptName" />
+              </el-table>
+            </div>
+          </el-col>
+          <el-col :span="17" :xs="24">
+            <el-form ref="form" :model="forms" :rules="rules" label-width="78px" :inline="true">
+              <el-form-item label="鍒嗙粍鍚嶇О" prop="groupingName">
+                <el-input v-model="forms.groupingName" placeholder="璇疯緭鍏ュ垎缁勫悕绉�" style="width: 130px"
+                  @focus="changegroupingName" />
+              </el-form-item>
+              <el-form-item label="鎬у埆" prop="sex">
+                <el-select v-model="forms.sex" placeholder="璇烽�夋嫨鎬у埆" style="width: 120px" clearable
+                  :disabled="isSexDisabled">
+                  <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
+                    :value="dict.value" />
+                </el-select>
+              </el-form-item>
+              <!-- <el-form-item label="濂楅鍚嶇О" prop="pacName">
+                <el-input
+                  v-model="forms.pacName"
+                  placeholder="璇疯緭鍏ュ椁愬悕绉�"
+                  @focus="changeName"
+                  style="width: 130px"
+                />
+              </el-form-item> -->
+              <el-form-item label="鍘熶环" prop="price">
+                <el-input v-model="forms.price" placeholder="璇疯緭鍏ュ師浠�" style="width: 130px" />
+              </el-form-item>
+              <!-- <el-form-item label="鎶樻墸" prop="limits">
+                <el-input v-model="forms.limits" placeholder="璇疯緭鍏ユ姌鎵�" style="width: 130px" @change="numberChange" />
+              </el-form-item> -->
+
+              <el-form-item label="浼樻儬浠�" prop="ysPrice">
+                <el-input v-model="forms.ysPrice" placeholder="璇疯緭鍏ュ簲鏀�" style="width: 120px" />
+              </el-form-item>
+              <el-form-item label="缁撶畻鏂瑰紡" prop="payType">
+                <el-select v-model="forms.payType" placeholder="璇烽�夋嫨缁撶畻鏂瑰紡" style="width: 130px" clearable>
+                  <el-option v-for="dict in dict.type.reservation_pay_type" :key="dict.value" :label="dict.label"
+                    :value="dict.value" />
+                </el-select>
+              </el-form-item>
+              <el-form-item label="骞撮緞娈�">
+                <el-col :span="7">
+                  <el-input v-model="forms.ltAge" style="width: 53px" />
+                </el-col>
+                <el-col class="line" :span="1">-</el-col>
+                <el-col :span="9">
+                  <el-input v-model="forms.gtAge" style="width: 54px" />
+                </el-col>
+              </el-form-item>
+
+
+
+
+            </el-form>
+
+            <el-row :gutter="10" class="mb8">
+              <el-col :span="1.5">
+                <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleGroup">淇濆瓨</el-button>
+              </el-col>
+              <el-col :span="1.5">
+                <el-button type="primary" icon="el-icon-edit" size="mini" @click="xiangmuWh">椤圭洰缁存姢</el-button>
+              </el-col>
+              <el-col :span="1.5">
+                <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="singlegg"
+                  @click="GroupUpdate">閲嶇疆</el-button>
+                <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="singlegg"
+                  @click="deleteGroup">鍒犻櫎</el-button>
+              </el-col>
+            </el-row>
+            <el-table border ref="tbs" v-loading="loading" :data="groupingList" @selection-change="handleChange"
+              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-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>
+      </el-dialog>
+    </div>
+
+    <!-- 濂楅 -->
+    <div>
+      <el-dialog :title="title" :visible.sync="openss" width="1400px" append-to-body :close-on-click-modal="false">
+        <el-row :gutter="24">
+          <el-col :span="8" :xs="24">
+            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
+              <el-form-item label="濂楅鍚嶇О" prop="pacName">
+                <el-input ref="inputName" v-model="queryParams.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" clearable
+                  @keyup.enter.native="handleSearch" style="width: 140px" />
+              </el-form-item>
+              <el-form-item>
+                <el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearch">鎼滅储</el-button>
+                <!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> -->
+              </el-form-item>
+            </el-form>
+            <el-table ref="tbone" border v-loading="loading" :data="newpacName" @selection-change="handleChangeOne"
+              height="478">
+              <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="pacName">
+                <template slot-scope="scope">
+                  {{ scope.row.pacName + "/" + scope.row.price }}
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-col>
+          <el-col :span="6" :xs="24">
+            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="46px"
+              style="height: 35px">
+              <el-form-item label="鍚堣" prop="price">
+                <el-input ref="inputName" v-model="queryParams.price" placeholder="鍚堣" clearable style="width: 140px" />
+              </el-form-item>
+              <el-form-item>
+                <el-button icon="el-icon-refresh" size="mini" @click="resetQuerys">閲嶇疆</el-button>
+              </el-form-item>
+            </el-form>
+            <!-- <div style="color: red; font-size: 8px">
+              娉ㄩ噴锛氶紶鏍囧乏閿弻鍑婚�変腑琛屽彲鍒犻櫎
+            </div> -->
+            <!--       @row-dblclick="dbclick" -->
+            <el-table border v-loading="loading" :data="OnenewpacName" :row-class-name="tableRowClassName" height="478">
+              <el-table-column label="椤圭洰鍚嶇О/浠锋牸/鍏�" align="center" prop="proName">
+                <template slot-scope="scope">
+                  {{ scope.row.proName + "/" + scope.row.proPrice }}
+                </template>
+              </el-table-column>
+
+              <el-table-column label="鎿嶄綔" align="center" width="68">
+                <template slot-scope="scope">
+                  <el-button size="mini" type="text" icon="el-icon-delete"
+                    @click="handledbelete(scope.row)">鍒犻櫎</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-col>
+          <el-col :span="2" :xs="24">
+            <div style="margin: 240% 16%">
+              <el-button type="primary" size="medium " icon="el-icon-back" @click="resetright">纭� 璁�</el-button>
+            </div>
+          </el-col>
+          <el-col :span="8" :xs="24">
+            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
+              label-width="68px">
+              <el-form-item label="椤圭洰鍚嶇О" prop="proName">
+                <el-input ref="inputName" v-model="queryParams.proName" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable
+                  @keyup.enter.native="handleSearchFor" style="width: 140px" />
+              </el-form-item>
+              <el-form-item>
+                <el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearchFor">鎼滅储</el-button>
+              </el-form-item>
+            </el-form>
+            <el-table border v-loading="loading" ref="tre" :data="Treedata" @selection-change="handleChangesingle"
+              height="478">
+              <el-table-column type="selection" width="40px" align="center" />
+              <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" />
+              <el-table-column label="椤圭洰浠锋牸/鍏�" align="center" prop="proPrice" />
+            </el-table>
+          </el-col>
+        </el-row>
+        <div slot="footer" class="dialog-footer1">
+          <el-button type="primary" @click="submitrighr">纭� 瀹�</el-button>
+          <el-button @click="cancell">鍙� 娑�</el-button>
+        </div>
+      </el-dialog>
+    </div>
+
+    <div>
+      <el-dialog :title="title" :visible.sync="openOne" width="1400px" append-to-body :close-on-click-modal="false">
+        <el-row :gutter="24" v-if="!isTableVisible">
+
+          <el-col :span="11" :xs="24">
+            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="46px"
+              style="height: 35px">
+              <el-form-item label="鍘熶环">
+                <el-input ref="inputName" v-model="queryParams.price" placeholder="鍚堣" clearable style="width: 140px" />
+              </el-form-item>
+              <el-form-item label="浼樻儬">
+                <el-input-number ref="inputNumber" style="width: 150px" v-model="youhui" :precision="2" :step="0.1"
+                  @change="numberChange"></el-input-number>
+              </el-form-item>
+              <el-form-item label="鐜颁环">
+                <el-input ref="inputName" v-model="queryParams.xianprice" placeholder="鍚堣" clearable
+                  style="width: 140px" @input="changeXianjia" @blur="numberChange(youhui, youhui)" />
+              </el-form-item>
+              <el-form-item>
+                <el-button icon="el-icon-refresh" size="mini" @click="resetQuerys">閲嶇疆</el-button>
+              </el-form-item>
+            </el-form>
+            <el-table border v-loading="loading" :data="OnenewpacName" :row-class-name="tableRowClassName" height="478">
+              <el-table-column label="椤圭洰鍚嶇О/浠锋牸/鍏�" align="center" prop="proName">
+
+                <template slot-scope="scope">
+                  {{ scope.row.proName + "/" + scope.row.proPrice }}
+                </template>
+              </el-table-column>
+              <el-table-column label="鍘熶环" align="center" prop="proPrice"></el-table-column>
+              <el-table-column label="鎶樻墸">
+                <template slot-scope="scope">
+                  <!-- 鍙緭鍏ョ函鏁板瓧鎶樻墸 -->
+                  <el-input v-model.number="scope.row.limits" @input="validateDiscount(scope.row)" placeholder="杈撳叆鎶樻墸"
+                    size="small" type="number" min="0" step="1" max="10">
+                  </el-input>
+                </template>
+              </el-table-column>
+              <el-table-column label="鐜颁环" align="center" prop="ysPrice"></el-table-column>
+              <el-table-column label="鎿嶄綔" align="center" width="68">
+                <template slot-scope="scope">
+                  <el-button size="mini" type="text" icon="el-icon-delete"
+                    @click="handledbelete(scope.row)">鍒犻櫎</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-col>
+          <el-col :span="2" :xs="24">
+            <div style="margin: 240% 16%">
+              <el-button type="primary" size="medium " icon="el-icon-back"
+                style="writing-mode: vertical-rl; text-align: center;letter-spacing: 10px;" @click="resetright">纭�
+                璁�</el-button>
+            </div>
+          </el-col>
+          <el-col :span="11" :xs="24">
+            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
+              label-width="68px">
+              <el-form-item label="椤圭洰鍚嶇О" prop="proName">
+                <el-input ref="inputName" v-model="queryParams.proName" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable
+                  @keyup.enter.native="handleSearchFor" style="width: 140px" />
+              </el-form-item>
+              <el-form-item>
+                <el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearchFor">鎼滅储</el-button>
+              </el-form-item>
+            </el-form>
+            <el-table border v-loading="loading" ref="tre" :data="Treedata" @selection-change="handleChangesingle"
+              height="478" style="width: 70%">
+              <el-table-column type="selection" width="40px" align="center" />
+              <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" />
+              <el-table-column label="椤圭洰浠锋牸/鍏�" align="center" prop="proPrice" />
+            </el-table>
+          </el-col>
+        </el-row>
+        <!-- -=----------------------------------------------------- -->
+        <el-row :gutter="24" v-else>
+          <el-col :span="8" :xs="24">
+            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
+              <el-form-item label="濂楅鍚嶇О" prop="pacName">
+                <el-input ref="inputName" v-model="queryParams.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" clearable
+                  @keyup.enter.native="handleSearch" style="width: 140px" />
+              </el-form-item>
+              <el-form-item>
+                <el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearch">鎼滅储</el-button>
+                <!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> -->
+              </el-form-item>
+            </el-form>
+            <el-table ref="tbone" border v-loading="loading" :data="newpacName" @selection-change="handleChangeOne"
+              height="478">
+              <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="pacName">
+                <template slot-scope="scope">
+                  {{ scope.row.pacName + "/" + scope.row.price }}
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-col>
+          <el-col :span="6" :xs="24">
+            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="46px"
+              style="height: 35px">
+              <el-form-item label="鍚堣" prop="price">
+                <el-input ref="inputName" v-model="queryParams.price" placeholder="鍚堣" clearable style="width: 140px" />
+              </el-form-item>
+              <el-form-item>
+                <el-button icon="el-icon-refresh" size="mini" @click="resetQuerys">閲嶇疆</el-button>
+              </el-form-item>
+            </el-form>
+            <el-table border v-loading="loading" :data="OnenewpacName" :row-class-name="tableRowClassName" height="478">
+              <el-table-column label="椤圭洰鍚嶇О/浠锋牸/鍏�" align="center" prop="proName">
+
+                <template slot-scope="scope">
+                  {{ scope.row.proName + "/" + scope.row.proPrice }}
+                </template>
+              </el-table-column>
+              <el-table-column label="鍘熶环" align="center" prop="proPrice"></el-table-column>
+              <el-table-column label="鎿嶄綔" align="center" width="68">
+                <template slot-scope="scope">
+                  <el-button size="mini" type="text" icon="el-icon-delete"
+                    @click="handledbelete(scope.row)">鍒犻櫎</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-col>
+          <el-col :span="2" :xs="24">
+            <div style="margin: 240% 16%">
+              <el-button type="primary" size="medium " icon="el-icon-back"
+                style="writing-mode: vertical-rl; text-align: center;letter-spacing: 10px;"
+                @click="resetright">纭</el-button>
+            </div>
+          </el-col>
+          <el-col :span="8" :xs="24">
+            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
+              label-width="68px">
+              <el-form-item label="椤圭洰鍚嶇О" prop="proName">
+                <el-input ref="inputName" v-model="queryParams.proName" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable
+                  @keyup.enter.native="handleSearchFor" style="width: 140px" />
+              </el-form-item>
+              <el-form-item>
+                <el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearchFor">鎼滅储</el-button>
+              </el-form-item>
+            </el-form>
+            <el-table border v-loading="loading" ref="tre" :data="Treedata" @selection-change="handleChangesingle"
+              height="478" style="width: 70%">
+              <el-table-column type="selection" width="40px" align="center" />
+              <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" width="130" />
+              <el-table-column label="椤圭洰浠锋牸/鍏�" align="center" prop="proPrice" width="100" />
+            </el-table>
+          </el-col>
+        </el-row>
+        <div slot="footer" class="dialog-footer1">
+          <el-button type="primary" @click="submitrighr">纭骞朵繚瀛�</el-button>
+          <el-button @click="cancell">鍙� 娑�</el-button>
+        </div>
+      </el-dialog>
+    </div>
+
+    <!-- 娣诲姞鎴栦慨鏀逛綋妫�鍗曚綅淇℃伅缁存姢瀵硅瘽妗� -->
+    <div class="dia">
+      <el-dialog :title="title" :visible.sync="open" width="1340px" append-to-body>
+        <el-form ref="form" :model="form" :rules="rules" label-width="106px" :inline="true">
+          <el-form-item label="鍗曚綅鍚嶇О" prop="cnName">
+            <el-input v-model="form.cnName" placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�" style="width: 520px" />
+          </el-form-item>
+          <el-form-item label="缁熶竴淇$敤浠g爜" prop="taxNumber">
+            <el-input v-model="form.taxNumber" placeholder="璇疯緭鍏ョ粺涓�淇$敤浠g爜" style="width: 520px" />
+          </el-form-item>
+          <el-form-item label="娉曚汉浠h〃" prop="legalPerson">
+            <el-input v-model="form.legalPerson" placeholder="璇疯緭鍏ユ硶浜�" />
+          </el-form-item>
+          <el-form-item label="鑱旂郴浜�" prop="contactPerson">
+            <el-input v-model="form.contactPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉" />
+          </el-form-item>
+          <el-form-item label="鑱旂郴鐢佃瘽" prop="contactPhone">
+            <el-input v-model="form.contactPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
+          </el-form-item>
+          <el-form-item label="浼犵湡" prop="faxNumber">
+            <el-input v-model="form.faxNumber" placeholder="璇疯緭鍏ヤ紶鐪�" />
+          </el-form-item>
+
+          <!-- <el-form-item label="缂栫爜" prop="code">
+          <el-input v-model="form.code" placeholder="璇疯緭鍏ョ紪鐮�" />
+        </el-form-item> -->
+
+          <el-form-item label="娉ㄥ唽鍦板潃" prop="registerAddress">
+            <el-input v-model="form.registerAddress" placeholder="璇疯緭鍏ユ敞鍐屽湴鍧�" style="width: 1157px" />
+          </el-form-item>
+          <el-form-item label="閫氳鍦板潃" prop="mailingAddress">
+            <el-input v-model="form.mailingAddress" placeholder="璇疯緭鍏ラ�氳鍦板潃" style="width: 1157px" />
+          </el-form-item>
+          <el-form-item label="寮�鎴烽摱琛�" prop="bankAccount">
+            <el-input v-model="form.bankAccount" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" style="width: 520px" />
+          </el-form-item>
+          <el-form-item label="閾惰璐︽埛" prop="countNum">
+            <el-input v-model="form.countNum" placeholder="璇疯緭鍏ラ摱琛岃处鎴�" style="width: 520px" />
+          </el-form-item>
+          <el-form-item label="鑱旂郴閭" prop="email">
+            <el-input v-model="form.email" placeholder="璇疯緭鍏ラ偖绠�" />
+          </el-form-item>
+          <el-form-item label="璐熻矗浜�" prop="principal">
+            <el-input v-model="form.principal" placeholder="璇疯緭鍏ヨ礋璐d汉" />
+          </el-form-item>
+          <el-form-item label="缃戝潃" prop="url">
+            <el-input v-model="form.url" placeholder="璇疯緭鍏ョ綉鍧�" />
+          </el-form-item>
+
+          <el-form-item label="琛屾斂鍖哄垝鍚嶇О" prop="areaName">
+            <el-input v-model="form.areaName" placeholder="璇疯緭鍏ヨ鏀垮尯鍒掑悕绉�" />
+          </el-form-item>
+          <!-- <el-form-item label="浼佷笟绫诲瀷" prop="typeOfEnterprise">
+          <el-select v-model="form.typeOfEnterprise" placeholder="璇烽�夋嫨浼佷笟绫诲瀷">
+            <el-option
+              v-for="dict in dict.type.dict_comp_type"
+              :key="dict.value"
+              :label="dict.label"
+:value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item> -->
+          <!-- <el-form-item label="琛屾斂鍖哄垝id" prop="areaid">
+          <el-input v-model="form.areaid" placeholder="璇疯緭鍏ヨ鏀垮尯鍒抜d" />
+        </el-form-item> -->
+          <!-- <el-form-item label="GMP璇佷功缂栧彿" prop="gmpNo">
+          <el-input v-model="form.gmpNo" placeholder="璇疯緭鍏MP璇佷功缂栧彿" />
+        </el-form-item> -->
+          <!-- <el-form-item label="GMP鍙戣瘉鏃ユ湡" prop="gmpissueDate">
+          <el-date-picker clearable
+            v-model="form.gmpissueDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨GMP鍙戣瘉鏃ユ湡">
+          </el-date-picker>
+        </el-form-item> -->
+          <!-- <el-form-item label="缁忚惀璁稿彲璇佸彿" prop="businessLicenseNumber">
+          <el-input v-model="form.businessLicenseNumber" placeholder="璇疯緭鍏ョ粡钀ヨ鍙瘉鍙�" />
+        </el-form-item> -->
+          <!-- <el-form-item label="GMP鏈夋晥鎴鏃ユ湡" prop="gmpDeadlineDate">
+          <el-date-picker clearable
+            v-model="form.gmpDeadlineDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨GMP鏈夋晥鎴鏃ユ湡">
+          </el-date-picker>
+        </el-form-item> -->
+          <!-- <el-form-item label="GMP璁よ瘉鑼冨洿" prop="gmpRange">
+          <el-input v-model="form.gmpRange" placeholder="璇疯緭鍏MP璁よ瘉鑼冨洿" />
+        </el-form-item> -->
+          <!-- <el-form-item label="GMP寤剁画鑼冨洿" prop="gmpDelayRange">
+          <el-input v-model="form.gmpDelayRange" placeholder="璇疯緭鍏MP寤剁画鑼冨洿" />
+        </el-form-item> -->
+          <!-- <el-form-item label="GMP寤剁画鏃ユ湡" prop="gmpDelayDate">
+          <el-date-picker clearable
+            v-model="form.gmpDelayDate"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="璇烽�夋嫨GMP寤剁画鏃ユ湡">
+          </el-date-picker>
+        </el-form-item> -->
+          <!-- <el-form-item label="GMP璇佷功鍥剧墖(base64缂栫爜)">
+          <image-upload v-model="form.gmpPhoto"/>
+        </el-form-item> -->
+          <!-- <el-form-item label="鎺掑簭" prop="orderNum">
+            <el-input v-model="form.orderNum" placeholder="璇疯緭鍏ユ帓搴�" />
+          </el-form-item> -->
+          <!-- <el-form-item label="鏁版嵁鐘舵��(PT10.00.004)" prop="effective">
+          <el-select v-model="form.effective" placeholder="璇烽�夋嫨鏁版嵁鐘舵��(PT10.00.004)">
+            <el-option
+              v-for="dict in dict.type.dict_data_status"
+              :key="dict.value"
+              :label="dict.label"
+:value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item> -->
+          <!-- <el-form-item label="鎷奸煶" prop="spell">
+          <el-input v-model="form.spell" placeholder="璇疯緭鍏ユ嫾闊�" />
+        </el-form-item> -->
+          <!-- <el-form-item label="鏈夋晥鏃堕棿" prop="validTime">
+            <el-date-picker clearable v-model="form.validTime" type="date" value-format="yyyy-MM-dd"
+              placeholder="璇烽�夋嫨鏈夋晥鏃堕棿">
+            </el-date-picker>
+          </el-form-item><br> -->
+          <el-form-item label="澶囨敞" prop="remark">
+            <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" :rows="2" label-width="400px"
+              style="width: 830px" resize="none"></el-input>
+          </el-form-item>
+          <!-- <el-form-item label="浜旂瑪绠�鐮�" prop="wbm">
+          <el-input v-model="form.wbm" placeholder="璇疯緭鍏ヤ簲绗旂畝鐮�" />
+        </el-form-item> -->
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
+          <el-button @click="cancel">鍙� 娑�</el-button>
+        </div>
+      </el-dialog>
+    </div>
+  </div>
+</template>
+
+<script>
+import Big from 'big.js';
+import {
+  listComp,
+  getComp,
+  delComp,
+  addComp,
+  updateComp,
+  addDept,
+  Deptlist,
+  deldwdept,
+  getDwAndDwDept,
+  dwgrouping,
+  getProjectList,
+  getPackageList,
+  delegrouping,
+  getDetails,
+} from "@/api/system/comp";
+import { deptTreeSelect, projectGetList, getconfigKey } from "@/api/system/tijian";
+import { getInfo } from "@/api/login";
+export default {
+  name: "Comp",
+  dicts: [
+    "dict_comp_type",
+    "dict_data_status",
+    "sys_user_sex",
+    "reservation_pay_type",
+  ],
+  data() {
+    let checkPhoneNum = (rule, value, callback) => {
+      let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
+      if (value == "" && value == undefined && !value) {
+        return callback("");
+      } else if (value != undefined && value != "") {
+        return callback();
+      } else if (!patter.test(value)) {
+        return callback("");
+      }
+    };
+    return {
+      // 閬僵灞�
+      loading: true,
+      Treedata: [],
+      getInfodis: 0,
+      id: "",
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 鎺у埗鎬у埆閫夋嫨妗嗘槸鍚︾鐢�
+      isSexDisabled: false,
+      dwIds: [],
+      groupIds: [],
+      deptList: [],
+      selectionList: [],
+      newpacName: [],
+      OnenewpacName: [],
+      pacList: [],
+      dataList: [],
+      groupList: [],
+      dataLists: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      singleg: true,
+      singlegg: true,
+      isfalse: false,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 鏄剧ず鎼滅储鏉′欢
+      showSearch: true,
+      // 鎬绘潯鏁�
+      total: 0,
+      // 浣撴鍗曚綅淇℃伅缁存姢琛ㄦ牸鏁版嵁
+      compList: [],
+      groupingList: [],
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      opens: false,
+      openss: false,
+      openOne: false,
+      // 鏌ヨ鍙傛暟
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        cnName: null,
+        enName: null,
+        code: null,
+        price: null,
+        xianprice: null,
+        limits: null
+      },
+      id: "",
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      forms: {
+        limits: 10,
+        ltAge: 0,
+        gtAge: 100,
+        groupingName: "",
+        pacName: "",
+        payType: "1",
+        sex: "2",
+      },
+      sfzs: '',
+      youhui: '',
+      a: '',
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        cnName: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
+        dwDeptName: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        groupingName: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        gtAge: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
+        limits: [{ required: false, validator: checkPhoneNum, trigger: "blur" }],
+        ltAge: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
+        /*  pacName: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ], */
+        payType: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        sex: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
+
+        deleted: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        contactPerson: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        contactPhone: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        // taxNumber: [
+        //   { required: true, validator: checkPhoneNum, trigger: "blur" },
+        // ],
+        // legalPerson: [
+        //   { required: true, validator: checkPhoneNum, trigger: "blur" },
+        // ],
+        // registerAddress: [
+        //   { required: true, validator: checkPhoneNum, trigger: "blur" },
+        // ],
+        // bankAccount: [
+        //   { required: true, validator: checkPhoneNum, trigger: "blur" },
+        // ],
+        // countNum: [
+        //   { required: true, validator: checkPhoneNum, trigger: "blur" },
+        // ],
+        // principal: [
+        //   { required: true, validator: checkPhoneNum, trigger: "blur" },
+        // ],
+        // faxNumber: [
+        //   { required: true, validator: checkPhoneNum, trigger: "blur" },
+        // ],
+        // mailingAddress: [
+        //   { required: true, validator: checkPhoneNum, trigger: "blur" },
+        // ],
+        // email: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
+      },
+    };
+  },
+  computed: {
+    // 鏍规嵁 sfzs 瀛楁鐨勫�兼潵鎺у埗琛ㄦ牸鏄惁鏄剧ず
+    isTableVisible() {
+      return this.sfzs === 'Y';
+    }
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    changeXianjia() {
+      // 鍘熷鎶樻墸鐜囪绠�
+
+
+      this.youhui = (Math.floor((this.queryParams.xianprice / this.queryParams.price) * 100) / 100) * 10
+
+    },
+    validateDiscount(row) {
+      if (row.limits > 10) {
+        row.limits = 10; // 寮哄埗灏嗗�艰缃负鏈�澶у��
+      } else if (row.limits < 0) {
+        row.limits = 0; // 寮哄埗灏嗗�艰缃负鏈�灏忓��
+      }
+      this.updateProPrice(row); // 鏇存柊浠锋牸鎴栧叾浠栭�昏緫
+    },
+    updateProPrice(row) {
+
+      const proPrice = new Big(row.proPrice);
+
+      const limits = new Big(row.limits);
+      const result = proPrice.times(limits.div(10));  // ordPrice * (discount / 10)
+      row.ysPrice = result.toNumber();
+      this.queryParams.xianprice = this.OnenewpacName.reduce((sum, item) => {
+        return sum.plus(new Big(item.ysPrice || '0'));
+      }, new Big(0)).toNumber();
+      this.youhui = (Math.floor((this.queryParams.xianprice / this.queryParams.price) * 100) / 100) * 10
+    },
+    getList() {
+      this.$nextTick(() => {
+        this.$refs.inputName.focus();
+      }),
+        (this.loading = true);
+      listComp(this.queryParams).then((response) => {
+        this.compList = response.rows;
+
+        response.rows.forEach((item, index) => {
+          item.newID =
+            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+            index +
+            1;
+        });
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 鍙栨秷鎸夐挳
+    cancel() {
+      this.open = false;
+      this.opens = false;
+      this.$router.go(0);
+    },
+
+    // 鍙栨秷濂楅
+    cancell() {
+      this.openss = false;
+      this.openOne = false;
+      // this.reset();
+    },
+    // 琛ㄥ崟閲嶇疆
+    reset() {
+      this.form = {
+        drugManufacturerId: null,
+        cnName: null,
+        enName: null,
+        taxNumber: null,
+        legalPerson: null,
+        code: null,
+        contactPerson: null,
+        contactPhone: null,
+        typeOfEnterprise: null,
+        areaid: null,
+        areaName: null,
+        principal: null,
+        mailingAddress: null,
+        url: null,
+        email: null,
+        bankAccount: null,
+        faxNumber: null,
+        registerAddress: null,
+        gmpNo: null,
+        gmpissueDate: null,
+        businessLicenseNumber: null,
+        gmpDeadlineDate: null,
+        gmpRange: null,
+        gmpDelayRange: null,
+        gmpDelayDate: null,
+        gmpPhoto: null,
+        remark: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        orderNum: null,
+        effective: null,
+        spell: null,
+        validTime: null,
+        wbm: null,
+        deleted: null,
+      };
+      this.resetForm("form");
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    resetQuerys() {
+      (this.OnenewpacName = []),
+        (this.queryParams.price = 0),
+        this.$refs.tbone.toggleRowSelection(this.pacList[0], false);
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      selection.forEach((item) => {
+        this.form = item;
+      });
+      this.ids = selection.map((item) => item.drugManufacturerId);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
+    },
+    // 閮ㄩ棬琛ㄦ牸鍗曡鑾峰彇
+    handleSelection(selection) {
+      this.selectionList = selection;
+      if (selection.length > 1) {
+        let del_row = selection.shift();
+        this.$refs.tb.toggleRowSelection(del_row, false); //璁剧疆杩欎竴琛屽彇娑堥�変腑
+      }
+      this.dwIds = selection.map((item) => item.id);
+      this.singleg = !selection.length;
+      if (this.selectionList.length && this.selectionList[0].id) {
+        this.beCurrent();
+      } else {
+        this.GroupUpdate();
+      }
+
+      /* if (this.selectionList.length) {
+        // 濡傛灉绗竴涓〃鏍兼湁閫変腑椤癸紝閫変腑绗簩涓〃鏍煎搴旂殑鏁版嵁
+        const selectedDeptId = this.selectionList[0].id; // 鍋囪姣忎釜椤规湁涓�涓敮涓�鐨� id
+        const correspondingGroups = this.groupingList.filter(
+          (group) => group.deptId === selectedDeptId
+        );
+        this.groupList = correspondingGroups;
+      } else {
+        // 濡傛灉娌℃湁閫変腑浠讳綍椤癸紝娓呯┖绗簩涓〃鏍肩殑閫変腑椤�
+        this.groupList = [];
+        this.$refs.tbs.clearSelection();
+      } */
+    },
+    /** 鏂板鎸夐挳鎿嶄綔 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "娣诲姞浣撴鍗曚綅淇℃伅缁存姢";
+    },
+    /** 淇敼鎸夐挳鎿嶄綔 */
+    handleUpdate(row) {
+      this.reset();
+      const drugManufacturerId = row.drugManufacturerId || this.ids;
+      getComp(drugManufacturerId).then((response) => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "淇敼浣撴鍗曚綅淇℃伅缁存姢";
+      });
+    },
+    // 缁存姢閮ㄩ棬
+    mainDepartment() {
+      this.opens = true;
+
+      this.groupingList = [];
+
+      if (this.form.drugManufacturerId) {
+        this.beCurrentDept();
+      }
+      this.title = "濂楅鍒嗙粍缁存姢" + "( " + this.form.cnName + ")";
+      getInfo().then((response) => {
+        this.getInfodis = response.user.discount;
+        if (this.getInfodis == null || this.getInfodis == 10) {
+          this.isfalse = true;
+        }
+      });
+    },
+    numberChange(currentValue, oldValue) {
+      this.$confirm("纭畾淇敼鎵�鏈夊瓙椤圭殑鎶樻墸鍚楋紵", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          this.youhui = currentValue;
+          if (this.youhui < this.getInfodis) {
+            this.youhui = this.getInfodis;
+            // this.$modal.msgError(`璇ヤ汉鍛樻渶楂樹紭鎯犳潈闄愪负${this.getInfodis}鎶榒);
+          }
+          this.OnenewpacName.forEach((item) => {
+            const proPrice = new Big(item.proPrice)
+            const limits = new Big(this.youhui)
+            const result = proPrice.times(limits.div(10))
+            item.ysPrice = result.toNumber();
+            this.a = this.OnenewpacName.reduce((sum, item) => {
+              return sum.plus(new Big(item.ysPrice || '0'));
+            }, new Big(0));
+
+          })
+          if (this.a == this.queryParams.xianprice) {
+
+          } else {
+            if (this.OnenewpacName.length > 0) {
+              this.OnenewpacName[OnenewpacName.length - 1].ysPrice += this.queryParams.xianprice - this.a;
+            }
+          }
+        })
+        .catch(() => {
+          this.youhui = oldValue;
+        });
+
+    },
+
+    changegroupingName() {
+      if (this.selectionList.length <= 0) {
+        this.$modal.msgError("璇峰厛閫変腑閮ㄩ棬鎴栨坊鍔犳柊鐨勯儴闂�");
+      }
+    },
+    // 濂楅鑾峰彇
+    changeName() {
+      this.openss = true;
+      this.title = "鍒嗙粍椤圭洰缁存姢";
+      this.OnenewpacName = [];
+      this.queryParams.price = 0;
+      this.loading = true;
+      if (this.forms.sex) {
+        deptTreeSelect(this.forms.sex).then((response) => {
+          this.newpacName = response.rows;
+          this.loading = false;
+          response.rows.forEach((item, index) => {
+            item.newID =
+              (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+              index +
+              1;
+          });
+
+        });
+      } else {
+        deptTreeSelect().then((response) => {
+          this.newpacName = response.rows;
+          this.loading = false;
+          response.rows.forEach((item, index) => {
+            item.newID =
+              (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+              index +
+              1;
+          });
+
+        });
+      }
+      getProjectList().then((response) => {
+        this.Treedata = response.data;
+
+      });
+    },
+
+    handleSearch() {
+      if (this.queryParams.pacName) {
+        getPackageList(this.queryParams.pacName).then((response) => {
+          this.newpacName = response.data;
+          response.data.forEach((item, index) => {
+            item.newID =
+              (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+              index +
+              1;
+          });
+        });
+      } else {
+        deptTreeSelect().then((response) => {
+          this.newpacName = response.rows;
+          response.rows.forEach((item, index) => {
+            item.newID =
+              (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+              index +
+              1;
+          });
+          if (this.newpacName.length != 0) {
+            this.$nextTick(() => {
+              this.$refs.tbone.toggleRowSelection(this.newpacName[0], true);
+            });
+          } else {
+            this.$refs.tbone.clearSelection();
+          }
+        });
+      }
+    },
+    handleSearchFor() {
+      getProjectList(this.queryParams.proName).then((response) => {
+        this.Treedata = response.data;
+        response.data.forEach((item, index) => {
+          item.newID =
+            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+            index +
+            1;
+        });
+      });
+    },
+    // 鍗曢」鏁版嵁鑾峰彇
+    handleChangesingle(selection) {
+      if (selection) {
+        this.dataList = selection;
+      }
+    },
+    resetright() {
+      if (this.dataList.length == 0) {
+        return; // 濡傛灉鏁版嵁鍒楄〃涓虹┖锛岀洿鎺ヨ繑鍥�
+      } else {
+        this.queryParams.price = 0; // 鍒濆鍖栨�讳环
+        this.queryParams.xianprice = 0; // 鍒濆鍖栫幇浠�
+        this.youhui = 0; // 鍒濆鍖栦紭鎯�
+
+        const newItemsToAdd = []; // 鐢ㄤ簬瀛樺偍鏂伴渶瑕佹坊鍔犵殑椤圭洰
+
+        this.dataList.forEach((item) => {
+          this.$refs.tre.toggleRowSelection(item, false); // 鍙栨秷閫変腑鐘舵��
+          // 浣跨敤 $set 纭繚鍝嶅簲鎬�
+          this.$set(item, 'limits', 10); // 璁剧疆闄愬埗鏁伴噺
+          this.$set(item, 'ysPrice', item.proPrice); // 璁剧疆鐜颁环涓哄師浠�
+
+          // 妫�鏌ユ槸鍚﹀凡缁忓瓨鍦ㄧ浉鍚岀殑椤圭洰
+          const existingItem = this.OnenewpacName.find(existing => existing.proId === item.proId);
+          if (!existingItem) {
+            newItemsToAdd.push(item); // 濡傛灉涓嶅瓨鍦ㄧ浉鍚岄」鐩紝鍒欐坊鍔犲埌鏂版暟缁�
+            this.updateProPrice(item); // 鏇存柊鍗曚釜椤圭洰鐨勪环鏍�
+          }
+        });
+
+        // 娣诲姞鏂伴」鐩埌 OnenewpacName
+        this.OnenewpacName.push(...newItemsToAdd);
+
+        // 鍒犻櫎閲嶅椤圭洰锛岃繖閲屾垜浠彧闇�澶勭悊鏂版坊鍔犵殑椤圭洰鍜屽師鏈夐」鐩箣闂寸殑閲嶅
+        for (let i = this.OnenewpacName.length - newItemsToAdd.length; i < this.OnenewpacName.length - 1; i++) {
+          for (let j = i + 1; j < this.OnenewpacName.length; j++) {
+            if (this.OnenewpacName[i].proId === this.OnenewpacName[j].proId) {
+              this.OnenewpacName.splice(j, 1); // 鍒犻櫎閲嶅鐨勯」鐩�
+              j--; // 鍥犱负鍒犻櫎浜嗕竴涓厓绱狅紝褰撳墠鐨刯瑕佸噺1
+            }
+          }
+        }
+        this.queryParams.price = 0
+        this.queryParams.xianprice = 0
+        // 閲嶆柊璁$畻鎬讳环鍜岀幇浠�
+        this.OnenewpacName.forEach((item) => {
+          this.queryParams.price += item.proPrice; // 绱姞鍘熶环
+          this.queryParams.xianprice += item.ysPrice || 0; // 绱姞鐜颁环锛屽鏋測sPrice涓簎ndefined鍒欑疮鍔�0
+        });
+
+        // 璁$畻浼樻儬锛岃繖閲屽亣璁句紭鎯犳槸鐜颁环涓庡師浠风殑宸鐧惧垎姣�
+        this.youhui = (Math.floor((this.queryParams.xianprice / this.queryParams.price) * 100) / 100) * 10;
+      }
+    },
+    handledbelete(row) {
+      this.queryParams.price = 0;
+      this.queryParams.xianprice = 0; // 鍒濆鍖栫幇浠�
+      this.youhui = 0; // 鍒濆鍖栦紭鎯�
+
+      // 鍏堟壘鍒板苟鍒犻櫎椤圭洰
+      this.OnenewpacName = this.OnenewpacName.filter(item => item.proId !== row.proId);
+
+      // 鐒跺悗鏇存柊鎬讳环鍜岀幇浠�
+      this.OnenewpacName.forEach((item) => {
+        this.queryParams.price += item.proPrice;
+        this.queryParams.xianprice += item.ysPrice || 0; // 纭繚ysPrice瀛樺湪
+      });
+
+      // 璁$畻浼樻儬
+      if (this.queryParams.price > 0) {
+        this.youhui = (Math.floor((this.queryParams.xianprice / this.queryParams.price) * 100) / 100) * 10;
+      } else {
+        this.youhui = 0;
+      }
+    },
+
+    submitrighr() {
+      this.openOne = false;
+      this.forms.price = this.queryParams.price;
+      this.forms.ysPrice = this.queryParams.xianprice
+      this.forms.limits = this.youhui
+      let mapList = [];
+      this.OnenewpacName.forEach((item) => {
+        mapList.push({
+          proName: item.proName,
+          proId: item.proId,
+          proPrice: item.proPrice,
+          limits: item.limits,
+          ysPrice: item.ysPrice
+        });
+      });
+
+      // 濡傛灉 selectionList 涓虹┖锛屼娇鐢� mapList 缁х画淇濆瓨
+      if (this.OnenewpacName.length === 0) {
+        this.$modal.msgError("璇峰厛閫変腑椤圭洰");
+        return; // 鎻愮ず鐢ㄦ埛閫変腑椤圭洰
+      }
+
+      let data = {
+        groupingName: this.forms.groupingName,
+        gtAge: this.forms.gtAge,
+        limits: this.forms.limits,
+        ltAge: this.forms.ltAge,
+        pacName: this.forms.pacName,
+        payType: this.forms.payType,
+        sex: this.forms.sex,
+        dwDeptId: this.selectionList.length > 0 ? this.selectionList[0].id : "", // 濡傛灉娌℃湁閫変腑閮ㄩ棬锛岃缃负绌�
+        dwId: this.selectionList.length > 0 ? this.selectionList[0].dwId : "",
+        mapList: mapList,
+        price: this.forms.price,
+        ysPrice: this.forms.ysPrice,
+        id: this.groupList[0] ? this.groupList[0].id : ''
+      };
+
+      // 鍙戦�佽姹備繚瀛樻暟鎹�
+      dwgrouping(data).then((res) => {
+        if (res.code == 200) {
+          this.beCurrent();
+          this.forms.groupingName = "";
+          this.forms.sex = "2";
+          this.forms.pacName = "";
+          this.forms.price = "";
+          this.forms.ysPrice = "";
+          this.forms.payType = "1";
+        }
+      });
+
+      // this.handleGroup();
+    },
+    // 濂楅鍗曢」鑾峰彇
+    handleChangeOne(selection) {
+      if (selection.length > 1) {
+        let del_row = selection.shift();
+        this.$refs.tbone.toggleRowSelection(del_row, false); //璁剧疆杩欎竴琛屽彇娑堥�変腑
+      }
+      this.pacList = selection;
+
+      this.dataLists = [];
+      this.queryParams.price = 0;
+      this.pacList.forEach((item) => {
+        this.OnenewpacName = item.tjProjectList;
+      });
+      this.OnenewpacName.forEach((item) => {
+        this.queryParams.price += item.proPrice;
+      });
+    },
+    beCurrentDept() {
+      Deptlist(this.form.drugManufacturerId).then((response) => {
+        this.deptList = response.data;
+        if (this.deptList.length != 0) {
+          this.$nextTick(() => {
+            this.$refs.tb.toggleRowSelection(this.deptList[0], true);
+          });
+        } else {
+          this.$refs.tb.clearSelection();
+        }
+      });
+    },
+
+    // 淇濆瓨閮ㄩ棬
+    handleAddDept() {
+      let data = {
+        dwName: this.form.cnName,
+        dwId: this.form.drugManufacturerId,
+        dwDeptName: this.form.dwDeptName,
+        signingPrice: this.form.signingPrice,
+      };
+      addDept(data).then((response) => {
+        if (response.code == 200) {
+          this.beCurrentDept();
+        }
+      });
+    },
+    // 鍒犻櫎閮ㄩ棬
+    handledeleDept() {
+      deldwdept(this.dwIds).then((response) => {
+        if (response.code == 200) {
+          this.beCurrentDept();
+        }
+      });
+    },
+
+    handleChange(selection) {
+      this.groupList = selection;
+      if (selection.length > 0) {
+        this.groupList.forEach((item) => {
+          this.forms.groupingName = item.groupingName;
+          this.forms.gtAge = item.gtAge;
+          this.forms.limits = item.limits;
+          this.forms.ltAge = item.ltAge;
+          this.forms.pacName = item.pacName;
+          this.forms.payType = item.payType;
+          this.forms.sex = item.sex;
+          this.forms.price = item.price;
+          this.forms.ysPrice = item.ysPrice;
+        });
+        this.isSexDisabled = true; // 绂佺敤鎬у埆閫夋嫨
+      } else {
+        // 濡傛灉娌℃湁閫変腑琛岋紝娓呯┖琛ㄥ崟骞跺彇娑堢鐢�
+        this.GroupUpdate();
+        this.isSexDisabled = false; // 鎭㈠鎬у埆閫夋嫨妗嗕负鍙敤
+      }
+      this.groupIds = selection.map((item) => item.id);
+      this.singlegg = !selection.length;
+    },
+    xiangmuWh() {
+      if (!this.forms.groupingName ||
+        !this.forms.sex ||
+        !this.forms.payType) {
+        this.$modal.msgError("璇峰厛濉啓鎵�鏈夊繀濉」!");
+        return; // Stop execution if any required field is empty
+      }
+      this.openOne = true;
+
+      this.title = "鍒嗙粍椤圭洰缁存姢";
+      this.OnenewpacName = [];
+      this.queryParams.price = 0;
+      this.loading = true;
+      if (this.groupList[0]) {
+        let id = this.groupList[0].id || '';
+        getDetails(id).then((res) => {
+          this.OnenewpacName = res.data.groupingProList;
+          this.queryParams.xianprice = this.OnenewpacName.reduce((sum, item) => {
+            return sum.plus(new Big(item.ysPrice || '0'));
+          }, new Big(0));
+          this.OnenewpacName.forEach((item, index) => {
+            this.queryParams.price += item.proPrice;
+          });
+          this.youhui = (Math.floor((this.queryParams.xianprice / this.queryParams.price) * 100) / 100) * 10
+        });
+      }
+      // console.log(this.groupList[0].id, 9966);
+      getconfigKey("sfzstc").then((res) => {
+        this.sfzs = res.msg;
+      });
+
+
+
+      if (this.forms.sex) {
+        deptTreeSelect(this.forms.sex).then((response) => {
+          // 濂楅鍚嶇О
+          this.newpacName = response.rows;
+
+          this.loading = false;
+          response.rows.forEach((item, index) => {
+            item.newID =
+              (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+              index +
+              1;
+          });
+        });
+      } else {
+        deptTreeSelect().then((response) => {
+          this.newpacName = response.rows;
+          this.loading = false;
+          response.rows.forEach((item, index) => {
+            item.newID =
+              (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+              index +
+              1;
+          });
+        });
+      }
+      getProjectList().then((response) => {
+        this.Treedata = response.data;
+        // console.log(this.Treedata,999888);
+      });
+    },
+
+    handleGroup() {
+      // 濡傛灉娌℃湁閫変腑浠讳綍閮ㄩ棬锛堝嵆娌℃湁 selectionList锛夛紝鍙互鐩存帴浠� OnenewpacName 鑾峰彇鏁版嵁
+      let mapList = [];
+      this.OnenewpacName.forEach((item) => {
+        mapList.push({
+          proName: item.proName,
+          proId: item.proId,
+          proPrice: item.proPrice,
+        });
+      });
+
+
+
+
+      let data = {
+        groupingName: this.forms.groupingName,
+        gtAge: this.forms.gtAge,
+        limits: this.forms.limits,
+        ltAge: this.forms.ltAge,
+        pacName: this.forms.pacName,
+        payType: this.forms.payType,
+        sex: this.forms.sex,
+        dwDeptId: this.selectionList.length > 0 ? this.selectionList[0].id : "", // 濡傛灉娌℃湁閫変腑閮ㄩ棬锛岃缃负绌�
+        dwId: this.selectionList.length > 0 ? this.selectionList[0].dwId : "",
+        mapList: mapList,
+        price: this.forms.price,
+        ysPrice: this.forms.ysPrice,
+        id: this.groupList[0].id,
+      };
+
+      // 鍙戦�佽姹備繚瀛樻暟鎹�
+      dwgrouping(data).then((res) => {
+        if (res.code == 200) {
+          this.beCurrent();
+          this.forms.groupingName = "";
+          this.forms.sex = "2";
+          this.forms.pacName = "";
+          this.forms.price = "";
+          this.forms.ysPrice = "";
+          this.forms.payType = "1";
+        }
+      });
+    },
+    // 淇敼鍒嗙粍
+    GroupUpdate() {
+      console.log(this.$refs.elTable)
+      this.$refs.tbs.clearSelection();
+      this.forms = {
+        groupingName: "",
+        gtAge: "",
+        limits: "",
+        ltAge: "",
+        pacName: "",
+        payType: "1",
+        sex: "2",
+        price: "",
+        ysPrice: "",
+      };
+
+    },
+    beCurrent() {
+      let data = {
+        deptId: this.selectionList[0].id,
+        dwId: this.selectionList[0].dwId,
+      };
+      getDwAndDwDept(data).then((response) => {
+        // 閮ㄩ棬鍚嶇О
+        this.groupingList = response.data;
+        response.data.forEach((item, index) => {
+          item.newID =
+            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+            index +
+            1;
+        });
+      });
+    },
+    // 鍒犻櫎鍒嗙粍
+    deleteGroup() {
+      delegrouping(this.groupIds).then((res) => {
+        if (res.code == 200) {
+          this.beCurrent();
+        }
+      });
+    },
+    // 鍙屽嚮
+    dbclick(row, column, event) {
+      row.isOK = !row.isOK;
+
+      this.OnenewpacName[row.index] = JSON.parse(JSON.stringify(row)); // 澶嶅埗鏃х殑鏁版嵁锛屽彇娑堟椂鐢ㄥ埌
+      // 鍒ゆ柇鏄惁涓哄弻鍑荤浜屾淇敼锛岀浜屾鍙屽嚮鍒欐彁浜ゆ暟鎹繘琛屼慨鏀癸紝鎴栬�呭彲鐐瑰嚮鎸夐挳鍙栨秷
+      if (row.isOK == true) {
+        this.$confirm("鏄惁闇�瑕佸垹闄�" + row.proName, "鎻愮ず", {
+          confirmButtonText: "纭畾",
+          cancelButtonText: "鍙栨秷",
+          type: "warning",
+        })
+          .then(() => {
+            this.OnenewpacName.splice(row.index, 1); //鍒犻櫎瀵瑰簲鐨勮〃澶�
+            this.queryParams.price = 0;
+            if (this.OnenewpacName.length >= 1) {
+              this.OnenewpacName.forEach((item) => {
+                this.queryParams.price += item.proPrice;
+              });
+            } else {
+              this.queryParams.price = 0;
+            }
+          })
+          .catch(() => {
+            this.$message({
+              type: "info",
+              message: "宸插彇娑堝垹闄�",
+            });
+          });
+      }
+    },
+
+    // 鎶婃瘡涓�琛岀殑绱㈠紩鏀捐繘row,鏂逛究鍙屽嚮淇敼鏃犳硶鑾峰緱绱㈠紩鍒欐棤娉曞彇娑堝悗鏁版嵁杩涜杩樺師
+    tableRowClassName({ row, rowIndex }) {
+      row.index = rowIndex;
+    },
+
+    /** 鎻愪氦鎸夐挳 */
+    submitForm() {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.form.drugManufacturerId != null) {
+            updateComp(this.form).then((response) => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            if (
+              this.form.cnName &&
+              this.form.contactPerson &&
+              this.form.contactPhone
+            ) {
+              addComp(this.form).then((response) => {
+                this.$modal.msgSuccess("鏂板鎴愬姛");
+                this.open = false;
+                this.getList();
+              });
+            } else {
+              this.$modal.msgError("璇峰~鍐欏繀浼犻」");
+            }
+          }
+        }
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      const drugManufacturerIds = row.drugManufacturerId || this.ids;
+      this.$modal
+        .confirm(
+          '鏄惁纭鍒犻櫎浣撴鍗曚綅淇℃伅缁存姢缂栧彿涓�"' +
+          drugManufacturerIds +
+          '"鐨勬暟鎹」锛�'
+        )
+        .then(function () {
+          return delComp(drugManufacturerIds);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+        })
+        .catch(() => { });
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      this.download(
+        "system/comp/export",
+        {
+          ...this.queryParams,
+        },
+        `comp_${new Date().getTime()}.xlsx`
+      );
+    },
+  },
+};
+</script>
+<style scoped>
+.pag {
+  width: 100%;
+  display: flex;
+  justify-content: center;
+}
+
+.pag1 {
+  width: 30%;
+}
+
+.dia {
+  display: flex;
+}
+
+.dialog-footer {
+  width: 1300px;
+  height: 36px;
+  display: flex;
+  justify-content: center;
+}
+
+.dialog-footer1 {
+  width: 960px;
+  height: 36px;
+  display: flex;
+  justify-content: center;
+  margin: auto;
+}
+
+.btnback {
+  width: 50px;
+  height: 100px;
+}
+</style>
diff --git a/src/views/system/comp/index.vue b/src/views/system/comp/index.vue
index 9c97373..bb54498 100644
--- a/src/views/system/comp/index.vue
+++ b/src/views/system/comp/index.vue
@@ -1,6 +1,7 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"
+      @submit.native.prevent>
       <el-form-item label="鍗曚綅鍚嶇О" prop="cnName">
         <el-input ref="inputName" v-model="queryParams.cnName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�" clearable
           @keyup.enter.native="handleQuery" />
@@ -120,7 +121,7 @@
         <el-row :gutter="20">
           <el-col :span="7" :xs="24">
             <div style="padding: 0 20px">
-              <el-form ref="form" :model="form" :rules="rules" label-width="80px" :inline="true">
+              <el-form ref="form" :model="form" :rules="rules" label-width="80px" :inline="true" @submit.native.prevent>
                 <el-form-item label="濂楅鍚嶇О" prop="dwDeptName">
                   <el-input v-model="form.dwDeptName" placeholder="璇疯緭鍏ュ椁愬悕绉�" />
                 </el-form-item>
@@ -146,7 +147,7 @@
             </div>
           </el-col>
           <el-col :span="17" :xs="24">
-            <el-form ref="form" :model="forms" :rules="rules" label-width="78px" :inline="true">
+            <el-form ref="form" :model="forms" :rules="rules" label-width="78px" :inline="true" @submit.native.prevent>
               <el-form-item label="鍒嗙粍鍚嶇О" prop="groupingName">
                 <el-input v-model="forms.groupingName" placeholder="璇疯緭鍏ュ垎缁勫悕绉�" style="width: 130px"
                   @focus="changegroupingName" />
@@ -238,10 +239,12 @@
 
     <!-- 濂楅 -->
     <div>
-      <el-dialog :title="title" :visible.sync="openss" width="1400px" append-to-body :close-on-click-modal="false">
+      <el-dialog :title="title" :visible.sync="openss" width="1400px" custom-class="custom-dialog" append-to-body
+        :close-on-click-modal="false">
         <el-row :gutter="24">
           <el-col :span="8" :xs="24">
-            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
+            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px"
+              @submit.native.prevent>
               <el-form-item label="濂楅鍚嶇О" prop="pacName">
                 <el-input ref="inputName" v-model="queryParams.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" clearable
                   @keyup.enter.native="handleSearch" style="width: 140px" />
@@ -264,7 +267,7 @@
           </el-col>
           <el-col :span="6" :xs="24">
             <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="46px"
-              style="height: 35px">
+              style="height: 35px" @submit.native.prevent>
               <el-form-item label="鍚堣" prop="price">
                 <el-input ref="inputName" v-model="queryParams.price" placeholder="鍚堣" clearable style="width: 140px" />
               </el-form-item>
@@ -277,9 +280,9 @@
             </div> -->
             <!--       @row-dblclick="dbclick" -->
             <el-table border v-loading="loading" :data="OnenewpacName" :row-class-name="tableRowClassName" height="478">
-              <el-table-column label="椤圭洰鍚嶇О/浠锋牸/鍏�" align="center" prop="proName">
+              <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName">
                 <template slot-scope="scope">
-                  {{ scope.row.proName + "/" + scope.row.proPrice }}
+                  {{ scope.row.proName }}
                 </template>
               </el-table-column>
 
@@ -298,7 +301,7 @@
           </el-col>
           <el-col :span="8" :xs="24">
             <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
-              label-width="68px">
+              label-width="68px" @submit.native.prevent>
               <el-form-item label="椤圭洰鍚嶇О" prop="proName">
                 <el-input ref="inputName" v-model="queryParams.proName" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable
                   @keyup.enter.native="handleSearchFor" style="width: 140px" />
@@ -326,9 +329,9 @@
       <el-dialog :title="title" :visible.sync="openOne" width="1400px" append-to-body :close-on-click-modal="false">
         <el-row :gutter="24" v-if="!isTableVisible">
 
-          <el-col :span="11" :xs="24">
+          <el-col :span="15" :xs="24">
             <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="46px"
-              style="height: 35px">
+              style="height: 35px" @submit.native.prevent>
               <el-form-item label="鍘熶环">
                 <el-input ref="inputName" v-model="queryParams.price" placeholder="鍚堣" clearable style="width: 140px" />
               </el-form-item>
@@ -345,14 +348,14 @@
               </el-form-item>
             </el-form>
             <el-table border v-loading="loading" :data="OnenewpacName" :row-class-name="tableRowClassName" height="478">
-              <el-table-column label="椤圭洰鍚嶇О/浠锋牸/鍏�" align="center" prop="proName">
+              <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" width="528">
 
                 <template slot-scope="scope">
-                  {{ scope.row.proName + "/" + scope.row.proPrice }}
+                  {{ scope.row.proName }}
                 </template>
               </el-table-column>
-              <el-table-column label="鍘熶环" align="center" prop="proPrice"></el-table-column>
-              <el-table-column label="鎶樻墸">
+              <el-table-column label="鍘熶环" align="center" prop="proPrice" width="74"></el-table-column>
+              <el-table-column label="鎶樻墸" width="81">
                 <template slot-scope="scope">
                   <!-- 鍙緭鍏ョ函鏁板瓧鎶樻墸 -->
                   <el-input v-model.number="scope.row.limits" @input="validateDiscount(scope.row)" placeholder="杈撳叆鎶樻墸"
@@ -360,8 +363,8 @@
                   </el-input>
                 </template>
               </el-table-column>
-              <el-table-column label="鐜颁环" align="center" prop="ysPrice"></el-table-column>
-              <el-table-column label="鎿嶄綔" align="center" width="68">
+              <el-table-column label="鐜颁环" align="center" prop="ysPrice" width="74"></el-table-column>
+              <el-table-column label="鎿嶄綔" align="center" width="70">
                 <template slot-scope="scope">
                   <el-button size="mini" type="text" icon="el-icon-delete"
                     @click="handledbelete(scope.row)">鍒犻櫎</el-button>
@@ -376,9 +379,9 @@
                 璁�</el-button>
             </div>
           </el-col>
-          <el-col :span="11" :xs="24">
+          <el-col :span="7" :xs="24">
             <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
-              label-width="68px">
+              label-width="68px" @submit.native.prevent>
               <el-form-item label="椤圭洰鍚嶇О" prop="proName">
                 <el-input ref="inputName" v-model="queryParams.proName" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable
                   @keyup.enter.native="handleSearchFor" style="width: 140px" />
@@ -388,7 +391,7 @@
               </el-form-item>
             </el-form>
             <el-table border v-loading="loading" ref="tre" :data="Treedata" @selection-change="handleChangesingle"
-              height="478" style="width: 70%">
+              height="478" style="width: 100%">
               <el-table-column type="selection" width="40px" align="center" />
               <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" />
               <el-table-column label="椤圭洰浠锋牸/鍏�" align="center" prop="proPrice" />
@@ -397,8 +400,9 @@
         </el-row>
         <!-- -=----------------------------------------------------- -->
         <el-row :gutter="24" v-else>
-          <el-col :span="8" :xs="24">
-            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
+          <el-col :span="6" :xs="24">
+            <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px"
+              @submit.native.prevent>
               <el-form-item label="濂楅鍚嶇О" prop="pacName">
                 <el-input ref="inputName" v-model="queryParams.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" clearable
                   @keyup.enter.native="handleSearch" style="width: 140px" />
@@ -408,10 +412,8 @@
                 <!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> -->
               </el-form-item>
             </el-form>
-            <el-table ref="tbone" border v-loading="loading" :data="newpacName" @selection-change="handleChangeOne"
-              height="478">
-              <el-table-column type="selection" width="40px" align="center" />
-              <el-table-column label="搴忓彿" align="center" prop="newID" width="50px" />
+            <el-table ref="tbone" border v-loading="loading" :data="newpacName" @selection-change="handleChangeOne" height="478">
+              <el-table-column label="搴忓彿" align="center" prop="newId" width="50px" />
               <el-table-column label="濂楅鍚嶇О/浠锋牸/鍏�" align="center" prop="pacName">
                 <template slot-scope="scope">
                   {{ scope.row.pacName + "/" + scope.row.price }}
@@ -419,9 +421,9 @@
               </el-table-column>
             </el-table>
           </el-col>
-          <el-col :span="6" :xs="24">
+          <el-col :span="8" :xs="24">
             <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="46px"
-              style="height: 35px">
+              style="height: 35px" @submit.native.prevent>
               <el-form-item label="鍚堣" prop="price">
                 <el-input ref="inputName" v-model="queryParams.price" placeholder="鍚堣" clearable style="width: 140px" />
               </el-form-item>
@@ -430,10 +432,10 @@
               </el-form-item>
             </el-form>
             <el-table border v-loading="loading" :data="OnenewpacName" :row-class-name="tableRowClassName" height="478">
-              <el-table-column label="椤圭洰鍚嶇О/浠锋牸/鍏�" align="center" prop="proName">
+              <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" width="170">
 
                 <template slot-scope="scope">
-                  {{ scope.row.proName + "/" + scope.row.proPrice }}
+                  {{ scope.row.proName }}
                 </template>
               </el-table-column>
               <el-table-column label="鍘熶环" align="center" prop="proPrice"></el-table-column>
@@ -454,7 +456,7 @@
           </el-col>
           <el-col :span="8" :xs="24">
             <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
-              label-width="68px">
+              label-width="68px" @submit.native.prevent>
               <el-form-item label="椤圭洰鍚嶇О" prop="proName">
                 <el-input ref="inputName" v-model="queryParams.proName" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable
                   @keyup.enter.native="handleSearchFor" style="width: 140px" />
@@ -463,10 +465,9 @@
                 <el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearchFor">鎼滅储</el-button>
               </el-form-item>
             </el-form>
-            <el-table border v-loading="loading" ref="tre" :data="Treedata" @selection-change="handleChangesingle"
-              height="478" style="width: 70%">
+            <el-table border v-loading="loading" ref="tre" :data="Treedata" @selection-change="handleChangesingle" height="478">
               <el-table-column type="selection" width="40px" align="center" />
-              <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" width="130" />
+              <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" width="288" />
               <el-table-column label="椤圭洰浠锋牸/鍏�" align="center" prop="proPrice" width="100" />
             </el-table>
           </el-col>
@@ -481,7 +482,7 @@
     <!-- 娣诲姞鎴栦慨鏀逛綋妫�鍗曚綅淇℃伅缁存姢瀵硅瘽妗� -->
     <div class="dia">
       <el-dialog :title="title" :visible.sync="open" width="1340px" append-to-body>
-        <el-form ref="form" :model="form" :rules="rules" label-width="106px" :inline="true">
+        <el-form ref="form" :model="form" :rules="rules" label-width="106px" :inline="true" @submit.native.prevent>
           <el-form-item label="鍗曚綅鍚嶇О" prop="cnName">
             <el-input v-model="form.cnName" placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�" style="width: 520px" />
           </el-form-item>
@@ -592,6 +593,7 @@
               :key="dict.value"
               :label="dict.label"
 :value="dict.value"
+
             ></el-option>
           </el-select>
         </el-form-item> -->
@@ -1041,10 +1043,13 @@
       }
       getProjectList().then((response) => {
         this.Treedata = response.data;
-
       });
     },
-
+    getpro() {
+      getProjectList().then((response) => {
+        this.Treedata = response.data;
+      });
+    },
     handleSearch() {
       if (this.queryParams.pacName) {
         getPackageList(this.queryParams.pacName).then((response) => {
@@ -1077,13 +1082,14 @@
     },
     handleSearchFor() {
       getProjectList(this.queryParams.proName).then((response) => {
-        this.Treedata = response.data;
+
         response.data.forEach((item, index) => {
           item.newID =
             (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
             index +
             1;
         });
+        this.Treedata = response.data;
       });
     },
     // 鍗曢」鏁版嵁鑾峰彇
@@ -1093,53 +1099,53 @@
       }
     },
     resetright() {
-  if (this.dataList.length == 0) {
-    return; // 濡傛灉鏁版嵁鍒楄〃涓虹┖锛岀洿鎺ヨ繑鍥�
-  } else {
-    this.queryParams.price = 0; // 鍒濆鍖栨�讳环
-    this.queryParams.xianprice = 0; // 鍒濆鍖栫幇浠�
-    this.youhui = 0; // 鍒濆鍖栦紭鎯�
+      if (this.dataList.length == 0) {
+        return; // 濡傛灉鏁版嵁鍒楄〃涓虹┖锛岀洿鎺ヨ繑鍥�
+      } else {
+        this.queryParams.price = 0; // 鍒濆鍖栨�讳环
+        this.queryParams.xianprice = 0; // 鍒濆鍖栫幇浠�
+        this.youhui = 0; // 鍒濆鍖栦紭鎯�
 
-    const newItemsToAdd = []; // 鐢ㄤ簬瀛樺偍鏂伴渶瑕佹坊鍔犵殑椤圭洰
+        const newItemsToAdd = []; // 鐢ㄤ簬瀛樺偍鏂伴渶瑕佹坊鍔犵殑椤圭洰
 
-    this.dataList.forEach((item) => {
-      this.$refs.tre.toggleRowSelection(item, false); // 鍙栨秷閫変腑鐘舵��
-      // 浣跨敤 $set 纭繚鍝嶅簲鎬�
-      this.$set(item, 'limits', 10); // 璁剧疆闄愬埗鏁伴噺
-      this.$set(item, 'ysPrice', item.proPrice); // 璁剧疆鐜颁环涓哄師浠�
+        this.dataList.forEach((item) => {
+          this.$refs.tre.toggleRowSelection(item, false); // 鍙栨秷閫変腑鐘舵��
+          // 浣跨敤 $set 纭繚鍝嶅簲鎬�
+          this.$set(item, 'limits', 10); // 璁剧疆闄愬埗鏁伴噺
+          this.$set(item, 'ysPrice', item.proPrice); // 璁剧疆鐜颁环涓哄師浠�
 
-      // 妫�鏌ユ槸鍚﹀凡缁忓瓨鍦ㄧ浉鍚岀殑椤圭洰
-      const existingItem = this.OnenewpacName.find(existing => existing.proId === item.proId);
-      if (!existingItem) {
-        newItemsToAdd.push(item); // 濡傛灉涓嶅瓨鍦ㄧ浉鍚岄」鐩紝鍒欐坊鍔犲埌鏂版暟缁�
-        this.updateProPrice(item); // 鏇存柊鍗曚釜椤圭洰鐨勪环鏍�
-      }
-    });
+          // 妫�鏌ユ槸鍚﹀凡缁忓瓨鍦ㄧ浉鍚岀殑椤圭洰
+          const existingItem = this.OnenewpacName.find(existing => existing.proId === item.proId);
+          if (!existingItem) {
+            newItemsToAdd.push(item); // 濡傛灉涓嶅瓨鍦ㄧ浉鍚岄」鐩紝鍒欐坊鍔犲埌鏂版暟缁�
+            this.updateProPrice(item); // 鏇存柊鍗曚釜椤圭洰鐨勪环鏍�
+          }
+        });
 
-    // 娣诲姞鏂伴」鐩埌 OnenewpacName
-    this.OnenewpacName.push(...newItemsToAdd);
+        // 娣诲姞鏂伴」鐩埌 OnenewpacName
+        this.OnenewpacName.push(...newItemsToAdd);
 
-    // 鍒犻櫎閲嶅椤圭洰锛岃繖閲屾垜浠彧闇�澶勭悊鏂版坊鍔犵殑椤圭洰鍜屽師鏈夐」鐩箣闂寸殑閲嶅
-    for (let i = this.OnenewpacName.length - newItemsToAdd.length; i < this.OnenewpacName.length - 1; i++) {
-      for (let j = i + 1; j < this.OnenewpacName.length; j++) {
-        if (this.OnenewpacName[i].proId === this.OnenewpacName[j].proId) {
-          this.OnenewpacName.splice(j, 1); // 鍒犻櫎閲嶅鐨勯」鐩�
-          j--; // 鍥犱负鍒犻櫎浜嗕竴涓厓绱狅紝褰撳墠鐨刯瑕佸噺1
+        // 鍒犻櫎閲嶅椤圭洰锛岃繖閲屾垜浠彧闇�澶勭悊鏂版坊鍔犵殑椤圭洰鍜屽師鏈夐」鐩箣闂寸殑閲嶅
+        for (let i = this.OnenewpacName.length - newItemsToAdd.length; i < this.OnenewpacName.length - 1; i++) {
+          for (let j = i + 1; j < this.OnenewpacName.length; j++) {
+            if (this.OnenewpacName[i].proId === this.OnenewpacName[j].proId) {
+              this.OnenewpacName.splice(j, 1); // 鍒犻櫎閲嶅鐨勯」鐩�
+              j--; // 鍥犱负鍒犻櫎浜嗕竴涓厓绱狅紝褰撳墠鐨刯瑕佸噺1
+            }
+          }
         }
-      }
-    }
-    this.queryParams.price = 0
-    this.queryParams.xianprice = 0
-    // 閲嶆柊璁$畻鎬讳环鍜岀幇浠�
-    this.OnenewpacName.forEach((item) => {
-      this.queryParams.price += item.proPrice; // 绱姞鍘熶环
-      this.queryParams.xianprice += item.ysPrice || 0; // 绱姞鐜颁环锛屽鏋測sPrice涓簎ndefined鍒欑疮鍔�0
-    });
+        this.queryParams.price = 0
+        this.queryParams.xianprice = 0
+        // 閲嶆柊璁$畻鎬讳环鍜岀幇浠�
+        this.OnenewpacName.forEach((item) => {
+          this.queryParams.price += item.proPrice; // 绱姞鍘熶环
+          this.queryParams.xianprice += item.ysPrice || 0; // 绱姞鐜颁环锛屽鏋測sPrice涓簎ndefined鍒欑疮鍔�0
+        });
 
-    // 璁$畻浼樻儬锛岃繖閲屽亣璁句紭鎯犳槸鐜颁环涓庡師浠风殑宸鐧惧垎姣�
-    this.youhui = (Math.floor((this.queryParams.xianprice / this.queryParams.price) * 100) / 100) * 10;
-  }
-},
+        // 璁$畻浼樻儬锛岃繖閲屽亣璁句紭鎯犳槸鐜颁环涓庡師浠风殑宸鐧惧垎姣�
+        this.youhui = (Math.floor((this.queryParams.xianprice / this.queryParams.price) * 100) / 100) * 10;
+      }
+    },
     handledbelete(row) {
       this.queryParams.price = 0;
       this.queryParams.xianprice = 0; // 鍒濆鍖栫幇浠�
@@ -1569,4 +1575,15 @@
   width: 50px;
   height: 100px;
 }
+
+::v-deep .el-dialog__body {
+  padding: 5px 30px;
+}
+
+.custom-dialog ::v-deep .el-dialog__wrapper {
+  height: 1400px;
+  /* 璁剧疆寮瑰嚭妗嗙殑楂樺害 */
+  overflow-y: auto;
+  /* 瓒呰繃鏈�澶ч珮搴︽椂鍑虹幇婊氬姩鏉� */
+}
 </style>

--
Gitblit v1.8.0