From 088e45c9ee4633e543247ecf8675215e2119ac7d Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期一, 21 四月 2025 18:11:11 +0800 Subject: [PATCH] Merge branch 'master' of http://101.42.27.146:5001/r/ltkj_peisweb --- src/views/hosp/order/index.vue | 1068 ++++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 649 insertions(+), 419 deletions(-) diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue index 9d7b6c4..acae123 100644 --- a/src/views/hosp/order/index.vue +++ b/src/views/hosp/order/index.vue @@ -156,17 +156,28 @@ <el-step title="宸插鏍�"></el-step> <el-step title="鐢熸垚鎶ュ憡"></el-step> <el-step title="鎶ュ憡鏍告敹"></el-step> - <el-step title="宸插嚭鎶ュ憡"></el-step> + <el-step title="宸叉墦鍗�"></el-step> </el-steps> </div> <el-row :gutter="10" class="mb8"> - <el-col :span="1.5"> + <!-- <el-col :span="1.5"> <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" + :disabled="singles" + v-hasPermi="['hosp:order:export']" + >瀵煎嚭</el-button + > + </el-col> --> + <el-col :span="1.5"> + <el-button + type="primary" + icon="el-icon-download" + size="mini" + @click="exportDialogVisible = true" v-hasPermi="['hosp:order:export']" >瀵煎嚭</el-button > @@ -177,7 +188,8 @@ type="primary" size="mini" @click="handleRevoke" - :disabled="single" + :loading="isLoading" + :disabled="singles" >鎾ら攢绛惧埌</el-button > </el-col> @@ -242,6 +254,15 @@ >寮哄埗鎾ら攢</el-button > </el-col> + <el-col :span="1.5"> + <el-button + type="primary" + size="mini" + @click="ResumeAppointment" + :disabled="multiple" + >鎭㈠棰勭害</el-button + > + </el-col> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" @@ -253,6 +274,7 @@ border v-loading="loading" :data="orderList" + ref="tableRef" @selection-change="handleSelectionChange" > <el-table-column @@ -572,321 +594,6 @@ 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-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="sl" label="鏁伴噺" width="56px"> - </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="浠樻绫诲瀷"> - <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 @@ -926,7 +633,7 @@ :props="defaultProp" show-checkbox node-key="id" - @check="handlepackage" + @check-change="handlepackage" :default-checked-keys="checkedkeys" :filter-node-method="filterpackage" ref="treas" @@ -987,7 +694,7 @@ :props="defaultProps" show-checkbox node-key="proId" - @check="handleCurrentChecked" + @check-change="handleCurrentChecked" :default-checked-keys="checkedkey" :filter-node-method="filterNode" ref="tree" @@ -1109,13 +816,246 @@ <el-table :data="DataList3" border - style="width: 100%" + style="width: 100%; table-layout: fixed" height="560" :span-method="objectspanmethod" > - <el-table-column prop="propinName" label="妫�鏌ラ」鐩�"> + <el-table-column + prop="propinName" + label="妫�鏌ラ」鐩�" + width="200px" + :show-overflow-tooltip="true" + > </el-table-column> - <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="200px"> + <el-table-column + prop="proName" + label="鏄庣粏椤圭洰" + width="200px" + :show-overflow-tooltip="true" + > + </el-table-column> + <el-table-column prop="sl" label="鏁伴噺" width="56px"> + </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> + </div> + <el-form + :model="form" + inline + style="display: flex; justify-content: space-between; margin-top: 20px" + > + <!-- 浣撴绫诲瀷 --> + <el-form-item label="浣撴绫诲瀷" prop="tjType" style="display: flex"> + <div class="type"> + {{ { 1: "鍥㈤槦", 2: "涓汉", 3: "鍥綋绁�" }[form.tjType] }} + </div> + </el-form-item> + + <!-- 鍘熶环 --> + <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 label="缁撶畻鏂瑰紡" prop="jsType" style="display: flex"> + <el-select + v-model="jsType" + placeholder="璇烽�夋嫨缁撶畻鏂瑰紡" + style="width: 130px" + clearable + > + <el-option + v-for="dict in dict.type.reservation_pay_type" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + + <!-- 鎻愪氦鎸夐挳 --> + <el-form-item style="display: flex"> + <el-button + type="primary" + :loading="isSubmit1" + @click="submitPrice1" + :disabled="confirm" + > + 鎻愪氦 + </el-button> + </el-form-item> + </el-form> + </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"> + <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-change="handlepackage" + :default-checked-keys="checkedkeys" + :filter-node-method="filterpackage" + ref="treas" + :render-content="renderContents" + > + </el-tree> + </div> + </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"> + <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-change="handleCurrentChecked" + :default-checked-keys="checkedkey" + :filter-node-method="filterNode" + ref="tree" + :render-content="renderContent" + > + </el-tree> + </div> + </el-col> + </el-row> + </div> + </el-tab-pane> + </el-tabs> + </div> + + <div class="grid-content bg-purple"> + <div style="text-align: center; margin-bottom: 10px; margin-top: 9px"> + 宸查�夐」鐩垪琛� + </div> + <el-table + :data="DataList3" + border + style="width: 100%; table-layout: fixed" + height="560" + :span-method="objectspanmethod" + > + <el-table-column + prop="propinName" + label="妫�鏌ラ」鐩�" + width="200px" + :show-overflow-tooltip="true" + > + </el-table-column> + <el-table-column + prop="proName" + label="鏄庣粏椤圭洰" + width="200px" + :show-overflow-tooltip="true" + > </el-table-column> <el-table-column prop="sl" label="鏁伴噺" width="56px"> </el-table-column> @@ -1221,7 +1161,12 @@ <!-- 鎻愪氦鎸夐挳 --> <el-form-item style="display: flex"> - <el-button type="primary" @click="submitPrice1" :disabled="confirm"> + <el-button + type="primary" + :loading="isSubmit1" + @click="submitPrice1" + :disabled="confirm" + > 鎻愪氦 </el-button> </el-form-item> @@ -1310,81 +1255,64 @@ </div> --> </el-dialog> - <!-- 娣诲姞鎴栦慨鏀逛綋妫�璁板綍瀵硅瘽妗� --> <el-dialog :title="title" :visible.sync="open" - width="950px" + width="1400px" append-to-body :close-on-click-modal="false" + class="custom-dialog" > <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 :data="huizongList" style="width: 100%" max-height="350"> <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-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-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-tab-pane label="鏄庣粏椤圭洰" name="third" style="height: 450px"> + <!-- 绉婚櫎 overflow-y: auto --> <el-table :data="infoList" - style="width: 100%" - max-height="330" + style="width: 100" + max-height="500" :span-method="objectSpanMethod1" > <el-table-column @@ -1392,25 +1320,38 @@ 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> + <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-column> </el-table> </el-tab-pane> </el-tabs> @@ -1606,6 +1547,21 @@ <!-- <el-button @click="cancel">鍙� 娑�</el-button> --> </div> </el-dialog> + + <el-dialog + title="璇烽�夋嫨瀵煎嚭鑼冨洿" + :visible.sync="exportDialogVisible" + width="30%" + > + <el-radio-group v-model="exportType"> + <el-radio :label="'0'">褰撳墠椤垫暟鎹�</el-radio> + <el-radio :label="'1'">鍏ㄩ儴鏁版嵁</el-radio> + </el-radio-group> + <span slot="footer" class="dialog-footer"> + <el-button @click="exportDialogVisible = false">鍙栨秷</el-button> + <el-button type="primary" @click="confirmExport">纭畾</el-button> + </span> + </el-dialog> </div> </template> @@ -1617,6 +1573,7 @@ getOrderList, getNewDateList, revokeTjOrderByTjNum, + huifuyuyuejilu, getTransitionInfo, getBlproByTjh, revokeBlProByBldhAndTjh, @@ -1632,6 +1589,7 @@ getaddtTransition, getProParentIdDxList, getProSonDxList, + getaddtTransition1, } from "@/api/system/tijian"; import { SubmitCompany, @@ -1659,6 +1617,9 @@ DataList3: [], bldhid: "", budadaozhen: false, + isLoading: false, + isSubmit: false, + isSubmit1: false, huizongList: [], DataLists: [], infoList: [], @@ -1731,9 +1692,11 @@ dataObj: {}, // 闈炲崟涓鐢� single: true, + singles: false, activeNames: "first", // 闈炲涓鐢� multiple: true, + tjNUms: [], // 鏄剧ず鎼滅储鏉′欢 showSearch: true, userId: "", @@ -1750,6 +1713,8 @@ // 鏃ユ湡鑼冨洿 datetimerange: [], marryalls: 0, + exportDialogVisible: false, // 鎺у埗寮规 + exportType: "0", // dqyorqbsj 鐨勫�硷紝榛樿褰撳墠椤� // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, @@ -2084,15 +2049,17 @@ }); }, - handleRevoke() { - this.$confirm("鎮ㄧ‘璁よ鎾ら攢锛�", "纭淇℃伅", { + ResumeAppointment() { + this.isLoading = true; + this.$confirm("鎮ㄧ‘璁よ鎭㈠棰勭害锛�", "纭淇℃伅", { distinguishCancelAndClose: true, confirmButtonText: "纭", cancelButtonText: "鍙栨秷", }) .then(() => { - revokeTjOrderByTjNum(this.tjnumbers).then((res) => { - this.$modal.msgSuccess("鎾ら攢鎴愬姛"); + huifuyuyuejilu(this.tjNUms).then((res) => { + this.$modal.msgSuccess("鎭㈠鎴愬姛"); + // this.isLoading = false; this.getList(); }); }) @@ -2103,6 +2070,38 @@ message: "宸插彇娑�", }); } + }) + .finally(() => { + // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛� + this.isLoading = false; + }); + }, + + handleRevoke() { + this.isLoading = true; + this.$confirm("鎮ㄧ‘璁よ鎾ら攢锛�", "纭淇℃伅", { + distinguishCancelAndClose: true, + confirmButtonText: "纭", + cancelButtonText: "鍙栨秷", + }) + .then(() => { + revokeTjOrderByTjNum(this.tjnumbers).then((res) => { + this.$modal.msgSuccess("鎾ら攢鎴愬姛"); + // this.isLoading = false; + this.getList(); + }); + }) + .catch((action) => { + if (action === "cancel") { + this.$message({ + type: "warning", + message: "宸插彇娑�", + }); + } + }) + .finally(() => { + // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛� + this.isLoading = false; }); }, /** 鐐瑰嚮鏄剧ず浣撴鎶ュ憡鎶ヨ〃*/ @@ -2271,6 +2270,7 @@ // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { let tjNUms = selection.map((item) => item.tjNumber); + this.tjNUms = selection.map((item) => item.tjNumber); selection.forEach((item) => { this.orderIds = item.orderId; this.tjnumbers = item.tjNumber; @@ -2286,6 +2286,7 @@ this.ids = selection.map((item) => item.orderId); this.single = selection.length !== 1; this.multiple = !selection.length; + this.singles = selection.length !== 1; if (tjNUms.length > 0) { shijianzhou(tjNUms).then((res) => { this.shijianlist = res.data; @@ -2443,6 +2444,8 @@ // this.marryalls = 0; // this.Datalists = []; this.checkedkeys = []; + + this.DataList3 = []; getZhList().then((response) => { if (response.data) { this.packageList = response.data; @@ -2451,25 +2454,107 @@ }); } else { // this.TotalPrice1 = 0; - this.checkedkey = []; + this.checkedkeys = []; // this.DataList = []; + this.Datalists = []; + this.DataList3 = []; this.getDataList(); // if (this.marryalls != 0) { // this.TotalPrice1 += this.marryalls; // } } }, - handlepackage(data, checked, checkedNodes) { + if (checked == true) { + // 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); + }); + + // 鍚堝苟 Datalists 鍜� DataList 鍒� DataList3 + this.DataList3 = this.DataList.concat(this.Datalists); + + // 娓呯┖绱姞鍣� + this.marryalls = 0; + this.TotalPrice1 = 0; + + // 閲嶆柊璁$畻浠锋牸 + this.DataList3.forEach((item) => { + console.log(item.proPrice); + this.TotalPrice1 += item.proPrice * item.sl; + this.marryalls += item.proPrice * item.sl; + }); + + // 涓烘瘡涓」鐩坊鍔� propinName + this.Datalists.forEach((item1) => { + this.packagedataList.forEach((item3) => { + if (item1.proParentId == item3.proId) { + item1.propinName = item3.proName; + } + }); + }); + }); + } + }); + } else if (checked == false) { + let datas = { + zhId: data.id, + }; + + this.marryalls = 0; + + // 娓呯┖ Datalists 鍜� DataList3 + this.Datalists = []; + this.DataList3 = [...this.DataList]; // 閲嶆柊璁剧疆 DataList3锛屼粎鍖呭惈鍘熷 DataList + + 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.checkedListkey = this.checkedListkey.filter( + (id) => id !== proId + ); + + // 浠� DataList3 涓Щ闄ょ浉鍏崇殑瀛愰」 + this.DataList3 = this.DataList3.filter( + (item) => item.proParentId !== proId + ); + + // 鏇存柊鎬讳环鏍� + this.TotalPrice1 = 0; // 娓呯┖浠锋牸 + this.DataList3.forEach((item) => { + this.TotalPrice1 += item.proPrice; + }); + }); + } + }); + } + }, + + /* handlepackage(data, checked, checkedNodes) { + console.log(checked, 3333); + 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) => { @@ -2483,7 +2568,7 @@ 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); @@ -2503,12 +2588,12 @@ }); } else if (checked.checkedNodes.length == 0) { } - }, + }, */ renderContent(h, { node, data, store }) { return ( <span class="custom-tree-node"> - 聽 <span>{node.label}</span> + <span>{node.label}</span> <span>({data.proPrice}鍏�)</span> </span> ); @@ -2525,6 +2610,12 @@ this.orderId = row.orderId; this.cusId = row.tjCusIdCard; this.userId = row.userId; + console.log(row, 666); + this.$nextTick(() => { + this.$refs.tableRef.clearSelection(); // 娓呴櫎鎵�鏈夐�変腑 + this.$refs.tableRef.toggleRowSelection(row, true); // 閫変腑褰撳墠琛� + }); + this.customer = { cusIdcard: row.tjCusIdCard, cusName: row.tjCustomerName, @@ -2610,9 +2701,10 @@ }, // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐� - handleCurrentChecked(data, checked, checkedNodes) { + /* handleCurrentChecked(data, checked, checkedNodes) { this.dataObj = data; - if (checked.checkedNodes.length != 0) { + this.checkedObj = checked; + if (checked == true) { this.$refs.tree.setCheckedKeys([data.proId]); let proId = data.proId; getProSonDxList(proId).then((res) => { @@ -2631,7 +2723,6 @@ this.TotalPrice1 = 0; if (this.DataList3.length != 0) { this.DataList3.forEach((item) => { - this.TotalPrice1 += item.proPrice * item.sl; }); } @@ -2646,11 +2737,91 @@ // } // } }); - } else if (checked.checkedNodes.length == 0) { + } else if (checked == false) { let proId = data.proId; getProSonDxList(proId).then((res) => { this.TreedataList = res.data.list; this.checkedListkey = []; + this.TreedataList.forEach((item) => { + item.disabled = true; + }); + this.DataList3.forEach((item, index) => { + if (item.proParentId == this.dataObj.proId) { + this.DataList3.splice(index, this.TreedataList.length); + } + }); + + // 鎵嬪姩鏇存柊鎬讳环鏍� + this.TotalPrice1 = 0; + this.DataList3.forEach((item, index) => { + this.TotalPrice1 += item.proPrice * item.sl; + }); + }); + } + }, */ + handleCurrentChecked(data, checked, checkedNodes) { + this.dataObj = data; + this.checkedObj = checked; + + if (checked === true) { + // this.$refs.tree.setCheckedKeys([data.proId]); + let proId = data.proId; + getProSonDxList(proId).then((res) => { + this.TreedataList = res.data.list; + + this.TreedataList.forEach((item) => { + // item.disabled = true; + // this.checkedListkey.push(item.proId); + if (!this.checkedListkey.includes(item.proId)) { + this.checkedListkey.push(item.proId); + } + this.Datalists.push(item); + + this.DataList3.push(item); + + this.spliceData(); + this.DataList3.forEach((item1) => { + this.TotalPrice1 += item1.proPrice * item1.sl; + if (item1.proParentId == data.proId) { + item1.propinName = data.proName; + item1.propinPrice = this.dataObj.proPrice; + } + }); + }); + + // 鏇存柊鎬讳环鏍� + this.TotalPrice1 = 0; + this.DataList3.forEach((item) => { + this.TotalPrice1 += item.proPrice * item.sl; + }); + }); + } else if (checked === false) { + // 褰撳彇娑堥�変腑鏃� + let proId = data.proId; + getProSonDxList(proId).then((res) => { + this.TreedataList = res.data.list; + + // 閬嶅巻 TreedataList 骞剁Щ闄ょ浉鍏崇殑瀛愰」 ID + this.TreedataList.forEach((item) => { + this.checkedListkey = this.checkedListkey.filter( + (id) => id !== item.proId + ); + }); + + this.Datalists = this.Datalists.filter( + (item) => item.proParentId !== proId + ); + + // 浠� DataList3 涓Щ闄ょ浉鍏崇殑瀛愰」 + this.DataList3 = this.DataList3.filter( + (item) => item.proParentId !== proId + ); + + // 鏇存柊鎬讳环鏍� + this.TotalPrice1 = 0; + this.DataList3.forEach((item) => { + this.TotalPrice1 += item.proPrice * item.sl; + }); }); } }, @@ -2676,9 +2847,7 @@ 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; @@ -2695,9 +2864,9 @@ this.spliceData(); this.TotalPrice1 = 0; this.DataList.forEach((item1) => { - console.log(item1.proPrice,3322); - console.log(this.TotalPrice1,1122); - + console.log(item1.proPrice, 3322); + console.log(this.TotalPrice1, 1122); + this.TotalPrice1 = item1.proPrice + this.TotalPrice1; }); if (this.marryalls != 0) { @@ -2824,6 +2993,7 @@ // 鏀惰垂鎸夐挳 submitPrice() { this.proIds = []; + this.isSubmit = true; if (this.DataList.length != 0) { this.DataList.forEach((item) => { this.proIds.push(item.proId); @@ -2859,6 +3029,7 @@ payType: this.payType, }; getwater(data).then((res) => { + this.isSubmit = false; this.$modal.msgSuccess("鎻愪氦鎴愬姛"); this.mobanId = res.data.mobanId; this.waterId = res.data.waterId; @@ -2874,6 +3045,7 @@ // 鏀惰垂鎸夐挳 submitPrice1() { this.proIds = []; + this.isSubmit1 = true; if (this.DataList.length != 0) { this.DataList.forEach((item) => { this.proIds.push(item.proId); @@ -2888,7 +3060,9 @@ cusId: this.cusIds, proIds: this.proIds, }; - getaddtTransition(data).then((response) => { + getaddtTransition1(data).then((response) => { + console.log(123456789); + if (response.code === 200) { // this.DataList3 = []; // this.DataList = []; @@ -2903,12 +3077,12 @@ discount, copeWith, tjType, - payStasus:this.jsType, + payStasus: this.jsType, orderId: this.orderIds, tjProIds: this.proIds, payType: this.payType, }; - + getwater(data).then((res) => { this.$modal.msgSuccess("鎻愪氦鎴愬姛"); this.mobanId = res.data.mobanId; @@ -2918,8 +3092,11 @@ const params = { viewNum, tjnumber }; this.$tab.openPage("鏀舵灏忕エ", "/report/charge", params); this.Projectopen1 = false; + this.Projectopen = false; + this.isSubmit1 = false; }); } + this.isSubmit1 = false; }); }, @@ -2967,14 +3144,47 @@ this.Projectssopen = false; }); }, - - /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { + this.$confirm("璇烽�夋嫨瀵煎嚭鑼冨洿", "瀵煎嚭鏁版嵁", { + distinguishCancelAndClose: true, + confirmButtonText: "瀵煎嚭鍏ㄩ儴", + cancelButtonText: "浠呭鍑哄綋鍓嶉〉", + type: "warning", + }) + .then(() => { + // 鐢ㄦ埛鐐瑰嚮浜嗏�滃鍑哄叏閮ㄢ�� + this.exportData(true); + }) + .catch((action) => { + if (action === "cancel") { + // 鐢ㄦ埛鐐瑰嚮浜嗏�滀粎瀵煎嚭褰撳墠椤碘�� + this.exportData(false); + } + }); + }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + /* handleExport() { + console.log(this.queryParams); this.download( - "hosp/order/export", + "/hosp/order/exportOrderList", { ...this.queryParams, }, + `order_${new Date().getTime()}.xlsx` + ); + }, */ + confirmExport() { + this.exportDialogVisible = false; + + + const exportParams = { + ...this.queryParams, + dqyorqbsj: this.exportType, // 娣诲姞杩欎釜瀛楁 + }; + + this.download( + "/hosp/order/exportOrderList", + exportParams, `order_${new Date().getTime()}.xlsx` ); }, @@ -2982,6 +3192,26 @@ }; </script> <style lang="scss" scoped> +.custom-dialog { + /* 鑷畾涔夊脊鍑烘鐨勬渶灏忛珮搴� */ + min-height: 600px; /* 浠庨粯璁ら珮搴﹀鍔犲埌 600px锛屽彲浠ユ牴鎹渶瑕佽皟鏁� */ +} + +/* 璋冩暣 el-tabs 鐨勫唴瀹瑰尯鍩熼珮搴� */ +::v-deep .el-tabs__content { + min-height: 500px; /* 纭繚閫夐」鍗″唴瀹瑰尯鍩熸湁瓒冲楂樺害 */ +} + +/* 璋冩暣瀵硅瘽妗嗙殑涓讳綋閮ㄥ垎 */ +::v-deep .el-dialog__body { + padding: 20px; +} + +/* 鍙�夛細璋冩暣 footer 鐨勬牱寮� */ +.dialog-footer { + padding: 10px 20px; + text-align: right; +} .pag { width: 100%; display: flex; -- Gitblit v1.8.0