|
@@ -1,3 +1,4 @@
|
|
|
|
+
|
|
<!--销售合同-->
|
|
<!--销售合同-->
|
|
<!--2019年5月30日 20:25:16 by jlx-->
|
|
<!--2019年5月30日 20:25:16 by jlx-->
|
|
<template>
|
|
<template>
|
|
@@ -6,16 +7,25 @@
|
|
<template slot="left">
|
|
<template slot="left">
|
|
<ws-button
|
|
<ws-button
|
|
type="primary"
|
|
type="primary"
|
|
- :disable="checkBtn"
|
|
|
|
@click="handleAdd()"
|
|
@click="handleAdd()"
|
|
v-hasPermission="
|
|
v-hasPermission="
|
|
`${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
|
|
`${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
|
|
"
|
|
"
|
|
- >添加</ws-button
|
|
|
|
|
|
+ ><img
|
|
|
|
+ width="13"
|
|
|
|
+ height="13"
|
|
|
|
+ style="
|
|
|
|
+ vertical-align: text-top;
|
|
|
|
+ position: relative;
|
|
|
|
+ top: 2px;
|
|
|
|
+ left: -4px;
|
|
|
|
+ "
|
|
|
|
+ src="../../../public/img/header-add.png"
|
|
|
|
+ alt=""
|
|
|
|
+ />添加</ws-button
|
|
>
|
|
>
|
|
<ws-button
|
|
<ws-button
|
|
- :disable="checkBtn"
|
|
|
|
- @click="enquiry(3)"
|
|
|
|
|
|
+ @click="exportlist()"
|
|
v-hasPermission="
|
|
v-hasPermission="
|
|
`${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
|
|
`${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
|
|
"
|
|
"
|
|
@@ -37,25 +47,18 @@
|
|
:value="item.value"
|
|
:value="item.value"
|
|
/>
|
|
/>
|
|
</ws-select>
|
|
</ws-select>
|
|
- <ws-date-picker
|
|
|
|
- :picker-options="pickerBeginDateBefore"
|
|
|
|
- v-model="startDate"
|
|
|
|
- type="date"
|
|
|
|
- default-value="1980-01-01"
|
|
|
|
- placeholder="起始日期"
|
|
|
|
- format="yyyy-MM-dd"
|
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
|
- />
|
|
|
|
- <span>至</span>
|
|
|
|
- <ws-date-picker
|
|
|
|
- :picker-options="pickerBeginDateBefore"
|
|
|
|
- v-model="endDate"
|
|
|
|
- type="date"
|
|
|
|
- default-value="1980-01-01"
|
|
|
|
- placeholder="截止日期"
|
|
|
|
- format="yyyy-MM-dd"
|
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
|
- />
|
|
|
|
|
|
+
|
|
|
|
+ <el-date-picker
|
|
|
|
+ v-model="value2"
|
|
|
|
+ type="daterange"
|
|
|
|
+ align="right"
|
|
|
|
+ unlink-panels
|
|
|
|
+ range-separator="至"
|
|
|
|
+ start-placeholder="开始日期"
|
|
|
|
+ end-placeholder="结束日期"
|
|
|
|
+ :picker-options="pickerOptions"
|
|
|
|
+ >
|
|
|
|
+ </el-date-picker>
|
|
<ws-input
|
|
<ws-input
|
|
v-model="searchKeyWord"
|
|
v-model="searchKeyWord"
|
|
placeholder="可按照合同编号、买方名称、卖方名称进行查找"
|
|
placeholder="可按照合同编号、买方名称、卖方名称进行查找"
|
|
@@ -66,18 +69,32 @@
|
|
></ws-input>
|
|
></ws-input>
|
|
<!-- v-hasPermission="'procurement.sparepart.directShip'" -->
|
|
<!-- v-hasPermission="'procurement.sparepart.directShip'" -->
|
|
<ws-button
|
|
<ws-button
|
|
|
|
+ class="find"
|
|
type="primary"
|
|
type="primary"
|
|
- :disable="checkBtn"
|
|
|
|
@click="find()"
|
|
@click="find()"
|
|
v-hasPermission="
|
|
v-hasPermission="
|
|
`${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
|
|
`${$permission('PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE')}`
|
|
"
|
|
"
|
|
- >查找</ws-button
|
|
|
|
- >
|
|
|
|
|
|
+ ><img
|
|
|
|
+ width="16"
|
|
|
|
+ height="16"
|
|
|
|
+ style="
|
|
|
|
+ vertical-align: text-top;
|
|
|
|
+ position: relative;
|
|
|
|
+ top: 0px;
|
|
|
|
+ left: -8px;
|
|
|
|
+ "
|
|
|
|
+ src="../../../public/img/sousuo.png"
|
|
|
|
+ alt=""
|
|
|
|
+ /></ws-button>
|
|
</template>
|
|
</template>
|
|
</BaseHeaderLayout>
|
|
</BaseHeaderLayout>
|
|
-
|
|
|
|
- <el-table :data="tableData.records" style="width: 100%; margin-top: 10px">
|
|
|
|
|
|
+ <el-table
|
|
|
|
+ class="wenzi"
|
|
|
|
+ :data="contractList.records"
|
|
|
|
+ style="width: 100%; margin-top: 10px"
|
|
|
|
+ height="780"
|
|
|
|
+ >
|
|
<el-table-column type="index" label="序号">
|
|
<el-table-column type="index" label="序号">
|
|
<template scope="scope">
|
|
<template scope="scope">
|
|
<span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
|
|
<span v-if="scope.$index < 9">0{{ scope.$index + 1 }}</span>
|
|
@@ -88,7 +105,22 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column prop="goodsName" label="货名" width="80">
|
|
<el-table-column prop="goodsName" label="货名" width="80">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="grade" label="品级"> </el-table-column>
|
|
|
|
|
|
+ <el-table-column prop="grade" label="品级">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <span v-if="scope.row.grade == '一等品'" class="top-grade">{{
|
|
|
|
+ scope.row.grade
|
|
|
|
+ }}</span>
|
|
|
|
+ <span v-if="scope.row.grade == '二等品'" class="second-class">{{
|
|
|
|
+ scope.row.grade
|
|
|
|
+ }}</span>
|
|
|
|
+ <span v-if="scope.row.grade == '三等品'" class="third-class">{{
|
|
|
|
+ scope.row.grade
|
|
|
|
+ }}</span>
|
|
|
|
+ <span v-if="scope.row.grade == '等外'" class="substandard">{{
|
|
|
|
+ scope.row.grade
|
|
|
|
+ }}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
<el-table-column prop="weight" label="重量(吨)"> </el-table-column>
|
|
<el-table-column prop="weight" label="重量(吨)"> </el-table-column>
|
|
<el-table-column prop="unitContractPrice" label="合同单价(元)">
|
|
<el-table-column prop="unitContractPrice" label="合同单价(元)">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -97,71 +129,114 @@
|
|
<el-table-column prop="seller" label="卖方"> </el-table-column>
|
|
<el-table-column prop="seller" label="卖方"> </el-table-column>
|
|
<el-table-column prop="imperfectGrain" label="已完成(吨)">
|
|
<el-table-column prop="imperfectGrain" label="已完成(吨)">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <span v-if="scope.row.proportion >= 90" style="color: red">{{
|
|
|
|
|
|
+ <span style="color: #5473e8; font-weight: 600">{{
|
|
scope.row.imperfectGrain
|
|
scope.row.imperfectGrain
|
|
}}</span>
|
|
}}</span>
|
|
- <span
|
|
|
|
- v-if="scope.row.proportion < 90"
|
|
|
|
- style="color: #5473e8; font-weight: 600"
|
|
|
|
- >{{ scope.row.imperfectGrain }}</span
|
|
|
|
- >
|
|
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column prop="status" label="状态">
|
|
<el-table-column prop="status" label="状态">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
<el-popover
|
|
<el-popover
|
|
placement="left"
|
|
placement="left"
|
|
- :width="400"
|
|
|
|
|
|
+ :width="285"
|
|
trigger="click"
|
|
trigger="click"
|
|
|
|
+ visible-arrow="false"
|
|
@show="history(scope.row)"
|
|
@show="history(scope.row)"
|
|
>
|
|
>
|
|
<template>
|
|
<template>
|
|
- <span slot="reference">{{ scope.row.status }}</span>
|
|
|
|
|
|
+ <span slot="reference">
|
|
|
|
+ <span
|
|
|
|
+ v-if="scope.row.status == '待执行'"
|
|
|
|
+ class="executory"
|
|
|
|
+ ></span>
|
|
|
|
+ <span
|
|
|
|
+ v-if="scope.row.status == '执行中'"
|
|
|
|
+ class="inExecution"
|
|
|
|
+ ></span>
|
|
|
|
+ <span v-if="scope.row.status == '已完成'" class="done"></span
|
|
|
|
+ >{{ scope.row.status }}
|
|
|
|
+ </span>
|
|
</template>
|
|
</template>
|
|
<div>
|
|
<div>
|
|
- <p>操作历史</p>
|
|
|
|
- <div v-for="(item, index) in historyList">
|
|
|
|
- <div class="vertical-circle"></div>
|
|
|
|
|
|
+ <p style="margin-top: 0; padding-left: 10px">操作历史</p>
|
|
|
|
+ <div v-for="(item, index) in historyList" class="flex">
|
|
|
|
+ <div class="vertical-text vertical-text-left">
|
|
|
|
+ {{ item.updateDate }}
|
|
|
|
+ </div>
|
|
|
|
+ <div>
|
|
|
|
+ <div class="vertical-circle"></div>
|
|
|
|
+ <div
|
|
|
|
+ v-if="index != historyList.length - 1"
|
|
|
|
+ class="vertical-line"
|
|
|
|
+ ></div>
|
|
|
|
+ </div>
|
|
<div class="vertical-text">
|
|
<div class="vertical-text">
|
|
- {{ item.operateUser }}{{ item.dealMsg }}<br />{{
|
|
|
|
- item.updateDate
|
|
|
|
- }}
|
|
|
|
|
|
+ {{ item.operateUser }}<br />{{ item.dealMsg }}
|
|
</div>
|
|
</div>
|
|
- <div
|
|
|
|
- v-if="index != historyList.length - 1"
|
|
|
|
- class="vertical-line"
|
|
|
|
- ></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</el-popover>
|
|
</el-popover>
|
|
- <i class="el-icon-edit" @click="editClick(scope.row)"></i>
|
|
|
|
|
|
+ <img
|
|
|
|
+ width="17"
|
|
|
|
+ height="18"
|
|
|
|
+ style="vertical-align: text-top; position: relative; top: -1px"
|
|
|
|
+ src="../../../public/img/edit.png"
|
|
|
|
+ @click="editClick(scope.row)"
|
|
|
|
+ alt=""
|
|
|
|
+ />
|
|
|
|
+ <!-- <i class="el-icon-edit" @click="editClick(scope.row)"></i> -->
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column prop="signingDate" label="签订日期"> </el-table-column>
|
|
<el-table-column prop="signingDate" label="签订日期"> </el-table-column>
|
|
<el-table-column prop="mildewGrain" label="未回款(元)">
|
|
<el-table-column prop="mildewGrain" label="未回款(元)">
|
|
</el-table-column>
|
|
</el-table-column>
|
|
-
|
|
|
|
<el-table-column prop="addressUrl" label="附件">
|
|
<el-table-column prop="addressUrl" label="附件">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <i @click="fujian(scope.row)" class="el-icon-paperclip iconCss"></i>
|
|
|
|
- <span></span>
|
|
|
|
|
|
+ <img
|
|
|
|
+ width="18"
|
|
|
|
+ height="20"
|
|
|
|
+ style="vertical-align: text-top; position: relative; top: -1px"
|
|
|
|
+ src="../../../public/img/fujian.png"
|
|
|
|
+ @click="fujian(scope.row)"
|
|
|
|
+ alt=""
|
|
|
|
+ />
|
|
|
|
+ <span v-if="scope.row.addressUrlArray.length > 0">{{
|
|
|
|
+ scope.row.addressUrlArray.length
|
|
|
|
+ }}</span>
|
|
|
|
+ <!-- <i @click="fujian(scope.row)" class="el-icon-paperclip iconCss"></i> -->
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
-
|
|
|
|
- <el-table-column prop="address" label="操作" width="300">
|
|
|
|
|
|
+ <el-table-column prop="address" label="操作" width="200">
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
- <el-button
|
|
|
|
- type="success"
|
|
|
|
- size="small"
|
|
|
|
|
|
+ <img
|
|
|
|
+ width="16"
|
|
|
|
+ height="16"
|
|
|
|
+ style="vertical-align: text-top; margin: 0 6px"
|
|
|
|
+ src="../../../public/img/chakan.png"
|
|
@click="handleExamine(scope.row)"
|
|
@click="handleExamine(scope.row)"
|
|
- >查看</el-button
|
|
|
|
- >
|
|
|
|
- <el-button type="primary" size="small" @click="handleEdit(scope.row)"
|
|
|
|
- >编辑</el-button
|
|
|
|
- >
|
|
|
|
- <el-button type="danger" size="small" @click="handleDelete(scope.row)"
|
|
|
|
- >删除</el-button
|
|
|
|
- >
|
|
|
|
|
|
+ alt=""
|
|
|
|
+ />
|
|
|
|
+ <img
|
|
|
|
+ width="17"
|
|
|
|
+ height="16"
|
|
|
|
+ style="vertical-align: text-top; margin: 0 6px"
|
|
|
|
+ src="../../../public/img/bianji.png"
|
|
|
|
+ @click="handleEdit(scope.row)"
|
|
|
|
+ alt=""
|
|
|
|
+ />
|
|
|
|
+ <img
|
|
|
|
+ width="16"
|
|
|
|
+ height="17"
|
|
|
|
+ style="
|
|
|
|
+ vertical-align: text-top;
|
|
|
|
+ position: relative;
|
|
|
|
+ top: -1px;
|
|
|
|
+ margin: 0 6px;
|
|
|
|
+ "
|
|
|
|
+ src="../../../public/img/shanchu.png"
|
|
|
|
+ @click="handleDelete(scope.row)"
|
|
|
|
+ alt=""
|
|
|
|
+ />
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
@@ -203,7 +278,6 @@ import {
|
|
billoperatehis,
|
|
billoperatehis,
|
|
deletecontract,
|
|
deletecontract,
|
|
} from '@/model/contarct/index'
|
|
} from '@/model/contarct/index'
|
|
-
|
|
|
|
import { downloadFile } from '@/utils/batchDown'
|
|
import { downloadFile } from '@/utils/batchDown'
|
|
import Pagination from '@/components/Pagination'
|
|
import Pagination from '@/components/Pagination'
|
|
import WsUpload from '@/components/WsUpload'
|
|
import WsUpload from '@/components/WsUpload'
|
|
@@ -216,7 +290,7 @@ export default {
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
vesselId(val) {
|
|
vesselId(val) {
|
|
- this.getVesselData()
|
|
|
|
|
|
+ this.getList()
|
|
},
|
|
},
|
|
isShow(val) {
|
|
isShow(val) {
|
|
this.showType = val
|
|
this.showType = val
|
|
@@ -231,29 +305,22 @@ export default {
|
|
monetaryKey: null,
|
|
monetaryKey: null,
|
|
// 表格显示数据
|
|
// 表格显示数据
|
|
tableDate: [],
|
|
tableDate: [],
|
|
|
|
+ size: 10,
|
|
// 是否显示
|
|
// 是否显示
|
|
showType: true,
|
|
showType: true,
|
|
// 年
|
|
// 年
|
|
year: '',
|
|
year: '',
|
|
- // 提交类型
|
|
|
|
-
|
|
|
|
- contractType: 1,
|
|
|
|
|
|
+ deptBudgetTotal: 0,
|
|
currentPage: 1,
|
|
currentPage: 1,
|
|
pageSize: 10,
|
|
pageSize: 10,
|
|
- searchType: 1,
|
|
|
|
- searchKeyWord: '',
|
|
|
|
- startDate: null,
|
|
|
|
- endDate: null,
|
|
|
|
appendixIdsAdd: '',
|
|
appendixIdsAdd: '',
|
|
-
|
|
|
|
- contractType: 1,
|
|
|
|
- currentPage: 1,
|
|
|
|
- pageSize: 10,
|
|
|
|
searchType: 1,
|
|
searchType: 1,
|
|
|
|
+ searchTypeText: '未完成',
|
|
searchKeyWord: '',
|
|
searchKeyWord: '',
|
|
|
|
+ contractType: 2,
|
|
startDate: null,
|
|
startDate: null,
|
|
endDate: null,
|
|
endDate: null,
|
|
- historyList: {},
|
|
|
|
|
|
+ // 提交类型
|
|
submitType: true,
|
|
submitType: true,
|
|
contractForm: {},
|
|
contractForm: {},
|
|
categoryIndex: 0,
|
|
categoryIndex: 0,
|
|
@@ -262,58 +329,107 @@ export default {
|
|
size: 10,
|
|
size: 10,
|
|
compId: sessionStorage.getItem('ws-pf_compId'),
|
|
compId: sessionStorage.getItem('ws-pf_compId'),
|
|
deptCircularPage: {},
|
|
deptCircularPage: {},
|
|
- accessoryTFs: false,
|
|
|
|
|
|
+ date: {
|
|
|
|
+ year: dayjs().format('YYYY'),
|
|
|
|
+ month: dayjs().format('MM'),
|
|
|
|
+ },
|
|
|
|
+ contractList: [],
|
|
|
|
+ deptBudgetList: {},
|
|
|
|
+ historyList: [],
|
|
|
|
+ compId: sessionStorage.getItem('ws-pf_compId'),
|
|
pickerBeginDateBefore: {
|
|
pickerBeginDateBefore: {
|
|
disabledDate: (time) => {
|
|
disabledDate: (time) => {
|
|
return time.getTime() > Date.now()
|
|
return time.getTime() > Date.now()
|
|
},
|
|
},
|
|
},
|
|
},
|
|
- tableData: [],
|
|
|
|
|
|
+ accessoryTFs: false,
|
|
taskTypeList: [
|
|
taskTypeList: [
|
|
{ value: '未完成', type: 1 },
|
|
{ value: '未完成', type: 1 },
|
|
{ value: '已完成', type: 2 },
|
|
{ value: '已完成', type: 2 },
|
|
- { value: '待回款', type: 3 },
|
|
|
|
|
|
+ { value: '未回款', type: 3 },
|
|
{ value: '全部合同', type: '' },
|
|
{ value: '全部合同', type: '' },
|
|
],
|
|
],
|
|
- deptBudgetList: {
|
|
|
|
- seafarerName: '',
|
|
|
|
- crtDutyId: '',
|
|
|
|
- crtDutyName: '',
|
|
|
|
- seafarerSexKey: '',
|
|
|
|
- mobilePhone: '',
|
|
|
|
- birthday: '',
|
|
|
|
- dutyId: '',
|
|
|
|
- dutyName: '',
|
|
|
|
- intendedShipId: '',
|
|
|
|
- intendedShipName: '',
|
|
|
|
- interviewPersons: '',
|
|
|
|
- interviewDates: '',
|
|
|
|
- interviewType: '',
|
|
|
|
- interviewResult: '1',
|
|
|
|
- interviewOpinion: '',
|
|
|
|
- aliasName: '',
|
|
|
|
|
|
+ pickerOptions: {
|
|
|
|
+ shortcuts: [
|
|
|
|
+ {
|
|
|
|
+ text: '本周',
|
|
|
|
+ onClick(picker) {
|
|
|
|
+ const end = new Date()
|
|
|
|
+ const start = new Date()
|
|
|
|
+ var thisDay = start.getDay()
|
|
|
|
+ var thisDate = start.getDate()
|
|
|
|
+ if (thisDay != 0) {
|
|
|
|
+ start.setDate(thisDate - thisDay)
|
|
|
|
+ }
|
|
|
|
+ picker.$emit('pick', [start, end])
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ text: '本月',
|
|
|
|
+ onClick(picker) {
|
|
|
|
+ const end = new Date()
|
|
|
|
+ const start = new Date()
|
|
|
|
+ start.setDate(1)
|
|
|
|
+ picker.$emit('pick', [start, end])
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ text: '本季度',
|
|
|
|
+ onClick(picker) {
|
|
|
|
+ var oDate = new Date()
|
|
|
|
+
|
|
|
|
+ var thisYear = oDate.getFullYear()
|
|
|
|
+ var thisMonth = oDate.getMonth() + 1
|
|
|
|
+
|
|
|
|
+ var n = Math.ceil(thisMonth / 3) // 季度
|
|
|
|
+
|
|
|
|
+ var Month = n * 3 - 1
|
|
|
|
+
|
|
|
|
+ var start = new Date(thisYear, Month - 2, 1)
|
|
|
|
+ var end = new Date()
|
|
|
|
+
|
|
|
|
+ picker.$emit('pick', [start, end])
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
},
|
|
},
|
|
- searchTypeText: '未完成',
|
|
|
|
|
|
+ value1: '',
|
|
|
|
+ value2: '',
|
|
}
|
|
}
|
|
},
|
|
},
|
|
-
|
|
|
|
activated() {
|
|
activated() {
|
|
- this.deletecontract()
|
|
|
|
|
|
+ //cg.viewBudget
|
|
|
|
+ //cg.viewSpareMoney
|
|
|
|
+ // this.getVesselData();
|
|
this.getList()
|
|
this.getList()
|
|
this.showType = this.isShow
|
|
this.showType = this.isShow
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ dateFormat(fmt, date) {
|
|
|
|
+ let ret
|
|
|
|
+ const opt = {
|
|
|
|
+ 'Y+': date.getFullYear().toString(), // 年
|
|
|
|
+ 'm+': (date.getMonth() + 1).toString(), // 月
|
|
|
|
+ 'd+': date.getDate().toString(), // 日
|
|
|
|
+ 'H+': date.getHours().toString(), // 时
|
|
|
|
+ // "M+": date.getMinutes().toString(), // 分
|
|
|
|
+ // "S+": date.getSeconds().toString() // 秒
|
|
|
|
+ // 有其他格式化字符需求可以继续添加,必须转化成字符串
|
|
|
|
+ }
|
|
|
|
+ for (let k in opt) {
|
|
|
|
+ ret = new RegExp('(' + k + ')').exec(fmt)
|
|
|
|
+ if (ret) {
|
|
|
|
+ fmt = fmt.replace(
|
|
|
|
+ ret[1],
|
|
|
|
+ ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return fmt
|
|
|
|
+ },
|
|
handleClose() {
|
|
handleClose() {
|
|
this.accessoryTFs = false
|
|
this.accessoryTFs = false
|
|
},
|
|
},
|
|
- history(row) {
|
|
|
|
- console.log(row)
|
|
|
|
- billoperatehis({ id: row.id })
|
|
|
|
- .toPromise()
|
|
|
|
- .then((response) => {
|
|
|
|
- this.historyList = response
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
handleSizeChange(val) {
|
|
handleSizeChange(val) {
|
|
console.log(`每页 ${val} 条`)
|
|
console.log(`每页 ${val} 条`)
|
|
this.pageSize = val
|
|
this.pageSize = val
|
|
@@ -324,23 +440,6 @@ export default {
|
|
console.log(`当前页: ${val}`)
|
|
console.log(`当前页: ${val}`)
|
|
this.getList()
|
|
this.getList()
|
|
},
|
|
},
|
|
- uploadSuccess(data, files, url) {
|
|
|
|
- console.log(data, files, url)
|
|
|
|
- // this.deptBudgetList.
|
|
|
|
- // this.formData.append('files', files)
|
|
|
|
- // this.feedbackObj.uploadNameAttachment = data.appendixName
|
|
|
|
- // this.feedbackObj.pathUploadAttachment = data.appendixPath
|
|
|
|
- // // this.newAppendixs = files
|
|
|
|
- // this.onChangeFlag = true
|
|
|
|
- },
|
|
|
|
- // deletecontract(){
|
|
|
|
- // deletecontract({
|
|
|
|
-
|
|
|
|
- // }).toPromise()
|
|
|
|
- // .then((response) => {
|
|
|
|
- // this.tableData = response
|
|
|
|
- // })
|
|
|
|
- // },
|
|
|
|
getList() {
|
|
getList() {
|
|
getList({
|
|
getList({
|
|
compId: sessionStorage.getItem('ws-pf_compId'),
|
|
compId: sessionStorage.getItem('ws-pf_compId'),
|
|
@@ -356,21 +455,14 @@ export default {
|
|
.toPromise()
|
|
.toPromise()
|
|
.then((response) => {
|
|
.then((response) => {
|
|
for (var i = 0; i < response.records.length; i++) {
|
|
for (var i = 0; i < response.records.length; i++) {
|
|
- if (
|
|
|
|
- response.records[i].imperfectGrain != '' &&
|
|
|
|
- response.records[i].weight != ''
|
|
|
|
- ) {
|
|
|
|
- response.records[i].proportion =
|
|
|
|
- Math.floor(
|
|
|
|
- (response.records[i].imperfectGrain /
|
|
|
|
- response.records[i].weight) *
|
|
|
|
- 10000
|
|
|
|
- ) / 100
|
|
|
|
|
|
+ if (response.records[i].addressUrl != null) {
|
|
|
|
+ response.records[i].addressUrlArray = response.records[
|
|
|
|
+ i
|
|
|
|
+ ].addressUrl.split(',')
|
|
} else {
|
|
} else {
|
|
- response.records[i].proportion = 0
|
|
|
|
|
|
+ response.records[i].addressUrlArray = []
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- this.tableData = response
|
|
|
|
this.deptCircularPage.currentPage = response.current
|
|
this.deptCircularPage.currentPage = response.current
|
|
this.deptCircularPage.pageSize = response.size
|
|
this.deptCircularPage.pageSize = response.size
|
|
this.deptBudgetTotal = response.total
|
|
this.deptBudgetTotal = response.total
|
|
@@ -380,24 +472,13 @@ export default {
|
|
// 上传附件
|
|
// 上传附件
|
|
uploadSuccess(data, files, url) {
|
|
uploadSuccess(data, files, url) {
|
|
console.log(data, files, url)
|
|
console.log(data, files, url)
|
|
- },
|
|
|
|
|
|
|
|
- // this.deptBudgetList.
|
|
|
|
- // this.formData.append('files', files)
|
|
|
|
- // this.feedbackObj.uploadNameAttachment = data.appendixName
|
|
|
|
- // this.feedbackObj.pathUploadAttachment = data.appendixPath
|
|
|
|
- // // this.newAppendixs = files
|
|
|
|
- // this.onChangeFlag = true
|
|
|
|
- selecttaskType(e) {
|
|
|
|
- for (var i = 0; i < this.taskTypeList.length; i++) {
|
|
|
|
- if (this.taskTypeList[i].value == e) {
|
|
|
|
- this.searchType = this.taskTypeList[i].type
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- find() {
|
|
|
|
- this.currentPage = 1
|
|
|
|
- this.getList()
|
|
|
|
|
|
+ // this.deptBudgetList.
|
|
|
|
+ // this.formData.append('files', files)
|
|
|
|
+ // this.feedbackObj.uploadNameAttachment = data.appendixName
|
|
|
|
+ // this.feedbackObj.pathUploadAttachment = data.appendixPath
|
|
|
|
+ // // this.newAppendixs = files
|
|
|
|
+ // this.onChangeFlag = true
|
|
},
|
|
},
|
|
editClick(row) {
|
|
editClick(row) {
|
|
var status = ''
|
|
var status = ''
|
|
@@ -406,7 +487,8 @@ export default {
|
|
} else if (row.status == '执行中') {
|
|
} else if (row.status == '执行中') {
|
|
status = '已完成'
|
|
status = '已完成'
|
|
}
|
|
}
|
|
- this.$confirm(`是否将状态改为${status}`, '提示', {
|
|
|
|
|
|
+ //cancelButtonClass: "btn-custom-cancel"
|
|
|
|
+ this.$confirm(`是否将状态改为${status}`, {
|
|
confirmButtonText: '确定',
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
cancelButtonText: '取消',
|
|
type: 'warning',
|
|
type: 'warning',
|
|
@@ -429,6 +511,13 @@ export default {
|
|
return false
|
|
return false
|
|
})
|
|
})
|
|
},
|
|
},
|
|
|
|
+ selecttaskType(e) {
|
|
|
|
+ for (var i = 0; i < this.taskTypeList.length; i++) {
|
|
|
|
+ if (this.taskTypeList[i].value == e) {
|
|
|
|
+ this.searchType = this.taskTypeList[i].type
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
fujian(row) {
|
|
fujian(row) {
|
|
if (
|
|
if (
|
|
row.receiveAttachmentPath === null ||
|
|
row.receiveAttachmentPath === null ||
|
|
@@ -443,47 +532,84 @@ export default {
|
|
}
|
|
}
|
|
this.appendixIdss = row.receiveAttachmentPath
|
|
this.appendixIdss = row.receiveAttachmentPath
|
|
},
|
|
},
|
|
-
|
|
|
|
- // 关闭 dialog时 处理文件url 初始化upload组件
|
|
|
|
handleExamine(row) {
|
|
handleExamine(row) {
|
|
- console.log(row)
|
|
|
|
this.$router.push({
|
|
this.$router.push({
|
|
name: 'salesContractExamine',
|
|
name: 'salesContractExamine',
|
|
- query: { id: row.id, status: row.status },
|
|
|
|
|
|
+ query: { id: row.id },
|
|
})
|
|
})
|
|
},
|
|
},
|
|
handleAdd() {
|
|
handleAdd() {
|
|
this.$router.push({ path: 'salesContractAdd' })
|
|
this.$router.push({ path: 'salesContractAdd' })
|
|
},
|
|
},
|
|
-
|
|
|
|
- deletecontract() {},
|
|
|
|
- filtlistQuery() {},
|
|
|
|
- searchDialog() {},
|
|
|
|
- vesselIdSelected() {},
|
|
|
|
- seelctShips() {},
|
|
|
|
- checkBtn() {},
|
|
|
|
handleEdit(row) {
|
|
handleEdit(row) {
|
|
this.$router.push({
|
|
this.$router.push({
|
|
name: 'salesContractEdit',
|
|
name: 'salesContractEdit',
|
|
- query: { id: row.id },
|
|
|
|
|
|
+ params: { id: row.id },
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ // 关闭 dialog时 处理文件url 初始化upload组件
|
|
|
|
+ handleCloe() {
|
|
|
|
+ this.dialogViewSpareMoney = false
|
|
|
|
+ },
|
|
|
|
+ history(row) {
|
|
|
|
+ console.log(row)
|
|
|
|
+ billoperatehis({ id: row.id })
|
|
|
|
+ .toPromise()
|
|
|
|
+ .then((response) => {
|
|
|
|
+ this.historyList = response
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ find() {
|
|
|
|
+ if (this.value2.length > 0) {
|
|
|
|
+ this.startDate = this.dateFormat('YYYY-mm-dd', this.value2[0])
|
|
|
|
+ this.endDate = this.dateFormat('YYYY-mm-dd', this.value2[1])
|
|
|
|
+ }
|
|
|
|
+ this.currentPage = 1
|
|
|
|
+ this.getList()
|
|
|
|
+ },
|
|
|
|
+ async exportlist() {
|
|
|
|
+ const { data } = await export1(
|
|
|
|
+ {
|
|
|
|
+ compId: sessionStorage.getItem('ws-pf_compId'),
|
|
|
|
+ contractType: this.contractType,
|
|
|
|
+ currentPage: this.currentPage,
|
|
|
|
+ pageSize: this.pageSize,
|
|
|
|
+ searchType: this.searchType,
|
|
|
|
+ searchKeyWord: this.searchKeyWord,
|
|
|
|
+ startDate: this.startDate,
|
|
|
|
+ endDate: this.endDate,
|
|
|
|
+ },
|
|
|
|
+ {},
|
|
|
|
+ { responseType: 'blob' }
|
|
|
|
+ ).toPromise()
|
|
|
|
+ downloadFile({
|
|
|
|
+ res: data,
|
|
|
|
+ fileName: `${
|
|
|
|
+ this.date.year + (this.date.month ? `-${this.date.month}` : '')
|
|
|
|
+ }_采购合同`,
|
|
|
|
+ type: 'xls',
|
|
})
|
|
})
|
|
},
|
|
},
|
|
|
|
+ // deletecontract(){},
|
|
|
|
+ //删除
|
|
|
|
|
|
approve() {},
|
|
approve() {},
|
|
listQuery() {},
|
|
listQuery() {},
|
|
total() {},
|
|
total() {},
|
|
clearfiltQuery() {},
|
|
clearfiltQuery() {},
|
|
selectCrtDuty() {},
|
|
selectCrtDuty() {},
|
|
|
|
+
|
|
handleDelete(row) {
|
|
handleDelete(row) {
|
|
- var handleDelete = ''
|
|
|
|
|
|
+ var handleDelete = ' '
|
|
if (row.handleDelete == '待执行' || row.handleDelete == '已完成') {
|
|
if (row.handleDelete == '待执行' || row.handleDelete == '已完成') {
|
|
handleDelete = '执行中'
|
|
handleDelete = '执行中'
|
|
} else if (row.handleDelete == '执行中') {
|
|
} else if (row.handleDelete == '执行中') {
|
|
handleDelete = '已完成'
|
|
handleDelete = '已完成'
|
|
}
|
|
}
|
|
this.$confirm(`合同删除后不可恢复,是否继续删除?`, '提示', {
|
|
this.$confirm(`合同删除后不可恢复,是否继续删除?`, '提示', {
|
|
- confirmButtonText: '确定',
|
|
|
|
cancelButtonText: '取消',
|
|
cancelButtonText: '取消',
|
|
|
|
+ confirmButtonText: '确定',
|
|
type: 'warning',
|
|
type: 'warning',
|
|
})
|
|
})
|
|
.then(() => {
|
|
.then(() => {
|
|
@@ -508,10 +634,127 @@ export default {
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
|
|
+.vertical-text-left {
|
|
|
|
+ width: 62px;
|
|
|
|
+ text-align: right;
|
|
|
|
+}
|
|
|
|
+.flex {
|
|
|
|
+ display: flex;
|
|
|
|
+}
|
|
|
|
+.el-range-editor.el-input__inner {
|
|
|
|
+ margin-left: 10px;
|
|
|
|
+}
|
|
|
|
+/deep/.base_header_layout .grid-content.right .find.el-button--primary {
|
|
|
|
+ width: 30px;
|
|
|
|
+ margin-left: -10px;
|
|
|
|
+ border-top-left-radius: 0px;
|
|
|
|
+ border-bottom-left-radius: 0px;
|
|
|
|
+}
|
|
|
|
+.el-button--primary {
|
|
|
|
+ background-color: #5878e8;
|
|
|
|
+ border-color: #5878e8;
|
|
|
|
+}
|
|
|
|
+.el-button--default {
|
|
|
|
+ border: 1px solid #5473e8;
|
|
|
|
+ color: #5473e8;
|
|
|
|
+}
|
|
|
|
+.warning {
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 2px;
|
|
|
|
+ background: red;
|
|
|
|
+}
|
|
|
|
+.executory,
|
|
|
|
+.inExecution,
|
|
|
|
+.done {
|
|
|
|
+ width: 6px;
|
|
|
|
+ height: 6px;
|
|
|
|
+ display: inline-block;
|
|
|
|
+ border-radius: 50%;
|
|
|
|
+ position: relative;
|
|
|
|
+ top: -1px;
|
|
|
|
+}
|
|
|
|
+.executory {
|
|
|
|
+ background: #ff9f24;
|
|
|
|
+}
|
|
|
|
+.inExecution {
|
|
|
|
+ background: #5878e8;
|
|
|
|
+}
|
|
|
|
+.done {
|
|
|
|
+ background: #50cad4;
|
|
|
|
+}
|
|
|
|
+.top-grade {
|
|
|
|
+ background: linear-gradient(90deg, #5678e9, #7993f6);
|
|
|
|
+ color: #fff;
|
|
|
|
+ padding: 3px;
|
|
|
|
+ border-radius: 2px;
|
|
|
|
+}
|
|
|
|
+.second-class {
|
|
|
|
+ background: linear-gradient(90deg, #50cdd9, #82e2ea);
|
|
|
|
+ color: #fff;
|
|
|
|
+ padding: 3px;
|
|
|
|
+ border-radius: 2px;
|
|
|
|
+}
|
|
|
|
+.third-class {
|
|
|
|
+ background: linear-gradient(90deg, #ffa735, #ffbf70);
|
|
|
|
+ color: #fff;
|
|
|
|
+ padding: 3px;
|
|
|
|
+ border-radius: 2px;
|
|
|
|
+}
|
|
|
|
+.substandard {
|
|
|
|
+ background: linear-gradient(90deg, #b2b4bb, #ced0d5);
|
|
|
|
+ color: #fff;
|
|
|
|
+ padding: 3px;
|
|
|
|
+ border-radius: 2px;
|
|
|
|
+}
|
|
|
|
+.wrap {
|
|
|
|
+ width: 400px;
|
|
|
|
+ position: absolute;
|
|
|
|
+ top: 131px;
|
|
|
|
+ left: 794px;
|
|
|
|
+ transform-origin: right center;
|
|
|
|
+ z-index: 2005;
|
|
|
|
+}
|
|
|
|
+.vertical-line {
|
|
|
|
+ height: 100px;
|
|
|
|
+ border-left: 2px solid #e9ecf7;
|
|
|
|
+ margin-left: 4px;
|
|
|
|
+ padding: 0 3px;
|
|
|
|
+ // border-image: -webkit-linear-gradient(#00eba7, #08b8e6) 30 30;
|
|
|
|
+ // border-image: -moz-linear-gradient(#00eba7, #08b8e6) 30 30;
|
|
|
|
+ // border-image: linear-gradient(#00eba7, #08b8e6) 30 30;
|
|
|
|
+}
|
|
.el-pagination {
|
|
.el-pagination {
|
|
padding: 10px 15px;
|
|
padding: 10px 15px;
|
|
margin-bottom: 0;
|
|
margin-bottom: 0;
|
|
- text-align: right;
|
|
|
|
|
|
+ text-align: center;
|
|
|
|
+}
|
|
|
|
+/deep/.el-pager li.active {
|
|
|
|
+ color: #5878e8;
|
|
|
|
+ cursor: default;
|
|
|
|
+}
|
|
|
|
+/deep/.el-pager li:hover {
|
|
|
|
+ color: #5878e8;
|
|
|
|
+ cursor: default;
|
|
|
|
+}
|
|
|
|
+.vertical-circle {
|
|
|
|
+ width: 10px;
|
|
|
|
+ height: 10px;
|
|
|
|
+ border: 2px solid #5878e8;
|
|
|
|
+ background-color: #ffffff;
|
|
|
|
+ -webkit-border-radius: 100px;
|
|
|
|
+}
|
|
|
|
+.vertical-circle:first-child {
|
|
|
|
+ color: red;
|
|
|
|
+}
|
|
|
|
+.vertical-text {
|
|
|
|
+ margin: 0 10px;
|
|
|
|
+ color: #8890b1;
|
|
|
|
+ font-size: 12px;
|
|
|
|
+ margin-top: -4px;
|
|
|
|
+}
|
|
|
|
+/deep/.el-table .el-table__header .cell,
|
|
|
|
+/deep/.el-table .el-table__body .cell {
|
|
|
|
+ text-align: center;
|
|
}
|
|
}
|
|
.typeselect {
|
|
.typeselect {
|
|
width: 500px;
|
|
width: 500px;
|
|
@@ -525,6 +768,9 @@ export default {
|
|
display: block;
|
|
display: block;
|
|
clear: both;
|
|
clear: both;
|
|
}
|
|
}
|
|
|
|
+.el-table {
|
|
|
|
+ font-size: 16px;
|
|
|
|
+}
|
|
.taskType {
|
|
.taskType {
|
|
width: 100%;
|
|
width: 100%;
|
|
background-color: #fff;
|
|
background-color: #fff;
|
|
@@ -560,6 +806,10 @@ export default {
|
|
.findValue {
|
|
.findValue {
|
|
margin: 0 10px;
|
|
margin: 0 10px;
|
|
}
|
|
}
|
|
|
|
+/deep/.findValue .el-input__inner {
|
|
|
|
+ border-top-right-radius: 0px;
|
|
|
|
+ border-bottom-right-radius: 0px;
|
|
|
|
+}
|
|
.button-container {
|
|
.button-container {
|
|
display: flex;
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
flex-wrap: nowrap;
|
|
@@ -591,27 +841,6 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-.vertical-line {
|
|
|
|
- height: 100px;
|
|
|
|
- border-left: 2px solid;
|
|
|
|
- margin-left: 4px;
|
|
|
|
-}
|
|
|
|
-.vertical-circle {
|
|
|
|
- float: left;
|
|
|
|
- width: 10px;
|
|
|
|
- height: 10px;
|
|
|
|
- border: 2px solid white;
|
|
|
|
- background-color: #08b8e6;
|
|
|
|
- -webkit-border-radius: 100px;
|
|
|
|
-}
|
|
|
|
-.vertical-circle:first-child {
|
|
|
|
- color: red;
|
|
|
|
-}
|
|
|
|
-.vertical-text {
|
|
|
|
- float: left;
|
|
|
|
- margin-top: -7px;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
.box-app {
|
|
.box-app {
|
|
display: inline-block;
|
|
display: inline-block;
|
|
float: left;
|
|
float: left;
|
|
@@ -696,9 +925,28 @@ export default {
|
|
cursor: text;
|
|
cursor: text;
|
|
padding: 0 !important;
|
|
padding: 0 !important;
|
|
}
|
|
}
|
|
|
|
+ .el-message-box {
|
|
|
|
+ width: 440px;
|
|
|
|
+ height: 160px;
|
|
|
|
+ background: #ffffff;
|
|
|
|
+ box-shadow: 0px 2px 31px 0px rgba(66, 75, 112, 0.23);
|
|
|
|
+ border-radius: 4px;
|
|
|
|
+ }
|
|
|
|
+ /deep/.el-message-box__message p {
|
|
|
|
+ width: 351px;
|
|
|
|
+ height: 20px;
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ font-family: PingFangSC-Regular, PingFang SC;
|
|
|
|
+ font-weight: 400;
|
|
|
|
+ color: #191919;
|
|
|
|
+ line-height: 20px;
|
|
|
|
+ }
|
|
|
|
+ .el-message-box__title {
|
|
|
|
+ width: 440px;
|
|
|
|
+ height: 160px;
|
|
|
|
+ background: #ffffff;
|
|
|
|
+ box-shadow: 0px 2px 31px 0px rgba(66, 75, 112, 0.23);
|
|
|
|
+ border-radius: 4px;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-/deep/.el-table .el-table__header .cell,
|
|
|
|
-/deep/.el-table .el-table__body .cell {
|
|
|
|
- text-align: center;
|
|
|
|
-}
|
|
|
|
-</style>
|
|
|
|
|
|
+</style>
|