From 26e6be1dfd468b1cf74708bd2f8f6eba5e9ac050 Mon Sep 17 00:00:00 2001 From: qx <1084500556@qq.com> Date: 星期二, 22 七月 2025 16:58:38 +0800 Subject: [PATCH] Qx --- src/views/system/tijian/index.vue | 30 src/views/hosp/order/1.vue | 2887 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/views/hosp/order/index.vue | 72 3 files changed, 2,960 insertions(+), 29 deletions(-) diff --git a/src/views/hosp/order/1.vue b/src/views/hosp/order/1.vue new file mode 100644 index 0000000..95e2533 --- /dev/null +++ b/src/views/hosp/order/1.vue @@ -0,0 +1,2887 @@ +<template> + <div v-loading="isLoading" element-loading-text="姝e湪鎻愪氦锛岃绋嶅��..." element-loading-spinner="el-icon-loading" + element-loading-background="rgba(255, 255, 255, 0.8)" style="height: 100%; padding: 20px; position: relative;"> + <div class="app-container"> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> + <el-form-item label="濮撳悕" prop="name"> + <el-input ref="inputName" v-model="queryParams.name" placeholder="璇疯緭鍏ュ鍚�" style="width: 150px" 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: 150px" clearable + @keyup.enter.native="handleQuery" @blur="hb" /> + </el-form-item> + <el-form-item label="浣撴椤圭洰" prop="xmmc"> + <el-input ref="inputName" v-model="queryParams.xmmc" placeholder="璇疯緭鍏ヤ綋妫�椤圭洰" style="width: 150px" clearable + @keyup.enter.native="handleQuery" /> + </el-form-item> + <el-form-item label="鍗曚綅鍚嶇О" prop="tjCompName" style="margin-left: 20px; margin-right: 500px"> + <el-select :remote-method="getRemoteData" v-model="queryParams.tjCompName" value-key="drugManufacturerId" + style="width: 200px" remote filterable placeholder="璇烽�夋嫨鍗曚綅鍚嶇О" clearable @change="searchSelect"> + <el-option v-for="dict in CompanyList" :key="dict.drugManufacturerId" :label="dict.cnName" :value="dict" /> + </el-select> + </el-form-item> + <el-form-item label="鐘舵��" prop="zt"> + <el-select :remote-method="getRemoteData" v-model="queryParams.zt" style="width: 150px" remote filterable + placeholder="璇烽�夋嫨鐘舵��" clearable @change="searchSelect"> + <el-option v-for="item in ztList" :key="item.id" :label="item.name" :value="item.id" /> + </el-select> + </el-form-item> + <el-form-item label="鐧昏鏃堕棿" prop="createTimeList" style="margin-right: 107px"> + <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"> + <el-date-picker clearable v-model="queryParams.createTime" type="date" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨鐧昏鏃堕棿"> + </el-date-picker> + </el-form-item> --> + <!-- <el-form-item label="瀹屾垚鏃堕棿" prop="finishTimeList"> + <el-date-picker clearable v-model="queryParams.finishTimeList" 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 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> + </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-form-item> + </el-form> + + <div v-if="shijianlist.length > 0" style="margin-bottom: 20px"> + {{ findNameByTjnum(shijianlist[shijianlist.length - 1].tjNUm) }} + <el-steps :space="200" :active="shijianlist[shijianlist.length - 1].sjz" finish-status="success" align-center> + <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-step title="鎶ュ憡鏍告敹"></el-step> + <el-step title="宸插嚭鎶ュ憡"></el-step> + </el-steps> + </div> + + <el-row :gutter="10" class="mb8"> + <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" 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="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-col> + <el-col :span="1.5"> + <el-button type="primary" size="mini" @click="budadzd" :disabled="single" + v-hasPermi="['hosp:order:export']">鎵撳嵃琛ュ綍鍗�</el-button> + </el-col> + <el-col :span="1.5"> + <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="handleRevoke" + :disabled="single">鎾ら攢绛惧埌</el-button> + </el-col> + <el-col :span="1.5"> + <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ForceChexiao" :disabled="single" + v-hasPermi="['qzcx']">寮哄埗鎾ら攢</el-button> + </el-col> + <el-col :span="1.5"> + <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ResumeAppointment" + :disabled="multiple">鎭㈠棰勭害</el-button> + </el-col> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> + </el-row> + + <template> + <el-table border v-loading="loading" :data="orderList" ref="tableRef" @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="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"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.dict_team" :value="scope.row.tjType" /> + <!-- <span v-if="scope.row.tjType == '2'">涓汉</span> + <span v-if="scope.row.tjType == '1'">鍥㈤槦</span> --> + </template> + </el-table-column> + <el-table-column label="浣撴鍙�" align="center" prop="tjNumber" :show-overflow-tooltip="true" width="160px" /> + <el-table-column label="闂ㄨ瘖鍙�" align="center" prop="cardId" :show-overflow-tooltip="true" width="160px" /> + <el-table-column label="鍗曚綅鍚嶇О" align="center" prop="dictCompName" :show-overflow-tooltip="true" /> + <el-table-column label="鐘舵��" align="center" prop="zt" :show-overflow-tooltip="true" /> + <!-- <el-table-column label="娴佹按鍙�" align="center" prop="tjSerialNumber" /> --> + <el-table-column label="鎵�閫夊椁�" align="center" prop="pacName" :formatter="driver" + :show-overflow-tooltip="true" /> + <el-table-column label="瀵艰瘖鎵撳嵃娆℃暟" align="center" prop="dycs" width="110px" :formatter="driver" + :show-overflow-tooltip="true"> + <template slot-scope="scope"> + {{ scope.row.dycs === null ? 0 : scope.row.dycs }} + </template> + </el-table-column> + <el-table-column label="鐧昏鏃堕棿" align="center" prop="createTime" width="155px" :show-overflow-tooltip="true"> + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.createTime) }}</span> + </template> + </el-table-column> + <el-table-column label="瀹屾垚鏃堕棿" align="center" prop="finishTime" width="155px" :show-overflow-tooltip="true"> + <!-- <template slot-scope="scope"> + <span>{{ parseTime(scope.row.finishTime) }}</span> + </template> --> + </el-table-column> + <!-- <el-table-column label="鏇存柊鏃堕棿" align="center" prop="updateTime" width="180"> + <template slot-scope="scope"> + <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"> + <!-- <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="firmDeptName" /> --> + + <!-- <el-table-column label="瀹㈡埛鐓х墖" align="center" prop="photo" /> --> + <!-- <el-table-column prop="checkStatus" label="瀹℃牳鐘舵��" width="180"> + <template slot-scope="scope"> + <span>{{ + scope.row.checkStatus == "1" ? "宸插鏍�" : "寰呭鏍�" + }}</span> + </template> + </el-table-column> --> + <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 type="text" size="mini" class="btn" icon="el-icon-download" title="涓嬭浇瀵艰瘖鍗�" @click=" + daoZhenDan, + LoadFileImg(scope.row); + "></el-button> --> + <!-- <el-button type="text" size="mini" class="btn" icon="el-icon-view" title="鏌ョ湅鎶ュ憡" @click=" + dialogVisible, + downLoadFileImg(scope.row); + "></el-button> --> + <!-- <el-button + type="text" + size="mini" + class="btn" + icon="el-icon-view" + title="浣撴鎶ュ憡" + @click="viewReport(scope.row)" + ></el-button> --> + <!-- <el-button + type="text" + size="mini" + class="btn" + icon="el-icon-view" + title="涓汉淇℃伅琛�" + v-if="scope.row.tjCategory == '02'" + @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> --> + + <!-- <button @click="downLoadFileImg(scope.row)">鏌ョ湅鎶ュ憡</button> --> + </template> + </el-table-column> + </el-table> + </template> + + <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> + <!-- <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" + @pagination="getList" /> --> + </div> + </div> + + <!-- 璁㈠崟娴佹按瀵硅瘽妗� --> + <!-- <el-dialog title="鎻愮ず" :visible.sync="dialogVisible" width="1500px " > + <el-table :data="tableData" style="width: 100%"> + <el-table-column prop="date" label="鏃ユ湡" width="180"> + </el-table-column> + <el-table-column prop="name" label="濮撳悕" width="180"> + </el-table-column> + <el-table-column prop="address" label="鍦板潃"> + </el-table-column> + </el-table> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + </span> + </el-dialog> --> + + <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> + </div> + </el-dialog> + + <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> + </div> + </el-dialog> + + <!-- 娣诲姞琛ュ綍椤圭洰 --> + <el-dialog :title="title" :visible.sync="Projectopen" width="1100px" style="height: 860px" append-to-body + :close-on-click-modal="false"> + <div class="box"> + <div class="box1"> + <div style="text-align: center; margin-bottom: 10px; margin-top: 10px"> + 椤圭洰閫夋嫨 + </div> + <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" @tab-click="handleClick" + v-model="activeNames"> + <el-tab-pane label="缁勫悎" name="first"> + <div class="tab8"> + <el-row :gutter="20" style="width: 100%"> + <el-col :span="22"> + <!-- <div + style=" + text-align: center; + margin-bottom: 10px; + margin-top: 10px; + " + > + 椤圭洰鍒楄〃 + </div> --> + <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterage"> + </el-input> + <div class="tab3"> + <el-tree class="filter-tree" v-loading="loading" :data="packageList" :props="defaultProp" + show-checkbox node-key="id" @check-change="handlepackage" :default-checked-keys="checkedkeys" + :filter-node-method="filterpackage" ref="treas" :render-content="renderContents"> + </el-tree> + </div> + </el-col> + <!-- <el-col :span="11"> + <div + style=" + text-align: center; + margin-bottom: 10px; + margin-top: 10px; + " + > + 鏄庣粏椤圭洰鍒楄〃 + </div> + <div class="tab3"> + <el-tree + class="filter-tree" + v-loading="loading" + :data="packagedataList" + node-key="proId" + :props="defaultpackProps" + :render-content="renderContent" + > + </el-tree> + </div> + </el-col> --> + <!-- <el-col :span="11"> </el-col> --> + </el-row> + </div> + </el-tab-pane> + <el-tab-pane label="鍗曢」" name="third"> + <div class="tab8"> + <el-row type="flex" class="row-bg" justify="space-around"> + <el-col :span="22"> + <!-- <div + style=" + text-align: center; + margin-bottom: 10px; + margin-top: 10px; + " + > + 椤圭洰鍒楄〃 + </div> --> + <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText"> + </el-input> + <div class="tab3"> + <el-tree class="filter-tree" v-loading="loading" :data="Treedata" :props="defaultProps" + show-checkbox node-key="proId" @check-change="handleCurrentChecked" + :default-checked-keys="checkedkey" :filter-node-method="filterNode" ref="tree" + :render-content="renderContent"> + </el-tree> + </div> + </el-col> + <!-- <el-col :span="11"> + <div + style=" + text-align: center; + margin-bottom: 10px; + margin-top: 10px; + " + > + 鏄庣粏椤圭洰鍒楄〃 + </div> + <div class="tab3"> + <div class="outside1"> + <el-tree + class="filter-tree" + v-loading="loading" + :data="TreedataList" + node-key="proId" + :props="defaultProps" + :filter-node-method="filterNode" + show-checkbox + @check-change="handleCurrentChecked1" + :default-checked-keys="checkedListkey" + :render-content="renderContent" + > + </el-tree> + </div> + </div> + </el-col> --> + <!-- <el-col :span="11"> + <div class="grid-content bg-purple"> + <div + style=" + text-align: center; + margin-bottom: 10px; + margin-top: 10px; + " + > + 宸查�夐」鐩垪琛� + </div> + + <el-table + :data="DataList" + border + style="width: 100%" + height="400" + :span-method="objectSpanMethod" + > + <el-table-column prop="propinName" label="妫�鏌ラ」鐩�"> + </el-table-column> + <el-table-column prop="proPrice" label="鍘熶环" width="56px"> + </el-table-column> + <el-table-column + prop="proName" + label="鏄庣粏椤圭洰" + width="260px" + > + </el-table-column> + + <el-table-column + label="鎿嶄綔" + align="center" + fixed="right" + class-name="small-padding fixed-width" + width="50px" + > + <template slot-scope="scope"> + <el-button + size="mini" + type="text" + icon="el-icon-delete" + @click="handleDelete(scope.row)" + title="鍒犻櫎" + ></el-button> + </template> + </el-table-column> + </el-table> --> + <!-- <el-collapse v-model="activeName" accordion v-if="list1"> + <div> + <el-collapse-item title="璇烽�夋嫨椤圭洰"> + <el-table + :data="DataList" + border + style="width: 100%" + 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> --> + <!-- </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> + <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="1200px" 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="160px" :show-overflow-tooltip="true"> + </el-table-column> + <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="160px" :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="鎶樻墸"> + <template slot-scope="scope"> + <el-input-number v-model.number="scope.row.discount" @input="validateDiscount(scope.row)" + @change="handleManualChange(scope.row)" placeholder="杈撳叆鎶樻墸" size="small" type="number" :precision="1" + :step="0.1" :max="10" :min="0"> + </el-input-number> + </template> + </el-table-column> + <el-table-column prop="nowPrice" label="鐜颁环"> + <template slot-scope="scope"> + {{ scope.row.nowPrice? scope.row.nowPrice.toFixed(2):scope.row.nowPrice }} + </template> + </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="鎶樻墸"> + <!-- {{ discount }} --> + <el-input-number ref="inputNumber" style="width: 150px" v-model="discount" :precision="1" :step="0.1" + :max="10" :min="0" @change="debounceNumberChange"></el-input-number> + </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="搴斾粯"> + <el-input placeholder="搴斾粯閲戦" v-model="TotalPrice" style="width: 206px" @input="changeXianjia" + @blur="numberChangeXianPrice(discount, discount)" /> + </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> + + <!-- <div class="heji"> + <div class="o"> + <el-form + :model="form" + :inline="true" + style="display: flex; align-items: center" + > + <el-form-item label="浣撴绫诲瀷" prop="tjType"> + <div class="type"> + {{ { 1: "鍥㈤槦", 2: "涓汉", 3: "鍥綋绁�" }[form.tjType] }} + </div> + </el-form-item> + </el-form> + </div> + + <div class="outsides"> + <el-form :inline="true" class="outside2" label-width="80px"> + <el-form-item label="鍘熶环" style="display: flex"> + <el-input + placeholder="鍘熶环" + :value="TotalPrice1" + disabled + style="width: 90px" + ></el-input> + </el-form-item> + <el-form-item label="鎶樻墸璁惧畾" style="display: flex"> + <el-input + style="width: 90px" + type="number" + v-model="discount" + :value="discount" + ></el-input> + </el-form-item> + <el-form-item label="搴斾粯閲戦" style="display: flex"> + <el-input + placeholder="搴斾粯閲戦" + :value="TotalPrice1 * (discount / 10)" + style="width: 90px" + ></el-input> + </el-form-item> + <el-form-item label="浠樻绫诲瀷" prop="payType" style="display: flex"> + <el-select + style="width: 120px" + v-model="payType" + placeholder="璇烽�夋嫨浠樻绫诲瀷" + @change="onPayTypeChange" + > + <el-option + v-for="dict in dict.type.dict_pay_type" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="缁撶畻鏂瑰紡" prop="payType"> + <el-select + v-model="payType" + placeholder="璇烽�夋嫨缁撶畻鏂瑰紡" + style="width: 130px" + clearable + > + <el-option + v-for="dict in dict.type.reservation_pay_type" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + <el-form-item style="display: flex"> + <el-button + type="primary" + @click="submitPrice1" + :disabled="confirm" + >鎻愪氦</el-button + > + </el-form-item> + </el-form> + </div> + </div> --> + </el-dialog> + + <!-- 娣诲姞鎴栦慨鏀逛綋妫�璁板綍瀵硅瘽妗� --> + <el-dialog :title="title" :visible.sync="open" width="950px" append-to-body :close-on-click-modal="false"> + <el-tabs v-model="activeName1" type="card"> + <!-- <el-tab-pane label="璁㈠崟娴佹按" name="first"> + <el-table :data="numberList" style="width: 100%"> + <el-table-column prop="proName" label="椤圭洰/鑰楁潗" width="300"> + </el-table-column> + <el-table-column prop="price" label="鍗曚环" width="300"> + </el-table-column> + <el-table-column prop="count" label="鏁伴噺" width="300"> + </el-table-column> + </el-table> + <el-table :data="bill" style="width: 100%"> + <el-table-column prop="copeWith" label="搴斾粯" width="180"> + </el-table-column> + <el-table-column prop="discount" label="鎶樻墸" width="180"> + </el-table-column> + <el-table-column prop="paidIn" label="瀹炰粯" width="180"> + </el-table-column> + <el-table-column prop="payType" label="浠樻鏂瑰紡" width="180"> + <template slot-scope="scope"> + <span v-if="scope.row.payType == '0'">鐜伴噾鏀粯</span> + <span v-if="scope.row.payType == '1'">鍒峰崱鏀粯</span> + <span v-if="scope.row.payType == '2'">鏀粯瀹濇敮浠�</span> + <span v-if="scope.row.payType == '3'">寰俊鏀粯</span> + <span v-if="scope.row.payType == '4'">浜戦棯浠樻敮浠�</span> + </template> + </el-table-column> + <el-table-column prop="payStasus" label="浠樻鐘舵��" width="180"> + <template slot-scope="scope"> + <span v-if="scope.row.payStasus == '0'">鏈粯娆�</span> + <span v-if="scope.row.payStasus == '1'">宸蹭粯娆�</span> + <span v-if="scope.row.payStasus == '2'">閫�璐�</span> + <span v-if="scope.row.payStasus == '3'">棰勪粯娆�</span> + </template> + </el-table-column> + </el-table> + </el-tab-pane> --> + <el-tab-pane label="椤圭洰姹囨��" name="second" style="height: 400px"> + <el-table :data="huizongList" style="width: 100%" max-height="200"> + <el-table-column align="center" type="index" label="搴忓彿" width="50"> + </el-table-column> + <el-table-column align="center" prop="parent_pro_name" label="椤圭洰"> + </el-table-column> + <el-table-column align="center" prop="ks" label="绉戝"> + </el-table-column> + <el-table-column align="center" prop="price" label="璐圭敤鍚堣"> + </el-table-column> + <el-table-column align="center" prop="sfzt" label="璐圭敤鐘舵��"> + <template v-slot="scope"> + <span v-if="scope.row.sfzt">{{ '宸茬粨璐�' }}</span> + <span v-else>{{ '鏈粨璐�' }}</span> + </template> + </el-table-column> + </el-table> + <h3>浠樻璇︽儏</h3> + <el-table :data="bill" style="width: 100%; margin-top: 10px"> + <el-table-column align="center" prop="copeWith" label="搴斾粯"> + </el-table-column> + <el-table-column align="center" prop="discount" label="鎶樻墸"> + </el-table-column> + <el-table-column align="center" prop="paidIn" label="瀹炰粯"> + </el-table-column> + </el-table> + </el-tab-pane> + <el-tab-pane label="鏄庣粏椤圭洰" name="third" style="height: 350px"> + <el-table :data="infoList" style="width: 100%" max-height="330" :span-method="objectSpanMethod1"> + <el-table-column align="center" type="index" label="搴忓彿" width="50"> + </el-table-column> + <el-table-column align="center" prop="parent_pro_name" label="鐖堕」"> + </el-table-column> + <el-table-column align="center" prop="pro_name" label="瀛愰」"> + </el-table-column> + <el-table-column align="center" prop="danjia" label="鍗曚环"> + </el-table-column> + <el-table-column align="center" prop="num" label="鏁伴噺"> + </el-table-column> + <el-table-column align="center" prop="zongjia" label="鎬讳环"> + </el-table-column> + <el-table-column align="center" prop="time" label="寮�鍗曟椂闂�" width="180"> + </el-table-column> + </el-table> + </el-tab-pane> + </el-tabs> + <div slot="footer" class="dialog-footer"> + <el-button @click="cancel">鍙� 娑�</el-button> + </div> + </el-dialog> + + <el-dialog :title="title1" :visible.sync="Projectssopen" width="1100px" style="height: 860px" append-to-body + :close-on-click-modal="false"> + <el-row type="flex" class="row-bg" justify="space-around"> + <el-col :span="13"> + <div style="text-align: center; margin-bottom: 10px; margin-top: 10px"> + 琛ュ綍鍒楄〃 + </div> + + <div class="tab3"> + <el-table :data="DataLists" border style="width: 100%" height="400" + @selection-change="handleProjectssChange"> + <el-table-column type="selection" width="40" align="center" /> + <el-table-column type="index" label="搴忓彿" align="center" width="49px"> + </el-table-column> + <el-table-column prop="blje" label="琛ュ綍閲戦" align="center" width="74px"> + </el-table-column> + <el-table-column prop="bldh" label="琛ュ綍鍗曞彿" align="center" width="155px"> + </el-table-column> + <el-table-column prop="blsj" label="琛ュ綍鏃堕棿" align="center" width="156px"> + </el-table-column> + <el-table-column prop="blrmc" label="琛ュ綍浜�" align="center" width="96px"> + </el-table-column> + </el-table> + </div> + </el-col> + + <el-col :span="10"> + <div class="grid-content bg-purple"> + <div style="text-align: center; margin-bottom: 10px; margin-top: 10px"> + 琛ュ綍椤圭洰 + </div> + <el-table :data="DataListss" border style="width: 100%" height="400" :span-method="objectSpanMethod2"> + <el-table-column prop="propinName" label="妫�鏌ラ」鐩�"> + </el-table-column> + <el-table-column prop="proPrice" label="鍘熶环" width="56px"> + </el-table-column> + <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="260px"> + </el-table-column> + </el-table> + </div> + </el-col> + </el-row> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">鎾� 閿�</el-button> + <!-- <el-button @click="cancel">鍙� 娑�</el-button> --> + </div> + </el-dialog> + + <el-dialog :title="title1" :visible.sync="budadaozhen" width="1100px" style="height: 860px" append-to-body + :close-on-click-modal="false"> + <el-row type="flex" class="row-bg" justify="space-around"> + <el-col :span="13"> + <div style="text-align: center; margin-bottom: 10px; margin-top: 10px"> + 琛ュ綍鍒楄〃 + </div> + + <div class="tab3"> + <el-table :data="DataLists" border style="width: 100%" height="400" + @selection-change="handleProjectssChange"> + <el-table-column type="selection" width="40" align="center" /> + <el-table-column type="index" label="搴忓彿" align="center" width="49px"> + </el-table-column> + <el-table-column prop="blje" label="琛ュ綍閲戦" align="center" width="74px"> + </el-table-column> + <el-table-column prop="bldh" label="琛ュ綍鍗曞彿" align="center" width="155px"> + </el-table-column> + <el-table-column prop="blsj" label="琛ュ綍鏃堕棿" align="center" width="156px"> + </el-table-column> + <el-table-column prop="blrmc" label="琛ュ綍浜�" align="center" width="96px"> + </el-table-column> + </el-table> + </div> + </el-col> + + <el-col :span="10"> + <div class="grid-content bg-purple"> + <div style="text-align: center; margin-bottom: 10px; margin-top: 10px"> + 琛ュ綍椤圭洰 + </div> + <el-table :data="DataListss" border style="width: 100%" height="400" :span-method="objectSpanMethod2"> + <el-table-column prop="propinName" label="妫�鏌ラ」鐩�"> + </el-table-column> + <el-table-column prop="proPrice" label="鍘熶环" width="56px"> + </el-table-column> + <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="260px"> + </el-table-column> + </el-table> + </div> + </el-col> + </el-row> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="dayin">鎵� 鍗�</el-button> + <!-- <el-button @click="cancel">鍙� 娑�</el-button> --> + </div> + </el-dialog> + </div> + </div> +</template> + +<script> +import { + getNumber, + hasReport, + getPdf, + getOrderList, + getNewDateList, + revokeTjOrderByTjNum, + huifuyuyuejilu, + getTransitionInfo, + getBlproByTjh, + revokeBlProByBldhAndTjh, + getForceChexiao, +} from "@/api/hosp/order"; +import moment from "moment"; +import Big from "big.js"; +import { getZhList, getlistByZhId } from "@/api/system/package"; +import { getwater } from "@/api/hosp/customer"; +import { getInfo } from "@/api/login"; +import ViewPdf from "@/components/ViewPdf"; +import { getDicts } from "@/api/system/dict/data"; +import { + shijianzhou, + getaddtTransition, + getProParentIdDxList, + getProSonDxList, +} from "@/api/system/tijian"; +import { + SubmitCompany, + getCompany, + queryCompany, + addbatch, +} from "@/api/team/tuanti"; +export default { + components: { + ViewPdf, + }, + dicts: ["dict_pay_type", "dict_team", "reservation_pay_type"], + name: "Order", + data() { + return { + ztList: [ + { name: "鏈", id: 0 }, + { name: "鍦ㄦ", id: 1 }, + { name: "宸插畬鎴�", id: 2 }, + { name: "宸插鏍�", id: 3 }, + { name: "鐢熸垚鎶ュ憡", id: 4 }, + { name: "鎶ュ憡鏍告敹", id: 5 }, + { name: "宸插嚭鎶ュ憡", id: 6 }, + ], + DataList3: [], + bldhid: "", + budadaozhen: false, + isLoading: false, + isSubmit: false, + isSubmit1: false, + huizongList: [], + DataLists: [], + infoList: [], + bldhs: [], + CompanyList: [], + filterage: "", + activeName1: "second", + filterText: "", + orderIds: "", + tjnumbers: "", + Projectssopen: false, + title1: "", + cusIds: "", + userIds: "", + cusIdcard: "", + defaultpackProps: { + children: [], + label: "proName", + }, + cusName: "", + cusPhone: "", + cusSex: "", + reportTimeList: "", + createTimeList: "", + packagedataList: [], + cusId: "", + payType: "", + jsType: "", + packageList: [], + checkedkeys: [], + dialogVisible: false, + daoZhenDan: false, + Projectopen: false, + Projectopen1: false, + src: "", + url: "", + flag: true, + bill: [], + Treedata: [], + DataListss: [], + checkedkey: [], + checkedListkey: [], + defaultProps: { + children: [], + label: "proName", + }, + defaultProp: { + children: [], + label: "zhmc", + }, + TreedataList: [], + discount: 10, + DataList: [], + shijianlist: [], + // 濂楅鎻愪氦鎸夐挳 + confirm: false, + list1: true, + activeName: "1", + proIds: [], + TotalPrice1: 0, + TotalPrice: 0, + TotalPrice6: 0, + TotalPrice7: 0, + numberList: [], + dialogVisible: false, + CheckBox: {}, + // 閬僵灞� + loading: true, + // 閫変腑鏁扮粍 + ids: [], + dataObj: {}, + // 闈炲崟涓鐢� + single: true, + singles: false, + activeNames: "first", + // 闈炲涓鐢� + multiple: true, + tjNUms: [], + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + userId: "", + // 鎬绘潯鏁� + total: 0, + // 浣撴璁板綍琛ㄦ牸鏁版嵁 + orderList: [], + // 寮瑰嚭灞傛爣棰� + title: "", + orderId: "", + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + Datalists: [], + // 鏃ユ湡鑼冨洿 + datetimerange: [], + marryalls: 0, + // 鏌ヨ鍙傛暟 + queryParams: { + pageNum: 1, + pageSize: 10, + djbeginTime: null, + djendTime: null, + tjNum: null, + bgbeginTime: null, + bgendTime: null, + xmmc: null, + tjCompName: "", + dw: null, + }, + startTime: "", + startTime1: "", + // 琛ㄥ崟鍙傛暟 + form: { + tjType: 2, + }, + // 琛ㄥ崟鏍¢獙 + rules: {}, + pickerOptions: { + shortcuts: [ + { + text: "鏈�杩戜竴鍛�", + onClick(picker) { + const end = new Date(); + const start = new Date(new Date().setHours(0, 0, 0, 0)); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); + picker.$emit("pick", [start, end]); + }, + }, + { + text: "鏈�杩戜竴涓湀", + onClick(picker) { + const end = new Date(); + const start = new Date(new Date().setHours(0, 0, 0, 0)); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); + picker.$emit("pick", [start, end]); + }, + }, + { + text: "鏈�杩戜笁涓湀", + onClick(picker) { + const end = new Date(); + const start = new Date(new Date().setHours(0, 0, 0, 0)); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); + picker.$emit("pick", [start, end]); + }, + }, + ], + }, + }; + }, + + watch: { + filterText(val) { + this.$refs.tree.filter(val); + }, + filterage(val) { + this.$refs.treas.filter(val); + }, + }, + created() { + // this.getNowTime(); + + this.getdate(); + }, + mounted() { + this.$nextTick(() => { + this.$refs.inputName.focus(); + }); + }, + methods: { + findNameByTjnum(tjnum) { + const order = this.orderList.find( + (orderItem) => orderItem.tjNumber === tjnum + ); + return order ? order.tjCustomerName : "鏈壘鍒�"; // 濡傛灉鎵句笉鍒板搴旂殑椤癸紝杩斿洖涓�涓粯璁ゅ�� + }, + // 鎼滅储 + getRemoteData(query) { + if (query) { + let compName = query; + queryCompany(compName).then((response) => { + this.CompanyList = response.data; + this.CompanyList.forEach((item) => { + this.queryParams = item; + }); + }); + } + }, + // 閫夋鏁版嵁 + searchSelect(val) { + this.CheckBox = val; + this.queryParams.dw = this.CheckBox.cnName; + console.log(this.CheckBox, 9999); + }, + onPayTypeChange() { + if (this.payType === "6" && this.form.tjType !== 3) { + this.cannotSelectPayType = true; + this.$message.warning("璇ヤ粯娆剧被鍨嬪湪姝や綋妫�绫诲瀷涓嬩笉鍏佽閫夋嫨锛�"); + this.payType = this.dict.type.dict_pay_type[0]?.value || null; + } else { + this.cannotSelectPayType = false; + } + }, + getdate() { + getNewDateList().then((res) => { + if (res.data) { + this.createTimeList = [ + moment(res.data).format("YYYY-MM-DD 00:00:00"), + moment(res.data).format("YYYY-MM-DD 23:59:00"), + ]; + this.getList(); + } + }); + }, + filterNode(value, data) { + if (!value) return true; + // return data.proName.indexOf(value) !== -1; + if (data.proName.indexOf(value) !== -1) { + return data.proName.indexOf(value) !== -1; + } else { + return data.proEngName.indexOf(value) !== -1; + } + }, + // / 澶勭悊榛樿閫変腑褰撳墠鏃ユ湡 + // getNowTime() { + // var curDate = new Date(new Date().setHours(0, 0, 0, 0)).getTime(); + // var dayNum = 7 * 24 * 3600 * 1000; + // var threeDays = curDate - dayNum; + // var sDay = this.getLocalTime(threeDays); + // var end = this.getLocalTime(curDate); + // this.createTimeList = [sDay, end]; + // }, + // add0(m) { + // return m < 10 ? "0" + m : m; + // }, + // getLocalTime(nS) { + // var time = new Date(nS); + // var y = time.getFullYear(); + // var m = time.getMonth() + 1; + // var d = time.getDate(); + // var h = time.getHours(); + // var mm = time.getMinutes(); + // return ( + // y + + // "-" + + // this.add0(m) + + // "-" + + // this.add0(d) + + // " " + + // this.add0(h) + + // ":" + + // this.add0(mm) + // ); + // }, + dateChangebirthday1(val) { + this.startTime = val; + }, + dateChangebirthday2(val) { + this.startTime1 = val; + }, + /** 鏌ヨ浣撴璁板綍鍒楄〃 */ + getList() { + this.queryParams.compId = this.CheckBox.drugManufacturerId; + 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]; + this.queryParams.bgendTime = this.startTime1[1]; + } + + this.loading = true; + getOrderList(this.queryParams).then((response) => { + this.orderList = response.data.list; + if (this.orderList) { + this.orderList.forEach((item, index) => { + item.newID = + (this.queryParams.pageNum - 1) * this.queryParams.pageSize + + index + + 1; + }); + } + this.total = response.data.total; + this.loading = false; + }); + // 鑾峰彇鍗曚綅淇℃伅闆嗗悎 + getCompany(this.queryParams).then((response) => { + this.CompanyList = response.data; + + this.loading = false; + }); + }, + + sub() { + this.queryParams.compId = this.CheckBox.drugManufacturerId; + 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]; + this.queryParams.bgendTime = this.startTime1[1]; + } + + this.loading = true; + getOrderList(this.queryParams).then((response) => { + this.orderList = response.data.list; + if (this.orderList) { + this.orderList.forEach((item, index) => { + item.newID = + (this.queryParams.pageNum - 1) * this.queryParams.pageSize + + index + + 1; + }); + } + this.total = response.data.total; + this.loading = false; + }); + }, + driver(row) { + return row.pacName == null ? "鏅�氫綋妫�" : row.pacName; + }, + /** 鐐瑰嚮鏄剧ず瀵兼鍗曟姤琛�*/ //lige 寮�濮� + handleReport(row) { + const tjNumber = row.tjNumber; + const viewNum = "792931586196398080"; + const params = { viewNum, tjNumber }; + hasReport(tjNumber).then((res) => { + if (res == 1) { + this.$tab.openPage("瀵艰瘖鍗�", "/report/breDailyReport", params); + } else { + this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒"); + } + }); + }, + /** 鐐瑰嚮鏄剧ず瀵兼鍗曟姤琛�*/ //lige 寮�濮� + /* handleReport1(row) { + const tjNumber = this.tjnumbers; + const viewNum = "792931586196398080"; + getInfo().then(((res)=>{ + console.log(res,123); + + })) + const params = { viewNum, tjNumber }; + hasReport(tjNumber).then((res) => { + if (res == 1) { + this.$tab.openPage("瀵艰瘖鍗�", "/report/breDailyReport", params); + } else { + this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒"); + } + }); + }, */ + handleReport1(row) { + const tjNumber = this.tjnumbers; + const viewNum = "792931586196398080"; + // 鍏堣皟鐢� getInfo 鑾峰彇 userId + getInfo() + .then((res) => { + const dqdlr = res.user.userId; // 鑾峰彇 userId + console.log("User ID:", dqdlr); + const params = { viewNum, tjNumber, dqdlr }; // 灏� userId 鍔犲叆 params + + // 鍐嶈皟鐢� hasReport 妫�鏌ユ姤鍛婄姸鎬� + hasReport(tjNumber).then((reportRes) => { + if (reportRes === 1) { + this.$tab.openPage("瀵艰瘖鍗�", "/report/breDailyReport", params); + } else { + this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒"); + } + }); + }) + .catch(() => { + this.$message.error("鏃犳硶鑾峰彇鐢ㄦ埛淇℃伅锛�"); + }); + }, + + // 寮哄埗鎾ら攢鎸夐挳 + ForceChexiao() { + const tjNum = this.tjnumbers; + this.isLoading = true + this.$confirm( + "鎮ㄦ槸鍚﹂渶瑕佸己鍒舵挙閿�锛熸挙閿�鍚庤浜哄憳鏈浣撴璁板綍涓嶅彲鎭㈠锛�", + "纭淇℃伅", + { + distinguishCancelAndClose: true, + confirmButtonText: "纭", + cancelButtonText: "鍙栨秷", + customClass: "custom-message-box", + } + ) + .then(() => { + getForceChexiao(tjNum).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("鎾ら攢鎴愬姛"); + this.isLoading = false + this.getList(); + } + }).catch(() => { + console.log("鍔犺浇澶辫触") + this.isLoading = false; + }).finally(() => { + console.log("鍔犺浇澶辫触") + // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛� + this.isLoading = false; + }); + }) + .catch((action) => { + this.isLoading = false + if (action === "cancel") { + this.$message({ + type: "warning", + message: "宸插彇娑�", + }); + } + }); + this.$nextTick(() => { + // 纭繚寮规娓叉煋鍚庡簲鐢ㄦ牱寮� + const messageBox = document.querySelector( + ".custom-message-box .el-message-box__message" + ); + if (messageBox) { + messageBox.style.color = "red"; // 閫氳繃 JS 寮哄埗璁剧疆棰滆壊 + } + }); + }, + + ResumeAppointment() { + this.isLoading = true; + this.$confirm("鎮ㄧ‘璁よ鎭㈠棰勭害锛�", "纭淇℃伅", { + distinguishCancelAndClose: true, + confirmButtonText: "纭", + cancelButtonText: "鍙栨秷", + }) + .then(() => { + huifuyuyuejilu(this.tjNUms).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("鎭㈠鎴愬姛"); + this.isLoading = false + this.getList(); + } + }).catch(() => { + console.log("鍔犺浇澶辫触") + this.isLoading = false; + }).finally(() => { + console.log("鍔犺浇澶辫触") + // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛� + this.isLoading = false; + }); + }) + .catch((action) => { + if (action === "cancel") { + this.isLoading = false; + this.$message({ + type: "warning", + message: "宸插彇娑�", + }); + } + }) + .finally(() => { + // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛� + + }); + }, + + + updateProPrice(row) { + const ordPrice = new Big(row.ordPrice); + const discount = new Big(row.discount); + const result = ordPrice.times(discount.div(10)); // ordPrice * (discount / 10) + row.nowPrice = result.toNumber(); + this.TotalPrice = this.tableData1.reduce((sum, item) => { + return sum.plus(new Big(item.nowPrice || "0")); + }, new Big(0)); + + this.discount = + (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10; + }, + debounceNumberChange(currentValue, oldValue) { + clearTimeout(this.debounceTimer); + this.debounceTimer = setTimeout(() => { + this.numberChange(currentValue, oldValue); + }, 300); + }, + + // 鎶樻墸 + numberChange(currentValue, oldValue) { + this.$confirm("纭畾淇敼鎵�鏈夊瓙椤圭殑鎶樻墸鍚楋紵", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + this.discount = currentValue; + this.DataList3.forEach((item) => { + item.discount = this.discount; + const ordPrice = new Big(item.ordPrice.toString()); + const discount = new Big(item.discount.toString()); + const result = ordPrice.times(discount.div(10)); + item.nowPrice = result.toNumber(); + // this.TotalPrice = this.DataList3.reduce((sum, item) => { + // return sum.plus(new Big(item.nowPrice || "0")); + // }, new Big(0)); + this.TotalPrice = new Big(TotalPrice1 * (discount / 10)) + }); + }) + .catch(() => { + this.discount = oldValue; + }); + }, + + changeXianjia() { + // 鍘熷鎶樻墸鐜囪绠� + if (this.TotalPrice1 !== 0) { + this.discount = + (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10; + } + }, + numberChangeXianPrice(currentValue, oldValue) { + // 濡傛灉鐜颁环娌℃湁鍙樺寲锛岀洿鎺ヨ繑鍥� + if (this.TotalPrice === this.lastXianPrice || !this.TotalPrice) { + return; + } + this.$confirm("纭畾淇敼鎵�鏈夊瓙椤圭殑鎶樻墸鍚楋紵", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + this.discount = currentValue; + if (this.discount < this.getInfodis) { + this.discount = this.getInfodis; + } + let totalYsprice = new Big(0); + this.tableData1.forEach((item) => { + item.discount = this.discount; + const ordPrice = new Big(item.ordPrice); + const discount = new Big(item.discount); + const result = ordPrice.times(discount.div(10)); + item.nowPrice = result.toNumber(); + totalYsprice = totalYsprice.plus(new Big(item.nowPrice)); + }); + if (!totalYsprice.eq(this.TotalPrice)) { + const diff = new Big(this.TotalPrice).minus(totalYsprice); + if (this.tableData1.length > 0) { + const lastItem = this.tableData1[this.tableData1.length - 1]; + const newYsPrice = new Big(lastItem.nowPrice) + .plus(diff) + .toNumber(); + // console.log( + // "hhh", + // this.tableData1[this.tableData1.length - 1].nowPrice, + // newYsPrice + // ); + this.$set( + this.tableData1[this.tableData1.length - 1], + "nowPrice", + newYsPrice + ); + } + } + this.lastXianPrice = this.TotalPrice; + }) + .catch(() => { + this.discount = oldValue; + }); + }, + handleManualChange(row) { + this.updateProPrice(row); + }, + + validateDiscount(row) { + if ( + this.TotalPrice !== undefined && + !isNaN(this.TotalPrice) && + this.TotalPrice !== this.lastXianPrice + ) { + this.updateProPrice1(row); + this.lastXianPrice = this.TotalPrice; + } + }, + updateProPrice1(row) { + const ordPrice = new Big(row.ordPrice); + const discount = new Big(row.discount); + const result = ordPrice.times(discount.div(10)); + row.nowPrice = result.toNumber(); + const totalYsPrice = this.tableData1.reduce((sum, item) => { + return sum.plus(new Big(item.nowPrice || "0")); + }, new Big(0)); + const totalYsPriceNum = totalYsPrice.toNumber(); + if (this.TotalPrice !== undefined && !isNaN(this.TotalPrice)) { + const xianPrice = new Big(this.TotalPrice); + const diff = xianPrice.minus(totalYsPriceNum); + if (!diff.eq(0) && this.tableData1.length > 0) { + const lastItem = this.tableData1[this.tableData1.length - 1]; + const newYsPrice = new Big(lastItem.nowPrice).plus(diff).toNumber(); + this.$set( + this.tableData1[this.tableData1.length - 1], + "nowPrice", + newYsPrice + ); + } + } + + // Update youhui calculation + if (this.TotalPrice1 !== 0 && this.TotalPrice !== 0) { + this.discount = + (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10; + } else { + this.discount = 0; + } + }, + + updateProPrice(row) { + const ordPrice = new Big(row.proPrice); + const discount = new Big(row.discount); + const result = ordPrice.times(discount.div(10)); // ordPrice * (discount / 10) + row.nowPrice = result.toNumber(); + this.TotalPrice = this.DataList3.reduce((sum, item) => { + return sum.plus(new Big(item.nowPrice || "0")); + }, new Big(0)); + this.discount = + (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10; + }, + + handleRevoke() { + this.isLoading = true; + this.$confirm("鎮ㄧ‘璁よ鎾ら攢锛�", "纭淇℃伅", { + distinguishCancelAndClose: true, + confirmButtonText: "纭", + cancelButtonText: "鍙栨秷", + }) + .then(() => { + revokeTjOrderByTjNum(this.tjnumbers).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("鎾ら攢鎴愬姛"); + this.isLoading = false + this.getList(); + } + }).catch(() => { + console.log("鍔犺浇澶辫触") + this.isLoading = false; + }).finally(() => { + console.log("鍔犺浇澶辫触") + // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛� + this.isLoading = false; + }); + }) + .catch((action) => { + if (action === "cancel") { + this.isLoading = false; + this.$message({ + type: "warning", + message: "宸插彇娑�", + }); + } + }) + .finally(() => { + // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛� + // this.isLoading = false; + }); + }, + /** 鐐瑰嚮鏄剧ず浣撴鎶ュ憡鎶ヨ〃*/ + // viewReport(row) { + // const tjNumber = row.tjNumber; + // const viewNum = "792997692059705344"; + // const params = { viewNum, tjNumber }; + // gettoPdf(tjNumber).then((res) => { + // if (res == 1) { + // this.$tab.openPage("浣撴鎶ュ憡", "/report/viewReport", params); + // } else { + // this.$message.error("璇ョ敤鎴蜂綋妫�鏆傛湭瀹屾垚锛屾棤娉曟墦鍗颁綋妫�鎶ュ憡锛�"); + // } + // }); + // }, + + //lige 缁撴潫 + viewReport(row) { + const tjNumber = row.tjNumber; + const flag = true; + getPdf(tjNumber, flag).then((response) => { + if (response.size === 0) { + this.$message.error("璇ョ敤鎴蜂綋妫�鎶ュ憡鏆傛湭瀹屾垚锛�"); + this.dialogVisible = false; + } else { + this.dialogVisible = true; + this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl + } + }); + }, + + // LoadFileImg(row) { + // const tjNumber = row.tjNumber; + // getTjNumber(tjNumber).then((response) => { + // if (response.size === 0) { + // this.$message.error("璇ョ敤鎴锋湭鐢熸垚瀵兼鍗�"); + // this.daoZhenDan = false; + // } else { + // this.daoZhenDan = true; + // this.url = window.webkitURL.createObjectURL(response); //灏嗗悗绔繑鍥炵殑blob鏂囦欢璇诲彇鍑簎rl + // } + // }); + // }, + + handleSizeChange(val) { + this.queryParams.pageNum = 1; + this.queryParams.pageSize = val; + this.getList(); + }, + handleCurrentChange(val) { + this.queryParams.pageNum = val; + this.getList(); + }, + + // 鍙栨秷鎸夐挳 + cancel() { + this.open = false; + this.reset(); + }, + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { + orderId: null, + userId: null, + tjType: null, + tjNumber: null, + tjSerialNumber: null, + pacId: null, + createTime: null, + finishTime: null, + updateTime: null, + reportTime: null, + createBy: null, + updateBy: null, + deleted: null, + firmId: null, + firmDeptName: null, + firmWorkId: null, + photo: null, + djbeginTime: null, + djendTime: null, + bgbeginTime: null, + bgendTime: null, + dw: null, + }; + this.resetForm("form"); + }, + hb() { + if (this.queryParams.tjNum != undefined) { + this.handleQuery(); + } + }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; + // this.getList(); + this.sub(); + }, + renderContents(h, { node, data, store }) { + return ( + <span class="custom-tree-node"> + <span>{node.label}</span> + <span>({data.price}鍏�)</span> + </span> + ); + }, + + objectspanmethod({ row, column, rowIndex, columnIndex }) { + let fields = ["propinName"]; + let cellValue = row[column.property]; + if (cellValue && fields.includes(column.property)) { + let prevRow = this.Datalists[rowIndex - 1]; + let nextRow = this.Datalists[rowIndex + 1]; + if (prevRow && prevRow[column.property] === cellValue) { + return { rowspan: 0, colspan: 0 }; + } else { + let countRowspan = 1; + while (nextRow && nextRow[column.property] === cellValue) { + nextRow = this.Datalists[++countRowspan + rowIndex]; + } + + if (countRowspan > 1) { + return { rowspan: countRowspan, colspan: 1 }; + } + } + } + + // if (columnIndex == 3) { + // let rowspan = 0; + // this.DataLists.forEach((element) => { + // if (element.propinName === row.propinName) { + // rowspan++; + // } + // }); + // return [rowspan, 1]; + // } + }, + filterpackage(value, data) { + if (!value) return true; + if (data.zhmc.indexOf(value) !== -1) { + return data.zhmc.indexOf(value) !== -1; + } else { + return data.pym.indexOf(value) !== -1; + } + }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.startTime = []; + this.startTime1 = []; + this.createTimeList = []; + this.resetForm("queryForm"); + this.queryParams = { + pageNum: 1, + pageSize: 10, + djbeginTime: null, + djendTime: null, + tjNum: null, + bgbeginTime: null, + bgendTime: null, + xmmc: null, + tjCompName: "", + dw: null, + }; + this.handleQuery(); + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + let tjNUms = selection.map((item) => item.tjNumber); + this.tjNUms = selection.map((item) => item.tjNumber); + // if (selection.length > 1) { + // const newSelection = [selection[selection.length - 1]]; + // this.$nextTick(() => { + // this.$refs.tableRef.clearSelection(); + // this.$refs.tableRef.toggleRowSelection(newSelection[0], true); + // }); + // } + selection.forEach((item) => { + this.orderIds = item.orderId; + this.tjnumbers = item.tjNumber; + this.cusIds = item.tjCusIdCard; + this.userIds = item.userId; + this.cusIdcard = item.tjCusIdCard; + this.cusName = item.tjCustomerName; + this.cusPhone = item.tjCustomerPhone; + this.cusSex = item.tjCustomerSex; + this.form.tjType = parseInt(item.tjType); + }); + + this.ids = selection.map((item) => item.orderId); + this.single = selection.length !== 1; + this.singles = selection.length !== 1; + this.multiple = !selection.length; + if (tjNUms.length > 0) { + shijianzhou(tjNUms).then((res) => { + this.shijianlist = res.data; + }); + } else { + this.shijianlist = []; + } + }, + /** 鏂板鎸夐挳鎿嶄綔 */ + // handleAdd() { + // this.reset(); + // this.open = true; + // this.title = "娣诲姞浣撴璁板綍"; + // }, + + /** 璁㈠崟娴佹按鎸夐挳 */ + handleUpdate(row) { + const tjNumber = row.tjNumber; + this.open = true; + getNumber(tjNumber).then((response) => { + // this.form = response.data; + this.numberList = response.data.charging; + this.bill = []; + var copeWith = 0; + var paidIn = 0; + var discount = ""; + response.data.water.forEach((item) => { + copeWith += item.copeWith; + paidIn += item.paidIn; + 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; + }); + }); + }, + /** 璁㈠崟鏄庣粏鎸夐挳 */ + handleUpdate1(row) { + const tjNumber = this.tjnumbers; + this.open = true; + getNumber(tjNumber).then((response) => { + // this.form = response.data; + this.numberList = response.data.charging; + this.bill = []; + var copeWith = 0; + var paidIn = 0; + var discount = ""; + response.data.water.forEach((item) => { + copeWith += item.copeWith; + paidIn += item.paidIn; + discount = item.discount; + }); + this.bill.push({ + copeWith: copeWith, + paidIn: paidIn, + discount: discount, + }); + + this.title = "璁㈠崟娴佹按"; + }); + getTransitionInfo(tjNumber).then((res) => { + this.huizongList = res.data.huizong; + this.infoList = res.data.info; + this.huizongList.forEach((item, index) => { + item.newID = + (this.queryParams.pageNum - 1) * this.queryParams.pageSize + + index + + 1; + }); + this.infoList.forEach((item, index) => { + item.newID = + (this.queryParams.pageNum - 1) * this.queryParams.pageSize + + index + + 1; + }); + }); + }, + budadzd() { + this.bldhs = []; + this.bldhid = ""; + getBlproByTjh(this.tjnumbers).then((res) => { + if (res.data) { + this.DataLists = res.data; + this.budadaozhen = true; + this.title1 = "琛ユ墦瀵艰瘖鍗�"; + } else { + this.$message({ + type: "warning ", + message: "璇ュ鎴锋病鏈夎ˉ褰曢」鐩�", + }); + } + }); + }, + dayin() { + // this.bldhs = []; + console.log(this.bldhs); + this.bldhid.toString(this.bldhs); + this.bldhs.forEach((item) => { + console.log(item, 666); + this.bldhid += item + ","; + }); + // this.bldhid = this.bldhs.toString() + console.log(this.bldhid); + const tjNumber = this.tjnumbers; + const viewNum = "983185234038140928"; + const jxbz = this.bldhid; + // const params = { viewNum, tjNumber, jxbz }; + // console.log(params); + getInfo().then((res) => { + console.log(res, 1111); + const dqdlr = res.user.userId; // 鑾峰彇 userId + const params = { viewNum, tjNumber, jxbz, dqdlr }; + + hasReport(tjNumber).then((res) => { + if (res == 1) { + this.$tab.openPage("瀵艰瘖鍗�", "/report/budabreDailyReport", params); + this.budadaozhen = false; + } else { + this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒"); + } + }); + }); + /* hasReport(tjNumber).then((res) => { + if (res == 1) { + this.$tab.openPage("瀵艰瘖鍗�", "/report/budabreDailyReport", params); + this.budadaozhen = false; + } else { + this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒"); + } + }); */ + }, + + handleClick(tab, event) { + if (this.activeNames == "first") { + // this.marryalls = 0; + // this.Datalists = []; + this.checkedkeys = []; + + this.DataList3 = []; + getZhList().then((response) => { + if (response.data) { + this.packageList = response.data; + } + this.loading = false; + }); + } else { + // this.TotalPrice1 = 0; + 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) => { + this.TreedataList = res.data.list; + this.TreedataList.forEach((item) => { + this.Datalists.push(item); + this.DataList3 = this.DataList.concat(this.Datalists); + if (this.Datalists.length >= 1) { + this.marryalls = 0; + this.Datalists.forEach((item1) => { + this.marryalls += item1.proPrice; + // this.TotalPrice1 = this.marryalls; + this.TotalPrice1 = 0; + + if (this.DataList3.length != 0) { + this.DataList3.forEach((item) => { + console.log(item.proPrice); + this.TotalPrice1 += item.proPrice; + }); + } + this.packagedataList.forEach((item3) => { + if (item1.proParentId == item3.proId) { + item1.propinName = item3.proName; + } + }); + }); + } + }); + }); + } + }); + } else if (checked.checkedNodes.length == 0) { + } + }, */ + + renderContent(h, { node, data, store }) { + return ( + <span class="custom-tree-node"> + <span>{node.label}</span> + <span>({data.proPrice}鍏�)</span> + </span> + ); + }, + + // 琛ュ綍椤圭洰 + handleProject(row) { + let dictType = "reservation_pay_type"; + getDicts(dictType).then((res) => { + if (res.code == 200) { + this.jsType = res.data[0].dictValue; + } + }) + let dictTypes = "dict_pay_type"; + getDicts(dictTypes).then((res) => { + if (res.code == 200) { + this.payType = res.data[0].dictValue; + } + }) + + this.loading = true; + this.DataList = []; + this.DataList3 = []; + this.Datalists = []; + this.TotalPrice1 = 0; + this.filterText = "", + this.filterage = "", + this.orderId = row.orderId; + this.cusId = row.tjCusIdCard; + this.userId = row.userId; + this.customer = { + cusIdcard: row.tjCusIdCard, + cusName: row.tjCustomerName, + cusPhone: row.tjCustomerPhone, + cusSex: row.tjCustomerSex, + }; + if (row.tjType) { + this.form.tjType = parseInt(row.tjType); + } else { + this.form.tjType = 2; + } + this.activeNames = "first"; + /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ + this.handleClick(); + + this.Projectopen = true; + this.title = "琛ュ綍椤圭洰"; + }, + + getDataList() { + getProParentIdDxList().then((response) => { + this.Treedata = response.data.list; + // this.checkedkey.push(this.Treedata[0].proId); + // let proId = this.Treedata[0].proId; + // getProSonDxList(proId).then((res) => { + // this.TreedataList = res.data.list; + // this.TreedataList.forEach((item) => { + // this.checkedListkey.push(item.proId); + // this.DataList.push(item); + // this.DataList.forEach((item) => { + // item.propinName = this.Treedata[0].proName; + // }); + // }); + // this.TotalPrice1 = 0; + + // if (this.DataList.length != 0) { + // this.list1 = false; + // this.DataList.forEach((item) => { + // this.TotalPrice1 = item.proPrice + this.TotalPrice1; + // }); + // } + // }); + this.loading = false; + }); + }, + revokeProject() { + getBlproByTjh(this.tjnumbers).then((res) => { + if (res.data) { + this.DataLists = res.data; + this.Projectssopen = true; + this.title1 = "鎾ら攢琛ュ綍"; + } else { + this.$message({ + type: "warning ", + message: "璇ュ鎴锋病鏈夎ˉ褰曢」鐩�", + }); + } + }); + }, + // 琛ュ綍椤圭洰 + handleProject1() { + let dictType = "reservation_pay_type"; + getDicts(dictType).then((res) => { + if (res.code == 200) { + this.jsType = res.data[0].dictValue; + } + }) + let dictTypes = "dict_pay_type"; + getDicts(dictTypes).then((res) => { + if (res.code == 200) { + this.payType = res.data[0].dictValue; + } + }) + this.loading = true; + this.DataList = []; + this.DataList3 = []; + this.Datalists = []; + this.filterText = "", + this.filterage = "", + this.TotalPrice1 = 0; + this.orderId = this.ids; + this.cusId = this.cusIds; + this.userId = this.userIds; + this.customer = { + cusIdcard: this.cusIdcard, + cusName: this.cusName, + cusPhone: this.cusPhone, + cusSex: this.cusSex, + }; + this.activeNames = "first"; + /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ + this.handleClick(); + + this.Projectopen1 = true; + this.title = "琛ュ綍椤圭洰"; + }, + + // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐� + /* 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) => { + this.checkedListkey.push(item.proId); + this.DataList.push(item); + this.DataList3 = this.DataList.concat(this.Datalists); + this.spliceData(); + this.DataList.forEach((item1) => { + if (item1.proParentId == data.proId) { + item1.propinName = data.proName; + } + }); + }); + this.TotalPrice1 = 0; + if (this.DataList3.length != 0) { + this.DataList3.forEach((item) => { + this.TotalPrice1 += item.proPrice * item.sl; + }); + } + // this.TotalPrice1 = 0; + // if (this.DataList.length != 0) { + // this.list1 = false; + // this.DataList.forEach((item) => { + // this.TotalPrice1 = item.proPrice + this.TotalPrice1; + // }); + // if (this.marryalls != 0) { + // this.TotalPrice1 += this.marryalls; + // } + // } + }); + } else if (checked == 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; + }); + }); + } + }, + + spliceData() { + for (var i = 0; i < this.DataList.length; i++) { + for (var j = i + 1; j < this.DataList.length; j++) { + if (this.DataList[i].proId == this.DataList[j].proId) { + //濡傛灉绗竴涓瓑浜庣浜屼釜锛宻plice鏂规硶鍒犻櫎绗簩涓� + this.DataList.splice(j, 1); + j--; + } + } + } + return this.DataList; + }, + + // 鐐瑰嚮鑾峰彇姣忎釜鏍戣妭鐐� + handleCurrentChecked1(data, checked, checkedNodes) { + if (checked == false) { + this.DataList.forEach((item, index) => { + if (item.proId == data.proId) { + this.DataList.splice(index, 1); + this.TotalPrice1 = 0; + this.DataList.forEach((item1) => { + this.TotalPrice1 = item1.proPrice + this.TotalPrice1; + }); + if (this.marryalls != 0) { + this.TotalPrice1 += this.marryalls; + } + } + }); + } else if (checked == true) { + this.DataList.push(data); + this.DataList.forEach((item1) => { + if (item1.proParentId == this.dataObj.proId) { + item1.propinName = this.dataObj.proName; + } + }); + this.spliceData(); + this.TotalPrice1 = 0; + this.DataList.forEach((item1) => { + console.log(item1.proPrice, 3322); + console.log(this.TotalPrice1, 1122); + + this.TotalPrice1 = item1.proPrice + this.TotalPrice1; + }); + if (this.marryalls != 0) { + this.TotalPrice1 += this.marryalls; + } + } + }, + handleDel(row) { + this.Datalists.forEach((item, index) => { + if (item.proId == row.proId) { + this.Datalists.splice(index, 1); + this.marryalls = 0; + this.Datalists.forEach((item1) => { + this.marryalls += item1.proPrice; + }); + } + }); + this.DataList3.forEach((item, index) => { + if (item.proId == row.proId) { + this.DataList3.splice(index, 1); + this.marryalls = 0; + this.DataList3.forEach((item1) => { + this.marryalls += item1.proPrice; + }); + } + }); + this.DataList.forEach((item, index) => { + if (item.proId == row.proId) { + this.DataList.splice(index, 1); + this.TotalPrice1 = 0; + this.DataList.forEach((item1) => { + this.TotalPrice1 = item1.proPrice + this.TotalPrice1; + }); + if (this.marryalls != 0) { + this.TotalPrice1 += this.marryalls; + } + } + }); + this.TotalPrice1 = 0; + this.DataList3.forEach((item) => { + this.TotalPrice1 += item.proPrice; + }); + }, + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete(row) { + this.DataList.forEach((item, index) => { + if (item.proId == row.proId) { + this.DataList.splice(index, 1); + this.TotalPrice1 = 0; + this.DataList.forEach((item1) => { + this.TotalPrice1 = item1.proPrice + this.TotalPrice1; + }); + if (this.marryalls != 0) { + this.TotalPrice1 += this.marryalls; + } + } + }); + }, + + // // 榛樿鎺ュ彈鍥涗釜鍊� { 褰撳墠琛岀殑鍊�, 褰撳墠鍒楃殑鍊�, 琛岀殑涓嬫爣, 鍒楃殑涓嬫爣 } + objectSpanMethod({ row, column, rowIndex, columnIndex }) { + // console.log(row, column, rowIndex, columnIndex); + let fields = ["propinName"]; + let cellValue = row[column.property]; + if (cellValue && fields.includes(column.property)) { + let prevRow = this.DataList[rowIndex - 1]; + let nextRow = this.DataList[rowIndex + 1]; + if (prevRow && prevRow[column.property] === cellValue) { + return { rowspan: 0, colspan: 0 }; + } else { + let countRowspan = 1; + while (nextRow && nextRow[column.property] === cellValue) { + nextRow = this.DataList[++countRowspan + rowIndex]; + } + if (countRowspan > 1) { + return { rowspan: countRowspan, colspan: 1 }; + } + } + } + }, + + objectSpanMethod1({ row, column, rowIndex, columnIndex }) { + // console.log(row, column, rowIndex, columnIndex); + let fields = ["parent_pro_name"]; + let cellValue = row[column.property]; + if (cellValue && fields.includes(column.property)) { + let prevRow = this.infoList[rowIndex - 1]; + let nextRow = this.infoList[rowIndex + 1]; + if (prevRow && prevRow[column.property] === cellValue) { + return { rowspan: 0, colspan: 0 }; + } else { + let countRowspan = 1; + while (nextRow && nextRow[column.property] === cellValue) { + nextRow = this.infoList[++countRowspan + rowIndex]; + } + if (countRowspan > 1) { + return { rowspan: countRowspan, colspan: 1 }; + } + } + } + }, + + objectSpanMethod2({ row, column, rowIndex, columnIndex }) { + // console.log(row, column, rowIndex, columnIndex); + let fields = ["propinName"]; + let cellValue = row[column.property]; + if (cellValue && fields.includes(column.property)) { + let prevRow = this.DataListss[rowIndex - 1]; + let nextRow = this.DataListss[rowIndex + 1]; + if (prevRow && prevRow[column.property] === cellValue) { + return { rowspan: 0, colspan: 0 }; + } else { + let countRowspan = 1; + while (nextRow && nextRow[column.property] === cellValue) { + nextRow = this.DataListss[++countRowspan + rowIndex]; + } + if (countRowspan > 1) { + return { rowspan: countRowspan, colspan: 1 }; + } + } + } + }, + + // 鏀惰垂鎸夐挳 + submitPrice() { + this.proIds = []; + this.isSubmit = true; + if (this.DataList.length != 0) { + this.DataList.forEach((item) => { + this.proIds.push(item.proId); + }); + } + if (this.Datalists.length != 0) { + this.Datalists.forEach((item) => { + this.proIds.push(item.proId); + }); + } + let data = { + cusId: this.cusId, + proIds: this.proIds, + }; + getaddtTransition(data).then((response) => { + if (response.code === 200) { + this.DataList = []; + this.DataList3 = []; + this.DataLists = []; + this.TotalPrice1 = 0; + let tjType = this.form.tjType; + let copeWith = this.TotalPrice1; + let paidIn = copeWith * (this.discount / 10); + let discount = this.discount; + let data = { + customer: this.customer, + paidIn, + discount, + copeWith, + tjType, + orderId: this.orderId, + tjProIds: this.proIds, + payType: this.payType, + }; + getwater(data).then((res) => { + this.isSubmit = false; + this.$modal.msgSuccess("鎻愪氦鎴愬姛"); + this.mobanId = res.data.mobanId; + this.waterId = res.data.waterId; + const tjnumber = this.waterId; + const viewNum = this.mobanId; + const params = { viewNum, tjnumber }; + this.$tab.openPage("鏀舵灏忕エ", "/report/charge", params); + this.Projectopen = false; + }); + } + }); + }, + // 鏀惰垂鎸夐挳 + submitPrice1() { + this.proIds = []; + this.isSubmit1 = true; + if (this.DataList.length != 0) { + this.DataList.forEach((item) => { + this.proIds.push(item.proId); + }); + } + if (this.Datalists.length != 0) { + this.Datalists.forEach((item) => { + this.proIds.push(item.proId); + }); + } + let data = { + cusId: this.cusIds, + proIds: this.proIds, + }; + getaddtTransition(data).then((response) => { + if (response.code === 200) { + // this.DataList3 = []; + // this.DataList = []; + // this.DataList3 = []; + let tjType = this.form.tjType; + let copeWith = this.TotalPrice1; + let paidIn = copeWith * (this.discount / 10); + let discount = this.discount; + let data = { + customer: this.customer, + paidIn, + discount, + copeWith, + tjType, + payStasus: this.jsType, + orderId: this.orderIds, + tjProIds: this.proIds, + payType: this.payType, + }; + + getwater(data).then((res) => { + this.$modal.msgSuccess("鎻愪氦鎴愬姛"); + this.mobanId = res.data.mobanId; + this.waterId = res.data.waterId; + const tjnumber = this.waterId; + const viewNum = this.mobanId; + const params = { viewNum, tjnumber }; + this.$tab.openPage("鏀舵灏忕エ", "/report/charge", params); + this.Projectopen1 = false; + this.Projectopen = false; + this.isSubmit1 = false; + }); + } + this.isSubmit1 = false; + }); + }, + + handleProjectssChange(selection) { + this.DataListss = []; + this.selection = []; + + this.bldhs = selection.map((item) => item.bldh); + selection.forEach((item) => { + item.projectList.forEach((item1) => { + item1.children.forEach((item2) => { + this.DataListss.push(item2); + if (this.DataListss.length != 0) { + this.DataListss.forEach((item) => { + if (item.proParentId == item1.proId) + item.propinName = item1.proName; + }); + } + }); + }); + }); + }, + + /** 鎻愪氦鎸夐挳 */ + submitForm() { + this.$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( + "hosp/order/export", + { + ...this.queryParams, + }, + `order_${new Date().getTime()}.xlsx` + ); + }, + }, +}; +</script> +<style lang="scss" scoped> +.pag { + width: 100%; + display: flex; + justify-content: center; + margin-top: 15px; +} + +.pag1 { + width: 30%; +} + +.main { + height: 700px; + overflow: hidden; +} + +#printIframe::-webkit-scrollbar { + width: 6px; +} + +/* 淇敼 婊氬姩鏉$殑 涓嬮潰 鐨� 鏍峰紡 */ +#printIframe::-webkit-scrollbar-track { + background-color: white; + -webkit-border-radius: 2em; + -moz-border-radius: 2em; + border-radius: 2em; +} + +/* 淇敼 婊戝潡 */ +#printIframe::-webkit-scrollbar-thumb { + background-color: #dcdfe6; + -webkit-border-radius: 2em; + -moz-border-radius: 2em; + border-radius: 2em; +} + +// .el-dialog { +// width: 1264px; +// min-height: 800px; +// } + +// .el-dialog__header { +// display: flex; +// justify-content: space-between; +// align-items: center; +// } + +// .el-dialog__body { +// padding: 20px; +// } +::v-deep .el-message-box__message { + color: red !important; + /* 寮哄埗璁剧疆棰滆壊涓虹孩鑹� */ +} + +// .custom-message-box .el-message-box__message { +// color: red !important; /* 璁剧疆鏂囧瓧涓虹孩鑹� */ +// } +.o { + margin-top: 8px; +} + +.outside { + width: 500px; + display: flex; + margin-top: 8px; +} + +.outsides { + width: 500px; + display: flex; + // margin-top: 12px; + // margin-right: 40%; +} + +.tab3 { + max-height: 420px; + overflow-y: auto; + border: 1px solid #d9d9d9; +} + +.outside1 { + width: 500px; + display: flex; + margin-top: 8px; +} + +.outside2 { + width: 500px; + display: flex; + margin-top: 8px; +} + +.heji { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; + margin-top: 10px; +} + +.box { + display: flex; + justify-content: space-between; +} + +.box1 { + width: 50%; + display: flex; + flex-direction: column; +} + +::v-deep .el-step__title.is-process { + color: rgb(24, 144, 255); +} + +::v-deep .el-step__head.is-process { + color: rgb(24, 144, 255); + border-color: rgb(24, 144, 255); +} + +.shijian { + display: flex; + align-items: flex-start; +} +</style> diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue index 1e200a9..add60fd 100644 --- a/src/views/hosp/order/index.vue +++ b/src/views/hosp/order/index.vue @@ -75,7 +75,7 @@ v-hasPermi="['hosp:order:export']">瀵煎嚭</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> @@ -97,16 +97,17 @@ <el-button type="primary" size="mini" @click="budadzd" :disabled="single" v-hasPermi="['hosp:order:export']">鎵撳嵃琛ュ綍鍗�</el-button> </el-col> - <el-col :span="1.5"> - <el-button style="background-color:#E6A23C;color:#fff" - size="mini" @click="handleRevoke" :disabled="single">鎾ら攢绛惧埌</el-button> + <el-col :span="1.5"> + <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="handleRevoke" + :disabled="single">鎾ら攢绛惧埌</el-button> </el-col> <el-col :span="1.5"> <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ForceChexiao" :disabled="single" v-hasPermi="['qzcx']">寮哄埗鎾ら攢</el-button> </el-col> <el-col :span="1.5"> - <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ResumeAppointment" :disabled="multiple">鎭㈠棰勭害</el-button> + <el-button style="background-color:#E6A23C;color:#fff" size="mini" @click="ResumeAppointment" + :disabled="multiple">鎭㈠棰勭害</el-button> </el-col> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> @@ -473,6 +474,7 @@ </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"> @@ -534,7 +536,7 @@ </el-dialog> <!-- 娣诲姞琛ュ綍椤圭洰 --> - <el-dialog :title="title" :visible.sync="Projectopen1" width="1100px" style="height: 860px" append-to-body + <el-dialog :title="title" :visible.sync="Projectopen1" width="1200px" style="height: 860px" append-to-body :close-on-click-modal="false"> <div class="box"> <div class="box1"> @@ -586,9 +588,9 @@ </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 prop="propinName" label="妫�鏌ラ」鐩�" width="160px" :show-overflow-tooltip="true"> </el-table-column> - <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="200px" :show-overflow-tooltip="true"> + <el-table-column prop="proName" label="鏄庣粏椤圭洰" width="160px" :show-overflow-tooltip="true"> </el-table-column> <el-table-column prop="sl" label="鏁伴噺" width="56px"> </el-table-column> @@ -786,10 +788,10 @@ <el-table-column align="center" prop="price" label="璐圭敤鍚堣"> </el-table-column> <el-table-column align="center" prop="sfzt" label="璐圭敤鐘舵��"> - <template v-slot="scope"> - <span v-if="scope.row.sfzt">{{ '宸茬粨璐�' }}</span> - <span v-else>{{ '鏈粨璐�' }}</span> - </template> + <template v-slot="scope"> + <span v-if="scope.row.sfzt">{{ '宸茬粨璐�' }}</span> + <span v-else>{{ '鏈粨璐�' }}</span> + </template> </el-table-column> </el-table> <h3>浠樻璇︽儏</h3> @@ -1348,8 +1350,6 @@ // 鍏堣皟鐢� getInfo 鑾峰彇 userId getInfo() .then((res) => { - console.log(res, 1111); - const dqdlr = res.user.userId; // 鑾峰彇 userId console.log("User ID:", dqdlr); const params = { viewNum, tjNumber, dqdlr }; // 灏� userId 鍔犲叆 params @@ -1370,7 +1370,6 @@ // 寮哄埗鎾ら攢鎸夐挳 ForceChexiao() { - const tjNum = this.tjnumbers; this.isLoading = true this.$confirm( @@ -1383,17 +1382,13 @@ customClass: "custom-message-box", } ) - .then(() => { - getForceChexiao(tjNum).then((res) => { - if (res.code == 200) { this.$modal.msgSuccess("鎾ら攢鎴愬姛"); this.isLoading = false this.getList(); } - }).catch(() => { console.log("鍔犺浇澶辫触") this.isLoading = false; @@ -1459,6 +1454,37 @@ // 涓嶈鎿嶄綔鎴愬姛杩樻槸澶辫触锛岄兘浼氭墽琛� }); + }, + + + updateProPrice(row) { + const ordPrice = new Big(row.ordPrice); + const discount = new Big(row.discount); + const result = ordPrice.times(discount.div(10)); // ordPrice * (discount / 10) + row.nowPrice = result.toNumber(); + this.TotalPrice = this.tableData1.reduce((sum, item) => { + return sum.plus(new Big(item.nowPrice || "0")); + }, new Big(0)); + + this.discount = + (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10; + }, + + + handleManualChange(row) { + this.updateProPrice(row); + }, + + updateProPrice(row) { + const ordPrice = new Big(row.ordPrice); + const discount = new Big(row.discount); + const result = ordPrice.times(discount.div(10)); // ordPrice * (discount / 10) + row.nowPrice = result.toNumber(); + this.TotalPrice = this.DataList3.reduce((sum, item) => { + return sum.plus(new Big(item.nowPrice || "0")); + }, new Big(0)); + this.discount = + (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10; }, handleRevoke() { @@ -2021,8 +2047,8 @@ this.Datalists = []; this.TotalPrice1 = 0; this.filterText = "", - this.filterage = "", - this.orderId = row.orderId; + this.filterage = "", + this.orderId = row.orderId; this.cusId = row.tjCusIdCard; this.userId = row.userId; this.customer = { @@ -2103,8 +2129,8 @@ this.DataList3 = []; this.Datalists = []; this.filterText = "", - this.filterage = "", - this.TotalPrice1 = 0; + this.filterage = "", + this.TotalPrice1 = 0; this.orderId = this.ids; this.cusId = this.cusIds; this.userId = this.userIds; diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue index a0d7bad..cababad 100644 --- a/src/views/system/tijian/index.vue +++ b/src/views/system/tijian/index.vue @@ -284,7 +284,7 @@ <el-dialog title="閫夋嫨濂楅" :visible.sync="taocan" width="70%" height="700px" :close-on-click-modal="false"> <el-tabs type="border-card" style="height: 560px; margin: 0 10px; width: 100%" v-model="activeNames" @tab-click="handleClick"> - <el-tab-pane label="濂楅" name="first"> + <el-tab-pane label="濂楅" name="first" :disabled ="form.sftj == 'Y'|| form.sftj == 'y'"> <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-if="showSearch" label-width="auto" @submit.native.prevent="handle"> <el-form-item label="濂楅鍚嶇О" prop="pacName"> @@ -306,7 +306,7 @@ </div> </div> </el-tab-pane> - <el-tab-pane label="缁勫悎" name="third"> + <el-tab-pane label="缁勫悎" name="third" :disabled ="form.sftj == 'Y'|| form.sftj == 'y'"> <el-row :gutter="20" style="width: 100%"> <el-col :span="6" style="min-width: 200px"> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px;"> @@ -367,7 +367,7 @@ </el-col> </el-row> </el-tab-pane> - <el-tab-pane label="鍗曢」" name="second"> + <el-tab-pane label="鍗曢」" name="second" :disabled ="form.sftj == 'Y'|| form.sftj == 'y'"> <el-row :gutter="20" style="width: 100%"> <el-col :span="6" style="min-width: 200px"> <div style="text-align: center; margin-bottom: 10px; margin-top: 10px;"> @@ -421,7 +421,7 @@ </el-col> </el-row> </el-tab-pane> - <el-tab-pane label="浜插睘濂楅" name="four"> + <el-tab-pane label="浜插睘濂楅" name="four" :disabled ="form.sftj == 'N'|| form.sftj == 'n'"> <el-form :model="queryParam" ref="queryForm" size="small" :inline="true" v-if="showSearch" label-width="auto" @submit.native.prevent="handle"> <el-form-item label="濮撳悕" prop="pacName"> @@ -452,7 +452,6 @@ <el-button type="primary" @click="submit">纭� 瀹�</el-button> </span> </el-dialog> - <!-- --> <el-row v-if="tcShow"> <el-col :span="15"> <div class="grid-content bg-purple"> @@ -508,7 +507,11 @@ @blur="numberChangeXianPrice(discount, discount)" /> </el-form-item> <el-form-item label="鏄惁鏇挎" v-if="tjtype"> - <el-input placeholder="鏄惁鏇挎" v-model="sftj" style="width: 150px"></el-input> + <!-- <el-input placeholder="鏄惁鏇挎" v-model="sftj" style="width: 150px"></el-input> --> + <el-select v-model="form.sftj" placeholder="鏄惁鏇挎" style="width: 150px"> + <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> + </el-select> </el-form-item> <br /> @@ -2408,6 +2411,11 @@ }); } else if (!this.form.firmId && this.form.firmName) { this.taocan = true; + if(this.form.sftj == "Y" || this.form.sftj == "y"){ + this.activeNames = "four" + }else{ + this.activeNames = "first" + } this.loading = true; deptTreeSelect(cusSex).then((response) => { this.newpacName = response.rows; @@ -2433,6 +2441,11 @@ else { this.taocan = true; + if(this.form.sftj == "Y" || this.form.sftj == "y"){ + this.activeNames = "four" + }else{ + this.activeNames = "first" + } this.loading = true; tuantiSelect(param).then((res) => { this.newpacName = res.data; @@ -2457,6 +2470,11 @@ } } else { this.taocan = true; + if(this.form.sftj == "Y" || this.form.sftj == "y"){ + this.activeNames = "four" + }else{ + this.activeNames = "first" + } this.loading = true; deptTreeSelect(cusSex).then((response) => { this.newpacName = response.rows; -- Gitblit v1.8.0