From e17811c1d7b1e6318af32a366d23bd586750b6d2 Mon Sep 17 00:00:00 2001
From: lkk <364857242@qq.com>
Date: 星期三, 27 十一月 2024 11:32:48 +0800
Subject: [PATCH] 2024 11 27

---
 src/views/hosp/order/index.vue | 2439 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 2,061 insertions(+), 378 deletions(-)

diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue
index d44f9b4..7168850 100644
--- a/src/views/hosp/order/index.vue
+++ b/src/views/hosp/order/index.vue
@@ -1,18 +1,58 @@
 <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"
+    >
       <el-form-item label="濮撳悕" prop="name">
-        <el-input ref="inputName" v-model="queryParams.name" placeholder="璇疯緭鍏ュ鍚�" style="width: 120px" clearable
-          @keyup.enter.native="handleQuery" />
+        <el-input
+          ref="inputName"
+          v-model="queryParams.name"
+          placeholder="璇疯緭鍏ュ鍚�"
+          style="width: 120px"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
       </el-form-item>
       <el-form-item label="浣撴鍙�" prop="tjNum">
-        <el-input ref="inputName" v-model="queryParams.tjNum" placeholder="璇疯緭鍏ヤ綋妫�鍙�" style="width: 170px" clearable
-          @keyup.enter.native="handleQuery" />
+        <el-input
+          ref="inputName"
+          v-model="queryParams.tjNum"
+          placeholder="璇疯緭鍏ヤ綋妫�鍙�"
+          style="width: 170px"
+          clearable
+          @keyup.enter.native="handleQuery"
+          @blur="hb"
+        />
+      </el-form-item>
+      <el-form-item label="浣撴椤圭洰" prop="xmmc">
+        <el-input
+          ref="inputName"
+          v-model="queryParams.xmmc"
+          placeholder="璇疯緭鍏ヤ綋妫�椤圭洰"
+          style="width: 120px"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
       </el-form-item>
       <el-form-item label="鐧昏鏃堕棿" prop="createTimeList">
-        <el-date-picker v-model="createTimeList" type="datetimerange" align="right" :picker-options="pickerOptions"
-          style="width: 300px" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" :default-time="['00:00:00', '23:00:00']"
-          format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" @change="dateChangebirthday1">
+        <el-date-picker
+          v-model="createTimeList"
+          type="datetimerange"
+          align="right"
+          :picker-options="pickerOptions"
+          style="width: 300px"
+          start-placeholder="寮�濮嬫棩鏈�"
+          end-placeholder="缁撴潫鏃ユ湡"
+          :default-time="['00:00:00', '23:59:00']"
+          format="yyyy-MM-dd HH:mm"
+          value-format="yyyy-MM-dd HH:mm"
+          @change="dateChangebirthday1"
+        >
         </el-date-picker>
       </el-form-item>
       <!-- <el-form-item label="鐧昏鏃堕棿" prop="createTime">
@@ -26,68 +66,246 @@
         </el-date-picker>
       </el-form-item> -->
       <el-form-item label="鎶ュ憡鏃堕棿" prop="reportTimeList">
-        <el-date-picker clearable v-model="reportTimeList" @change="dateChangebirthday2" type="daterange"
-          range-separator="-" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" :picker-options="pickerOptions"
-          value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨鍑烘姤鍛婃椂闂�" style="width: 240px">
+        <el-date-picker
+          clearable
+          v-model="reportTimeList"
+          @change="dateChangebirthday2"
+          type="daterange"
+          range-separator="-"
+          start-placeholder="寮�濮嬫棩鏈�"
+          end-placeholder="缁撴潫鏃ユ湡"
+          :picker-options="pickerOptions"
+          value-format="yyyy-MM-dd"
+          placeholder="璇烽�夋嫨鍑烘姤鍛婃椂闂�"
+          style="width: 240px"
+        >
         </el-date-picker>
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >鎼滅储</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >閲嶇疆</el-button
+        >
       </el-form-item>
     </el-form>
 
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
-        <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport"
-          v-hasPermi="['hosp:order:export']">瀵煎嚭</el-button>
+        <el-button
+          type="primary"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['hosp:order:export']"
+          >瀵煎嚭</el-button
+        >
+      </el-col>
+
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          size="mini"
+          @click="handleRevoke"
+          :disabled="single"
+          >鎾ら攢绛惧埌</el-button
+        >
       </el-col>
       <el-col :span="1.5">
-        <el-button type="primary" size="mini" @click="handleProject1" :disabled="single"
-          v-hasPermi="['hosp:order:export']">琛ュ綍椤圭洰</el-button>
+        <el-button
+          type="primary"
+          size="mini"
+          @click="handleProject1"
+          :disabled="single"
+          v-hasPermi="['hosp:order:export']"
+          >琛ュ綍椤圭洰</el-button
+        >
       </el-col>
       <el-col :span="1.5">
-        <el-button type="primary" size="mini" @click="handleReport1" :disabled="single"
-          v-hasPermi="['hosp:order:export']">鎵撳嵃瀵艰瘖鍗�</el-button>
+        <el-button
+          type="primary"
+          size="mini"
+          @click="revokeProject"
+          :disabled="single"
+          v-hasPermi="['hosp:order:export']"
+          >鎾ら攢琛ュ綍</el-button
+        >
+      </el-col>
+
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          size="mini"
+          @click="handleReport1"
+          :disabled="single"
+          v-hasPermi="['hosp:order:export']"
+          >鎵撳嵃瀵艰瘖鍗�</el-button
+        >
       </el-col>
       <el-col :span="1.5">
-        <el-button type="primary" size="mini" @click="handleUpdate1" :disabled="single"
-          v-hasPermi="['hosp:order:export']">璁㈠崟鏄庣粏</el-button>
+        <el-button
+          type="primary"
+          size="mini"
+          @click="handleUpdate1"
+          :disabled="single"
+          v-hasPermi="['hosp:order:export']"
+          >璁㈠崟鏄庣粏</el-button
+        >
       </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          size="mini"
+          @click="budadzd"
+          :disabled="single"
+          v-hasPermi="['hosp:order:export']"
+          >鎵撳嵃琛ュ綍鍗�</el-button
+        >
+      </el-col>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
     </el-row>
 
     <template>
-      <el-table border v-loading="loading" :data="orderList" @selection-change="handleSelectionChange">
-        <el-table-column type="selection" width="40px" align="center" fixed="left" />
+      <el-table
+        border
+        v-loading="loading"
+        :data="orderList"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column
+          type="selection"
+          width="40px"
+          align="center"
+          fixed="left"
+        />
         <!-- <el-table-column label="涓婚敭id" align="center" prop="orderId" /> -->
         <!-- <el-table-column label="鐢ㄦ埛id" align="center" prop="userId" /> -->
-        <el-table-column label="搴忓彿" align="center" prop="newID" width="50px" fixed="left" />
-        <el-table-column label="濮撳悕" align="center" prop="tjCustomerName" fixed="left" width="100px"
-          :show-overflow-tooltip="true" />
-        <el-table-column label="鎬у埆" align="center" prop="tjCustomerSex" width="50px" :show-overflow-tooltip="true">
+        <el-table-column
+          label="搴忓彿"
+          align="center"
+          prop="newID"
+          width="50px"
+          fixed="left"
+        />
+        <el-table-column
+          label="濮撳悕"
+          align="center"
+          prop="tjCustomerName"
+          fixed="left"
+          width="90px"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="韬唤璇佸彿"
+          align="center"
+          prop="tjCusIdCard"
+          fixed="left"
+          width="180px"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="鎬у埆"
+          align="center"
+          prop="tjCustomerSex"
+          width="50px"
+          :show-overflow-tooltip="true"
+        >
           <template slot-scope="scope">
             <span v-if="scope.row.tjCustomerSex == '0'">鐢�</span>
             <span v-if="scope.row.tjCustomerSex == '1'">濂�</span>
+            <span v-if="scope.row.tjCustomerSex == '2'">鏈煡</span>
           </template>
         </el-table-column>
-        <el-table-column label="骞撮緞" align="center" prop="tjCustomerAge" width="55px" :show-overflow-tooltip="true" />
-        <el-table-column label="鐢佃瘽" align="center" prop="tjCustomerPhone" :show-overflow-tooltip="true" width="110px" />
-        <el-table-column label="浣撴绫诲瀷" align="center" prop="tjType" width="80px" :show-overflow-tooltip="true">
+        <el-table-column
+          label="骞撮緞"
+          align="center"
+          prop="tjCustomerAge"
+          width="55px"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="鐢佃瘽"
+          align="center"
+          prop="tjCustomerPhone"
+          :show-overflow-tooltip="true"
+          width="110px"
+        />
+        <el-table-column
+          label="浣撴绫诲瀷"
+          align="center"
+          prop="tjType"
+          width="80px"
+          :show-overflow-tooltip="true"
+        >
           <template slot-scope="scope">
-            <span v-if="scope.row.tjType == '2'">涓汉</span>
-            <span v-if="scope.row.tjType == '1'">鍥㈤槦</span>
+            <dict-tag
+              :options="dict.type.dict_team"
+              :value="scope.row.tjType"
+            />
+            <!-- <span v-if="scope.row.tjType == '2'">涓汉</span>
+            <span v-if="scope.row.tjType == '1'">鍥㈤槦</span> -->
           </template>
         </el-table-column>
-        <el-table-column label="浣撴鍙�" align="center" prop="tjNumber" :show-overflow-tooltip="true" width="160px" />
+        <el-table-column
+          label="浣撴鍙�"
+          align="center"
+          prop="tjNumber"
+          :show-overflow-tooltip="true"
+          width="160px"
+        />
+        <el-table-column
+          label="闂ㄨ瘖鍙�"
+          align="center"
+          prop="cardId"
+          :show-overflow-tooltip="true"
+          width="160px"
+        />
         <!-- <el-table-column label="娴佹按鍙�" align="center" prop="tjSerialNumber" /> -->
