Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
God 1 year ago
parent
commit
7d7bdf973b
  1. 1
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/BillFileVo.java
  2. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.java
  3. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.xml
  4. 146
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  5. 4
      anrui-fin/anrui-fin-biz/src/main/resources/ftl/invoiceApply.ftl
  6. 57
      yxt-as-ui/src/api/maintenanceitem/maintenanceitem.js
  7. 35
      yxt-as-ui/src/api/profession/profession.js
  8. 48
      yxt-as-ui/src/router/index.js
  9. 282
      yxt-as-ui/src/views/maintenanceitem/maintenanceitem.vue
  10. 278
      yxt-as-ui/src/views/maintenanceitem/maintenanceitemAdd.vue
  11. 183
      yxt-as-ui/src/views/maintenanceitem/maintenanceitemInfo.vue
  12. 326
      yxt-as-ui/src/views/profession/profession.vue

1
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/BillFileVo.java

@ -20,4 +20,5 @@ public class BillFileVo {
private String openPrice;
@ApiModelProperty("发票类型")
private String type;
private String vinNo;
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.java

@ -118,4 +118,6 @@ public interface FinBillApplicationMapper extends BaseMapper<FinBillApplication>
BaseVehicle selectByVinSid(String vehSid);
CrmCustomerTemp selectByCustomerSid(String openTickSid);
BaseVehicle selectVinNoByVinSid(String vehSid);
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.xml

@ -219,4 +219,8 @@
<select id="selectByCustomerSid" resultType="com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp">
select * from anrui_crm.crm_customer_temp where sid = #{openTickSid}
</select>
<select id="selectVinNoByVinSid" resultType="com.yxt.anrui.base.api.basevehicle.BaseVehicle">
select * from anrui_base.base_vehicle where sid = #{vehSid}
</select>
</mapper>

146
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java

@ -84,6 +84,7 @@ import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicle;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleDto;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicing;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo;
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.FinFundsCarriedForwardApply;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto;
@ -131,6 +132,7 @@ import com.yxt.messagecenter.api.message.*;
import com.yxt.messagecenter.api.messagelist.MessageList;
import com.yxt.messagecenter.api.messagelist.MessageListFeign;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -145,6 +147,7 @@ import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
import static java.util.Collections.singletonList;
import static java.util.Comparator.comparing;
/**
@ -757,31 +760,43 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
}
map.put("contractNo", busSalesOrder.getContractNo());
List<BillFileVo> list = new ArrayList<>();
//====================================主车开始
BillFileVo billFileVo = new BillFileVo();
if (busSalesOrderModel != null) {
billFileVo.setCarName(busSalesOrderModel.getModelName());
billFileVo.setNum(String.valueOf(sameOpenTickSidList.size()));
billFileVo.setPrice(busSalesOrderPrice.getSingleFinalPrice().toString());
}
if (loanSolutions != null) {
/* if (loanSolutions != null) {
if (StringUtils.isNotBlank(loanSolutions.getMainVehicleAmount())) {
billFileVo.setOpenPrice(loanSolutions.getMainVehicleAmount());
}
}
}*/
billFileVo.setOpenPrice(dto.getOneBillMoney());
billFileVo.setType(finBillVehicleDto.getBillTypeValue());//开票类型
list.add(billFileVo);
List<String> vinNoString = new ArrayList<>();
List<FinBillTrailerDto> lllList = new ArrayList<>();
BillFileVo finalBillFileVo = billFileVo;
sameOpenTickSidList.forEach(v -> {
//车架号
BaseVehicle baseVehicle = baseMapper.selectVinNoByVinSid(v.getVehSid());
/* if(baseVehicle != null){
vinNoString.add(baseVehicle.getVinNo());
}*/
List<FinBillTrailerDto> finBillTrailers = dto.getFinBillTrailers();
finBillTrailers.removeAll(Collections.singleton(null));
finBillTrailers = finBillTrailers.stream().filter(vv -> vv.getVinNo().contains(v.getVinNo())).collect(Collectors.toList());
lllList.addAll(finBillTrailers);
/* String vinNo = String.join(",",vinNoString);
billFileVo.setVinNo(vinNo);*/
list.add(finalBillFileVo);
});
//==========================主车结束
Map<String, Object> carNameMap = new HashMap<>();
if (!lllList.isEmpty()) {
for (int i = 0; i < lllList.size(); i++) {
List<String> trailerVinString = new ArrayList<>();
FinBillTrailerDto finBillTrailerDto = lllList.get(i);
billFileVo = new BillFileVo();
BaseTrailer baseTrailer = baseMapper.selectByTrailerNo(finBillTrailerDto.getGcVinNo());
@ -789,36 +804,42 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
BaseTrailerModel baseTrailerModel = baseMapper.selectByModelSid(baseTrailer.getTrailerModelSid());
if (baseTrailerModel != null) {
String carName = "外廓-" + Integer.parseInt(baseTrailerModel.getAppearanceSizeLong()) / 1000 + "米" + "\t" + baseTrailerModel.getTrailerTypeValue();
if (carNameMap.containsKey(carName)) {
carNameMap.put(carName, Integer.parseInt(carNameMap.get(carName).toString()) + 1);
/* if (carNameMap.containsKey(carName)) {
carNameMap.put(carName, Arrays.asList(carNameMap.get(carName).toString()).add(baseTrailer.getVinNo()));
continue;
} else {
billFileVo.setType(busSalesOrder.getBillingType());
if (loanSolutions != null) {
if (StringUtils.isNotBlank(loanSolutions.getMainVehicleAmount())) {
billFileVo.setOpenPrice(loanSolutions.getMainVehicleAmount());
}
}
billFileVo.setCarName(carName);
if (busSalesOrderModel != null) {
billFileVo.setPrice(busSalesOrderPrice.getSingleFinalPrice().toString());
}
carNameMap.put(carName, 1);
trailerVinString.add(baseTrailer.getVinNo());
carNameMap.put(carName,trailerVinString);
list.add(billFileVo);
}
}*/
billFileVo.setCarName(carName);
billFileVo.setVinNo(baseTrailer.getVinNo());
billFileVo.setOpenPrice(finBillTrailerDto.getOneBillMoney());
billFileVo.setPrice(busSalesOrderPrice.getSingleFinalPrice().toString());
billFileVo.setType(finBillTrailerDto.getBillTypeValue());
list.add(billFileVo);
}
}
}
}
if (!list.isEmpty()) {
/*if (!list.isEmpty()) {
for (int i = 0; i < list.size(); i++) {
BillFileVo billFileVo1 = list.get(i);
String carName = billFileVo1.getCarName();
if (carNameMap.containsKey(carName)) {
billFileVo1.setNum(carNameMap.get(carName).toString());
List<String> ssList = castList(carNameMap.get(carName),String.class);
String trailerVinNo = String.join(",",ssList);
billFileVo1.setOpenPrice(Arrays.asList(carName.split("#")).get(1));
billFileVo1.setCarName(Arrays.asList(carName.split("#")).get(0));
billFileVo1.setVinNo(trailerVinNo);
}
}
}
}*/
map.put("list", list);
map.put("name", finBillVehicleDto.getOpenTickName());
String date = DateUtil.today();
@ -829,7 +850,8 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
map.put("year", year);
map.put("month", month);
map.put("day", day);
if (!"02".equals(finBillVehicleDto.getBillTypeKey())) {
FinCompanyInvoicing finCompanyInvoicing = finCompanyInvoicingService.fetchBySid(openTickSid);
if (!"02".equals(finBillVehicleDto.getBillTypeKey()) && finCompanyInvoicing != null) {//机动车
if (finCompanyInvoicingDetailsVo != null) {
//生成车辆登记合同
if (busSalesOrder != null) {
@ -857,45 +879,48 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
}
}
}
if (loanSolutions != null) {
if (!dto.getOneBillMoney().equals(loanSolutions.getMainVehicleAmount())) {
String remarks = "";
String date = DateUtil.today();
List<String> dateString = Arrays.asList(date.split("-"));
String year = dateString.get(0);
String month = dateString.get(1);
String day = dateString.get(2);
filemap.put("year", year);
filemap.put("month", month);
filemap.put("day", day);
if (finCompanyInvoicingDetailsVo != null) {
filemap.put("invoiceName", finCompanyInvoicingDetailsVo.getName());//开票名称
filemap.put("customerName", finCompanyInvoicingDetailsVo.getName());//乙方
filemap.put("invoiceNo", finCompanyInvoicingDetailsVo.getTaxpayerNo());//纳税人识别号
filemap.put("idNo", finCompanyInvoicingDetailsVo.getTaxpayerNo());//乙方证件号码
filemap.put("adds", finCompanyInvoicingDetailsVo.getAddress());//户籍地址
} else {
CrmCustomerTemp crmCustomerTemp = baseMapper.selectByCustomerSid(dto.getOpenTickSid());
if (crmCustomerTemp != null) {
filemap.put("invoiceName", crmCustomerTemp.getName());//开票名称
filemap.put("customerName", crmCustomerTemp.getName());//乙方
filemap.put("invoiceNo", crmCustomerTemp.getIDNumber());//纳税人识别号
filemap.put("idNo", crmCustomerTemp.getIDNumber());//乙方证件号码
filemap.put("adds", crmCustomerTemp.getCertificateAddress());//户籍地址
if("1".equals(busSalesOrder.getPayTypeKey())){
if (loanSolutions != null) {
if (!dto.getOneBillMoney().equals(loanSolutions.getMainVehicleAmount())) {
String remarks = "";
String date = DateUtil.today();
List<String> dateString = Arrays.asList(date.split("-"));
String year = dateString.get(0);
String month = dateString.get(1);
String day = dateString.get(2);
filemap.put("year", year);
filemap.put("month", month);
filemap.put("day", day);
if (finCompanyInvoicingDetailsVo != null) {
filemap.put("invoiceName", finCompanyInvoicingDetailsVo.getName());//开票名称
filemap.put("customerName", finCompanyInvoicingDetailsVo.getName());//乙方
filemap.put("invoiceNo", finCompanyInvoicingDetailsVo.getTaxpayerNo());//纳税人识别号
filemap.put("idNo", finCompanyInvoicingDetailsVo.getTaxpayerNo());//乙方证件号码
filemap.put("adds", finCompanyInvoicingDetailsVo.getAddress());//户籍地址
} else {
CrmCustomerTemp crmCustomerTemp = baseMapper.selectByCustomerSid(dto.getOpenTickSid());
if (crmCustomerTemp != null) {
filemap.put("invoiceName", crmCustomerTemp.getName());//开票名称
filemap.put("customerName", crmCustomerTemp.getName());//乙方
filemap.put("invoiceNo", crmCustomerTemp.getIDNumber());//纳税人识别号
filemap.put("idNo", crmCustomerTemp.getIDNumber());//乙方证件号码
filemap.put("adds", crmCustomerTemp.getCertificateAddress());//户籍地址
}
}
filemap.put("invoiceType", dto.getOpenTickTypeValue());//开票类型
remarks = "数量" + finBillVehicles.size() + "台,单台成交价: 元。";
filemap.put("remarks", remarks);
filemap.put("busSid", busSalesOrder.getSid());
ResultBean<Map<String, Object>> mapResultBean = commonContractFeign.getModelMap(filemap);
checkMap = mapResultBean.getData();
//生成新车空白合同
checkMap.put("totalPrice", "");
checkMap.put("priceRemarks", "");
checkMap.put("depositTotal", "");
checkMap.put("createOrgName", "");
checkMap.put("payTypeKey", busSalesOrder.getPayTypeKey());
}
filemap.put("invoiceType", dto.getOpenTickTypeValue());//开票类型
remarks = "数量" + finBillVehicles.size() + "台,单台成交价: 元。";
filemap.put("remarks", remarks);
filemap.put("busSid", busSalesOrder.getSid());
ResultBean<Map<String, Object>> mapResultBean = commonContractFeign.getModelMap(filemap);
checkMap = mapResultBean.getData();
//生成新车空白合同
checkMap.put("totalPrice", "");
checkMap.put("priceRemarks", "");
checkMap.put("depositTotal", "");
checkMap.put("createOrgName", "");
checkMap.put("payTypeKey", busSalesOrder.getPayTypeKey());
}
}
try {
@ -5267,4 +5292,15 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
log.error("生成文件失败:==========================" + e.getMessage());
}*/
}
public List<String> castList(Object obj, Class<String> clazz){
List<String> result = new ArrayList<>();
if(obj instanceof List<?>){
for (Object o : (List<?>) obj){
result.add(clazz.cast(o));
}
return result;
}
return new ArrayList<>();
}
}

4
anrui-fin/anrui-fin-biz/src/main/resources/ftl/invoiceApply.ftl

@ -998,7 +998,7 @@
<w:sz w:val="28"/>
<w:sz-cs w:val="28"/>
</w:rPr>
<w:t>数量</w:t>
<w:t>车架号</w:t>
</w:r>
</w:p>
</w:tc>
@ -1194,7 +1194,7 @@
<w:kern w:val="0"/>
<w:sz-cs w:val="21"/>
</w:rPr>
<w:t>${car.num!}</w:t>
<w:t>${car.vinNo!}</w:t>
</w:r>
</w:p>
</w:tc>

57
yxt-as-ui/src/api/maintenanceitem/maintenanceitem.js

@ -0,0 +1,57 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/as/v1/AsServiceItem/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
saveOrUpdate: function(data) {
return request({
url: '/as/v1/AsServiceItem/saveServiceItem',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
fetchBySid: function(data) {
return request({
url: '/as/v1/AsServiceItem/fetchDetails/' + data,
method: 'get'
})
},
deleteBySids: function(data) {
return request({
url: '/as/v1/AsServiceItem/delBySids',
method: 'DELETE',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 根据分公司全路径sid查询本分公司下的品牌,再根据品牌查询相应的关联车型信息
getVehModel: function(data) {
return request({
url: '/as/v1/AsServiceItem/getVehModel',
method: 'get',
params: data
})
},
getManufacturers: function(data) {
return request({
url: '/as/v1/AsServiceItem/getManufacturers',
method: 'get',
params: data
})
},
getServiceType: function(data) {
return request({
url: '/as/v1/AsServiceItem/getServiceType',
method: 'get',
params: data
})
}
}

35
yxt-as-ui/src/api/profession/profession.js

@ -0,0 +1,35 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/as/v1/asservicetype/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
fetchBySid: function(data) {
return request({
url: '/as/v1/asservicetype/fetchDetailsBySid/' + data,
method: 'get'
})
},
saveOrUpdate: function(data) {
return request({
url: '/as/v1/asservicetype/save',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
deleteBySids: function(data) {
return request({
url: '/as/v1/asservicetype/delBySids',
method: 'DELETE',
data: data,
headers: { 'Content-Type': 'application/json' }
})
}
}

48
yxt-as-ui/src/router/index.js

@ -42,6 +42,54 @@ export const constantRoutes = [
component: () =>
import('@/views/404'),
hidden: true
},
{
path: '/profession',
component: Layout,
redirect: '/profession',
meta: {
title: '工种管理'
},
children: [
{
path: '/profession/profession',
component: () => import('@/views/profession/profession.vue'),
name: 'Profession',
meta: { title: '工种管理', noCache: true }
}
]
},
{
path: '/subjects',
component: Layout,
redirect: '/subjects',
meta: {
title: '科目管理'
},
children: [
{
path: '/subjects/subjects',
component: () => import('@/views/subjects/subjects.vue'),
name: 'Subjects',
meta: { title: '科目管理', noCache: true }
}
]
},
{
path: '/maintenanceitem',
component: Layout,
redirect: '/maintenanceitem',
meta: {
title: '维修项目管理'
},
children: [
{
path: '/maintenanceitem/maintenanceitem',
component: () => import('@/views/maintenanceitem/maintenanceitem.vue'),
name: 'MaintenanceItem',
meta: { title: '维修项目管理', noCache: true }
}
]
},
// 404 page must be placed at the end !!!
// { path: '*', redirect: '/404', hidden: true }

282
yxt-as-ui/src/views/maintenanceitem/maintenanceitem.vue

@ -0,0 +1,282 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="维修项目管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="类别">
<el-input v-model="listQuery.params.serviceType" placeholder="" clearable/>
</el-form-item>
<el-form-item label="厂家">
<el-input v-model="listQuery.params.manufacturer" placeholder="" clearable/>
</el-form-item>
<el-form-item label="项目名称">
<el-input v-model="listQuery.params.sitemName" placeholder="" clearable/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">维修项目列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="操作" width="180px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)">办理</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="sitemName" label="项目名称" align="center" width="130" />
<el-table-column prop="sitemCode" label="拼音缩写" align="center" width="100" />
<el-table-column prop="serviceType" label="分类" align="center" width="100" />
<el-table-column prop="manufacturer" label="厂家" align="center" width="100" />
<el-table-column prop="goodsModel" label="车型" align="center" min-width="300" />
<el-table-column prop="remarks" label="备注" align="center" min-width="200" />
<el-table-column prop="hourPrice" label="销售单价" align="center" width="100" />
<el-table-column prop="hours" label="工时数" align="center" width="100" />
<el-table-column prop="price" label="销售金额" align="center" width="100" />
<el-table-column prop="examineHourPrice" label="考核价" align="center" width="100" />
<el-table-column prop="cost" label="成本" align="center" width="100" />
<el-table-column label="预约项目" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.isReserve == '1' ? '是' : '否' }}</span>
</template>
</el-table-column>
<el-table-column prop="sortNo" label="排序" align="center" width="80" />
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--End查询列表部分-->
</div>
</div>
<!--新增及修改 -->
<maintenanceitemAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<!--详情-->
<maintenanceitemInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" />
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/maintenanceitem/maintenanceitem'
import maintenanceitemAdd from './maintenanceitemAdd'
import maintenanceitemInfo from './maintenanceitemInfo'
import Team from "@/views/team/team";
export default {
name: 'MaintenanceItem',
components: {
Team,
Pagination,
pageye,
ButtonBar,
maintenanceitemAdd,
maintenanceitemInfo
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
FormLoading: false,
listLoading: false,
//
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
serviceType: '',
sitemName: '',
manufacturer: '',
orgPath: ''
}
}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
// sid
handleSelectionChange(row) {
const aa = []
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
req.listPage(this.listQuery).then(response => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
serviceType: '',
sitemName: '',
manufacturer: '',
orgPath: ''
}
}
this.getList()
},
toAdd() {
this.viewState = 2
this.$refs['divAdd'].showAdd()
},
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
//
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
//
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

278
yxt-as-ui/src/views/maintenanceitem/maintenanceitemAdd.vue

@ -0,0 +1,278 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty"><span class="icon">*</span>项目名称</div>
<el-form-item prop="sitemName"><el-input class="addinputInfo addinputw" v-model="formobj.sitemName" clearable placeholder="" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">拼音缩写</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.sitemCode" clearable placeholder="" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="icon">*</span>工种</div>
<el-form-item prop="serviceType">
<el-select class="addinputInfo" v-model="formobj.serviceType" placeholder="请选择" @change="serviceTypeChange" clearable filterable>
<el-option v-for="item in serviceType_list" :key="item.serviceTypeSid" :label="item.serviceType" :value="item.serviceType"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">车型</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.goodsModel" placeholder="请选择" @change="goodsModelChange" clearable filterable>
<el-option v-for="item in goodsModel_list" :key="item.goodsModelSid" :label="item.goodsModel" :value="item.goodsModel"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">厂家</div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.manufacturer" placeholder="请选择" @change="manufacturerChange" clearable filterable>
<el-option v-for="item in manufacturer_list" :key="item.manufacturerSid" :label="item.manufacturer" :value="item.manufacturer"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">备注</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.remarks" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">排序</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.sortNo" clearable placeholder="" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">工时单价</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.hourPrice" clearable placeholder="" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">工时数</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.hours" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">销售价</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.price" clearable placeholder="" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">考核工时</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.examineHourPrice" clearable placeholder="" /></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">成本</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.cost" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">预约项目</div>
<el-form-item>
<el-radio-group class="addinputInfo" style="font-size: 1px" v-model="formobj.isReserve">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">洗车项目</div>
<el-form-item>
<el-radio-group class="addinputInfo" style="font-size: 1px" v-model="formobj.isClean">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8">
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/maintenanceitem/maintenanceitem'
export default {
name: 'MaintenanceItemAdd',
data() {
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
tableKey: 0,
index: 0,
serviceType_list: [],
goodsModel_list: [],
manufacturer_list: [],
formobj: {
sid: '',
createBySid: '',
sitemName: '',
sitemCode: '',
serviceTypeSid: '',
serviceType: '',
goodsModelSid: '',
goodsModel: '',
manufacturerSid: '',
manufacturer: '',
hourPrice: '',
hours: '',
price: '',
examineHourPrice: '',
cost: '',
isReserve: '',
isClean: '',
sortNo: '',
remarks: '',
useOrgSid: '',
createOrgSid: ''
},
rules: {
sitemName: [{ required: true, message: '项目名称不能为空', trigger: 'blur' }],
serviceType: [{ required: true, message: '工种不能为空', trigger: 'change' }]
}
}
},
methods: {
init() {
req.getServiceType({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
if (res.success) {
this.serviceType_list = res.data
}
})
req.getVehModel({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
if (res.success) {
this.goodsModel_list = res.data
}
})
req.getManufacturers({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
if (res.success) {
this.manufacturer_list = res.data
}
})
},
showAdd() {
this.viewTitle = '【新增】维修项目'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
},
showEdit(row) {
this.viewTitle = '【新增】维修项目'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
req.fetchBySid(row.sid).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
serviceTypeChange(value) {
const choose = this.serviceType_list.filter((item) => item.serviceType === value)
if (choose !== null && choose.length > 0) {
this.formobj.serviceTypeSid = choose[0].serviceTypeSid
} else {
this.formobj.serviceTypeSid = ''
}
},
goodsModelChange(value) {
const choose = this.goodsModel_list.filter((item) => item.goodsModel === value)
if (choose !== null && choose.length > 0) {
this.formobj.goodsModelSid = choose[0].goodsModelSid
} else {
this.formobj.goodsModelSid = ''
}
},
manufacturerChange(value) {
const choose = this.manufacturer_list.filter((item) => item.manufacturer === value)
if (choose !== null && choose.length > 0) {
this.formobj.manufacturerSid = choose[0].manufacturerSid
} else {
this.formobj.manufacturerSid = ''
}
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
this.formobj.orgPath = window.sessionStorage.getItem('defaultOrgPath')
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
sid: '',
createBySid: '',
sitemName: '',
sitemCode: '',
serviceTypeSid: '',
serviceType: '',
goodsModelSid: '',
goodsModel: '',
manufacturerSid: '',
manufacturer: '',
hourPrice: '',
hours: '',
price: '',
examineHourPrice: '',
cost: '',
isReserve: '',
isClean: '',
sortNo: '',
remarks: '',
useOrgSid: '',
createOrgSid: ''
}
this.submitdisabled = false
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
/deep/ .el-form-item__error {
margin-left: 120px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important;
width: calc(100% - 115px);
}
</style>

183
yxt-as-ui/src/views/maintenanceitem/maintenanceitemInfo.vue

@ -0,0 +1,183 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">项目名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.sitemName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">拼音缩写</div>
<el-form-item><span class="addinputInfo">{{ formobj.sitemCode }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">工种</div>
<el-form-item><span class="addinputInfo">{{ formobj.serviceType }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8" class="tlineheightb">
<div class="span-sty">车型</div>
<el-form-item><span class="addinputInfo">{{ formobj.goodsModel }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">厂家</div>
<el-form-item><span class="addinputInfo">{{ formobj.manufacturer }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">排序</div>
<el-form-item><span class="addinputInfo">{{ formobj.sortNo }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">工时单价</div>
<el-form-item><span class="addinputInfo">{{ formobj.hourPrice }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">工时数</div>
<el-form-item><span class="addinputInfo">{{ formobj.hours }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">销售价</div>
<el-form-item><span class="addinputInfo">{{ formobj.price }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">考核工时</div>
<el-form-item><span class="addinputInfo">{{ formobj.examineHourPrice }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">成本</div>
<el-form-item><span class="addinputInfo">{{ formobj.cost }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">预约项目</div>
<el-form-item><span class="addinputInfo">{{ formobj.isReserve == '1' ? '是' : '否' }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">洗车项目</div>
<el-form-item><span class="addinputInfo">{{ formobj.isClean == '1' ? '是' : '否' }}</span></el-form-item>
</el-col>
<el-col :span="8">
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/maintenanceitem/maintenanceitem'
export default {
name: 'MaintenanceItemInfo',
data() {
return {
viewTitle: '',
viewState: 1,
formobj: {
sid: '',
createBySid: '',
sitemName: '',
sitemCode: '',
serviceTypeSid: '',
serviceType: '',
goodsModelSid: '',
goodsModel: '',
manufacturerSid: '',
manufacturer: '',
hourPrice: '',
hours: '',
price: '',
examineHourPrice: '',
cost: '',
isReserve: '',
isClean: '',
sortNo: '',
remarks: '',
useOrgSid: '',
createOrgSid: ''
},
rules: {}
}
},
methods: {
showInfo(row) {
this.viewTitle = '维修项目详情'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid(row.sid).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
handleReturn() {
this.formobj = {
sid: '',
createBySid: '',
sitemName: '',
sitemCode: '',
serviceTypeSid: '',
serviceType: '',
goodsModelSid: '',
goodsModel: '',
manufacturerSid: '',
manufacturer: '',
hourPrice: '',
hours: '',
price: '',
examineHourPrice: '',
cost: '',
isReserve: '',
isClean: '',
sortNo: '',
remarks: '',
useOrgSid: '',
createOrgSid: ''
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.tlineheightb {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo {
line-height: 15px !important;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
}
</style>

326
yxt-as-ui/src/views/profession/profession.vue

@ -0,0 +1,326 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="工种管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="门店">
<el-input v-model="listQuery.params.useOrgName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="工种">
<el-input v-model="listQuery.params.serviceTypeName" placeholder="" clearable/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">工种列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="操作" width="180px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)">编辑</el-button>
</template>
</el-table-column>
<el-table-column prop="sortNo" label="排序" align="center" />
<el-table-column prop="serviceTypeName" label="类别名称" align="center" />
<el-table-column prop="percentageRate" label="提成比例" align="center" />
<el-table-column prop="percentageAmount" label="提成金额" align="center" />
<el-table-column prop="useOrgName" label="门店" align="center" />
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--End查询列表部分-->
</div>
</div>
<el-dialog center :visible.sync="dialogVisible" width="70%">
<el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="12">
<div class="span-sty">类别名称</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.serviceTypeName" clearable placeholder="" /></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">类别编码</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.serviceTypeCode" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty">提成比例</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.percentageRate" clearable placeholder="" /></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty">提成金额</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.percentageAmount" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">排序</div>
<el-form-item><el-input class="addinputInfo addinputw" v-model="formobj.sortNo" clearable placeholder="" /></el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" size="small" @click="handleConfirm">确定</el-button>
<el-button size="small" @click="handleClose">取消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/profession/profession'
export default {
name: 'Profession',
components: {
Pagination,
pageye,
ButtonBar
},
data() {
return {
dialogVisible: false,
formobj: {
orgPath: '',
sid: '',
sortNo: '',
serviceTypeCode: '',
serviceTypeName: '',
percentageAmount: '',
percentageRate: ''
},
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
listLoading: false,
//
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
useOrgName: '',
serviceTypeName: '',
store: ''
}
}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
// sid
handleSelectionChange(row) {
const aa = []
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
req.listPage(this.listQuery).then(response => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
useOrgName: '',
serviceTypeName: '',
store: ''
}
}
this.getList()
},
toAdd() {
this.dialogVisible = true
},
toEdit(row) {
this.dialogVisible = true
req.fetchBySid(row.sid).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
handleConfirm() {
this.formobj.orgPath = window.sessionStorage.getItem('defaultOrgPath')
req.saveOrUpdate(this.formobj).then((resp) => {
if (resp.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleClose()
}
})
},
handleClose() {
this.dialogVisible = false
this.formobj = {
orgPath: '',
sid: '',
sortNo: '',
serviceTypeCode: '',
serviceTypeName: '',
percentageAmount: '',
percentageRate: ''
}
},
//
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
//
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
.span-sty {
width: 80px !important;
}
.addinputInfo {
margin-left: 75px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 75px !important;
width: calc(100% - 70px);
}
</style>
Loading…
Cancel
Save