From fc188397419e76da8e97c0782599f757fb34bd30 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期四, 14 十二月 2023 16:13:26 +0800 Subject: [PATCH] 增加编码规范功能及新建供应商和采购页面增加编码 --- src/components/makepager/CommonFormTableView.vue | 206 ++++++++++++++++++--------------------------------- 1 files changed, 73 insertions(+), 133 deletions(-) diff --git a/src/components/makepager/CommonFormTableView.vue b/src/components/makepager/CommonFormTableView.vue index 130b958..aafa359 100644 --- a/src/components/makepager/CommonFormTableView.vue +++ b/src/components/makepager/CommonFormTableView.vue @@ -1,29 +1,18 @@ <template> <div class="page-view"> <el-form ref="form" :model="tableList" :show-message="false" label-position="right"> - <el-table - :data="tableList.tableData" - style="width: 100%" - :show-summary="showSummary.show" - :summary-method="getSummaries" - :span-method="arraySpanMethod" + <el-table + :data="tableList.tableData" + style="width: 100%" + :show-summary="showSummary.show" + :summary-method="getSummaries" + :span-method="arraySpanMethod" + @row-click="rowClick" > - <el-table-column - type="index" - v-if="tableList.tableColumn && tableList.tableColumn.length > 0" - label="缂栧彿" - width="50" - align="center" - ></el-table-column> - <el-table-column - v-for="(item, i) in tableList.tableColumn" - :key="i" - :prop="item.prop" - :label="item.label" - :width="item.width" - :min-width="item.min" - align="center" - > + <el-table-column type="index" v-if="tableList.tableColumn && tableList.tableColumn.length > 0" label="缂栧彿" + width="50" align="center"></el-table-column> + <el-table-column v-for="(item, i) in tableList.tableColumn" :key="i" :prop="item.prop" :label="item.label" + :width="item.width" :min-width="item.min" align="center"> <!-- 琛ㄥご鏍峰紡 --> <template slot="header"> <span v-if="item.isRequird" style="color: #f56c6c">*</span> @@ -32,121 +21,64 @@ <!-- column鏍峰紡 --> <template slot-scope="scope"> <!-- <template v-if="!detailEnter"> --> - <el-form-item - v-if="item.input" - label=" " - :prop="'tableData.' + scope.$index + '.' + item.prop" - :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]" - > - <el-input - :disabled="item.disabled" - v-model.trim="scope.row[item.prop]" - maxlength="50" - size="mini" - @change=" - (val) => { - commonInputChange(val, item.prop, scope.row) - } - " - ></el-input> + <el-form-item v-if="item.input" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop" + :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"> + <el-input :disabled="item.disabled" v-model.trim="scope.row[item.prop]" maxlength="50" size="mini" @change="(val) => { + commonInputChange(val, item.prop, scope.row) + } + "></el-input> </el-form-item> - <el-form-item v-else-if="item.productName" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop"> + <el-form-item v-else-if="item.productName" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop"> <div class="custom-name"> - <el-autocomplete - :disabled="item.disabled" - v-model="scope.row[item.prop]" - :fetch-suggestions="querySearchAsync" - value-key="name" - style="width: calc(100% - 70px)" - size="mini" - @select=" - (val) => { - handleSelectClient(val, item.prop, scope.row) - } - " - ></el-autocomplete> + <el-autocomplete :disabled="item.disabled" v-model="scope.row[item.prop]" + :fetch-suggestions="querySearchAsync" value-key="name" style="width: calc(100% - 70px)" size="mini" + @select="(val) => { + handleSelectClient(val, item.prop, scope.row) + } + "></el-autocomplete> <div v-if="!item.disabled" class="common-select-btn" @click="selClientClick(scope.row, item.prop, scope)"> - <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i> + <i class="el-icon-circle-plus-outline" title="閫夋嫨"></i> </div> <div v-if="!item.disabled" class="common-select-btn" @click="clearupClient(scope.row, scope)"> <i class="el-icon-remove-outline" title="娓呴櫎"></i> </div> - <div class="common-select-btn" v-if="scope.$index != 0||!item.disabled" @click="deleteClient(scope.row, scope)"> + <div class="common-select-btn" v-if="scope.$index != 0 || !item.disabled" + @click="deleteClient(scope.row, scope)"> <i class="el-icon-delete" title="鍒犻櫎"></i> </div> </div> </el-form-item> - <el-form-item - v-else-if="item.date" - label=" " - :prop="'tableData.' + scope.$index + '.' + item.prop" - :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]" - > + <el-form-item v-else-if="item.date" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop" + :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"> <!-- <el-input v-model.trim="scope.row[item.prop]" maxlength="50" size="mini"></el-input> --> <el-date-picker v-model="scope.row[item.prop]" type="date" size="mini" style="width: 110px"> </el-date-picker> </el-form-item> - <el-form-item - v-else-if="item.inputNumber" - label=" " - :prop="'tableData.' + scope.$index + '.' + item.prop" - :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]" - > - <el-input-number - :disabled="item.disabled" - v-model="scope.row[item.prop]" - placeholder="" - :min="0" - :controls="false" - size="mini" - style="width: 100%; margin-right: 5px" - @change=" - (val) => { + <el-form-item v-else-if="item.inputNumber" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop" + :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"> + <el-input-number :disabled="item.disabled" v-model="scope.row[item.prop]" placeholder="" :min="0" + :controls="false" size="mini" style="width: 100%; margin-right: 5px" @change="(val) => { + commonInputChange(val, item.prop, scope.row) + } + "></el-input-number> + </el-form-item> + <el-form-item v-else-if="item.inputFloat" label=" " :prop="'tableData.' + scope.$index + '.' + item.prop" + :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]"> + <!-- 閲囪喘绠$悊 --> + <template v-if="item.multiply"> + <el-input-number :disabled="item.disabled" + :value="scope.row[showSummary.multiply[0]] * scope.row[showSummary.multiply[1]]" placeholder="" :min="0" + :precision="2" :controls="false" size="mini" style="width: 100%; margin-right: 5px" @input="(val) => { commonInputChange(val, item.prop, scope.row) } - " - ></el-input-number> - </el-form-item> - <el-form-item - v-else-if="item.inputFloat" - label=" " - :prop="'tableData.' + scope.$index + '.' + item.prop" - :rules="[{ required: item.isRequird ? true : false, message: '杈撳叆涓嶈兘涓虹┖' }]" - > - <!-- 閲囪喘绠$悊 --> - <template v-if="item.multiply"> - <el-input-number - :disabled="item.disabled" - :value="scope.row[showSummary.multiply[0]] * scope.row[showSummary.multiply[1]]" - placeholder="" - :min="0" - :precision="2" - :controls="false" - size="mini" - style="width: 100%; margin-right: 5px" - @input=" - (val) => { - commonInputChange(val, item.prop, scope.row) - } - " - ></el-input-number> + "></el-input-number> </template> <template v-else> - <el-input-number - :disabled="item.disabled" - v-model="scope.row[item.prop]" - placeholder="" - :min="0" - :precision="2" - :controls="false" - size="mini" - style="width: 100%; margin-right: 5px" - @change=" - (val) => { - commonInputChange(val, item.prop, scope.row) - } - " - ></el-input-number> + <el-input-number :disabled="item.disabled" v-model="scope.row[item.prop]" placeholder="" :min="0" + :precision="2" :controls="false" size="mini" style="width: 100%; margin-right: 5px" @change="(val) => { + commonInputChange(val, item.prop, scope.row) + } + "></el-input-number> </template> </el-form-item> <span v-else>{{ scope.row[item.prop] }}</span> @@ -161,12 +93,8 @@ <el-button :disabled="tableList.disabled" size="small" type="primary" @click="empty">娓呯┖</el-button> </div> <!-- 浜у搧鍚嶇О --> - <SelectCommonDialog - v-if="editSelCommonConfig.editVisible" - :edit-common-config="editSelCommonConfig" - :sign="sign" - @selClient="selClient" - /> + <SelectCommonDialog v-if="editSelCommonConfig.editVisible" :edit-common-config="editSelCommonConfig" :sign="sign" + @selClient="selClient" /> </div> </template> @@ -189,8 +117,8 @@ type: Object, default: () => { return { - tableProductList:[], - disabled:false, + tableProductList: [], + disabled: false, tableData: [], // 鎺ュ彛杩斿洖鏁版嵁 tableColumn: [ // table琛ㄥ崟 @@ -229,7 +157,7 @@ infomation: {} }, productIndex: 0, - tableProductLists:[], + tableProductLists: [], } }, created() { @@ -243,6 +171,10 @@ }, }, methods: { + // 閫夋嫨琛� + rowClick(row){ + this.$emit("rowClick",row) + }, // 浜у搧鍚嶇О async getProductList() { let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc @@ -250,10 +182,10 @@ page: 1, pageSize: 100 }).then((res) => { - if (res.data.code === 200) { - if (res.data.data.list && res.data.data.list.length > 0) { - this.productList = res.data.data.list - this.tableProductLists = res.data.data.list + if (res.code === 200) { + if (res.data.list && res.data.list.length > 0) { + this.productList = res.data.list + this.tableProductLists = res.data.list } } }) @@ -371,7 +303,6 @@ } }, handleSelectClient(item, prop, row) { - // this.clientId = item.id this.tableList.tableData.map((ite) => { if (ite.name === item.name) { ite.ID = row.ID @@ -387,6 +318,7 @@ if (this.detailEnter) { this.setEditName(item, row.ID) } + this.$emit("handleProduct",item) }, setEditName(item, ID) { let selRow = { @@ -489,10 +421,13 @@ <style lang="scss" scoped> .page-view { min-width: 100px; + .el-form-item { margin-bottom: 0; + .custom-name { display: flex; + .common-select-btn { margin-left: 5px; font-size: 18px; @@ -501,22 +436,27 @@ } } } + ::v-deep { .el-form-item__label { display: none; } + .el-table__footer-wrapper tbody td.el-table__cell { background-color: #fff; // text-align: right; font-weight: bold; } + .el-input--suffix .el-input__inner { padding-right: 0px; } + .el-table .cell, - .el-table th.el-table__cell > .cell { + .el-table th.el-table__cell>.cell { padding: 0 5px; } + .el-input__inner { text-align: left; } -- Gitblit v1.8.0