-        <el-table-column label="鎵�閫夊椁�" align="center" prop="pacName" :show-overflow-tooltip="true" />
-        <el-table-column label="鐧昏鏃堕棿" align="center" prop="createTime" width="155px" :show-overflow-tooltip="true">
+        <el-table-column
+          label="鎵�閫夊椁�"
+          align="center"
+          prop="pacName"
+          :formatter="driver"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="瀵艰瘖鎵撳嵃娆℃暟"
+          align="center"
+          prop="dycs"
+          width="110px"
+          :formatter="driver"
+          :show-overflow-tooltip="true"
+        >
+          <template slot-scope="scope">
+            {{ scope.row.dycs === null ? 0 : scope.row.dycs }}
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="鐧昏鏃堕棿"
+          align="center"
+          prop="createTime"
+          width="155px"
+          :show-overflow-tooltip="true"
+        >
           <template slot-scope="scope">
             <span>{{ parseTime(scope.row.createTime) }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="瀹屾垚鏃堕棿" align="center" prop="finishTime" width="155px" :show-overflow-tooltip="true">
+        <el-table-column
+          label="瀹屾垚鏃堕棿"
+          align="center"
+          prop="finishTime"
+          width="155px"
+          :show-overflow-tooltip="true"
+        >
           <!-- <template slot-scope="scope">
             <span>{{ parseTime(scope.row.finishTime) }}</span>
           </template> -->
@@ -97,16 +315,33 @@
           <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column> -->
-        <el-table-column label="鎶ュ憡鏃堕棿" align="center" prop="reportTime" width="155px" height="10px"
-          :show-overflow-tooltip="true">
+        <el-table-column
+          label="鎶ュ憡鏃堕棿"
+          align="center"
+          prop="reportTime"
+          width="155px"
+          height="10px"
+          :show-overflow-tooltip="true"
+        >
           <!-- <template slot-scope="scope">
             <span>{{ parseTime(scope.row.reportTime) }}</span>
           </template> -->
         </el-table-column>
         <!-- <el-table-column label="鍒涘缓浜�" align="center" prop="createBy" /> -->
         <!-- <el-table-column label="鏇存柊浜�" align="center" prop="updateBy" /> -->
-        <el-table-column label="鍗曚綅宸ュ彿" align="center" prop="firmWorkId" width="100px" :show-overflow-tooltip="true" />
-        <el-table-column label="鍗曚綅鍚嶇О" align="center" prop="dictCompName" :show-overflow-tooltip="true" />
+        <el-table-column
+          label="鍗曚綅宸ュ彿"
+          align="center"
+          prop="firmWorkId"
+          width="100px"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="鍗曚綅鍚嶇О"
+          align="center"
+          prop="dictCompName"
+          :show-overflow-tooltip="true"
+        />
         <!-- <el-table-column label="閮ㄩ棬鍚�" align="center" prop="firmDeptName" /> -->
 
         <!-- <el-table-column label="瀹㈡埛鐓х墖" align="center" prop="photo" /> -->
@@ -117,13 +352,31 @@
             }}</span>
           </template>
         </el-table-column> -->
-        <el-table-column fixed="right" label="鎿嶄綔" align="center" class-name="small-padding fixed-width" height="10px"
-          width="114px">
+        <el-table-column
+          fixed="right"
+          label="鎿嶄綔"
+          align="center"
+          class-name="small-padding fixed-width"
+          height="10px"
+          width="114px"
+        >
           <template slot-scope="scope">
-            <el-button size="mini" type="text" icon="el-icon-document" @click="handleUpdate(scope.row)"
-              v-hasPermi="['hosp:order:edit']" title="璁㈠崟娴佹按"></el-button>
-            <el-button size="mini" type="text" icon="el-icon-edit" @click="handleProject(scope.row)"
-              v-hasPermi="['hosp:order:edit']" title="琛ュ綍椤圭洰"></el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-document"
+              @click="handleUpdate(scope.row)"
+              v-hasPermi="['hosp:order:edit']"
+              title="璁㈠崟娴佹按"
+            ></el-button>
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-edit"
+              @click="handleProject(scope.row)"
+              v-hasPermi="['hosp:order:edit']"
+              title="琛ュ綍椤圭洰"
+            ></el-button>
             <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-download" title="涓嬭浇瀵艰瘖鍗�" @click="
               daoZhenDan,
               LoadFileImg(scope.row);
@@ -150,8 +403,14 @@
               @click="viewReport(scope.row)"
             ></el-button> -->
 
-            <el-button type="text" size="mini" class="btn" icon="el-icon-download" title="瀵艰瘖鍗�"
-              @click="handleReport(scope.row)"></el-button>
+            <el-button
+              type="text"
+              size="mini"
+              class="btn"
+              icon="el-icon-download"
+              title="瀵艰瘖鍗�"
+              @click="handleReport(scope.row)"
+            ></el-button>
 
             <!-- <button @click="downLoadFileImg(scope.row)">鏌ョ湅鎶ュ憡</button> -->
           </template>
@@ -161,9 +420,16 @@
 
     <div class="pag">
       <div class="pag1">
-        <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
-          :current-page="queryParams.pageNum" :page-sizes="[10, 20, 30, 40]" :page-size="queryParams.pageSize"
-          layout="total, sizes, prev, pager, next, jumper" :total="total">
+        <el-pagination
+          background
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="queryParams.pageNum"
+          :page-sizes="[10, 20, 30, 40]"
+          :page-size="queryParams.pageSize"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="total"
+        >
         </el-pagination>
         <!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
           @pagination="getList" /> -->
@@ -185,240 +451,973 @@
         </span>
      </el-dialog> -->
 
-    <el-dialog title="PDF 棰勮" :visible.sync="dialogVisible" :close-on-click-modal="false">
+    <el-dialog
+      title="PDF 棰勮"
+      :visible.sync="dialogVisible"
+      :close-on-click-modal="false"
+    >
       <div class="main">
-        <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
+        <iframe
+          id="printIframe"
+          :src="url"
+          frameborder="0"
+          style="width: 100%; height: 100%"
+        ></iframe>
       </div>
     </el-dialog>
 
-    <el-dialog title="瀵艰瘖鍗�" :visible.sync="daoZhenDan" :close-on-click-modal="false">
+    <el-dialog
+      title="瀵艰瘖鍗�"
+      :visible.sync="daoZhenDan"
+      :close-on-click-modal="false"
+    >
       <div class="main">
-        <iframe id="printIframe" :src="url" frameborder="0" style="width: 100%; height: 100%"></iframe>
+        <iframe
+          id="printIframe"
+          :src="url"
+          frameborder="0"
+          style="width: 100%; height: 100%"
+        ></iframe>
       </div>
     </el-dialog>
 
     <!-- 娣诲姞琛ュ綍椤圭洰 -->
-    <el-dialog :title="title" :visible.sync="Projectopen" width="1200px" style="height: 860px" append-to-body>
-      <el-row type="flex" class="row-bg" justify="space-around">
-        <el-col :span="6">
-          <div style="text-align: center; margin-bottom: 10px;margin-top:10px">椤圭洰鍒楄〃</div>
-          <div class="tab3">
-            <div class="outside1">
-              <el-tree :data="Treedata" show-checkbox node-key="proId" :props="defaultProps"
-                @check-change="handleCurrentChecked">
-              </el-tree>
-            </div>
-          </div>
-        </el-col>
-        <div>
-          <el-col :span="18">
-            <div class="grid-content bg-purple">
-              <template>
-                <el-form :model="form">
-                  <el-form-item label="浣撴绫诲瀷" prop="tjType">
-                    <el-radio-group v-model="form.tjType">
-                      <el-radio :label="1">鍥㈤槦</el-radio>
-                      <el-radio :label="2">涓汉</el-radio>
-                    </el-radio-group>
-                  </el-form-item>
-                </el-form>
-              </template>
-
-              <div class="outside">
-                <el-form :inline="true" class="outside1">
-                  <el-form-item label="鍘熶环">
-                    <el-input placeholder="鍘熶环" :value="TotalPrice1" disabled style="width: 90px"></el-input>
-                  </el-form-item>
-                  <el-form-item label="鎶樻墸璁惧畾">
-                    <el-input style="width: 90px" type="number" v-model="discount" :value="discount"></el-input>
-                  </el-form-item>
-                  <el-form-item label="搴斾粯閲戦">
-                    <el-input placeholder="搴斾粯閲戦" :value="TotalPrice1 * (discount / 10)" style="width: 90px"></el-input>
-                  </el-form-item>
-                  <el-form-item label="浠樻绫诲瀷" prop="payType">
-                    <el-select style="width: 120px" v-model="payType" placeholder="璇烽�夋嫨浠樻绫诲瀷">
-                      <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label"
-                        :value="dict.value"></el-option>
-                    </el-select>
-                  </el-form-item>
-                  <el-form-item>
-                    <el-button type="primary" @click="submitPrice" :disabled="confirm"
-                      style="margin-top: 34px">鏀惰垂</el-button>
-                  </el-form-item>
-                </el-form>
-              </div>
-              <div style="text-align: center; margin-bottom: 10px">
-                宸查�夐」鐩垪琛�
-              </div>
-              <div style="
-                  padding: 0px 6px;
-                  border: 1px solid #e6ebf5;
-                  max-height: 420px;
-                  overflow: auto;
-                ">
-                <el-collapse v-model="activeName" accordion>
-                  <div v-for="(item, index) in DataList" :key="index">
-                    <el-collapse-item>
-                      <template slot="title">
-                        {{ item.proName + "(" + "鍘熶环" + item.proPrice + ")" }}
-                      </template>
-                      <el-table :data="item.tjProjectList" border style="width: 100%" height="250">
-                        <el-table-column prop="proName" label="椤圭洰" width="180">
-                        </el-table-column>
-                        <el-table-column prop="proPrice" label="鍘熶环">
-                        </el-table-column>
-                      </el-table>
-                    </el-collapse-item>
+    <el-dialog
+      :title="title"
+      :visible.sync="Projectopen"
+      width="1100px"
+      style="height: 860px"
+      append-to-body
+      :close-on-click-modal="false"
+    >
+      <el-tabs
+        type="border-card"
+        style="height: 640px; margin: 0 10px; width: 100%"
+        @tab-click="handleClick"
+        v-model="activeNames"
+      >
+        <el-tab-pane label="缁勫悎" name="first">
+          <div class="tab8">
+            <el-row :gutter="20" style="width: 100%">
+              <el-col :span="6">
+                <div
+                  style="
+                    text-align: center;
+                    margin-bottom: 10px;
+                    margin-top: 10px;
+                  "
+                >
+                  椤圭洰鍒楄〃
+                </div>
+                <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterage">
+                </el-input>
+                <div class="tab3">
+                  <el-tree
+                    class="filter-tree"
+                    v-loading="loading"
+                    :data="packageList"
+                    :props="defaultProp"
+                    show-checkbox
+                    node-key="id"
+                    @check="handlepackage"
+                    :default-checked-keys="checkedkeys"
+                    :filter-node-method="filterpackage"
+                    ref="treas"
+                    :render-content="renderContents"
+                  >
+                  </el-tree>
+                </div>
+              </el-col>
+              <el-col :span="6">
+                <div
+                  style="
+                    text-align: center;
+                    margin-bottom: 10px;
+                    margin-top: 10px;
+                  "
+                >
+                  鏄庣粏椤圭洰鍒楄〃
+                </div>
+                <div class="tab3">
+                  <el-tree
+                    class="filter-tree"
+                    v-loading="loading"
+                    :data="packagedataList"
+                    node-key="proId"
+                    :props="defaultpackProps"
+                    :render-content="renderContent"
+                  >
+                  </el-tree>
+                </div>
+              </el-col>
+              <el-col :span="11">
+                <div class="grid-content bg-purple">
+                  <div
+                    style="
+                      text-align: center;
+                      margin-bottom: 10px;
+                      margin-top: 10px;
+                    "
+                  >
+                    宸查�夐」鐩垪琛�
                   </div>
