|
@@ -13,53 +13,117 @@
|
|
</el-button>
|
|
</el-button>
|
|
<template #dropdown>
|
|
<template #dropdown>
|
|
<el-dropdown-menu>
|
|
<el-dropdown-menu>
|
|
- <el-dropdown-item icon="Download" @click="handleExport" v-hasPermi="['business:workOrder:export']">
|
|
|
|
- 导出</el-dropdown-item>
|
|
|
|
|
|
+ <el-dropdown-item
|
|
|
|
+ icon="Download"
|
|
|
|
+ @click="handleExport"
|
|
|
|
+ v-hasPermi="['business:workOrder:export']"
|
|
|
|
+ >
|
|
|
|
+ 导出</el-dropdown-item
|
|
|
|
+ >
|
|
</el-dropdown-menu>
|
|
</el-dropdown-menu>
|
|
</template>
|
|
</template>
|
|
</el-dropdown>
|
|
</el-dropdown>
|
|
</div>
|
|
</div>
|
|
<!-- 搜索区 -->
|
|
<!-- 搜索区 -->
|
|
- <el-form class="list-search-container" size="small" :model="queryParams" ref="queryRef" :inline="true"
|
|
|
|
- label-width="68px">
|
|
|
|
|
|
+ <el-form
|
|
|
|
+ class="list-search-container"
|
|
|
|
+ size="small"
|
|
|
|
+ :model="queryParams"
|
|
|
|
+ ref="queryRef"
|
|
|
|
+ :inline="true"
|
|
|
|
+ label-width="68px"
|
|
|
|
+ >
|
|
<el-form-item label="客户名称:" prop="companyName">
|
|
<el-form-item label="客户名称:" prop="companyName">
|
|
- <el-input v-model="queryParams.companyName" style="width: 150px" placeholder="请输入客户名称" clearable
|
|
|
|
- @keyup.enter="handleQuery" />
|
|
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="queryParams.companyName"
|
|
|
|
+ style="width: 150px"
|
|
|
|
+ placeholder="请输入客户名称"
|
|
|
|
+ clearable
|
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
|
+ />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="工单类型:" prop="type">
|
|
<el-form-item label="工单类型:" prop="type">
|
|
- <el-select size="small" v-model="queryParams.type" placeholder="工单类型" clearable>
|
|
|
|
- <el-option v-for="item in types" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
|
|
|
+ <el-select
|
|
|
|
+ size="small"
|
|
|
|
+ v-model="queryParams.type"
|
|
|
|
+ placeholder="工单类型"
|
|
|
|
+ clearable
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in types"
|
|
|
|
+ :key="item.value"
|
|
|
|
+ :label="item.label"
|
|
|
|
+ :value="item.value"
|
|
|
|
+ />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
|
|
|
|
|
+ <el-button type="primary" icon="Search" @click="handleQuery"
|
|
|
|
+ >搜索</el-button
|
|
|
|
+ >
|
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
|
|
|
|
<!-- 列表区 -->
|
|
<!-- 列表区 -->
|
|
- <el-table v-loading="loading" :data="orderList" size="small" border height="100%"
|
|
|
|
- @selection-change="handleSelectionChange">
|
|
|
|
|
|
+ <el-table
|
|
|
|
+ v-loading="loading"
|
|
|
|
+ :data="orderList"
|
|
|
|
+ size="small"
|
|
|
|
+ border
|
|
|
|
+ height="100%"
|
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
|
+ >
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
<!-- <el-table-column label="工单号" align="center" prop="workOrderNo" width="200" /> -->
|
|
<!-- <el-table-column label="工单号" align="center" prop="workOrderNo" width="200" /> -->
|
|
- <el-table-column label="客户名称" align="center" min-width="250" prop="companyName" :resizable="false" />
|
|
|
|
- <el-table-column label="税号" align="center" min-width="200" prop="socialCreditCode" :resizable="false" />
|
|
|
|
- <el-table-column label="工单类型" align="center" prop="amount" min-width="80" :resizable="false">
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ label="客户名称"
|
|
|
|
+ align="center"
|
|
|
|
+ min-width="250"
|
|
|
|
+ prop="companyName"
|
|
|
|
+ :resizable="false"
|
|
|
|
+ />
|
|
|
|
+ <el-table-column
|
|
|
|
+ label="税号"
|
|
|
|
+ align="center"
|
|
|
|
+ min-width="200"
|
|
|
|
+ prop="socialCreditCode"
|
|
|
|
+ :resizable="false"
|
|
|
|
+ />
|
|
|
|
+ <el-table-column
|
|
|
|
+ label="工单类型"
|
|
|
|
+ align="center"
|
|
|
|
+ prop="amount"
|
|
|
|
+ min-width="80"
|
|
|
|
+ :resizable="false"
|
|
|
|
+ >
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
{{ scope.row.type === 1 ? "循环工单" : "代办工单" }}
|
|
{{ scope.row.type === 1 ? "循环工单" : "代办工单" }}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="项目" align="center" prop="taskTypeName" :resizable="false" min-width="120">
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ label="项目"
|
|
|
|
+ align="center"
|
|
|
|
+ prop="taskTypeName"
|
|
|
|
+ :resizable="false"
|
|
|
|
+ min-width="120"
|
|
|
|
+ >
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
{{ scope.row.taskTypeName }}
|
|
{{ scope.row.taskTypeName }}
|
|
{{
|
|
{{
|
|
scope.row.taskTypeDetailName
|
|
scope.row.taskTypeDetailName
|
|
- ? `-${scope.row.taskTypeDetailName}`
|
|
|
|
- : ""
|
|
|
|
|
|
+ ? `-${scope.row.taskTypeDetailName}`
|
|
|
|
+ : ""
|
|
}}
|
|
}}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="合同状态" align="center" width="150" prop="socialCreditCode" :resizable="false">
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ label="合同状态"
|
|
|
|
+ align="center"
|
|
|
|
+ width="150"
|
|
|
|
+ prop="socialCreditCode"
|
|
|
|
+ :resizable="false"
|
|
|
|
+ >
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<span v-if="scope.row.type === 1">{{ scope.row.closingMonth }}</span>
|
|
<span v-if="scope.row.type === 1">{{ scope.row.closingMonth }}</span>
|
|
<span v-else>{{ scope.row.onceContractStatus }}</span>
|
|
<span v-else>{{ scope.row.onceContractStatus }}</span>
|
|
@@ -80,67 +144,125 @@
|
|
</el-select> -->
|
|
</el-select> -->
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="起始月" align="center" min-width="120" prop="startMonth" :resizable="false">
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ label="起始月"
|
|
|
|
+ align="center"
|
|
|
|
+ min-width="120"
|
|
|
|
+ prop="startMonth"
|
|
|
|
+ :resizable="false"
|
|
|
|
+ >
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<div v-if="scope.row.type === 1">
|
|
<div v-if="scope.row.type === 1">
|
|
- <div v-if="scope.row.editStatus.startMonth" style="
|
|
|
|
|
|
+ <div
|
|
|
|
+ v-if="scope.row.editStatus.startMonth"
|
|
|
|
+ style="
|
|
display: flex;
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-direction: row;
|
|
justify-content: center;
|
|
justify-content: center;
|
|
- ">
|
|
|
|
- <el-date-picker v-model="scope.row.startMonth" size="small" placeholder="起始月" :clearable="true"
|
|
|
|
- value-format="YYYY-MM-DD" format="YYYY年MM月" type="month"
|
|
|
|
- @change="(arg) => startDateChangeHandler(scope.row, arg)" />
|
|
|
|
- <el-button link type="primary" icon="Check" size="small" style="padding: 0"
|
|
|
|
- @click="saveHandler(scope.row, 'startMonth')" />
|
|
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <el-date-picker
|
|
|
|
+ v-model="scope.row.startMonth"
|
|
|
|
+ size="small"
|
|
|
|
+ placeholder="起始月"
|
|
|
|
+ :clearable="true"
|
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
|
+ format="YYYY年MM月"
|
|
|
|
+ type="month"
|
|
|
|
+ @change="(arg) => startDateChangeHandler(scope.row, arg)"
|
|
|
|
+ />
|
|
|
|
+ <el-button
|
|
|
|
+ link
|
|
|
|
+ type="primary"
|
|
|
|
+ icon="Check"
|
|
|
|
+ size="small"
|
|
|
|
+ style="padding: 0"
|
|
|
|
+ @click="saveHandler(scope.row, 'startMonth')"
|
|
|
|
+ />
|
|
</div>
|
|
</div>
|
|
- <div v-else style="
|
|
|
|
|
|
+ <div
|
|
|
|
+ v-else
|
|
|
|
+ style="
|
|
display: flex;
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-direction: row;
|
|
justify-content: center;
|
|
justify-content: center;
|
|
- ">
|
|
|
|
|
|
+ "
|
|
|
|
+ >
|
|
<div style="width: auto">
|
|
<div style="width: auto">
|
|
{{
|
|
{{
|
|
scope.row.startMonth
|
|
scope.row.startMonth
|
|
- ? moment(scope.row.startMonth).format("YYYY年MM月")
|
|
|
|
- : ""
|
|
|
|
|
|
+ ? moment(scope.row.startMonth).format("YYYY年MM月")
|
|
|
|
+ : ""
|
|
}}
|
|
}}
|
|
</div>
|
|
</div>
|
|
- <el-button v-show="scope.row.isStop === 0" link type="primary" icon="Edit" size="small" style="padding: 0"
|
|
|
|
- v-hasPermi="['business:workOrder:edit']" @click="() => {
|
|
|
|
- scope.row.editStatus.startMonth =
|
|
|
|
- !scope.row.editStatus.startMonth;
|
|
|
|
- }
|
|
|
|
- " />
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ v-show="
|
|
|
|
+ scope.row.isStop === 0 && scope.row.records.length === 0
|
|
|
|
+ "
|
|
|
|
+ link
|
|
|
|
+ type="primary"
|
|
|
|
+ icon="Edit"
|
|
|
|
+ size="small"
|
|
|
|
+ style="padding: 0"
|
|
|
|
+ v-hasPermi="['business:workOrder:edit']"
|
|
|
|
+ @click="
|
|
|
|
+ () => {
|
|
|
|
+ scope.row.editStatus.startMonth =
|
|
|
|
+ !scope.row.editStatus.startMonth;
|
|
|
|
+ }
|
|
|
|
+ "
|
|
|
|
+ />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div v-else>-</div>
|
|
<div v-else>-</div>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="结束月" align="center" min-width="90" prop="endMonth" :resizable="false">
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ label="结束月"
|
|
|
|
+ align="center"
|
|
|
|
+ min-width="90"
|
|
|
|
+ prop="endMonth"
|
|
|
|
+ :resizable="false"
|
|
|
|
+ >
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
{{
|
|
{{
|
|
scope.row.type === 1
|
|
scope.row.type === 1
|
|
- ? scope.row.endMonth
|
|
|
|
- ? moment(scope.row.endMonth).format("YYYY年MM月")
|
|
|
|
- : ""
|
|
|
|
- : "-"
|
|
|
|
|
|
+ ? scope.row.endMonth
|
|
|
|
+ ? moment(scope.row.endMonth).format("YYYY年MM月")
|
|
|
|
+ : ""
|
|
|
|
+ : "-"
|
|
}}
|
|
}}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="工单月数" align="center" :resizable="false" width="80" prop="monthNum">
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ label="工单月数"
|
|
|
|
+ align="center"
|
|
|
|
+ :resizable="false"
|
|
|
|
+ width="80"
|
|
|
|
+ prop="monthNum"
|
|
|
|
+ >
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
{{ scope.row.type === 1 ? scope.row.monthNum : "-" }}
|
|
{{ scope.row.type === 1 ? scope.row.monthNum : "-" }}
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column label="工单执行人" align="center" :resizable="false" min-width="100">
|
|
|
|
|
|
+ <el-table-column
|
|
|
|
+ label="工单执行人"
|
|
|
|
+ align="center"
|
|
|
|
+ :resizable="false"
|
|
|
|
+ min-width="100"
|
|
|
|
+ >
|
|
<template #default="scope">{{ getTransactor(scope.row) }}</template>
|
|
<template #default="scope">{{ getTransactor(scope.row) }}</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
<!-- <contract-form ref="contractRef" :get-list="getList" /> -->
|
|
<!-- <contract-form ref="contractRef" :get-list="getList" /> -->
|
|
<!-- 分页 -->
|
|
<!-- 分页 -->
|
|
- <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
|
|
|
|
- @pagination="getList" />
|
|
|
|
|
|
+ <pagination
|
|
|
|
+ v-show="total > 0"
|
|
|
|
+ :total="total"
|
|
|
|
+ v-model:page="queryParams.pageNum"
|
|
|
|
+ v-model:limit="queryParams.pageSize"
|
|
|
|
+ @pagination="getList"
|
|
|
|
+ />
|
|
<ZeroChangeDialog ref="zeroChangeDialogRef" :save-call-back="thenSave" />
|
|
<ZeroChangeDialog ref="zeroChangeDialogRef" :save-call-back="thenSave" />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -179,13 +301,16 @@ const queryParams = ref({
|
|
noContract: 0,
|
|
noContract: 0,
|
|
});
|
|
});
|
|
|
|
|
|
-const types = ref([{
|
|
|
|
- value: 1,
|
|
|
|
- label: '循环工单'
|
|
|
|
-}, {
|
|
|
|
- value: 2,
|
|
|
|
- label: '代办工单'
|
|
|
|
-}])
|
|
|
|
|
|
+const types = ref([
|
|
|
|
+ {
|
|
|
|
+ value: 1,
|
|
|
|
+ label: "循环工单",
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: 2,
|
|
|
|
+ label: "代办工单",
|
|
|
|
+ },
|
|
|
|
+]);
|
|
|
|
|
|
const editStatus = {
|
|
const editStatus = {
|
|
startMonth: false,
|
|
startMonth: false,
|
|
@@ -204,7 +329,7 @@ function getList() {
|
|
prev.value = proxy.deepClone(response.rows);
|
|
prev.value = proxy.deepClone(response.rows);
|
|
total.value = response.total;
|
|
total.value = response.total;
|
|
loading.value = false;
|
|
loading.value = false;
|
|
- console.log("查询", response);
|
|
|
|
|
|
+ console.log("查询", orderList);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -250,7 +375,7 @@ function handleDelete(row) {
|
|
getList();
|
|
getList();
|
|
proxy.$modal.msgSuccess("删除成功!");
|
|
proxy.$modal.msgSuccess("删除成功!");
|
|
})
|
|
})
|
|
- .catch(() => { });
|
|
|
|
|
|
+ .catch(() => {});
|
|
}
|
|
}
|
|
|
|
|
|
/** 导出按钮操作 */
|
|
/** 导出按钮操作 */
|
|
@@ -291,7 +416,7 @@ function saveHandler(row, field) {
|
|
getList();
|
|
getList();
|
|
});
|
|
});
|
|
})
|
|
})
|
|
- .catch((_) => { });
|
|
|
|
|
|
+ .catch((_) => {});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -304,7 +429,7 @@ function thenSave(row) {
|
|
getList();
|
|
getList();
|
|
});
|
|
});
|
|
})
|
|
})
|
|
- .catch((_) => { });
|
|
|
|
|
|
+ .catch((_) => {});
|
|
}
|
|
}
|
|
|
|
|
|
function getTransactor(row) {
|
|
function getTransactor(row) {
|