Browse Source

工具 2022-06-30 sxm

master
[li_she] 4 years ago
parent
commit
43f2644442
  1. BIN
      dist.zip
  2. 478
      src/views/modules/knifemold/tool-info.vue
  3. 259
      src/views/modules/purchaseorder/purchaseRequisition.vue

BIN
dist.zip

478
src/views/modules/knifemold/tool-info.vue

@ -1,10 +1,12 @@
<template> <template>
<div >
<el-main style="background-color: #B3C0D1;padding: 2px;">
<div>
<fieldset class="customer-field" style="width: 100%; padding: 0.35em 0.75em 0.425em;">
<el-row>
<el-col :span="24">
<el-form :inline="true" label-position="top" label-width="100px"> <el-form :inline="true" label-position="top" label-width="100px">
<el-form-item :label="inputLabel.headerInput.label1"> <el-form-item :label="inputLabel.headerInput.label1">
<el-input style="width: 100px;" @focus="initToolHeaderModel()" readonly v-model="headerData.toolId" ></el-input> <!---->
<el-input style="width: 100px;" @focus="initToolHeaderModel()" readonly
v-model="headerData.toolId"></el-input> <!---->
</el-form-item> </el-form-item>
<el-form-item :label="inputLabel.headerInput.label2"> <el-form-item :label="inputLabel.headerInput.label2">
<el-input style="width: 100px;" readonly v-model="headerData.toolDescription"></el-input> <el-input style="width: 100px;" readonly v-model="headerData.toolDescription"></el-input>
@ -28,7 +30,10 @@
<el-input style="width: 100px;" readonly v-model="headerData.strActive"></el-input> <el-input style="width: 100px;" readonly v-model="headerData.strActive"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form :inline="true" label-position="top" label-width="100px"> <el-form :inline="true" label-position="top" label-width="100px">
<el-form-item :label="inputLabel.headerInput.label9"> <el-form-item :label="inputLabel.headerInput.label9">
<el-input style="width: 100px;" readonly v-model="headerData.codeNo"></el-input> <el-input style="width: 100px;" readonly v-model="headerData.codeNo"></el-input>
@ -52,21 +57,25 @@
<el-input style="width: 215px;" readonly v-model="headerData.remark"></el-input> <el-input style="width: 215px;" readonly v-model="headerData.remark"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-main>
<el-container >
<el-aside width="59%" style="padding: 0px 2px;">
</el-col>
</el-row>
</fieldset>
<el-row>
<fieldset class="customer-field" style="width: 100%; margin-top: 5px">
<legend>工具实例</legend>
<el-col :span="7">
<fieldset class="customer-field" style="width: 98%;">
<el-form :inline="true" label-position="top" label-width="95px" style="padding: 5px;"> <el-form :inline="true" label-position="top" label-width="95px" style="padding: 5px;">
<el-form-item >
<!-- <el-button type="primary">{{ inputLabel.leftInput.label1 }}</el-button> &lt;!&ndash;@click="initViewIfsTable('Y')"&ndash;&gt;-->
<el-form-item>
<el-button @click="initToolModel()" type="primary" v-show="showDefault">{{ buttons.edit }}</el-button> <el-button @click="initToolModel()" type="primary" v-show="showDefault">{{ buttons.edit }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" label-width="100px">
<el-form :inline="true" label-position="top" label-width="95px" >
<el-row>
<el-col :span="12">
<el-form-item :label="inputLabel.leftInput.label1"> <el-form-item :label="inputLabel.leftInput.label1">
<el-select @change="toolInstanceIdChange(currentDetailData.toolInstanceId)" v-model="currentDetailData.toolInstanceId" placeholder="请选择" style="width: 100px;">
<el-select @change="toolInstanceIdChange(currentDetailData.toolInstanceId)"
v-model="currentDetailData.toolInstanceId" placeholder="请选择" style="width: 150px;">
<el-option <el-option
v-for="item in selectList.select4" v-for="item in selectList.select4"
:key="item.value" :key="item.value"
@ -75,74 +84,102 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="inputLabel.leftInput.label2"> <el-form-item :label="inputLabel.leftInput.label2">
<el-input style="width: 95px;" readonly v-model="currentDetailData.status"></el-input>
<el-input style="width: 150px;" readonly v-model="currentDetailData.status"></el-input>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="inputLabel.leftInput.label3"> <el-form-item :label="inputLabel.leftInput.label3">
<el-input style="width: 95px;" readonly v-model="currentDetailData.supplierId"></el-input>
<el-input style="width: 150px;" readonly v-model="currentDetailData.supplierId"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="inputLabel.leftInput.label4"> <el-form-item :label="inputLabel.leftInput.label4">
<el-input style="width: 100px;" readonly v-model="currentDetailData.supplierName"></el-input>
<el-input style="width: 150px;" readonly v-model="currentDetailData.supplierName"></el-input>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="inputLabel.leftInput.label5"> <el-form-item :label="inputLabel.leftInput.label5">
<el-input style="width: 100px;" readonly v-model="currentDetailData.strPurchaseDate"></el-input>
<el-input style="width: 150px;" readonly v-model="currentDetailData.strPurchaseDate"></el-input>
</el-form-item> </el-form-item>
</el-form>
<el-form :inline="true" label-position="top" label-width="100px">
</el-col>
<el-col :span="12">
<el-form-item :label="inputLabel.leftInput.label6"> <el-form-item :label="inputLabel.leftInput.label6">
<el-input style="width: 100px;" readonly v-model="currentDetailData.steelSeal"></el-input>
<el-input style="width: 150px;" readonly v-model="currentDetailData.steelSeal"></el-input>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="inputLabel.leftInput.label7"> <el-form-item :label="inputLabel.leftInput.label7">
<el-input style="width: 95px;" readonly v-model="currentDetailData.strPhaseInDate"></el-input>
<el-input style="width: 150px;" readonly v-model="currentDetailData.strPhaseInDate"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="inputLabel.leftInput.label8"> <el-form-item :label="inputLabel.leftInput.label8">
<el-input style="width: 95px;" readonly v-model="currentDetailData.strPhaseOutDate"></el-input>
<el-input style="width: 150px;" readonly v-model="currentDetailData.strPhaseOutDate"></el-input>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="inputLabel.leftInput.label9"> <el-form-item :label="inputLabel.leftInput.label9">
<el-input style="width: 100px;" readonly v-model="currentDetailData.estUseQty"></el-input>
<el-input style="width: 150px;" readonly v-model="currentDetailData.estUseQty"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="inputLabel.leftInput.label10"> <el-form-item :label="inputLabel.leftInput.label10">
<el-input style="width: 100px;" readonly v-model="currentDetailData.actualUseQty"></el-input>
<el-input style="width: 150px;" readonly v-model="currentDetailData.actualUseQty"></el-input>
</el-form-item> </el-form-item>
</el-form>
<el-form :inline="true" label-position="top" label-width="100px">
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="inputLabel.leftInput.label11"> <el-form-item :label="inputLabel.leftInput.label11">
<el-input style="width: 100px;" readonly v-model="currentDetailData.strCreateDate"></el-input>
<el-input style="width: 150px;" readonly v-model="currentDetailData.strCreateDate"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="inputLabel.leftInput.label12"> <el-form-item :label="inputLabel.leftInput.label12">
<el-input style="width: 95px;" readonly v-model="currentDetailData.createdBy"></el-input>
<el-input style="width: 150px;" readonly v-model="currentDetailData.createdBy"></el-input>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="inputLabel.leftInput.label13"> <el-form-item :label="inputLabel.leftInput.label13">
<el-input style="width: 95px;" readonly v-model="currentDetailData.orderNo"></el-input>
<el-input style="width: 150px;" readonly v-model="currentDetailData.orderNo"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="12"></el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item :label="inputLabel.leftInput.label14"> <el-form-item :label="inputLabel.leftInput.label14">
<el-input style="width: 215px;" readonly v-model="currentDetailData.remark"></el-input>
</el-form-item>
</el-form>
</el-aside>
<el-main style="padding: 0px;">
<el-form :inline="true" label-position="top" label-width="100px">
<el-form-item :label="inputLabel.rightInput.label1">
<el-input style="width: 300px;" readonly v-model="currentDetailData.remark"></el-input>
</el-form-item> </el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
</fieldset>
</el-col>
<el-col :span="17">
<fieldset class="customer-field" style="width: 100%; ">
<span> {{inputLabel.rightInput.label1}}</span>
<el-table <el-table
id="commmon1"
height="36%"
width="100%"
:height="height/2"
:data="sfdcToolingHistList" :data="sfdcToolingHistList"
border border
v-loading="dataListLoading" v-loading="dataListLoading"
@selection-change="selectionChangeHandle" @selection-change="selectionChangeHandle"
style="width: 100%;"> style="width: 100%;">
<!-- <el-table-column
type="selection"
header-align="center"
width="40"
align="center">
</el-table-column>-->
<el-table-column <el-table-column
v-for="(item,index) in columnList" :key="index" v-for="(item,index) in columnList" :key="index"
:sortable="item.columnSortable" :sortable="item.columnSortable"
@ -160,26 +197,15 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-form :inline="true" label-position="top" label-width="100px">
<el-form-item :label="inputLabel.rightInput.label2">
</el-form-item>
</el-form>
<span> {{inputLabel.rightInput.label2}}</span>
<el-table <el-table
id="commmon2"
height="36%"
width="100%"
:height="height/2"
:data="toolInstanceIdUseHist" :data="toolInstanceIdUseHist"
border border
v-loading="dataListLoading" v-loading="dataListLoading"
@selection-change="selectionChangeHandle" @selection-change="selectionChangeHandle"
style="width: 100%;"> style="width: 100%;">
<!-- <el-table-column
type="selection"
header-align="center"
width="40"
align="center">
</el-table-column>-->
<el-table-column <el-table-column
v-for="(item,index) in columnList1" :key="index" v-for="(item,index) in columnList1" :key="index"
:sortable="item.columnSortable" :sortable="item.columnSortable"
@ -197,11 +223,15 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-main>
</el-container>
</fieldset>
</el-col>
</fieldset>
</el-row>
<column v-if="visible" ref="column" @refreshData="getTableUserColumn"></column> <column v-if="visible" ref="column" @refreshData="getTableUserColumn"></column>
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" v-drag :title="inputLabel.leftInput.label15" :visible.sync="setUp.toolHeaderFlag" width="485px">
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" v-drag
:title="inputLabel.leftInput.label15" :visible.sync="setUp.toolHeaderFlag" width="485px">
<el-form :inline="true" label-position="left"> <el-form :inline="true" label-position="left">
<el-form-item :label="inputLabel.headerInput.label1"> <el-form-item :label="inputLabel.headerInput.label1">
<el-input style="width: 110px;" v-model="queryHeaderData.toolId"></el-input> <el-input style="width: 110px;" v-model="queryHeaderData.toolId"></el-input>
@ -209,7 +239,7 @@
<el-form-item :label="inputLabel.headerInput.label2"> <el-form-item :label="inputLabel.headerInput.label2">
<el-input style="width: 110px;" v-model="queryHeaderData.toolDescription"></el-input> <el-input style="width: 110px;" v-model="queryHeaderData.toolDescription"></el-input>
</el-form-item> </el-form-item>
<el-form-item >
<el-form-item>
<!-- <el-button type="primary">{{ inputLabel.leftInput.label1 }}</el-button> &lt;!&ndash;@click="initViewIfsTable('Y')"&ndash;&gt;--> <!-- <el-button type="primary">{{ inputLabel.leftInput.label1 }}</el-button> &lt;!&ndash;@click="initViewIfsTable('Y')"&ndash;&gt;-->
<el-button @click="getToolHeaderList()" type="primary" v-show="showDefault">{{ buttons.search }}</el-button> <el-button @click="getToolHeaderList()" type="primary" v-show="showDefault">{{ buttons.search }}</el-button>
</el-form-item> </el-form-item>
@ -220,7 +250,7 @@
border border
v-loading="dataListLoading" v-loading="dataListLoading"
style="width: 100%;" style="width: 100%;"
@row-dblclick="rowDblclick" >
@row-dblclick="rowDblclick">
<el-table-column <el-table-column
v-for="(item,index) in columnList2" :key="index" v-for="(item,index) in columnList2" :key="index"
:sortable="item.columnSortable" :sortable="item.columnSortable"
@ -238,8 +268,8 @@
</span> </span>
</el-dialog> </el-dialog>
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" v-drag :title="inputLabel.leftInput.label15" :visible.sync="setUp.toolEditFlag" width="620px">
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" v-drag
:title="inputLabel.leftInput.label15" :visible.sync="setUp.toolEditFlag" width="620px">
<el-form :inline="true" label-position="top"> <el-form :inline="true" label-position="top">
<el-form-item :label="inputLabel.leftInput.label1"> <el-form-item :label="inputLabel.leftInput.label1">
<el-input style="width: 130px;" readonly v-model="editData.toolInstanceId"></el-input> <el-input style="width: 130px;" readonly v-model="editData.toolInstanceId"></el-input>
@ -256,7 +286,7 @@
</el-form> </el-form>
<el-form :inline="true" label-position="top"> <el-form :inline="true" label-position="top">
<el-form-item :label="inputLabel.leftInput.label5" style="height: 28px;"> <el-form-item :label="inputLabel.leftInput.label5" style="height: 28px;">
<!-- <el-input style="width: 100px;" v-model="editData.strPurchaseDate"></el-input>-->
<!-- <el-input style="width: 100px;" v-model="editData.strPurchaseDate"></el-input>-->
<el-date-picker <el-date-picker
v-model="editData.strPurchaseDate" v-model="editData.strPurchaseDate"
type="date" type="date"
@ -351,125 +381,125 @@
}, },
data() { data() {
return { return {
toolHeaderList :[],
queryHeaderData : {
site : this.$store.state.user.site,
toolId : '',
toolDescription : ''
toolHeaderList: [],
queryHeaderData: {
site: this.$store.state.user.site,
toolId: '',
toolDescription: ''
}, },
editData : {},
setUp :{
toolEditFlag : false,
saveToolFlag : false,
toolHeaderFlag : false,
editData: {},
setUp: {
toolEditFlag: false,
saveToolFlag: false,
toolHeaderFlag: false,
}, },
toolInstanceIdUseHist : [],
sfdcToolingHistList : [],
selectList:{
select1 : [{
toolInstanceIdUseHist: [],
sfdcToolingHistList: [],
selectList: {
select1: [{
value: 'Y', value: 'Y',
label: '启用' label: '启用'
},{
}, {
value: 'N', value: 'N',
label: '禁用' label: '禁用'
}], }],
select2 :[{
select2: [{
value: 'Y', value: 'Y',
label: '是' label: '是'
},{
}, {
value: 'N', value: 'N',
label: '否' label: '否'
}], }],
select3 :[{
select3: [{
value: 'P', value: 'P',
label: '个人' label: '个人'
},{
}, {
value: 'G', value: 'G',
label: '组' label: '组'
}], }],
select4 : [],
select5 : [],
select4: [],
select5: [],
}, },
inputLabel :{
headerInput : {
label1 : '工具编码',
label2 : '工具名称',
label3 : '规格型号',
label4 : '工厂编号',
label5 : '工具分类',
label6 : '工具分类名称',
label7 : '计量单位',
label8 : '在用',
label9 : '属性模块',
label10 : '默认库位',
label11 : '创建物料编码',
label12 : '物料编码',
label13 : '说明',
label14 : '新增日期',
label15 : '录入人',
inputLabel: {
headerInput: {
label1: '工具编码',
label2: '工具名称',
label3: '规格型号',
label4: '工厂编号',
label5: '工具分类',
label6: '工具分类名称',
label7: '计量单位',
label8: '在用',
label9: '属性模块',
label10: '默认库位',
label11: '创建物料编码',
label12: '物料编码',
label13: '说明',
label14: '新增日期',
label15: '录入人',
}, },
leftInput :{
label1 : '工具编号',
label2 : '状态',
label3 : '供应商编码',
label4 : '供应商名称',
label5 : '采购日期',
label6 : '钢印编码',
label7 : '入库日期',
label8 : '终止日期',
label9 : '刀模寿命',
label10 : '使用寿命',
label11 : '录入日期',
label12 : '录入人',
label13 : '采购订单号',
label14 : '备注',
label15 : '工具实例信息',
leftInput: {
label1: '实例编号',
label2: '状态',
label3: '供应商编码',
label4: '供应商名称',
label5: '采购日期',
label6: '钢印编码',
label7: '入库日期',
label8: '终止日期',
label9: '刀模寿命',
label10: '使用寿命',
label11: '录入日期',
label12: '录入人',
label13: '采购订单号',
label14: '备注',
label15: '工具实例信息',
}, },
rightInput :{
label1 : '工具使用记录:',
label2 : '工具维修记录:',
rightInput: {
label1: '工具使用记录:',
label2: '工具维修记录:',
}, },
}, },
currentDetailData :{
currentDetailData: {
actualUseQty: '', actualUseQty: '',
createDate:'',
createdBy:'',
description:'',
createDate: '',
createdBy: '',
description: '',
estUseQty: '', estUseQty: '',
inspectDuration:'',
lastUpdateBy:'',
latestInspectDate:'',
latestUseDate:'',
locationId:'',
phaseInDate:'',
phaseOutDate:'',
purchaseDate:'',
remark:'',
site:'',
status:'',
statusRef:'',
supplierId:'',
supplierName:'',
toolDescription:'',
toolId:'',
toolIndex:'',
toolInstanceId:'',
torNumacc:'',
torNumdown:'',
workCenterNo:'',
steelSeal : '',
strCreateDate:'',
strLatestInspectDate:'',
strLatestUseDate:'',
strPhaseInDate:'',
strPhaseOutDate:'',
strPurchaseDate:'',
inspectDuration: '',
lastUpdateBy: '',
latestInspectDate: '',
latestUseDate: '',
locationId: '',
phaseInDate: '',
phaseOutDate: '',
purchaseDate: '',
remark: '',
site: '',
status: '',
statusRef: '',
supplierId: '',
supplierName: '',
toolDescription: '',
toolId: '',
toolIndex: '',
toolInstanceId: '',
torNumacc: '',
torNumdown: '',
workCenterNo: '',
steelSeal: '',
strCreateDate: '',
strLatestInspectDate: '',
strLatestUseDate: '',
strPhaseInDate: '',
strPhaseOutDate: '',
strPurchaseDate: '',
}, },
detailList : [],
headerData :{},
site : this.$store.state.user.site,
detailList: [],
headerData: {},
site: this.$store.state.user.site,
// table // table
height:450,
height: 450,
// //
favorite: false, favorite: false,
addLanguage: false, addLanguage: false,
@ -654,7 +684,7 @@
// fixed: false, // fixed: false,
// } // }
], ],
columnList2 :[
columnList2: [
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 2501, functionId: 2501,
@ -801,8 +831,8 @@
} }
}, },
mounted() { mounted() {
this.$nextTick(()=>{
this.height = window.innerHeight - 255;
this.$nextTick(() => {
this.height = window.innerHeight - 275;
}) })
}, },
activated() { activated() {
@ -811,7 +841,7 @@
this.getLanguageList() this.getLanguageList()
}, },
methods: { methods: {
rowDblclick(row, column, event){
rowDblclick(row, column, event) {
console.log(row) console.log(row)
console.log(column) console.log(column)
console.log(event) console.log(event)
@ -824,12 +854,12 @@
var json_date = new Date(date).toJSON(); var json_date = new Date(date).toJSON();
return new Date(new Date(json_date) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '') return new Date(new Date(json_date) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '')
}, },
saveToolDetail(){
saveToolDetail() {
this.setUp.saveToolFlag = true this.setUp.saveToolFlag = true
this.editData.purchaseDate = this.editData.strPurchaseDate this.editData.purchaseDate = this.editData.strPurchaseDate
this.editData.phaseInDate = this.editData.strPhaseInDate this.editData.phaseInDate = this.editData.strPhaseInDate
this.editData.phaseOutDate = this.editData.strPhaseOutDate this.editData.phaseOutDate = this.editData.strPhaseOutDate
updateToolDetail(this.editData).then((data) =>{
updateToolDetail(this.editData).then((data) => {
debugger debugger
if (data.code == 0 || data.data.code == 0) { if (data.code == 0 || data.data.code == 0) {
this.toolInstanceIdChange() this.toolInstanceIdChange()
@ -843,70 +873,70 @@
this.setUp.saveToolFlag = false this.setUp.saveToolFlag = false
}) })
}, },
initToolHeaderModel(){
initToolHeaderModel() {
this.toolHeaderList = [] this.toolHeaderList = []
this.setUp.toolHeaderFlag = true this.setUp.toolHeaderFlag = true
this.queryHeaderData.toolId = '' this.queryHeaderData.toolId = ''
this.queryHeaderData.toolDescription = '' this.queryHeaderData.toolDescription = ''
this.getToolHeaderList() this.getToolHeaderList()
}, },
getToolHeaderList(){
getToolHeaderList(this.queryHeaderData).then(({data}) =>{
getToolHeaderList() {
getToolHeaderList(this.queryHeaderData).then(({data}) => {
this.toolHeaderList = data.rows this.toolHeaderList = data.rows
}) })
}, },
initToolModel(){
initToolModel() {
this.setUp.toolEditFlag = true this.setUp.toolEditFlag = true
this.setUp.saveToolFlag = false this.setUp.saveToolFlag = false
this.editData = JSON.parse(JSON.stringify(this.currentDetailData)) this.editData = JSON.parse(JSON.stringify(this.currentDetailData))
}, },
//使 //使
getSfdcToolingHistList(){
getSfdcToolingHistList() {
let queryData = { let queryData = {
site : this.site,
toolInstanceId : this.currentDetailData.toolInstanceId
site: this.site,
toolInstanceId: this.currentDetailData.toolInstanceId
} }
getSfdcToolingHistList(queryData).then(({data}) =>{
getSfdcToolingHistList(queryData).then(({data}) => {
this.sfdcToolingHistList = data.rows this.sfdcToolingHistList = data.rows
}) })
}, },
//使 //使
getToolInstanceIdUseHist(){
getToolInstanceIdUseHist() {
let queryData = { let queryData = {
site : this.site,
toolInstanceId : this.currentDetailData.toolInstanceId
site: this.site,
toolInstanceId: this.currentDetailData.toolInstanceId
} }
getToolInstanceIdUseHist(queryData).then(({data}) =>{
getToolInstanceIdUseHist(queryData).then(({data}) => {
this.toolInstanceIdUseHist = data.rows this.toolInstanceIdUseHist = data.rows
}) })
}, },
toolInstanceIdChange(){
toolInstanceIdChange() {
this.sfdcToolingHistList = [] this.sfdcToolingHistList = []
this.toolInstanceIdUseHist = [] this.toolInstanceIdUseHist = []
let queryData = { let queryData = {
site : this.site,
toolInstanceId : this.currentDetailData.toolInstanceId,
site: this.site,
toolInstanceId: this.currentDetailData.toolInstanceId,
} }
getToolDetailList(queryData).then(({data}) =>{
getToolDetailList(queryData).then(({data}) => {
let list = data.rows let list = data.rows
if(list.length > 0){
if (list.length > 0) {
this.currentDetailData = list[0] this.currentDetailData = list[0]
this.getToolInstanceIdUseHist() this.getToolInstanceIdUseHist()
this.getSfdcToolingHistList() this.getSfdcToolingHistList()
} }
}) })
}, },
getDetailList(){
getDetailList() {
this.currentDetailData = {} this.currentDetailData = {}
this.selectList.select4 = [] this.selectList.select4 = []
this.sfdcToolingHistList = [] this.sfdcToolingHistList = []
this.toolInstanceIdUseHist = [] this.toolInstanceIdUseHist = []
let queryData = { let queryData = {
site : this.site,
toolId : this.headerData.toolId,
toolDescription : this.headerData.toolDescription,
site: this.site,
toolId: this.headerData.toolId,
toolDescription: this.headerData.toolDescription,
} }
getToolDetailList(queryData).then(({data}) =>{
getToolDetailList(queryData).then(({data}) => {
let list = data.rows let list = data.rows
for (let i = 0; i < list.length; i++) { for (let i = 0; i < list.length; i++) {
let selectData = { let selectData = {
@ -915,27 +945,27 @@
} }
this.selectList.select4.push(selectData); this.selectList.select4.push(selectData);
} }
if(list.length > 0){
if (list.length > 0) {
this.currentDetailData = list[0] this.currentDetailData = list[0]
this.toolInstanceIdChange() this.toolInstanceIdChange()
} }
}) })
}, },
// //
getHeaderData(){
getHeaderData() {
let queryData = { let queryData = {
site : this.site,
toolId : this.headerData.toolId,
toolDescription : this.headerData.toolDescription,
site: this.site,
toolId: this.headerData.toolId,
toolDescription: this.headerData.toolDescription,
} }
getToolHeaderData(queryData).then(({data}) =>{
getToolHeaderData(queryData).then(({data}) => {
this.headerData = data.row this.headerData = data.row
this.getDetailList() this.getDetailList()
}) })
}, },
// //
printReport(){
alert( this.$store.state.user.site)
printReport() {
alert(this.$store.state.user.site)
// //
// const LODOP = getLodop() // const LODOP = getLodop()
// if (LODOP) { // if (LODOP) {
@ -958,41 +988,41 @@
// } // }
}, },
// //
favoriteIsOk(){
let userFavorite ={
userId:this.$store.state.user.id,
languageCode:this.$i18n.locale
favoriteIsOk() {
let userFavorite = {
userId: this.$store.state.user.id,
languageCode: this.$i18n.locale
} }
userFavoriteList(userFavorite).then(({data}) =>{
let size = data.list.filter(item => item.menuId==this.$route.meta.menuId).length;
if (size>0){
userFavoriteList(userFavorite).then(({data}) => {
let size = data.list.filter(item => item.menuId == this.$route.meta.menuId).length;
if (size > 0) {
this.favorite = true this.favorite = true
}else {
} else {
this.favorite = false this.favorite = false
} }
}) })
}, },
// OR // OR
favoriteFunction(){
let userFavorite ={
favoriteFunction() {
let userFavorite = {
userId: this.$store.state.user.id, userId: this.$store.state.user.id,
functionId: this.$route.meta.menuId, functionId: this.$route.meta.menuId,
} }
if (this.favorite){
if (this.favorite) {
// //
this.$confirm(`确定取消收藏`, '提示', { this.$confirm(`确定取消收藏`, '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
removeUserFavorite(userFavorite).then(({data})=>{
removeUserFavorite(userFavorite).then(({data}) => {
this.$message.success(data.msg) this.$message.success(data.msg)
this.favorite = false this.favorite = false
}) })
}) })
}else {
} else {
// //
saveUserFavorite(userFavorite).then(({data})=>{
saveUserFavorite(userFavorite).then(({data}) => {
this.$message.success(data.msg) this.$message.success(data.msg)
this.favorite = true this.favorite = true
}) })
@ -1041,7 +1071,7 @@
// button // button
getFunctionButtonList() { getFunctionButtonList() {
searchFunctionButtonList(this.queryButton).then(({data}) => { searchFunctionButtonList(this.queryButton).then(({data}) => {
if (JSON.stringify(data.data)!=='{}') {
if (JSON.stringify(data.data) !== '{}') {
this.buttons = data.data this.buttons = data.data
} else { } else {
saveButtonList(this.buttonList).then(({data}) => { saveButtonList(this.buttonList).then(({data}) => {
@ -1167,23 +1197,23 @@
}) })
}, },
fields(){
fields() {
let json = "{" let json = "{"
this.columnList.forEach((item,index) =>{
if (index == this.columnList.length-1 ){
json +="\""+item.columnLabel+"\"" +":"+"\""+item.columnProp+"\""
}else {
json += "\""+item.columnLabel+"\"" +":"+"\""+item.columnProp+"\""+ ","
this.columnList.forEach((item, index) => {
if (index == this.columnList.length - 1) {
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
} else {
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
} }
}) })
json +="}"
json += "}"
let s = eval("(" + json + ")") let s = eval("(" + json + ")")
return s return s
}, },
createExportData() { createExportData() {
// ,, // ,,
// TODO: // TODO:
if(this.dataListSelections.length>0){
if (this.dataListSelections.length > 0) {
return this.dataListSelections; return this.dataListSelections;
} }
return this.dataList; return this.dataList;

259
src/views/modules/purchaseorder/purchaseRequisition.vue

@ -1,11 +1,58 @@
<template> <template>
<div class="mod-config"> <div class="mod-config">
<el-row>
<el-col :span="24">
<div> <div>
<span @click="favoriteFunction()"> <span @click="favoriteFunction()">
<icon-svg :name="favorite?'xiangqufill':'xiangqu'" class="sl-svg"></icon-svg> <icon-svg :name="favorite?'xiangqufill':'xiangqu'" class="sl-svg"></icon-svg>
</span> </span>
</div> </div>
<el-button @click="getDataList('Y')" type="primary">{{ buttons.search }}</el-button>
<el-button @click="initAddModel(null)" type="primary">{{ buttons.addLabelName }}</el-button>
<el-button @click="saveColumnList()" type="primary" v-show="showDefault">{{ buttons.defaultTable }}
</el-button>
<el-button @click="userSetting()" type="primary">{{ buttons.settingTable }}</el-button>
<download-excel
:fields="fields()"
:data="exportData"
type="xls"
:name="exportName"
:header="exportHeader"
:footer="exportFooter"
:defaultValue="exportDefaultValue"
:fetch="createExportData"
:before-generate="startDownload"
:before-finish="finishDownload"
worksheet="导出信息"
class="el-button el-button--primary el-button--medium">
{{ buttons.download }}
</download-excel>
<el-button v-if="isAuth(':prd:delete')" type="danger" @click="deleteHandle()"
:disabled="dataListSelections.length <= 0">{{ buttons.deleteList }}
</el-button>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form :inline="true" label-position="top"> <el-form :inline="true" label-position="top">
<el-form-item :label="'创建日期'">
<el-date-picker
style="width: 110px"
v-model="mainQueryData.startDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期">\
</el-date-picker>
<el-date-picker
style="width: 110px"
v-model="mainQueryData.endDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd 23:59:59"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item :label="inputSearch1"> <el-form-item :label="inputSearch1">
<el-input style="width: 100px;" clearable placeholder="" v-model="mainQueryData.requisitionno"></el-input> <el-input style="width: 100px;" clearable placeholder="" v-model="mainQueryData.requisitionno"></el-input>
</el-form-item> </el-form-item>
@ -43,34 +90,11 @@
<el-option value="审批部分通过" label="审批部分通过"></el-option> <el-option value="审批部分通过" label="审批部分通过"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item style="margin-top: 20px;">
<el-button @click="getDataList('Y')" type="primary">{{ buttons.search }}</el-button>
<el-button @click="initAddModel(null)" type="primary">{{ buttons.addLabelName }}</el-button>
<el-button @click="saveColumnList()" type="primary" v-show="showDefault">{{ buttons.defaultTable }}
</el-button>
<el-button @click="userSetting()" type="primary">{{ buttons.settingTable }}</el-button>
<download-excel
:fields="fields()"
:data="exportData"
type="xls"
:name="exportName"
:header="exportHeader"
:footer="exportFooter"
:defaultValue="exportDefaultValue"
:fetch="createExportData"
:before-generate="startDownload"
:before-finish="finishDownload"
worksheet="导出信息"
class="el-button el-button--primary el-button--medium">
{{ buttons.download }}
</download-excel>
<el-button v-if="isAuth(':prd:delete')" type="danger" @click="deleteHandle()"
:disabled="dataListSelections.length <= 0">{{ buttons.deleteList }}
</el-button>
</el-form-item>
</el-form> </el-form>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-table <el-table
:height="height" :height="height"
:data="dataList" :data="dataList"
@ -121,59 +145,11 @@
:total="totalPage" :total="totalPage"
layout="total, sizes, prev, pager, next, jumper"> layout="total, sizes, prev, pager, next, jumper">
</el-pagination> </el-pagination>
</el-col>
</el-row>
<el-dialog :close-on-click-modal="false" :show-close="false" :close-on-press-escape="false" title="设置table列"
:visible.sync="visible" width="1000px" v-drag>
<el-form @keyup.enter.native="updateColumnList()"
v-model="userColumnList"
inline="inline"
size="mini"
label-width="80px">
<el-form-item v-for="(item,index) in userColumnList"
:key="item.columnProp"
:label="item.columnLabel"
:prop="item.columnProp">
<el-form-item>
排序
<el-input-number v-model="item.sortLv" controls-position="right" size="mini" :min="0"
:max="10"></el-input-number>
</el-form-item>
<el-form-item>
<el-switch
v-model="item.status"
active-text="显示"
inactive-text="隐藏">
</el-switch>
</el-form-item>
<el-form-item>
<el-switch
v-model="item.columnSortable"
active-text="排序"
inactive-text="不排序">
</el-switch>
</el-form-item>
<el-form-item>
<el-switch
v-model="item.fixed"
active-text="固定"
inactive-text="不固定">
</el-switch>
</el-form-item>
<el-form-item>
宽度
<el-input-number v-model="item.columnWidth" controls-position="right" size="mini" :min="0"
:max="1000"></el-input-number>
</el-form-item>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="updateColumnList()">确定</el-button>
</span>
</el-dialog>
<!-- 设置列 -->
<column v-if="visible" ref="column" @refreshData="getTableUserColumn"></column>
<el-dialog title="申请单信息" :visible.sync="addPRDetailFlag" width="672px" :close-on-click-modal="false" <el-dialog title="申请单信息" :visible.sync="addPRDetailFlag" width="672px" :close-on-click-modal="false"
:close-on-press-escape="false" v-drag> :close-on-press-escape="false" v-drag>
@ -189,16 +165,18 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item >
<el-form-item>
<span slot="label" @click="getBaseList(3)">{{inputSearch10}} </span> <span slot="label" @click="getBaseList(3)">{{inputSearch10}} </span>
<el-input v-model="currentPRDetailData.supplierid" onkeyup="this.value = this.value.toUpperCase()" style="width: 143px"></el-input>
<el-input v-model="currentPRDetailData.supplierid" onkeyup="this.value = this.value.toUpperCase()"
style="width: 143px"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="inputSearch6"> <el-form-item :label="inputSearch6">
<el-input style="text-align: left;width: 143px" onkeyup="this.value = this.value.toUpperCase()" <el-input style="text-align: left;width: 143px" onkeyup="this.value = this.value.toUpperCase()"
v-model="currentPRDetailData.partno"></el-input> v-model="currentPRDetailData.partno"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="inputSearch11"> <el-form-item :label="inputSearch11">
<el-input style="text-align: left;width: 143px" onkeyup="this.value = this.value.toUpperCase()" v-model="currentPRDetailData.partdesc"></el-input>
<el-input style="text-align: left;width: 143px" onkeyup="this.value = this.value.toUpperCase()"
v-model="currentPRDetailData.partdesc"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="inputSearch7"> <el-form-item :label="inputSearch7">
<el-input style="text-align: left;width: 143px" @change="getNumber()" <el-input style="text-align: left;width: 143px" @change="getNumber()"
@ -297,7 +275,7 @@
</el-table> </el-table>
</el-dialog> </el-dialog>
<el-dialog title="预览" :visible.sync="pdfVisible" center width="60%" >
<el-dialog title="预览" :visible.sync="pdfVisible" center width="60%">
<iframe :src="this.pdfUrl" frameborder="0" width="100%" height="400px"></iframe> <iframe :src="this.pdfUrl" frameborder="0" width="100%" height="400px"></iframe>
<!-- <div class="pdf">--> <!-- <div class="pdf">-->
@ -349,7 +327,8 @@
<script> <script>
import Chooselist from '@/views/modules/common/Chooselist' import Chooselist from '@/views/modules/common/Chooselist'
import {
import column from "../common/column";
import {
searchSysLanguagePackList, searchSysLanguagePackList,
searchSysLanguageParam, searchSysLanguageParam,
searchFunctionButtonList, searchFunctionButtonList,
@ -357,18 +336,19 @@ import {
searchSysLanguage, searchSysLanguage,
searchLanguageListByLanguageCode, searchLanguageListByLanguageCode,
saveSysLanguageOne saveSysLanguageOne
} from "@/api/sysLanguage.js"
import {
} from "@/api/sysLanguage.js"
import {
saveTableDefaultList, saveTableDefaultList,
saveTableUser, saveTableUser,
getTableDefaultListLanguage, getTableDefaultListLanguage,
getTableUserListLanguage, getTableUserListLanguage,
removerDefault, removerDefault,
removerUser} from "@/api/table.js"
import {
removerUser
} from "@/api/table.js"
import {
userFavoriteList, saveUserFavorite, removeUserFavorite userFavoriteList, saveUserFavorite, removeUserFavorite
} from '@/api/userFavorite.js'
import {
} from '@/api/userFavorite.js'
import {
getPRHeaderList, getPRHeaderList,
getTblBaseDataList, getTblBaseDataList,
savePRDetail, savePRDetail,
@ -380,20 +360,22 @@ import {
getFileList, getFileList,
getPartFamilyList, getPartFamilyList,
delFileAssociate, delFileAssociate,
} from '@/api/purchaseorder/purchaseRequisition.js'
import upload from "../common/upload";
import axios from "axios";
import Vue from "vue";
} from '@/api/purchaseorder/purchaseRequisition.js'
import upload from "../common/upload";
import axios from "axios";
import Vue from "vue";
export default {
export default {
components: { components: {
upload
,Chooselist},
upload,
Chooselist,
column
},
data() { data() {
return { return {
// //
tagNo : "",
pdfUrl : '',
tagNo: "",
pdfUrl: '',
insertFileList: [], insertFileList: [],
fileList: [], fileList: [],
// table // table
@ -437,10 +419,12 @@ export default {
sysOssEntityList: [], sysOssEntityList: [],
}, },
mainQueryData: { mainQueryData: {
startDate: '',
endDate: '',
requisitionno: '', requisitionno: '',
orderType: '', orderType: '',
partno: '', partno: '',
authorizeFlag: 'N',
authorizeFlag: '',
approveresult: '', approveresult: '',
site: this.$store.state.user.site, site: this.$store.state.user.site,
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
@ -459,7 +443,7 @@ export default {
// //
favorite: false, favorite: false,
addLanguage: false, addLanguage: false,
pdfVisible : false,
pdfVisible: false,
functionId: this.$route.meta.menuId, functionId: this.$route.meta.menuId,
tableId: this.$route.meta.menuId + 'PR01', tableId: this.$route.meta.menuId + 'PR01',
value1: true, value1: true,
@ -497,7 +481,7 @@ export default {
columnProp: "requisitionno", columnProp: "requisitionno",
headerAlign: "center", headerAlign: "center",
align: "center", align: "center",
columnLabel: "申请单号",
columnLabel: "申请单号",
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
@ -560,7 +544,7 @@ export default {
tableName: "PRHeader", tableName: "PRHeader",
columnProp: "qty", columnProp: "qty",
headerAlign: "center", headerAlign: "center",
align: "center",
align: "right",
columnLabel: "申请数量", columnLabel: "申请数量",
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
@ -1064,7 +1048,7 @@ export default {
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
this.height = window.innerHeight - 200;
this.height = window.innerHeight - 210;
}) })
}, },
activated() { activated() {
@ -1076,40 +1060,40 @@ export default {
}, },
methods: { methods: {
delFile(row){
delFile(row) {
console.log(row) console.log(row)
this.fileList = this.fileList.filter(item => item.id != row.id); this.fileList = this.fileList.filter(item => item.id != row.id);
if(this.currentPRDetailData.requisitionno != ''){
if (this.currentPRDetailData.requisitionno != '') {
let jsonData = { let jsonData = {
sysOssId : row.id,
type : 'PRFile'
sysOssId: row.id,
type: 'PRFile'
} }
delFileAssociate(jsonData).then(({data}) => { delFileAssociate(jsonData).then(({data}) => {
}) })
} }
}, },
getBaseData(val){
if (this.tagNo === 3){
getBaseData(val) {
if (this.tagNo === 3) {
this.currentPRDetailData.supplierid = val.SupplierID this.currentPRDetailData.supplierid = val.SupplierID
this.this.currentPRDetailData.suppliername = val.SupplierName this.this.currentPRDetailData.suppliername = val.SupplierName
} }
}, },
// //
getBaseList(val){
getBaseList(val) {
this.tagNo = val this.tagNo = val
this.$nextTick(() => { this.$nextTick(() => {
let strVal = ""; let strVal = "";
if (val === 3){
if (val === 3) {
strVal = this.currentPRDetailData.supplierid strVal = this.currentPRDetailData.supplierid
} }
this.$refs.baseList.init(val,strVal)
this.$refs.baseList.init(val, strVal)
}) })
}, },
getPartFamily(){
getPartFamily() {
let jsonData = { let jsonData = {
site : this.site,
active : 'Y',
site: this.site,
active: 'Y',
} }
this.selectList.select1 = [] this.selectList.select1 = []
getPartFamilyList(jsonData).then(({data}) => { getPartFamilyList(jsonData).then(({data}) => {
@ -1138,7 +1122,7 @@ export default {
responseType: 'blob', responseType: 'blob',
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token':Vue.cookie.get('token')
'token': Vue.cookie.get('token')
} }
}).then(({data}) => { }).then(({data}) => {
// //
@ -1161,9 +1145,9 @@ export default {
// } // }
}) })
}, },
filePreview(row){
filePreview(row) {
this.pdfVisible = true this.pdfVisible = true
this.pdfUrl= '/file/'+row.newFileName
this.pdfUrl = '/file/' + row.newFileName
}, },
childByValue(childValue) { childByValue(childValue) {
// childValue // childValue
@ -1258,7 +1242,7 @@ export default {
} }
}); });
return return
}else if (this.currentPRDetailData.orderref1.trim() === "") {
} else if (this.currentPRDetailData.orderref1.trim() === "") {
this.$alert('请输入工具类型!', '操作提示', { this.$alert('请输入工具类型!', '操作提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
callback: action => { callback: action => {
@ -1310,11 +1294,13 @@ export default {
}) })
}, },
initReapply(row) { initReapply(row) {
this.currentPRDetailData.orderref1 = row.requisitionno
this.currentPRDetailData.orderref1 = row.requisitionno``
this.currentPRDetailData.orderref2 = row.itemno this.currentPRDetailData.orderref2 = row.itemno
this.initAddModel(null, 'Y') this.initAddModel(null, 'Y')
}, },
initAddModel(row, val) { initAddModel(row, val) {
this.initTblBaseDataList()
this.getPartFamily()
this.fileList = [] this.fileList = []
this.insertFileList = [] this.insertFileList = []
if (row == null) { if (row == null) {
@ -1345,7 +1331,7 @@ export default {
this.currentPRDetailData.orderref1 = row.orderref1 this.currentPRDetailData.orderref1 = row.orderref1
this.getFileList(row) this.getFileList(row)
} }
/* if (val != 'Y') {
/* if (val != 'Y') {
this.currentPRDetailData.orderref1 = null this.currentPRDetailData.orderref1 = null
this.currentPRDetailData.orderref2 = null this.currentPRDetailData.orderref2 = null
}*/ }*/
@ -1416,13 +1402,20 @@ export default {
// //
userSetting() { userSetting() {
this.visible = true; this.visible = true;
this.getTableUserAll()
let queryTable = {
userId: this.userId,
functionId: this.functionId,
tableId: this.tableId,
languageCode: this.$i18n.locale
}
this.$nextTick(() => {
this.$refs.column.init(queryTable);
});
}, },
// //
getTableUserAll() { getTableUserAll() {
let queryTable = { let queryTable = {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
tableId: "common1001", tableId: "common1001",
languageCode: this.$i18n.locale languageCode: this.$i18n.locale
} }
@ -1497,7 +1490,7 @@ export default {
await removerDefault(this.queryTable) await removerDefault(this.queryTable)
// table // table
let sumColumnList = this.columnList.concat(this.columnList1); let sumColumnList = this.columnList.concat(this.columnList1);
sumColumnList = sumColumnList.map(item=> {
sumColumnList = sumColumnList.map(item => {
return item = { return item = {
tableId: item.tableId, tableId: item.tableId,
tableName: item.tableName, tableName: item.tableName,
@ -1520,7 +1513,7 @@ export default {
await saveTableDefaultList(sumColumnList) await saveTableDefaultList(sumColumnList)
// button label title // button label title
let buttons = this.buttonList.map( item => {
let buttons = this.buttonList.map(item => {
return item = { return item = {
functionId: this.$route.meta.menuId, functionId: this.$route.meta.menuId,
languageValue: item.languageValue, languageValue: item.languageValue,
@ -1640,10 +1633,10 @@ export default {
this.getFunctionButtonList() this.getFunctionButtonList()
this.favoriteIsOk() this.favoriteIsOk()
} }
}
}
</script> </script>
<style> <style>
.sl-input {
.sl-input {
background-color: transparent; background-color: transparent;
border: 0 !important; border: 0 !important;
font-size: 12px !important; font-size: 12px !important;
@ -1651,17 +1644,17 @@ export default {
line-height: 14px !important; line-height: 14px !important;
background-color: transparent !important; background-color: transparent !important;
width: 140px; width: 140px;
}
}
.sl-input:focus, textarea:focus {
.sl-input:focus, textarea:focus {
outline: none; outline: none;
}
}
.sl-svg {
.sl-svg {
overflow: hidden; overflow: hidden;
float: right; float: right;
}
}
</style> </style>
Loading…
Cancel
Save