-                </el-collapse>
-                <el-collapse v-model="activeName" accordion v-if="list1">
+                  <el-table
+                    :data="Datalists"
+                    border
+                    style="width: 100%"
+                    height="400"
+                    :span-method="objectspanmethod"
+                  >
+                    <el-table-column prop="propinName" label="妫�鏌ラ」鐩�">
+                    </el-table-column>
+                    <el-table-column
+                      prop="proName"
+                      label="鏄庣粏椤圭洰"
+                      width="260px"
+                    >
+                    </el-table-column>
+                    <el-table-column prop="proPrice" label="鍘熶环" width="56px">
+                    </el-table-column>
+
+                    <el-table-column
+                      label="鎿嶄綔"
+                      align="center"
+                      class-name="small-padding fixed-width"
+                      width="50px"
+                    >
+                      <template slot-scope="scope">
+                        <el-button
+                          size="mini"
+                          type="text"
+                          icon="el-icon-delete"
+                          @click="handleDel(scope.row)"
+                          title="鍒犻櫎"
+                        ></el-button>
+                      </template>
+                    </el-table-column>
+                  </el-table>
+
+                  <!-- <h3 style="font-weight: 600">鍚堣锛歿{ marryalls }}鍏�</h3> -->
+                </div>
+              </el-col>
+            </el-row>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="鍗曢」" name="third">
+          <el-row type="flex" class="row-bg" justify="space-around">
+            <el-col :span="6">
+              <div
+                style="
+                  text-align: center;
+                  margin-bottom: 10px;
+                  margin-top: 10px;
+                "
+              >
+                椤圭洰鍒楄〃
+              </div>
+              <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText">
+              </el-input>
+              <div class="tab3">
+                <el-tree
+                  class="filter-tree"
+                  v-loading="loading"
+                  :data="Treedata"
+                  :props="defaultProps"
+                  show-checkbox
+                  node-key="proId"
+                  @check="handleCurrentChecked"
+                  :default-checked-keys="checkedkey"
+                  :filter-node-method="filterNode"
+                  ref="tree"
+                  :render-content="renderContent"
+                >
+                </el-tree>
+              </div>
+            </el-col>
+            <el-col :span="5">
+              <div
+                style="
+                  text-align: center;
+                  margin-bottom: 10px;
+                  margin-top: 10px;
+                "
+              >
+                鏄庣粏椤圭洰鍒楄〃
+              </div>
+              <div class="tab3">
+                <el-tree
+                  class="filter-tree"
+                  v-loading="loading"
+                  :data="TreedataList"
+                  node-key="proId"
+                  :props="defaultProps"
+                  :filter-node-method="filterNode"
+                  show-checkbox
+                  @check-change="handleCurrentChecked1"
+                  :default-checked-keys="checkedListkey"
+                  :render-content="renderContent"
+                >
+                </el-tree>
+              </div>
+            </el-col>
+            <el-col :span="11">
+              <div class="grid-content bg-purple">
+                <div
+                  style="
+                    text-align: center;
+                    margin-bottom: 10px;
+                    margin-top: 10px;
+                  "
+                >
+                  宸查�夐」鐩垪琛�
+                </div>
+                <el-table
+                  :data="DataList"
+                  border
+                  style="width: 100%"
+                  height="400"
+                  :span-method="objectSpanMethod"
+                >
+                  <el-table-column prop="propinName" label="妫�鏌ラ」鐩�">
+                  </el-table-column>
+                  <el-table-column prop="proPrice" label="鍘熶环" width="56px">
+                  </el-table-column>
+                  <el-table-column
+                    prop="proName"
+                    label="鏄庣粏椤圭洰"
+                    width="260px"
+                  >
+                  </el-table-column>
+
+                  <el-table-column
+                    label="鎿嶄綔"
+                    align="center"
+                    fixed="right"
+                    class-name="small-padding fixed-width"
+                    width="50px"
+                  >
+                    <template slot-scope="scope">
+                      <el-button
+                        size="mini"
+                        type="text"
+                        icon="el-icon-delete"
+                        @click="handleDelete(scope.row)"
+                        title="鍒犻櫎"
+                      ></el-button>
+                    </template>
+                  </el-table-column>
+                </el-table>
+                <!-- <el-collapse v-model="activeName" accordion v-if="list1">
+              <div>
+                <el-collapse-item title="璇烽�夋嫨椤圭洰">
+                  <el-table :data="DataList" border style="width: 100%">
+                    <el-table-column prop="proName" label="椤圭洰" width="180">
+                    </el-table-column>
+                    <el-table-column prop="ordPrice" label="鍘熶环">
+                    </el-table-column>
+                  </el-table>
+                </el-collapse-item>
+              </div>
+            </el-collapse> -->
+                <template>
+                  <el-form :model="form">
+                    <el-form-item label="浣撴绫诲瀷" prop="tjType">
+                      <div class="type">
+                        {{ { 1: "鍥㈤槦", 2: "涓汉", 3: "鍥綋绁�" }[form.tjType] }}
+                      </div>
+
+                      <!-- <el-radio-group v-model="form.tjType">
+                        <el-radio :label="1">鍥㈤槦</el-radio>
+                        <el-radio :label="2">涓汉</el-radio>
+                      </el-radio-group> -->
+                    </el-form-item>
+                  </el-form>
+                </template>
+
+                <div class="outside">
+                  <el-form :inline="true" class="outside1">
+                    <el-form-item label="鍘熶环">
+                      <el-input
+                        placeholder="鍘熶环"
+                        :value="TotalPrice1"
+                        disabled
+                        style="width: 90px"
+                      ></el-input>
+                    </el-form-item>
+                    <el-form-item label="鎶樻墸璁惧畾">
+                      <el-input
+                        style="width: 90px"
+                        type="number"
+                        v-model="discount"
+                        :value="discount"
+                      ></el-input>
+                    </el-form-item>
+                    <el-form-item label="搴斾粯閲戦">
+                      <el-input
+                        placeholder="搴斾粯閲戦"
+                        :value="TotalPrice1 * (discount / 10)"
+                        style="width: 90px"
+                      ></el-input>
+                    </el-form-item>
+                    <el-form-item label="浠樻绫诲瀷" prop="payType">
+                      <el-select
+                        style="width: 120px"
+                        v-model="payType"
+                        placeholder="璇烽�夋嫨浠樻绫诲瀷"
+                        @change="onPayTypeChange"
+                      >
+                        <el-option
+                          v-for="dict in dict.type.dict_pay_type"
+                          :key="dict.value"
+                          :label="dict.label"
+                          :value="dict.value"
+                        ></el-option>
+                      </el-select>
+                    </el-form-item>
+                    <el-form-item>
+                      <el-button
+                        type="primary"
+                        @click="submitPrice"
+                        :disabled="confirm"
+                        style="margin-top: 34px"
+                        >鎻愪氦</el-button
+                      >
+                    </el-form-item>
+                  </el-form>
+                </div>
+              </div>
+            </el-col>
+          </el-row>
+        </el-tab-pane>
+      </el-tabs>
+    </el-dialog>
+
+    <!-- 娣诲姞琛ュ綍椤圭洰 -->
+    <el-dialog
+      :title="title"
+      :visible.sync="Projectopen1"
+      width="1100px"
+      style="height: 860px"
+      append-to-body
+      :close-on-click-modal="false"
+    >
+      <div class="box">
+        <div class="box1">
+          <div
+            style="text-align: center; margin-bottom: 10px; margin-top: 10px"
+          >
+            椤圭洰閫夋嫨
+          </div>
+          <el-tabs
+            type="border-card"
+            style="height: 560px; margin: 0 10px; width: 100%"
+            @tab-click="handleClick"
+            v-model="activeNames"
+          >
+            <el-tab-pane label="缁勫悎" name="first">
+              <div class="tab8">
+                <el-row :gutter="20" style="width: 100%">
+                  <el-col :span="22">
+                    <!-- <div
+                    style="
+                      text-align: center;
+                      margin-bottom: 10px;
+                      margin-top: 10px;
+                    "
+                  >
+                    椤圭洰鍒楄〃
+                  </div> -->
+                    <el-input
+                      placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
+                      v-model="filterage"
+                    >
+                    </el-input>
+                    <div class="tab3">
+                      <el-tree
+                        class="filter-tree"
+                        v-loading="loading"
+                        :data="packageList"
+                        :props="defaultProp"
+                        show-checkbox
+                        node-key="id"
+                        @check="handlepackage"
+                        :default-checked-keys="checkedkeys"
+                        :filter-node-method="filterpackage"
+                        ref="treas"
+                        :render-content="renderContents"
+                      >
+                      </el-tree>
+                    </div>
+                  </el-col>
+                  <!-- <el-col :span="11">
+                  <div
+                    style="
+                      text-align: center;
+                      margin-bottom: 10px;
+                      margin-top: 10px;
+                    "
+                  >
+                    鏄庣粏椤圭洰鍒楄〃
+                  </div>
+                  <div class="tab3">
+                    <el-tree
+                      class="filter-tree"
+                      v-loading="loading"
+                      :data="packagedataList"
+                      node-key="proId"
+                      :props="defaultpackProps"
+                      :render-content="renderContent"
+                    >
+                    </el-tree>
+                  </div>
+                </el-col> -->
+                  <!-- <el-col :span="11"> </el-col> -->
+                </el-row>
+              </div>
+            </el-tab-pane>
+            <el-tab-pane label="鍗曢」" name="third">
+              <div class="tab8">
+                <el-row type="flex" class="row-bg" justify="space-around">
+                  <el-col :span="22">
+                    <!-- <div
+                  style="
+                    text-align: center;
+                    margin-bottom: 10px;
+                    margin-top: 10px;
+                  "
+                >
+                  椤圭洰鍒楄〃
+                </div> -->
+                    <el-input
+                      placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
+                      v-model="filterText"
+                    >
+                    </el-input>
+                    <div class="tab3">
+                      <el-tree
+                        class="filter-tree"
+                        v-loading="loading"
+                        :data="Treedata"
+                        :props="defaultProps"
+                        show-checkbox
+                        node-key="proId"
+                        @check="handleCurrentChecked"
+                        :default-checked-keys="checkedkey"
+                        :filter-node-method="filterNode"
+                        ref="tree"
+                        :render-content="renderContent"
+                      >
+                      </el-tree>
+                    </div>
+                  </el-col>
+                  <!-- <el-col :span="11">
+                <div
+                  style="
+                    text-align: center;
+                    margin-bottom: 10px;
+                    margin-top: 10px;
+                  "
+                >
+                  鏄庣粏椤圭洰鍒楄〃
+                </div>
+                <div class="tab3">
+                  <div class="outside1">
+                    <el-tree
+                      class="filter-tree"
+                      v-loading="loading"
+                      :data="TreedataList"
+                      node-key="proId"
+                      :props="defaultProps"
+                      :filter-node-method="filterNode"
+                      show-checkbox
+                      @check-change="handleCurrentChecked1"
+                      :default-checked-keys="checkedListkey"
+                      :render-content="renderContent"
+                    >
+                    </el-tree>
+                  </div>
+                </div>
+              </el-col> -->
+                  <!-- <el-col :span="11">
+              <div class="grid-content bg-purple">
+                <div
+                  style="
+                    text-align: center;
+                    margin-bottom: 10px;
+                    margin-top: 10px;
+                  "
+                >
+                  宸查�夐」鐩垪琛�
+                </div>
+
+                <el-table
+                  :data="DataList"
+                  border
+                  style="width: 100%"
+                  height="400"
+                  :span-method="objectSpanMethod"
+                >
+                  <el-table-column prop="propinName" label="妫�鏌ラ」鐩�">
+                  </el-table-column>
+                  <el-table-column prop="proPrice" label="鍘熶环" width="56px">
+                  </el-table-column>
+                  <el-table-column
+                    prop="proName"
+                    label="鏄庣粏椤圭洰"
+                    width="260px"
+                  >
+                  </el-table-column>
+
+                  <el-table-column
+                    label="鎿嶄綔"
+                    align="center"
+                    fixed="right"
+                    class-name="small-padding fixed-width"
+                    width="50px"
+                  >
+                    <template slot-scope="scope">
+                      <el-button
+                        size="mini"
+                        type="text"
+                        icon="el-icon-delete"
+                        @click="handleDelete(scope.row)"
+                        title="鍒犻櫎"
+                      ></el-button>
+                    </template>
+                  </el-table-column>
+                </el-table> -->
+                  <!-- <el-collapse v-model="activeName" accordion v-if="list1">
                   <div>
                     <el-collapse-item title="璇烽�夋嫨椤圭洰">
