From 53b7cfd8589201ec728c68a08b4ea07d94e66258 Mon Sep 17 00:00:00 2001
From: qinxianzhangyao <11053546+qinxianzhangyao@user.noreply.gitee.com>
Date: 星期一, 08 七月 2024 17:16:48 +0800
Subject: [PATCH] qxtj

---
 src/views/hosp/order/index.vue | 1590 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 1,244 insertions(+), 346 deletions(-)

diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue
index d44f9b4..cf5ca05 100644
--- a/src/views/hosp/order/index.vue
+++ b/src/views/hosp/order/index.vue
@@ -1,18 +1,48 @@
 <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="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 +56,220 @@
         </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>
+      <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>
           </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="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 +279,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 +316,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 +367,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 +384,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,127 +415,143 @@
         </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-dialog
+      :title="title"
+      :visible.sync="Projectopen"
+      width="1100px"
+      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
+            style="text-align: center; margin-bottom: 10px; margin-top: 10px"
+          >
+            椤圭洰鍒楄〃
+          </div>
+          <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText">
+          </el-input>
           <div class="tab3">
-            <div class="outside1">
-              <el-tree :data="Treedata" show-checkbox node-key="proId" :props="defaultProps"
-                @check-change="handleCurrentChecked">
-              </el-tree>
-            </div>
+            <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>
-        <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>
-                  </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>
-        </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>
+        <el-col :span="5">
+          <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>
+            <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="18">
+        <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">
@@ -320,62 +566,235 @@
             <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-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-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-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
+                    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-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>
+        </el-col>
+      </el-row>
+    </el-dialog>
+
+    <!-- 娣诲姞琛ュ綍椤圭洰 -->
+    <el-dialog
+      :title="title"
+      :visible.sync="Projectopen1"
+      width="1100px"
+      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>
+          <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">
+            <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>
-            <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>
+
+            <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%"
+                    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>
+
+            <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="submitPrice1"
+                    :disabled="confirm"
+                    style="margin-top: 34px"
+                    >鎻愪氦</el-button
+                  >
+                </el-form-item>
+              </el-form>
             </div>
           </div>
         </el-col>
@@ -383,42 +802,193 @@
     </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 >
+      <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"
+              prop="newID"
+              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"
+              prop="newID"
+              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
+    >
+      <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>
   </div>
@@ -426,17 +996,24 @@
 
 <script>
 import {
-  listOrder,
   getNumber,
-  hasReportEnd,
   hasReport,
-  gettoPdf,
   getPdf,
   getOrderList,
+  getNewDateList,
+  revokeTjOrderByTjNum,
+  getTransitionInfo,
+  getBlproByTjh,revokeBlProByBldhAndTjh
 } from "@/api/hosp/order";
+import moment from "moment";
 import { getwater } from "@/api/hosp/customer";
 import ViewPdf from "@/components/ViewPdf";
-import { projectGetList, getaddtTransition } from "@/api/system/tijian";
+import {
+  projectGetList,
+  getaddtTransition,
+  getProParentIdDxList,
+  getProSonDxList,
+} from "@/api/system/tijian";
 export default {
   components: {
     ViewPdf,
@@ -445,8 +1022,16 @@
   name: "Order",
   data() {
     return {
+      huizongList: [],
+      DataLists:[],
+      infoList: [],
+      bldhs:[],
+      activeName1: "second",
+      filterText: "",
       orderIds: "",
       tjnumbers: "",
+      Projectssopen: false,
+      title1: "",
       cusIds: "",
       userIds: "",
       cusIdcard: "",
@@ -464,12 +1049,16 @@
       src: "",
       url: "",
       flag: true,
-      bill: null,
+      bill: [],
       Treedata: [],
+      DataListss:[],
+      checkedkey: [],
+      checkedListkey: [],
       defaultProps: {
-        children: "tjProjectList",
+        children: [],
         label: "proName",
       },
+      TreedataList: [],
       discount: 10,
       DataList: [],
       // 濂楅鎻愪氦鎸夐挳
@@ -484,6 +1073,7 @@
       loading: true,
       // 閫変腑鏁扮粍
       ids: [],
+      dataObj: {},
       // 闈炲崟涓鐢�
       single: true,
       // 闈炲涓鐢�
@@ -553,9 +1143,15 @@
       },
     };
   },
+  watch: {
+    filterText(val) {
+      this.$refs.tree.filter(val);
+    },
+  },
   created() {
-    this.getNowTime();
-    this.getList();
+    // this.getNowTime();
+
+    this.getdate();
   },
   mounted() {
     this.$nextTick(() => {
@@ -563,37 +1159,57 @@
     });
   },
   methods: {
+    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 +1221,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];
@@ -625,6 +1247,9 @@
         this.total = response.data.total;
         this.loading = false;
       });
