Browse Source

20240925

java8
qiezi 1 year ago
parent
commit
989785fddc
  1. 67
      src/views/modules/fanuc/currency.vue
  2. 57
      src/views/modules/fanuc/fanuc.vue
  3. 38
      src/views/modules/fanuc/fanucGroup.vue

67
src/views/modules/fanuc/currency.vue

@ -7,7 +7,7 @@
<el-form-item label="工厂编号"> <el-form-item label="工厂编号">
<el-select v-model="searchData.site" style="width: 100%"> <el-select v-model="searchData.site" style="width: 100%">
<el-option label="全部" value=" "></el-option> <el-option label="全部" value=" "></el-option>
<el-option :label="site.sitename" :value="site.siteid" v-for="(site) in siteList" :key="site.siteid"></el-option>
<el-option :label="site.siteid" :value="site.siteid" v-for="(site) in siteList" :key="site.siteid"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -73,11 +73,11 @@
fixed="right" fixed="right"
header-align="center" header-align="center"
align="center" align="center"
width="160"
min-width="120"
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<a type="text" size="small" @click="updateModal(scope.row)">修改</a>
<a type="text" size="small" @click="deleteModal(scope.row)">删除</a>
<a type="text" @click="updateModal(scope.row)">修改</a>
<a type="text" @click="deleteModal(scope.row)">删除</a>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -191,7 +191,7 @@
<el-col :span="10"> <el-col :span="10">
<el-form-item label="工厂编码" prop="site"> <el-form-item label="工厂编码" prop="site">
<el-select v-model="modalData.site" :disabled="modalDisableFlag" style="width: 100%"> <el-select v-model="modalData.site" :disabled="modalDisableFlag" style="width: 100%">
<el-option :label="site.sitename" :value="site.siteid" v-for="(site) in siteList" :key="site.siteid"></el-option>
<el-option :label="site.siteid" :value="site.siteid" v-for="(site) in siteList" :key="site.siteid"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -230,19 +230,10 @@
<!-- 货币参考新增和修改 --> <!-- 货币参考新增和修改 -->
<el-dialog title="货币参考" :close-on-click-modal="false" v-drag :visible.sync="modalFlag1" width="500px">
<el-dialog title="货币参考" :close-on-click-modal="false" v-drag :visible.sync="modalFlag1" width="300px">
<el-form label-position="top" :model="modalData1" :rules="rules" > <el-form label-position="top" :model="modalData1" :rules="rules" >
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="10">
<el-form-item label="工厂编码" prop="site">
<el-select v-model="modalData1.site" disabled style="width: 100%">
<el-option :label="site.sitename" :value="site.siteid" v-for="(site) in siteList" :key="site.siteid"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="10">
<el-col :span="12">
<el-form-item label="参考货币" prop="currency"> <el-form-item label="参考货币" prop="currency">
<template slot="label"> <template slot="label">
<a @click="handleClickCurrency">参考货币</a> <a @click="handleClickCurrency">参考货币</a>
@ -250,23 +241,11 @@
<el-input v-model="modalData1.currency" @blur="handleBlurCurrency"></el-input> <el-input v-model="modalData1.currency" @blur="handleBlurCurrency"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="14">
<el-col :span="24">
<el-form-item label="参考货币描述" prop="currencyDesc"> <el-form-item label="参考货币描述" prop="currencyDesc">
<el-input v-model="modalData1.currencyDesc" disabled></el-input> <el-input v-model="modalData1.currencyDesc" disabled></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10">
<el-form-item label="最近汇率日期" >
<el-date-picker
style="width: 100%"
v-model="modalData1.createDate"
type="date"
disabled
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
<el-footer style="height:30px;line-height:30px;text-align:center"> <el-footer style="height:30px;line-height:30px;text-align:center">
@ -279,7 +258,7 @@
<el-dialog title="货币汇率" top="20vh" :close-on-click-modal="false" v-drag :visible.sync="modalFlag2" width="200px"> <el-dialog title="货币汇率" top="20vh" :close-on-click-modal="false" v-drag :visible.sync="modalFlag2" width="200px">
<el-form label-position="top" :model="modalData2" :rules="rules"> <el-form label-position="top" :model="modalData2" :rules="rules">
<el-form-item label="汇率:" prop="exchangeRate"> <el-form-item label="汇率:" prop="exchangeRate">
<el-input-number v-model="modalData2.exchangeRate" style="width: 100%;" :controls="false" :step="0" :precision="4"></el-input-number>
<el-input-number v-model="modalData2.exchangeRate" style="width: 50%;" :controls="false" :step="0" :precision="4"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="启用日期" > <el-form-item label="启用日期" >
@ -464,7 +443,7 @@ export default {
serialNumber: '501004TableSite', serialNumber: '501004TableSite',
tableId: '501004Table', tableId: '501004Table',
tableName: '工厂编码', tableName: '工厂编码',
columnWidth: 160,
columnWidth: 100,
columnProp: 'site', columnProp: 'site',
headerAlign: 'center', headerAlign: 'center',
align: 'center', align: 'center',
@ -482,7 +461,7 @@ export default {
serialNumber: '501004TableCurrency', serialNumber: '501004TableCurrency',
tableId: '501004Table', tableId: '501004Table',
tableName: '货币', tableName: '货币',
columnWidth: 160,
columnWidth: 120,
columnProp: 'currency', columnProp: 'currency',
headerAlign: 'center', headerAlign: 'center',
align: 'left', align: 'left',
@ -500,7 +479,7 @@ export default {
serialNumber: '501004TableCurrencyDesc', serialNumber: '501004TableCurrencyDesc',
tableId: '501004Table', tableId: '501004Table',
tableName: '货币描述', tableName: '货币描述',
columnWidth: 160,
columnWidth: 180,
columnProp: 'currencyDesc', columnProp: 'currencyDesc',
headerAlign: 'center', headerAlign: 'center',
align: 'left', align: 'left',
@ -518,7 +497,7 @@ export default {
serialNumber: '501004TableBaseCurrencyFlag', serialNumber: '501004TableBaseCurrencyFlag',
tableId: '501004Table', tableId: '501004Table',
tableName: '本位币', tableName: '本位币',
columnWidth: 160,
columnWidth: 120,
columnProp: 'baseCurrencyFlag', columnProp: 'baseCurrencyFlag',
headerAlign: 'center', headerAlign: 'center',
align: 'center', align: 'center',
@ -536,7 +515,7 @@ export default {
serialNumber: '501004TableActive', serialNumber: '501004TableActive',
tableId: '501004Table', tableId: '501004Table',
tableName: '状态', tableName: '状态',
columnWidth: 160,
columnWidth: 100,
columnProp: 'active', columnProp: 'active',
headerAlign: 'center', headerAlign: 'center',
align: 'center', align: 'center',
@ -593,7 +572,7 @@ export default {
columnWidth: 160, columnWidth: 160,
columnProp: 'updateDate', columnProp: 'updateDate',
headerAlign: 'center', headerAlign: 'center',
align: 'left',
align: 'center',
columnLabel: '修改时间', columnLabel: '修改时间',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
@ -628,11 +607,11 @@ export default {
serialNumber: '501004TableCurrency', serialNumber: '501004TableCurrency',
tableId: '501004Table', tableId: '501004Table',
tableName: '货币', tableName: '货币',
columnWidth: 160,
columnWidth: 100,
columnProp: 'currency', columnProp: 'currency',
headerAlign: 'center', headerAlign: 'center',
align: 'left', align: 'left',
columnLabel: '货币',
columnLabel: '参考货币',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
@ -650,7 +629,7 @@ export default {
columnProp: 'currencyDesc', columnProp: 'currencyDesc',
headerAlign: 'center', headerAlign: 'center',
align: 'left', align: 'left',
columnLabel: '货币描述',
columnLabel: '参考货币描述',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
@ -664,10 +643,10 @@ export default {
serialNumber: '501004TableCreatDate', serialNumber: '501004TableCreatDate',
tableId: '501004Table', tableId: '501004Table',
tableName: '最近汇率日期', tableName: '最近汇率日期',
columnWidth: 160,
columnWidth: 120,
columnProp: 'createDate', columnProp: 'createDate',
headerAlign: 'center', headerAlign: 'center',
align: 'left',
align: 'center',
columnLabel: '最近汇率日期', columnLabel: '最近汇率日期',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
@ -702,10 +681,10 @@ export default {
serialNumber: '501004TableActivationDate', serialNumber: '501004TableActivationDate',
tableId: '501004Table', tableId: '501004Table',
tableName: '启用日期', tableName: '启用日期',
columnWidth: 140,
columnWidth: 100,
columnProp: 'activationDate', columnProp: 'activationDate',
headerAlign: 'center', headerAlign: 'center',
align: 'left',
align: 'center',
columnLabel: '启用日期', columnLabel: '启用日期',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
@ -720,7 +699,7 @@ export default {
serialNumber: '501004TableCreateDate', serialNumber: '501004TableCreateDate',
tableId: '501004Table', tableId: '501004Table',
tableName: '录入时间', tableName: '录入时间',
columnWidth: 110,
columnWidth: 140,
columnProp: 'createDate', columnProp: 'createDate',
headerAlign: 'center', headerAlign: 'center',
align: 'center', align: 'center',

57
src/views/modules/fanuc/fanuc.vue

@ -41,7 +41,7 @@
<!-- 展示列表 --> <!-- 展示列表 -->
<el-table <el-table
height="35vh"
height="42vh"
:data="dataList" :data="dataList"
@row-click="changeData" @row-click="changeData"
:row-style="rowStyle" :row-style="rowStyle"
@ -63,7 +63,8 @@
</template> </template>
<template v-else> <template v-else>
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span> <span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template> </template>
</template> </template>
</el-table-column> </el-table-column>
@ -79,7 +80,7 @@
layout="total, sizes, prev, pager, next, jumper"> layout="total, sizes, prev, pager, next, jumper">
</el-pagination> </el-pagination>
<el-tabs style="height: 45vh" class="customer-tab" v-model="activeName" type="border-card" @tab-click="tabClick">
<el-tabs style="height: 40vh" class="customer-tab" v-model="activeName" type="border-card" @tab-click="tabClick">
<el-tab-pane label="详情" name="detail"> <el-tab-pane label="详情" name="detail">
<el-form label-position="top" :model="currentRow"> <el-form label-position="top" :model="currentRow">
<el-row :gutter="10"> <el-row :gutter="10">
@ -88,13 +89,11 @@
<el-input v-model="currentRow.site" readonly></el-input> <el-input v-model="currentRow.site" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-col :span="3">
<el-form-item label="BU"> <el-form-item label="BU">
<el-input v-model="currentRow.buDesc" readonly></el-input> <el-input v-model="currentRow.buDesc" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="3"> <el-col :span="3">
<el-form-item :label="'加工中心编码'"> <el-form-item :label="'加工中心编码'">
<el-input v-model="currentRow.workshopId" readonly></el-input> <el-input v-model="currentRow.workshopId" readonly></el-input>
@ -117,16 +116,16 @@
<el-input v-model="currentRow.resourceCount" readonly></el-input> <el-input v-model="currentRow.resourceCount" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="3"> <el-col :span="3">
<el-form-item :label="'加工中心组编码'"> <el-form-item :label="'加工中心组编码'">
<el-input v-model="currentRow.prolineNo" readonly></el-input> <el-input v-model="currentRow.prolineNo" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="3"> <el-col :span="3">
<el-form-item :label="'平均产能'"> <el-form-item :label="'平均产能'">
<el-input v-model="currentRow.averageCapacity" readonly></el-input>
<el-input v-model="currentRow.averageCapacity" class="numInput" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
@ -146,11 +145,9 @@
<el-input v-model="currentRow.createdBy" readonly></el-input> <el-input v-model="currentRow.createdBy" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="10">
<el-col :span="3"> <el-col :span="3">
<el-form-item :label="'最近修改时间'"> <el-form-item :label="'最近修改时间'">
<el-input v-model="currentRow.updateDate" readonly></el-input>
<el-input v-model="currentRow.updatedDate" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
@ -160,9 +157,9 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="12">
<el-col :span="15">
<el-form-item :label="'备注'" class="auto"> <el-form-item :label="'备注'" class="auto">
<el-input v-model="currentRow.remark" :rows="3" type="textarea"></el-input>
<el-input v-model="currentRow.remark" readonly resize='none' :rows="3" type="textarea"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -173,7 +170,7 @@
<el-button v-if="!authSave" type="primary" @click="addModal()">新增</el-button> <el-button v-if="!authSave" type="primary" @click="addModal()">新增</el-button>
<el-table <el-table
:data="dataList2" :data="dataList2"
:height="height"
height="33vh"
border border
style="width: 100%; "> style="width: 100%; ">
<el-table-column <el-table-column
@ -209,7 +206,7 @@
<el-tab-pane label="机台" name="resource"> <el-tab-pane label="机台" name="resource">
<el-table <el-table
:data="dataList3" :data="dataList3"
:height="height + 25"
height="35vh"
border border
style="width: 100%; "> style="width: 100%; ">
<el-table-column <el-table-column
@ -233,7 +230,6 @@
</el-tabs> </el-tabs>
<!-- 新增和修改 --> <!-- 新增和修改 -->
<el-dialog title="成本" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="500px"> <el-dialog title="成本" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="500px">
<el-form label-position="top" :model="modalData1" :rules="rules"> <el-form label-position="top" :model="modalData1" :rules="rules">
@ -247,17 +243,20 @@
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="单位成本" prop="unitCost"> <el-form-item label="单位成本" prop="unitCost">
<el-input-number v-model="modalData1.unitCost" style="width: 100%" :controls="false" :step="0"></el-input-number>
<el-input-number v-model="modalData1.unitCost" style="width: 100%" :controls="false"
:step="0"></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="单位制造费用成本" prop="overheadCost"> <el-form-item label="单位制造费用成本" prop="overheadCost">
<el-input-number v-model="modalData1.overheadCost" style="width: 100%" :controls="false" :step="0"></el-input-number>
<el-input-number v-model="modalData1.overheadCost" style="width: 100%" :controls="false"
:step="0"></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="单位人工成本" prop="laborCost"> <el-form-item label="单位人工成本" prop="laborCost">
<el-input-number v-model="modalData1.laborCost" style="width: 100%" :controls="false" :step="0"></el-input-number>
<el-input-number v-model="modalData1.laborCost" style="width: 100%" :controls="false"
:step="0"></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -297,7 +296,8 @@
<!-- 修改 --> <!-- 修改 -->
<el-dialog title="加工中心" :close-on-click-modal="false" v-drag :visible.sync="modalFlag1" width="500px"> <el-dialog title="加工中心" :close-on-click-modal="false" v-drag :visible.sync="modalFlag1" width="500px">
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules"
style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="加工中心编码:" prop="workCenterNo"> <el-form-item label="加工中心编码:" prop="workCenterNo">
<el-input v-model="modalData.workCenterNo" style="width: 221px"></el-input> <el-input v-model="modalData.workCenterNo" style="width: 221px"></el-input>
@ -449,7 +449,7 @@ export default {
serialNumber: '501002TableSite', serialNumber: '501002TableSite',
tableId: "501002Table", tableId: "501002Table",
tableName: "工厂编码", tableName: "工厂编码",
columnWidth: 130,
columnWidth: 80,
columnProp: 'site', columnProp: 'site',
headerAlign: 'center', headerAlign: 'center',
align: "center", align: "center",
@ -471,7 +471,7 @@ export default {
columnProp: 'buDesc', columnProp: 'buDesc',
headerAlign: 'center', headerAlign: 'center',
align: "left", align: "left",
columnLabel: 'Bu',
columnLabel: 'BU',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
@ -575,7 +575,7 @@ export default {
serialNumber: '501002TableActive', serialNumber: '501002TableActive',
tableId: "501002Table", tableId: "501002Table",
tableName: "状态", tableName: "状态",
columnWidth: 130,
columnWidth: 80,
columnProp: 'active', columnProp: 'active',
headerAlign: 'center', headerAlign: 'center',
align: "center", align: "center",
@ -1646,17 +1646,8 @@ export default {
<style scoped> <style scoped>
.numInput /deep/ .el-input__inner { .numInput /deep/ .el-input__inner {
text-align: right; text-align: right;
}
/deep/ .inlineNumber input::-webkit-outer-spin-button,
/deep/ .inlineNumber input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
/deep/ .inlineNumber input[type="number"]{
-moz-appearance: textfield;
padding-right: 5px !important; padding-right: 5px !important;
} }
.auto /deep/ .el-form-item__content { .auto /deep/ .el-form-item__content {
height: auto; height: auto;
line-height: 1.5; line-height: 1.5;

38
src/views/modules/fanuc/fanucGroup.vue

@ -54,7 +54,7 @@
:show-overflow-tooltip="item.showOverflowTooltip" :show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align" :align="item.align"
:fixed="item.fixed==''?false:item.fixed" :fixed="item.fixed==''?false:item.fixed"
:width="item.columnWidth"
:min-width="item.columnWidth"
:label="item.columnLabel"> :label="item.columnLabel">
<template slot-scope="scope"> <template slot-scope="scope">
<template v-if="item.columnProp==='status'"> <template v-if="item.columnProp==='status'">
@ -70,11 +70,11 @@
fixed="right" fixed="right"
header-align="center" header-align="center"
align="center" align="center"
width="160"
min-width="100"
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<a type="text" size="small" @click="updateModal(scope.row)">修改</a>
<a type="text" size="small" @click="deleteModal(scope.row)">删除</a>
<a type="text" @click="updateModal(scope.row)">修改</a>
<a type="text" @click="deleteModal(scope.row)">删除</a>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -202,7 +202,7 @@ export default {
serialNumber: '501001TableSite', serialNumber: '501001TableSite',
tableId: "501001Table", tableId: "501001Table",
tableName: "工厂编码", tableName: "工厂编码",
columnWidth: 150,
columnWidth: 80,
columnProp: 'site', columnProp: 'site',
headerAlign: 'center', headerAlign: 'center',
align: "center", align: "center",
@ -220,7 +220,7 @@ export default {
serialNumber: '501001TableBuDesc', serialNumber: '501001TableBuDesc',
tableId: "501001Table", tableId: "501001Table",
tableName: "BU", tableName: "BU",
columnWidth: 150,
columnWidth: 120,
columnProp: 'buDesc', columnProp: 'buDesc',
headerAlign: 'center', headerAlign: 'center',
align: "left", align: "left",
@ -238,7 +238,7 @@ export default {
serialNumber: '501001TableProdLineNo', serialNumber: '501001TableProdLineNo',
tableId: "501001Table", tableId: "501001Table",
tableName: "组编码", tableName: "组编码",
columnWidth: 150,
columnWidth: 120,
columnProp: 'prodLineNo', columnProp: 'prodLineNo',
headerAlign: 'center', headerAlign: 'center',
align: "left", align: "left",
@ -268,24 +268,6 @@ export default {
status: true, status: true,
fixed: '', fixed: '',
}, },
// {
// userId: this.$store.state.user.name,
// functionId: 501001,
// serialNumber: '501001TableActive',
// tableId: "501001Table",
// tableName: "",
// columnWidth: 150,
// columnProp: 'active',
// headerAlign: 'center',
// align: "center",
// columnLabel: '',
// columnHidden: false,
// columnImage: false,
// columnSortable: false,
// sortLv: 0,
// status: true,
// fixed: '',
// },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 501001, functionId: 501001,
@ -331,7 +313,7 @@ export default {
columnWidth: 140, columnWidth: 140,
columnProp: 'updateBy', columnProp: 'updateBy',
headerAlign: 'center', headerAlign: 'center',
align: "center",
align: "left",
columnLabel: '修改人', columnLabel: '修改人',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
@ -349,7 +331,7 @@ export default {
columnWidth: 150, columnWidth: 150,
columnProp: 'updateDate', columnProp: 'updateDate',
headerAlign: 'center', headerAlign: 'center',
align: "left",
align: "center",
columnLabel: '修改时间', columnLabel: '修改时间',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
@ -382,7 +364,7 @@ export default {
serialNumber: '501001TableStatus', serialNumber: '501001TableStatus',
tableId: "501001Table", tableId: "501001Table",
tableName: "状态", tableName: "状态",
columnWidth: 125,
columnWidth: 80,
columnProp: 'status', columnProp: 'status',
headerAlign: 'center', headerAlign: 'center',
align: "center", align: "center",

Loading…
Cancel
Save