| | |
| | | user :'User', |
| | | role :'Role', |
| | | userPassWord :'User Pass Word', |
| | | glassPrice:'Glass Price' |
| | | }, |
| | | glassPrice:{ |
| | | glassPriceComputed:'玻璃报价', |
| | | priceSet:'价格设置', |
| | | priceList:'价格列表', |
| | | msg:{ |
| | | error1:'请选择全部参数', |
| | | error2:'此膜系已经存在,请重新选择', |
| | | success:'数据保存成功', |
| | | addProduce:'请先添加产品' |
| | | }, |
| | | glass:'玻璃', |
| | | interlayer:'夹胶', |
| | | hollow:'中空', |
| | | craft:'工艺', |
| | | addProduce:'选择产品', |
| | | reorder:'转订单' |
| | | } |
| | | |
| | | |
| | |
| | | user :'Список пользователей', |
| | | role :'Права на роль', |
| | | userPassWord :'Изменить пароль', |
| | | glassPrice:'Цена стекла.' |
| | | }, |
| | | |
| | | glassPrice:{ |
| | | glassPriceComputed:'玻璃报价', |
| | | priceSet:'价格设置', |
| | | priceList:'价格列表', |
| | | msg:{ |
| | | error1:'请选择全部参数', |
| | | error2:'此膜系已经存在,请重新选择', |
| | | success:'数据保存成功', |
| | | addProduce:'请先添加产品' |
| | | }, |
| | | glass:'玻璃', |
| | | interlayer:'夹胶', |
| | | hollow:'中空', |
| | | craft:'工艺', |
| | | addProduce:'选择产品', |
| | | reorder:'转订单' |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | user :'用户列表', |
| | | role :'角色权限', |
| | | userPassWord :'修改密码', |
| | | glassPrice:'玻璃价格' |
| | | }, |
| | | |
| | | glassPrice:{ |
| | | glassPriceComputed:'玻璃报价', |
| | | priceSet:'价格设置', |
| | | priceList:'价格列表', |
| | | msg:{ |
| | | error1:'请选择全部参数', |
| | | error2:'此膜系已经存在,请重新选择', |
| | | success:'数据保存成功', |
| | | addProduce:'请先添加产品' |
| | | }, |
| | | glass:'玻璃', |
| | | interlayer:'夹胶', |
| | | hollow:'中空', |
| | | craft:'工艺', |
| | | addProduce:'选择产品', |
| | | reorder:'转订单' |
| | | } |
| | | |
| | | |
| | |
| | | <div id="main"> |
| | | <div id="div-title"> |
| | | <el-breadcrumb :separator-icon="ArrowRight"> |
| | | <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/glassPrice/producePriceCompute' }">{{'玻璃报价'}}</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/glassPrice/glassPriceSet' }">{{'价格设置'}}</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/glassPrice/glassPriceList' }">{{'价格列表'}}</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/glassPrice/producePriceCompute' }">{{$t('glassPrice.glassPriceComputed')}}</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/glassPrice/glassPriceSet' }">{{$t('glassPrice.priceSet')}}</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/glassPrice/glassPriceList' }">{{$t('glassPrice.priceList')}}</el-breadcrumb-item> |
| | | <!-- <el-breadcrumb-item :to="{ path: '/main/product/test' }">测试</el-breadcrumb-item>--> |
| | | <!-- <el-breadcrumb-item :to="{ path: '/main/product/testSort11' }">测试</el-breadcrumb-item>--> |
| | | <el-breadcrumb-item v-show="false" /> |
| | |
| | | columns:[ |
| | | {title: t('basicData.operate'), width: 110, slots: { default: 'button_slot' },fixed:"left",}, |
| | | {type: 'seq',fixed:"left", title: t('basicData.Number'), width: 80 }, |
| | | {field: 'type', title: '类型',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'name', title: '名称',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'price', title: '价格' ,editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'createTime', title: '创建时间',editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged} |
| | | {field: 'type', title: t('product.msg.interlayerType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'name', title: t('orderBasicData.name'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'price', title: t('menu.glassPrice') ,editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'createTime', title: t('basicData.creationTime'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged} |
| | | |
| | | ], |
| | | |
| | |
| | | ElMessageBox.prompt( '', { |
| | | confirmButtonText: t('basicData.save'), |
| | | cancelButtonText: t('basicData.cancelButtonText'), |
| | | inputPattern:/^.{1,20}$/, |
| | | inputErrorMessage: t('components.message') |
| | | inputPattern:/^(0(\.\d{1,2})?|([1-9]\d{0,4})(\.\d{1,2})?|99999(\.9{1,2})?)$/, |
| | | inputErrorMessage: t('basicData.msg.range99999Dec2') |
| | | }).then(({ value }) => { |
| | | const data = { |
| | | id: row.id, |
| | |
| | | } |
| | | request.post(`/glassPriceBasic/updateGlassPriceById`,data).then((res) => { |
| | | if(res.code==='200' && res.data){ |
| | | ElMessage.success("数据保存成功") |
| | | ElMessage.success(t('basicData.msg.saveSuccess')) |
| | | router.push({path:'/main/glassPrice/glassPriceList',query:{random:Math.random()}}) |
| | | }else{ |
| | | ElMessage.warning('数据保存失败') |
| | | ElMessage.warning(t('basicData.msg.saveFail')) |
| | | } |
| | | }) |
| | | }) |
| | |
| | | import request from "@/utils/request"; |
| | | import {ElMessage} from "element-plus"; |
| | | import {useRouter,useRoute} from "vue-router" |
| | | import {useI18n} from "vue-i18n"; |
| | | const { t } = useI18n() |
| | | let BasicData = ref({ |
| | | stuffColor:null, |
| | | stuffCraft:null, |
| | |
| | | const getChild = (value) =>{ |
| | | for (let key in value) { |
| | | if(!value[key]){ |
| | | ElMessage.warning("请选择全部参数") |
| | | ElMessage.warning(t('glassPrice.msg.error1')) |
| | | return |
| | | } |
| | | } |
| | | |
| | | request.post(`/glassPriceBasic/save`,value).then((res) => { |
| | | if(res.code==='200' && res.data===true){ |
| | | ElMessage.success("数据保存成功") |
| | | ElMessage.success(t('glassPrice.msg.success')) |
| | | router.push({path:'/main/glassPrice/glassPriceList'}) |
| | | }else{ |
| | | ElMessage.warning("此膜系已经存在,请重新选择") |
| | | ElMessage.warning(t('glassPrice.msg.error1')) |
| | | } |
| | | }) |
| | | } |
| | |
| | | <template> |
| | | <div id="main-div"> |
| | | <el-tabs v-model="tabsValue" type="border-card" style="width: 100%;height: 100%"> |
| | | <el-tab-pane :name="1" label="玻璃" > |
| | | <el-tab-pane :name="1" :label="t('glassPrice.glass')" > |
| | | <glass @getChild="getChild" v-if="tabsValue===1" :basicData="BasicData"/> |
| | | </el-tab-pane> |
| | | <el-tab-pane :name="2" label="夹胶"> |
| | | <el-tab-pane :name="2" :label="t('glassPrice.interlayer')"> |
| | | <interlayer @getChild="getChild" v-if="tabsValue===2" :basicData="BasicData"/> |
| | | </el-tab-pane> |
| | | <el-tab-pane :name="3" label="中空"> |
| | | <el-tab-pane :name="3" :label="t('glassPrice.hollow')"> |
| | | <hollow @getChild="getChild" v-if="tabsValue===3" :basicData="BasicData"/> |
| | | </el-tab-pane> |
| | | <el-tab-pane :name="4" label="工艺"> |
| | | <el-tab-pane :name="4" :label="t('glassPrice.craft')"> |
| | | <process @getChild="getChild" v-if="tabsValue===4" :basicData="BasicData"/> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | |
| | | |
| | | toolbarConfig: { |
| | | buttons: [ |
| | | {'code': 'addProducts', 'name': '选择产品',disabled: false}, |
| | | {'code': 'reorder', 'name': '转订单',status: 'primary',icon: 'vxe-icon-save',disabled: false}, |
| | | {'code': 'addProducts', 'name': t('glassPrice.addProduce'),disabled: false}, |
| | | {'code': 'reorder', 'name': t('glassPrice.reorder'),status: 'primary',icon: 'vxe-icon-save',disabled: false}, |
| | | |
| | | ], |
| | | zoom: true, |
| | |
| | | } |
| | | case 'reorder': { |
| | | if($grid.getTableData().fullData.length === 0){ |
| | | ElMessage.warning("请先添加产品") |
| | | ElMessage.warning(t('glassPrice.msg.addProduce')) |
| | | return |
| | | } |
| | | router.push({ |
| | |
| | | quantity: '' |
| | | }, |
| | | items: [ |
| | | { field: 'width', title: '宽:', itemRender: { name: 'VxeInput' } }, |
| | | { field: 'height', title: '高:', itemRender: { name: 'VxeInput' } }, |
| | | { field: 'quantity', title: '数量:', itemRender: { name: 'VxeInput' } }, |
| | | { field: 'width', title: t('order.width')+':', itemRender: { name: 'VxeInput' } }, |
| | | { field: 'height', title: t('order.height')+':', itemRender: { name: 'VxeInput' } }, |
| | | { field: 'quantity', title: t('order.quantity')+':', itemRender: { name: 'VxeInput' } }, |
| | | { |
| | | itemRender: { |
| | | name: 'VxeButtonGroup', |
| | | options: [ |
| | | { type: 'submit', content: '确定', status: 'primary' }, |
| | | { type: 'reset', content: '重置' } |
| | | { type: 'submit', content: t('craft.sure'), status: 'primary' }, |
| | | { type: 'reset', content: t('product.msg.reset') } |
| | | ] |
| | | } |
| | | } |
| | |
| | | |
| | | <el-row :gutter="8"> |
| | | <el-col :span="3"> |
| | | <el-input |
| | | <el-input-number |
| | | v-model="stuff.price" |
| | | type="number" |
| | | controls-position="right" |
| | | :step="0.01" |
| | | :max="99999.99" |
| | | placeholder="元/m²" |
| | | class="delInput"/> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="8"> |
| | | <el-col :span="3"> |
| | | <el-button @click="save" type="primary" >保存</el-button> |
| | | <el-button @click="save" type="primary" >{{$t('basicData.save')}}</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | |
| | | |
| | | <el-row :gutter="8"> |
| | | <el-col :span="3"> |
| | | <el-input |
| | | <el-input-number |
| | | v-model="hollowBasic.price" |
| | | type="number" |
| | | controls-position="right" |
| | | :step="0.01" |
| | | :max="99999.99" |
| | | placeholder="元/m²" |
| | | class="delInput"/> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="8"> |
| | | <el-col :span="3"> |
| | | <el-button @click="save" type="primary" >保存</el-button> |
| | | <el-button @click="save" type="primary" >{{$t('basicData.save')}}</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | |
| | | |
| | | <el-row :gutter="8"> |
| | | <el-col :span="3"> |
| | | <el-input |
| | | <el-input-number |
| | | v-model="interlayerBasic.price" |
| | | type="number" |
| | | controls-position="right" |
| | | :step="0.01" |
| | | :max="99999.99" |
| | | placeholder="元/m²" |
| | | class="delInput"/> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="8"> |
| | | <el-col :span="3"> |
| | | <el-button @click="save" type="primary" >保存</el-button> |
| | | <el-button @click="save" type="primary" >{{$t('basicData.save')}}</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | |
| | | |
| | | <el-row :gutter="8"> |
| | | <el-col :span="3"> |
| | | <el-input |
| | | <el-input-number |
| | | v-model="stuff.price" |
| | | type="number" |
| | | controls-position="right" |
| | | :step="0.01" |
| | | :max="99999.99" |
| | | placeholder="元/m²" |
| | | class="delInput"/> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row :gutter="8"> |
| | | <el-col :span="3"> |
| | | <el-button @click="save" type="primary" >保存</el-button> |
| | | <el-button @click="save" type="primary" >{{$t('basicData.save')}}</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | |