|
@@ -57,7 +57,7 @@
|
|
|
<el-divider></el-divider>
|
|
|
<!-- 列表 -->
|
|
|
<div class="mymain-container">
|
|
|
- <div class="table">
|
|
|
+ <div class="table" v-if="czType === 'detail'">
|
|
|
<el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
|
|
|
<el-table-column label="序号" align="left" type="index" width="100" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column align="left" label="经销商编号" prop="customerNumber" min-width="160" show-overflow-tooltip>
|
|
@@ -107,8 +107,107 @@
|
|
|
<el-table-column align="left" label="备注" prop="remark" min-width="160" show-overflow-tooltip></el-table-column>
|
|
|
</el-table>
|
|
|
</div>
|
|
|
+ <div class="table" v-if="czType ==='edit'">
|
|
|
+ <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe :row-class-name="rouClassNameFn" @row-click="onRowClick">
|
|
|
+ <el-table-column align="left" label="序号">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.$index + 1 }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="*经销商名称" prop="customerName" min-width="300" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-select class="selectClass" @change="changeCustomerFn($event, scope.$index)" v-model="scope.row.customerId" placeholder="请选择" filterable>
|
|
|
+ <el-option v-for="(item, i) in customerList" :key="i" :label="item.name" :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="费用项目编码" prop="projectCode" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.projectCode"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="*项目费用名称" prop="projectName" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.projectName"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="*费用承担部门" prop="departmentId" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.departmentId"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="*收入部门" prop="incomeDept" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.incomeDept"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="现金钱包" prop="walletId" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-select filterable v-model="scope.row.customerWalletId" placeholder="请选择">
|
|
|
+ <el-option v-for="item in scope.row.walletList" :key="item.customerWalletId" :label="item.customerWalletName" :value="item.customerWalletId">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="*发票类型" prop="invoiceType" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <!-- <el-input v-model="scope.row.invoiceType"></el-input> -->
|
|
|
+ <el-select filterable v-model="scope.row.invoiceType" placeholder="请选择">
|
|
|
+ <el-option label="普通发票" value=""> </el-option>
|
|
|
+ <el-option label="增值税发票" value="1"> </el-option>
|
|
|
+ <el-option label="机票" value="P"> </el-option>
|
|
|
+ <el-option label="火车票" value="R"> </el-option>
|
|
|
+ <el-option label="其他运输票" value="O"> </el-option>
|
|
|
+ <el-option label="其他" value="E"> </el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <!-- <el-table-column
|
|
|
+ align="center"
|
|
|
+ label="不含税金额"
|
|
|
+ prop="afterTaxAmount"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.afterTaxAmount"
|
|
|
+ type="number"
|
|
|
+ ></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ label="税额"
|
|
|
+ prop="tax"
|
|
|
+ min-width="160"
|
|
|
+ show-overflow-tooltip
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input type="number" v-model="scope.row.tax"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column> -->
|
|
|
+ <el-table-column align="right" label="*总金额" prop="tax" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input class='mountclass' type="number" v-model="scope.row.totalAmount"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="税率%" prop="" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input type="number" :min="0" oninput="if(value>100)value=100;if(value<0)value=0" v-model="scope.row.taxRate"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="left" label="备注" prop="remark" min-width="160" show-overflow-tooltip>
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.remark"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+
|
|
|
</div>
|
|
|
- <div v-if="searchForm.examineStatus != '待审核'">
|
|
|
+ <div v-if="examineStatus === 'FAIL' || examineStatus === 'OK'">
|
|
|
<span>审批记录</span>
|
|
|
<el-divider></el-divider>
|
|
|
<div class="diy-table-1">
|
|
@@ -140,21 +239,42 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
+ <!-- 按钮 -->
|
|
|
+ <div class="btn-group clearfix">
|
|
|
+ <div class="fl">
|
|
|
+ <el-button v-if="czType == 'edit'" size="mini" type="primary" @click="saveFn">保存</el-button>
|
|
|
+ </div>
|
|
|
+ <div class="fr">
|
|
|
+ <el-button type="primary" size="small" @click="addRowFn">添加行</el-button>
|
|
|
+ <el-button type="primary" size="small" @click="delRowFn">删除行</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<br />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { getFinanceOtherReceDetail } from "@/api/finance/receivable_list";
|
|
|
+import {
|
|
|
+ getFinanceOtherReceDetail,
|
|
|
+ getCustomerList,
|
|
|
+ getFinanceCustomerList,
|
|
|
+ getFinanceOtherReceUpdate,
|
|
|
+} from "@/api/finance/receivable_list";
|
|
|
+
|
|
|
export default {
|
|
|
props: {
|
|
|
approvalId: {
|
|
|
type: String,
|
|
|
required: true,
|
|
|
},
|
|
|
+ czType: {
|
|
|
+ type: String,
|
|
|
+ required: true,
|
|
|
+ },
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ customerList: [], //经销商数据
|
|
|
dataList: [],
|
|
|
listLoading: false, // 列表加载loading
|
|
|
examineBy: "", //审核人
|
|
@@ -175,11 +295,67 @@ export default {
|
|
|
},
|
|
|
created() {
|
|
|
this.getDataList();
|
|
|
+ this.getCustomerList();
|
|
|
},
|
|
|
methods: {
|
|
|
+ //保存
|
|
|
+ async saveFn() {
|
|
|
+ await getFinanceOtherReceUpdate({
|
|
|
+ id: this.approvalId,
|
|
|
+ items: this.dataList,
|
|
|
+ examineStatus: this.examineStatus,
|
|
|
+ code: this.searchForm.code,
|
|
|
+ });
|
|
|
+ this.$message.success("编辑成功");
|
|
|
+ this.$parent.showPage = 1;
|
|
|
+ },
|
|
|
+ //选择经销商名称事件
|
|
|
+ async changeCustomerFn(v, index) {
|
|
|
+ // console.log(v, 322311);
|
|
|
+ this.dataList[index].customerWalletId = "";
|
|
|
+ const res = await getFinanceCustomerList({
|
|
|
+ customerId: v,
|
|
|
+ type: "COMMONLY",
|
|
|
+ });
|
|
|
+ this.$set(this.dataList[index], "walletList", res.data);
|
|
|
+ console.log(this.dataList, "kkk");
|
|
|
+ // this.walletList = res.data;
|
|
|
+ },
|
|
|
+ //获取经销商数据
|
|
|
+ async getCustomerList() {
|
|
|
+ const res = await getCustomerList({ pageNum: 1, pageSize: -1 });
|
|
|
+ this.customerList = res.data.records;
|
|
|
+ },
|
|
|
+ rouClassNameFn({ row, rowIndex }) {
|
|
|
+ //把每一行的索引放进row
|
|
|
+ row.index = rowIndex;
|
|
|
+ },
|
|
|
+ onRowClick(row, event, column) {
|
|
|
+ this.delIndex = row.index;
|
|
|
+ },
|
|
|
+ //删除行
|
|
|
+ delRowFn() {
|
|
|
+ this.dataList.splice(this.delIndex, 1);
|
|
|
+ },
|
|
|
+ //添加行数据
|
|
|
+ addRowFn() {
|
|
|
+ this.dataList.push({
|
|
|
+ customerId: "",
|
|
|
+ projectCode: "FYXM01_SYS",
|
|
|
+ projectName: "材料成本",
|
|
|
+ departmentId: "",
|
|
|
+ customerWalletId: "",
|
|
|
+ invoiceType: "",
|
|
|
+ incomeDept: "",
|
|
|
+ // afterTaxAmount: "",
|
|
|
+ // tax: "",
|
|
|
+ totalAmount: "",
|
|
|
+ taxRate: 13,
|
|
|
+ });
|
|
|
+ },
|
|
|
async getDataList() {
|
|
|
const res = await getFinanceOtherReceDetail({ id: this.approvalId });
|
|
|
- console.log(res);
|
|
|
+ // console.log(res, 123456);
|
|
|
this.examineBy = res.data.examineBy;
|
|
|
this.examineTime = res.data.examineTime;
|
|
|
this.examineStatus = res.data.examineStatus;
|
|
@@ -196,9 +372,23 @@ export default {
|
|
|
? "已通过"
|
|
|
: res.data.examineStatus == "FAIL"
|
|
|
? "不通过"
|
|
|
+ : res.data.examineStatus == "SAVE"
|
|
|
+ ? "保存"
|
|
|
: "待审核",
|
|
|
remark: res.data.remark,
|
|
|
};
|
|
|
+ // res.data.items.forEach((v) => {
|
|
|
+ // this.changeCustomerFn(v.customerId, v.index);
|
|
|
+ // });
|
|
|
+ for (let index = 0; index < res.data.items.length; index++) {
|
|
|
+ const a = await getFinanceCustomerList({
|
|
|
+ customerId: res.data.items[index].customerId,
|
|
|
+ type: "COMMONLY",
|
|
|
+ });
|
|
|
+
|
|
|
+ res.data.items[index]["walletList"] = a.data;
|
|
|
+ // this.$set(this.dataList[index], "walletList", a.data);
|
|
|
+ }
|
|
|
this.dataList = res.data.items;
|
|
|
},
|
|
|
goBack() {
|
|
@@ -207,5 +397,8 @@ export default {
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
-
|
|
|
-<style></style>
|
|
|
+<style lang="scss" scoped>
|
|
|
+.selectClass {
|
|
|
+ width: 100%;
|
|
|
+}
|
|
|
+</style>
|