-                      <el-table :data="DataList" border style="width: 100%">
-                        <el-table-column prop="proName" label="椤圭洰" width="180">
+                      <el-table
+                        :data="DataList"
+                        border
+                        style="width: 100%"
+                        height="400"
+                        :span-method="objectSpanMethod"
+                      >
+                        <el-table-column
+                          prop="proName"
+                          label="椤圭洰"
+                          width="180"
+                        >
                         </el-table-column>
                         <el-table-column prop="ordPrice" label="鍘熶环">
                         </el-table-column>
                       </el-table>
                     </el-collapse-item>
                   </div>
-                </el-collapse>
+                </el-collapse> -->
+                  <!-- </div>
+            </el-col> -->
+                </el-row>
               </div>
-            </div>
-          </el-col>
+            </el-tab-pane>
+          </el-tabs>
         </div>
-      </el-row>
-    </el-dialog>
 
-    <!-- 娣诲姞琛ュ綍椤圭洰 -->
-    <el-dialog :title="title" :visible.sync="Projectopen1" width="980px" style="height: 860px" append-to-body>
-      <el-row type="flex" class="row-bg" justify="space-around">
-        <el-col :span="6">
-          <div style="text-align: center; margin-bottom: 10px;margin-top:10px">椤圭洰鍒楄〃</div>
-          <div class="tab3">
-            <div class="outside1">
-              <el-tree :data="Treedata" show-checkbox node-key="proId" :props="defaultProps"
-                @check-change="handleCurrentChecked">
-              </el-tree>
-            </div>
+        <div class="grid-content bg-purple">
+          <div style="text-align: center; margin-bottom: 10px; margin-top: 9px">
+            宸查�夐」鐩垪琛�
           </div>
-        </el-col>
+          <el-table
+            :data="DataList3"
+            border
+            style="width: 100%"
+            height="560"
+            :span-method="objectspanmethod"
+          >
+            <el-table-column prop="propinName" label="妫�鏌ラ」鐩�">
+            </el-table-column>
+            <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="260px">
+            </el-table-column>
+            <el-table-column prop="proPrice" label="鍘熶环" width="56px">
+            </el-table-column>
 
-        <el-col :span="18">
-          <div class="grid-content bg-purple">
-            <template>
-              <el-form :model="form">
-                <el-form-item label="浣撴绫诲瀷" prop="tjType">
-                  <el-radio-group v-model="form.tjType">
-                    <el-radio :label="1">鍥㈤槦</el-radio>
-                    <el-radio :label="2">涓汉</el-radio>
-                  </el-radio-group>
-                </el-form-item>
-              </el-form>
-            </template>
+            <el-table-column
+              label="鎿嶄綔"
+              align="center"
+              class-name="small-padding fixed-width"
+              width="50px"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  size="mini"
+                  type="text"
+                  icon="el-icon-delete"
+                  @click="handleDel(scope.row)"
+                  title="鍒犻櫎"
+                ></el-button>
+              </template>
+            </el-table-column>
+          </el-table>
 
-            <div class="outside">
-              <el-form :inline="true" class="outside1">
-                <el-form-item label="鍘熶环">
-                  <el-input placeholder="鍘熶环" :value="TotalPrice1" disabled style="width: 90px"></el-input>
-                </el-form-item>
-                <el-form-item label="鎶樻墸璁惧畾">
-                  <el-input style="width: 90px" type="number" v-model="discount" :value="discount"></el-input>
-                </el-form-item>
-                <el-form-item label="搴斾粯閲戦">
-                  <el-input placeholder="搴斾粯閲戦" :value="TotalPrice1 * (discount / 10)" style="width: 90px"></el-input>
-                </el-form-item>
-                <el-form-item label="浠樻绫诲瀷" prop="payType">
-                  <el-select style="width: 120px" v-model="payType" placeholder="璇烽�夋嫨浠樻绫诲瀷">
-                    <el-option v-for="dict in dict.type.dict_pay_type" :key="dict.value" :label="dict.label"
-                      :value="dict.value"></el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item>
-                  <el-button type="primary" @click="submitPrice1" :disabled="confirm"
-                    style="margin-top: 34px">鏀惰垂</el-button>
-                </el-form-item>
-              </el-form>
-            </div>
-            <div style="text-align: center; margin-bottom: 10px">
-              宸查�夐」鐩垪琛�
-            </div>
-            <div style="
-                padding: 0px 6px;
-                border: 1px solid #e6ebf5;
-                max-height: 420px;
-                overflow: auto;
-              ">
-              <el-collapse v-model="activeName" accordion>
-                <div v-for="(item, index) in DataList" :key="index">
-                  <el-collapse-item>
-                    <template slot="title">
-                      {{ item.proName + "(" + "鍘熶环" + item.proPrice + ")" }}
-                    </template>
-                    <el-table :data="item.tjProjectList" border style="width: 100%" height="250">
-                      <el-table-column prop="proName" label="椤圭洰" width="180">
-                      </el-table-column>
-                      <el-table-column prop="proPrice" label="鍘熶环">
-                      </el-table-column>
-                    </el-table>
-                  </el-collapse-item>
-                </div>
-              </el-collapse>
-              <el-collapse v-model="activeName" accordion v-if="list1">
-                <div>
-                  <el-collapse-item title="璇烽�夋嫨椤圭洰">
-                    <el-table :data="DataList" border style="width: 100%">
-                      <el-table-column prop="proName" label="椤圭洰" width="180">
-                      </el-table-column>
-                      <el-table-column prop="ordPrice" label="鍘熶环">
-                      </el-table-column>
-                    </el-table>
-                  </el-collapse-item>
-                </div>
-              </el-collapse>
-            </div>
-          </div>
-        </el-col>
-      </el-row>
+          <!-- <h3 style="font-weight: 600">鍚堣锛歿{ marryalls }}鍏�</h3> -->
+        </div>
+      </div>
+
+      <div class="heji">
+        <div class="o">
+          <el-form
+            :model="form"
+            :inline="true"
+            style="display: flex; align-items: center"
+          >
+            <el-form-item label="浣撴绫诲瀷" prop="tjType">
+              <div class="type">
+                {{ { 1: "鍥㈤槦", 2: "涓汉", 3: "鍥綋绁�" }[form.tjType] }}
+              </div>
+            </el-form-item>
+          </el-form>
+        </div>
+
+        <div class="outsides">
+          <el-form :inline="true" class="outside2" label-width="80px">
+            <el-form-item label="鍘熶环" style="display: flex">
+              <el-input
+                placeholder="鍘熶环"
+                :value="TotalPrice1"
+                disabled
+                style="width: 90px"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="鎶樻墸璁惧畾" style="display: flex">
+              <el-input
+                style="width: 90px"
+                type="number"
+                v-model="discount"
+                :value="discount"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="搴斾粯閲戦" style="display: flex">
+              <el-input
+                placeholder="搴斾粯閲戦"
+                :value="TotalPrice1 * (discount / 10)"
+                style="width: 90px"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="浠樻绫诲瀷" prop="payType" style="display: flex">
+              <el-select
+                style="width: 120px"
+                v-model="payType"
+                placeholder="璇烽�夋嫨浠樻绫诲瀷"
+                @change="onPayTypeChange"
+              >
+                <el-option
+                  v-for="dict in dict.type.dict_pay_type"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item style="display: flex">
+              <el-button
+                type="primary"
+                @click="submitPrice1"
+                :disabled="confirm"
+                >鎻愪氦</el-button
+              >
+            </el-form-item>
+          </el-form>
+        </div>
+      </div>
     </el-dialog>
 
     <!-- 娣诲姞鎴栦慨鏀逛綋妫�璁板綍瀵硅瘽妗� -->
