From a7c90f4a5ed7619a6682f22665338acfed22564e Mon Sep 17 00:00:00 2001 From: qinxianzhangyao <11053546+qinxianzhangyao@user.noreply.gitee.com> Date: 星期四, 14 十二月 2023 18:07:52 +0800 Subject: [PATCH] qxtj --- src/views/system/package/index.vue | 535 ++++++++++++++--------------------------------------------- 1 files changed, 127 insertions(+), 408 deletions(-) diff --git a/src/views/system/package/index.vue b/src/views/system/package/index.vue index 492035c..b1d75ca 100644 --- a/src/views/system/package/index.vue +++ b/src/views/system/package/index.vue @@ -1,106 +1,41 @@ <template> <div class="app-container"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="68px" - > + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form-item label="濂楅鍚嶇О" prop="pacName"> - <el-input - v-model="queryParams.pacName" - placeholder="璇疯緭鍏ュ椁愬悕绉�" - clearable - @keyup.enter.native="handleQuery" - /> + <el-input v-model="queryParams.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="濂楅鎻忚堪" prop="pacRemark"> - <el-input - v-model="queryParams.pacRemark" - placeholder="璇疯緭鍏ュ椁愭弿杩�" - clearable - @keyup.enter.native="handleQuery" - /> + <el-input v-model="queryParams.pacRemark" placeholder="璇疯緭鍏ュ椁愭弿杩�" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="濂楅鍒嗙被" prop="categoryId"> - <el-select - v-model="queryParams.categoryId" - placeholder="璇烽�夋嫨鐘舵��" - style="width: 200px" - filterable - clearable - > - <el-option - v-for="dict in categoryList" - :key="dict.id" - :label="dict.name" - :value="dict.id" - ></el-option> - </el-select> + <el-select v-model="queryParams.categoryId" placeholder="璇烽�夋嫨鐘舵��" style="width: 200px" filterable clearable> + <el-option v-for="dict in categoryList" :key="dict.id" :label="dict.name" :value="dict.id"></el-option> + </el-select> </el-form-item> <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="mini" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" - >閲嶇疆</el-button - > + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> </el-form-item> </el-form> <el-row :gutter="10" class="mb8"> <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-plus" - size="mini" - @click="handleAdd" - v-hasPermi="['system:package:add']" - >鏂板</el-button - > + <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" + v-hasPermi="['system:package:add']">鏂板</el-button> </el-col> <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-edit" - size="mini" - :disabled="single" - @click="handleUp" - v-hasPermi="['system:package:edit']" - >淇敼</el-button - > + <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUp" + v-hasPermi="['system:package:edit']">淇敼</el-button> </el-col> <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['system:package:remove']" - >鍒犻櫎</el-button - > + <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" + v-hasPermi="['system:package:remove']">鍒犻櫎</el-button> </el-col> <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['system:package:export']" - >瀵煎嚭</el-button - > + <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" + v-hasPermi="['system:package:export']">瀵煎嚭</el-button> </el-col> - <right-toolbar - :showSearch.sync="showSearch" - @queryTable="getList" - ></right-toolbar> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> <!-- @@ -108,41 +43,13 @@ element-loading-spinner="el-icon-loading" element-loading-text="姝e湪鍔犺浇涓�..." --> <template> - <el-table - v-loading="loading" - style="width: 100%" - :data="packageList" - @selection-change="handleSelectionChange" - border - > - <el-table-column - fixed - type="selection" - width="40" - align="center" - :show-overflow-tooltip="true" - /> - <el-table-column - label="搴忓彿" - align="center" - width="50" - prop="newID" - fixed - /> + <el-table v-loading="loading" style="width: 100%" :data="packageList" @selection-change="handleSelectionChange" + border> + <el-table-column fixed type="selection" width="40" align="center" :show-overflow-tooltip="true" /> + <el-table-column label="搴忓彿" align="center" width="50" prop="newID" fixed /> <!-- <el-table-column label="缂栧彿" align="center" prop="pacId" /> --> - <el-table-column - label="濂楅鍚嶇О" - align="center" - prop="pacName" - width="150px" - fixed - /> - <el-table-column - label="鍗曢」鍒楄〃" - align="center" - prop="allProName" - width="1200px" - > + <el-table-column label="濂楅鍚嶇О" align="center" prop="pacName" width="150px" fixed /> + <el-table-column label="鍗曢」鍒楄〃" align="center" prop="allProName" width="1200px"> </el-table-column> <!-- <el-table-column label="椤圭洰鏄庣粏" @@ -151,12 +58,7 @@ :show-overflow-tooltip="true" > </el-table-column>--> - <el-table-column - label="濂楅鎻忚堪" - align="center" - :show-overflow-tooltip="true" - width="120px" - > + <el-table-column label="濂楅鎻忚堪" align="center" :show-overflow-tooltip="true" width="120px"> <template slot-scope="scope"> <div class="showInline">{{ scope.row.pacRemark }}</div> </template> @@ -174,27 +76,12 @@ </el-table-column> --> <el-table-column label="浠锋牸" width="80px" align="center" prop="price"> </el-table-column> - - <el-table-column - label="濂楅鍒嗙被" - width="100px" - align="center" - prop="categoryNames" - ></el-table-column> - <el-table-column - label="鍏抽敭瀛�" - width="110px" - align="center" - prop="keyNames" - ></el-table-column> - <el-table-column - label="鏄惁涓婃灦" - width="94px" - align="center" - prop="isOnSale" - > - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isOnSale"/> + + <el-table-column label="濂楅鍒嗙被" width="100px" align="center" prop="categoryNames"></el-table-column> + <el-table-column label="鍏抽敭瀛�" width="110px" align="center" prop="keyNames"></el-table-column> + <el-table-column label="鏄惁涓婃灦" width="94px" align="center" prop="isOnSale"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isOnSale" /> </template> </el-table-column> <!-- <el-table-column @@ -204,70 +91,22 @@ align="center" prop="detail" ></el-table-column> --> - <el-table-column - label="鎺掑簭" - width="50px" - align="center" - prop="sort" - ></el-table-column> - <el-table-column - label="灏忕▼搴忎环鏍�" - width="90px" - align="center" - prop="retailPrice" - ></el-table-column> - <el-table-column - label="鍘熶环" - width="90px" - align="center" - prop="counterPrice" - ></el-table-column> - <el-table-column - label="宸插敭鏁伴噺" - width="90px" - align="center" - prop="saleNum" - ></el-table-column> - <el-table-column - label="鐘舵��" - align="center" - prop="pacStatus" - fixed="right" - width="100px" - > + <el-table-column label="鎺掑簭" width="50px" align="center" prop="sort"></el-table-column> + <el-table-column label="灏忕▼搴忎环鏍�" width="90px" align="center" prop="retailPrice"></el-table-column> + <el-table-column label="鍘熶环" width="90px" align="center" prop="counterPrice"></el-table-column> + <el-table-column label="宸插敭鏁伴噺" width="90px" align="center" prop="saleNum"></el-table-column> + <el-table-column label="鐘舵��" align="center" prop="pacStatus" fixed="right" width="100px"> <template slot-scope="scope"> - <el-switch - v-model="scope.row.pacStatus" - active-value="0" - inactive-value="1" - @change="handleStatusChange(scope.row)" - ></el-switch> + <el-switch v-model="scope.row.pacStatus" active-value="0" inactive-value="1" + @change="handleStatusChange(scope.row)"></el-switch> </template> </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - width="80px" - fixed="right" - class-name="small-padding fixed-width" - > + <el-table-column label="鎿嶄綔" align="center" width="80px" fixed="right" class-name="small-padding fixed-width"> <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['system:package:edit']" - title="淇敼" - ></el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['system:package:remove']" - title="鍒犻櫎" - ></el-button> + <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" + v-hasPermi="['system:package:edit']" title="淇敼"></el-button> + <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" + v-hasPermi="['system:package:remove']" title="鍒犻櫎"></el-button> <!-- <el-button size="mini" type="text" icon="el-icon-circle-check" @click="handleSeach(scope.row)" v-hasPermi="['system:package:Seach']" title="濂楅璇︽儏"></el-button> --> </template> @@ -276,101 +115,51 @@ <div class="pag"> <div class="pag1"> - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> + <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" @pagination="getList" /> </div> </div> </template> <!-- 淇敼浣撴濂楅瀵硅瘽妗� --> - <el-dialog - :title="title" - :visible.sync="open" - width="1000px" - append-to-body - > - <el-form - ref="form" - :model="form" - :rules="rules" - label-width="100px" - :inline="true" - > + <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true"> <!-- <div class="dialo"> <div class="dialo1"> --> <el-form-item label="濂楅鍚嶇О" prop="pacName"> - <el-input - v-model="form.pacName" - placeholder="璇疯緭鍏ュ椁愬悕绉�" - style="width: 200px" - /> + <span slot="label" style="display:inline-block;border-bottom: 2px solid blue;" @click="handlePackage"> + 濂楅鍚嶇О + </span> + <el-input v-model="form.pacName" placeholder="璇疯緭鍏ュ椁愬悕绉�" style="width: 200px" /> </el-form-item> <el-form-item label="濂楅鐘舵��" prop="pacStatus"> <!-- <el-radio-group v-model="form.pacStatus"> <el-radio :label="0">鍚敤</el-radio> <el-radio :label="1">鍋滅敤</el-radio> </el-radio-group> --> - <el-select - v-model="form.pacStatus" - placeholder="璇烽�夋嫨鐘舵��" - style="width: 200px" - filterable - clearable - > - <el-option - v-for="dict in dict.type.sys_normal_disable" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> + <el-select v-model="form.pacStatus" placeholder="璇烽�夋嫨鐘舵��" style="width: 200px" filterable clearable> + <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> </el-select> </el-form-item> - <el-form-item label="鍟嗗搧绫荤洰" prop="categoryId"> + <el-form-item label="濂楅绫荤洰" prop="categoryId"> <!-- <el-input v-model="form.createId" placeholder="璇疯緭鍏ュ晢鍝佺被鐩�" style="width: 200px" /> --> - <el-select - v-model="form.categoryId" - placeholder="璇烽�夋嫨鍟嗗搧绫荤洰" - style="width: 200px" - @change="shangpin" - filterable - clearable - > - <el-option - v-for="item in categoryList" - :key="item.id" - :label="item.name" - :value="item.id" - ></el-option> + <el-select v-model="form.categoryId" placeholder="璇烽�夋嫨濂楅绫荤洰" style="width: 200px" @change="shangpin" filterable + clearable> + <el-option v-for="item in categoryList" :key="item.id" :label="item.name" :value="item.id"></el-option> </el-select> </el-form-item> <el-form-item label="鍏抽敭瀛�" prop="keywords"> - <el-select - multiple - v-model="form.keywords" - placeholder="璇烽�夋嫨鍏抽敭瀛�" - style="width: 200px" - @change="sel" - filterable - clearable - > - <el-option - v-for="item in keywordList" - :key="item.id" - :label="item.keyword" - :value="item.id" - ></el-option> + <el-select multiple v-model="form.keywords" placeholder="璇烽�夋嫨鍏抽敭瀛�" style="width: 200px" @change="sel" filterable + clearable> + <el-option v-for="item in keywordList" :key="item.id" :label="item.keyword" :value="item.id"></el-option> </el-select> </el-form-item> <el-form-item label="鏄惁涓婃灦" prop="isOnSale"> @@ -378,51 +167,24 @@ <el-radio :label="0">鍚敤</el-radio> <el-radio :label="1">鍋滅敤</el-radio> </el-radio-group> --> - <el-select - v-model="form.isOnSale" - placeholder="璇烽�夋嫨鏄惁涓婃灦" - style="width: 200px" - filterable - clearable - > - <el-option - v-for="dict in dict.type.sys_yes_no" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> + <el-select v-model="form.isOnSale" placeholder="璇烽�夋嫨鏄惁涓婃灦" style="width: 200px" filterable clearable> + <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> - + <el-form-item label="鎺掑簭" prop="sort"> - <el-input - v-model="form.sort" - placeholder="璇疯緭鍏ユ帓搴�" - style="width: 200px" - /> + <el-input v-model="form.sort" placeholder="璇疯緭鍏ユ帓搴�" style="width: 200px" /> </el-form-item> <el-form-item label="灏忕▼搴忎环鏍�" prop="retailPrice"> - <el-input - v-model="form.retailPrice" - placeholder="璇疯緭鍏ュ皬绋嬪簭浠锋牸" - style="width: 200px" - /> + <el-input v-model="form.retailPrice" placeholder="璇疯緭鍏ュ皬绋嬪簭浠锋牸" style="width: 200px" /> </el-form-item> <el-form-item label="鍘熶环" prop="counterPrice"> - <el-input - v-model="form.counterPrice" - placeholder="璇疯緭鍏ュ師浠�" - style="width: 200px" - /> + <el-input v-model="form.counterPrice" placeholder="璇疯緭鍏ュ師浠�" style="width: 200px" /> </el-form-item> <el-form-item label="濂楅鎻忚堪" prop="pacRemark"> - <el-input - type="textarea" - v-model="form.pacRemark" - placeholder="璇疯緭鍏ュ椁愭弿杩�" - style="width: 820px" - rows="2" - ></el-input> + <el-input type="textarea" v-model="form.pacRemark" placeholder="璇疯緭鍏ュ椁愭弿杩�" style="width: 820px" + rows="2"></el-input> </el-form-item> <el-form-item label="璇︾粏浠嬬粛" prop="detail"> <!-- <el-input @@ -441,97 +203,32 @@ <!-- </div> --> </el-form> - <el-button - type="primary" - plain - size="mini" - icon="el-icon-plus" - @click="addmembers()" - >鏂板</el-button - > - <el-table - v-loading="loading" - :data="form.tjProjectList" - @selection-change="handleSelectionChange" - border - max-height="275" - style="margin: 10px 0" - > + <el-button type="primary" plain size="mini" icon="el-icon-plus" @click="addmembers()">鏂板</el-button> + <el-table v-loading="loading" :data="form.tjProjectList" @selection-change="handleSelectionChange" border + max-height="275" style="margin: 10px 0"> <el-table-column label="搴忓彿" align="center" type="index" /> - <el-table-column - label="椤圭洰鍚嶇О" - align="center" - prop="proName" - width="180px" - > + <el-table-column label="椤圭洰鍚嶇О" align="center" prop="proName" width="180px"> <template slot-scope="scope"> - <el-select - filterable - v-model="scope.row.proName" - placeholder="璇烽�夋嫨椤圭洰鍚嶇О" - @change="getSelectValue" - > - <el-option - v-for="(item, index) in allList" - :key="index" - :label="item.proName" - :value="item.proName" - > + <el-select filterable v-model="scope.row.proName" placeholder="璇烽�夋嫨椤圭洰鍚嶇О" @change="getSelectValue"> + <el-option v-for="(item, index) in allList" :key="index" :label="item.proName" :value="item.proName"> </el-option> </el-select> </template> </el-table-column> - <el-table-column - label="椤圭洰鏄庣粏" - align="center" - prop="allSonProName" - width="400px" - :show-overflow-tooltip="true" - > + <el-table-column label="椤圭洰鏄庣粏" align="center" prop="allSonProName" width="400px" :show-overflow-tooltip="true"> </el-table-column> - <el-table-column - label="鍘熶环(鍏�)" - align="center" - prop="proPrice" - width="80px" - /> - <el-table-column - label="鐜颁环(鍏�)" - align="center" - prop="priceNow" - width="80px" - > + <el-table-column label="鍘熶环(鍏�)" align="center" prop="proPrice" width="80px" /> + <el-table-column label="鐜颁环(鍏�)" align="center" prop="priceNow" width="80px"> <template slot-scope="scope"> - <el-input - v-model="scope.row.priceNow" - autocomplete="off" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> + <el-input v-model="scope.row.priceNow" autocomplete="off" placeholder="璇疯緭鍏ュ唴瀹�"></el-input> </template> </el-table-column> - <el-table-column - label="鎿嶄綔" - fixed="right" - align="center" - class-name="small-padding fixed-width" - > + <el-table-column label="鎿嶄綔" fixed="right" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-circle-plus-outline" - @click="addmembers(scope.row)" - v-hasPermi="['system:package:edit']" - title="鏂板琛�" - ></el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click.native.prevent="Delete(scope.$index)" - v-hasPermi="['hosp:consumables:remove']" - title="鍒犻櫎" - ></el-button> + <el-button size="mini" type="text" icon="el-icon-circle-plus-outline" @click="addmembers(scope.row)" + v-hasPermi="['system:package:edit']" title="鏂板琛�"></el-button> + <el-button size="mini" type="text" icon="el-icon-delete" @click.native.prevent="Delete(scope.$index)" + v-hasPermi="['hosp:consumables:remove']" title="鍒犻櫎"></el-button> </template> </el-table-column> </el-table> @@ -558,10 +255,12 @@ </div> </template> </el-dialog> --> + <Packages ref="aaa" @add="handleChanges" /> </div> </template> <script> +import Packages from "@/components/Packages"; import { listCategory } from "@/api/mall/category"; import { listKeyword } from "@/api/mall/keyword"; import { @@ -579,21 +278,22 @@ export default { name: "Package", dicts: ["sys_normal_disable", "sys_yes_no"], + components: { Packages }, data() { let checkPhoneNum = (rule, value, callback) => { - console.log( value) + console.log(value) let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); if (value == "" && value == undefined && !value) { return callback(''); - } else if(value != undefined && value != ""){ + } else if (value != undefined && value != "") { return callback(); - }else if (!patter.test(value)) { + } else if (!patter.test(value)) { return callback(''); } }; return { - categoryList:[], - keys:"", + categoryList: [], + keys: "", keywordList: [], // 澶氶�夋 priceNow: "", @@ -640,31 +340,31 @@ // 琛ㄥ崟鏍¢獙 rules: { deleted: [ - { required: true, validator: checkPhoneNum, trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, ], pacName: [ - { required: true, validator: checkPhoneNum, trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, ], pacStatus: [ - { required: true, validator: checkPhoneNum, trigger: "change" }, + { required: true, validator: checkPhoneNum, trigger: "change" }, ], - categoryId: [ - { required: true, validator: checkPhoneNum, trigger: "change" }, - ], + // categoryId: [ + // { required: true, validator: checkPhoneNum, trigger: "change" }, + // ], keywords: [ - { required: true, validator: checkPhoneNum, trigger: "change" }, + { required: true, validator: checkPhoneNum, trigger: "change" }, ], isOnSale: [ - { required: true, validator: checkPhoneNum, trigger: "change" }, + { required: true, validator: checkPhoneNum, trigger: "change" }, ], sort: [ - { required: true, validator: checkPhoneNum, trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, ], retailPrice: [ - { required: true, validator: checkPhoneNum, trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, ], counterPrice: [ - { required: true, validator: checkPhoneNum, trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, ], }, }; @@ -711,7 +411,7 @@ this.categoryList = response.rows; }); }, - shangpin(vals){ + shangpin(vals) { console.log(vals); }, // 鍙栨秷鎸夐挳 @@ -743,6 +443,22 @@ handleQuery() { this.queryParams.pageNum = 1; this.getList(); + }, + + + handlePackage() { + this.$refs.aaa.open = true; + this.$refs.aaa.getList(); + this.$refs.aaa.title = "濂楅鍚嶇О"; + }, + handleChanges(param1) { + this.form.pacName = param1[0].pacName + this.form.hisPacId = param1[0].pacId + if (param1[0].price) { + this.form.counterPrice = param1[0].price + this.form.retailPrice = param1[0].price + } + }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { @@ -789,10 +505,10 @@ // 鏄惁鍚敤 handleStatusChange(row) { - + let data = { - pacId:row.pacId, - pacStatus:row.pacStatus, + pacId: row.pacId, + pacStatus: row.pacStatus, } let text = row.pacStatus === "0" ? "鍚敤" : "鍋滅敤"; this.$confirm("纭瑕�" + text + row.pacName + "濂楅鍚楋紵") @@ -939,7 +655,7 @@ this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) - .catch(() => {}); + .catch(() => { }); }, /** 鍒嗛厤濂楅鍐呴」鐩搷浣� */ @@ -1039,14 +755,17 @@ display: flex; justify-content: center; } + .pag1 { width: 30%; } + .dialog-footer { position: absolute; left: 40%; bottom: 2%; } + /* .dialo{ display: flex; flex-direction: row; -- Gitblit v1.8.0