From 6bdb0ee05d8661eb919c715a8c2f492c720dec30 Mon Sep 17 00:00:00 2001 From: anthonywj <yewenjie20@vip.qq.com> Date: Tue, 30 Jul 2024 18:36:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=88=86=E6=94=AF=E5=A4=87?= =?UTF-8?q?=E4=BB=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/inout/DialogSelectInvProduct.vue | 170 ++++++++++++++++++--- 1 file changed, 147 insertions(+), 23 deletions(-) diff --git a/src/views/inout/DialogSelectInvProduct.vue b/src/views/inout/DialogSelectInvProduct.vue index 8c0be52c..d777b63b 100644 --- a/src/views/inout/DialogSelectInvProduct.vue +++ b/src/views/inout/DialogSelectInvProduct.vue @@ -68,28 +68,123 @@ <el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row="false" border @current-change="handleChange" ref="multipleTable"> - <el-table-column label width="45" v-if="type==3 "> - <template slot-scope="scope"> - <el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio> - </template> - </el-table-column> - <el-table-column type="selection" width="55" v-if="type!=3"></el-table-column> - <el-table-column label="序号" type="index" width="55"></el-table-column> - <el-table-column label="DI/物资编码" prop="nameCode" width="120" show-overflow-tooltip></el-table-column> - <el-table-column label="物资名称" prop="cpmctymc" width="160" show-overflow-tooltip></el-table-column> - <el-table-column label="规格型号" prop="ggxh" width="160"></el-table-column> - <el-table-column label="包装规格" prop="bzgg" width="100"></el-table-column> - <el-table-column label="计量单位" prop="measname" width="90"></el-table-column> - <el-table-column label="批次号" prop="batchNo" width="90"></el-table-column> - <el-table-column label="价格" prop="price"></el-table-column> - <el-table-column label="生产日期" prop="productionDate" width="90"></el-table-column> - <el-table-column label="失效日期" prop="expireDate" width="90"></el-table-column> - <el-table-column label="入库数量" prop="inCount" width="90"></el-table-column> - <el-table-column label="出库数量" prop="outCount" width="90"></el-table-column> - <el-table-column label="结余数量" prop="reCount" width="90"></el-table-column> - <el-table-column label="生产企业" prop="ylqxzcrbarmc" width="180"></el-table-column> - <el-table-column label="注册/备案号" prop="zczbhhzbapzbh" width="180"></el-table-column> - <el-table-column label="供应商" prop="supName" width="180"></el-table-column> + <!-- <el-table-column label width="45" v-if="type==3 ">--> + <!-- <template slot-scope="scope">--> + <!-- <el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio>--> + <!-- </template>--> + <!-- </el-table-column>--> + <!-- <el-table-column type="selection" width="55" v-if="type!=3"></el-table-column>--> + <!-- <el-table-column label="序号" type="index" width="55"></el-table-column>--> + <!-- <el-table-column label="DI/物资编码" prop="nameCode" width="120" show-overflow-tooltip></el-table-column>--> + <!-- <el-table-column label="物资名称" prop="cpmctymc" width="160" show-overflow-tooltip></el-table-column>--> + <!-- <el-table-column label="规格型号" prop="ggxh" width="160"></el-table-column>--> + <!-- <el-table-column label="包装规格" prop="bzgg" width="100"></el-table-column>--> + <!-- <el-table-column label="计量单位" prop="measname" width="90"></el-table-column>--> + <!-- <el-table-column label="批次号" prop="batchNo" width="90"></el-table-column>--> + <!-- <el-table-column label="价格" prop="price"></el-table-column>--> + <!-- <el-table-column label="生产日期" prop="productionDate" width="90"></el-table-column>--> + <!-- <el-table-column label="失效日期" prop="expireDate" width="90"></el-table-column>--> + <!-- <el-table-column label="入库数量" prop="inCount" width="90"></el-table-column>--> + <!-- <el-table-column label="出库数量" prop="outCount" width="90"></el-table-column>--> + <!-- <el-table-column label="结余数量" prop="reCount" width="90"></el-table-column>--> + <!-- <el-table-column label="生产企业" prop="ylqxzcrbarmc" width="180"></el-table-column>--> + <!-- <el-table-column label="注册/备案号" prop="zczbhhzbapzbh" width="180"></el-table-column>--> + <!-- <el-table-column label="供应商" prop="supName" width="180"></el-table-column>--> + + <template v-for="(item, index) in tableHeader"> + <el-table-column + v-if="item.columnType == 'id' && executeEval(row,item.expression,true)" + type="index" :label="item.columnDesc"></el-table-column> + <el-table-column + v-if="item.columnType == 'selection'" + type="selection" + :width="item.width" + :selectable="(row,number) => executeFuc(row,'3',item.clickFuc)" + ></el-table-column> + + <el-table-column + v-if="item.columnType == 'radio' && executeEval(row,item.expression,true)" + :prop="item.columnName" + :label="item.columnDesc" + :sortable="item.sort" + :width="item.width" + :show-overflow-tooltip="item.tooltip" + :key="item.columnName" + > + <template slot-scope="scope"> + <el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio> + </template> + </el-table-column> + <el-table-column + v-if="item.columnType == 'laber' && executeEval(row,item.expression,true)" + :prop="item.columnName" + :label="item.columnDesc" + :sortable="item.sort" + :width="item.width" + :show-overflow-tooltip="item.tooltip" + :key="item.columnName" + > + <template slot-scope="scope"> + <span :style="{color: executeFuc(scope.row,'4',item.lableRuleObj[scope.row[item.columnName]])}">{{ + item.lableRuleObj[scope.row[item.columnName]] + }}</span> + </template> + </el-table-column> + <el-table-column + v-if="item.columnType == 'eltag' && executeEval(row,item.expression,true)" + :prop="item.columnName" + :label="item.columnDesc" + :sortable="item.sort" + :width="item.width" + :show-overflow-tooltip="item.tooltip" + :key="item.columnName" + > + <template slot-scope="scope"> + <el-tag + :type="executeFuc(scope.row,'4',item,item.lableRuleObj?item.lableRuleObj[scope.row[item.columnName]]:scope.row[item.columnName])"> + <span>{{ + item.lableRuleObj ? item.lableRuleObj[scope.row[item.columnName]] : scope.row[item.columnName] + }}</span> + </el-tag> + </template> + </el-table-column> + <el-table-column + v-if="item.columnType == 'button' && executeEval(row,item.expression,true)" + :prop="item.columnName" + :label="item.columnDesc" + :width="item.width" + :key="item.columnName" + fixed="right" + > + <template slot-scope="scope"> + <el-button v-for="(buttonItem, buttonIndex) in item.buttonRulObj" + :type="buttonItem.type" + :size="buttonItem.size" + :style="buttonItem.style" + :key="buttonItem" + v-if="executeEval(scope.row,buttonItem.hasPermi,true)" + :disabled="executeEval(scope.row,buttonItem.disabledFuc,false)" + @click.native.stop="executeFuc(scope.row,'1',buttonItem.clickFuc)" + >{{ buttonItem.name }} + </el-button> + </template> + </el-table-column> + <el-table-column + v-if="item.columnType == 'text' && executeEval(row,item.expression,true)" + :prop="item.columnName" + :label="item.columnDesc" + :sortable="item.sort" + :width="item.width" + :show-overflow-tooltip="item.tooltip" + :key="item.columnName" + > + <template slot-scope="scope"> + <span :style="{color: executeFuc(scope.row,'4',item,scope.row[item.columnName])}">{{ + scope.row[item.columnName] + }}</span> + </template> + </el-table-column> + </template> </el-table> </el-card> @@ -112,6 +207,7 @@ import {addBizProduct} from "@/api/inout/orderDetailCode"; import {getInvPreInProduct, getInvPreInProductStock} from "@/api/inventory/invPreInSearch"; import {getInvPreProduct, getInvPreProductStock} from "@/api/inventory/invPreProduct"; import {finProductSet} from "@/api/param/systemParamConfig"; +import {executeFuc, getHead} from "@/utils/customConfig"; export default { @@ -172,10 +268,29 @@ export default { currentRow: null, radioCheck: null, + + tableHeader: [], + queryList: [], + fromList: [], + }; }, components: {}, methods: { + + //界面配置---------------- + executeFuc(row, type, clickFuc, value) { + return executeFuc(this, row, type, clickFuc, value); + }, + executeEval(row, expression, defaultRet) { + if (expression) { + return eval(expression); + } + return defaultRet; + }, + + + onReset() { this.$router.push({ @@ -391,7 +506,16 @@ export default { created() { this.findBasicProductSet(); // 加载表格数据 - this.getList(); + + getHead("selectInvProduct", "1").then((re) => { + // 处理返回的数据 + this.tableObj = re.data; + this.tableHeader = re.data.tableList; + this.queryList = re.data.queryList; + this.fromList = re.data.fromList; + this.getList(); + }); + } , }