feat(客户管理): 新增税号字段并优化客户信息展示
feat(订单管理): 增加宽度和厚度公差字段,优化销售员选择方式 feat(合同管理): 新增合同管理模块及相关API接口 refactor(文件列表): 重构文件列表组件样式和布局 fix(QRCode): 修复内容为空时仍触发生成的bug perf(线圈管理): 优化用户列表加载条件,减少不必要请求 style(代码): 移除多余的空行和注释代码
This commit is contained in:
@@ -27,7 +27,10 @@
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="销售员" prop="salesman">
|
||||
<el-input v-model="form.salesman" placeholder="请输入销售员"></el-input>
|
||||
<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-col>
|
||||
|
||||
@@ -50,7 +53,17 @@
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item label="合同号" prop="contractCode">
|
||||
<el-input v-model="form.contractCode" placeholder="请输入合同号"></el-input>
|
||||
<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-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="附件" prop="annexFiles">
|
||||
<file-upload v-model="form.annexFiles" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
@@ -65,6 +78,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listContract } from '@/api/crm/contract';
|
||||
import { ORDER_STATUS } from '../js/enum'
|
||||
|
||||
export default {
|
||||
@@ -79,6 +93,7 @@ export default {
|
||||
default: () => []
|
||||
}
|
||||
},
|
||||
dicts: ['wip_pack_saleman'],
|
||||
data() {
|
||||
return {
|
||||
ORDER_STATUS,
|
||||
@@ -86,7 +101,8 @@ export default {
|
||||
...this.initValue
|
||||
},
|
||||
// 防抖计时器标识
|
||||
debounceTimer: null
|
||||
debounceTimer: null,
|
||||
contractList: []
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@@ -105,6 +121,10 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
// 初始化时获取合同列表
|
||||
this.getContractList()
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 组件销毁时清除计时器,防止内存泄漏
|
||||
if (this.debounceTimer) {
|
||||
@@ -118,6 +138,21 @@ export default {
|
||||
clearTimeout(this.debounceTimer);
|
||||
}
|
||||
this.$emit('save', { ...this.form });
|
||||
},
|
||||
// 处理合同号选择变化
|
||||
handleContractChange(contractId) {
|
||||
// 当合同号选择变化时,更新合同金额
|
||||
const contract = this.contractList.find(item => item.contractId === contractId)
|
||||
if (contract) {
|
||||
this.form.contractCode = contract.contractNo
|
||||
}
|
||||
|
||||
},
|
||||
// 获取合同列表
|
||||
getContractList() {
|
||||
listContract({ pageSize: 1000, pageNum: 1 }).then(res => {
|
||||
this.contractList = res.rows || []
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user