| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880 |
- <template>
- <el-form ref="form" :model="form" :rules="rules">
- <ele-pro-table
- ref="table"
- :needPage="false"
- :columns="columns"
- @columns-change="handleColumnChange"
- :cache-key="cacheKeyUrl"
- :datasource="form.datasource"
- :selection.sync="selection"
- class="time-form"
- :maxHeight="350"
- >
- <!-- 表头工具栏 -->
- <template v-slot:toolbar>
- <div class="headbox" v-if="!contractId && isShowAdd">
- <div>
- <el-button
- size="small"
- type="primary"
- icon="el-icon-plus"
- class="ele-btn-icon"
- @click="handlAdd('', -1)"
- >
- 新增
- </el-button>
- <warehouseAll
- @success="warehouseAllChange"
- :disabled="!selection.length"
- ></warehouseAll>
- </div>
- </div>
- </template>
- <template v-slot:technicalDrawings="{ row, $index }">
- <el-form-item
- style="margin-bottom: 20px"
- :prop="'datasource.' + $index + '.technicalDrawings'"
- >
- <fileMain v-model="row.technicalDrawings" type="view"></fileMain>
- </el-form-item>
- </template>
- <template v-slot:industryArtFiles="{ row, $index }">
- <el-form-item
- style="margin-bottom: 20px"
- :prop="'datasource.' + $index + '.industryArtFiles'"
- >
- <fileMain v-model="row.industryArtFiles" type="view"></fileMain>
- </el-form-item>
- </template>
- <template v-slot:otherFiles="{ row, $index }">
- <el-form-item
- style="margin-bottom: 20px"
- :prop="'datasource.' + $index + '.otherFiles'"
- >
- <fileMain v-model="row.otherFiles" type="view"></fileMain>
- </el-form-item>
- </template>
- <template v-slot:customerReqFiles="{ row, $index }">
- <el-form-item
- style="margin-bottom: 20px"
- :prop="'datasource.' + $index + '.customerReqFiles'"
- >
- <fileMain v-model="row.customerReqFiles" type="view"></fileMain>
- </el-form-item>
- </template>
- <template v-slot:remark="{ row, $index }">
- <el-form-item
- style="margin-bottom: 20px"
- :prop="'datasource.' + $index + '.remark'"
- >
- <el-input
- clearable
- v-model="row.remark"
- type="textarea"
- placeholder="请输入"
- />
- </el-form-item>
- </template>
- <template v-slot:totalCount="scope">
- <el-form-item
- style="margin-bottom: 20px"
- :prop="'datasource.' + scope.$index + '.totalCount'"
- :rules="[
- { required: true, message: '请输入本次收货数量', trigger: 'blur' }
- ]"
- >
- <el-input
- v-model="scope.row.totalCount"
- type="number"
- @input="(val) => changeNum(val, scope.row, scope.$index)"
- ></el-input>
- </el-form-item>
- </template>
- <template v-slot:batchNo="scope">
- <el-form-item
- style="margin-bottom: 20px"
- :prop="'datasource.' + scope.$index + '.batchNo'"
- :rules="[
- {
- required: isBatchNo == 1 ? true : false,
- message: '请输入批次号',
- trigger: 'blur'
- }
- ]"
- >
- <el-input v-model="scope.row.batchNo" type="number"></el-input>
- </el-form-item>
- </template>
- <template v-slot:singlePrice="scope">
- <el-form-item
- style="margin-bottom: 20px"
- :prop="'datasource.' + scope.$index + '.singlePrice'"
- :rules="[{ required: true, message: '请输入单价', trigger: 'blur' }]"
- >
- <el-input
- v-model="scope.row.singlePrice"
- type="number"
- @input="(val) => changeNum(val, scope.row, scope.$index)"
- ></el-input>
- </el-form-item>
- </template>
- <template v-slot:customerMark="scope">
- <el-form-item
- style="margin-bottom: 20px"
- :prop="'datasource.' + scope.$index + '.customerMark'"
- >
- <el-input v-model="scope.row.customerMark"></el-input>
- </el-form-item>
- </template>
- <template v-slot:warehouseId="scope">
- <el-form-item
- style="margin-bottom: 20px"
- :prop="'datasource.' + scope.$index + '.warehouseId'"
- :rules="[{ required: true, message: '请选择仓库', trigger: 'blur' }]"
- >
- <el-select v-model="scope.row.warehouseId" placeholder="请选择">
- <el-option
- v-for="item in warehouseList"
- :key="item.id"
- :label="item.name"
- :value="item.id"
- @click.native="warehouseChange(scope.$index, scope.row, item)"
- >
- </el-option>
- </el-select>
- </el-form-item>
- </template>
- <template v-slot:produceDeliveryDeadline="scope">
- <el-form-item
- :prop="'datasource.' + scope.$index + '.produceDeliveryDeadline'"
- >
- <el-date-picker
- style="width: 140px"
- v-model="scope.row.produceDeliveryDeadline"
- type="date"
- placeholder="选择日期"
- value-format="yyyy-MM-dd"
- >
- </el-date-picker>
- </el-form-item>
- </template>
- <template v-slot:customerExpectDeliveryDeadline="scope">
- <el-form-item
- :prop="
- 'datasource.' + scope.$index + '.customerExpectDeliveryDeadline'
- "
- >
- <el-date-picker
- style="width: 140px"
- v-model="scope.row.customerExpectDeliveryDeadline"
- type="date"
- placeholder="选择日期"
- value-format="yyyy-MM-dd"
- >
- </el-date-picker>
- </el-form-item>
- </template>
- <template v-slot:modelKey="scope">
- <el-form-item :prop="'datasource.' + scope.$index + '.' + 'modelKey'">
- <DictSelection
- dictName="物品机型"
- clearable
- v-model="scope.row.modelKey"
- :isOne="scope.$index === 0"
- filterable
- allow-create
- default-first-option
- multiple
- >
- </DictSelection>
- </el-form-item>
- </template>
- <template v-slot:colorKey="scope">
- <el-form-item :prop="'datasource.' + scope.$index + '.' + 'colorKey'">
- <DictSelection
- dictName="物品颜色"
- clearable
- v-model="scope.row.colorKey"
- :isOne="scope.$index === 0"
- multiple
- filterable
- allow-create
- default-first-option
- >
- </DictSelection>
- </el-form-item>
- </template>
- <template v-slot:warehouseNum="scope">
- <el-form-item style="margin-bottom: 20px">
- {{ scope.row.warehouseNum }}
- </el-form-item>
- </template>
- <template v-slot:headerTotalCount="{ column }">
- <span class="is-required">{{ column.label }}</span>
- </template>
- <template v-slot:headerWarehouseId="{ column }">
- <span class="is-required">{{ column.label }}</span>
- </template>
- <template v-slot:isRequired="{ column }">
- <span :class="isBatchNo == 1 ? 'is-required' : ''">{{
- column.label
- }}</span>
- </template>
- <!-- 操作列 -->
- <template v-slot:action="scope">
- <el-popconfirm
- class="ele-action"
- title="确定要删除吗?"
- @confirm="remove(scope.$index)"
- >
- <template v-slot:reference>
- <el-link type="danger" :underline="false" icon="el-icon-delete">
- 删除
- </el-link>
- </template>
- </el-popconfirm>
- </template>
- </ele-pro-table>
- <product-list
- ref="productListRef"
- classType="1"
- @changeParent="changeParent"
- ></product-list>
- </el-form>
- </template>
- <script>
- import { numberReg } from 'ele-admin';
- import dictMixins from '@/mixins/dictMixins';
- import productList from '@/BIZComponents/product-list.vue';
- import { getWarehouseList } from '@/api/saleManage/saleorder';
- import warehouseAll from '@/BIZComponents/warehouseAll.vue';
- import tabMixins from '@/mixins/tableColumnsMixin';
- import { getCode } from '@/api/login/index';
- import { parameterGetByCode } from '@/api/main/index.js';
- export default {
- mixins: [dictMixins, tabMixins],
- props: {
- orderId: String,
- isShowAdd: {
- type: Boolean,
- default: true
- },
- pricingWay: [Number, String],
- customerMark: ''
- },
- components: {
- warehouseAll,
- productList
- },
- data() {
- const defaultForm = {
- key: null,
- endTime: '',
- isFirst: 0,
- name: '',
- startTime: '',
- workHour: '',
- technicalDrawings: []
- };
- return {
- discountTotalPrice: 0.0,
- allPrice: 0.0,
- numberReg,
- defaultForm,
- cacheKeyUrl: 'eos-saleManage-entrustedReceive-inventoryTable',
- warehouseList: [],
- selection: [],
- form: {
- datasource: []
- },
- rules: {},
- columns: [
- {
- width: 45,
- type: 'index',
- columnKey: 'index',
- align: 'center',
- fixed: 'left'
- },
- {
- label: '选择',
- width: 45,
- type: 'selection',
- columnKey: 'selection',
- align: 'center',
- fixed: 'left'
- },
- {
- minWidth: 200,
- prop: 'productName',
- label: '名称',
- slot: 'productName',
- align: 'center'
- },
- {
- minWidth: 120,
- prop: 'productCode',
- label: '编码',
- slot: 'productCode',
- align: 'center'
- },
- // {
- // minWidth: 150,
- // prop: 'productCategoryName',
- // label: '类型',
- // slot: 'productCategoryName',
- // align: 'center'
- // },
- {
- prop: 'batchNo',
- label: '批次号',
- slot: 'batchNo',
- align: 'center',
- headerSlot: 'isRequired',
- showOverflowTooltip: true,
- minWidth: 150
- },
- {
- minWidth: 100,
- prop: 'productBrand',
- label: '牌号',
- slot: 'productBrand',
- align: 'center'
- },
- {
- minWidth: 120,
- prop: 'modelType',
- label: '型号',
- slot: 'modelType',
- align: 'center'
- },
- {
- minWidth: 120,
- prop: 'specification',
- label: '规格',
- slot: 'specification',
- align: 'center'
- },
- {
- width: 160,
- prop: 'modelKey',
- label: '机型',
- slot: 'modelKey',
- align: 'center'
- },
- {
- width: 160,
- prop: 'colorKey',
- label: '颜色',
- slot: 'colorKey',
- align: 'center'
- },
- {
- minWidth: 150,
- prop: 'customerMark',
- label: '客户代号',
- slot: 'customerMark',
- align: 'center'
- },
- {
- minWidth: 200,
- prop: 'warehouseId',
- label: '仓库名称',
- slot: 'warehouseId',
- headerSlot: 'headerWarehouseId',
- align: 'center'
- },
- // {
- // width: 110,
- // prop: 'orderTotalCount',
- // label: '订单总数量',
- // slot: 'orderTotalCount',
- // align: 'center'
- // },
- {
- width: 150,
- prop: 'totalCount',
- label: '本次收货数量',
- slot: 'totalCount',
- headerSlot: 'headerTotalCount',
- align: 'center'
- },
- // {
- // width: 100,
- // prop: 'receiveTotalCount',
- // label: '已收货总数',
- // slot: 'receiveTotalCount',
- // align: 'center'
- // },
- {
- minWidth: 100,
- prop: 'measuringUnit',
- label: '计量单位',
- slot: 'measuringUnit',
- align: 'center'
- },
- {
- width: 120,
- prop: 'singleWeight',
- label: '单重',
- slot: 'singleWeight',
- align: 'center'
- },
- {
- width: 100,
- prop: 'receiveTotalWeight',
- label: '收货总重',
- slot: 'receiveTotalWeight',
- align: 'center'
- },
- {
- width: 100,
- prop: 'weightUnit',
- label: '重量单位',
- slot: 'weightUnit',
- align: 'center'
- },
- {
- width: 150,
- prop: 'singlePrice',
- label: '单价',
- headerSlot: 'headerTotalCount',
- slot: 'singlePrice',
- align: 'center'
- },
- {
- width: 100,
- prop: 'taxRate',
- label: '税率',
- formatter: (_row, _column, cellValue) => {
- return _row.taxRate ? _row.taxRate + '%' : '';
- },
- align: 'center'
- },
- {
- width: 100,
- prop: 'discountSinglePrice',
- label: '折让单价',
- slot: 'discountSinglePrice',
- align: 'center',
- formatter: (_row, _column, cellValue) => {
- return _row.discountSinglePrice
- ? Number(_row.discountSinglePrice).toFixed(2)
- : '';
- }
- },
- {
- width: 80,
- prop: 'totalPrice',
- label: '合计',
- slot: 'totalPrice',
- align: 'center'
- },
- {
- width: 100,
- prop: 'discountTotalPrice',
- label: '折让合计',
- slot: 'discountTotalPrice',
- align: 'center',
- formatter: (_row, _column, cellValue) => {
- return _row.discountTotalPrice
- ? Number(_row.discountTotalPrice).toFixed(2)
- : '';
- }
- },
- {
- minWidth: 170,
- prop: 'customerExpectDeliveryDeadline',
- label: '客户期望交期',
- slot: 'customerExpectDeliveryDeadline',
- headerSlot: 'headerCustomerExpectDeliveryDeadline',
- align: 'center'
- },
- {
- minWidth: 170,
- prop: 'produceDeliveryDeadline',
- label: '生产交付交期',
- slot: 'produceDeliveryDeadline',
- align: 'center'
- },
- {
- width: 100,
- prop: 'guaranteePeriod',
- label: '有效期',
- slot: 'guaranteePeriod',
- formatter: (_row, _column, cellValue) => {
- return (
- _row.guaranteePeriod &&
- (_row.guaranteePeriod || '') + _row.guaranteePeriodUnitName
- );
- },
- align: 'center'
- },
- {
- minWidth: 120,
- prop: 'guaranteePeriodDeadline',
- label: '有效期截止日期',
- align: 'center'
- },
- {
- minWidth: 200,
- prop: 'customerReqFiles',
- label: '客户需求',
- slot: 'customerReqFiles',
- align: 'center'
- },
- {
- width: 130,
- prop: 'technicalAnswerName',
- label: '技术答疑人',
- slot: 'technicalAnswerName',
- align: 'center'
- },
- {
- width: 220,
- prop: 'technicalParams',
- label: '技术参数',
- slot: 'technicalParams',
- align: 'center'
- },
- {
- width: 240,
- prop: 'technicalDrawings',
- label: '技术图纸',
- slot: 'technicalDrawings',
- align: 'center'
- },
- {
- width: 240,
- prop: 'industryArtFiles',
- label: '工艺附件',
- slot: 'industryArtFiles',
- align: 'center'
- },
- {
- width: 240,
- prop: 'otherFiles',
- label: '其他附件',
- slot: 'otherFiles',
- align: 'center'
- },
- {
- width: 220,
- prop: 'remark',
- label: '备注',
- slot: 'remark',
- align: 'center'
- },
- {
- columnKey: 'action',
- label: '操作',
- width: 120,
- align: 'center',
- resizable: false,
- slot: 'action',
- fixed: 'right',
- showOverflowTooltip: true
- }
- ],
- isBatchNo: 0
- };
- },
- created() {
- getWarehouseList().then((res) => {
- this.warehouseList = res;
- });
- //批次号是否必填//0否 1是
- parameterGetByCode({
- code: 'eom_saleOrder_entrusted_batchNo'
- }).then((res) => {
- this.isBatchNo = res.value;
- });
- },
- computed: {
- canHandl() {
- return this.form.datasource.length;
- },
- contractId() {
- return this.$store.state.order.contractId;
- }
- },
- methods: {
- async warehouseChange(index, row) {
- let data = null;
- if (row.warehouseId) {
- data = this.warehouseList.find((item) => item.id == row.warehouseId);
- } else {
- data = this.warehouseList.find(
- (item) => item.inventoryType == row.categoryRootLevelId
- );
- }
- if (data) {
- this.$set(this.form.datasource[index], 'warehouseName', data.name);
- this.$set(this.form.datasource[index], 'warehouseCode', data.code);
- this.$set(this.form.datasource[index], 'warehouseId', data.id);
- }
- },
- warehouseAllChange(data) {
- let keyS = this.selection.map((item) => item.key - 1);
- keyS.forEach((key) => {
- this.$set(this.form.datasource[key], 'warehouseName', data.name);
- this.$set(this.form.datasource[key], 'warehouseCode', data.code);
- this.$set(this.form.datasource[key], 'warehouseId', data.id);
- });
- },
- //修改数量更新合计
- changeNum(val, row, index) {
- this.$set(
- this.form.datasource[index],
- 'receiveTotalWeight',
- val ? val * row.singleWeight : ''
- );
- this.$set(
- this.form.datasource[index],
- 'totalPrice',
- this.getTotalPrice(row).toFixed(2)
- );
- this.$set(this.form.datasource[index], 'discountSinglePrice', val);
- this.$set(
- this.form.datasource[index],
- 'discountTotalPrice',
- this.getDiscountTotalPrice(row).toFixed(2)
- );
- this.$refs.table.reload();
- },
- getTotalPrice(row) {
- let num = 0;
- if (row.singlePrice && row.totalCount) {
- num = Number(row.singlePrice) * Number(row.totalCount);
- }
- return num;
- },
- getDiscountTotalPrice(row) {
- let num = 0;
- if (row.discountSinglePrice && row.totalCount) {
- num = Number(row.discountSinglePrice) * Number(row.totalCount);
- }
- return num;
- },
- validateTotalCount(row) {
- return (rule, value, callback) => {
- callback();
- if (isNaN(value) || Number(value) <= 0) {
- callback(new Error('请输入大于0的数字'));
- } else if (
- Number(value) + Number(row.receiveTotalCount) >
- row.orderTotalCount
- ) {
- callback(new Error('输入的数字不能大于最大发货值'));
- } else {
- callback();
- }
- };
- },
- // 返回列表数据
- getTableValue() {
- let comitDatasource = this.form.datasource;
- if (comitDatasource.length === 0) return [];
- comitDatasource.forEach(async (v) => {
- v.totalCount = Number(v.totalCount);
- if (v.modelKey) {
- v.modelKey = v.modelKey.toString();
- }
- if (v.colorKey) {
- v.colorKey = v.colorKey.toString();
- }
- // item['pricingWay'] = item.pricingWay || this.pricingWay;
- v.technicalDrawings = Array.isArray(v.technicalDrawings)
- ? v.technicalDrawings
- : [];
- v.customerReqFiles = Array.isArray(v.customerReqFiles)
- ? v.customerReqFiles
- : [];
- v.industryArtFiles = v.industryArtFiles || [];
- v.otherFiles = v.otherFiles || [];
- // v.ownerId = this.warehouseList.find(item => v.warehouseId == item.id)?.ownerId 获取仓库人员id
- });
- return comitDatasource;
- },
- getPrice() {
- return [this.allPrice];
- },
- //修改回显
- putTableValue(data) {
- if (data) {
- this.form.datasource = data;
- data.forEach(async (item, index) => {
- item['key'] = index + 1;
- if (!item.warehouseId) {
- this.warehouseChange(index, item);
- }
- if (item.modelKey) {
- item.modelKey = item.modelKey.split(',');
- }
- if (item.colorKey) {
- item.colorKey = item.colorKey.split(',');
- }
- //发货数量因已发货数量被修改需要重新计算金额,总重
- this.changeNum(item.totalCount, item, index);
- });
- }
- },
- remove(i) {
- this.form.datasource.splice(i, 1);
- this.setSort();
- },
- // 重新排序
- setSort() {
- this.form.datasource.forEach((n, index) => {
- n.key = index + 1;
- });
- },
- // 添加
- handlAdd() {
- if (!this.orderId) return this.$message.error('请先选择订单');
- this.$refs.productListRef.open('', -1);
- },
- //选择产品回调
- changeParent(obj, idx) {
- obj.forEach(async (item, index) => {
- let i = idx == -1 ? index : idx;
- let row = JSON.parse(JSON.stringify(this.defaultForm));
- row.key = this.form.datasource.length + 1;
- let parasm = idx == -1 ? row : this.form.datasource[i];
- this.$set(parasm, 'productId', item.id);
- this.$set(parasm, 'categoryName', item.name);
- this.$set(parasm, 'productCategoryId', item.categoryLevelId);
- this.$set(parasm, 'productBrand', item.brandNum);
- this.$set(parasm, 'productCategoryName', item.categoryLevelPath);
- this.$set(parasm, 'productCode', item.code);
- this.$set(parasm, 'productName', item.name);
- this.$set(parasm, 'modelType', item.modelType);
- this.$set(parasm, 'availableCountBase', item.availableCountBase);
- this.$set(parasm, 'measuringUnit', item.measuringUnit);
- this.$set(parasm, 'specification', item.specification);
- this.$set(parasm, 'weightUnit', item.weightUnit);
- this.$set(parasm, 'singleWeight', item.netWeight);
- this.$set(parasm, 'pricingWay', 1);
- this.$set(parasm, 'goodsLevel', item.goodsLevel);
- this.$set(parasm, 'batchNo', await getCode('lot_number_code'));
- this.$set(parasm, 'customerMark', this.customerMark);
- if (item.modelKey) {
- this.$set(parasm, 'modelKey', item.modelKey.split(','));
- }
- if (item.colorKey) {
- this.$set(parasm, 'colorKey', item.colorKey.split(','));
- }
- this.$set(parasm, 'discountSinglePrice', 0);
- this.$set(parasm, 'singlePrice', 0);
- this.$set(parasm, 'imgCode', item.imgCode);
- this.$set(parasm, 'produceType', item.componentAttribute);
- this.$set(
- parasm,
- 'categoryRootLevelId',
- item.categoryLevelPathIdParent
- );
- this.$set(parasm, 'approvalNumber', item.extField?.approvalNumber);
- this.$set(
- parasm,
- 'packingSpecification',
- item.extField.packingSpecification
- );
- this.$set(parasm, 'provenance', item.purchaseOrigins || []);
- if (idx == -1) {
- this.form.datasource.push(row);
- }
- });
- this.form.datasource.forEach((item, index) => {
- if (!item.warehouseId) {
- this.warehouseChange(index, item);
- }
- });
- },
- validateForm(callback) {
- //开始表单校验
- this.$refs.form.validate((valid, obj) => {
- if (obj) {
- let messages = Object.keys(obj).map((key) => obj[key][0]);
- if (messages.length > 0) {
- this.$message.warning(messages[0].message);
- }
- }
- callback(valid);
- });
- }
- }
- };
- </script>
- <style lang="scss" scoped>
- .headbox {
- display: flex;
- justify-content: space-between;
- align-items: center;
- .amount {
- font-size: 14px;
- font-weight: bold;
- padding-right: 30px;
- }
- }
- .time-form .el-form-item {
- margin-bottom: 0 !important;
- }
- ::v-deep .period {
- display: flex;
- .borderleftnone {
- .el-input--medium .el-input__inner {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- }
- }
- .borderrightnone {
- .el-input--medium .el-input__inner {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
- }
- }
- }
- ::v-deep .time-form tbody > tr:hover > td {
- background-color: transparent !important;
- }
- ::v-deep .time-form .el-table tr {
- background-color: #ffffff;
- }
- .pricebox {
- display: flex;
- justify-content: flex-start;
- align-items: center;
- font-weight: bold;
- }
- </style>
|