-    <el-dialog :title="title" :visible.sync="open" width="950px" append-to-body>
-      <el-table :data="numberList" style="width: 100%">
-        <el-table-column prop="proName" label="椤圭洰/鑰楁潗" width="300">
-        </el-table-column>
-        <el-table-column prop="price" label="鍗曚环" width="300">
-        </el-table-column>
-        <el-table-column prop="count" label="鏁伴噺" width="300">
-        </el-table-column>
-      </el-table>
-      <el-table :data="bill" style="width: 100%">
-        <el-table-column prop="copeWith" label="搴斾粯" width="180">
-        </el-table-column>
-        <el-table-column prop="discount" label="鎶樻墸" width="180">
-        </el-table-column>
-        <el-table-column prop="paidIn" label="瀹炰粯" width="180">
-        </el-table-column>
-        <el-table-column prop="payType" label="浠樻鏂瑰紡" width="180">
-          <template slot-scope="scope">
-            <span v-if="scope.row.payType == '0'">鐜伴噾鏀粯</span>
-            <span v-if="scope.row.payType == '1'">鍒峰崱鏀粯</span>
-            <span v-if="scope.row.payType == '2'">鏀粯瀹濇敮浠�</span>
-            <span v-if="scope.row.payType == '3'">寰俊鏀粯</span>
-            <span v-if="scope.row.payType == '4'">浜戦棯浠樻敮浠�</span>
-          </template>
-        </el-table-column>
-        <el-table-column prop="payStasus" label="浠樻鐘舵��" width="180">
-          <template slot-scope="scope">
-            <span v-if="scope.row.payStasus == '0'">鏈粯娆�</span>
-            <span v-if="scope.row.payStasus == '1'">宸蹭粯娆�</span>
-            <span v-if="scope.row.payStasus == '2'">閫�璐�</span>
-            <span v-if="scope.row.payStasus == '3'">棰勪粯娆�</span>
-          </template>
-        </el-table-column>
-      </el-table>
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      width="950px"
+      append-to-body
+      :close-on-click-modal="false"
+    >
+      <el-tabs v-model="activeName1" type="card">
+        <!-- <el-tab-pane label="璁㈠崟娴佹按" name="first">
+          <el-table :data="numberList" style="width: 100%">
+            <el-table-column prop="proName" label="椤圭洰/鑰楁潗" width="300">
+            </el-table-column>
+            <el-table-column prop="price" label="鍗曚环" width="300">
+            </el-table-column>
+            <el-table-column prop="count" label="鏁伴噺" width="300">
+            </el-table-column>
+          </el-table>
+          <el-table :data="bill" style="width: 100%">
+            <el-table-column prop="copeWith" label="搴斾粯" width="180">
+            </el-table-column>
+            <el-table-column prop="discount" label="鎶樻墸" width="180">
+            </el-table-column>
+            <el-table-column prop="paidIn" label="瀹炰粯" width="180">
+            </el-table-column>
+            <el-table-column prop="payType" label="浠樻鏂瑰紡" width="180">
+              <template slot-scope="scope">
+                <span v-if="scope.row.payType == '0'">鐜伴噾鏀粯</span>
+                <span v-if="scope.row.payType == '1'">鍒峰崱鏀粯</span>
+                <span v-if="scope.row.payType == '2'">鏀粯瀹濇敮浠�</span>
+                <span v-if="scope.row.payType == '3'">寰俊鏀粯</span>
+                <span v-if="scope.row.payType == '4'">浜戦棯浠樻敮浠�</span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="payStasus" label="浠樻鐘舵��" width="180">
+              <template slot-scope="scope">
+                <span v-if="scope.row.payStasus == '0'">鏈粯娆�</span>
+                <span v-if="scope.row.payStasus == '1'">宸蹭粯娆�</span>
+                <span v-if="scope.row.payStasus == '2'">閫�璐�</span>
+                <span v-if="scope.row.payStasus == '3'">棰勪粯娆�</span>
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-tab-pane> -->
+        <el-tab-pane label="椤圭洰姹囨��" name="second" style="height: 400px">
+          <el-table :data="huizongList" style="width: 100%" max-height="200">
+            <el-table-column
+              align="center"
+              type="index"
+              label="搴忓彿"
+              width="50"
+            >
+            </el-table-column>
+            <el-table-column align="center" prop="parent_pro_name" label="椤圭洰">
+            </el-table-column>
+            <el-table-column align="center" prop="ks" label="绉戝">
+            </el-table-column>
+            <el-table-column align="center" prop="price" label="璐圭敤鍚堣">
+            </el-table-column>
+          </el-table>
+          <h3>浠樻璇︽儏</h3>
+          <el-table :data="bill" style="width: 100%; margin-top: 10px">
+            <el-table-column align="center" prop="copeWith" label="搴斾粯">
+            </el-table-column>
+            <el-table-column align="center" prop="discount" label="鎶樻墸">
+            </el-table-column>
+            <el-table-column align="center" prop="paidIn" label="瀹炰粯">
+            </el-table-column>
+          </el-table>
+        </el-tab-pane>
+        <el-tab-pane label="鏄庣粏椤圭洰" name="third" style="height: 350px">
+          <el-table
+            :data="infoList"
+            style="width: 100%"
+            max-height="330"
+            :span-method="objectSpanMethod1"
+          >
+            <el-table-column
+              align="center"
+              type="index"
+              label="搴忓彿"
+              width="50"
+            >
+            </el-table-column>
+            <el-table-column align="center" prop="parent_pro_name" label="鐖堕」">
+            </el-table-column>
+            <el-table-column align="center" prop="pro_name" label="瀛愰」">
+            </el-table-column>
+            <el-table-column align="center" prop="danjia" label="鍗曚环">
+            </el-table-column>
+            <el-table-column align="center" prop="num" label="鏁伴噺">
+            </el-table-column>
+            <el-table-column align="center" prop="zongjia" label="鎬讳环">
+            </el-table-column>
+            <el-table-column
+              align="center"
+              prop="time"
+              label="寮�鍗曟椂闂�"
+              width="180"
+            >
+            </el-table-column>
+          </el-table>
+        </el-tab-pane>
+      </el-tabs>
       <div slot="footer" class="dialog-footer">
         <el-button @click="cancel">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
+
+    <el-dialog
+      :title="title1"
+      :visible.sync="Projectssopen"
+      width="1100px"
+      style="height: 860px"
+      append-to-body
+      :close-on-click-modal="false"
+    >
+      <el-row type="flex" class="row-bg" justify="space-around">
+        <el-col :span="13">
+          <div
+            style="text-align: center; margin-bottom: 10px; margin-top: 10px"
+          >
+            琛ュ綍鍒楄〃
+          </div>
+
+          <div class="tab3">
+            <el-table
+              :data="DataLists"
+              border
+              style="width: 100%"
+              height="400"
+              @selection-change="handleProjectssChange"
+            >
+              <el-table-column type="selection" width="40" align="center" />
+              <el-table-column
+                type="index"
+                label="搴忓彿"
+                align="center"
+                width="49px"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="blje"
+                label="琛ュ綍閲戦"
+                align="center"
+                width="74px"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="bldh"
+                label="琛ュ綍鍗曞彿"
+                align="center"
+                width="155px"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="blsj"
+                label="琛ュ綍鏃堕棿"
+                align="center"
+                width="156px"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="blrmc"
+                label="琛ュ綍浜�"
+                align="center"
+                width="96px"
+              >
+              </el-table-column>
+            </el-table>
+          </div>
+        </el-col>
+
+        <el-col :span="10">
+          <div class="grid-content bg-purple">
+            <div
+              style="text-align: center; margin-bottom: 10px; margin-top: 10px"
+            >
+              琛ュ綍椤圭洰
+            </div>
+            <el-table
+              :data="DataListss"
+              border
+              style="width: 100%"
+              height="400"
+              :span-method="objectSpanMethod2"
+            >
+              <el-table-column prop="propinName" label="妫�鏌ラ」鐩�">
+              </el-table-column>
+              <el-table-column prop="proPrice" label="鍘熶环" width="56px">
+              </el-table-column>
+              <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="260px">
+              </el-table-column>
+            </el-table>
+          </div>
+        </el-col>
+      </el-row>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">鎾� 閿�</el-button>
+        <!-- <el-button @click="cancel">鍙� 娑�</el-button> -->
+      </div>
+    </el-dialog>
+
+    <el-dialog
+      :title="title1"
+      :visible.sync="budadaozhen"
+      width="1100px"
+      style="height: 860px"
+      append-to-body
+      :close-on-click-modal="false"
+    >
+      <el-row type="flex" class="row-bg" justify="space-around">
+        <el-col :span="13">
+          <div
+            style="text-align: center; margin-bottom: 10px; margin-top: 10px"
+          >
+            琛ュ綍鍒楄〃
+          </div>
+
+          <div class="tab3">
+            <el-table
+              :data="DataLists"
+              border
+              style="width: 100%"
+              height="400"
+              @selection-change="handleProjectssChange"
+            >
+              <el-table-column type="selection" width="40" align="center" />
+              <el-table-column
+                type="index"
+                label="搴忓彿"
+                align="center"
+                width="49px"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="blje"
+                label="琛ュ綍閲戦"
+                align="center"
+                width="74px"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="bldh"
+                label="琛ュ綍鍗曞彿"
+                align="center"
+                width="155px"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="blsj"
+                label="琛ュ綍鏃堕棿"
+                align="center"
+                width="156px"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="blrmc"
+                label="琛ュ綍浜�"
+                align="center"
+                width="96px"
+              >
+              </el-table-column>
+            </el-table>
+          </div>
+        </el-col>
+
+        <el-col :span="10">
+          <div class="grid-content bg-purple">
+            <div
+              style="text-align: center; margin-bottom: 10px; margin-top: 10px"
+            >
+              琛ュ綍椤圭洰
+            </div>
+            <el-table
+              :data="DataListss"
+              border
+              style="width: 100%"
+              height="400"
+              :span-method="objectSpanMethod2"
+            >
+              <el-table-column prop="propinName" label="妫�鏌ラ」鐩�">
+              </el-table-column>
+              <el-table-column prop="proPrice" label="鍘熶环" width="56px">
+              </el-table-column>
+              <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="260px">
+              </el-table-column>
+            </el-table>
+          </div>
+        </el-col>
+      </el-row>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="dayin">鎵� 鍗�</el-button>
+        <!-- <el-button @click="cancel">鍙� 娑�</el-button> -->
       </div>
     </el-dialog>
   </div>
@@ -426,37 +1425,67 @@
 
 <script>
 import {
-  listOrder,
   getNumber,
-  hasReportEnd,
   hasReport,
-  gettoPdf,
   getPdf,
   getOrderList,
+  getNewDateList,
+  revokeTjOrderByTjNum,
+  getTransitionInfo,
+  getBlproByTjh,
+  revokeBlProByBldhAndTjh,
 } from "@/api/hosp/order";
+import moment from "moment";
+import { getZhList, getlistByZhId } from "@/api/system/package";
 import { getwater } from "@/api/hosp/customer";
+import { getInfo } from "@/api/login";
 import ViewPdf from "@/components/ViewPdf";
-import { projectGetList, getaddtTransition } from "@/api/system/tijian";
+import {
+  projectGetList,
+  getaddtTransition,
+  getProParentIdDxList,
+  getProSonDxList,
+} from "@/api/system/tijian";
+import { createLogger } from "vuex";
 export default {
   components: {
     ViewPdf,
   },
-  dicts: ["dict_pay_type"],
+  dicts: ["dict_pay_type", "dict_team"],
   name: "Order",
   data() {
     return {
+      DataList3: [],
+      bldhid: "",
+      budadaozhen: false,
+      huizongList: [],
+      DataLists: [],
+      infoList: [],
+      bldhs: [],
+      filterage: "",
+      activeName1: "second",
+      filterText: "",
       orderIds: "",
       tjnumbers: "",
+      Projectssopen: false,
+      title1: "",
       cusIds: "",
       userIds: "",
       cusIdcard: "",
+      defaultpackProps: {
+        children: [],
+        label: "proName",
+      },
       cusName: "",
       cusPhone: "",
       cusSex: "",
       reportTimeList: "",
       createTimeList: "",
+      packagedataList: [],
       cusId: "",
       payType: "0",
+      packageList: [],
+      checkedkeys: [],
       dialogVisible: false,
       daoZhenDan: false,
       Projectopen: false,
@@ -464,12 +1493,20 @@
       src: "",
       url: "",
       flag: true,
-      bill: null,
+      bill: [],
       Treedata: [],
+      DataListss: [],
+      checkedkey: [],
+      checkedListkey: [],
       defaultProps: {
-        children: "tjProjectList",
+        children: [],
         label: "proName",
       },
+      defaultProp: {
+        children: [],
+        label: "zhmc",
+      },
+      TreedataList: [],
       discount: 10,
       DataList: [],
       // 濂楅鎻愪氦鎸夐挳
@@ -478,14 +1515,18 @@
       activeName: "1",
       proIds: [],
       TotalPrice1: 0,
+      TotalPrice6: 0,
+      TotalPrice7: 0,
       numberList: [],
       dialogVisible: false,
       // 閬僵灞�
       loading: true,
       // 閫変腑鏁扮粍
       ids: [],
+      dataObj: {},
       // 闈炲崟涓鐢�
       single: true,
+      activeNames: "first",
       // 闈炲涓鐢�
       multiple: true,
       // 鏄剧ず鎼滅储鏉′欢
@@ -500,8 +1541,10 @@
       orderId: "",
       // 鏄惁鏄剧ず寮瑰嚭灞�
       open: false,
+      Datalists: [],
       // 鏃ユ湡鑼冨洿
       datetimerange: [],
+      marryalls: 0,
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -511,6 +1554,7 @@
         tjNum: null,
         bgbeginTime: null,
         bgendTime: null,
+        xmmc: null,
       },
       startTime: "",
       startTime1: "",
@@ -553,9 +1597,19 @@
       },
     };
   },