+    },
+    driver(row) {
+      return row.pacName == null ? "鏅�氫綋妫�" : row.pacName;
     },
     /** 鐐瑰嚮鏄剧ず瀵兼鍗曟姤琛�*/ //lige    寮�濮�
     handleReport(row) {
@@ -651,6 +1276,28 @@
           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,6 +1383,11 @@
       };
       this.resetForm("form");
     },
+    hb() {
+      if (this.queryParams.tjNum != undefined) {
+        this.handleQuery();
+      }
+    },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
       this.queryParams.pageNum = 1;
@@ -743,6 +1395,9 @@
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
+      this.startTime = [];
+      this.startTime1 = [];
+      this.createTimeList = [];
       this.resetForm("queryForm");
       this.handleQuery();
     },
@@ -777,8 +1432,34 @@
       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 +1469,51 @@
       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});
+
+        console.log(this.bill)
         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;
+        });
+      });
+    },
+
+    renderContent(h, { node, data, store }) {
+      return (
+        <span class="custom-tree-node">
+          聽 <span>{node.label}</span>
+          <span>({data.proPrice}鍏�)</span>
+        </span>
+      );
     },
 
     // 琛ュ綍椤圭洰
     handleProject(row) {
+      this.loading = true;
+      this.DataList = [];
       this.orderId = row.orderId;
       this.cusId = row.tjCusIdCard;
       this.userId = row.userId;
@@ -810,14 +1529,55 @@
         this.form.tjType = 0;
       }
       /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
-      projectGetList().then((response) => {
-        this.Treedata = response.data.list;
-      });
+      this.getDataList();
       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.loading = true;
+      this.DataList = [];
       this.orderId = this.ids;
       this.cusId = this.cusIds;
       this.userId = this.userIds;
@@ -827,60 +1587,172 @@
         cusPhone: this.cusPhone,
         cusSex: this.cusSex,
       };
-      if (row.tjType) {
-        this.form.tjType = parseInt(row.tjType);
-      } else {
-        this.form.tjType = 0;
-      }
       /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
-      projectGetList().then((response) => {
-        this.Treedata = response.data.list;
-      });
+      this.getDataList();
       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.spliceData();
+            this.DataList.forEach((item1) => {
+              if (item1.proParentId == data.proId) {
+                item1.propinName = data.proName;
+              }
+            });
+          });
+          this.TotalPrice1 = 0;
+          if (this.DataList.length != 0) {
+            this.list1 = false;
+            this.DataList.forEach((item) => {
+              this.TotalPrice1 = item.proPrice + this.TotalPrice1;
+            });
+          }
         });
+      } 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;
+            });
+          }
+        });
+      } else if (checked == true) {
+        this.DataList.push(data);
+        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;
+        });
+      }
+    },
+
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    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;
+          });
+        }
+      });
+    },
+
+    //  // 榛樿鎺ュ彈鍥涗釜鍊� { 褰撳墠琛岀殑鍊�, 褰撳墠鍒楃殑鍊�, 琛岀殑涓嬫爣, 鍒楃殑涓嬫爣 }
+    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);
+        });
+      }
       let data = {
         cusId: this.cusId,
         proIds: this.proIds,
@@ -916,6 +1788,12 @@
     },
     // 鏀惰垂鎸夐挳
     submitPrice1() {
+      this.proIds = [];
+      if (this.DataList.length != 0) {
+        this.DataList.forEach((item) => {
+          this.proIds.push(item.proId);
+        });
+      }
       let data = {
         cusId: this.cusIds,
         proIds: this.proIds,
@@ -950,36 +1828,50 @@
       });
     },
 
+    handleProjectssChange(selection){
+      this.DataListss =[]
+      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(
@@ -1046,13 +1938,19 @@
 // }
 
 .outside {
-  width: 700px;
+  width: 500px;
   display: flex;
   margin-top: 8px;
 }
 
+.tab3 {
+  max-height: 500px;
+  overflow-y: auto;
+  border: 1px solid #d9d9d9;
+}
+
 .outside1 {
-  width: 700px;
+  width: 500px;
   display: flex;
   margin-top: 8px;
 }

--
Gitblit v1.8.0