feat(客户管理): 新增税号字段并优化客户信息展示
feat(订单管理): 增加宽度和厚度公差字段,优化销售员选择方式 feat(合同管理): 新增合同管理模块及相关API接口 refactor(文件列表): 重构文件列表组件样式和布局 fix(QRCode): 修复内容为空时仍触发生成的bug perf(线圈管理): 优化用户列表加载条件,减少不必要请求 style(代码): 移除多余的空行和注释代码
This commit is contained in:
@@ -15,18 +15,13 @@
|
||||
style="display: flex; align-items: center; gap: 5px; margin-top: 10px; flex-wrap: wrap;">
|
||||
<!-- 查询区,通过上方的查询按钮控制显示隐藏 -->
|
||||
<!-- 客户行业和客户等级的下拉选 -->
|
||||
<!-- <el-select style="width: 100px;" v-model="queryParams.customerId" placeholder="客户" clearable>
|
||||
<el-option v-for="item in dict.type.customer_industry" :key="item.value" :label="item.label"
|
||||
<el-select style="width: 100px;" v-model="queryParams.salesman" placeholder="销售员" clearable>
|
||||
<el-option v-for="item in dict.type.wip_pack_saleman" :key="item.value" :label="item.label"
|
||||
:value="item.value" />
|
||||
</el-select> -->
|
||||
<el-input style="width: 100px;" v-model="queryParams.salesman" placeholder="销售员" clearable />
|
||||
</el-select>
|
||||
<el-select style="width: 100px;" v-model="queryParams.orderStatus" placeholder="订单状态" clearable>
|
||||
<el-option v-for="(value, key) in ORDER_STATUS" :key="value" :label="key" :value="value" />
|
||||
</el-select>
|
||||
<!-- <el-select style="width: 100px;" v-model="queryParams.financeStatus" placeholder="财务状态" clearable>
|
||||
<el-option v-for="item in dict.type.finance_status" :key="item.value" :label="item.label"
|
||||
:value="item.value" />
|
||||
</el-select> -->
|
||||
</div>
|
||||
<div>
|
||||
<!-- 列表区域 -->
|
||||
@@ -38,6 +33,9 @@
|
||||
</template>
|
||||
</KLPList>
|
||||
</div>
|
||||
|
||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize" @pagination="getOrderList" />
|
||||
</el-col>
|
||||
|
||||
<el-col :span="19">
|
||||
@@ -55,6 +53,9 @@
|
||||
<el-descriptions-item label="联系人">{{ form.contactPerson }}</el-descriptions-item>
|
||||
<el-descriptions-item label="联系电话">{{ form.contactWay }}</el-descriptions-item>
|
||||
<el-descriptions-item label="备注" :span="2">{{ form.remark }}</el-descriptions-item>
|
||||
<el-descriptions-item label="附件" :span="2">
|
||||
<file-list :ossIds="form.annexFiles" />
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions :border="true" title="订单明细" />
|
||||
@@ -111,16 +112,28 @@
|
||||
<el-input v-model="form.orderAmount" placeholder="请输入订单总金额" />
|
||||
</el-form-item>
|
||||
<el-form-item label="销售员" prop="salesman">
|
||||
<el-input v-model="form.salesman" placeholder="请输入销售员" />
|
||||
<el-select v-model="form.salesman" placeholder="请选择销售员">
|
||||
<el-option v-for="item in dict.type.wip_pack_saleman" :key="item.value" :label="item.label"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="合同号" prop="contractCode">
|
||||
<el-input v-model="form.contractCode" placeholder="请输入合同号" />
|
||||
<el-form-item label="合同号" prop="contractId">
|
||||
<el-select v-model="form.contractId" placeholder="请选择合同号" filterable clearable @change="handleContractChange">
|
||||
<el-option v-for="item in contractList" :key="item.contractId" :label="item.contractNo"
|
||||
:value="item.contractId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="合同号" prop="contractCode">
|
||||
<el-input v-model="form.contractCode" placeholder="请输入合同号" disabled />
|
||||
</el-form-item> -->
|
||||
<el-form-item label="交货日期" prop="deliveryDate">
|
||||
<el-date-picker clearable v-model="form.deliveryDate" type="datetime" value-format="yyyy-MM-dd HH:mm:ss"
|
||||
placeholder="请选择交货日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="附件" prop="annexFiles">
|
||||
<file-upload v-model="form.annexFiles" />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
@@ -144,6 +157,8 @@ import OrderEdit from '../components/OrderEdit.vue';
|
||||
import OrderObjection from '../components/OrderObjection.vue';
|
||||
import ReceiveTable from '../components/ReceiveTable.vue';
|
||||
import OrderRecord from '../components/OrderRecord.vue';
|
||||
import FileList from '@/components/FileList';
|
||||
import { listContract } from "@/api/crm/contract";
|
||||
|
||||
export default {
|
||||
name: 'OrderPage',
|
||||
@@ -153,9 +168,10 @@ export default {
|
||||
OrderEdit,
|
||||
OrderObjection,
|
||||
ReceiveTable,
|
||||
OrderRecord
|
||||
OrderRecord,
|
||||
FileList
|
||||
},
|
||||
dicts: ['customer_level', 'customer_industry'],
|
||||
dicts: ['customer_level', 'customer_industry', 'wip_pack_saleman'],
|
||||
data() {
|
||||
return {
|
||||
ORDER_STATUS,
|
||||
@@ -167,8 +183,11 @@ export default {
|
||||
salesman: '',
|
||||
orderStatus: '',
|
||||
orderType: ORDER_TYPE['正式订单'],
|
||||
financeStatus: ''
|
||||
financeStatus: '',
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
},
|
||||
total: 0,
|
||||
activeTab: 'detail',
|
||||
currentOrder: {},
|
||||
buttonLoading: false,
|
||||
@@ -181,11 +200,13 @@ export default {
|
||||
},
|
||||
open: false,
|
||||
customerList: [],
|
||||
contractList: [],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getCustomerList()
|
||||
this.getContractList()
|
||||
},
|
||||
methods: {
|
||||
toggleQuery() {
|
||||
@@ -197,6 +218,20 @@ export default {
|
||||
this.customerList = response.rows;
|
||||
});
|
||||
},
|
||||
/** 查询合同列表 */
|
||||
getContractList() {
|
||||
listContract({ pageNum: 1, pageSize: 1000 }).then(response => {
|
||||
this.contractList = response.rows || [];
|
||||
});
|
||||
},
|
||||
/** 合同号改变事件 */
|
||||
handleContractChange(contractId) {
|
||||
const contract = this.contractList.find(item => item.contractId === contractId)
|
||||
if (contract) {
|
||||
this.form.contractCode = contract.contractNo
|
||||
}
|
||||
|
||||
},
|
||||
/** 订单列表项点击事件 */
|
||||
handleOrderClick(order) {
|
||||
this.currentOrder = order;
|
||||
@@ -211,6 +246,7 @@ export default {
|
||||
this.orderLoading = true;
|
||||
listOrder(this.queryParams).then(response => {
|
||||
this.orderList = response.rows || [];
|
||||
this.total = response.total;
|
||||
this.orderLoading = false;
|
||||
}).catch(error => {
|
||||
console.error('获取正式订单主列表失败:', error)
|
||||
|
||||
Reference in New Issue
Block a user