+
+  watch: {
+    filterText(val) {
+      this.$refs.tree.filter(val);
+    },
+    filterage(val) {
+      this.$refs.treas.filter(val);
+    },
+  },
   created() {
-    this.getNowTime();
-    this.getList();
+    // this.getNowTime();
+
+    this.getdate();
   },
   mounted() {
     this.$nextTick(() => {
@@ -563,37 +1617,66 @@
     });
   },
   methods: {
+    onPayTypeChange() {
+      if (this.payType === "6" && this.form.tjType !== 3) {
+        this.cannotSelectPayType = true;
+        this.$message.warning("璇ヤ粯娆剧被鍨嬪湪姝や綋妫�绫诲瀷涓嬩笉鍏佽閫夋嫨锛�");
+        this.payType = this.dict.type.dict_pay_type[0]?.value || null;
+      } else {
+        this.cannotSelectPayType = false;
+      }
+    },
+    getdate() {
+      getNewDateList().then((res) => {
+        if (res.data) {
+          this.createTimeList = [
+            moment(res.data).format("YYYY-MM-DD 00:00:00"),
+            moment(res.data).format("YYYY-MM-DD 23:59:00"),
+          ];
+          this.getList();
+        }
+      });
+    },
+    filterNode(value, data) {
+      if (!value) return true;
+      // return data.proName.indexOf(value) !== -1;
+      if (data.proName.indexOf(value) !== -1) {
+        return data.proName.indexOf(value) !== -1;
+      } else {
+        return data.proEngName.indexOf(value) !== -1;
+      }
+    },
     // / 澶勭悊榛樿閫変腑褰撳墠鏃ユ湡
-    getNowTime() {
-      var curDate = new Date(new Date().setHours(0, 0, 0, 0)).getTime();
-      var dayNum = 7 * 24 * 3600 * 1000;
-      var threeDays = curDate - dayNum;
-      var sDay = this.getLocalTime(threeDays);
-      var end = this.getLocalTime(curDate);
-      this.createTimeList = [sDay, end];
-    },
-    add0(m) {
-      return m < 10 ? "0" + m : m;
-    },
-    getLocalTime(nS) {
-      var time = new Date(nS);
-      var y = time.getFullYear();
-      var m = time.getMonth() + 1;
-      var d = time.getDate();
-      var h = time.getHours();
-      var mm = time.getMinutes();
-      return (
-        y +
-        "-" +
-        this.add0(m) +
-        "-" +
-        this.add0(d) +
-        " " +
-        this.add0(h) +
-        ":" +
-        this.add0(mm)
-      );
-    },
+    // getNowTime() {
+    //   var curDate = new Date(new Date().setHours(0, 0, 0, 0)).getTime();
+    //   var dayNum = 7 * 24 * 3600 * 1000;
+    //   var threeDays = curDate - dayNum;
+    //   var sDay = this.getLocalTime(threeDays);
+    //   var end = this.getLocalTime(curDate);
+    //   this.createTimeList = [sDay, end];
+    // },
+    // add0(m) {
+    //   return m < 10 ? "0" + m : m;
+    // },
+    // getLocalTime(nS) {
+    //   var time = new Date(nS);
+    //   var y = time.getFullYear();
+    //   var m = time.getMonth() + 1;
+    //   var d = time.getDate();
+    //   var h = time.getHours();
+    //   var mm = time.getMinutes();
+    //   return (
+    //     y +
+    //     "-" +
+    //     this.add0(m) +
+    //     "-" +
+    //     this.add0(d) +
+    //     " " +
+    //     this.add0(h) +
+    //     ":" +
+    //     this.add0(mm)
+    //   );
+    // },
     dateChangebirthday1(val) {
       this.startTime = val;
     },
@@ -605,6 +1688,12 @@
       if (this.startTime) {
         this.queryParams.djbeginTime = this.startTime[0];
         this.queryParams.djendTime = this.startTime[1];
+      } else if (this.createTimeList) {
+        this.queryParams.djbeginTime = this.createTimeList[0];
+        this.queryParams.djendTime = this.createTimeList[1];
+      } else if (this.createTimeList == null) {
+        this.queryParams.djbeginTime = null;
+        this.queryParams.djendTime = null;
       }
       if (this.startTime1) {
         this.queryParams.bgbeginTime = this.startTime1[0];
@@ -626,6 +1715,9 @@
         this.loading = false;
       });
     },
+    driver(row) {
+      return row.pacName == null ? "鏅�氫綋妫�" : row.pacName;
+    },
     /** 鐐瑰嚮鏄剧ず瀵兼鍗曟姤琛�*/ //lige    寮�濮�
     handleReport(row) {
       const tjNumber = row.tjNumber;
@@ -640,9 +1732,13 @@
       });
     },
     /** 鐐瑰嚮鏄剧ず瀵兼鍗曟姤琛�*/ //lige    寮�濮�
-    handleReport1(row) {
+    /* handleReport1(row) {
       const tjNumber = this.tjnumbers;
       const viewNum = "792931586196398080";
+      getInfo().then(((res)=>{
+        console.log(res,123);
+        
+      }))
       const params = { viewNum, tjNumber };
       hasReport(tjNumber).then((res) => {
         if (res == 1) {
@@ -651,6 +1747,53 @@
           this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
         }
       });
+    }, */
+    handleReport1(row) {
+      const tjNumber = this.tjnumbers;
+      const viewNum = "792931586196398080";
+      // 鍏堣皟鐢� getInfo 鑾峰彇 userId
+      getInfo()
+        .then((res) => {
+          console.log(res, 1111);
+
+          const dqdlr = res.user.userId; // 鑾峰彇 userId
+          console.log("User ID:", dqdlr);
+          const params = { viewNum, tjNumber, dqdlr }; // 灏� userId 鍔犲叆 params
+
+          // 鍐嶈皟鐢� hasReport 妫�鏌ユ姤鍛婄姸鎬�
+          hasReport(tjNumber).then((reportRes) => {
+            if (reportRes === 1) {
+              this.$tab.openPage("瀵艰瘖鍗�", "/report/breDailyReport", params);
+            } else {
+              this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
+            }
+          });
+        })
+        .catch(() => {
+          this.$message.error("鏃犳硶鑾峰彇鐢ㄦ埛淇℃伅锛�");
+        });
+    },
+
+    handleRevoke() {
+      this.$confirm("鎮ㄧ‘璁よ鎾ら攢锛�", "纭淇℃伅", {
+        distinguishCancelAndClose: true,
+        confirmButtonText: "纭",
+        cancelButtonText: "鍙栨秷",
+      })
+        .then(() => {
+          revokeTjOrderByTjNum(this.tjnumbers).then((res) => {
+            this.$modal.msgSuccess(res.msg);
+            this.getList();
+          });
+        })
+        .catch((action) => {
+          if (action === "cancel") {
+            this.$message({
+              type: "warning",
+              message: "宸插彇娑�",
+            });
+          }
+        });
     },
     /** 鐐瑰嚮鏄剧ず浣撴鎶ュ憡鎶ヨ〃*/
     // viewReport(row) {
@@ -736,13 +1879,68 @@
       };
       this.resetForm("form");
     },
+    hb() {
+      if (this.queryParams.tjNum != undefined) {
+        this.handleQuery();
+      }
+    },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
       this.queryParams.pageNum = 1;
       this.getList();
     },
+    renderContents(h, { node, data, store }) {
+      return (
+        <span class="custom-tree-node">
+          <span>{node.label}</span>
+          <span>({data.price}鍏�)</span>
+        </span>
+      );
+    },
+
+    objectspanmethod({ row, column, rowIndex, columnIndex }) {
+      let fields = ["propinName"];
+      let cellValue = row[column.property];
+      if (cellValue && fields.includes(column.property)) {
+        let prevRow = this.Datalists[rowIndex - 1];
+        let nextRow = this.Datalists[rowIndex + 1];
+        if (prevRow && prevRow[column.property] === cellValue) {
+          return { rowspan: 0, colspan: 0 };
+        } else {
+          let countRowspan = 1;
+          while (nextRow && nextRow[column.property] === cellValue) {
+            nextRow = this.Datalists[++countRowspan + rowIndex];
+          }
+
+          if (countRowspan > 1) {
+            return { rowspan: countRowspan, colspan: 1 };
+          }
+        }
+      }
+
+      // if (columnIndex == 3) {
+      //   let rowspan = 0;
+      //   this.DataLists.forEach((element) => {
+      //     if (element.propinName === row.propinName) {
+      //       rowspan++;
+      //     }
+      //   });
+      //   return [rowspan, 1];
+      // }
+    },
+    filterpackage(value, data) {
+      if (!value) return true;
+      if (data.zhmc.indexOf(value) !== -1) {
+        return data.zhmc.indexOf(value) !== -1;
+      } else {
+        return data.pym.indexOf(value) !== -1;
+      }
+    },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
+      this.startTime = [];
+      this.startTime1 = [];
+      this.createTimeList = [];
       this.resetForm("queryForm");
       this.handleQuery();
     },
@@ -757,7 +1955,9 @@
         this.cusName = item.tjCustomerName;
         this.cusPhone = item.tjCustomerPhone;
         this.cusSex = item.tjCustomerSex;
+        this.form.tjType = parseInt(item.tjType);
       });
+
       this.ids = selection.map((item) => item.orderId);
       // this.tjNumbers = selection.map((item) => item.tjNumber);
       this.single = selection.length !== 1;
@@ -777,8 +1977,38 @@
       getNumber(tjNumber).then((response) => {
         // this.form = response.data;
         this.numberList = response.data.charging;
-        this.bill = response.data.water;
+        this.bill = [];
+        var copeWith = 0;
+        var paidIn = 0;
+        var discount = "";
+        response.data.water.forEach((item) => {
+          copeWith += item.copeWith;
+          paidIn += item.copeWith;
+          discount = item.discount;
+        });
+        this.bill.push({
+          copeWith: copeWith,
+          paidIn: paidIn,
+          discount: discount,
+        });
+
         this.title = "璁㈠崟娴佹按";
+      });
+      getTransitionInfo(tjNumber).then((res) => {
+        this.huizongList = res.data.huizong;
+        this.infoList = res.data.info;
+        this.huizongList.forEach((item, index) => {
+          item.newID =
+            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+            index +
+            1;
+        });
+        this.infoList.forEach((item, index) => {
+          item.newID =
+            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+            index +
+            1;
+        });
       });
     },
     /** 璁㈠崟鏄庣粏鎸夐挳 */
@@ -788,13 +2018,177 @@
       getNumber(tjNumber).then((response) => {
         // this.form = response.data;
         this.numberList = response.data.charging;
-        this.bill = response.data.water;
+        this.bill = [];
+        var copeWith = 0;
+        var paidIn = 0;
+        var discount = "";
+        response.data.water.forEach((item) => {
+          copeWith += item.copeWith;
+          paidIn += item.copeWith;
+          discount = item.discount;
+        });
+        this.bill.push({
+          copeWith: copeWith,
+          paidIn: paidIn,
+          discount: discount,
+        });
+
         this.title = "璁㈠崟娴佹按";
       });
+      getTransitionInfo(tjNumber).then((res) => {
+        this.huizongList = res.data.huizong;
+        this.infoList = res.data.info;
+        this.huizongList.forEach((item, index) => {
+          item.newID =
+            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+            index +
+            1;
+        });
+        this.infoList.forEach((item, index) => {
+          item.newID =
+            (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+            index +
+            1;
+        });
+      });
+    },
+    budadzd() {
+      this.bldhs = [];
+      this.bldhid = "";
+      getBlproByTjh(this.tjnumbers).then((res) => {
+        if (res.data) {
+          this.DataLists = res.data;
+          this.budadaozhen = true;
+          this.title1 = "琛ユ墦瀵艰瘖鍗�";
+        } else {
+          this.$message({
+            type: "warning ",
+            message: "璇ュ鎴锋病鏈夎ˉ褰曢」鐩�",
+          });
+        }
+      });
+    },
+    dayin() {
+      // this.bldhs = [];
+      console.log(this.bldhs);
+      this.bldhid.toString(this.bldhs);
+      this.bldhs.forEach((item) => {
+        console.log(item, 666);
+        this.bldhid += item + ",";
+      });
+      // this.bldhid = this.bldhs.toString()
+      console.log(this.bldhid);
+      const tjNumber = this.tjnumbers;
+      const viewNum = "983185234038140928";
+      const jxbz = this.bldhid;
+      // const params = { viewNum, tjNumber, jxbz };
+      // console.log(params);
+      getInfo().then((res) => {
+        console.log(res, 1111);
+        const dqdlr = res.user.userId; // 鑾峰彇 userId
+        const params = { viewNum, tjNumber, jxbz, dqdlr };
+
+        hasReport(tjNumber).then((res) => {
+          if (res == 1) {
+            this.$tab.openPage("瀵艰瘖鍗�", "/report/budabreDailyReport", params);
+            this.budadaozhen = false;
+          } else {
+            this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
+          }
+        });
+      });
+      /* hasReport(tjNumber).then((res) => {
+        if (res == 1) {
+          this.$tab.openPage("瀵艰瘖鍗�", "/report/budabreDailyReport", params);
+          this.budadaozhen = false;
+        } else {
+          this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
+        }
+      }); */
+    },
+
+    handleClick(tab, event) {
+      if (this.activeNames == "first") {
+        // this.marryalls = 0;
+        // this.Datalists = [];
+        this.checkedkeys = [];
+        getZhList().then((response) => {
+          if (response.data) {
+            this.packageList = response.data;
+          }
+          this.loading = false;
+        });
+      } else {
+        // this.TotalPrice1 = 0;
+        this.checkedkey = [];
+        // this.DataList = [];
+        this.getDataList();
+        // if (this.marryalls != 0) {
+        //   this.TotalPrice1 += this.marryalls;
+        // }
+      }
+    },
+
+    handlepackage(data, checked, checkedNodes) {
+      if (checked.checkedNodes.length != 0) {
+        this.$refs.treas.setCheckedKeys([data.id]);
+        let datas = {
+          zhId: data.id,
+        };
+        getlistByZhId(datas).then((res) => {
+          this.packagedataList = res.data.tjProjectList;
+          for (var i = 0; i < this.packagedataList.length; i++) {
+            let proId = this.packagedataList[i].proId;
+            getProSonDxList(proId).then((res) => {
+              this.TreedataList = res.data.list;
+              this.TreedataList.forEach((item) => {
+                this.Datalists.push(item);
+                this.DataList3 = this.DataList.concat(this.Datalists);
+                if (this.Datalists.length >= 1) {
+                  this.marryalls = 0;
+                  this.Datalists.forEach((item1) => {
+                    this.marryalls += item1.proPrice;
+                    // this.TotalPrice1 = this.marryalls;
+                    this.TotalPrice1 = 0;
+                    console.log(this.DataList3, 9999999999);
+                    if (this.DataList3.length != 0) {
+                      this.DataList3.forEach((item) => {
+                        console.log(item.proPrice);
+                        this.TotalPrice1 += item.proPrice;
+                      });
+                    }
+                    this.packagedataList.forEach((item3) => {
+                      if (item1.proParentId == item3.proId) {
+                        item1.propinName = item3.proName;
+                      }
+                    });
+                  });
+                }
+              });
+            });
+          }
+        });
+      } else if (checked.checkedNodes.length == 0) {
+      }
+    },
+
+    renderContent(h, { node, data, store }) {
+      return (
+        <span class="custom-tree-node">
+          聽 <span>{node.label}</span>
+          <span>({data.proPrice}鍏�)</span>
+        </span>
+      );
     },
 
     // 琛ュ綍椤圭洰
     handleProject(row) {
+      this.payType = "0";
+      this.loading = true;
+      this.DataList = [];
+      this.DataList3 = [];
+      this.Datalists = [];
+      this.TotalPrice1 = 0;
       this.orderId = row.orderId;
       this.cusId = row.tjCusIdCard;
       this.userId = row.userId;
@@ -807,17 +2201,64 @@
       if (row.tjType) {
         this.form.tjType = parseInt(row.tjType);
       } else {
-        this.form.tjType = 0;
+        this.form.tjType = 2;
       }
+      this.activeNames = "first";
       /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
-      projectGetList().then((response) => {
-        this.Treedata = response.data.list;
-      });
+      this.handleClick();
+
       this.Projectopen = true;
       this.title = "琛ュ綍椤圭洰";
     },
+
+    getDataList() {
+      getProParentIdDxList().then((response) => {
+        this.Treedata = response.data.list;
+        // this.checkedkey.push(this.Treedata[0].proId);
+        // let proId = this.Treedata[0].proId;
+        // getProSonDxList(proId).then((res) => {
+        //   this.TreedataList = res.data.list;
+        //   this.TreedataList.forEach((item) => {
+        //     this.checkedListkey.push(item.proId);
+        //     this.DataList.push(item);
+        //     this.DataList.forEach((item) => {
+        //       item.propinName = this.Treedata[0].proName;
+        //     });
+        //   });
+        //   this.TotalPrice1 = 0;
+
+        //   if (this.DataList.length != 0) {
+        //     this.list1 = false;
+        //     this.DataList.forEach((item) => {
+        //       this.TotalPrice1 = item.proPrice + this.TotalPrice1;
+        //     });
+        //   }
+        // });
+        this.loading = false;
+      });
+    },
+    revokeProject() {
+      getBlproByTjh(this.tjnumbers).then((res) => {
+        if (res.data) {
+          this.DataLists = res.data;
+          this.Projectssopen = true;
+          this.title1 = "鎾ら攢琛ュ綍";
+        } else {
+          this.$message({
+            type: "warning ",
+            message: "璇ュ鎴锋病鏈夎ˉ褰曢」鐩�",
+          });
+        }
+      });
+    },
     // 琛ュ綍椤圭洰
-    handleProject1(row) {
+    handleProject1() {
+      this.payType = "0";
+      this.loading = true;
+      this.DataList = [];
+      this.DataList3 = [];
+      this.Datalists = [];
+      this.TotalPrice1 = 0;
       this.orderId = this.ids;
       this.cusId = this.cusIds;
       this.userId = this.userIds;
@@ -827,66 +2268,245 @@
         cusPhone: this.cusPhone,
         cusSex: this.cusSex,
       };
-      if (row.tjType) {
-        this.form.tjType = parseInt(row.tjType);
-      } else {
-        this.form.tjType = 0;
-      }
+      this.activeNames = "first";
       /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
-      projectGetList().then((response) => {
-        this.Treedata = response.data.list;
-      });
+      this.handleClick();
+
       this.Projectopen1 = true;
       this.title = "琛ュ綍椤圭洰";
     },
+
     // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐�
     handleCurrentChecked(data, checked, checkedNodes) {
-      if (!data.tjProjectList) {
-        return;
-      }
-      if (checked === true) {
-        this.DataList.push(data);
-      } else {
-        this.DataList.pop(data);
-        this.list1 = true;
-      }
-      // let DataList = selectedobj.checkedNodes
-      // if (DataList.length>0) {
-      //   DataList.forEach(item => {
-      //     if (nodeobj.proId === item.proId) {
-      //       this.DataList = []
-      //       this.DataList.push(item)
-
-      //       this.list1 = false;
-      //     }
-      //   })
-      // }else{
-      //   this.DataList = []
-      //   this.list1 = true;
-      // }
-      this.TotalPrice1 = 0;
-      this.proIds = [];
-      console.log(this.DataList)
-      if (this.DataList.length != 0) {
-        this.list1 = false;
-        this.DataList.forEach((item) => {
-          this.TotalPrice1 = item.proPrice + this.TotalPrice1;
-          item.tjProjectList.forEach(item1 => {
-            this.proIds.push(item1.proId);
-          })
-         
+      this.dataObj = data;
+      if (checked.checkedNodes.length != 0) {
+        this.$refs.tree.setCheckedKeys([data.proId]);
+        let proId = data.proId;
+        getProSonDxList(proId).then((res) => {
+          this.TreedataList = res.data.list;
+          this.TreedataList.forEach((item) => {
+            this.checkedListkey.push(item.proId);
+            this.DataList.push(item);
+            this.DataList3 = this.DataList.concat(this.Datalists);
+            console.log(this.DataList, 77777);
+            this.spliceData();
+            this.DataList.forEach((item1) => {
+              if (item1.proParentId == data.proId) {
+                item1.propinName = data.proName;
+              }
+            });
+          });
+          this.TotalPrice1 = 0;
+          if (this.DataList3.length != 0) {
+            this.DataList3.forEach((item) => {
+              this.TotalPrice1 += item.proPrice;
+            });
+          }
+          // this.TotalPrice1 = 0;
+          // if (this.DataList.length != 0) {
+          //   this.list1 = false;
+          //   this.DataList.forEach((item) => {
+          //     this.TotalPrice1 = item.proPrice + this.TotalPrice1;
+          //   });
+          //   if (this.marryalls != 0) {
+          //     this.TotalPrice1 += this.marryalls;
+          //   }
+          // }
         });
+      } else if (checked.checkedNodes.length == 0) {
+        let proId = data.proId;
+        getProSonDxList(proId).then((res) => {
+          this.TreedataList = res.data.list;
+          this.checkedListkey = [];
+        });
+      }
+    },
+
+    spliceData() {
+      for (var i = 0; i < this.DataList.length; i++) {
+        for (var j = i + 1; j < this.DataList.length; j++) {
+          if (this.DataList[i].proId == this.DataList[j].proId) {
+            //濡傛灉绗竴涓瓑浜庣浜屼釜锛宻plice鏂规硶鍒犻櫎绗簩涓�
+            this.DataList.splice(j, 1);
+            j--;
+          }
+        }
+      }
+      return this.DataList;
+    },
+
+    // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐�
+    handleCurrentChecked1(data, checked, checkedNodes) {
+      if (checked == false) {
+        this.DataList.forEach((item, index) => {
+          if (item.proId == data.proId) {
+            this.DataList.splice(index, 1);
+            this.TotalPrice1 = 0;
+            this.DataList.forEach((item1) => {
+              this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
+            });
+            if (this.marryalls != 0) {
+              this.TotalPrice1 += this.marryalls;
+            }
+          }
+        });
+      } else if (checked == true) {
+        this.DataList.push(data);
+        console.log(this.DataList, 6666);
+        this.DataList.forEach((item1) => {
+          if (item1.proParentId == this.dataObj.proId) {
+            item1.propinName = this.dataObj.proName;
+          }
+        });
+        this.spliceData();
+        this.TotalPrice1 = 0;
+        this.DataList.forEach((item1) => {
+          this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
+        });
+        if (this.marryalls != 0) {
+          this.TotalPrice1 += this.marryalls;
+        }
+      }
+    },
+    handleDel(row) {
+      this.Datalists.forEach((item, index) => {
+        if (item.proId == row.proId) {
+          this.Datalists.splice(index, 1);
+          this.marryalls = 0;
+          this.Datalists.forEach((item1) => {
+            this.marryalls += item1.proPrice;
+          });
+        }
+      });
+      this.DataList3.forEach((item, index) => {
+        if (item.proId == row.proId) {
+          this.DataList3.splice(index, 1);
+          this.marryalls = 0;
+          this.DataList3.forEach((item1) => {
+            this.marryalls += item1.proPrice;
+          });
+        }
+      });
+      this.DataList.forEach((item, index) => {
+        if (item.proId == row.proId) {
+          this.DataList.splice(index, 1);
+          this.TotalPrice1 = 0;
+          this.DataList.forEach((item1) => {
+            this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
+          });
+          if (this.marryalls != 0) {
+            this.TotalPrice1 += this.marryalls;
+          }
+        }
+      });
+      this.TotalPrice1 = 0;
+      this.DataList3.forEach((item) => {
+        this.TotalPrice1 += item.proPrice;
+      });
+    },
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete(row) {
+      this.DataList.forEach((item, index) => {
+        if (item.proId == row.proId) {
+          this.DataList.splice(index, 1);
+          this.TotalPrice1 = 0;
+          this.DataList.forEach((item1) => {
+            this.TotalPrice1 = item1.proPrice + this.TotalPrice1;
+          });
+          if (this.marryalls != 0) {
+            this.TotalPrice1 += this.marryalls;
+          }
+        }
+      });
+    },
+
+    //  // 榛樿鎺ュ彈鍥涗釜鍊� { 褰撳墠琛岀殑鍊�, 褰撳墠鍒楃殑鍊�, 琛岀殑涓嬫爣, 鍒楃殑涓嬫爣 }
+    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
+      // console.log(row, column, rowIndex, columnIndex);
+      let fields = ["propinName"];
+      let cellValue = row[column.property];
+      if (cellValue && fields.includes(column.property)) {
+        let prevRow = this.DataList[rowIndex - 1];
+        let nextRow = this.DataList[rowIndex + 1];
+        if (prevRow && prevRow[column.property] === cellValue) {
+          return { rowspan: 0, colspan: 0 };
+        } else {
+          let countRowspan = 1;
+          while (nextRow && nextRow[column.property] === cellValue) {
+            nextRow = this.DataList[++countRowspan + rowIndex];
+          }
+          if (countRowspan > 1) {
+            return { rowspan: countRowspan, colspan: 1 };
+          }
+        }
+      }
+    },
+
+    objectSpanMethod1({ row, column, rowIndex, columnIndex }) {
+      // console.log(row, column, rowIndex, columnIndex);
+      let fields = ["parent_pro_name"];
+      let cellValue = row[column.property];
+      if (cellValue && fields.includes(column.property)) {
+        let prevRow = this.infoList[rowIndex - 1];
+        let nextRow = this.infoList[rowIndex + 1];
+        if (prevRow && prevRow[column.property] === cellValue) {
+          return { rowspan: 0, colspan: 0 };
+        } else {
+          let countRowspan = 1;
+          while (nextRow && nextRow[column.property] === cellValue) {
+            nextRow = this.infoList[++countRowspan + rowIndex];
+          }
+          if (countRowspan > 1) {
+            return { rowspan: countRowspan, colspan: 1 };
+          }
+        }
+      }
+    },
+
+    objectSpanMethod2({ row, column, rowIndex, columnIndex }) {
+      // console.log(row, column, rowIndex, columnIndex);
+      let fields = ["propinName"];
+      let cellValue = row[column.property];
+      if (cellValue && fields.includes(column.property)) {
+        let prevRow = this.DataListss[rowIndex - 1];
+        let nextRow = this.DataListss[rowIndex + 1];
+        if (prevRow && prevRow[column.property] === cellValue) {
+          return { rowspan: 0, colspan: 0 };
+        } else {
+          let countRowspan = 1;
+          while (nextRow && nextRow[column.property] === cellValue) {
+            nextRow = this.DataListss[++countRowspan + rowIndex];
+          }
+          if (countRowspan > 1) {
+            return { rowspan: countRowspan, colspan: 1 };
+          }
+        }
       }
     },
 
     // 鏀惰垂鎸夐挳
     submitPrice() {
+      this.proIds = [];
+      if (this.DataList.length != 0) {
+        this.DataList.forEach((item) => {
+          this.proIds.push(item.proId);
+        });
+      }
+      if (this.Datalists.length != 0) {
+        this.Datalists.forEach((item) => {
+          this.proIds.push(item.proId);
+        });
+      }
       let data = {
         cusId: this.cusId,
         proIds: this.proIds,
       };
       getaddtTransition(data).then((response) => {
         if (response.code === 200) {
+          this.DataList = [];
+          this.DataList3 = [];
+          this.DataLists = [];
+          this.TotalPrice1 = 0;
           let tjType = this.form.tjType;
           let copeWith = this.TotalPrice1;
           let paidIn = copeWith * (this.discount / 10);
@@ -916,12 +2536,26 @@
     },
     // 鏀惰垂鎸夐挳
     submitPrice1() {
+      this.proIds = [];
+      if (this.DataList.length != 0) {
+        this.DataList.forEach((item) => {
+          this.proIds.push(item.proId);
+        });
+      }
+      if (this.Datalists.length != 0) {
+        this.Datalists.forEach((item) => {
+          this.proIds.push(item.proId);
+        });
+      }
       let data = {
         cusId: this.cusIds,
         proIds: this.proIds,
       };
       getaddtTransition(data).then((response) => {
         if (response.code === 200) {
+          // this.DataList3 = [];
+          //   this.DataList = [];
+          //   this.DataList3 = [];
           let tjType = this.form.tjType;
           let copeWith = this.TotalPrice1;
           let paidIn = copeWith * (this.discount / 10);
@@ -950,36 +2584,50 @@
       });
     },
 
+    handleProjectssChange(selection) {
+      this.DataListss = [];
+      this.selection = [];
+      this.bldhs = selection.map((item) => item.bldh);
+      selection.forEach((item) => {
+        item.projectList.forEach((item1) => {
+          item1.children.forEach((item2) => {
+            this.DataListss.push(item2);
+            if (this.DataListss.length != 0) {
+              this.DataListss.forEach((item) => {
+                if (item.proParentId == item1.proId)
+                  item.propinName = item1.proName;
+              });
+            }
+          });
+        });
+      });
+    },
+
     /** 鎻愪氦鎸夐挳 */
-    // submitForm() {
-    //   this.$refs["form"].validate(valid => {
-    //     if (valid) {
-    //       if (this.form.orderId != null) {
-    //         updateOrder(this.form).then(response => {
-    //           this.$modal.msgSuccess("淇敼鎴愬姛");
-    //           this.open = false;
-    //           this.getList();
-    //         });
-    //       } else {
-    //         addOrder(this.form).then(response => {
-    //           this.$modal.msgSuccess("鏂板鎴愬姛");
-    //           this.open = false;
-    //           this.getList();
-    //         });
-    //       }
-    //     }
-    //   });
-    // },
-    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
-    // handleDelete(row) {
-    //   const orderIds = row.orderId || this.ids;
-    //   this.$modal.confirm('鏄惁纭鍒犻櫎浣撴璁板綍缂栧彿涓�"' + orderIds + '"鐨勬暟鎹」锛�').then(function() {
-    //     return delOrder(orderIds);
-    //   }).then(() => {
-    //     this.getList();
-    //     this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
-    //   }).catch(() => {});
-    // },
+    submitForm() {
+      this.$confirm(" 鏄惁鎾ら攢璇ヨˉ褰曢」鐩�?", "鎻愮ず", {
+        confirmButtonText: "鏄�",
+        cancelButtonText: "鍚�",
+        type: "warning",
+      })
+        .then(() => {
+          let data = {
+            tjh: this.tjnumbers,
+            bldhs: this.bldhs,
+          };
+          revokeBlProByBldhAndTjh(data).then((res) => {
+            this.Projectssopen = false;
+          });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "宸插彇娑堟挙閿�",
+          });
+          this.Projectssopen = false;
+        });
+    },
+
     /** 瀵煎嚭鎸夐挳鎿嶄綔 */
     handleExport() {
       this.download(
@@ -1044,16 +2692,51 @@
 // .el-dialog__body {
 //   padding: 20px;
 // }
-
+.o {
+  margin-top: 8px;
+}
 .outside {
-  width: 700px;
+  width: 500px;
   display: flex;
   margin-top: 8px;
 }
+.outsides {
+  width: 500px;
+  display: flex;
+  // margin-top: 12px;
+  // margin-right: 40%;
+}
+
+.tab3 {
+  max-height: 420px;
+  overflow-y: auto;
+  border: 1px solid #d9d9d9;
+}
 
 .outside1 {
-  width: 700px;
+  width: 500px;
   display: flex;
   margin-top: 8px;
 }
+.outside2 {
+  width: 500px;
+  display: flex;
+  margin-top: 8px;
+}
+.heji {
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-start;
+  align-items: center;
+  margin-top: 10px;
+}
+.box {
+  display: flex;
+  justify-content: space-between;
+}
+.box1 {
+  width: 50%;
+  display: flex;
+  flex-direction: column;
+}
 </style>

--
Gitblit v1.8.0